diff --git a/testing/jmeter/accounts.csv b/testing/jmeter/accounts.csv
new file mode 100644
index 0000000..61fda30
--- /dev/null
+++ b/testing/jmeter/accounts.csv
@@ -0,0 +1,5001 @@
+smartadmin,adminadmin
+02040,02040
+02080,02080
+02090,02090
+02100,02100
+02110,02110
+02120,02120
+02121,02121
+02160,02160
+02170,02170
+02180,02180
+02190,02190
+02200,02200
+02210,02210
+02220,02220
+02281,02281
+03010,03010
+03040,03040
+04011,04011
+04012,04012
+04013,04013
+04040,04040
+05010,05010
+05020,05020
+05030,05030
+05040,05040
+05070,05070
+06010,06010
+06020,06020
+06030,06030
+06040,06040
+06050,06050
+06060,06060
+06070,06070
+06080,06080
+06090,06090
+06100,06100
+06110,06110
+06120,06120
+06130,06130
+06140,06140
+06160,06160
+06170,06170
+06180,06180
+06391,06391
+06401,06401
+06410,06410
+06420,06420
+06430,06430
+07190,07190
+07191,07191
+08010,08010
+1949000001,1949000001
+1957000001,1957000001
+1969000001,1969000001
+1971000074,1971000074
+1972000004,1972000004
+1972000025,1972000025
+1972000027,1972000027
+1972000035,1972000035
+1972000049,1972000049
+1973000051,1973000051
+1974000010,1974000010
+1975000007,1975000007
+1975000015,1975000015
+1976000054,1976000054
+1977000008,1977000008
+1977000010,1977000010
+1977000032,1977000032
+1977000038,1977000038
+1977000047,1977000047
+1977000058,1977000058
+1977000060,1977000060
+1977000062,1977000062
+1978000003,1978000003
+1978000009,1978000009
+1978000010,1978000010
+1978000013,1978000013
+1978000038,1978000038
+1978000050,1978000050
+1978000052,1978000052
+1978000058,1978000058
+1979000027,1979000027
+1979000029,1979000029
+1979000044,1979000044
+1979000046,1979000046
+1979000052,1979000052
+1979000056,1979000056
+1979000057,1979000057
+1979000058,1979000058
+1979000064,1979000064
+1979000065,1979000065
+1979000068,1979000068
+1979000070,1979000070
+1979000075,1979000075
+1979000076,1979000076
+1979000082,1979000082
+1979000083,1979000083
+1979000084,1979000084
+1980000004,1980000004
+1980000020,1980000020
+1980000023,1980000023
+1980000036,1980000036
+1980000038,1980000038
+1980000039,1980000039
+1980000040,1980000040
+1980000042,1980000042
+1980000046,1980000046
+1980000047,1980000047
+1980000048,1980000048
+1981000001,1981000001
+1981000007,1981000007
+1981000009,1981000009
+1981000014,1981000014
+1981000015,1981000015
+1981000016,1981000016
+1981000018,1981000018
+1981000020,1981000020
+1981000021,1981000021
+1981000022,1981000022
+1981000023,1981000023
+1981000027,1981000027
+1981000028,1981000028
+1981000031,1981000031
+1981000035,1981000035
+1981000036,1981000036
+1981000037,1981000037
+1981000038,1981000038
+1981000039,1981000039
+1981000041,1981000041
+1981000048,1981000048
+1981000049,1981000049
+1981000051,1981000051
+1981000052,1981000052
+1981000057,1981000057
+1981000059,1981000059
+1981000063,1981000063
+1981000065,1981000065
+1981000067,1981000067
+1981000068,1981000068
+1981000072,1981000072
+1981000078,1981000078
+1981000081,1981000081
+1981000087,1981000087
+1981000088,1981000088
+1981000089,1981000089
+1981000090,1981000090
+1981000095,1981000095
+1981000099,1981000099
+1981000100,1981000100
+1981000101,1981000101
+1981000102,1981000102
+1981000103,1981000103
+1981000105,1981000105
+1981000106,1981000106
+1981000107,1981000107
+1981000109,1981000109
+1981000110,1981000110
+1981000114,1981000114
+1981000115,1981000115
+1981000116,1981000116
+1981000117,1981000117
+1981000119,1981000119
+1981000121,1981000121
+1981000124,1981000124
+1981000125,1981000125
+1981000128,1981000128
+1981000131,1981000131
+1981000133,1981000133
+1981000136,1981000136
+1981000140,1981000140
+1981000147,1981000147
+1981000148,1981000148
+1981000151,1981000151
+1981000152,1981000152
+1981000153,1981000153
+1981000155,1981000155
+1981000158,1981000158
+1981000159,1981000159
+1981000178,1981000178
+1981000187,1981000187
+1981000190,1981000190
+1981000194,1981000194
+1981000204,1981000204
+1981000209,1981000209
+1981000215,1981000215
+1981000216,1981000216
+1981000217,1981000217
+1981000220,1981000220
+1981000222,1981000222
+1981000228,1981000228
+1982000005,1982000005
+1982000008,1982000008
+1982000010,1982000010
+1982000013,1982000013
+1982000014,1982000014
+1982000021,1982000021
+1982000025,1982000025
+1982000028,1982000028
+1982000029,1982000029
+1982000031,1982000031
+1982000037,1982000037
+1982000038,1982000038
+1982000039,1982000039
+1982000040,1982000040
+1982000041,1982000041
+1982000044,1982000044
+1982000045,1982000045
+1982000046,1982000046
+1982000050,1982000050
+1982000052,1982000052
+1982000053,1982000053
+1982000055,1982000055
+1982000057,1982000057
+1982000058,1982000058
+1982000059,1982000059
+1982000060,1982000060
+1982000063,1982000063
+1982000065,1982000065
+1982000066,1982000066
+1982000067,1982000067
+1982000068,1982000068
+1982000069,1982000069
+1982000070,1982000070
+1982000072,1982000072
+1982000073,1982000073
+1982000075,1982000075
+1982000078,1982000078
+1982000080,1982000080
+1982000081,1982000081
+1982000083,1982000083
+1982000085,1982000085
+1982000087,1982000087
+1982000088,1982000088
+1983000001,1983000001
+1983000003,1983000003
+1983000008,1983000008
+1983000009,1983000009
+1983000011,1983000011
+1983000012,1983000012
+1983000014,1983000014
+1983000015,1983000015
+1983000016,1983000016
+1983000017,1983000017
+1983000018,1983000018
+1983000019,1983000019
+1983000021,1983000021
+1983000022,1983000022
+1983000023,1983000023
+1983000024,1983000024
+1983000026,1983000026
+1983000028,1983000028
+1983000030,1983000030
+1983000031,1983000031
+1983000032,1983000032
+1983000033,1983000033
+1983000035,1983000035
+1983000039,1983000039
+1983000040,1983000040
+1983000041,1983000041
+1983000043,1983000043
+1983000048,1983000048
+1983000051,1983000051
+1983000052,1983000052
+1983000053,1983000053
+1983000059,1983000059
+1983000060,1983000060
+1983000065,1983000065
+1983000066,1983000066
+1983000067,1983000067
+1983000068,1983000068
+1983000069,1983000069
+1983000070,1983000070
+1984000007,1984000007
+1984000009,1984000009
+1984000011,1984000011
+1984000012,1984000012
+1984000015,1984000015
+1984000017,1984000017
+1984000018,1984000018
+1984000019,1984000019
+1984000020,1984000020
+1984000021,1984000021
+1984000022,1984000022
+1984000023,1984000023
+1984000025,1984000025
+1984000026,1984000026
+1984000029,1984000029
+1984000030,1984000030
+1984000032,1984000032
+1984000038,1984000038
+1984000039,1984000039
+1984000040,1984000040
+1984000041,1984000041
+1984000042,1984000042
+1984000043,1984000043
+1984000044,1984000044
+1984000046,1984000046
+1984000047,1984000047
+1984000049,1984000049
+1984000050,1984000050
+1984000052,1984000052
+1984000053,1984000053
+1984000054,047094202
+1984000055,1984000055
+1984000056,1984000056
+1984000057,1984000057
+1984000059,1984000059
+1984000060,1984000060
+1984000061,1984000061
+1984000062,1984000062
+1984000063,1984000063
+1984000065,1984000065
+1984000067,1984000067
+1984000076,1984000076
+1984000078,1984000078
+1984000079,1984000079
+1984000080,1984000080
+1984000082,1984000082
+1984000083,1984000083
+1984000084,1984000084
+1984000085,1984000085
+1984000089,1984000089
+1984000091,1984000091
+1984000092,1984000092
+1984000093,1984000093
+1984000097,1984000097
+1984000100,1984000100
+1984000101,1984000101
+1984000104,1984000104
+1984000105,1984000105
+1984000106,1984000106
+1984010001,1984010001
+1984010002,1984010002
+1984010003,1984010003
+1984010004,1984010004
+1984010008,1984010008
+1984010013,1984010013
+1984010069,1984010069
+1984010070,1984010070
+1984010075,1984010075
+1984010102,1984010102
+1984010108,1984010108
+1985000001,1985000001
+1985000005,1985000005
+1985000007,1985000007
+1985000008,1985000008
+1985000010,1985000010
+1985000012,1985000012
+1985000013,1985000013
+1985000015,1985000015
+1985000016,1985000016
+1985000017,1985000017
+1985000018,1985000018
+1985000019,1985000019
+1985000021,1985000021
+1985000022,1985000022
+1985000023,1985000023
+1985000024,1985000024
+1985000026,1985000026
+1985000029,1985000029
+1985000030,1985000030
+1985000032,1985000032
+1985000033,1985000033
+1985000034,1985000034
+1985000035,1985000035
+1985000036,1985000036
+1985000037,1985000037
+1985000038,1985000038
+1985000039,1985000039
+1985000040,1985000040
+1985000042,1985000042
+1985000043,1985000043
+1985000044,1985000044
+1985000045,1985000045
+1985000046,1985000046
+1985000047,1985000047
+1985000048,1985000048
+1985000049,1985000049
+1985000050,1985000050
+1985000051,1985000051
+1985000052,1985000052
+1985000053,1985000053
+1985000054,1985000054
+1985000055,1985000055
+1985000056,1985000056
+1985000057,1985000057
+1985000058,1985000058
+1985000059,1985000059
+1985000060,1985000060
+1985000061,1985000061
+1985000062,1985000062
+1985000063,1985000063
+1985000064,057124104
+1985000065,1985000065
+1985000067,1985000067
+1985000068,1985000068
+1985000071,1985000071
+1985000072,1985000072
+1985000073,1985000073
+1985000075,1985000075
+1985000081,1985000081
+1985000082,1985000082
+1985000084,1985000084
+1985000088,1985000088
+1985000093,1985000093
+1985000096,1985000096
+1985000097,1985000097
+1985000098,1985000098
+1985010014,1985010014
+1985010066,1985010066
+1985010083,1985010083
+1985010092,1985010092
+1985010094,1985010094
+1985010099,1985010099
+1986000001,1986000001
+1986000004,1986000004
+1986000005,1986000005
+1986000007,1986000007
+1986000010,1986000010
+1986000012,1986000012
+1986000019,1986000019
+1986000020,1986000020
+1986000021,1986000021
+1986000022,1986000022
+1986000023,1986000023
+1986000025,1986000025
+1986000026,1986000026
+1986000028,1986000028
+1986000029,1986000029
+1986000030,1986000030
+1986000031,1986000031
+1986000032,1986000032
+1986000033,1986000033
+1986000034,1986000034
+1986000035,1986000035
+1986000036,1986000036
+1986000037,1986000037
+1986000038,1986000038
+1986000039,1986000039
+1986000040,1986000040
+1986000041,1986000041
+1986000042,1986000042
+1986000044,1986000044
+1986000045,1986000045
+1986000046,1986000046
+1986000047,1986000047
+1986000050,1986000050
+1986000051,1986000051
+1986000052,1986000052
+1986000053,1986000053
+1986000054,057054164
+1986000055,1986000055
+1986000056,077054060
+1986000057,1986000057
+1986000058,1986000058
+1986000059,1986000059
+1986000060,1986000060
+1986000061,1986000061
+1986000063,1986000063
+1986000064,1986000064
+1986000065,1986000065
+1986000066,1986000066
+1986000067,1986000067
+1986000069,1986000069
+1986000070,1986000070
+1986000071,1986000071
+1986000072,1986000072
+1986000073,1986000073
+1986000074,1986000074
+1986000075,1986000075
+1986000076,1986000076
+1986000078,1986000078
+1986000079,1986000079
+1986000080,1986000080
+1986000081,1986000081
+1986000082,1986000082
+1986000083,1986000083
+1986000085,1986000085
+1986000086,1986000086
+1986000087,1986000087
+1986000088,1986000088
+1986000089,1986000089
+1986000090,1986000090
+1986000091,1986000091
+1986000092,1986000092
+1986000094,1986000094
+1986000095,1986000095
+1986000096,1986000096
+1986000097,1986000097
+1986000098,1986000098
+1986000102,1986000102
+1986000133,1986000133
+1986000134,057054040
+1986010104,1986010104
+1986010106,1986010106
+1986010109,1986010109
+1986010110,1986010110
+1986010114,1986010114
+1986010115,1986010115
+1986010118,1986010118
+1986010119,1986010119
+1986010121,1986010121
+1986010123,1986010123
+1986010130,1986010130
+1986010135,1986010135
+1987000001,1987000001
+1987000003,1987000003
+1987000004,1987000004
+1987000008,1987000008
+1987000011,1987000011
+1987000013,1987000013
+1987000014,1987000014
+1987000016,1987000016
+1987000017,1987000017
+1987000018,1987000018
+1987000019,1987000019
+1987000020,1987000020
+1987000021,1987000021
+1987000022,1987000022
+1987000023,1987000023
+1987000024,1987000024
+1987000025,1987000025
+1987000026,1987000026
+1987000027,1987000027
+1987000028,1987000028
+1987000030,1987000030
+1987000032,1987000032
+1987000033,1987000033
+1987000034,1987000034
+1987000035,1987000035
+1987000036,1987000036
+1987000037,1987000037
+1987000038,1987000038
+1987000039,1987000039
+1987000040,1987000040
+1987000041,1987000041
+1987000042,047054135
+1987000043,1987000043
+1987000044,1987000044
+1987000045,1987000045
+1987000046,1987000046
+1987000048,1987000048
+1987000049,1987000049
+1987000050,1987000050
+1987000051,1987000051
+1987000052,1987000052
+1987000053,1987000053
+1987000054,1987000054
+1987000055,1987000055
+1987000056,1987000056
+1987000057,1987000057
+1987000058,1987000058
+1987000059,1987000059
+1987000060,1987000060
+1987000061,1987000061
+1987000062,1987000062
+1987000063,1987000063
+1987000064,1987000064
+1987000065,1987000065
+1987000066,1987000066
+1987000067,1987000067
+1987000070,1987000070
+1987000071,1987000071
+1987000072,1987000072
+1987000073,1987000073
+1987000074,1987000074
+1987000075,1987000075
+1987000076,1987000076
+1987000077,1987000077
+1987000078,1987000078
+1987000079,1987000079
+1987000080,1987000080
+1987000083,1987000083
+1987000084,1987000084
+1987000085,1987000085
+1987000087,1987000087
+1987010029,1987010029
+1987010031,1987010031
+1988000004,1988000004
+1988000008,1988000008
+1988000024,1988000024
+1988000026,1988000026
+1988000027,1988000027
+1988000028,1988000028
+1988000029,1988000029
+1988000030,1988000030
+1988000031,1988000031
+1988000032,1988000032
+1988000033,1988000033
+1988000034,1988000034
+1988000035,1988000035
+1988000036,1988000036
+1988000037,1988000037
+1988000038,1988000038
+1988000039,1988000039
+1988000040,1988000040
+1988000041,1988000041
+1988000042,1988000042
+1988000043,1988000043
+1988000044,1988000044
+1988000045,1988000045
+1988000047,1988000047
+1988000048,1988000048
+1988000049,1988000049
+1988000050,1988000050
+1988000051,1988000051
+1988000053,1988000053
+1988000054,1988000054
+1988000058,1988000058
+1988000059,1988000059
+1988000060,1988000060
+1988000061,1988000061
+1988000062,1988000062
+1988000063,1988000063
+1988000064,1988000064
+1988000066,1988000066
+1988000070,1988000070
+1988000071,1988000071
+1988000072,1988000072
+1988000073,1988000073
+1988000074,1988000074
+1988000077,1988000077
+1988000078,1988000078
+1988000079,1988000079
+1988000080,1988000080
+1988000081,1988000081
+1988000082,1988000082
+1988000083,1988000083
+1988000084,1988000084
+1988000085,1988000085
+1988000086,046055033
+1988000087,1988000087
+1988000088,1988000088
+1988000089,1988000089
+1988000090,1988000090
+1988000091,1988000091
+1988000092,1988000092
+1988000093,1988000093
+1988000094,1988000094
+1988000095,1988000095
+1988000096,1988000096
+1988000097,1988000097
+1988000098,1988000098
+1988000099,1988000099
+1988000101,1988000101
+1988000104,1988000104
+1988000106,1988000106
+1988000108,1988000108
+1988000114,1988000114
+1988000115,1988000115
+1988000116,1988000116
+1988000118,1988000118
+1988000119,1988000119
+1988000120,1988000120
+1988000121,1988000121
+1988000123,1988000123
+1988000124,1988000124
+1988000125,1988000125
+1988000126,1988000126
+1988000127,1988000127
+1988000129,1988000129
+1988000130,1988000130
+1988000131,1988000131
+1988000132,1988000132
+1988010001,1988010001
+1988010003,1988010003
+1988010005,1988010005
+1988010010,1988010010
+1988010013,1988010013
+1988010015,1988010015
+1988010128,1988010128
+1989000002,1989000002
+1989000003,1989000003
+1989000004,1989000004
+1989000005,1989000005
+1989000006,1989000006
+1989000008,1989000008
+1989000010,1989000010
+1989000011,1989000011
+1989000012,1989000012
+1989000013,1989000013
+1989000014,1989000014
+1989000015,1989000015
+1989000016,1989000016
+1989000017,1989000017
+1989000018,1989000018
+1989000022,1989000022
+1989000023,1989000023
+1989000025,1989000025
+1989000027,1989000027
+1989000028,1989000028
+1989000029,1989000029
+1989000030,1989000030
+1989000031,1989000031
+1989000032,1989000032
+1989000034,1989000034
+1989000035,1989000035
+1989000036,1989000036
+1989000037,1989000037
+1989000038,1989000038
+1989000039,1989000039
+1989000040,1989000040
+1989000042,1989000042
+1989000043,1989000043
+1989000044,1989000044
+1989000045,1989000045
+1989000046,1989000046
+1989000047,056018008
+1989000048,1989000048
+1989000049,1989000049
+1989000050,1989000050
+1989000051,1989000051
+1989000052,1989000052
+1989000054,1989000054
+1989000055,1989000055
+1989000056,1989000056
+1989000060,1989000060
+1989000061,1989000061
+1989000066,1989000066
+1989000067,1989000067
+1989000074,1989000074
+1989000076,1989000076
+1989000078,1989000078
+1989000082,1989000082
+1989000083,1989000083
+1989000084,1989000084
+1989000085,1989000085
+1989000110,1989000110
+1989000113,1989000113
+1989000114,1989000114
+1989000115,1989000115
+1989000116,1989000116
+1989000117,1989000117
+1989000118,1989000118
+1989000119,1989000119
+1989010063,1989010063
+1989010064,1989010064
+1989010068,1989010068
+1989010069,1989010069
+1989010072,1989010072
+1989010073,1989010073
+1989010079,1989010079
+1989010081,1989010081
+1989010089,1989010089
+1989010093,1989010093
+1989010094,1989010094
+1989010095,1989010095
+1989010096,1989010096
+1989010097,1989010097
+1989010098,1989010098
+1989010100,1989010100
+1989010103,1989010103
+1989010104,1989010104
+1989010105,1989010105
+1989010106,1989010106
+1989010107,1989010107
+1989010108,1989010108
+1989010112,1989010112
+1989010120,1989010120
+1990000003,1990000003
+1990000011,1990000011
+1990000012,1990000012
+1990000013,1990000013
+1990000014,1990000014
+1990000016,1990000016
+1990000017,1990000017
+1990000018,1990000018
+1990000019,1990000019
+1990000020,1990000020
+1990000021,1990000021
+1990000022,1990000022
+1990000023,1990000023
+1990000024,1990000024
+1990000025,1990000025
+1990000026,1990000026
+1990000027,1990000027
+1990000028,1990000028
+1990000029,1990000029
+1990000030,1990000030
+1990000031,1990000031
+1990000032,1990000032
+1990000033,1990000033
+1990000034,1990000034
+1990000035,1990000035
+1990000037,1990000037
+1990000039,1990000039
+1990000040,1990000040
+1990000041,1990000041
+1990000042,1990000042
+1990000043,1990000043
+1990000044,1990000044
+1990000045,1990000045
+1990000046,1990000046
+1990000047,1990000047
+1990000048,1990000048
+1990000051,1990000051
+1990000052,1990000052
+1990000053,1990000053
+1990000054,1990000054
+1990000055,1990000055
+1990000056,1990000056
+1990000057,1990000057
+1990000058,1990000058
+1990000059,1990000059
+1990000060,1990000060
+1990000061,1990000061
+1990000063,1990000063
+1990000064,1990000064
+1990000065,1990000065
+1990000066,1990000066
+1990000067,1990000067
+1990000068,1990000068
+1990000069,1990000069
+1990000070,1990000070
+1990000072,1990000072
+1990000073,1990000073
+1990000075,1990000075
+1990000078,1990000078
+1990000079,1990000079
+1990000080,1990000080
+1990000081,1990000081
+1990000082,1990000082
+1990000083,1990000083
+1990010004,1990010004
+1990010005,1990010005
+1990010006,1990010006
+1990010009,1990010009
+1990010038,1990010038
+1990010049,1990010049
+1991000002,1991000002
+1991000003,1991000003
+1991000004,1991000004
+1991000005,1991000005
+1991000006,1991000006
+1991000007,1991000007
+1991000008,1991000008
+1991000009,1991000009
+1991000010,1991000010
+1991000011,1991000011
+1991000012,1991000012
+1991000014,1991000014
+1991000015,1991000015
+1991000016,1991000016
+1991000017,1991000017
+1991000018,1991000018
+1991000019,1991000019
+1991000020,1991000020
+1991000021,1991000021
+1991000022,1991000022
+1991000023,1991000023
+1991000024,1991000024
+1991000025,1991000025
+1991000026,1991000026
+1991000027,1991000027
+1991000028,1991000028
+1991000030,1991000030
+1991000031,1991000031
+1991000032,1991000032
+1991000033,1991000033
+1991000034,1991000034
+1991000035,1991000035
+1991000036,1991000036
+1991000037,1991000037
+1991000038,1991000038
+1991000039,1991000039
+1991000040,1991000040
+1991000041,1991000041
+1991000042,047014124
+1991000043,1991000043
+1991000044,1991000044
+1991000046,1991000046
+1991000047,046134125
+1991000048,1991000048
+1991000051,1991000051
+1991000052,1991000052
+1991000053,1991000053
+1991000054,1991000054
+1991000055,1991000055
+1991000057,1991000057
+1991000058,1991000058
+1991000062,1991000062
+1991000065,1991000065
+1991000066,1991000066
+1991000068,1991000068
+1991010013,1991010013
+1991010059,1991010059
+1992000020,1992000020
+1992000021,1992000021
+1992000023,1992000023
+1992000024,1992000024
+1992000025,1992000025
+1992000026,1992000026
+1992000027,1992000027
+1992000028,1992000028
+1992000029,1992000029
+1992000030,1992000030
+1992000031,1992000031
+1992000032,1992000032
+1992000033,057054170
+1992000034,1992000034
+1992000035,1992000035
+1992000036,1992000036
+1992000037,1992000037
+1992000038,1992000038
+1992000039,1992000039
+1992000040,1992000040
+1992000041,1992000041
+1992000045,1992000045
+1992000046,1992000046
+1992000047,1992000047
+1992000048,1992000048
+1992000049,1992000049
+1992000050,1992000050
+1992000051,1992000051
+1992000052,1992000052
+1992000053,1992000053
+1992000054,1992000054
+1992000055,1992000055
+1992000056,1992000056
+1992000057,1992000057
+1992000058,1992000058
+1992000059,057104093
+1992000060,1992000060
+1992000061,1992000061
+1992000063,1992000063
+1992000065,1992000065
+1992000066,1992000066
+1992000067,1992000067
+1992000074,1992000074
+1992000075,1992000075
+1992000076,1992000076
+1992000077,067014015
+1992000078,1992000078
+1992000079,1992000079
+1992000080,1992000080
+1992000081,1992000081
+1992000082,1992000082
+1992000083,1992000083
+1992000084,1992000084
+1992000085,1992000085
+1992000086,1992000086
+1992000087,1992000087
+1992000088,1992000088
+1992000089,1992000089
+1992000090,057054112
+1992000091,046075046
+1992000092,047134189
+1992000093,1992000093
+1992000094,1992000094
+1992000095,1992000095
+1992000096,1992000096
+1992000097,1992000097
+1992000098,1992000098
+1992000099,1992000099
+1992000100,1992000100
+1992000101,1992000101
+1992000102,1992000102
+1992000105,1992000105
+1992000106,1992000106
+1992000108,1992000108
+1992000109,1992000109
+1992000114,1992000114
+1992000115,1992000115
+1992000116,1992000116
+1992000117,1992000117
+1992000118,1992000118
+1992000119,1992000119
+1992000120,057094201
+1992000121,1992000121
+1992000122,1992000122
+1992000124,1992000124
+1992000128,1992000128
+1992000129,1992000129
+1992000134,1992000134
+1992000135,1992000135
+1992000138,1992000138
+1992000139,1992000139
+1992000140,1992000140
+1992000143,1992000143
+1992000144,1992000144
+1992000145,1992000145
+1992000146,1992000146
+1992000147,1992000147
+1992000148,1992000148
+1992000150,066105038
+1992000152,1992000152
+1992000153,1992000153
+1992000158,1992000158
+1992000159,1992000159
+1992010001,1992010001
+1992010003,1992010003
+1992010005,1992010005
+1992010006,1992010006
+1992010007,1992010007
+1992010009,1992010009
+1992010010,1992010010
+1992010011,1992010011
+1992010013,1992010013
+1992010014,1992010014
+1992010015,1992010015
+1992010016,1992010016
+1992010017,1992010017
+1992010019,1992010019
+1992010044,1992010044
+1992010069,1992010069
+1992010071,1992010071
+1992010072,1992010072
+1992010110,1992010110
+1992010125,1992010125
+1992010133,1992010133
+1992010136,1992010136
+1992010141,1992010141
+1992010149,06612G331
+1992010151,1992010151
+1992010156,1992010156
+1992010157,1992010157
+1993000003,067054399
+1993000004,1993000004
+1993000005,1993000005
+1993000007,1993000007
+1993000008,1993000008
+1993000009,1993000009
+1993000010,1993000010
+1993000011,1993000011
+1993000012,1993000012
+1993000013,1993000013
+1993000014,1993000014
+1993000015,1993000015
+1993000016,1993000016
+1993000017,1993000017
+1993000018,1993000018
+1993000019,1993000019
+1993000020,1993000020
+1993000022,1993000022
+1993000023,1993000023
+1993000024,1993000024
+1993000025,1993000025
+1993000026,1993000026
+1993000027,1993000027
+1993000028,1993000028
+1993000029,1993000029
+1993000030,1993000030
+1993000031,1993000031
+1993000032,1993000032
+1993000033,1993000033
+1993000035,1993000035
+1993000036,1993000036
+1993000038,1993000038
+1993000039,1993000039
+1993000040,1993000040
+1993000041,1993000041
+1993000042,1993000042
+1993000043,1993000043
+1993000044,1993000044
+1993000045,1993000045
+1993000046,1993000046
+1993000047,1993000047
+1993000048,1993000048
+1993000049,1993000049
+1993000050,1993000050
+1993000051,1993000051
+1993000052,1993000052
+1993000054,1993000054
+1993000055,1993000055
+1993000056,1993000056
+1993000057,1993000057
+1993000058,056025013
+1993000059,1993000059
+1993000060,1993000060
+1993000061,1993000061
+1993000062,1993000062
+1993000063,1993000063
+1993000064,1993000064
+1993000065,1993000065
+1993000066,1993000066
+1993000067,1993000067
+1993000068,1993000068
+1993000069,1993000069
+1993000070,1993000070
+1993000071,1993000071
+1993000072,1993000072
+1993000073,1993000073
+1993000074,1993000074
+1993000075,05614G027
+1993000076,1993000076
+1993000077,067134201
+1993000078,1993000078
+1993000079,1993000079
+1993000080,1993000080
+1993000081,1993000081
+1993000082,1993000082
+1993000083,1993000083
+1993000084,1993000084
+1993000085,1993000085
+1993000086,1993000086
+1993000087,1993000087
+1993000088,1993000088
+1993000089,1993000089
+1993000090,1993000090
+1993000091,1993000091
+1993000093,06612G284
+1993000094,057034027
+1993000095,1993000095
+1993000096,1993000096
+1993000097,1993000097
+1993000100,1993000100
+1993000104,1993000104
+1993000105,1993000105
+1993000109,1993000109
+1993000110,1993000110
+1993000111,1993000111
+1993000113,1993000113
+1993000114,1993000114
+1993000115,1993000115
+1993010001,1993010001
+1993010006,1993010006
+1993010099,1993010099
+1993010108,1993010108
+1994000002,1994000002
+1994000007,1994000007
+1994000008,1994000008
+1994000009,1994000009
+1994000010,1994000010
+1994000011,1994000011
+1994000012,1994000012
+1994000013,1994000013
+1994000014,1994000014
+1994000015,1994000015
+1994000016,1994000016
+1994000017,1994000017
+1994000018,1994000018
+1994000019,1994000019
+1994000020,1994000020
+1994000021,1994000021
+1994000022,1994000022
+1994000023,1994000023
+1994000024,1994000024
+1994000025,1994000025
+1994000027,1994000027
+1994000029,1994000029
+1994000030,1994000030
+1994000031,1994000031
+1994000032,046135092
+1994000033,1994000033
+1994000034,1994000034
+1994000035,1994000035
+1994000036,1994000036
+1994000037,1994000037
+1994000038,1994000038
+1994000039,1994000039
+1994000040,1994000040
+1994000041,1994000041
+1994000042,1994000042
+1994000043,1994000043
+1994000044,1994000044
+1994000045,1994000045
+1994000046,1994000046
+1994000047,1994000047
+1994000048,1994000048
+1994000049,1994000049
+1994000050,1994000050
+1994000051,1994000051
+1994000052,1994000052
+1994000053,1994000053
+1994000054,1994000054
+1994000056,1994000056
+1994000057,1994000057
+1994000058,1994000058
+1994000059,1994000059
+1994000060,1994000060
+1994000061,1994000061
+1994000062,1994000062
+1994000063,1994000063
+1994000064,1994000064
+1994000065,1994000065
+1994000066,1994000066
+1994000067,1994000067
+1994000068,1994000068
+1994000069,1994000069
+1994000070,1994000070
+1994000071,1994000071
+1994000072,1994000072
+1994000073,046095071
+1994000074,1994000074
+1994000075,1994000075
+1994000076,1994000076
+1994000077,1994000077
+1994000078,1994000078
+1994000079,1994000079
+1994000080,1994000080
+1994000081,1994000081
+1994000082,1994000082
+1994000083,1994000083
+1994000084,1994000084
+1994000087,1994000087
+1994000088,1994000088
+1994000089,1994000089
+1994000091,1994000091
+1994000092,1994000092
+1994000094,1994000094
+1994000097,1994000097
+1994000098,1994000098
+1994000103,1994000103
+1994010093,1994010093
+1994010102,1994010102
+1995000001,1995000001
+1995000002,1995000002
+1995000003,1995000003
+1995000004,1995000004
+1995000007,1995000007
+1995000008,1995000008
+1995000011,1995000011
+1995000013,1995000013
+1995000015,1995000015
+1995000016,1995000016
+1995000020,1995000020
+1995000023,1995000023
+1995000024,1995000024
+1995000025,1995000025
+1995000029,1995000029
+1995000030,1995000030
+1995000031,1995000031
+1995000032,1995000032
+1995000033,057094077
+1995000034,1995000034
+1995000035,1995000035
+1995000036,1995000036
+1995000038,1995000038
+1995000039,1995000039
+1995000040,1995000040
+1995000041,1995000041
+1995000042,1995000042
+1995000043,1995000043
+1995000044,1995000044
+1995000045,1995000045
+1995000047,1995000047
+1995000048,1995000048
+1995000049,1995000049
+1995000050,1995000050
+1995000052,1995000052
+1995000054,1995000054
+1995000055,1995000055
+1995000056,1995000056
+1995000057,1995000057
+1995000059,1995000059
+1995000060,1995000060
+1995000061,047074153
+1995000062,1995000062
+1995000063,1995000063
+1995000064,1995000064
+1995000065,1995000065
+1995000066,1995000066
+1995000067,1995000067
+1995000068,1995000068
+1995000069,1995000069
+1995000070,1995000070
+1995000071,1995000071
+1995000072,1995000072
+1995000073,1995000073
+1995000074,056065049
+1995000075,1995000075
+1995000076,1995000076
+1995000077,1995000077
+1995000078,1995000078
+1995000079,1995000079
+1995000081,1995000081
+1995000082,05612G338
+1995000083,1995000083
+1995000084,1995000084
+1995000086,056134119
+1995000087,1995000087
+1995000089,1995000089
+1995000090,1995000090
+1995000091,1995000091
+1995000092,1995000092
+1995000093,1995000093
+1995000094,1995000094
+1995000095,1995000095
+1995000096,1995000096
+1995000097,1995000097
+1995000098,1995000098
+1995000100,1995000100
+1995000101,1995000101
+1995000102,1995000102
+1995000103,1995000103
+1995000105,1995000105
+1995000106,1995000106
+1995000107,1995000107
+1995000108,1995000108
+1995000109,1995000109
+1995000110,1995000110
+1995000111,1995000111
+1995000112,1995000112
+1995000113,1995000113
+1995000114,1995000114
+1995000115,1995000115
+1995000116,1995000116
+1995000117,1995000117
+1995000118,1995000118
+1995000119,1995000119
+1995000120,1995000120
+1995000121,1995000121
+1995000122,1995000122
+1995000123,1995000123
+1995000124,1995000124
+1995000125,1995000125
+1995000127,1995000127
+1995000128,1995000128
+1995000130,1995000130
+1995000131,1995000131
+1995000132,1995000132
+1995000133,1995000133
+1995000135,1995000135
+1995000137,1995000137
+1995000139,1995000139
+1995000140,1995000140
+1995000142,1995000142
+1995000143,056135085
+1995000145,1995000145
+1995000146,1995000146
+1995000147,1995000147
+1995010012,1995010012
+1995010017,1995010017
+1995010018,1995010018
+1995010019,1995010019
+1995010021,1995010021
+1995010026,1995010026
+1995010027,1995010027
+1995010028,1995010028
+1995010046,1995010046
+1995010134,1995010134
+1995010136,1995010136
+1996000001,1996000001
+1996000002,1996000002
+1996000003,1996000003
+1996000005,1996000005
+1996000006,1996000006
+1996000008,1996000008
+1996000009,1996000009
+1996000010,1996000010
+1996000011,1996000011
+1996000012,1996000012
+1996000013,1996000013
+1996000014,1996000014
+1996000015,1996000015
+1996000016,1996000016
+1996000017,1996000017
+1996000018,1996000018
+1996000019,1996000019
+1996000020,1996000020
+1996000021,1996000021
+1996000022,1996000022
+1996000025,1996000025
+1996000026,1996000026
+1996000027,1996000027
+1996000028,1996000028
+1996000029,1996000029
+1996000030,1996000030
+1996000032,1996000032
+1996000033,1996000033
+1996000034,1996000034
+1996000035,1996000035
+1996000036,1996000036
+1996000037,1996000037
+1996000038,1996000038
+1996000039,1996000039
+1996000040,1996000040
+1996000041,1996000041
+1996000042,1996000042
+1996000043,1996000043
+1996000044,1996000044
+1996000045,1996000045
+1996000046,1996000046
+1996000047,1996000047
+1996000048,1996000048
+1996000049,1996000049
+1996000050,1996000050
+1996000051,1996000051
+1996000052,1996000052
+1996000053,1996000053
+1996000054,046085049
+1996000055,1996000055
+1996000056,1996000056
+1996000057,1996000057
+1996000058,1996000058
+1996000059,1996000059
+1996000060,057114213
+1996000062,1996000062
+1996000063,1996000063
+1996000064,1996000064
+1996000065,1996000065
+1996000066,1996000066
+1996000067,1996000067
+1996000068,1996000068
+1996000069,1996000069
+1996000070,1996000070
+1996000071,1996000071
+1996000072,077054061
+1996000073,1996000073
+1996000074,1996000074
+1996000075,1996000075
+1996000079,1996000079
+1996000080,1996000080
+1996000081,1996000081
+1996000082,1996000082
+1996000083,1996000083
+1996000084,1996000084
+1996000086,1996000086
+1996000087,1996000087
+1996000088,1996000088
+1996000091,1996000091
+1996000092,1996000092
+1996000093,1996000093
+1996000094,1996000094
+1996000100,1996000100
+1996000101,1996000101
+1996000102,1996000102
+1996000104,1996000104
+1996000105,1996000105
+1996000107,1996000107
+1996000108,1996000108
+1996000110,1996000110
+1996000111,1996000111
+1996000112,1996000112
+1996010076,1996010076
+1996010077,1996010077
+1996010078,1996010078
+1996010085,1996010085
+1996010089,1996010089
+1996010097,1996010097
+1996010098,1996010098
+1996010103,1996010103
+1996010106,1996010106
+1996010109,1996010109
+1997000001,1997000001
+1997000002,1997000002
+1997000003,1997000003
+1997000004,1997000004
+1997000005,1997000005
+1997000006,1997000006
+1997000007,1997000007
+1997000009,1997000009
+1997000010,1997000010
+1997000012,1997000012
+1997000013,1997000013
+1997000014,1997000014
+1997000015,1997000015
+1997000016,1997000016
+1997000017,1997000017
+1997000018,1997000018
+1997000019,1997000019
+1997000023,1997000023
+1997000026,1997000026
+1997000028,1997000028
+1997000029,1997000029
+1997000030,1997000030
+1997000031,047064151
+1997000032,1997000032
+1997000033,1997000033
+1997000034,1997000034
+1997000035,1997000035
+1997000036,1997000036
+1997000038,1997000038
+1997000039,1997000039
+1997000040,1997000040
+1997000041,1997000041
+1997000042,1997000042
+1997000043,1997000043
+1997000044,1997000044
+1997000045,1997000045
+1997000046,1997000046
+1997000047,1997000047
+1997000048,1997000048
+1997000050,1997000050
+1997000052,1997000052
+1997000054,1997000054
+1997000055,057094075
+1997000056,056134122
+1997000057,067124196
+1997000058,06606G201
+1997000060,1997000060
+1997000061,1997000061
+1997000062,1997000062
+1997000063,1997000063
+1997000064,06612G323
+1997000066,1997000066
+1997000067,1997000067
+1997000068,1997000068
+1997000069,1997000069
+1997000070,1997000070
+1997000071,1997000071
+1997000072,1997000072
+1997000073,1997000073
+1997000075,1997000075
+1997000076,1997000076
+1997000079,1997000079
+1997000080,1997000080
+1997000081,1997000081
+1997000082,1997000082
+1997000083,1997000083
+1997000084,1997000084
+1997000085,1997000085
+1997000086,1997000086
+1997000088,1997000088
+1997000089,1997000089
+1997000090,1997000090
+1997000091,1997000091
+1997000092,1997000092
+1997000093,1997000093
+1997000095,1997000095
+1997000096,1997000096
+1997000097,1997000097
+1997000098,1997000098
+1997000099,1997000099
+1997000100,1997000100
+1997000101,1997000101
+1997000106,1997000106
+1997000107,1997000107
+1997010022,047094200
+1997010024,1997010024
+1997010053,1997010053
+1997010065,1997010065
+1997010074,1997010074
+1997010077,1997010077
+1997010078,1997010078
+1997010102,1997010102
+1997010103,1997010103
+1997010104,1997010104
+1997010105,1997010105
+1997010108,1997010108
+1997010109,1997010109
+1998000001,05614G036
+1998000003,1998000003
+1998000005,1998000005
+1998000007,1998000007
+1998000008,1998000008
+1998000009,1998000009
+1998000010,1998000010
+1998000011,1998000011
+1998000012,1998000012
+1998000013,1998000013
+1998000014,1998000014
+1998000015,1998000015
+1998000016,1998000016
+1998000017,1998000017
+1998000018,1998000018
+1998000019,1998000019
+1998000020,1998000020
+1998000021,1998000021
+1998000022,1998000022
+1998000023,1998000023
+1998000025,1998000025
+1998000026,1998000026
+1998000027,1998000027
+1998000028,1998000028
+1998000029,1998000029
+1998000030,1998000030
+1998000031,1998000031
+1998000032,1998000032
+1998000033,1998000033
+1998000034,1998000034
+1998000035,1998000035
+1998000036,1998000036
+1998000037,1998000037
+1998000038,1998000038
+1998000039,057094073
+1998000040,1998000040
+1998000041,1998000041
+1998000042,077114132
+1998000043,1998000043
+1998000044,1998000044
+1998000045,1998000045
+1998000047,1998000047
+1998000048,1998000048
+1998000049,1998000049
+1998000050,1998000050
+1998000051,1998000051
+1998000052,1998000052
+1998000055,1998000055
+1998000059,1998000059
+1998010054,1998010054
+1998010058,1998010058
+1999000001,1999000001
+1999000002,1999000002
+1999000004,1999000004
+1999000005,1999000005
+1999000006,1999000006
+1999000007,1999000007
+1999000008,1999000008
+1999000009,1999000009
+1999000010,1999000010
+1999000011,1999000011
+1999000012,1999000012
+1999000013,1999000013
+1999000015,1999000015
+1999000016,1999000016
+1999000017,1999000017
+1999000018,1999000018
+1999000019,1999000019
+1999000020,066025002
+1999000021,057094072
+1999000022,067104552
+1999000023,1999000023
+1999000024,1999000024
+1999000025,1999000025
+1999000026,1999000026
+1999000027,1999000027
+1999000028,1999000028
+1999000029,1999000029
+1999000030,1999000030
+1999000031,1999000031
+1999000032,1999000032
+1999000033,1999000033
+1999000034,06612G316
+1999000035,1999000035
+1999000036,1999000036
+1999000037,1999000037
+1999000038,1999000038
+1999000039,067055106
+1999000040,047054133
+1999000041,1999000041
+1999000042,046010002
+1999000043,1999000043
+1999000044,1999000044
+1999000045,1999000045
+1999000046,1999000046
+1999000047,1999000047
+1999000048,1999000048
+1999000049,1999000049
+1999000050,1999000050
+1999000051,1999000051
+1999000052,1999000052
+1999000053,1999000053
+1999000054,1999000054
+1999000055,1999000055
+1999000056,1999000056
+1999000057,1999000057
+1999000058,1999000058
+1999000059,1999000059
+1999000060,1999000060
+1999000061,1999000061
+2000000001,2000000001
+2000000003,2000000003
+2000000004,2000000004
+2000000005,2000000005
+2000000006,2000000006
+2000000007,2000000007
+2000000010,2000000010
+2000000011,2000000011
+2000000012,2000000012
+2000000013,2000000013
+2000000014,2000000014
+2000000015,2000000015
+2000000016,2000000016
+2000000017,2000000017
+2000000018,2000000018
+2000000019,2000000019
+2000000020,2000000020
+2000000021,2000000021
+2000000022,2000000022
+2000000023,2000000023
+2000000024,2000000024
+2000000025,2000000025
+2000000026,2000000026
+2000000027,2000000027
+2000000028,2000000028
+2000000029,2000000029
+2000000030,2000000030
+2000000031,2000000031
+2000000032,2000000032
+2000000033,2000000033
+2000000034,2000000034
+2000000035,2000000035
+2000000036,2000000036
+2000000037,2000000037
+2000000038,2000000038
+2000000039,047054130
+2000000041,2000000041
+2000000042,2000000042
+2000000043,057084061
+2000000044,047084173
+2000000045,2000000045
+2000000046,047104208
+2000000047,2000000047
+2000000048,2000000048
+2000000049,2000000049
+2000000050,2000000050
+2000000051,047124231
+2000000052,2000000052
+2000000053,046055032
+2000000054,2000000054
+2000000055,2000000055
+2000000056,2000000056
+2000000057,2000000057
+2000000058,2000000058
+2000000059,056135086
+2000000060,2000000060
+2000000061,2000000061
+2000000063,2000000063
+2000000064,2000000064
+2000000065,2000000065
+2000000066,077124140
+2000000068,2000000068
+2000000069,2000000069
+2000000070,2000000070
+2000000071,2000000071
+2000000072,2000000072
+2000000073,2000000073
+2000000074,2000000074
+2000000075,2000000075
+2000000076,2000000076
+2000000077,047114222
+2000000078,2000000078
+2000000080,2000000080
+2000000081,2000000081
+2000000082,2000000082
+2000010009,2000010009
+2000060101,2000060101
+20010,20010
+2001000001,2001000001
+2001000002,2001000002
+2001000003,2001000003
+2001000004,2001000004
+2001000005,2001000005
+2001000006,2001000006
+2001000007,2001000007
+2001000010,2001000010
+2001000011,2001000011
+2001000012,2001000012
+2001000013,2001000013
+2001000014,2001000014
+2001000015,067114581
+2001000016,067114185
+2001000017,067114183
+2001000018,2001000018
+2001000019,057104095
+2001000020,2001000020
+2001000021,2001000021
+2001000022,057094071
+2001000023,2001000023
+2001000024,2001000024
+2001000025,2001000025
+2001000026,2001000026
+2001000027,057084183
+2001000028,2001000028
+2001000029,2001000029
+2001000030,2001000030
+2001000031,2001000031
+2001000032,2001000032
+2001000033,2001000033
+2001000034,2001000034
+2001000035,2001000035
+2001000037,2001000037
+2001000038,2001000038
+2001000040,2001000040
+2001000042,2001000042
+2001000043,2001000043
+2001000044,2001000044
+2001000045,2001000045
+2001000046,2001000046
+2001000048,2001000048
+2001000050,2001000050
+2001000051,2001000051
+2001000052,2001000052
+2001000053,2001000053
+2001000054,2001000054
+2001000057,2001000057
+2001000059,2001000059
+2001000060,2001000060
+2001000062,2001000062
+2001000063,2001000063
+2001000064,2001000064
+2001000065,2001000065
+2001000066,2001000066
+2001000067,2001000067
+2001000068,2001000068
+2001000069,2001000069
+2001000070,2001000070
+2001000071,2001000071
+2001000072,2001000072
+2001000073,2001000073
+2001000074,2001000074
+2001000075,2001000075
+2001000076,066134102
+2001000077,2001000077
+2001000078,2001000078
+2001000079,2001000079
+2001000080,05612G353
+2001000081,2001000081
+2001000082,2001000082
+2001000083,2001000083
+2001000084,2001000084
+2001000085,2001000085
+2001000086,2001000086
+2001000088,2001000088
+2001000089,2001000089
+2001000090,2001000090
+2001000091,2001000091
+2001000092,2001000092
+2001000093,2001000093
+2001000094,2001000094
+2001000095,2001000095
+2001000096,2001000096
+2001000100,2001000100
+2001000101,2001000101
+2001020008,2001020008
+2001020039,046126817
+2001020047,06612G313
+2001020049,2001020049
+2001020055,2001020055
+2001020056,2001020056
+2001020058,2001020058
+2001020061,2001020061
+2001020097,066095029
+2001020098,2001020098
+2001030127,2001030127
+2001060129,2001060129
+2002000003,2002000003
+2002000004,2002000004
+2002000005,2002000005
+2002000007,067095157
+2002000008,2002000008
+2002000009,2002000009
+2002000010,2002000010
+2002000011,2002000011
+2002000015,2002000015
+2002000016,2002000016
+2002000017,2002000017
+2002000018,2002000018
+2002000019,06612G278
+2002000020,2002000020
+2002000021,2002000021
+2002000022,2002000022
+2002000023,2002000023
+2002000024,2002000024
+2002000025,2002000025
+2002000026,2002000026
+2002000027,2002000027
+2002000028,2002000028
+2002000029,2002000029
+2002000030,2002000030
+2002000031,2002000031
+2002000032,046104104
+2002000033,2002000033
+2002000034,2002000034
+2002000035,2002000035
+2002000036,2002000036
+2002000037,2002000037
+2002000038,2002000038
+2002000039,056124118
+2002000040,2002000040
+2002000041,2002000041
+2002000042,2002000042
+2002000043,2002000043
+2002000044,056048002
+2002000045,2002000045
+2002000046,2002000046
+2002000047,2002000047
+2002000048,2002000048
+2002000049,2002000049
+2002000050,056035020
+2002000051,046115076
+2002000052,2002000052
+2002000054,056095067
+2002000055,2002000055
+2002000058,2002000058
+2002000060,2002000060
+2002000061,2002000061
+2002000062,2002000062
+2002000063,047084167
+2002000064,057094196
+2002000067,2002000067
+2002020001,2002020001
+2002020002,063193
+2002020012,2002020012
+2002020013,2002020013
+2002020053,06612G319
+2002020056,2002020056
+2002020057,05614G023
+2002020065,2002020065
+2002020066,2002020066
+2002030006,2002030006
+2002060088,2002060088
+2003000001,057124103
+2003000002,2003000002
+2003000004,2003000004
+2003000005,2003000005
+2003000006,2003000006
+2003000007,2003000007
+2003000009,2003000009
+2003000010,2003000010
+2003000011,2003000011
+2003000012,2003000012
+2003000013,2003000013
+2003000014,2003000014
+2003000015,2003000015
+2003000016,2003000016
+2003000017,2003000017
+2003000018,2003000018
+2003000019,2003000019
+2003000020,057074052
+2003000021,2003000021
+2003000022,2003000022
+2003000023,2003000023
+2003000024,2003000024
+2003000025,2003000025
+2003000026,047084160
+2003000027,2003000027
+2003000028,2003000028
+2003000029,2003000029
+2003000030,2003000030
+2003000031,2003000031
+2003000032,2003000032
+2003000033,2003000033
+2003000034,2003000034
+2003000035,057105016
+2003000036,2003000036
+2003000037,2003000037
+2003000038,2003000038
+2003000039,2003000039
+2003000040,2003000040
+2003000041,2003000041
+2003000042,2003000042
+2003000043,2003000043
+2003000044,2003000044
+2003000046,2003000046
+2003000047,2003000047
+2003000048,2003000048
+2003000049,2003000049
+2003000050,2003000050
+2003000051,057104207
+2003000052,2003000052
+2003000053,057104092
+2003000054,2003000054
+2003000055,2003000055
+2003000056,2003000056
+2003000057,047014072
+2003000058,2003000058
+2003000060,2003000060
+2003000061,2003000061
+2003000062,2003000062
+2003000063,2003000063
+2003000064,067094154
+2003000065,2003000065
+2003000067,2003000067
+2003000068,2003000068
+2003000069,2003000069
+2003000070,2003000070
+2003000071,066134100
+2003000072,066134101
+2003000073,2003000073
+2003000074,2003000074
+2003000075,2003000075
+2003000076,2003000076
+2003000090,2003000090
+2003000091,2003000091
+2003000092,067124197
+2003000093,2003000093
+2003000094,057104096
+2003000095,047104214
+2003000096,066124094
+2003000097,066104079
+2003000098,2003000098
+2003000099,056055030
+2003000100,2003000100
+2003000101,2003000101
+2003000102,2003000102
+2003000103,2003000103
+2003000104,2003000104
+2003000105,057054169
+2003000106,2003000106
+2003000107,066074048
+2003000108,046080833
+2003000109,2003000109
+2003000110,2003000110
+2003000111,2003000111
+2003000112,2003000112
+2003000113,2003000113
+2003000114,2003000114
+2003000115,047114223
+2003000116,2003000116
+2003000118,2003000118
+2003000119,2003000119
+2003000120,2003000120
+2003000121,047074158
+2003000123,2003000123
+2003000124,2003000124
+2003000125,2003000125
+2003000126,057115074
+2003000129,2003000129
+2003000130,057105067
+2003000131,2003000131
+2003000132,2003000132
+2003000133,2003000133
+2003010161,2003010161
+2003020008,2003020008
+2003020045,2003020045
+2003020059,2003020059
+2003020077,2003020077
+2003020078,2003020078
+2003020079,2003020079
+2003020080,2003020080
+2003020081,2003020081
+2003020082,066145042
+2003020083,2003020083
+2003020084,2003020084
+2003020085,2003020085
+2003020086,2003020086
+2003020087,2003020087
+2003020088,2003020088
+2003020089,2003020089
+2003020127,2003020127
+2003020134,2003020134
+2003030066,2003030066
+2003030117,2003030117
+2003030128,2003030128
+2004000002,2004000002
+2004000003,2004000003
+2004000005,2004000005
+2004000006,2004000006
+2004000007,047094180
+2004000008,2004000008
+2004000009,2004000009
+2004000010,2004000010
+2004000011,2004000011
+2004000012,2004000012
+2004000013,2004000013
+2004000014,2004000014
+2004000015,2004000015
+2004000016,077105127
+2004000017,2004000017
+2004000018,2004000018
+2004000019,067115598
+2004000020,2004000020
+2004000021,2004000021
+2004000022,2004000022
+2004000023,2004000023
+2004000025,2004000025
+2004000026,2004000026
+2004000027,2004000027
+2004000028,2004000028
+2004000029,2004000029
+2004000030,2004000030
+2004000031,2004000031
+2004000032,2004000032
+2004000033,2004000033
+2004000034,2004000034
+2004000035,2004000035
+2004000036,2004000036
+2004000037,2004000037
+2004000039,2004000039
+2004000040,2004000040
+2004000041,2004000041
+2004000042,2004000042
+2004000043,2004000043
+2004000044,047014123
+2004000045,2004000045
+2004000046,2004000046
+2004000047,2004000047
+2004000048,2004000048
+2004000049,2004000049
+2004000050,057024122
+2004000051,2004000051
+2004000052,2004000052
+2004000053,2004000053
+2004000054,2004000054
+2004000055,057034030
+2004000056,2004000056
+2004000057,2004000057
+2004000058,2004000058
+2004000059,057054044
+2004000060,2004000060
+2004000061,2004000061
+2004000062,2004000062
+2004000063,2004000063
+2004000064,2004000064
+2004000065,2004000065
+2004000066,047084162
+2004000067,2004000067
+2004000068,2004000068
+2004000069,2004000069
+2004000070,2004000070
+2004000071,057084185
+2004000072,057084184
+2004000073,2004000073
+2004000074,057084064
+2004000075,2004000075
+2004000076,2004000076
+2004000077,2004000077
+2004000079,2004000079
+2004000080,2004000080
+2004000081,2004000081
+2004000082,2004000082
+2004000083,2004000083
+2004000084,2004000084
+2004000085,2004000085
+2004000087,067124612
+2004000088,2004000088
+2004000089,2004000089
+2004000091,2004000091
+2004000101,066034029
+2004000102,2004000102
+2004000103,066054071
+2004000104,2004000104
+2004000105,066104069
+2004000106,066014007
+2004000107,066044035
+2004000108,066104070
+2004000111,2004000111
+2004000112,2004000112
+2004000113,2004000113
+2004000114,066114103
+2004000115,067114184
+2004000116,2004000116
+2004000117,077134148
+2004000118,067124199
+2004000119,066134095
+2004000122,2004000122
+2004000126,2004000126
+2004000127,2004000127
+2004000129,2004000129
+2004000132,2004000132
+2004000135,2004000135
+2004000137,2004000137
+2004000139,2004000139
+2004000140,2004000140
+2004000143,2004000143
+2004000144,2004000144
+2004000145,2004000145
+2004000146,2004000146
+2004000147,2004000147
+2004000149,2004000149
+2004000150,2004000150
+2004020001,2004020001
+2004020038,2004020038
+2004020078,077084086
+2004020090,2004020090
+2004020092,2004020092
+2004020093,2004020093
+2004020094,2004020094
+2004020095,2004020095
+2004020096,2004020096
+2004020097,2004020097
+2004020098,2004020098
+2004020099,2004020099
+2004020100,2004020100
+2004020109,2004020109
+2004020110,2004020110
+2004020120,2004020120
+2004020121,2004020121
+2004020128,2004020128
+2004020130,2004020130
+2004020133,2004020133
+2004020136,2004020136
+2004020138,063149
+2004030004,2004030004
+2004030086,2004030086
+2004030123,2004030123
+2004030124,2004030124
+2004030125,2004030125
+2004030131,2004030131
+2004030134,2004030134
+2004030141,2004030141
+2004030142,2004030142
+2004030148,2004030148
+2005000001,2005000001
+2005000005,2005000005
+2005000006,2005000006
+2005000007,2005000007
+2005000012,2005000012
+2005000013,2005000013
+2005000015,2005000015
+2005000016,2005000016
+2005000017,2005000017
+2005000018,2005000018
+2005000019,2005000019
+2005000020,2005000020
+2005000021,2005000021
+2005000022,2005000022
+2005000023,2005000023
+2005000024,2005000024
+2005000025,047034108
+2005000026,047034107
+2005000027,2005000027
+2005000028,2005000028
+2005000029,2005000029
+2005000030,2005000030
+2005000031,2005000031
+2005000032,047054149
+2005000033,047054142
+2005000034,047054143
+2005000035,2005000035
+2005000036,057084057
+2005000037,2005000037
+2005000038,047084163
+2005000039,047084165
+2005000040,047084176
+2005000041,2005000041
+2005000042,2005000042
+2005000043,2005000043
+2005000044,2005000044
+2005000045,047104211
+2005000046,2005000046
+2005000047,047104210
+2005000048,2005000048
+2005000049,047114229
+2005000050,047114225
+2005000051,2005000051
+2005000052,2005000052
+2005000053,2005000053
+2005000054,047114219
+2005000055,077115138
+2005000056,2005000056
+2005000057,2005000057
+2005000058,077054063
+2005000060,2005000060
+2005000061,2005000061
+2005000062,2005000062
+2005000063,2005000063
+2005000076,057024130
+2005000077,047014079
+2005000080,2005000080
+2005000082,2005000082
+2005000083,2005000083
+2005000084,2005000084
+2005000086,2005000086
+2005000087,2005000087
+2005000088,2005000088
+2005000092,2005000092
+2005000095,2005000095
+2005000096,2005000096
+2005000097,2005000097
+2005000100,2005000100
+2005000101,2005000101
+2005000104,2005000104
+2005000105,2005000105
+2005000107,2005000107
+2005000108,2005000108
+2005000113,2005000113
+2005000114,2005000114
+2005000115,2005000115
+2005000119,2005000119
+2005000120,2005000120
+2005000123,2005000123
+2005000126,2005000126
+2005000128,2005000128
+2005000130,2005000130
+2005000133,2005000133
+2005000134,2005000134
+2005000136,2005000136
+2005000137,2005000137
+2005000141,2005000141
+2005000142,2005000142
+2005000145,2005000145
+2005000146,2005000146
+2005000148,2005000148
+2005000149,2005000149
+2005000152,2005000152
+2005000155,2005000155
+2005000156,2005000156
+2005020008,2005020008
+2005020010,2005020010
+2005020064,2005020064
+2005020065,2005020065
+2005020066,2005020066
+2005020067,2005020067
+2005020068,2005020068
+2005020069,2005020069
+2005020070,2005020070
+2005020071,2005020071
+2005020072,2005020072
+2005020073,2005020073
+2005020074,2005020074
+2005020075,2005020075
+2005020078,2005020078
+2005020081,2005020081
+2005020090,2005020090
+2005020102,2005020102
+2005020103,2005020103
+2005020106,2005020106
+2005020109,2005020109
+2005020110,2005020110
+2005020111,2005020111
+2005020112,2005020112
+2005020117,2005020117
+2005020118,2005020118
+2005020121,2005020121
+2005020124,2005020124
+2005020127,2005020127
+2005020129,2005020129
+2005020131,2005020131
+2005020132,2005020132
+2005020140,2005020140
+2005020150,2005020150
+2005020151,2005020151
+2005020153,2005020153
+2005020154,2005020154
+2005020157,2005020157
+2005020158,2005020158
+2005020159,2005020159
+2005030003,2005030003
+2005030004,2005030004
+2005030011,2005030011
+2005030014,2005030014
+2005030059,2005030059
+2005030079,2005030079
+2005030085,2005030085
+2005030089,2005030089
+2005030091,2005030091
+2005030093,2005030093
+2005030094,2005030094
+2005030098,2005030098
+2005030099,2005030099
+2005030122,2005030122
+2005030125,2005030125
+2005030135,2005030135
+2005030138,2005030138
+2005030139,2005030139
+2005030143,2005030143
+2005030144,2005030144
+2006000001,2006000001
+2006000002,2006000002
+2006000003,2006000003
+2006000004,2006000004
+2006000005,2006000005
+2006000006,2006000006
+2006000007,2006000007
+2006000008,2006000008
+2006000009,2006000009
+2006000011,2006000011
+2006000012,2006000012
+2006000013,2006000013
+2006000014,2006000014
+2006000015,2006000015
+2006000016,2006000016
+2006000021,057054165
+2006000022,2006000022
+2006000023,057064173
+2006000024,057074179
+2006000025,2006000025
+2006000026,057080251
+2006000027,057104210
+2006000028,2006000028
+2006000029,057114227
+2006000030,057114230
+2006000031,057114226
+2006000032,067115191
+2006000033,2006000033
+2006000034,057114222
+2006000035,2006000035
+2006000036,057124233
+2006000037,2006000037
+2006000038,2006000038
+2006000039,2006000039
+2006000040,2006000040
+2006000041,2006000041
+2006000050,2006000050
+2006000051,2006000051
+2006000053,2006000053
+2006000054,2006000054
+2006000055,2006000055
+2006000056,2006000056
+2006000057,2006000057
+2006000058,2006000058
+2006000061,2006000061
+2006000062,2006000062
+2006000063,2006000063
+2006000064,2006000064
+2006000065,2006000065
+2006000066,2006000066
+2006000067,057014116
+2006000068,057014117
+2006000069,057094195
+2006000070,057014118
+2006000071,057024131
+2006000072,047024095
+2006000073,057024120
+2006000074,2006000074
+2006000075,2006000075
+2006000076,2006000076
+2006000077,2006000077
+2006000079,2006000079
+2006000080,2006000080
+2006000084,2006000084
+2006000085,2006000085
+2006000086,2006000086
+2006000087,2006000087
+2006000088,2006000088
+2006000090,2006000090
+2006000091,2006000091
+2006000094,2006000094
+2006000095,2006000095
+2006000096,2006000096
+2006000098,2006000098
+2006000099,2006000099
+2006000100,2006000100
+2006000101,2006000101
+2006000102,2006000102
+2006000103,2006000103
+2006000115,2006000115
+2006000116,2006000116
+2006000117,2006000117
+2006000118,2006000118
+2006000119,2006000119
+2006000120,2006000120
+2006000123,2006000123
+2006000125,2006000125
+2006000127,2006000127
+2006000128,2006000128
+2006000136,2006000136
+2006000138,2006000138
+2006000140,2006000140
+2006000141,2006000141
+2006000145,2006000145
+2006000146,2006000146
+2006000147,2006000147
+2006000149,2006000149
+2006000151,2006000151
+2006000152,2006000152
+2006000154,2006000154
+2006000156,2006000156
+2006000158,2006000158
+2006000159,2006000159
+2006020042,2006020042
+2006020043,2006020043
+2006020044,2006020044
+2006020045,2006020045
+2006020046,2006020046
+2006020047,2006020047
+2006020081,2006020081
+2006020082,2006020082
+2006020083,2006020083
+2006020097,2006020097
+2006020104,2006020104
+2006020105,2006020105
+2006020106,2006020106
+2006020107,2006020107
+2006020108,2006020108
+2006020109,2006020109
+2006020110,2006020110
+2006020111,2006020111
+2006020122,2006020122
+2006020124,2006020124
+2006020132,2006020132
+2006020137,2006020137
+2006020142,2006020142
+2006020143,2006020143
+2006020150,047050174
+2006020160,2006020160
+2006020161,2006020161
+2006030010,2006030010
+2006030017,2006030017
+2006030018,2006030018
+2006030019,2006030019
+2006030020,2006030020
+2006030048,2006030048
+2006030049,2006030049
+2006030052,2006030052
+2006030059,2006030059
+2006030060,2006030060
+2006030078,2006030078
+2006030089,2006030089
+2006030092,2006030092
+2006030093,2006030093
+2006030112,2006030112
+2006030121,2006030121
+2006030126,2006030126
+2006030129,2006030129
+2006030130,2006030130
+2006030131,2006030131
+2006030133,2006030133
+2006030134,2006030134
+2006030135,2006030135
+2006030139,2006030139
+2006030144,2006030144
+2006030148,2006030148
+2006030153,2006030153
+2006030155,2006030155
+2006030157,2006030157
+2006060214,2006060214
+2007010003,2007010003
+2007010008,2007010008
+2007010009,057030101
+2007010010,2007010010
+2007010011,2007010011
+2007010012,2007010012
+2007010013,2007010013
+2007010014,2007010014
+2007010015,2007010015
+2007010016,2007010016
+2007010017,2007010017
+2007010018,046016016
+2007010019,067014231
+2007010020,046014011
+2007010021,046014001
+2007010022,046014015
+2007010023,046020129
+2007010024,2007010024
+2007010025,2007010025
+2007010026,046030155
+2007010027,2007010027
+2007010028,2007010028
+2007010029,046046184
+2007010030,046046218
+2007010031,2007010031
+2007010034,2007010034
+2007010035,2007010035
+2007010036,046054045
+2007010037,2007010037
+2007010038,046056354
+2007010039,2007010039
+2007010040,046054042
+2007010041,2007010041
+2007010042,2007010042
+2007010043,046030166
+2007010044,2007010044
+2007010045,046084069
+2007010046,046114122
+2007010047,046114118
+2007010048,046114123
+2007010049,046114119
+2007010050,046114110
+2007010051,046114111
+2007010052,2007010052
+2007010053,046114106
+2007010054,046114108
+2007010055,046114107
+2007010056,046114113
+2007010057,2007010057
+2007010058,046130825
+2007010059,046134130
+2007010060,046134129
+2007010061,2007010061
+2007010062,046136904
+2007010063,2007010063
+2007010064,046104101
+2007010065,046076370
+2007010066,2007010066
+2007010067,046100677
+2007010068,2007010068
+2007010069,046014004
+2007010070,2007010070
+2007010071,2007010071
+2007010073,2007010073
+2007010074,046110712
+2007010075,2007010075
+2007010076,046096551
+2007010077,046116738
+2007010079,046130823
+2007010080,2007010080
+2007010081,2007010081
+2007010084,2007010084
+2007010085,2007010085
+2007010086,2007010086
+2007010088,2007010088
+2007010089,077030024
+2007010090,2007010090
+2007010091,2007010091
+2007010092,2007010092
+2007010093,2007010093
+2007010094,2007010094
+2007010095,2007010095
+2007010096,2007010096
+2007010097,2007010097
+2007010098,2007010098
+2007010099,2007010099
+2007010100,2007010100
+2007010101,2007010101
+2007010104,2007010104
+2007010106,2007010106
+2007010107,2007010107
+2007010108,2007010108
+2007010109,2007010109
+2007010110,2007010110
+2007010111,2007010111
+2007010114,2007010114
+2007010115,2007010115
+2007010116,2007010116
+2007010117,2007010117
+2007010118,2007010118
+2007010120,2007010120
+2007010124,2007010124
+2007010125,2007010125
+2007010126,046110727
+2007010127,2007010127
+2007010128,2007010128
+2007010129,047060202
+2007010130,2007010130
+2007010131,2007010131
+2007010133,2007010133
+2007010134,2007010134
+2007010161,2007010161
+2007010162,047060200
+2007010163,2007010163
+2007010164,2007010164
+2007010165,2007010165
+2007010166,2007010166
+2007010167,2007010167
+2007010195,2007010195
+2007020004,2007020004
+2007020005,2007020005
+2007020006,2007020006
+2007020007,2007020007
+2007030001,2007030001
+2007030002,2007030002
+2007030032,2007030032
+2007030033,2007030033
+2007030082,2007030082
+2007030083,2007030083
+2007030087,2007030087
+2007030102,2007030102
+2007030103,2007030103
+2007030105,2007030105
+2007030112,2007030112
+2007030113,2007030113
+2007030121,2007030121
+2007030122,2007030122
+2007030123,2007030123
+2007030132,2007030132
+2007030135,2007030135
+2007030136,2007030136
+2007030160,2007030160
+2007030168,2007030168
+2007030169,2007030169
+2007030170,047060197
+2007030171,2007030171
+2007030224,2007030224
+2007030225,2007030225
+2008010010,2008010010
+2008010016,2008010016
+2008010017,2008010017
+2008010019,2008010019
+2008010020,2008010020
+2008010022,047060198
+2008010025,2008010025
+2008010027,2008010027
+2008010028,2008010028
+2008010029,2008010029
+2008010031,2008010031
+2008010032,2008010032
+2008010033,2008010033
+2008010035,2008010035
+2008010036,056046121
+2008010040,2008010040
+2008010041,2008010041
+2008010042,056096520
+2008010043,056086411
+2008010044,056080437
+2008010045,056036080
+2008010048,056110706
+2008010049,056046148
+2008010050,056030150
+2008010051,2008010051
+2008010052,056056275
+2008010053,056116657
+2008010054,056026057
+2008010055,056126837
+2008010056,2008010056
+2008010057,056046136
+2008010059,2008010059
+2008010060,067045078
+2008010061,056090581
+2008010062,2008010062
+2008010063,2008010063
+2008010064,2008010064
+2008010066,2008010066
+2008010067,2008010067
+2008010068,2008010068
+2008010069,2008010069
+2008010071,2008010071
+2008010072,2008010072
+2008010073,047090255
+2008010074,2008010074
+2008010075,2008010075
+2008010078,2008010078
+2008010079,2008010079
+2008010080,2008010080
+2008010081,2008010081
+2008010083,2008010083
+2008010084,2008010084
+2008010085,2008010085
+2008010087,2008010087
+2008010088,2008010088
+2008010089,2008010089
+2008010090,043375
+2008010091,2008010091
+2008010093,2008010093
+2008010094,047020082
+2008010095,2008010095
+2008010096,2008010096
+2008010098,047120303
+2008010101,2008010101
+2008010102,047050171
+2008010104,2008010104
+2008010105,2008010105
+2008010108,2008010108
+2008010110,2008010110
+2008010111,2008010111
+2008010113,2008010113
+2008010114,2008010114
+2008010117,2008010117
+2008010119,2008010119
+2008010120,2008010120
+2008010121,2008010121
+2008010123,047010070
+2008010124,2008010124
+2008010125,047100270
+2008010128,2008010128
+2008010132,2008010132
+2008010133,2008010133
+2008010134,2008010134
+2008010135,047090258
+2008010136,2008010136
+2008010137,047030104
+2008010139,2008010139
+2008010140,047040113
+2008010141,057050204
+2008030018,2008030018
+2008030021,2008030021
+2008030023,2008030023
+2008030024,2008030024
+2008030026,2008030026
+2008030030,2008030030
+2008030034,2008030034
+2008030038,2008030038
+2008030039,2008030039
+2008030046,2008030046
+2008030047,047040115
+2008030058,2008030058
+2008030065,047080219
+2008030070,2008030070
+2008030082,2008030082
+2008030086,057040159
+2008030092,2008030092
+2008030097,047040140
+2008030099,2008030099
+2008030103,047040156
+2008030106,2008030106
+2008030107,2008030107
+2008030109,2008030109
+2008030115,2008030115
+2008030116,057040018
+2008030118,2008030118
+2008030122,2008030122
+2008030127,057060209
+2008030129,047070212
+2008030130,2008030130
+2008030131,047030098
+2008030138,2008030138
+2009000114,2009000114
+2009000115,2009000115
+2009010001,2009010001
+2009010002,047050177
+2009010003,2009010003
+2009010004,047090244
+2009010008,2009010008
+2009010009,2009010009
+2009010010,2009010010
+2009010011,2009010011
+2009010012,057030013
+2009010013,2009010013
+2009010016,2009010016
+2009010020,057110335
+2009010023,2009010023
+2009010024,057060216
+2009010025,066126816
+2009010026,066090491
+2009010027,066136968
+2009010028,066090540
+2009010029,066086450
+2009010030,056100599
+2009010031,066030146
+2009010032,2009010032
+2009010033,057026002
+2009010034,066056353
+2009010035,066050282
+2009010036,2009010036
+2009010037,2009010037
+2009010038,066036141
+2009010043,066050304
+2009010044,046030197
+2009010045,047040157
+2009010046,2009010046
+2009010047,2009010047
+2009010048,2009010048
+2009010049,2009010049
+2009010053,2009010053
+2009010055,066066412
+2009010056,2009010056
+2009010061,2009010061
+2009010062,2009010062
+2009010063,2009010063
+2009010064,2009010064
+2009010066,2009010066
+2009010067,2009010067
+2009010068,2009010068
+2009010069,2009010069
+2009010070,066110713
+2009010071,057110332
+2009010073,057040116
+2009010077,2009010077
+2009010078,2009010078
+2009010079,066130765
+2009010080,2009010080
+2009010081,2009010081
+2009010082,2009010082
+2009010083,066090492
+2009010084,053429
+2009010085,053118
+2009010086,053164
+2009010089,2009010089
+2009010090,2009010090
+2009010092,047014076
+2009010093,2009010093
+2009010094,057090276
+2009010095,2009010095
+2009010096,046090502
+2009010097,2009010097
+2009010098,2009010098
+2009010099,057010068
+2009010100,047020090
+2009010101,047070214
+2009010102,066030128
+2009010103,2009010103
+2009010108,2009010108
+2009010109,2009010109
+2009010110,2009010110
+2009010117,2009010117
+2009010119,057110327
+2009010120,047030111
+2009010121,057090272
+2009010122,2009010122
+2009010123,057114215
+2009010124,2009010124
+2009010125,2009010125
+2009010130,2009010130
+2009010131,2009010131
+2009010132,046090577
+2009010133,046106643
+2009010134,2009010134
+2009010135,2009010135
+2009010136,2009010136
+2009030005,057070218
+2009030006,047010063
+2009030007,2009030007
+2009030014,2009030014
+2009030015,047040146
+2009030017,2009030017
+2009030018,047010062
+2009030019,2009030019
+2009030021,046060379
+2009030022,2009030022
+2009030039,2009030039
+2009030040,047090238
+2009030041,2009030041
+2009030042,2009030042
+2009030050,2009030050
+2009030052,046030132
+2009030065,057110312
+2009030072,067010003
+2009030074,067010003
+2009030075,057090270
+2009030076,2009030076
+2009030087,047070203
+2009030088,2009030088
+2009030091,047080227
+2009030112,047080223
+2009030113,057070229
+2009030116,047020092
+2009030118,2009030118
+2009030127,057070221
+2009030128,2009030128
+2009030129,046090570
+2010000002,2010000002
+2010010002,2010010002
+2010010006,2010010006
+2010010007,2010010007
+2010010008,2010010008
+2010010009,046120788
+2010010011,057040122
+2010010013,2010010013
+2010010014,2010010014
+2010010015,2010010015
+2010010016,2010010016
+2010010018,2010010018
+2010010019,2010010019
+2010010020,2010010020
+2010010023,2010010023
+2010010024,2010010024
+2010010025,2007201473
+2010010026,2007201466
+2010010027,2007201444
+2010010028,2007201455
+2010010029,2007201467
+2010010030,2007201507
+2010010031,057070224
+2010010032,2007201731
+2010010034,2007201746
+2010010035,2007200095
+2010010036,2010010036
+2010010037,2007201791
+2010010038,2007200184
+2010010039,2007200834
+2010010040,2007201873
+2010010041,2007201734
+2010010042,2010010042
+2010010043,2007201766
+2010010045,2007201256
+2010010046,2010010046
+2010010047,046040258
+2010010048,047020078
+2010010049,077110128
+2010010050,2010010050
+2010010051,2010010051
+2010010052,067090491
+2010010053,2010010053
+2010010054,046040216
+2010010055,046040221
+2010010061,057010066
+2010010062,2010010062
+2010010063,046020095
+2010010064,057090256
+2010010065,2007200204
+2010010066,2010010066
+2010010067,046090563
+2010010068,2010010068
+2010010069,2010010069
+2010010070,063263
+2010010071,062248
+2010010072,062273
+2010010073,2010010073
+2010010074,057050184
+2010010075,2010010075
+2010010076,057040163
+2010010077,2010010077
+2010010078,057100042
+2010010080,2010010080
+2010010081,046120781
+2010010082,047020079
+2010010083,062006
+2010010084,2010010084
+2010010085,2010010085
+2010010086,062963
+2010010087,061369
+2010010088,2010010088
+2010010090,062952
+2010010094,2007201140
+2010010097,046040234
+2010010098,2010010098
+2010010099,2010010099
+2010010101,2010010101
+2010010102,2010010102
+2010010104,047030102
+2010010105,2010010105
+2010010106,047030100
+2010010107,046010009
+2010010108,046084077
+2010010109,057030112
+2010010110,2010010110
+2010010111,2010010111
+2010010113,047010073
+2010010131,2010010131
+2010010132,2007201738
+2010010133,2010010133
+2010010134,2010010134
+2010010135,057090265
+2010010137,057110322
+2010010138,056010019
+2010010140,057020083
+2010010141,047050015
+2010010142,056086406
+2010010144,2010010144
+2010010146,2010010146
+2010010147,046020096
+2010010148,2010010148
+2010010149,2010010149
+2010010150,2010010150
+2010010151,2010010151
+2010010152,2010010152
+2010010153,2010010153
+2010010158,057010074
+2010010159,2010010159
+2010010160,056040197
+2010010161,046010048
+2010030001,057070223
+2010030003,067010001
+2010030004,057080249
+2010030010,046020089
+2010030012,057060215
+2010030017,046010008
+2010030021,2010030021
+2010030022,067086138
+2010030033,2010030033
+2010030044,047050182
+2010030056,2010030056
+2010030057,046110700
+2010030079,046010027
+2010030089,2010030089
+2010030091,046026044
+2010030092,2010030092
+2010030093,057010053
+2010030095,046046172
+2010030096,2010030096
+2010030100,2010030100
+2010030103,046090517
+2010030112,046030174
+2010030114,2010030114
+2010030136,2010030136
+2010030145,067040346
+2010030154,2010030154
+2010030155,046090569
+2010030157,046086400
+2010060139,2010060139
+2010060143,2010060143
+2010060156,2010060156
+2011000111,2011000111
+2011010001,056040222
+2011010002,057090259
+2011010003,046020118
+2011010004,057070026
+2011010005,057040129
+2011010006,2007100100
+2011010007,066020097
+2011010008,046090504
+2011010010,067020250
+2011010011,067106177
+2011010014,046050335
+2011010015,2011010015
+2011010021,067180626
+2011010022,2007201411
+2011010023,056136859
+2011010024,2008201963
+2011010025,042917
+2011010026,2008200086
+2011010027,2008200729
+2011010028,2011010028
+2011010029,040625
+2011010030,047050184
+2011010031,2008201900
+2011010033,2011010033
+2011010034,046010040
+2011010035,2011010035
+2011010036,046076377
+2011010037,2011010037
+2011010038,2011010038
+2011010039,2011010039
+2011010049,2011010049
+2011010050,2008201751
+2011010051,056060362
+2011010052,057030110
+2011010053,2007100215
+2011010055,046110706
+2011010056,2011010056
+2011010057,2011010057
+2011010058,2008200366
+2011010060,2007201471
+2011010061,2008200829
+2011010062,2011010062
+2011010063,2011010063
+2011010064,047040122
+2011010065,2011010065
+2011010066,2011010066
+2011010067,2011010067
+2011010072,2007302196
+2011010073,2011010073
+2011010074,046110702
+2011010075,043419
+2011010076,2011010076
+2011010077,2011010077
+2011010078,2007200203
+2011010079,067020251
+2011010080,056080438
+2011010081,2011010081
+2011010082,057030012
+2011010083,057114225
+2011010084,2011010084
+2011010085,056040237
+2011010087,2011010087
+2011010089,046106677
+2011010090,2011010090
+2011010091,2011010091
+2011010097,2011010097
+2011010101,2011010101
+2011010102,046010067
+2011010103,067030286
+2011010104,056080467
+2011010105,057030098
+2011010106,2011010106
+2011010107,067010009
+2011010108,2011010108
+2011010109,2011010109
+2011010110,2011010110
+2011010112,2003000036
+2011010119,2011010119
+2011010121,056110702
+2011010122,056110666
+2011010123,046100654
+2011010124,056050279
+2011010125,056140808
+2011010126,056090507
+2011010127,046060383
+2011010128,2011010128
+2011010129,067060416
+2011010130,2011010130
+2011030009,2011030009
+2011030012,066090516
+2011030013,057080239
+2011030019,2011030019
+2011030020,057010070
+2011030040,057080245
+2011030046,056030140
+2011030047,046040219
+2011030048,2011030048
+2011030054,046090508
+2011030059,046046195
+2011030068,2007100370
+2011030069,067050377
+2011030070,057050190
+2011030071,046080470
+2011030086,077186151
+2011030094,2001030127
+2011030095,2011030095
+2011030096,056050299
+2011030098,067020265
+2011030099,047020086
+2011030100,2011030100
+2011030113,046076379
+2011030114,2011030114
+2011030115,2011030115
+2011030120,066040211
+2011060018,2011060018
+2011060032,2011060032
+2011060088,2011060088
+2011060116,2011060116
+2011060117,2011060117
+2011060118,2011060118
+2012010001,2008100009
+2012010003,2012010003
+2012010004,057110330
+2012010005,2006030126
+2012010006,066080432
+2012010007,046010019
+2012010008,056050307
+2012010011,2012010011
+2012010013,2012010013
+2012010014,2012010014
+2012010015,046086487
+2012010016,2007010094
+2012010017,2007010095
+2012010018,2007010093
+2012010019,2009201426
+2012010020,067040349
+2012010021,066040202
+2012010022,2012010022
+2012010026,046016007
+2012010027,056090564
+2012010032,056100598
+2012010033,2009201945
+2012010034,2012010034
+2012010035,2012010035
+2012010036,077100120
+2012010038,2012010038
+2012010039,2012010039
+2012010040,2012010040
+2012010041,2012010041
+2012010043,2012010043
+2012010044,2012010044
+2012010045,2012010045
+2012010046,2012010046
+2012010047,2012010047
+2012010048,066040188
+2012010050,2009202179
+2012010051,2012010051
+2012010052,2012010052
+2012010053,2012010053
+2012010054,2012010054
+2012010055,2012010055
+2012010056,053076
+2012010057,2012010057
+2012010058,047040159
+2012010059,2012010059
+2012010063,057050207
+2012010064,2012010064
+2012010065,2007100141
+2012010066,057070229
+2012010067,056100630
+2012010068,066100617
+2012010069,2012010069
+2012010070,2012010070
+2012010071,2012010071
+2012010072,2012010072
+2012010073,2012010073
+2012010074,2012010074
+2012010075,066020100
+2012010076,2012010076
+2012010079,2012010079
+2012010080,2012010080
+2012010084,056046143
+2012010085,056090476
+2012030002,2012030002
+2012030009,2012030009
+2012030010,056010061
+2012030012,056050275
+2012030025,046020088
+2012030037,056020078
+2012030049,056090563
+2012030062,066090507
+2012030077,2012030077
+2012030078,046040213
+2012030083,2012030083
+2012060023,2012060023
+2012060024,2012060024
+2012060081,2012060081
+2012060082,2012060081
+2012060086,2012060086
+2012060087,2012060087
+2012070001,2012070001
+2012070002,2012070002
+2012070003,2012070003
+2012070004,2012070004
+2012070005,2012070005
+2012070006,2012070006
+2012070007,2012070007
+2012070008,2012070008
+2012070009,2007100369
+2012070010,2012070010
+2012070011,2012070011
+2012070012,2012070012
+2012070013,2012070013
+2012070014,2012070014
+2012070015,2012070015
+2012070016,2012070016
+2012070017,2012070017
+2012070018,2012070018
+2012070019,2012070019
+2012070020,2012070020
+2012070021,2012070021
+2012070022,2012070022
+2012070023,2012070023
+2012070024,2012070024
+2012070025,2012070025
+2012070026,2012070026
+2012070027,2012070027
+2012070028,2012070028
+2012070029,2012070029
+2012070030,2012070030
+2012070031,2012070031
+2012070032,2012070032
+2012070033,2012070033
+2012070034,2012070034
+2012070035,2012070035
+2012070036,2012070036
+2012070037,2012070037
+2012070038,2012070038
+2012070039,2012070039
+2012070040,2012070040
+2012070042,2012070042
+2012070043,2012070043
+2012070044,2012070044
+2012070045,2012070045
+2012070046,2012070046
+2012070047,2012070047
+2012070048,2012070048
+2012070049,2012070049
+2012070050,2012070050
+2012070051,2012070051
+2012070052,2012070052
+2012070053,2012070053
+2012070054,2012070054
+2012070056,2012070056
+2012070057,2012070057
+2012070058,2012070058
+2012070060,063174
+2012070061,2012070061
+2012070062,2012070062
+2012070063,2012070063
+2012070064,2012070064
+2012070065,2012070065
+2012070066,2012070066
+2012070067,2012070067
+2012070068,2012070068
+2012070069,2012070069
+2012070070,2012070070
+2012070071,2012070071
+2012070072,2012070072
+2012070073,2012070073
+2012070074,2012070074
+2012070075,2012070075
+2012070076,2012070076
+2012070077,2012070077
+2012070080,2012070080
+2012070081,2012070081
+2012070082,2012070082
+2012070085,2008303225
+2012070086,2008301886
+2012070087,2008300642
+2012070088,2012070088
+2012070089,2012070089
+2012070090,2012070090
+2012070091,2012070091
+2012070092,2012070092
+2012070093,2012070093
+2012070094,2012070094
+2012070095,2012070095
+2012070096,2012070096
+2012070097,2012070097
+2012070098,2012070098
+2012070099,2012070099
+2012070100,2012070100
+2013010001,2013010001
+2013010002,2008100358
+2013010003,2013010003
+2013010004,2013010004
+2013010005,2007200297
+2013010006,056030158
+2013010007,066030132
+2013010008,057010052
+2013010009,066110684
+2013010010,056120756
+2013010011,2013010011
+2013010015,2013010015
+2013010016,2013010016
+2013010017,057040120
+2013010018,2013010018
+2013010019,2013010019
+2013010020,046110704
+2013010025,066096618
+2013010026,050544
+2013010027,043084
+2013010028,2013010028
+2013010029,2013010029
+2013010030,2013010030
+2013010032,2013010032
+2013010037,2013010037
+2013010039,2013010039
+2013010040,2013010040
+2013010041,046010025
+2013010043,2013010043
+2013010044,2013010044
+2013010045,2013010045
+2013010047,2013010047
+2013010048,2013010048
+2013010049,051155
+2013010050,056050305
+2013010051,066010044
+2013010052,2010202193
+2013010054,2013010054
+2013010055,2013010055
+2013010056,2013010056
+2013010057,2013010057
+2013010058,2013010058
+2013010059,2013010059
+2013010060,2013010060
+2013010061,066106672
+2013010062,2013010062
+2013010064,2013010064
+2013010065,2013010065
+2013010066,2013010066
+2013010067,2013010067
+2013010069,2003010161
+2013010070,2013010070
+2013010071,2013010071
+2013010072,2013010072
+2013010073,2013010073
+2013010074,056100608
+2013010075,2013010075
+2013010076,2013010076
+2013010077,2013010077
+2013010078,066080447
+2013010079,056056221
+2013010080,056010046
+2013010081,2013010081
+2013010082,2013010082
+2013010083,066056338
+2013010084,043071
+2013010085,043086
+2013010086,2013010086
+2013010087,066187048
+2013010089,2007201117
+2013010091,066030151
+2013010092,2013010092
+2013010093,040096
+2013010094,2013010094
+2013010095,2007201496
+2013010096,2013010096
+2013010097,066046205
+2013010099,2013010099
+2013010100,2007200193
+2013010102,2007200776
+2013010103,046046217
+2013010104,2013010104
+2013010105,040921
+2013010106,2013010106
+2013030013,066010020
+2013030014,2013030014
+2013030021,046040217
+2013030022,2013030022
+2013030023,2013030023
+2013030024,066110710
+2013030038,2007200729
+2013030042,2013030042
+2013030046,2013030046
+2013030053,2013030053
+2013030063,2013030063
+2013030068,2013030068
+2013030088,2007201262
+2013030090,2013030090
+2013030098,066180776
+2013060031,2013060031
+2013060033,2013060033
+2013060101,2013060101
+2013060107,2013060107
+2013070004,2013070004
+2013070005,2013070005
+2013070006,2013070006
+2013070009,2013070009
+2013070010,2013070010
+2013070011,2013070011
+2013070013,2013070013
+2013070014,2013070014
+2013070015,2013070015
+2013070016,2007201763
+2013070017,2013070017
+2013070018,2013070018
+2013070019,2013070019
+2013070020,2013070020
+2013070021,2013070021
+2013070022,2013070022
+2013070023,2013070023
+2013070024,2013070024
+2013070025,2013070025
+2013070026,2013070026
+2013070027,2013070027
+2013070028,2013070028
+2013070029,2013070029
+2013070030,2013070030
+2013070031,2009303551
+2013070032,2013070032
+2013070033,2013070033
+2013070034,2009303254
+2013070035,2009302515
+2013070036,2013070036
+2013070037,2013070037
+2013070038,2013070038
+2013070041,2013070041
+2013070042,2013070042
+2013070043,2013070043
+2013070044,2013070044
+2013070045,2013070045
+2013070046,2013070046
+2013070047,2013070047
+2013070048,2013070048
+2013070049,2013070049
+2013070050,2013070050
+2013070051,2013070051
+2013070052,2013070052
+2013070053,2013070053
+2013070054,2013070054
+2013070056,2013070056
+2013070057,2013070057
+2013070058,2013070058
+2013070059,2013070059
+2013070060,2013070060
+2013070061,2013070061
+2013070062,2013070062
+2013070063,2013070063
+2013070064,2013070064
+2013070065,2013070065
+2013070066,2013070066
+2013070067,2013070067
+2013070068,2013070068
+2013070069,2013070069
+2013070070,2013070070
+2013070071,2007240038
+2013070072,2013070072
+2013070073,2013070073
+2013070074,2013070074
+2013070075,2013070075
+2013070076,2013070076
+2014000217,2014000217
+2014010001,040068
+2014010002,2007200764
+2014010003,046050338
+2014010004,2014010004
+2014010005,2014010005
+2014010006,2014010006
+2014010007,066026073
+2014010008,056090531
+2014010009,2014010009
+2014010010,2014010010
+2014010011,2014010011
+2014010012,043117
+2014010013,2008201644
+2014010014,043092
+2014010015,2014010015
+2014010016,067050083
+2014010017,066120731
+2014010018,066100631
+2014010019,2014010019
+2014010020,066090516
+2014010021,056010053
+2014010022,2014010022
+2014010023,2014010023
+2014010029,2014010029
+2014010030,2014010030
+2014010032,057020075
+2014010033,2014010033
+2014010034,2007201152
+2014010035,2008303161
+2014010047,2014010047
+2014010048,2007200835
+2014010049,2014010049
+2014010051,2014010051
+2014010052,2014010052
+2014010053,2014010053
+2014010054,2014010054
+2014010057,2014010057
+2014010058,2014010058
+2014010059,2014010059
+2014010060,2014010060
+2014010061,2014010061
+2014010063,062982
+2014010064,061370
+2014010065,063112
+2014010066,053164
+2014010067,053429
+2014010068,2011202341
+2014010069,2011201306
+2014010070,2007303143
+2014010071,2007301569
+2014010072,050032
+2014010073,2014010073
+2014010074,2007200859
+2014010075,2007201001
+2014010076,2007200922
+2014010077,2007300554
+2014010078,2007200268
+2014010079,2014010079
+2014010080,066060351
+2014010081,066066415
+2014010082,2007100224
+2014010084,2014010084
+2014010085,066080443
+2014010088,2007201517
+2014010089,077134146
+2014010090,2014010090
+2014010091,2014010091
+2014010092,042519
+2014010093,066096562
+2014010094,2007300860
+2014010095,2014010095
+2014010096,2014010096
+2014010097,2014010097
+2014010098,2014010098
+2014010099,2014010099
+2014010100,2014010100
+2014010109,2014010109
+2014010110,2014010110
+2014010111,2014010111
+2014010112,2014010112
+2014010113,2014010113
+2014010114,2011200453
+2014010115,2014010115
+2014010116,2014010116
+2014010117,2014010117
+2014010118,2014010118
+2014010119,2014010119
+2014010120,2014010120
+2014010121,2014010121
+2014010122,2014010122
+2014010123,2014010123
+2014010124,2007303053
+2014010126,2014010126
+2014010127,042868
+2014010128,050220
+2014010129,2008201727
+2014010130,2007200936
+2014010131,2010100579
+2014010132,2008202050
+2014010133,2014010133
+2014010134,2012262189
+2014010135,050482
+2014010138,2014010138
+2014010139,2013060101
+2014010140,2014010140
+2014010141,2014010141
+2014010142,042663
+2014010143,2014010143
+2014010144,040821
+2014010145,053180
+2014010146,2007100119
+2014010147,2014010147
+2014010148,052826
+2014010149,2014010149
+2014010150,2014010150
+2014010151,046040263
+2014010152,052349
+2014010153,2007200843
+2014010154,2014010154
+2014010155,2014010155
+2014010156,2014010156
+2014010157,2014010157
+2014010158,2014010158
+2014010159,2014010159
+2014010160,2014010160
+2014010163,046116731
+2014010164,2014010164
+2014010165,2014010165
+2014010166,2014010166
+2014010167,2014010167
+2014010168,2014010168
+2014010169,2014010169
+2014010170,046096569
+2014010205,056090529
+2014010206,067050386
+2014010207,2014010207
+2014010208,2014010208
+2014010209,067070427
+2014010210,2014010210
+2014010211,2014010211
+2014010212,2014010212
+2014010213,2014010213
+2014010214,2014010214
+2014010215,2014010215
+2014010223,2014010223
+2014010225,051132
+2014010226,050432
+2014010227,040826
+2014010228,2007200227
+2014010229,040477
+2014010230,2007200068
+2014010231,2009200966
+2014010232,053552
+2014010233,053572
+2014010234,041878
+2014010235,2007200417
+2014010236,041855
+2014030031,2007201863
+2014030050,066046268
+2014030062,2007200480
+2014030083,056010025
+2014030086,057010071
+2014030136,2014030136
+2014030137,2009100300
+2014030161,056040223
+2014030216,050092
+2014030222,2014030222
+2014030237,2014030237
+2014060055,2014010054
+2014060056,2014010053
+2014060087,2014060087
+2014060162,2014060162
+2014060186,2014060186
+2014060204,2014060204
+2014060218,2014060218
+2014060224,2014060224
+2014060238,2014060238
+2014070001,2014070001
+2014070002,2014070002
+2014070003,2014070003
+2014070004,2014070004
+2014070005,2014070005
+2014070006,2014070006
+2014070007,2014070007
+2014070008,2014070008
+2014070009,2014070009
+2014070010,2014070010
+2014070011,2014070011
+2014070012,2014070012
+2014070013,2014070013
+2014070014,2014070014
+2014070015,2014070015
+2014070016,2014070016
+2014070017,2013212176
+2014070018,2014070018
+2014070019,2014070019
+2014070020,2014070020
+2014070021,2014070021
+2014070022,2014070022
+2014070023,2014070023
+2014070024,2014070024
+2014070025,2014070025
+2014070026,2014070026
+2014070027,060447
+2014070028,2014070028
+2014070029,2010202188
+2014070030,2014070030
+2014070031,2014070031
+2014070032,2014070032
+2014070033,2014070033
+2014070034,2013210443
+2014070035,2014070035
+2014070036,2014070036
+2014070037,2014070037
+2014070038,2014070038
+2014070039,2014070039
+2014070040,2014070040
+2014070041,2014070041
+2014070042,2014070042
+2014070043,2014070043
+2014070044,2014070044
+2014070045,2014070045
+2014070046,2014070046
+2014070047,2014070047
+2014070048,2014070048
+2014070049,2014070049
+2014070050,2014070050
+2014070051,2014070051
+2014070052,2014070052
+2014070054,2014070054
+2014070055,2014070055
+2014070056,2014070056
+2014070057,2014070057
+2014070058,2014070058
+2014070059,2014070059
+2014070060,2010300877
+2014070061,2010303374
+2014070062,2010303130
+2014070063,2014070063
+2014070064,2014070064
+2014070065,2014070065
+2014070066,2014070066
+2014070067,2014070067
+2014070068,2014070068
+2014070069,2014070069
+2014070070,2014070070
+2014070071,2014070071
+2014070072,2014070072
+2014070073,2014070073
+2014070074,2014070074
+2014070075,2014070075
+2014070076,2014070076
+2014070077,2014070077
+2014070078,2014070078
+2014070079,2014070079
+2014070080,2014070080
+2014070081,2014070081
+2014070082,2014070082
+2014070083,2014070083
+2014070084,2014070084
+2014070086,2014070086
+2014070087,2014070087
+2014070088,2014070088
+2014070089,2014070089
+2014070090,2014070090
+2014070091,2014070091
+2014070092,2014070092
+2014070093,2014070093
+2014070094,2014070094
+2014070095,2014070095
+2014070097,2014070097
+2014070098,2014070098
+2014070099,2014070099
+2014070100,2014070100
+2014070101,2014070101
+2014070102,2014070102
+2014070103,2014070103
+2014070104,2014070104
+2014070105,2014070105
+2014070106,2014070106
+2014070107,2014070107
+2014070108,2014070108
+2014070109,2014070109
+2014070110,2010210679
+2014070111,2014070111
+2014070112,2014070112
+2014070113,2014070113
+2014070114,2014070114
+2014070115,2014070115
+2014070116,2014070116
+2014070117,2014070117
+2014070118,2014070118
+2014070119,2014070119
+2014070120,2014070120
+2014070121,2014070121
+2014070122,2014070122
+2014070123,2014070123
+2014070124,2014070124
+2014070125,2014070125
+2014070126,2014070126
+2014070127,2014070127
+2014070128,2014070128
+2014070129,2014070129
+2014070130,2014070130
+2014070131,2014070131
+2014070132,2014070132
+2014070133,2014070133
+2014070134,2014070134
+2014070135,2014070135
+2014070136,2014070136
+2014070137,2014070137
+2014070138,2014070138
+2014070139,2014070139
+2014070140,2014070140
+2014070141,2014070141
+2014070142,2014070142
+2014070143,2014070143
+2014070144,2014070144
+2014070145,2007210005
+2014070146,2014070146
+2014070147,2014070147
+2014070148,2014070148
+2014070149,2014070149
+2014070150,2014070150
+2014070151,2014070151
+2014070152,2014070152
+2014070153,2014070153
+2014070154,2014070154
+2014070155,2014070155
+2014070156,2014070156
+2014070157,2014070157
+2014070158,2014070158
+2014070159,2014070159
+2014070160,2014070160
+2014070161,2014070161
+2014070162,2014070162
+2014070163,2014070163
+2014070164,2014070164
+2014070165,2014070165
+2014070166,2014070166
+2014070167,2014070167
+2014070299,2014070299
+2015000075,2015000075
+2015010003,2008100456
+2015010004,046100659
+2015010005,043093
+2015010006,2015010006
+2015010007,2007200575
+2015010008,040017
+2015010009,2009200120
+2015010010,2008200664
+2015010011,2015010011
+2015010012,2015010012
+2015010013,2015010013
+2015010014,046050325
+2015010015,042892
+2015010016,2008200182
+2015010017,2015010017
+2015010018,2015010018
+2015010019,040003
+2015010020,063067
+2015010022,2015010022
+2015010031,2015010031
+2015010033,052792
+2015010034,2008200481
+2015010035,060047
+2015010036,050318
+2015010037,2008201562
+2015010038,040980
+2015010039,2007201458
+2015010040,062963
+2015010041,2007301939
+2015010042,2007300551
+2015010043,2008300571
+2015010045,2008303119
+2015010047,2008303262
+2015010048,2008300544
+2015010049,061369
+2015010050,2007302914
+2015010051,2007301204
+2015010052,2008300755
+2015010053,2008300840
+2015010054,2008303142
+2015010055,2008303470
+2015010056,2007303365
+2015010057,2008302973
+2015010058,2008301489
+2015010059,2008300422
+2015010060,2008300177
+2015010061,2008303136
+2015010062,2008301812
+2015010063,2008302113
+2015010064,2012202390
+2015010065,2008300268
+2015010066,2015010066
+2015010067,2008302467
+2015010068,2015010068
+2015010069,2008300789
+2015010070,051425
+2015010071,2015010071
+2015010073,051581
+2015010080,2015010080
+2015010081,2015010081
+2015010082,2015010082
+2015010083,2015010083
+2015010084,2015010084
+2015010085,2015010085
+2015010088,2015010088
+2015010089,2015010089
+2015010091,2007201553
+2015010092,2008302735
+2015010093,2015010093
+2015010094,047020086
+2015010096,2008302531
+2015010097,2015010097
+2015010098,062273
+2015010100,2008301086
+2015010101,042942
+2015010102,2007200419
+2015010103,2015010103
+2015010104,2015010104
+2015010105,2015010105
+2015010106,2009200438
+2015010107,066080405
+2015010108,2015010108
+2015010109,2009100084
+2015010110,2007201415
+2015010111,2015010111
+2015010112,2015010112
+2015010113,2008303190
+2015010114,2015010114
+2015010115,2015010115
+2015010116,043048
+2015010117,2015010117
+2015010118,2015010118
+2015010119,2015010119
+2015010120,2007200768
+2015010121,2015010121
+2015010122,042398
+2015010123,2015010123
+2015010124,056090579
+2015010125,2015010125
+2015010126,2015010126
+2015010127,2015010127
+2015010128,2015010128
+2015010130,2015010130
+2015010131,2015010131
+2015010132,2015010132
+2015010133,060220
+2015010134,2007200449
+2015010135,060866
+2015010136,2015010136
+2015010138,2015010138
+2015010139,2015010139
+2015010140,2015010140
+2015010141,056064064
+2015010142,2015010142
+2015010145,2015010145
+2015010146,2015010146
+2015010151,052973
+2015010152,2015010152
+2015010154,2015010154
+2015010155,2015010155
+2015010156,2015010156
+2015010158,2015010158
+2015010159,2011301044
+2015010160,2015010160
+2015010161,2015010161
+2015010162,2015010162
+2015010163,066026069
+2015010164,2015010164
+2015010165,2015010165
+2015010166,2015010166
+2015010169,2015010169
+2015010170,2015010170
+2015010171,066120732
+2015010172,2015010172
+2015010173,2008302982
+2015010174,2015010174
+2015010175,2015010175
+2015010176,2015010176
+2015010180,2015010180
+2015010181,2015010181
+2015010186,061091
+2015010187,2007200192
+2015010189,2015010189
+2015010190,2015010190
+2015010191,2015010191
+2015010192,053158
+2015010193,053023
+2015010194,2015010194
+2015010197,2015010197
+2015010198,2015010198
+2015010199,2008200540
+2015030023,2015030023
+2015030024,2007201385
+2015030025,2015030025
+2015030029,2015030029
+2015030072,2015030072
+2015030086,2007201213
+2015030087,046126900
+2015030129,2008200185
+2015030143,040412
+2015030144,046050346
+2015030147,2009201533
+2015030150,2011100023
+2015030168,2015010121
+2015030179,2009100255
+2015030188,2007100306
+2015030195,2008100092
+2015030196,2015030196
+2015060001,2015060001
+2015060002,2015060002
+2015060021,2015060021
+2015060026,2015060026
+2015060027,2015060027
+2015060028,2015060028
+2015060030,2015060030
+2015060032,2015060032
+2015060074,2015060074
+2015060076,2015060076
+2015060077,2015060077
+2015060078,2015060078
+2015060079,2015060079
+2015060090,2015060090
+2015060095,2015060095
+2015060137,2015060137
+2015060148,2015060148
+2015060149,2015060149
+2015060153,2015060153
+2015060157,2015060157
+2015060167,2015060167
+2015060177,2015060177
+2015060178,2015060178
+2015060182,2015060182
+2015060183,2015060183
+2015060184,2015060184
+2015060185,2015060185
+2015060200,2015060200
+2015070001,2015070001
+2015070002,2015070002
+2015070003,2015070003
+2015070004,2015070004
+2015070005,2015070005
+2015070006,2015070006
+2015070007,2015070007
+2015070008,2015070008
+2015070009,2015070009
+2015070010,2015070010
+2015070011,2015070011
+2015070013,2015070013
+2015070014,2015070014
+2015070015,2015070015
+2015070016,2015070016
+2015070017,2015070017
+2015070018,2015070018
+2015070019,2015070019
+2015070020,2015070020
+2015070021,2015070021
+2015070022,2015070022
+2015070023,2015070023
+2015070024,2015070024
+2015070025,2015070025
+2015070026,2015070026
+2015070027,2015070027
+2015070028,2015070028
+2015070029,2015070029
+2015070031,2015070031
+2015070034,2015070034
+2015070035,2015070035
+2015070036,2015070036
+2015070037,2015070037
+2015070038,2015070038
+2015070039,2015070039
+2015070040,2015070040
+2015070041,2015070041
+2015070042,2015070042
+2015070043,2015070043
+2015070044,2015070044
+2015070045,2015070045
+2015070046,2015070046
+2015070047,2015070047
+2015070048,2011300419
+2015070049,2015070049
+2015070050,2015070050
+2015070051,2015070051
+2015070053,2015070053
+2015070054,2015070054
+2015070055,2011300710
+2015070056,2011303460
+2015070057,2015070057
+2015070058,2015070058
+2015070059,2015070059
+2015070060,2015070060
+2015070061,2015070061
+2015070062,2015070062
+2015070063,2015070063
+2015070064,2015070064
+2015070065,2015070065
+2015070066,2015070066
+2015070067,2015070067
+2015070068,2015070068
+2015070069,2015070069
+2015070070,2015070070
+2015070072,2015070072
+2015070073,2015070073
+2015070074,2015070074
+2015070075,2015070075
+2015070076,2015070076
+2015070078,2015070078
+2015070079,2015070079
+2015070080,2015070080
+2015070081,2015070081
+2015070082,2015070082
+2015070083,2015070083
+2015070084,2015070084
+2015070085,2015070085
+2015070087,2015070087
+2015070088,2015070088
+2015070089,2015070089
+2015070090,2015070090
+2015070091,2015070091
+2015070092,2015070092
+2015070093,2015070093
+2015070094,2015070094
+2015070095,2015070095
+2015070096,2015070096
+2015070097,2015070097
+2015070098,2015070098
+2015070099,2015070099
+2015070100,2015070100
+2015070101,2015070101
+2015070102,2015070102
+2015070103,2015070103
+2015070104,2015070104
+2015070105,2015070105
+2015070106,2015070106
+2015070107,2015070107
+2015070108,2015070108
+2015070109,2015070109
+2015070110,2015070110
+2015070111,2015070111
+2015070112,2015070112
+2015070113,2015070113
+2015070114,2015070114
+2015070115,2015070115
+2015070116,2015070116
+2015070117,2015070117
+2015070118,2015070118
+2015070119,2015070119
+2016010001,2016010001
+2016010002,2016010002
+2016010003,2016010003
+2016010005,2016010005
+2016010006,046040260
+2016010007,2016010007
+2016010008,2016010008
+2016010010,2015060149
+2016010012,042091
+2016010013,2016010013
+2016010014,040665
+2016010015,2007200218
+2016010016,040048
+2016010017,2016010017
+2016010018,2016010018
+2016010020,2016010020
+2016010021,2016010021
+2016010022,060153
+2016010023,040525
+2016010024,2016010024
+2016010025,2016010025
+2016010026,050251
+2016010027,053255
+2016010028,2016010028
+2016010029,040142
+2016010030,2007201405
+2016010031,2016010031
+2016010032,2016010032
+2016010033,2016010033
+2016010034,2016010034
+2016010035,040115
+2016010036,2016010036
+2016010037,2016010037
+2016010038,2016010038
+2016010040,2016010040
+2016010041,2016010041
+2016010042,2016010042
+2016010043,2016010043
+2016010044,2016010044
+2016010045,2016010045
+2016010046,2008300933
+2016010047,2008302205
+2016010048,2008303459
+2016010049,2007302196
+2016010050,2007302653
+2016010051,2009302804
+2016010052,2008302833
+2016010053,2009300747
+2016010054,2009301924
+2016010055,2009301037
+2016010056,2009300363
+2016010057,2009301538
+2016010058,2009302538
+2016010059,2016010059
+2016010060,2009303310
+2016010061,2009301764
+2016010062,2009302507
+2016010063,2009301780
+2016010064,046096557
+2016010066,2016010066
+2016010067,2009303061
+2016010068,2009303196
+2016010069,2009302997
+2016010070,2015060157
+2016010071,2016010071
+2016010072,2013200409
+2016010073,2013260712
+2016010074,2016010074
+2016010076,2016010076
+2016010078,2008301828
+2016010079,2016010079
+2016010080,2016010080
+2016010082,2016010082
+2016010083,2010303158
+2016010084,2016010084
+2016010085,2016010085
+2016010086,2016010086
+2016010087,2016010087
+2016010088,2007201316
+2016010089,2009201073
+2016010091,2016010091
+2016010092,2016010092
+2016010093,2016010093
+2016010094,2016010094
+2016010097,2016010097
+2016010098,2016010098
+2016010099,2016010099
+2016010100,2016010100
+2016010101,2016010101
+2016010102,2016010102
+2016010103,2016010103
+2016010105,2016010105
+2016010106,2016010106
+2016010107,2016010107
+2016010108,053550
+2016010110,2016010110
+2016010111,2016010111
+2016010112,2016010112
+2016010113,2016010113
+2016010114,2016010114
+2016010115,2016010115
+2016010116,2009202123
+2016010117,2009301154
+2016010118,2016010118
+2016010119,2016010119
+2016010120,2016010120
+2016010121,2016010121
+2016010122,2015060032
+2016010123,2016010123
+2016010124,2016010124
+2016010125,2016010125
+2016010126,2016010126
+2016010127,2016010127
+2016010128,2016010128
+2016010129,2016010129
+2016010130,2016010130
+2016010131,2016010131
+2016010133,2016010133
+2016010134,2016010134
+2016010135,2016010135
+2016010136,2016010136
+2016010137,2016010137
+2016010138,2016010138
+2016010139,2016010139
+2016010140,2016010140
+2016010141,2016010141
+2016010142,2016010142
+2016010143,2016010143
+2016010144,060016
+2016010145,060006
+2016010146,05614G002
+2016010147,2016010147
+2016010148,2016010148
+2016010149,2016010149
+2016010150,2016010150
+2016010151,2016010151
+2016010152,2016010152
+2016010153,2016010153
+2016010155,2016010155
+2016010157,2016010157
+2016010158,2016010158
+2016010159,2010201755
+2016010160,2009303278
+2016010161,2008303249
+2016010163,2016010163
+2016010164,040823
+2016010168,2016010168
+2016010169,2016010169
+2016010170,2016010170
+2016010171,20140P0280
+2016010172,2016010172
+2016010173,2016010173
+2016010174,2016010174
+2016010176,2016010176
+2016010177,2016010177
+2016010179,2007200104
+2016010180,2016010180
+2016010181,2007200555
+2016010182,2016010182
+2016010183,2016010183
+2016010184,2016010184
+2016010185,2016010185
+2016010186,066187049
+2016010187,051389
+2016010189,2016010189
+2016010190,2016010190
+2016010191,2016010191
+2016010192,2016010192
+2016010193,2016010193
+2016010194,2016010194
+2016010196,056056330
+2016010197,2016010197
+2016010198,040672
+2016010199,2016010199
+2016010200,2016010200
+2016010201,2007100026
+2016010202,2016010202
+2016010203,060677
+2016010204,2016010204
+2016010205,2016010205
+2016010206,2016010206
+2016010208,2016010208
+2016010210,2016010210
+2016010211,2016010211
+2016010213,2016010213
+2016010215,2007300853
+2016010217,2016010217
+2016010218,2016010218
+2016010219,053809
+2016010220,040105
+2016010221,2007200579
+2016010222,2007301138
+2016010223,2016010223
+2016010224,2016010224
+2016010225,062939
+2016010226,2009201378
+2016010227,2016010227
+2016010228,062240
+2016010229,2016010229
+2016010230,2016010230
+2016010231,2016010231
+2016010232,2016010232
+2016010233,2016010233
+2016010234,2016010234
+2016010235,2007302233
+2016010236,2016010236
+2016010238,2016010238
+2016010239,2015070054
+2016010240,2016010240
+2016030004,2016030004
+2016030009,2016030009
+2016030077,2016030077
+2016030095,046100669
+2016030096,2016030096
+2016030154,2016030154
+2016030166,2016030166
+2016030167,2016030167
+2016030175,2016030175
+2016030188,2016030188
+2016030207,2016030207
+2016030209,2008200350
+2016030214,060928
+2016060011,2016060011
+2016060019,2016060019
+2016060075,2016060075
+2016060081,2016060081
+2016060109,2016060109
+2016060132,2016060132
+2016060156,2016060156
+2016060162,2016060162
+2016060165,2016060165
+2016060178,2016060178
+2016060195,2016060195
+2016060212,2016060212
+2016060216,2016060216
+2016060237,2016060237
+2016060241,2016060241
+2016070001,2016070001
+2016070002,2016070002
+2016070003,2016070003
+2016070004,2016070004
+2016070005,2016070005
+2016070006,2016070006
+2016070007,2016070007
+2016070008,2016070008
+2016070009,2016070009
+2016070010,2013200617
+2016070011,2016070011
+2016070012,2016070012
+2016070013,2016070013
+2016070014,2011303158
+2016070015,2016070015
+2016070016,2016070016
+2016070017,2016070017
+2016070018,2016070018
+2016070019,2016070019
+2016070020,2016070020
+2016070021,2016070021
+2016070022,2012100407
+2016070023,2016070023
+2016070024,2016070024
+2016070025,2016070025
+2016070026,2016070026
+2016070027,2016070027
+2016070028,2016070028
+2016070030,2016070030
+2016070031,2016070031
+2016070032,2016070032
+2016070033,2016070033
+2016070035,2016070035
+2016070036,2016070036
+2016070037,2016070037
+2016070038,2016070038
+2016070039,2016070039
+2016070040,2016070040
+2016070041,2016070041
+2016070042,2009303222
+2016070043,2016070043
+2016070044,2016070044
+2016070045,2016070045
+2016070046,2016070046
+2016070047,2016070047
+2016070048,2016070048
+2016070049,2016070049
+2016070050,2016070050
+2016070051,2016070051
+2016070052,2016070052
+2016070053,2011303086
+2016070054,2016070054
+2016070055,2016070055
+2016070056,2016070056
+2016070057,2016070057
+2016070058,2016070058
+2016070059,2016070059
+2016070060,2016070060
+2016070061,2016070061
+2016070062,2016070062
+2016070063,2016070063
+2016070064,2016070064
+2016070065,2016070065
+2016070066,2016070066
+2016070067,2016070067
+2016070069,2016070069
+2016070070,2016070070
+2016070071,2016070071
+2016070072,2016070072
+2016070073,2016070073
+2016070075,2016070075
+2016070076,2016070076
+2016070077,2016070077
+2016070078,2016070078
+2016070079,2016070079
+2016070080,2016070080
+2016070081,2016070081
+2016070082,2016070082
+2016070083,2016070083
+2016070084,2016070084
+2016070085,2016070085
+2016070086,2016070086
+2016070087,2016070087
+2016070088,2016070088
+2016070089,2008302978
+2016070090,2016070090
+2016070091,2016070091
+2016070092,2013262218
+2016070093,2016070093
+2016070094,2016070094
+2016070095,2016070095
+2016070096,2016070096
+2016070098,2016070098
+2016070099,2016070099
+2016070100,2016070100
+2016070102,2016070102
+2016070103,2016070103
+2016070104,2016070104
+2016070105,2016070105
+2016070106,2016070106
+2016070107,2016070107
+2016070108,2012301039
+2016070109,2012302153
+2016070110,2016070110
+2016070112,2016070112
+2016070113,2016070113
+2016070114,2016070114
+2016070115,2016070115
+2016070116,2012303255
+2016070117,2016070117
+2016070118,2016070118
+2016070119,2016070119
+2016070120,2016070120
+2016070121,2016070121
+2016070122,2016070122
+2016070123,2016070123
+2016070124,2016070124
+2016070125,2016070125
+2016070126,2010300940
+2016070128,2016070128
+2016070129,2016070129
+2016070130,2016070130
+2016070131,2016070131
+2016070132,2016070132
+2016070135,2016070135
+2016070136,2016070136
+2016070138,2016070138
+2016070139,2016070139
+2016070140,2016070140
+2016070141,2016070141
+2016070143,2016070143
+2016070144,2016070144
+2016070145,2012201964
+2016070146,2016070146
+2016070148,2016070148
+2016070149,2016070149
+2016070150,2016070150
+2016070151,2012070088
+2016070152,2016070152
+2016070153,2016070153
+2016070154,2016070154
+2016070155,2016070155
+2016070156,2016070156
+2016070157,2016070157
+2016070158,2016070158
+2016070159,2016070159
+2016070160,2016070160
+2016070161,2016070161
+2016070162,2016070162
+2016070163,2016070163
+2016070164,2016070164
+2016070165,2016070165
+2016070166,2016070166
+2016070167,2016070167
+2016070168,2016070168
+2016070169,2016070169
+2016070170,2016070170
+2016070171,2016070171
+2016070172,2016070172
+2016070173,2016070173
+2016070174,2016070174
+2016070175,2016070175
+2016070176,2016070176
+2016070177,2016070177
+2016070178,2016070178
+2016070179,2016070179
+2016070180,2016070180
+2016070181,2016070181
+2016070182,2016070182
+2016070183,2016070183
+2016070184,2016070184
+2016070185,2016070185
+2016070186,2016070186
+2016070187,2013202437
+2016070188,2016070188
+2016070189,2016070189
+2016070190,2016070190
+2016070191,2016070191
+2016070192,2016070192
+2016070193,2016070193
+2016070194,2016070194
+2016070198,2016070198
+20170000001,20170000001
+2017010001,2014200410
+2017010002,2007200377
+2017010003,2017010003
+2017010004,2017010004
+2017010005,2017010005
+2017010007,2017010007
+2017010009,2017010009
+2017010010,2017010010
+2017010011,2017010011
+2017010012,2017010012
+2017010013,2017010013
+2017010014,2007300650
+2017010015,050428
+2017010016,2008201578
+2017010017,066020116
+2017010018,2007201794
+2017010019,2017010019
+2017010020,2017010020
+2017010021,2017010021
+2017010022,2015070090
+2017010023,2010202149
+2017010024,2017010024
+2017010025,2017010025
+2017010026,2017010026
+2017010027,2017010027
+2017010028,2014070067
+2017010029,2015070089
+2017010030,2017010030
+2017010032,20140P0349
+2017010034,20140P0436
+2017010035,2017010035
+2017010036,042328
+2017010037,2017010037
+2017010038,2017010038
+2017010039,2012201434
+2017010040,061878
+2017010041,2007200623
+2017010042,2017010042
+2017010043,2007302650
+2017010044,2017010044
+2017010045,2017010045
+2017010046,2017010046
+2017010047,2017010047
+2017010048,2017010048
+2017010049,2017010049
+2017010051,2017010051
+2017010052,2016010021
+2017010053,2017010053
+2017010054,2017010054
+2017010055,2017010055
+2017010056,2017010056
+2017010057,2008200112
+2017010058,2017010058
+2017010059,041000
+2017010061,2017010061
+2017010062,2017010062
+2017010063,2017010063
+2017010065,2017010065
+2017010066,2017010066
+2017010067,051748
+2017010069,2017010069
+2017010070,040554
+2017010071,2017010071
+2017010072,2017010072
+2017010073,2008303225
+2017010074,060845
+2017010075,2008301422
+2017010076,2012100407
+2017010077,2008300642
+2017010078,2011300880
+2017010079,2010300564
+2017010080,2010301451
+2017010081,2010303108
+2017010082,2010303376
+2017010083,066016014
+2017010084,2010303534
+2017010085,2009300771
+2017010086,2010302082
+2017010087,2010301569
+2017010088,2008301886
+2017010089,2007302741
+2017010090,2014200989
+2017010091,2010301861
+2017010092,2010300943
+2017010093,2017010093
+2017010094,2010300976
+2017010095,2017010095
+2017010096,2017010096
+2017010097,2017010097
+2017010098,2017010098
+2017010099,2017010099
+2017010100,2017010100
+2017010101,2017010101
+2017010102,2017010102
+2017010105,2017010105
+2017010106,060792
+2017010109,2017010109
+2017010110,2017010110
+2017010111,2017010111
+2017010112,2017010112
+2017010113,2011303089
+2017010114,2010200213
+2017010115,2016060019
+2017010117,056020090
+2017010118,2017010118
+2017010119,2017010119
+2017010120,2015060076
+2017010121,2017010121
+2017010122,2014201789
+2017010123,2017010123
+2017010124,2010100488
+2017010125,2017010125
+2017010128,2007201576
+2017010129,2007300023
+2017010130,2017010130
+2017010131,2017010131
+2017010132,2017010132
+2017010133,2017010133
+2017010134,2017010134
+2017010135,2017010135
+2017010136,2017010136
+2017010137,2017010137
+2017010138,2012302271
+2017010139,2017010139
+2017010140,2009200556
+2017010141,067080464
+2017010142,2017010142
+2017010143,2007200349
+2017010144,2017010144
+2017010145,2017010145
+2017010146,2017010146
+2017010147,2017010147
+2017010148,2017010148
+2017010149,2013100108
+2017010150,2017010150
+2017010155,2017010155
+2017010156,2007100327
+2017010158,2017010158
+2017010159,2017010159
+2017010160,2017010160
+2017010161,2007200389
+2017010162,2017010162
+2017010165,042081
+2017010166,2017010166
+2017010167,2017010167
+2017010168,2017010168
+2017010169,2017010169
+2017010170,2017010170
+2017010171,2017010171
+2017010172,2007302098
+2017010173,2012100250
+2017010174,2007300063
+2017010175,2017010175
+2017010176,046110746
+2017010177,060068
+2017010178,2017010178
+2017010179,2017010179
+2017010180,2017010180
+2017010181,2010201779
+2017010182,040028
+2017010183,2017010183
+2017010184,2017010184
+2017010185,2017010185
+2017010186,2017010186
+2017010187,2017010187
+2017010188,2007201385
+2017010189,2017010189
+2017010190,2017010190
+2017010191,2017010191
+2017010192,2017010192
+2017010193,062573
+2017010194,2017010194
+2017010195,2017010195
+2017010196,2017010196
+2017010197,2017010197
+2017010198,2017010198
+2017010199,2017010199
+2017010200,2017010200
+2017010201,2017010201
+2017010202,2017010202
+2017010204,2017010204
+2017010205,2017010205
+2017010206,2017010206
+2017010207,056080460
+2017010208,056020076
+2017010209,2017010209
+2017010210,040173
+2017010211,2017010211
+2017010212,2017010212
+2017010213,2017010213
+2017010215,040387
+2017010216,2017010216
+2017010217,2017010217
+2017010218,2017010218
+2017010219,2017010219
+2017010220,2017010220
+2017010221,2017010221
+2017010222,2017010222
+2017010223,2017010223
+2017010224,2012100623
+2017010225,2017010225
+2017010226,2017010226
+2017010227,2017010227
+2017010228,2017010228
+2017010229,2016060241
+2017010233,2017010233
+2017010236,2007301994
+2017010238,2017010238
+2017010239,2017010239
+2017010242,046054043
+2017010243,2017010243
+2017010244,2017010244
+2017010245,2017010245
+2017010246,2017010246
+2017010247,2017010247
+2017010248,053533
+2017010249,2015060183
+2017010250,2017010250
+2017010251,2017010251
+2017010252,2017010252
+2017010253,2017010253
+2017010254,2008100354
+2017010255,2017010255
+2017010256,2017010256
+2017010257,2017010257
+2017010258,2017010258
+2017010259,2017010259
+2017010260,053531
+2017010261,2017010261
+2017010262,2017010262
+2017010263,060607
+2017010264,2008302106
+2017010265,060034
+2017010267,2017010267
+2017010268,2010100538
+2017010269,2017010269
+2017010272,063010
+2017010273,2011200691
+2017010274,2007300614
+2017010275,060139
+2017010276,067024272
+2017010277,2017010277
+2017010278,2017010278
+2017010279,2017010279
+2017010280,2017010280
+2017030006,052086
+2017030008,2012100384
+2017030019,061082
+2017030033,042078
+2017030050,2017030050
+2017030060,2007300055
+2017030064,2017030064
+2017030068,061195
+2017030103,2017030103
+2017030104,2017030104
+2017030107,2008201110
+2017030108,2017030108
+2017030126,2017030126
+2017030127,2007200774
+2017030151,2017030151
+2017030152,2017030152
+2017030153,052990
+2017030154,2017030154
+2017030157,2017030157
+2017030163,2012100086
+2017030164,2017030164
+2017030203,2017030203
+2017030214,2017030214
+2017030230,050399
+2017030231,2017030231
+2017030232,2017030232
+2017030234,2017030234
+2017030235,20160P0093
+2017030237,051654
+2017030240,2017030240
+2017030241,2017030241
+2017030266,2017030266
+2017030270,2008300942
+2017030271,2017030271
+2017060001,2017060001
+2017060002,2017060002
+2017060003,2017060003
+2017060004,2017060004
+2017060005,2017060005
+2017060006,2017060006
+2017060007,2017060007
+2017060008,2017060008
+2017060009,2017060009
+2017060010,2017060010
+2017060011,2017060011
+2017060012,2017060012
+2017060013,2017060013
+2017060014,2017060014
+2017060015,2017060015
+2017060016,2017060016
+2017060017,2017060017
+2017060018,2017060018
+2017060019,2017060019
+2017060020,2017060020
+2017060021,2017060021
+2017060022,2017060022
+2017060023,2017060023
+2017060024,2017060024
+2017060025,2017060025
+2017060026,2017060026
+2017060027,2017060027
+2017060028,2017060028
+2017060029,2017060029
+2017060030,2017060030
+2017060031,2017060031
+2017060032,2017060032
+2017060033,2017060033
+2017060034,2017060034
+2017060035,2017060035
+2017060036,2017060036
+2017060037,2017060037
+2017060038,2017060038
+2017060039,2017060039
+2017060040,2017060040
+2017060041,2017060041
+2017060042,2017060042
+2017060043,2017060043
+2017060044,2017060044
+2017060045,2017060045
+2017060046,2017060046
+2017060047,2017060047
+2017060048,2017060048
+2017060049,2017060049
+2017060050,2017060050
+2017060051,2017060051
+2017060052,2017060052
+2017060053,2017060053
+2017070001,2017070001
+2017070002,2017070002
+2017070003,2017070003
+2017070006,2017070006
+2017070007,2017070007
+2017070008,2017070008
+2017070009,2017070009
+2017070010,2017070010
+2017070011,2017070011
+2017070012,2017070012
+2017070013,2017070013
+2017070014,2017070014
+2017070015,2017070015
+2017070016,2017070016
+2017070017,2017070017
+2017070018,2017070018
+2017070019,2017070019
+2017070020,2017070020
+2017070021,2017070021
+2017070022,2017070022
+2017070023,2017070023
+2017070024,2017070024
+2017070025,2017070025
+2017070026,2017070026
+2017070027,2017070027
+2017070028,2017070028
+2017070029,2017070029
+2017070030,2017070030
+2017070031,2017070031
+2017070032,2017070032
+2017070033,2017070033
+2017070034,2017070034
+2017070035,2014262670
+2017070036,2017070036
+2017070037,2017070037
+2017070038,2017070038
+2017070039,2017070039
+2017070040,2017070040
+2017070041,2017070041
+2017070042,2017070042
+2017070043,2014201979
+2017070044,2017070044
+2017070045,2017070045
+2017070046,2017070046
+2017070047,2017070047
+2017070048,2017070048
+2017070049,2017070049
+2017070050,2017070050
+2017070051,2017070051
+2017070052,2017070052
+2017070053,2017070053
+2017070054,2017070054
+2017070055,2017070055
+2017070056,2017070056
+2017070057,2017070057
+2017070058,2017070058
+2017070059,2017070059
+2017070060,2017070060
+2017070061,2017070061
+2017070062,2017070062
+2017070063,2017070063
+2017070064,2017070064
+2017070065,20140P0284
+2017070066,2017070066
+2017070067,2017070067
+2017070068,2014202478
+2017070069,2017070069
+2017070070,2017070070
+2017070071,2017070071
+2017070072,2017070072
+2017070073,2017070073
+2017070074,2017070074
+2017070075,2017070075
+2017070076,2017070076
+2017070077,2017070077
+2017070078,2007302804
+2017070079,2017070079
+2017070080,2017070080
+2017070081,2017070081
+2017070082,2017070082
+2017070083,2017070083
+2017070084,2014202477
+2017070085,2017070085
+2017070086,2017070086
+2017070087,2017070087
+2017070088,2017070088
+2017070089,2017070089
+2017070090,2016070124
+2017070091,2017070091
+2017070092,2017070092
+2017070093,2017070093
+2017070094,2017070094
+2017070095,2017070095
+2017070096,2017070096
+2017070097,2017070097
+2017070098,2017070098
+2017070099,2017070099
+2017070100,2017070100
+2017070101,20160P0099
+2017070102,2015070079
+2017070103,20140P0032
+2017070104,063036
+2017070105,2013303501
+2017070106,2017070106
+2017070107,2014202457
+2017070108,2017070108
+2017070109,2017070109
+2017070110,2017070110
+2017070111,2017070111
+2017070112,2016070070
+2017070113,2017070113
+2017070114,2015070118
+2017070115,2017070115
+2017070116,2017070116
+2017070117,2017070117
+2017070118,2017070118
+2017070119,2017070119
+2017070120,2017070120
diff --git a/testing/jmeter/accounts_nwpu.csv b/testing/jmeter/accounts_nwpu.csv
new file mode 100644
index 0000000..8c603ed
--- /dev/null
+++ b/testing/jmeter/accounts_nwpu.csv
@@ -0,0 +1,6299 @@
+﻿01010,01010
+01014,01014
+01020,01020
+01021,01021
+01030,01030
+01040,01040
+01060,01060
+01070,01070
+01080,01080
+01090,01090
+01100,01100
+01110,01110
+02010,02010
+02020,02020
+02030,02030
+02040,02040
+02060,02060
+02070,02070
+02080,02080
+02090,02090
+02100,02100
+02110,02110
+02120,02120
+02121,02121
+02160,02160
+02170,02170
+02180,02180
+02190,02190
+02200,02200
+02210,02210
+02220,02220
+02281,02281
+03010,03010
+03040,03040
+04011,04011
+04012,04012
+04013,04013
+04040,04040
+05010,05010
+05020,05020
+05030,05030
+05040,05040
+05070,05070
+06010,06010
+06020,06020
+06030,06030
+06040,06040
+06050,06050
+06060,06060
+06070,06070
+06080,06080
+06090,06090
+06100,06100
+06110,06110
+06120,06120
+06130,06130
+06140,06140
+06160,06160
+06170,06170
+06180,06180
+06391,06391
+06401,06401
+06410,06410
+06420,06420
+06430,06430
+07190,07190
+07191,07191
+08010,08010
+1949000001,1949000001
+1957000001,1957000001
+1969000001,1969000001
+1971000074,1971000074
+1972000004,1972000004
+1972000025,1972000025
+1972000027,1972000027
+1972000035,1972000035
+1972000049,1972000049
+1973000051,1973000051
+1974000010,1974000010
+1975000007,1975000007
+1975000015,1975000015
+1976000054,1976000054
+1977000008,1977000008
+1977000010,1977000010
+1977000032,1977000032
+1977000038,1977000038
+1977000047,1977000047
+1977000058,1977000058
+1977000060,1977000060
+1977000062,1977000062
+1978000003,1978000003
+1978000009,1978000009
+1978000010,1978000010
+1978000013,1978000013
+1978000038,1978000038
+1978000050,1978000050
+1978000052,1978000052
+1978000058,1978000058
+1979000027,1979000027
+1979000029,1979000029
+1979000044,1979000044
+1979000046,1979000046
+1979000052,1979000052
+1979000056,1979000056
+1979000057,1979000057
+1979000058,1979000058
+1979000064,1979000064
+1979000065,1979000065
+1979000068,1979000068
+1979000070,1979000070
+1979000075,1979000075
+1979000076,1979000076
+1979000082,1979000082
+1979000083,1979000083
+1979000084,1979000084
+1980000004,1980000004
+1980000020,1980000020
+1980000023,1980000023
+1980000036,1980000036
+1980000038,1980000038
+1980000039,1980000039
+1980000040,1980000040
+1980000042,1980000042
+1980000046,1980000046
+1980000047,1980000047
+1980000048,1980000048
+1981000001,1981000001
+1981000007,1981000007
+1981000009,1981000009
+1981000014,1981000014
+1981000015,1981000015
+1981000016,1981000016
+1981000018,1981000018
+1981000020,1981000020
+1981000021,1981000021
+1981000022,1981000022
+1981000023,1981000023
+1981000027,1981000027
+1981000028,1981000028
+1981000031,1981000031
+1981000035,1981000035
+1981000036,1981000036
+1981000037,1981000037
+1981000038,1981000038
+1981000039,1981000039
+1981000041,1981000041
+1981000048,1981000048
+1981000049,1981000049
+1981000051,1981000051
+1981000052,1981000052
+1981000057,1981000057
+1981000059,1981000059
+1981000063,1981000063
+1981000065,1981000065
+1981000067,1981000067
+1981000068,1981000068
+1981000072,1981000072
+1981000078,1981000078
+1981000081,1981000081
+1981000087,1981000087
+1981000088,1981000088
+1981000089,1981000089
+1981000090,1981000090
+1981000095,1981000095
+1981000099,1981000099
+1981000100,1981000100
+1981000101,1981000101
+1981000102,1981000102
+1981000103,1981000103
+1981000105,1981000105
+1981000106,1981000106
+1981000107,1981000107
+1981000109,1981000109
+1981000110,1981000110
+1981000114,1981000114
+1981000115,1981000115
+1981000116,1981000116
+1981000117,1981000117
+1981000119,1981000119
+1981000121,1981000121
+1981000124,1981000124
+1981000125,1981000125
+1981000128,1981000128
+1981000131,1981000131
+1981000133,1981000133
+1981000136,1981000136
+1981000140,1981000140
+1981000147,1981000147
+1981000148,1981000148
+1981000151,1981000151
+1981000152,1981000152
+1981000153,1981000153
+1981000155,1981000155
+1981000158,1981000158
+1981000159,1981000159
+1981000178,1981000178
+1981000187,1981000187
+1981000190,1981000190
+1981000194,1981000194
+1981000204,1981000204
+1981000209,1981000209
+1981000215,1981000215
+1981000216,1981000216
+1981000217,1981000217
+1981000220,1981000220
+1981000222,1981000222
+1981000228,1981000228
+1982000005,1982000005
+1982000008,1982000008
+1982000010,1982000010
+1982000013,1982000013
+1982000014,1982000014
+1982000021,1982000021
+1982000025,1982000025
+1982000028,1982000028
+1982000029,1982000029
+1982000031,1982000031
+1982000037,1982000037
+1982000038,1982000038
+1982000039,1982000039
+1982000040,1982000040
+1982000041,1982000041
+1982000044,1982000044
+1982000045,1982000045
+1982000046,1982000046
+1982000050,1982000050
+1982000052,1982000052
+1982000053,1982000053
+1982000055,1982000055
+1982000057,1982000057
+1982000058,1982000058
+1982000059,1982000059
+1982000060,1982000060
+1982000063,1982000063
+1982000065,1982000065
+1982000066,1982000066
+1982000067,1982000067
+1982000068,1982000068
+1982000069,1982000069
+1982000070,1982000070
+1982000072,1982000072
+1982000073,1982000073
+1982000075,1982000075
+1982000078,1982000078
+1982000080,1982000080
+1982000081,1982000081
+1982000083,1982000083
+1982000085,1982000085
+1982000087,1982000087
+1982000088,1982000088
+1983000001,1983000001
+1983000003,1983000003
+1983000008,1983000008
+1983000009,1983000009
+1983000011,1983000011
+1983000012,1983000012
+1983000014,1983000014
+1983000015,1983000015
+1983000016,1983000016
+1983000017,1983000017
+1983000018,1983000018
+1983000019,1983000019
+1983000021,1983000021
+1983000022,1983000022
+1983000023,1983000023
+1983000024,1983000024
+1983000026,1983000026
+1983000028,1983000028
+1983000030,1983000030
+1983000031,1983000031
+1983000032,1983000032
+1983000033,1983000033
+1983000035,1983000035
+1983000039,1983000039
+1983000040,1983000040
+1983000041,1983000041
+1983000043,1983000043
+1983000048,1983000048
+1983000051,1983000051
+1983000052,1983000052
+1983000053,1983000053
+1983000059,1983000059
+1983000060,1983000060
+1983000065,1983000065
+1983000066,1983000066
+1983000067,1983000067
+1983000068,1983000068
+1983000069,1983000069
+1983000070,1983000070
+1984000007,1984000007
+1984000009,1984000009
+1984000011,1984000011
+1984000012,1984000012
+1984000015,1984000015
+1984000017,1984000017
+1984000018,1984000018
+1984000019,1984000019
+1984000020,1984000020
+1984000021,1984000021
+1984000022,1984000022
+1984000023,1984000023
+1984000025,1984000025
+1984000026,1984000026
+1984000029,1984000029
+1984000030,1984000030
+1984000032,1984000032
+1984000038,1984000038
+1984000039,1984000039
+1984000040,1984000040
+1984000041,1984000041
+1984000042,1984000042
+1984000043,1984000043
+1984000044,1984000044
+1984000046,1984000046
+1984000047,1984000047
+1984000049,1984000049
+1984000050,1984000050
+1984000051,1984000051
+1984000052,1984000052
+1984000053,1984000053
+1984000054,047094202
+1984000055,1984000055
+1984000056,1984000056
+1984000057,1984000057
+1984000059,1984000059
+1984000060,1984000060
+1984000061,1984000061
+1984000062,1984000062
+1984000063,1984000063
+1984000065,1984000065
+1984000067,1984000067
+1984000076,1984000076
+1984000078,1984000078
+1984000079,1984000079
+1984000080,1984000080
+1984000082,1984000082
+1984000083,1984000083
+1984000084,1984000084
+1984000085,1984000085
+1984000089,1984000089
+1984000091,1984000091
+1984000092,1984000092
+1984000093,1984000093
+1984000097,1984000097
+1984000100,1984000100
+1984000101,1984000101
+1984000104,1984000104
+1984000105,1984000105
+1984000106,1984000106
+1984010001,1984010001
+1984010002,1984010002
+1984010003,1984010003
+1984010004,1984010004
+1984010008,1984010008
+1984010013,1984010013
+1984010069,1984010069
+1984010070,1984010070
+1984010075,1984010075
+1984010102,1984010102
+1984010108,1984010108
+1985000001,1985000001
+1985000005,1985000005
+1985000007,1985000007
+1985000008,1985000008
+1985000010,1985000010
+1985000012,1985000012
+1985000013,1985000013
+1985000015,1985000015
+1985000016,1985000016
+1985000017,1985000017
+1985000018,1985000018
+1985000019,1985000019
+1985000021,1985000021
+1985000022,1985000022
+1985000023,1985000023
+1985000024,1985000024
+1985000026,1985000026
+1985000029,1985000029
+1985000030,1985000030
+1985000032,1985000032
+1985000033,1985000033
+1985000034,1985000034
+1985000035,1985000035
+1985000036,1985000036
+1985000037,1985000037
+1985000038,1985000038
+1985000039,1985000039
+1985000040,1985000040
+1985000041,1985000041
+1985000042,1985000042
+1985000043,1985000043
+1985000044,1985000044
+1985000045,1985000045
+1985000046,1985000046
+1985000047,1985000047
+1985000048,1985000048
+1985000049,1985000049
+1985000050,1985000050
+1985000051,1985000051
+1985000052,1985000052
+1985000053,1985000053
+1985000054,1985000054
+1985000055,1985000055
+1985000056,1985000056
+1985000057,1985000057
+1985000058,1985000058
+1985000059,1985000059
+1985000060,1985000060
+1985000061,1985000061
+1985000062,1985000062
+1985000063,1985000063
+1985000064,057124104
+1985000065,1985000065
+1985000067,1985000067
+1985000068,1985000068
+1985000071,1985000071
+1985000072,1985000072
+1985000073,1985000073
+1985000075,1985000075
+1985000081,1985000081
+1985000082,1985000082
+1985000084,1985000084
+1985000088,1985000088
+1985000093,1985000093
+1985000096,1985000096
+1985000097,1985000097
+1985000098,1985000098
+1985010014,1985010014
+1985010066,1985010066
+1985010083,1985010083
+1985010090,1985010090
+1985010092,1985010092
+1985010094,1985010094
+1985010099,1985010099
+1986000001,1986000001
+1986000004,1986000004
+1986000005,1986000005
+1986000007,1986000007
+1986000010,1986000010
+1986000012,1986000012
+1986000019,1986000019
+1986000020,1986000020
+1986000021,1986000021
+1986000022,1986000022
+1986000023,1986000023
+1986000025,1986000025
+1986000026,1986000026
+1986000028,1986000028
+1986000029,1986000029
+1986000030,1986000030
+1986000031,1986000031
+1986000032,1986000032
+1986000033,1986000033
+1986000034,1986000034
+1986000035,1986000035
+1986000036,1986000036
+1986000037,1986000037
+1986000038,1986000038
+1986000039,1986000039
+1986000040,1986000040
+1986000041,1986000041
+1986000042,1986000042
+1986000044,1986000044
+1986000045,1986000045
+1986000046,1986000046
+1986000047,1986000047
+1986000050,1986000050
+1986000051,1986000051
+1986000052,1986000052
+1986000053,1986000053
+1986000054,057054164
+1986000055,1986000055
+1986000056,077054060
+1986000057,1986000057
+1986000058,1986000058
+1986000059,1986000059
+1986000060,1986000060
+1986000061,1986000061
+1986000063,1986000063
+1986000064,1986000064
+1986000065,1986000065
+1986000066,1986000066
+1986000067,1986000067
+1986000069,1986000069
+1986000070,1986000070
+1986000071,1986000071
+1986000072,1986000072
+1986000073,1986000073
+1986000074,1986000074
+1986000075,1986000075
+1986000076,1986000076
+1986000078,1986000078
+1986000079,1986000079
+1986000080,1986000080
+1986000081,1986000081
+1986000082,1986000082
+1986000083,1986000083
+1986000085,1986000085
+1986000086,1986000086
+1986000087,1986000087
+1986000088,1986000088
+1986000089,1986000089
+1986000090,1986000090
+1986000091,1986000091
+1986000092,1986000092
+1986000094,1986000094
+1986000095,1986000095
+1986000096,1986000096
+1986000097,1986000097
+1986000098,1986000098
+1986000102,1986000102
+1986000133,1986000133
+1986000134,057054040
+1986010104,1986010104
+1986010106,1986010106
+1986010109,1986010109
+1986010110,1986010110
+1986010114,1986010114
+1986010115,1986010115
+1986010118,1986010118
+1986010119,1986010119
+1986010121,1986010121
+1986010123,1986010123
+1986010130,1986010130
+1986010135,1986010135
+1987000001,1987000001
+1987000003,1987000003
+1987000004,1987000004
+1987000008,1987000008
+1987000011,1987000011
+1987000013,1987000013
+1987000014,1987000014
+1987000016,1987000016
+1987000017,1987000017
+1987000018,1987000018
+1987000019,1987000019
+1987000020,1987000020
+1987000021,1987000021
+1987000022,1987000022
+1987000023,1987000023
+1987000024,1987000024
+1987000025,1987000025
+1987000026,1987000026
+1987000027,1987000027
+1987000028,1987000028
+1987000030,1987000030
+1987000032,1987000032
+1987000033,1987000033
+1987000034,1987000034
+1987000035,1987000035
+1987000036,1987000036
+1987000037,1987000037
+1987000038,1987000038
+1987000039,1987000039
+1987000040,1987000040
+1987000041,1987000041
+1987000042,047054135
+1987000043,1987000043
+1987000044,1987000044
+1987000045,1987000045
+1987000046,1987000046
+1987000048,1987000048
+1987000049,1987000049
+1987000050,1987000050
+1987000051,1987000051
+1987000052,1987000052
+1987000053,1987000053
+1987000054,1987000054
+1987000055,1987000055
+1987000056,1987000056
+1987000057,1987000057
+1987000058,1987000058
+1987000059,1987000059
+1987000060,1987000060
+1987000061,1987000061
+1987000062,1987000062
+1987000063,1987000063
+1987000064,1987000064
+1987000065,1987000065
+1987000066,1987000066
+1987000067,1987000067
+1987000070,1987000070
+1987000071,1987000071
+1987000072,1987000072
+1987000073,1987000073
+1987000074,1987000074
+1987000075,1987000075
+1987000076,1987000076
+1987000077,1987000077
+1987000078,1987000078
+1987000079,1987000079
+1987000080,1987000080
+1987000083,1987000083
+1987000084,1987000084
+1987000085,1987000085
+1987000087,1987000087
+1987010029,1987010029
+1987010031,1987010031
+1988000004,1988000004
+1988000008,1988000008
+1988000024,1988000024
+1988000026,1988000026
+1988000027,1988000027
+1988000028,1988000028
+1988000029,1988000029
+1988000030,1988000030
+1988000031,1988000031
+1988000032,1988000032
+1988000033,1988000033
+1988000034,1988000034
+1988000035,1988000035
+1988000036,1988000036
+1988000037,1988000037
+1988000038,1988000038
+1988000039,1988000039
+1988000040,1988000040
+1988000041,1988000041
+1988000042,1988000042
+1988000043,1988000043
+1988000044,1988000044
+1988000045,1988000045
+1988000047,1988000047
+1988000048,1988000048
+1988000049,1988000049
+1988000050,1988000050
+1988000051,1988000051
+1988000053,1988000053
+1988000054,1988000054
+1988000058,1988000058
+1988000059,1988000059
+1988000060,1988000060
+1988000061,1988000061
+1988000062,1988000062
+1988000063,1988000063
+1988000064,1988000064
+1988000066,1988000066
+1988000070,1988000070
+1988000071,1988000071
+1988000072,1988000072
+1988000073,1988000073
+1988000074,1988000074
+1988000077,1988000077
+1988000078,1988000078
+1988000079,1988000079
+1988000080,1988000080
+1988000081,1988000081
+1988000082,1988000082
+1988000083,1988000083
+1988000084,1988000084
+1988000085,1988000085
+1988000086,046055033
+1988000087,1988000087
+1988000088,1988000088
+1988000089,1988000089
+1988000090,1988000090
+1988000091,1988000091
+1988000092,1988000092
+1988000093,1988000093
+1988000094,1988000094
+1988000095,1988000095
+1988000096,1988000096
+1988000097,1988000097
+1988000098,1988000098
+1988000099,1988000099
+1988000101,1988000101
+1988000104,1988000104
+1988000106,1988000106
+1988000108,1988000108
+1988000114,1988000114
+1988000115,1988000115
+1988000116,1988000116
+1988000118,1988000118
+1988000119,1988000119
+1988000120,1988000120
+1988000121,1988000121
+1988000123,1988000123
+1988000124,1988000124
+1988000125,1988000125
+1988000126,1988000126
+1988000127,1988000127
+1988000129,1988000129
+1988000130,1988000130
+1988000131,1988000131
+1988000132,1988000132
+1988010001,1988010001
+1988010003,1988010003
+1988010005,1988010005
+1988010010,1988010010
+1988010013,1988010013
+1988010015,1988010015
+1988010128,1988010128
+1989000002,1989000002
+1989000003,1989000003
+1989000004,1989000004
+1989000005,1989000005
+1989000006,1989000006
+1989000008,1989000008
+1989000010,1989000010
+1989000011,1989000011
+1989000012,1989000012
+1989000013,1989000013
+1989000014,1989000014
+1989000015,1989000015
+1989000016,1989000016
+1989000017,1989000017
+1989000018,1989000018
+1989000022,1989000022
+1989000023,1989000023
+1989000025,1989000025
+1989000027,1989000027
+1989000028,1989000028
+1989000029,1989000029
+1989000030,1989000030
+1989000031,1989000031
+1989000032,1989000032
+1989000034,1989000034
+1989000035,1989000035
+1989000036,1989000036
+1989000037,1989000037
+1989000038,1989000038
+1989000039,1989000039
+1989000040,1989000040
+1989000042,1989000042
+1989000043,1989000043
+1989000044,1989000044
+1989000045,1989000045
+1989000046,1989000046
+1989000047,056018008
+1989000048,1989000048
+1989000049,1989000049
+1989000050,1989000050
+1989000051,1989000051
+1989000052,1989000052
+1989000054,1989000054
+1989000055,1989000055
+1989000056,1989000056
+1989000060,1989000060
+1989000061,1989000061
+1989000066,1989000066
+1989000067,1989000067
+1989000074,1989000074
+1989000076,1989000076
+1989000078,1989000078
+1989000082,1989000082
+1989000083,1989000083
+1989000084,1989000084
+1989000085,1989000085
+1989000110,1989000110
+1989000113,1989000113
+1989000114,1989000114
+1989000115,1989000115
+1989000116,1989000116
+1989000117,1989000117
+1989000118,1989000118
+1989000119,1989000119
+1989010063,1989010063
+1989010064,1989010064
+1989010068,1989010068
+1989010069,1989010069
+1989010072,1989010072
+1989010073,1989010073
+1989010079,1989010079
+1989010081,1989010081
+1989010089,1989010089
+1989010093,1989010093
+1989010094,1989010094
+1989010095,1989010095
+1989010096,1989010096
+1989010097,1989010097
+1989010098,1989010098
+1989010100,1989010100
+1989010103,1989010103
+1989010104,1989010104
+1989010105,1989010105
+1989010106,1989010106
+1989010107,1989010107
+1989010108,1989010108
+1989010112,1989010112
+1989010120,1989010120
+1990000003,1990000003
+1990000011,1990000011
+1990000012,1990000012
+1990000013,1990000013
+1990000014,1990000014
+1990000016,1990000016
+1990000017,1990000017
+1990000018,1990000018
+1990000019,1990000019
+1990000020,1990000020
+1990000021,1990000021
+1990000022,1990000022
+1990000023,1990000023
+1990000024,1990000024
+1990000025,1990000025
+1990000026,1990000026
+1990000027,1990000027
+1990000028,1990000028
+1990000029,1990000029
+1990000030,1990000030
+1990000031,1990000031
+1990000032,1990000032
+1990000033,1990000033
+1990000034,1990000034
+1990000035,1990000035
+1990000037,1990000037
+1990000039,1990000039
+1990000040,1990000040
+1990000041,1990000041
+1990000042,1990000042
+1990000043,1990000043
+1990000044,1990000044
+1990000045,1990000045
+1990000046,1990000046
+1990000047,1990000047
+1990000048,1990000048
+1990000051,1990000051
+1990000052,1990000052
+1990000053,1990000053
+1990000054,1990000054
+1990000055,1990000055
+1990000056,1990000056
+1990000057,1990000057
+1990000058,1990000058
+1990000059,1990000059
+1990000060,1990000060
+1990000061,1990000061
+1990000063,1990000063
+1990000064,1990000064
+1990000065,1990000065
+1990000066,1990000066
+1990000067,1990000067
+1990000068,1990000068
+1990000069,1990000069
+1990000070,1990000070
+1990000072,1990000072
+1990000073,1990000073
+1990000075,1990000075
+1990000078,1990000078
+1990000079,1990000079
+1990000080,1990000080
+1990000081,1990000081
+1990000082,1990000082
+1990000083,1990000083
+1990010004,1990010004
+1990010005,1990010005
+1990010006,1990010006
+1990010009,1990010009
+1990010038,1990010038
+1990010049,1990010049
+1991000001,1991000001
+1991000002,1991000002
+1991000003,1991000003
+1991000004,1991000004
+1991000005,1991000005
+1991000006,1991000006
+1991000007,1991000007
+1991000008,1991000008
+1991000009,1991000009
+1991000010,1991000010
+1991000011,1991000011
+1991000012,1991000012
+1991000014,1991000014
+1991000015,1991000015
+1991000016,1991000016
+1991000017,1991000017
+1991000018,1991000018
+1991000019,1991000019
+1991000020,1991000020
+1991000021,1991000021
+1991000022,1991000022
+1991000023,1991000023
+1991000024,1991000024
+1991000025,1991000025
+1991000026,1991000026
+1991000027,1991000027
+1991000028,1991000028
+1991000029,1991000029
+1991000030,1991000030
+1991000031,1991000031
+1991000032,1991000032
+1991000033,1991000033
+1991000034,1991000034
+1991000035,1991000035
+1991000036,1991000036
+1991000037,1991000037
+1991000038,1991000038
+1991000039,1991000039
+1991000040,1991000040
+1991000041,1991000041
+1991000042,047014124
+1991000043,1991000043
+1991000044,1991000044
+1991000046,1991000046
+1991000047,046134125
+1991000048,1991000048
+1991000051,1991000051
+1991000052,1991000052
+1991000053,1991000053
+1991000054,1991000054
+1991000055,1991000055
+1991000057,1991000057
+1991000058,1991000058
+1991000062,1991000062
+1991000064,1991000064
+1991000065,1991000065
+1991000066,1991000066
+1991000068,1991000068
+1991010013,1991010013
+1991010059,1991010059
+1992000020,1992000020
+1992000021,1992000021
+1992000023,1992000023
+1992000024,1992000024
+1992000025,1992000025
+1992000026,1992000026
+1992000027,1992000027
+1992000028,1992000028
+1992000029,1992000029
+1992000030,1992000030
+1992000031,1992000031
+1992000032,1992000032
+1992000033,057054170
+1992000034,1992000034
+1992000035,1992000035
+1992000036,1992000036
+1992000037,1992000037
+1992000038,1992000038
+1992000039,1992000039
+1992000040,1992000040
+1992000041,1992000041
+1992000045,1992000045
+1992000046,1992000046
+1992000047,1992000047
+1992000048,1992000048
+1992000049,1992000049
+1992000050,1992000050
+1992000051,1992000051
+1992000052,1992000052
+1992000053,1992000053
+1992000054,1992000054
+1992000055,1992000055
+1992000056,1992000056
+1992000057,1992000057
+1992000058,1992000058
+1992000059,057104093
+1992000060,1992000060
+1992000061,1992000061
+1992000063,1992000063
+1992000065,1992000065
+1992000066,1992000066
+1992000067,1992000067
+1992000074,1992000074
+1992000075,1992000075
+1992000076,1992000076
+1992000077,067014015
+1992000078,1992000078
+1992000079,1992000079
+1992000080,1992000080
+1992000081,1992000081
+1992000082,1992000082
+1992000083,1992000083
+1992000084,1992000084
+1992000085,1992000085
+1992000086,1992000086
+1992000087,1992000087
+1992000088,1992000088
+1992000089,1992000089
+1992000090,057054112
+1992000091,046075046
+1992000092,047134189
+1992000093,1992000093
+1992000094,1992000094
+1992000095,1992000095
+1992000096,1992000096
+1992000097,1992000097
+1992000098,1992000098
+1992000099,1992000099
+1992000100,1992000100
+1992000101,1992000101
+1992000102,1992000102
+1992000105,1992000105
+1992000106,1992000106
+1992000108,1992000108
+1992000109,1992000109
+1992000114,1992000114
+1992000115,1992000115
+1992000116,1992000116
+1992000117,1992000117
+1992000118,1992000118
+1992000119,1992000119
+1992000120,057094201
+1992000121,1992000121
+1992000122,1992000122
+1992000124,1992000124
+1992000128,1992000128
+1992000129,1992000129
+1992000134,1992000134
+1992000135,1992000135
+1992000138,1992000138
+1992000139,1992000139
+1992000140,1992000140
+1992000143,1992000143
+1992000144,1992000144
+1992000145,1992000145
+1992000146,1992000146
+1992000147,1992000147
+1992000148,1992000148
+1992000150,066105038
+1992000152,1992000152
+1992000153,1992000153
+1992000158,1992000158
+1992000159,1992000159
+1992010001,1992010001
+1992010003,1992010003
+1992010005,1992010005
+1992010006,1992010006
+1992010007,1992010007
+1992010009,1992010009
+1992010010,1992010010
+1992010011,1992010011
+1992010013,1992010013
+1992010014,1992010014
+1992010015,1992010015
+1992010016,1992010016
+1992010017,1992010017
+1992010019,1992010019
+1992010044,1992010044
+1992010069,1992010069
+1992010071,1992010071
+1992010072,1992010072
+1992010110,1992010110
+1992010125,1992010125
+1992010133,1992010133
+1992010136,1992010136
+1992010141,1992010141
+1992010149,06612G331
+1992010151,1992010151
+1992010156,1992010156
+1992010157,1992010157
+1993000003,067054399
+1993000004,1993000004
+1993000005,1993000005
+1993000007,1993000007
+1993000008,1993000008
+1993000009,1993000009
+1993000010,1993000010
+1993000011,1993000011
+1993000012,1993000012
+1993000013,1993000013
+1993000014,1993000014
+1993000015,1993000015
+1993000016,1993000016
+1993000017,1993000017
+1993000018,1993000018
+1993000019,1993000019
+1993000020,1993000020
+1993000022,1993000022
+1993000023,1993000023
+1993000024,1993000024
+1993000025,1993000025
+1993000026,1993000026
+1993000027,1993000027
+1993000028,1993000028
+1993000029,1993000029
+1993000030,1993000030
+1993000031,1993000031
+1993000032,1993000032
+1993000033,1993000033
+1993000035,1993000035
+1993000036,1993000036
+1993000038,1993000038
+1993000039,1993000039
+1993000040,1993000040
+1993000041,1993000041
+1993000042,1993000042
+1993000043,1993000043
+1993000044,1993000044
+1993000045,1993000045
+1993000046,1993000046
+1993000047,1993000047
+1993000048,1993000048
+1993000049,1993000049
+1993000050,1993000050
+1993000051,1993000051
+1993000052,1993000052
+1993000054,1993000054
+1993000055,1993000055
+1993000056,1993000056
+1993000057,1993000057
+1993000058,056025013
+1993000059,1993000059
+1993000060,1993000060
+1993000061,1993000061
+1993000062,1993000062
+1993000063,1993000063
+1993000064,1993000064
+1993000065,1993000065
+1993000066,1993000066
+1993000067,1993000067
+1993000068,1993000068
+1993000069,1993000069
+1993000070,1993000070
+1993000071,1993000071
+1993000072,1993000072
+1993000073,1993000073
+1993000074,1993000074
+1993000075,05614G027
+1993000076,1993000076
+1993000077,067134201
+1993000078,1993000078
+1993000079,1993000079
+1993000080,1993000080
+1993000081,1993000081
+1993000082,1993000082
+1993000083,1993000083
+1993000084,1993000084
+1993000085,1993000085
+1993000086,1993000086
+1993000087,1993000087
+1993000088,1993000088
+1993000089,1993000089
+1993000090,1993000090
+1993000091,1993000091
+1993000093,06612G284
+1993000094,057034027
+1993000095,1993000095
+1993000096,1993000096
+1993000097,1993000097
+1993000100,1993000100
+1993000104,1993000104
+1993000105,1993000105
+1993000109,1993000109
+1993000110,1993000110
+1993000111,1993000111
+1993000113,1993000113
+1993000114,1993000114
+1993000115,1993000115
+1993010001,1993010001
+1993010006,1993010006
+1993010099,1993010099
+1993010108,1993010108
+1994000002,1994000002
+1994000007,1994000007
+1994000008,1994000008
+1994000009,1994000009
+1994000010,1994000010
+1994000011,1994000011
+1994000012,1994000012
+1994000013,1994000013
+1994000014,1994000014
+1994000015,1994000015
+1994000016,1994000016
+1994000017,1994000017
+1994000018,1994000018
+1994000019,1994000019
+1994000020,1994000020
+1994000021,1994000021
+1994000022,1994000022
+1994000023,1994000023
+1994000024,1994000024
+1994000025,1994000025
+1994000027,1994000027
+1994000029,1994000029
+1994000030,1994000030
+1994000031,1994000031
+1994000032,046135092
+1994000033,1994000033
+1994000034,1994000034
+1994000035,1994000035
+1994000036,1994000036
+1994000037,1994000037
+1994000038,1994000038
+1994000039,1994000039
+1994000040,1994000040
+1994000041,1994000041
+1994000042,1994000042
+1994000043,1994000043
+1994000044,1994000044
+1994000045,1994000045
+1994000046,1994000046
+1994000047,1994000047
+1994000048,1994000048
+1994000049,1994000049
+1994000050,1994000050
+1994000051,1994000051
+1994000052,1994000052
+1994000053,1994000053
+1994000054,1994000054
+1994000056,1994000056
+1994000057,1994000057
+1994000058,1994000058
+1994000059,1994000059
+1994000060,1994000060
+1994000061,1994000061
+1994000062,1994000062
+1994000063,1994000063
+1994000064,1994000064
+1994000065,1994000065
+1994000066,1994000066
+1994000067,1994000067
+1994000068,1994000068
+1994000069,1994000069
+1994000070,1994000070
+1994000071,1994000071
+1994000072,1994000072
+1994000073,046095071
+1994000074,1994000074
+1994000075,1994000075
+1994000076,1994000076
+1994000077,1994000077
+1994000078,1994000078
+1994000079,1994000079
+1994000080,1994000080
+1994000081,1994000081
+1994000082,1994000082
+1994000083,1994000083
+1994000084,1994000084
+1994000087,1994000087
+1994000088,1994000088
+1994000089,1994000089
+1994000091,1994000091
+1994000092,1994000092
+1994000094,1994000094
+1994000097,1994000097
+1994000098,1994000098
+1994000103,1994000103
+1994010093,1994010093
+1994010102,1994010102
+1995000001,1995000001
+1995000002,1995000002
+1995000003,1995000003
+1995000004,1995000004
+1995000007,1995000007
+1995000008,1995000008
+1995000011,1995000011
+1995000013,1995000013
+1995000015,1995000015
+1995000016,1995000016
+1995000020,1995000020
+1995000023,1995000023
+1995000024,1995000024
+1995000025,1995000025
+1995000029,1995000029
+1995000030,1995000030
+1995000031,1995000031
+1995000032,1995000032
+1995000033,057094077
+1995000034,1995000034
+1995000035,1995000035
+1995000036,1995000036
+1995000038,1995000038
+1995000039,1995000039
+1995000040,1995000040
+1995000041,1995000041
+1995000042,1995000042
+1995000043,1995000043
+1995000044,1995000044
+1995000045,1995000045
+1995000047,1995000047
+1995000048,1995000048
+1995000049,1995000049
+1995000050,1995000050
+1995000052,1995000052
+1995000054,1995000054
+1995000055,1995000055
+1995000056,1995000056
+1995000057,1995000057
+1995000059,1995000059
+1995000060,1995000060
+1995000061,047074153
+1995000062,1995000062
+1995000063,1995000063
+1995000064,1995000064
+1995000065,1995000065
+1995000066,1995000066
+1995000067,1995000067
+1995000068,1995000068
+1995000069,1995000069
+1995000070,1995000070
+1995000071,1995000071
+1995000072,1995000072
+1995000073,1995000073
+1995000074,056065049
+1995000075,1995000075
+1995000076,1995000076
+1995000077,1995000077
+1995000078,1995000078
+1995000079,1995000079
+1995000081,1995000081
+1995000082,05612G338
+1995000083,1995000083
+1995000084,1995000084
+1995000085,047024090
+1995000086,056134119
+1995000087,1995000087
+1995000088,1995000088
+1995000089,1995000089
+1995000090,1995000090
+1995000091,1995000091
+1995000092,1995000092
+1995000093,1995000093
+1995000094,1995000094
+1995000095,1995000095
+1995000096,1995000096
+1995000097,1995000097
+1995000098,1995000098
+1995000099,1995000099
+1995000100,1995000100
+1995000101,1995000101
+1995000102,1995000102
+1995000103,1995000103
+1995000105,1995000105
+1995000106,1995000106
+1995000107,1995000107
+1995000108,1995000108
+1995000109,1995000109
+1995000110,1995000110
+1995000111,1995000111
+1995000112,1995000112
+1995000113,1995000113
+1995000114,1995000114
+1995000115,1995000115
+1995000116,1995000116
+1995000117,1995000117
+1995000118,1995000118
+1995000119,1995000119
+1995000120,1995000120
+1995000121,1995000121
+1995000122,1995000122
+1995000123,1995000123
+1995000124,1995000124
+1995000125,1995000125
+1995000127,1995000127
+1995000128,1995000128
+1995000130,1995000130
+1995000131,1995000131
+1995000132,1995000132
+1995000133,1995000133
+1995000135,1995000135
+1995000137,1995000137
+1995000139,1995000139
+1995000140,1995000140
+1995000142,1995000142
+1995000143,056135085
+1995000145,1995000145
+1995000146,1995000146
+1995000147,1995000147
+1995010012,1995010012
+1995010017,1995010017
+1995010018,1995010018
+1995010019,1995010019
+1995010021,1995010021
+1995010026,1995010026
+1995010027,1995010027
+1995010028,1995010028
+1995010046,1995010046
+1995010134,1995010134
+1995010136,1995010136
+1996000001,1996000001
+1996000002,1996000002
+1996000003,1996000003
+1996000005,1996000005
+1996000006,1996000006
+1996000008,1996000008
+1996000009,1996000009
+1996000010,1996000010
+1996000011,1996000011
+1996000012,1996000012
+1996000013,1996000013
+1996000014,1996000014
+1996000015,1996000015
+1996000016,1996000016
+1996000017,1996000017
+1996000018,1996000018
+1996000019,1996000019
+1996000020,1996000020
+1996000021,1996000021
+1996000022,1996000022
+1996000025,1996000025
+1996000026,1996000026
+1996000027,1996000027
+1996000028,1996000028
+1996000029,1996000029
+1996000030,1996000030
+1996000032,1996000032
+1996000033,1996000033
+1996000034,1996000034
+1996000035,1996000035
+1996000036,1996000036
+1996000037,1996000037
+1996000038,1996000038
+1996000039,1996000039
+1996000040,1996000040
+1996000041,1996000041
+1996000042,1996000042
+1996000043,1996000043
+1996000044,1996000044
+1996000045,1996000045
+1996000046,1996000046
+1996000047,1996000047
+1996000048,1996000048
+1996000049,1996000049
+1996000050,1996000050
+1996000051,1996000051
+1996000052,1996000052
+1996000053,1996000053
+1996000054,046085049
+1996000055,1996000055
+1996000056,1996000056
+1996000057,1996000057
+1996000058,1996000058
+1996000059,1996000059
+1996000060,057114213
+1996000062,1996000062
+1996000063,1996000063
+1996000064,1996000064
+1996000065,1996000065
+1996000066,1996000066
+1996000067,1996000067
+1996000068,1996000068
+1996000069,1996000069
+1996000070,1996000070
+1996000071,1996000071
+1996000072,077054061
+1996000073,1996000073
+1996000074,1996000074
+1996000075,1996000075
+1996000079,1996000079
+1996000080,1996000080
+1996000081,1996000081
+1996000082,1996000082
+1996000083,1996000083
+1996000084,1996000084
+1996000086,1996000086
+1996000087,1996000087
+1996000088,1996000088
+1996000091,1996000091
+1996000092,1996000092
+1996000093,1996000093
+1996000094,1996000094
+1996000100,1996000100
+1996000101,1996000101
+1996000102,1996000102
+1996000104,1996000104
+1996000105,1996000105
+1996000107,1996000107
+1996000108,1996000108
+1996000110,1996000110
+1996000111,1996000111
+1996000112,1996000112
+1996010076,1996010076
+1996010077,1996010077
+1996010078,1996010078
+1996010085,1996010085
+1996010089,1996010089
+1996010097,1996010097
+1996010098,1996010098
+1996010103,1996010103
+1996010106,1996010106
+1996010109,1996010109
+1997000001,1997000001
+1997000002,1997000002
+1997000003,1997000003
+1997000004,1997000004
+1997000005,1997000005
+1997000006,1997000006
+1997000007,1997000007
+1997000009,1997000009
+1997000010,1997000010
+1997000012,1997000012
+1997000013,1997000013
+1997000014,1997000014
+1997000015,1997000015
+1997000016,1997000016
+1997000017,1997000017
+1997000018,1997000018
+1997000019,1997000019
+1997000023,1997000023
+1997000026,1997000026
+1997000028,1997000028
+1997000029,1997000029
+1997000030,1997000030
+1997000031,047064151
+1997000032,1997000032
+1997000033,1997000033
+1997000034,1997000034
+1997000035,1997000035
+1997000036,1997000036
+1997000038,1997000038
+1997000039,1997000039
+1997000040,1997000040
+1997000041,1997000041
+1997000042,1997000042
+1997000043,1997000043
+1997000044,1997000044
+1997000045,1997000045
+1997000046,1997000046
+1997000047,1997000047
+1997000048,1997000048
+1997000050,1997000050
+1997000052,1997000052
+1997000054,1997000054
+1997000055,057094075
+1997000056,056134122
+1997000057,067124196
+1997000058,06606G201
+1997000060,1997000060
+1997000061,1997000061
+1997000062,1997000062
+1997000063,1997000063
+1997000064,06612G323
+1997000066,1997000066
+1997000067,1997000067
+1997000068,1997000068
+1997000069,1997000069
+1997000070,1997000070
+1997000071,1997000071
+1997000072,1997000072
+1997000073,1997000073
+1997000075,1997000075
+1997000076,1997000076
+1997000079,1997000079
+1997000080,1997000080
+1997000081,1997000081
+1997000082,1997000082
+1997000083,1997000083
+1997000084,1997000084
+1997000085,1997000085
+1997000086,1997000086
+1997000088,1997000088
+1997000089,1997000089
+1997000090,1997000090
+1997000091,1997000091
+1997000092,1997000092
+1997000093,1997000093
+1997000095,1997000095
+1997000096,1997000096
+1997000097,1997000097
+1997000098,1997000098
+1997000099,1997000099
+1997000100,1997000100
+1997000101,1997000101
+1997000106,1997000106
+1997000107,1997000107
+1997010022,047094200
+1997010024,1997010024
+1997010053,1997010053
+1997010065,1997010065
+1997010074,1997010074
+1997010077,1997010077
+1997010078,1997010078
+1997010102,1997010102
+1997010103,1997010103
+1997010104,1997010104
+1997010105,1997010105
+1997010108,1997010108
+1997010109,1997010109
+1998000001,05614G036
+1998000003,1998000003
+1998000005,1998000005
+1998000007,1998000007
+1998000008,1998000008
+1998000009,1998000009
+1998000010,1998000010
+1998000011,1998000011
+1998000012,1998000012
+1998000013,1998000013
+1998000014,1998000014
+1998000015,1998000015
+1998000016,1998000016
+1998000017,1998000017
+1998000018,1998000018
+1998000019,1998000019
+1998000020,1998000020
+1998000021,1998000021
+1998000022,1998000022
+1998000023,1998000023
+1998000024,1998000024
+1998000025,1998000025
+1998000026,1998000026
+1998000027,1998000027
+1998000028,1998000028
+1998000029,1998000029
+1998000030,1998000030
+1998000031,1998000031
+1998000032,1998000032
+1998000033,1998000033
+1998000034,1998000034
+1998000035,1998000035
+1998000036,1998000036
+1998000037,1998000037
+1998000038,1998000038
+1998000039,057094073
+1998000040,1998000040
+1998000041,1998000041
+1998000042,077114132
+1998000043,1998000043
+1998000044,1998000044
+1998000045,1998000045
+1998000047,1998000047
+1998000048,1998000048
+1998000049,1998000049
+1998000050,1998000050
+1998000051,1998000051
+1998000052,1998000052
+1998000055,1998000055
+1998000059,1998000059
+1998010054,1998010054
+1998010058,1998010058
+1999000001,1999000001
+1999000002,1999000002
+1999000004,1999000004
+1999000005,1999000005
+1999000006,1999000006
+1999000007,1999000007
+1999000008,1999000008
+1999000009,1999000009
+1999000010,1999000010
+1999000011,1999000011
+1999000012,1999000012
+1999000013,1999000013
+1999000015,1999000015
+1999000016,1999000016
+1999000017,1999000017
+1999000018,1999000018
+1999000019,1999000019
+1999000020,066025002
+1999000021,057094072
+1999000022,067104552
+1999000023,1999000023
+1999000024,1999000024
+1999000025,1999000025
+1999000026,1999000026
+1999000027,1999000027
+1999000028,1999000028
+1999000029,1999000029
+1999000030,1999000030
+1999000031,1999000031
+1999000032,1999000032
+1999000033,1999000033
+1999000034,06612G316
+1999000035,1999000035
+1999000036,1999000036
+1999000037,1999000037
+1999000038,1999000038
+1999000039,067055106
+1999000040,047054133
+1999000041,1999000041
+1999000042,046010002
+1999000043,1999000043
+1999000044,1999000044
+1999000045,1999000045
+1999000046,1999000046
+1999000047,1999000047
+1999000048,1999000048
+1999000049,1999000049
+1999000050,1999000050
+1999000051,1999000051
+1999000052,1999000052
+1999000053,1999000053
+1999000054,1999000054
+1999000055,1999000055
+1999000056,1999000056
+1999000057,1999000057
+1999000058,1999000058
+1999000059,1999000059
+1999000060,1999000060
+1999000061,1999000061
+2000000001,2000000001
+2000000003,2000000003
+2000000004,2000000004
+2000000005,2000000005
+2000000006,2000000006
+2000000007,2000000007
+2000000010,2000000010
+2000000011,2000000011
+2000000012,2000000012
+2000000013,2000000013
+2000000014,2000000014
+2000000015,2000000015
+2000000016,2000000016
+2000000017,2000000017
+2000000018,2000000018
+2000000019,2000000019
+2000000020,2000000020
+2000000021,2000000021
+2000000022,2000000022
+2000000023,2000000023
+2000000024,2000000024
+2000000025,2000000025
+2000000026,2000000026
+2000000027,2000000027
+2000000028,2000000028
+2000000029,2000000029
+2000000030,2000000030
+2000000031,2000000031
+2000000032,2000000032
+2000000033,2000000033
+2000000034,2000000034
+2000000035,2000000035
+2000000036,2000000036
+2000000037,2000000037
+2000000038,2000000038
+2000000039,047054130
+2000000041,2000000041
+2000000042,2000000042
+2000000043,057084061
+2000000044,047084173
+2000000045,2000000045
+2000000046,047104208
+2000000047,2000000047
+2000000048,2000000048
+2000000049,2000000049
+2000000050,2000000050
+2000000051,047124231
+2000000052,2000000052
+2000000053,046055032
+2000000054,2000000054
+2000000055,2000000055
+2000000056,2000000056
+2000000057,2000000057
+2000000058,2000000058
+2000000059,056135086
+2000000060,2000000060
+2000000061,2000000061
+2000000063,2000000063
+2000000064,2000000064
+2000000065,2000000065
+2000000066,077124140
+2000000068,2000000068
+2000000069,2000000069
+2000000070,2000000070
+2000000071,2000000071
+2000000072,2000000072
+2000000073,2000000073
+2000000074,2000000074
+2000000075,2000000075
+2000000076,2000000076
+2000000077,047114222
+2000000078,2000000078
+2000000080,2000000080
+2000000081,2000000081
+2000000082,2000000082
+2000010009,2000010009
+2000060101,2000060101
+20010,20010
+2001000001,2001000001
+2001000002,2001000002
+2001000003,2001000003
+2001000004,2001000004
+2001000005,2001000005
+2001000006,2001000006
+2001000007,2001000007
+2001000010,2001000010
+2001000011,2001000011
+2001000012,2001000012
+2001000013,2001000013
+2001000014,2001000014
+2001000015,067114581
+2001000016,067114185
+2001000017,067114183
+2001000018,2001000018
+2001000019,057104095
+2001000020,2001000020
+2001000021,2001000021
+2001000022,057094071
+2001000023,2001000023
+2001000024,2001000024
+2001000025,2001000025
+2001000026,2001000026
+2001000027,057084183
+2001000028,2001000028
+2001000029,2001000029
+2001000030,2001000030
+2001000031,2001000031
+2001000032,2001000032
+2001000033,2001000033
+2001000034,2001000034
+2001000035,2001000035
+2001000037,2001000037
+2001000038,2001000038
+2001000040,2001000040
+2001000042,2001000042
+2001000043,2001000043
+2001000044,2001000044
+2001000045,2001000045
+2001000046,2001000046
+2001000048,2001000048
+2001000050,2001000050
+2001000051,2001000051
+2001000052,2001000052
+2001000053,2001000053
+2001000054,2001000054
+2001000057,2001000057
+2001000059,2001000059
+2001000060,2001000060
+2001000062,2001000062
+2001000063,2001000063
+2001000064,2001000064
+2001000065,2001000065
+2001000066,2001000066
+2001000067,2001000067
+2001000068,2001000068
+2001000069,2001000069
+2001000070,2001000070
+2001000071,2001000071
+2001000072,2001000072
+2001000073,2001000073
+2001000074,2001000074
+2001000075,2001000075
+2001000076,066134102
+2001000077,2001000077
+2001000078,2001000078
+2001000079,2001000079
+2001000080,05612G353
+2001000081,2001000081
+2001000082,2001000082
+2001000083,2001000083
+2001000084,2001000084
+2001000085,2001000085
+2001000086,2001000086
+2001000088,2001000088
+2001000089,2001000089
+2001000090,2001000090
+2001000091,2001000091
+2001000092,2001000092
+2001000093,2001000093
+2001000094,2001000094
+2001000095,2001000095
+2001000096,2001000096
+2001000100,2001000100
+2001000101,2001000101
+2001020008,2001020008
+2001020039,046126817
+2001020047,06612G313
+2001020049,2001020049
+2001020055,2001020055
+2001020056,2001020056
+2001020058,2001020058
+2001020061,2001020061
+2001020097,066095029
+2001020098,2001020098
+2001030127,2001030127
+2001060129,2001060129
+2002000003,2002000003
+2002000004,2002000004
+2002000005,2002000005
+2002000007,067095157
+2002000008,2002000008
+2002000009,2002000009
+2002000010,2002000010
+2002000011,2002000011
+2002000015,2002000015
+2002000016,2002000016
+2002000017,2002000017
+2002000018,2002000018
+2002000019,06612G278
+2002000020,2002000020
+2002000021,2002000021
+2002000022,2002000022
+2002000023,2002000023
+2002000024,2002000024
+2002000025,2002000025
+2002000026,2002000026
+2002000027,2002000027
+2002000028,2002000028
+2002000029,2002000029
+2002000030,2002000030
+2002000031,2002000031
+2002000032,046104104
+2002000033,2002000033
+2002000034,2002000034
+2002000035,2002000035
+2002000036,2002000036
+2002000037,2002000037
+2002000038,2002000038
+2002000039,056124118
+2002000040,2002000040
+2002000041,2002000041
+2002000042,2002000042
+2002000043,2002000043
+2002000044,056048002
+2002000045,2002000045
+2002000046,2002000046
+2002000047,2002000047
+2002000048,2002000048
+2002000049,2002000049
+2002000050,056035020
+2002000051,046115076
+2002000052,2002000052
+2002000054,056095067
+2002000055,2002000055
+2002000058,2002000058
+2002000060,2002000060
+2002000061,2002000061
+2002000062,2002000062
+2002000063,047084167
+2002000064,057094196
+2002000067,2002000067
+2002020001,2002020001
+2002020002,063193
+2002020012,2002020012
+2002020013,2002020013
+2002020053,06612G319
+2002020056,2002020056
+2002020057,05614G023
+2002020065,2002020065
+2002020066,2002020066
+2002030006,2002030006
+2002060088,2002060088
+2003000001,057124103
+2003000002,2003000002
+2003000004,2003000004
+2003000005,2003000005
+2003000006,2003000006
+2003000007,2003000007
+2003000009,2003000009
+2003000010,2003000010
+2003000011,2003000011
+2003000012,2003000012
+2003000013,2003000013
+2003000014,2003000014
+2003000015,2003000015
+2003000016,2003000016
+2003000017,2003000017
+2003000018,2003000018
+2003000019,2003000019
+2003000020,057074052
+2003000021,2003000021
+2003000022,2003000022
+2003000023,2003000023
+2003000024,2003000024
+2003000025,2003000025
+2003000026,047084160
+2003000027,2003000027
+2003000028,2003000028
+2003000029,2003000029
+2003000030,2003000030
+2003000031,2003000031
+2003000032,2003000032
+2003000033,2003000033
+2003000034,2003000034
+2003000035,057105016
+2003000036,2003000036
+2003000037,2003000037
+2003000038,2003000038
+2003000039,2003000039
+2003000040,2003000040
+2003000041,2003000041
+2003000042,2003000042
+2003000043,2003000043
+2003000044,2003000044
+2003000046,2003000046
+2003000047,2003000047
+2003000048,2003000048
+2003000049,2003000049
+2003000050,2003000050
+2003000051,057104207
+2003000052,2003000052
+2003000053,057104092
+2003000054,2003000054
+2003000055,2003000055
+2003000056,2003000056
+2003000057,047014072
+2003000058,2003000058
+2003000060,2003000060
+2003000061,2003000061
+2003000062,2003000062
+2003000063,2003000063
+2003000064,067094154
+2003000065,2003000065
+2003000067,2003000067
+2003000068,2003000068
+2003000069,2003000069
+2003000070,2003000070
+2003000071,066134100
+2003000072,066134101
+2003000073,2003000073
+2003000074,2003000074
+2003000075,2003000075
+2003000076,2003000076
+2003000090,2003000090
+2003000091,2003000091
+2003000092,067124197
+2003000093,2003000093
+2003000094,057104096
+2003000095,047104214
+2003000096,066124094
+2003000097,066104079
+2003000098,2003000098
+2003000099,056055030
+2003000100,2003000100
+2003000101,2003000101
+2003000102,2003000102
+2003000103,2003000103
+2003000104,2003000104
+2003000105,057054169
+2003000106,2003000106
+2003000107,066074048
+2003000108,046080833
+2003000109,2003000109
+2003000110,2003000110
+2003000111,2003000111
+2003000112,2003000112
+2003000113,2003000113
+2003000114,2003000114
+2003000115,047114223
+2003000116,2003000116
+2003000118,2003000118
+2003000119,2003000119
+2003000120,2003000120
+2003000121,047074158
+2003000123,2003000123
+2003000124,2003000124
+2003000125,2003000125
+2003000126,057115074
+2003000129,2003000129
+2003000130,057105067
+2003000131,2003000131
+2003000132,2003000132
+2003000133,2003000133
+2003010161,2003010161
+2003020008,2003020008
+2003020045,2003020045
+2003020059,2003020059
+2003020077,2003020077
+2003020078,2003020078
+2003020079,2003020079
+2003020080,2003020080
+2003020081,2003020081
+2003020082,066145042
+2003020083,2003020083
+2003020084,2003020084
+2003020085,2003020085
+2003020086,2003020086
+2003020087,2003020087
+2003020088,2003020088
+2003020089,2003020089
+2003020127,2003020127
+2003020134,2003020134
+2003030066,2003030066
+2003030117,2003030117
+2003030128,2003030128
+2004000002,2004000002
+2004000003,2004000003
+2004000005,2004000005
+2004000006,2004000006
+2004000007,047094180
+2004000008,2004000008
+2004000009,2004000009
+2004000010,2004000010
+2004000011,2004000011
+2004000012,2004000012
+2004000013,2004000013
+2004000014,2004000014
+2004000015,2004000015
+2004000016,077105127
+2004000017,2004000017
+2004000018,2004000018
+2004000019,067115598
+2004000020,2004000020
+2004000021,2004000021
+2004000022,2004000022
+2004000023,2004000023
+2004000024,2004000024
+2004000025,2004000025
+2004000026,2004000026
+2004000027,2004000027
+2004000028,2004000028
+2004000029,2004000029
+2004000030,2004000030
+2004000031,2004000031
+2004000032,2004000032
+2004000033,2004000033
+2004000034,2004000034
+2004000035,2004000035
+2004000036,2004000036
+2004000037,2004000037
+2004000039,2004000039
+2004000040,2004000040
+2004000041,2004000041
+2004000042,2004000042
+2004000043,2004000043
+2004000044,047014123
+2004000045,2004000045
+2004000046,2004000046
+2004000047,2004000047
+2004000048,2004000048
+2004000049,2004000049
+2004000050,057024122
+2004000051,2004000051
+2004000052,2004000052
+2004000053,2004000053
+2004000054,2004000054
+2004000055,057034030
+2004000056,2004000056
+2004000057,2004000057
+2004000058,2004000058
+2004000059,057054044
+2004000060,2004000060
+2004000061,2004000061
+2004000062,2004000062
+2004000063,2004000063
+2004000064,2004000064
+2004000065,2004000065
+2004000066,047084162
+2004000067,2004000067
+2004000068,2004000068
+2004000069,2004000069
+2004000070,2004000070
+2004000071,057084185
+2004000072,057084184
+2004000073,2004000073
+2004000074,057084064
+2004000075,2004000075
+2004000076,2004000076
+2004000077,2004000077
+2004000079,2004000079
+2004000080,2004000080
+2004000081,2004000081
+2004000082,2004000082
+2004000083,2004000083
+2004000084,2004000084
+2004000085,2004000085
+2004000087,067124612
+2004000088,2004000088
+2004000089,2004000089
+2004000091,2004000091
+2004000101,066034029
+2004000102,2004000102
+2004000103,066054071
+2004000104,2004000104
+2004000105,066104069
+2004000106,066014007
+2004000107,066044035
+2004000108,066104070
+2004000111,2004000111
+2004000112,2004000112
+2004000113,2004000113
+2004000114,066114103
+2004000115,067114184
+2004000116,2004000116
+2004000117,077134148
+2004000118,067124199
+2004000119,066134095
+2004000122,2004000122
+2004000126,2004000126
+2004000127,2004000127
+2004000129,2004000129
+2004000132,2004000132
+2004000135,2004000135
+2004000137,2004000137
+2004000139,2004000139
+2004000140,2004000140
+2004000143,2004000143
+2004000144,2004000144
+2004000145,2004000145
+2004000146,2004000146
+2004000147,2004000147
+2004000149,2004000149
+2004000150,2004000150
+2004020001,2004020001
+2004020038,2004020038
+2004020078,077084086
+2004020090,2004020090
+2004020092,2004020092
+2004020093,2004020093
+2004020094,2004020094
+2004020095,2004020095
+2004020096,2004020096
+2004020097,2004020097
+2004020098,2004020098
+2004020099,2004020099
+2004020100,2004020100
+2004020109,2004020109
+2004020110,2004020110
+2004020120,2004020120
+2004020121,2004020121
+2004020128,2004020128
+2004020130,2004020130
+2004020133,2004020133
+2004020136,2004020136
+2004020138,063149
+2004030004,2004030004
+2004030086,2004030086
+2004030123,2004030123
+2004030124,2004030124
+2004030125,2004030125
+2004030131,2004030131
+2004030134,2004030134
+2004030141,2004030141
+2004030142,2004030142
+2004030148,2004030148
+2005000001,2005000001
+2005000005,2005000005
+2005000006,2005000006
+2005000007,2005000007
+2005000012,2005000012
+2005000013,2005000013
+2005000015,2005000015
+2005000016,2005000016
+2005000017,2005000017
+2005000018,2005000018
+2005000019,2005000019
+2005000020,2005000020
+2005000021,2005000021
+2005000022,2005000022
+2005000023,2005000023
+2005000024,2005000024
+2005000025,047034108
+2005000026,047034107
+2005000027,2005000027
+2005000028,2005000028
+2005000029,2005000029
+2005000030,2005000030
+2005000031,2005000031
+2005000032,047054149
+2005000033,047054142
+2005000034,047054143
+2005000035,2005000035
+2005000036,057084057
+2005000037,2005000037
+2005000038,047084163
+2005000039,047084165
+2005000040,047084176
+2005000041,2005000041
+2005000042,2005000042
+2005000043,2005000043
+2005000044,2005000044
+2005000045,047104211
+2005000046,2005000046
+2005000047,047104210
+2005000048,2005000048
+2005000049,047114229
+2005000050,047114225
+2005000051,2005000051
+2005000052,2005000052
+2005000053,2005000053
+2005000054,047114219
+2005000055,077115138
+2005000056,2005000056
+2005000057,2005000057
+2005000058,077054063
+2005000060,2005000060
+2005000061,2005000061
+2005000062,2005000062
+2005000063,2005000063
+2005000076,057024130
+2005000077,047014079
+2005000080,2005000080
+2005000082,2005000082
+2005000083,2005000083
+2005000084,2005000084
+2005000086,2005000086
+2005000087,2005000087
+2005000088,2005000088
+2005000092,2005000092
+2005000095,2005000095
+2005000096,2005000096
+2005000097,2005000097
+2005000100,2005000100
+2005000101,2005000101
+2005000104,2005000104
+2005000105,2005000105
+2005000107,2005000107
+2005000108,2005000108
+2005000113,2005000113
+2005000114,2005000114
+2005000115,2005000115
+2005000119,2005000119
+2005000120,2005000120
+2005000123,2005000123
+2005000126,2005000126
+2005000128,2005000128
+2005000130,2005000130
+2005000133,2005000133
+2005000134,2005000134
+2005000136,2005000136
+2005000137,2005000137
+2005000141,2005000141
+2005000142,2005000142
+2005000145,2005000145
+2005000146,2005000146
+2005000148,2005000148
+2005000149,2005000149
+2005000152,2005000152
+2005000155,2005000155
+2005000156,2005000156
+2005020008,2005020008
+2005020010,2005020010
+2005020064,2005020064
+2005020065,2005020065
+2005020066,2005020066
+2005020067,2005020067
+2005020068,2005020068
+2005020069,2005020069
+2005020070,2005020070
+2005020071,2005020071
+2005020072,2005020072
+2005020073,2005020073
+2005020074,2005020074
+2005020075,2005020075
+2005020078,2005020078
+2005020081,2005020081
+2005020090,2005020090
+2005020102,2005020102
+2005020103,2005020103
+2005020106,2005020106
+2005020109,2005020109
+2005020110,2005020110
+2005020111,2005020111
+2005020112,2005020112
+2005020117,2005020117
+2005020118,2005020118
+2005020121,2005020121
+2005020124,2005020124
+2005020127,2005020127
+2005020129,2005020129
+2005020131,2005020131
+2005020132,2005020132
+2005020140,2005020140
+2005020150,2005020150
+2005020151,2005020151
+2005020153,2005020153
+2005020154,2005020154
+2005020157,2005020157
+2005020158,2005020158
+2005020159,2005020159
+2005030003,2005030003
+2005030004,2005030004
+2005030011,2005030011
+2005030014,2005030014
+2005030059,2005030059
+2005030079,2005030079
+2005030085,2005030085
+2005030089,2005030089
+2005030091,2005030091
+2005030093,2005030093
+2005030094,2005030094
+2005030098,2005030098
+2005030099,2005030099
+2005030122,2005030122
+2005030125,2005030125
+2005030135,2005030135
+2005030138,2005030138
+2005030139,2005030139
+2005030143,2005030143
+2005030144,2005030144
+2006000001,2006000001
+2006000002,2006000002
+2006000003,2006000003
+2006000004,2006000004
+2006000005,2006000005
+2006000006,2006000006
+2006000007,2006000007
+2006000008,2006000008
+2006000009,2006000009
+2006000011,2006000011
+2006000012,2006000012
+2006000013,2006000013
+2006000014,2006000014
+2006000015,2006000015
+2006000016,2006000016
+2006000021,057054165
+2006000022,2006000022
+2006000023,057064173
+2006000024,057074179
+2006000025,2006000025
+2006000026,057080251
+2006000027,057104210
+2006000028,2006000028
+2006000029,057114227
+2006000030,057114230
+2006000031,057114226
+2006000032,067115191
+2006000033,2006000033
+2006000034,057114222
+2006000035,2006000035
+2006000036,057124233
+2006000037,2006000037
+2006000038,2006000038
+2006000039,2006000039
+2006000040,2006000040
+2006000041,2006000041
+2006000050,2006000050
+2006000051,2006000051
+2006000053,2006000053
+2006000054,2006000054
+2006000055,2006000055
+2006000056,2006000056
+2006000057,2006000057
+2006000058,2006000058
+2006000061,2006000061
+2006000062,2006000062
+2006000063,2006000063
+2006000064,2006000064
+2006000065,2006000065
+2006000066,2006000066
+2006000067,057014116
+2006000068,057014117
+2006000069,057094195
+2006000070,057014118
+2006000071,057024131
+2006000072,047024095
+2006000073,057024120
+2006000074,2006000074
+2006000075,2006000075
+2006000076,2006000076
+2006000077,2006000077
+2006000079,2006000079
+2006000080,2006000080
+2006000084,2006000084
+2006000085,2006000085
+2006000086,2006000086
+2006000087,2006000087
+2006000088,2006000088
+2006000090,2006000090
+2006000091,2006000091
+2006000094,2006000094
+2006000095,2006000095
+2006000096,2006000096
+2006000098,2006000098
+2006000099,2006000099
+2006000100,2006000100
+2006000101,2006000101
+2006000102,2006000102
+2006000103,2006000103
+2006000115,2006000115
+2006000116,2006000116
+2006000117,2006000117
+2006000118,2006000118
+2006000119,2006000119
+2006000120,2006000120
+2006000123,2006000123
+2006000125,2006000125
+2006000127,2006000127
+2006000128,2006000128
+2006000136,2006000136
+2006000138,2006000138
+2006000140,2006000140
+2006000141,2006000141
+2006000145,2006000145
+2006000146,2006000146
+2006000147,2006000147
+2006000149,2006000149
+2006000151,2006000151
+2006000152,2006000152
+2006000154,2006000154
+2006000156,2006000156
+2006000158,2006000158
+2006000159,2006000159
+2006020042,2006020042
+2006020043,2006020043
+2006020044,2006020044
+2006020045,2006020045
+2006020046,2006020046
+2006020047,2006020047
+2006020081,2006020081
+2006020082,2006020082
+2006020083,2006020083
+2006020097,2006020097
+2006020104,2006020104
+2006020105,2006020105
+2006020106,2006020106
+2006020107,2006020107
+2006020108,2006020108
+2006020109,2006020109
+2006020110,2006020110
+2006020111,2006020111
+2006020122,2006020122
+2006020124,2006020124
+2006020132,2006020132
+2006020137,2006020137
+2006020142,2006020142
+2006020143,2006020143
+2006020150,047050174
+2006020160,2006020160
+2006020161,2006020161
+2006030010,2006030010
+2006030017,2006030017
+2006030018,2006030018
+2006030019,2006030019
+2006030020,2006030020
+2006030048,2006030048
+2006030049,2006030049
+2006030052,2006030052
+2006030059,2006030059
+2006030060,2006030060
+2006030078,2006030078
+2006030089,2006030089
+2006030092,2006030092
+2006030093,2006030093
+2006030112,2006030112
+2006030121,2006030121
+2006030126,2006030126
+2006030129,2006030129
+2006030130,2006030130
+2006030131,2006030131
+2006030133,2006030133
+2006030134,2006030134
+2006030135,2006030135
+2006030139,2006030139
+2006030144,2006030144
+2006030148,2006030148
+2006030153,2006030153
+2006030155,2006030155
+2006030157,2006030157
+2006060214,2006060214
+2007010003,2007010003
+2007010008,2007010008
+2007010009,057030101
+2007010010,2007010010
+2007010011,2007010011
+2007010012,2007010012
+2007010013,2007010013
+2007010014,2007010014
+2007010015,2007010015
+2007010016,2007010016
+2007010017,2007010017
+2007010018,046016016
+2007010019,067014231
+2007010020,046014011
+2007010021,046014001
+2007010022,046014015
+2007010023,046020129
+2007010024,2007010024
+2007010025,2007010025
+2007010026,046030155
+2007010027,2007010027
+2007010028,2007010028
+2007010029,046046184
+2007010030,046046218
+2007010031,2007010031
+2007010034,2007010034
+2007010035,2007010035
+2007010036,046054045
+2007010037,2007010037
+2007010038,046056354
+2007010039,2007010039
+2007010040,046054042
+2007010041,2007010041
+2007010042,2007010042
+2007010043,046030166
+2007010044,2007010044
+2007010045,046084069
+2007010046,046114122
+2007010047,046114118
+2007010048,046114123
+2007010049,046114119
+2007010050,046114110
+2007010051,046114111
+2007010052,2007010052
+2007010053,046114106
+2007010054,046114108
+2007010055,046114107
+2007010056,046114113
+2007010057,2007010057
+2007010058,046130825
+2007010059,046134130
+2007010060,046134129
+2007010061,2007010061
+2007010062,046136904
+2007010063,2007010063
+2007010064,046104101
+2007010065,046076370
+2007010066,2007010066
+2007010067,046100677
+2007010068,2007010068
+2007010069,046014004
+2007010070,2007010070
+2007010071,2007010071
+2007010073,2007010073
+2007010074,046110712
+2007010075,2007010075
+2007010076,046096551
+2007010077,046116738
+2007010079,046130823
+2007010080,2007010080
+2007010081,2007010081
+2007010084,2007010084
+2007010085,2007010085
+2007010086,2007010086
+2007010088,2007010088
+2007010089,077030024
+2007010090,2007010090
+2007010091,2007010091
+2007010092,2007010092
+2007010093,2007010093
+2007010094,2007010094
+2007010095,2007010095
+2007010096,2007010096
+2007010097,2007010097
+2007010098,2007010098
+2007010099,2007010099
+2007010100,2007010100
+2007010101,2007010101
+2007010104,2007010104
+2007010106,2007010106
+2007010107,2007010107
+2007010108,2007010108
+2007010109,2007010109
+2007010110,2007010110
+2007010111,2007010111
+2007010114,2007010114
+2007010115,2007010115
+2007010116,2007010116
+2007010117,2007010117
+2007010118,2007010118
+2007010120,2007010120
+2007010124,2007010124
+2007010125,2007010125
+2007010126,046110727
+2007010127,2007010127
+2007010128,2007010128
+2007010129,047060202
+2007010130,2007010130
+2007010131,2007010131
+2007010133,2007010133
+2007010134,2007010134
+2007010161,2007010161
+2007010162,047060200
+2007010163,2007010163
+2007010164,2007010164
+2007010165,2007010165
+2007010166,2007010166
+2007010167,2007010167
+2007010195,2007010195
+2007020004,2007020004
+2007020005,2007020005
+2007020006,2007020006
+2007020007,2007020007
+2007030001,2007030001
+2007030002,2007030002
+2007030032,2007030032
+2007030033,2007030033
+2007030082,2007030082
+2007030083,2007030083
+2007030087,2007030087
+2007030102,2007030102
+2007030103,2007030103
+2007030105,2007030105
+2007030112,2007030112
+2007030113,2007030113
+2007030121,2007030121
+2007030122,2007030122
+2007030123,2007030123
+2007030132,2007030132
+2007030135,2007030135
+2007030136,2007030136
+2007030160,2007030160
+2007030168,2007030168
+2007030169,2007030169
+2007030170,047060197
+2007030171,2007030171
+2007030224,2007030224
+2007030225,2007030225
+2008010010,2008010010
+2008010016,2008010016
+2008010017,2008010017
+2008010019,2008010019
+2008010020,2008010020
+2008010022,047060198
+2008010025,2008010025
+2008010027,2008010027
+2008010028,2008010028
+2008010029,2008010029
+2008010031,2008010031
+2008010032,2008010032
+2008010033,2008010033
+2008010035,2008010035
+2008010036,056046121
+2008010037,056130798
+2008010040,2008010040
+2008010041,2008010041
+2008010042,056096520
+2008010043,056086411
+2008010044,056080437
+2008010045,056036080
+2008010048,056110706
+2008010049,056046148
+2008010050,056030150
+2008010051,2008010051
+2008010052,056056275
+2008010053,056116657
+2008010054,056026057
+2008010055,056126837
+2008010056,2008010056
+2008010057,056046136
+2008010059,2008010059
+2008010060,067045078
+2008010061,056090581
+2008010062,2008010062
+2008010063,2008010063
+2008010064,2008010064
+2008010066,2008010066
+2008010067,2008010067
+2008010068,2008010068
+2008010069,2008010069
+2008010071,2008010071
+2008010072,2008010072
+2008010073,047090255
+2008010074,2008010074
+2008010075,2008010075
+2008010078,2008010078
+2008010079,2008010079
+2008010080,2008010080
+2008010081,2008010081
+2008010083,2008010083
+2008010084,2008010084
+2008010085,2008010085
+2008010087,2008010087
+2008010088,2008010088
+2008010089,2008010089
+2008010090,043375
+2008010091,2008010091
+2008010093,2008010093
+2008010094,047020082
+2008010095,2008010095
+2008010096,2008010096
+2008010098,047120303
+2008010100,2008010100
+2008010101,2008010101
+2008010102,047050171
+2008010104,2008010104
+2008010105,2008010105
+2008010108,2008010108
+2008010110,2008010110
+2008010111,2008010111
+2008010113,2008010113
+2008010114,2008010114
+2008010117,2008010117
+2008010119,2008010119
+2008010120,2008010120
+2008010121,2008010121
+2008010123,047010070
+2008010124,2008010124
+2008010125,047100270
+2008010128,2008010128
+2008010132,2008010132
+2008010133,2008010133
+2008010134,2008010134
+2008010135,047090258
+2008010136,2008010136
+2008010137,047030104
+2008010139,2008010139
+2008010140,047040113
+2008010141,057050204
+2008030018,2008030018
+2008030021,2008030021
+2008030023,2008030023
+2008030024,2008030024
+2008030026,2008030026
+2008030030,2008030030
+2008030034,2008030034
+2008030038,2008030038
+2008030039,2008030039
+2008030046,2008030046
+2008030047,047040115
+2008030058,2008030058
+2008030065,047080219
+2008030070,2008030070
+2008030082,2008030082
+2008030086,057040159
+2008030092,2008030092
+2008030097,047040140
+2008030099,2008030099
+2008030103,047040156
+2008030106,2008030106
+2008030107,2008030107
+2008030109,2008030109
+2008030115,2008030115
+2008030116,057040018
+2008030118,2008030118
+2008030122,2008030122
+2008030127,057060209
+2008030129,047070212
+2008030130,2008030130
+2008030131,047030098
+2008030138,2008030138
+2009000114,2009000114
+2009000115,2009000115
+2009010001,2009010001
+2009010002,047050177
+2009010003,2009010003
+2009010004,047090244
+2009010008,2009010008
+2009010009,2009010009
+2009010010,2009010010
+2009010011,2009010011
+2009010012,057030013
+2009010013,2009010013
+2009010016,2009010016
+2009010020,057110335
+2009010023,2009010023
+2009010024,057060216
+2009010025,066126816
+2009010026,066090491
+2009010027,066136968
+2009010028,066090540
+2009010029,066086450
+2009010030,056100599
+2009010031,066030146
+2009010032,2009010032
+2009010033,057026002
+2009010034,066056353
+2009010035,066050282
+2009010036,2009010036
+2009010037,2009010037
+2009010038,066036141
+2009010043,066050304
+2009010044,046030197
+2009010045,047040157
+2009010046,2009010046
+2009010047,2009010047
+2009010048,2009010048
+2009010049,2009010049
+2009010053,2009010053
+2009010055,066066412
+2009010056,2009010056
+2009010061,2009010061
+2009010062,2009010062
+2009010063,2009010063
+2009010064,2009010064
+2009010066,2009010066
+2009010067,2009010067
+2009010068,2009010068
+2009010069,2009010069
+2009010070,066110713
+2009010071,057110332
+2009010073,057040116
+2009010077,2009010077
+2009010078,2009010078
+2009010079,066130765
+2009010080,2009010080
+2009010081,2009010081
+2009010082,2009010082
+2009010083,066090492
+2009010084,053429
+2009010085,053118
+2009010086,053164
+2009010089,2009010089
+2009010090,2009010090
+2009010092,047014076
+2009010093,2009010093
+2009010094,057090276
+2009010095,2009010095
+2009010096,046090502
+2009010097,2009010097
+2009010098,2009010098
+2009010099,057010068
+2009010100,047020090
+2009010101,047070214
+2009010102,066030128
+2009010103,2009010103
+2009010108,2009010108
+2009010109,2009010109
+2009010110,2009010110
+2009010117,2009010117
+2009010119,057110327
+2009010120,047030111
+2009010121,057090272
+2009010122,2009010122
+2009010123,057114215
+2009010124,2009010124
+2009010125,2009010125
+2009010126,2009010126
+2009010130,2009010130
+2009010131,2009010131
+2009010132,046090577
+2009010133,046106643
+2009010134,2009010134
+2009010135,2009010135
+2009010136,2009010136
+2009030005,057070218
+2009030006,047010063
+2009030007,2009030007
+2009030014,2009030014
+2009030015,047040146
+2009030017,2009030017
+2009030018,047010062
+2009030019,2009030019
+2009030021,046060379
+2009030022,2009030022
+2009030039,2009030039
+2009030040,047090238
+2009030041,2009030041
+2009030042,2009030042
+2009030050,2009030050
+2009030052,046030132
+2009030065,057110312
+2009030072,067010003
+2009030074,067010003
+2009030075,057090270
+2009030076,2009030076
+2009030087,047070203
+2009030088,2009030088
+2009030091,047080227
+2009030112,047080223
+2009030113,057070229
+2009030116,047020092
+2009030118,2009030118
+2009030127,057070221
+2009030128,2009030128
+2009030129,046090570
+2010000002,2010000002
+2010010002,2010010002
+2010010006,2010010006
+2010010007,2010010007
+2010010008,2010010008
+2010010009,046120788
+2010010011,057040122
+2010010013,2010010013
+2010010014,2010010014
+2010010015,2010010015
+2010010016,2010010016
+2010010018,2010010018
+2010010019,2010010019
+2010010020,2010010020
+2010010023,2010010023
+2010010024,2010010024
+2010010025,2007201473
+2010010026,2007201466
+2010010027,2007201444
+2010010028,2007201455
+2010010029,2007201467
+2010010030,2007201507
+2010010031,057070224
+2010010032,2007201731
+2010010034,2007201746
+2010010035,2007200095
+2010010036,2010010036
+2010010037,2007201791
+2010010038,2007200184
+2010010039,2007200834
+2010010040,2007201873
+2010010041,2007201734
+2010010042,2010010042
+2010010043,2007201766
+2010010045,2007201256
+2010010046,2010010046
+2010010047,046040258
+2010010048,047020078
+2010010049,077110128
+2010010050,2010010050
+2010010051,2010010051
+2010010052,067090491
+2010010053,2010010053
+2010010054,046040216
+2010010055,046040221
+2010010061,057010066
+2010010062,2010010062
+2010010063,046020095
+2010010064,057090256
+2010010065,2007200204
+2010010066,2010010066
+2010010067,046090563
+2010010068,2010010068
+2010010069,2010010069
+2010010070,063263
+2010010071,062248
+2010010072,062273
+2010010073,2010010073
+2010010074,057050184
+2010010075,2010010075
+2010010076,057040163
+2010010077,2010010077
+2010010078,057100042
+2010010080,2010010080
+2010010081,046120781
+2010010082,047020079
+2010010083,062006
+2010010084,2010010084
+2010010085,2010010085
+2010010086,062963
+2010010087,061369
+2010010088,2010010088
+2010010090,062952
+2010010094,2007201140
+2010010097,046040234
+2010010098,2010010098
+2010010099,2010010099
+2010010101,2010010101
+2010010102,2010010102
+2010010104,047030102
+2010010105,2010010105
+2010010106,047030100
+2010010107,046010009
+2010010108,046084077
+2010010109,057030112
+2010010110,2010010110
+2010010111,2010010111
+2010010113,047010073
+2010010131,2010010131
+2010010132,2007201738
+2010010133,2010010133
+2010010134,2010010134
+2010010135,057090265
+2010010137,057110322
+2010010138,056010019
+2010010140,057020083
+2010010141,047050015
+2010010142,056086406
+2010010144,2010010144
+2010010146,2010010146
+2010010147,046020096
+2010010148,2010010148
+2010010149,2010010149
+2010010150,2010010150
+2010010151,2010010151
+2010010152,2010010152
+2010010153,2010010153
+2010010158,057010074
+2010010159,2010010159
+2010010160,056040197
+2010010161,046010048
+2010030001,057070223
+2010030003,067010001
+2010030004,057080249
+2010030010,046020089
+2010030012,057060215
+2010030017,046010008
+2010030021,2010030021
+2010030022,067086138
+2010030033,2010030033
+2010030044,047050182
+2010030056,2010030056
+2010030057,046110700
+2010030079,046010027
+2010030089,2010030089
+2010030091,046026044
+2010030092,2010030092
+2010030093,057010053
+2010030095,046046172
+2010030096,2010030096
+2010030100,2010030100
+2010030103,046090517
+2010030112,046030174
+2010030114,2010030114
+2010030136,2010030136
+2010030145,067040346
+2010030154,2010030154
+2010030155,046090569
+2010030157,046086400
+2010060139,2010060139
+2010060143,2010060143
+2010060156,2010060156
+2011000111,2011000111
+2011010001,056040222
+2011010002,057090259
+2011010003,046020118
+2011010004,057070026
+2011010005,057040129
+2011010006,2007100100
+2011010007,066020097
+2011010008,046090504
+2011010010,067020250
+2011010011,067106177
+2011010014,046050335
+2011010015,2011010015
+2011010021,067180626
+2011010022,2007201411
+2011010023,056136859
+2011010024,2008201963
+2011010025,042917
+2011010026,2008200086
+2011010027,2008200729
+2011010028,2011010028
+2011010029,040625
+2011010030,047050184
+2011010031,2008201900
+2011010033,2011010033
+2011010034,046010040
+2011010035,2011010035
+2011010036,046076377
+2011010037,2011010037
+2011010038,2011010038
+2011010039,2011010039
+2011010049,2011010049
+2011010050,2008201751
+2011010051,056060362
+2011010052,057030110
+2011010053,2007100215
+2011010055,046110706
+2011010056,2011010056
+2011010057,2011010057
+2011010058,2008200366
+2011010060,2007201471
+2011010061,2008200829
+2011010062,2011010062
+2011010063,2011010063
+2011010064,047040122
+2011010065,2011010065
+2011010066,2011010066
+2011010067,2011010067
+2011010072,2007302196
+2011010073,2011010073
+2011010074,046110702
+2011010075,043419
+2011010076,2011010076
+2011010077,2011010077
+2011010078,2007200203
+2011010079,067020251
+2011010080,056080438
+2011010081,2011010081
+2011010082,057030012
+2011010083,057114225
+2011010084,2011010084
+2011010085,056040237
+2011010087,2011010087
+2011010089,046106677
+2011010090,2011010090
+2011010091,2011010091
+2011010097,2011010097
+2011010101,2011010101
+2011010102,046010067
+2011010103,067030286
+2011010104,056080467
+2011010105,057030098
+2011010106,2011010106
+2011010107,067010009
+2011010108,2011010108
+2011010109,2011010109
+2011010110,2011010110
+2011010112,2003000036
+2011010119,2011010119
+2011010121,056110702
+2011010122,056110666
+2011010123,046100654
+2011010124,056050279
+2011010125,056140808
+2011010126,056090507
+2011010127,046060383
+2011010128,2011010128
+2011010129,067060416
+2011010130,2011010130
+2011030009,2011030009
+2011030012,066090516
+2011030013,057080239
+2011030019,2011030019
+2011030020,057010070
+2011030040,057080245
+2011030046,056030140
+2011030047,046040219
+2011030048,2011030048
+2011030054,046090508
+2011030059,046046195
+2011030068,2007100370
+2011030069,067050377
+2011030070,057050190
+2011030071,046080470
+2011030086,077186151
+2011030094,2001030127
+2011030095,2011030095
+2011030096,056050299
+2011030098,067020265
+2011030099,047020086
+2011030100,2011030100
+2011030113,046076379
+2011030114,2011030114
+2011030115,2011030115
+2011030120,066040211
+2011060018,2011060018
+2011060032,2011060032
+2011060088,2011060088
+2011060116,2011060116
+2011060117,2011060117
+2011060118,2011060118
+2012010001,2008100009
+2012010003,2012010003
+2012010004,057110330
+2012010005,2006030126
+2012010006,066080432
+2012010007,046010019
+2012010008,056050307
+2012010011,2012010011
+2012010013,2012010013
+2012010014,2012010014
+2012010015,046086487
+2012010016,2007010094
+2012010017,2007010095
+2012010018,2007010093
+2012010019,2009201426
+2012010020,067040349
+2012010021,066040202
+2012010022,2012010022
+2012010026,046016007
+2012010027,056090564
+2012010032,056100598
+2012010033,2009201945
+2012010034,2012010034
+2012010035,2012010035
+2012010036,077100120
+2012010038,2012010038
+2012010039,2012010039
+2012010040,2012010040
+2012010041,2012010041
+2012010042,046056251
+2012010043,2012010043
+2012010044,2012010044
+2012010045,2012010045
+2012010046,2012010046
+2012010047,2012010047
+2012010048,066040188
+2012010050,2009202179
+2012010051,2012010051
+2012010052,2012010052
+2012010053,2012010053
+2012010054,2012010054
+2012010055,2012010055
+2012010056,053076
+2012010057,2012010057
+2012010058,047040159
+2012010059,2012010059
+2012010063,057050207
+2012010064,2012010064
+2012010065,2007100141
+2012010066,057070229
+2012010067,056100630
+2012010068,066100617
+2012010069,2012010069
+2012010070,2012010070
+2012010071,2012010071
+2012010072,2012010072
+2012010073,2012010073
+2012010074,2012010074
+2012010075,066020100
+2012010076,2012010076
+2012010079,2012010079
+2012010080,2012010080
+2012010084,056046143
+2012010085,056090476
+2012030002,2012030002
+2012030009,2012030009
+2012030010,056010061
+2012030012,056050275
+2012030025,046020088
+2012030037,056020078
+2012030049,056090563
+2012030062,066090507
+2012030077,2012030077
+2012030078,046040213
+2012030083,2012030083
+2012060023,2012060023
+2012060024,2012060024
+2012060081,2012060081
+2012060082,2012060081
+2012060086,2012060086
+2012060087,2012060087
+2012070001,2012070001
+2012070002,2012070002
+2012070003,2012070003
+2012070004,2012070004
+2012070005,2012070005
+2012070006,2012070006
+2012070007,2012070007
+2012070008,2012070008
+2012070009,2007100369
+2012070010,2012070010
+2012070011,2012070011
+2012070012,2012070012
+2012070013,2012070013
+2012070014,2012070014
+2012070015,2012070015
+2012070016,2012070016
+2012070017,2012070017
+2012070018,2012070018
+2012070019,2012070019
+2012070020,2012070020
+2012070021,2012070021
+2012070022,2012070022
+2012070023,2012070023
+2012070024,2012070024
+2012070025,2012070025
+2012070026,2012070026
+2012070027,2012070027
+2012070028,2012070028
+2012070029,2012070029
+2012070030,2012070030
+2012070031,2012070031
+2012070032,2012070032
+2012070033,2012070033
+2012070034,2012070034
+2012070035,2012070035
+2012070036,2012070036
+2012070037,2012070037
+2012070038,2012070038
+2012070039,2012070039
+2012070040,2012070040
+2012070042,2012070042
+2012070043,2012070043
+2012070044,2012070044
+2012070045,2012070045
+2012070046,2012070046
+2012070047,2012070047
+2012070048,2012070048
+2012070049,2012070049
+2012070050,2012070050
+2012070051,2012070051
+2012070052,2012070052
+2012070053,2012070053
+2012070054,2012070054
+2012070056,2012070056
+2012070057,2012070057
+2012070058,2012070058
+2012070060,063174
+2012070061,2012070061
+2012070062,2012070062
+2012070063,2012070063
+2012070064,2012070064
+2012070065,2012070065
+2012070066,2012070066
+2012070067,2012070067
+2012070068,2012070068
+2012070069,2012070069
+2012070070,2012070070
+2012070071,2012070071
+2012070072,2012070072
+2012070073,2012070073
+2012070074,2012070074
+2012070075,2012070075
+2012070076,2012070076
+2012070077,2012070077
+2012070080,2012070080
+2012070081,2012070081
+2012070082,2012070082
+2012070085,2008303225
+2012070086,2008301886
+2012070087,2008300642
+2012070088,2012070088
+2012070089,2012070089
+2012070090,2012070090
+2012070091,2012070091
+2012070092,2012070092
+2012070093,2012070093
+2012070094,2012070094
+2012070095,2012070095
+2012070096,2012070096
+2012070097,2012070097
+2012070098,2012070098
+2012070099,2012070099
+2012070100,2012070100
+2013010001,2013010001
+2013010002,2008100358
+2013010003,2013010003
+2013010004,2013010004
+2013010005,2007200297
+2013010006,056030158
+2013010007,066030132
+2013010008,057010052
+2013010009,066110684
+2013010010,056120756
+2013010011,2013010011
+2013010015,2013010015
+2013010016,2013010016
+2013010017,057040120
+2013010018,2013010018
+2013010019,2013010019
+2013010020,046110704
+2013010025,066096618
+2013010026,050544
+2013010027,043084
+2013010028,2013010028
+2013010029,2013010029
+2013010030,2013010030
+2013010032,2013010032
+2013010037,2013010037
+2013010039,2013010039
+2013010040,2013010040
+2013010041,046010025
+2013010043,2013010043
+2013010044,2013010044
+2013010045,2013010045
+2013010047,2013010047
+2013010048,2013010048
+2013010049,051155
+2013010050,056050305
+2013010051,066010044
+2013010052,2010202193
+2013010054,2013010054
+2013010055,2013010055
+2013010056,2013010056
+2013010057,2013010057
+2013010058,2013010058
+2013010059,2013010059
+2013010060,2013010060
+2013010061,066106672
+2013010062,2013010062
+2013010064,2013010064
+2013010065,2013010065
+2013010066,2013010066
+2013010067,2013010067
+2013010069,2003010161
+2013010070,2013010070
+2013010071,2013010071
+2013010072,2013010072
+2013010073,2013010073
+2013010074,056100608
+2013010075,2013010075
+2013010076,2013010076
+2013010077,2013010077
+2013010078,066080447
+2013010079,056056221
+2013010080,056010046
+2013010081,2013010081
+2013010082,2013010082
+2013010083,066056338
+2013010084,043071
+2013010085,043086
+2013010086,2013010086
+2013010087,066187048
+2013010089,2007201117
+2013010091,066030151
+2013010092,2013010092
+2013010093,040096
+2013010094,2013010094
+2013010095,2007201496
+2013010096,2013010096
+2013010097,066046205
+2013010099,2013010099
+2013010100,2007200193
+2013010102,2007200776
+2013010103,046046217
+2013010104,2013010104
+2013010105,040921
+2013010106,2013010106
+2013030013,066010020
+2013030014,2013030014
+2013030021,046040217
+2013030022,2013030022
+2013030023,2013030023
+2013030024,066110710
+2013030038,2007200729
+2013030042,2013030042
+2013030046,2013030046
+2013030053,2013030053
+2013030063,2013030063
+2013030068,2013030068
+2013030088,2007201262
+2013030090,2013030090
+2013030098,066180776
+2013060031,2013060031
+2013060033,2013060033
+2013060101,2013060101
+2013060107,2013060107
+2013070004,2013070004
+2013070005,2013070005
+2013070006,2013070006
+2013070009,2013070009
+2013070010,2013070010
+2013070011,2013070011
+2013070013,2013070013
+2013070014,2013070014
+2013070015,2013070015
+2013070016,2007201763
+2013070017,2013070017
+2013070018,2013070018
+2013070019,2013070019
+2013070020,2013070020
+2013070021,2013070021
+2013070022,2013070022
+2013070023,2013070023
+2013070024,2013070024
+2013070025,2013070025
+2013070026,2013070026
+2013070027,2013070027
+2013070028,2013070028
+2013070029,2013070029
+2013070030,2013070030
+2013070031,2009303551
+2013070032,2013070032
+2013070033,2013070033
+2013070034,2009303254
+2013070035,2009302515
+2013070036,2013070036
+2013070037,2013070037
+2013070038,2013070038
+2013070041,2013070041
+2013070042,2013070042
+2013070043,2013070043
+2013070044,2013070044
+2013070045,2013070045
+2013070046,2013070046
+2013070047,2013070047
+2013070048,2013070048
+2013070049,2013070049
+2013070050,2013070050
+2013070051,2013070051
+2013070052,2013070052
+2013070053,2013070053
+2013070054,2013070054
+2013070056,2013070056
+2013070057,2013070057
+2013070058,2013070058
+2013070059,2013070059
+2013070060,2013070060
+2013070061,2013070061
+2013070062,2013070062
+2013070063,2013070063
+2013070064,2013070064
+2013070065,2013070065
+2013070066,2013070066
+2013070067,2013070067
+2013070068,2013070068
+2013070069,2013070069
+2013070070,2013070070
+2013070071,2007240038
+2013070072,2013070072
+2013070073,2013070073
+2013070074,2013070074
+2013070075,2013070075
+2013070076,2013070076
+2014000217,2014000217
+2014010001,040068
+2014010002,2007200764
+2014010003,046050338
+2014010004,2014010004
+2014010005,2014010005
+2014010006,2014010006
+2014010007,066026073
+2014010008,056090531
+2014010009,2014010009
+2014010010,2014010010
+2014010011,2014010011
+2014010012,043117
+2014010013,2008201644
+2014010014,043092
+2014010015,2014010015
+2014010016,067050083
+2014010017,066120731
+2014010018,066100631
+2014010019,2014010019
+2014010020,066090516
+2014010021,056010053
+2014010022,2014010022
+2014010023,2014010023
+2014010029,2014010029
+2014010030,2014010030
+2014010032,057020075
+2014010033,2014010033
+2014010034,2007201152
+2014010035,2008303161
+2014010047,2014010047
+2014010048,2007200835
+2014010049,2014010049
+2014010051,2014010051
+2014010052,2014010052
+2014010053,2014010053
+2014010054,2014010054
+2014010057,2014010057
+2014010058,2014010058
+2014010059,2014010059
+2014010060,2014010060
+2014010061,2014010061
+2014010063,062982
+2014010064,061370
+2014010065,063112
+2014010066,053164
+2014010067,053429
+2014010068,2011202341
+2014010069,2011201306
+2014010070,2007303143
+2014010071,2007301569
+2014010072,050032
+2014010073,2014010073
+2014010074,2007200859
+2014010075,2007201001
+2014010076,2007200922
+2014010077,2007300554
+2014010078,2007200268
+2014010079,2014010079
+2014010080,066060351
+2014010081,066066415
+2014010082,2007100224
+2014010084,2014010084
+2014010085,066080443
+2014010088,2007201517
+2014010089,077134146
+2014010090,2014010090
+2014010091,2014010091
+2014010092,042519
+2014010093,066096562
+2014010094,2007300860
+2014010095,2014010095
+2014010096,2014010096
+2014010097,2014010097
+2014010098,2014010098
+2014010099,2014010099
+2014010100,2014010100
+2014010109,2014010109
+2014010110,2014010110
+2014010111,2014010111
+2014010112,2014010112
+2014010113,2014010113
+2014010114,2011200453
+2014010115,2014010115
+2014010116,2014010116
+2014010117,2014010117
+2014010118,2014010118
+2014010119,2014010119
+2014010120,2014010120
+2014010121,2014010121
+2014010122,2014010122
+2014010123,2014010123
+2014010124,2007303053
+2014010126,2014010126
+2014010127,042868
+2014010128,050220
+2014010129,2008201727
+2014010130,2007200936
+2014010131,2010100579
+2014010132,2008202050
+2014010133,2014010133
+2014010134,2012262189
+2014010135,050482
+2014010138,2014010138
+2014010139,2013060101
+2014010140,2014010140
+2014010141,2014010141
+2014010142,042663
+2014010143,2014010143
+2014010144,040821
+2014010145,053180
+2014010146,2007100119
+2014010147,2014010147
+2014010148,052826
+2014010149,2014010149
+2014010150,2014010150
+2014010151,046040263
+2014010152,052349
+2014010153,2007200843
+2014010154,2014010154
+2014010155,2014010155
+2014010156,2014010156
+2014010157,2014010157
+2014010158,2014010158
+2014010159,2014010159
+2014010160,2014010160
+2014010163,046116731
+2014010164,2014010164
+2014010165,2014010165
+2014010166,2014010166
+2014010167,2014010167
+2014010168,2014010168
+2014010169,2014010169
+2014010170,046096569
+2014010205,056090529
+2014010206,067050386
+2014010207,2014010207
+2014010208,2014010208
+2014010209,067070427
+2014010210,2014010210
+2014010211,2014010211
+2014010212,2014010212
+2014010213,2014010213
+2014010214,2014010214
+2014010215,2014010215
+2014010223,2014010223
+2014010225,051132
+2014010226,050432
+2014010227,040826
+2014010228,2007200227
+2014010229,040477
+2014010230,2007200068
+2014010231,2009200966
+2014010232,053552
+2014010233,053572
+2014010234,041878
+2014010235,2007200417
+2014010236,041855
+2014030031,2007201863
+2014030050,066046268
+2014030062,2007200480
+2014030083,056010025
+2014030086,057010071
+2014030136,2014030136
+2014030137,2009100300
+2014030161,056040223
+2014030216,050092
+2014030222,2014030222
+2014030237,2014030237
+2014060055,2014010054
+2014060056,2014010053
+2014060087,2014060087
+2014060162,2014060162
+2014060186,2014060186
+2014060204,2014060204
+2014060218,2014060218
+2014060224,2014060224
+2014060238,2014060238
+2014070001,2014070001
+2014070002,2014070002
+2014070003,2014070003
+2014070004,2014070004
+2014070005,2014070005
+2014070006,2014070006
+2014070007,2014070007
+2014070008,2014070008
+2014070009,2014070009
+2014070010,2014070010
+2014070011,2014070011
+2014070012,2014070012
+2014070013,2014070013
+2014070014,2014070014
+2014070015,2014070015
+2014070016,2014070016
+2014070017,2013212176
+2014070018,2014070018
+2014070019,2014070019
+2014070020,2014070020
+2014070021,2014070021
+2014070022,2014070022
+2014070023,2014070023
+2014070024,2014070024
+2014070025,2014070025
+2014070026,2014070026
+2014070027,060447
+2014070028,2014070028
+2014070029,2010202188
+2014070030,2014070030
+2014070031,2014070031
+2014070032,2014070032
+2014070033,2014070033
+2014070034,2013210443
+2014070035,2014070035
+2014070036,2014070036
+2014070037,2014070037
+2014070038,2014070038
+2014070039,2014070039
+2014070040,2014070040
+2014070041,2014070041
+2014070042,2014070042
+2014070043,2014070043
+2014070044,2014070044
+2014070045,2014070045
+2014070046,2014070046
+2014070047,2014070047
+2014070048,2014070048
+2014070049,2014070049
+2014070050,2014070050
+2014070051,2014070051
+2014070052,2014070052
+2014070054,2014070054
+2014070055,2014070055
+2014070056,2014070056
+2014070057,2014070057
+2014070058,2014070058
+2014070059,2014070059
+2014070060,2010300877
+2014070061,2010303374
+2014070062,2010303130
+2014070063,2014070063
+2014070064,2014070064
+2014070065,2014070065
+2014070066,2014070066
+2014070067,2014070067
+2014070068,2014070068
+2014070069,2014070069
+2014070070,2014070070
+2014070071,2014070071
+2014070072,2014070072
+2014070073,2014070073
+2014070074,2014070074
+2014070075,2014070075
+2014070076,2014070076
+2014070077,2014070077
+2014070078,2014070078
+2014070079,2014070079
+2014070080,2014070080
+2014070081,2014070081
+2014070082,2014070082
+2014070083,2014070083
+2014070084,2014070084
+2014070086,2014070086
+2014070087,2014070087
+2014070088,2014070088
+2014070089,2014070089
+2014070090,2014070090
+2014070091,2014070091
+2014070092,2014070092
+2014070093,2014070093
+2014070094,2014070094
+2014070095,2014070095
+2014070097,2014070097
+2014070098,2014070098
+2014070099,2014070099
+2014070100,2014070100
+2014070101,2014070101
+2014070102,2014070102
+2014070103,2014070103
+2014070104,2014070104
+2014070105,2014070105
+2014070106,2014070106
+2014070107,2014070107
+2014070108,2014070108
+2014070109,2014070109
+2014070110,2010210679
+2014070111,2014070111
+2014070112,2014070112
+2014070113,2014070113
+2014070114,2014070114
+2014070115,2014070115
+2014070116,2014070116
+2014070117,2014070117
+2014070118,2014070118
+2014070119,2014070119
+2014070120,2014070120
+2014070121,2014070121
+2014070122,2014070122
+2014070123,2014070123
+2014070124,2014070124
+2014070125,2014070125
+2014070126,2014070126
+2014070127,2014070127
+2014070128,2014070128
+2014070129,2014070129
+2014070130,2014070130
+2014070131,2014070131
+2014070132,2014070132
+2014070133,2014070133
+2014070134,2014070134
+2014070135,2014070135
+2014070136,2014070136
+2014070137,2014070137
+2014070138,2014070138
+2014070139,2014070139
+2014070140,2014070140
+2014070141,2014070141
+2014070142,2014070142
+2014070143,2014070143
+2014070144,2014070144
+2014070145,2007210005
+2014070146,2014070146
+2014070147,2014070147
+2014070148,2014070148
+2014070149,2014070149
+2014070150,2014070150
+2014070151,2014070151
+2014070152,2014070152
+2014070153,2014070153
+2014070154,2014070154
+2014070155,2014070155
+2014070156,2014070156
+2014070157,2014070157
+2014070158,2014070158
+2014070159,2014070159
+2014070160,2014070160
+2014070161,2014070161
+2014070162,2014070162
+2014070163,2014070163
+2014070164,2014070164
+2014070165,2014070165
+2014070166,2014070166
+2014070167,2014070167
+2014070299,2014070299
+2015000075,2015000075
+2015010003,2008100456
+2015010004,046100659
+2015010005,043093
+2015010006,2015010006
+2015010007,2007200575
+2015010008,040017
+2015010009,2009200120
+2015010010,2008200664
+2015010011,2015010011
+2015010012,2015010012
+2015010013,2015010013
+2015010014,046050325
+2015010015,042892
+2015010016,2008200182
+2015010017,2015010017
+2015010018,2015010018
+2015010019,040003
+2015010020,063067
+2015010022,2015010022
+2015010031,2015010031
+2015010033,052792
+2015010034,2008200481
+2015010035,060047
+2015010036,050318
+2015010037,2008201562
+2015010038,040980
+2015010039,2007201458
+2015010040,062963
+2015010041,2007301939
+2015010042,2007300551
+2015010043,2008300571
+2015010044,2008302559
+2015010045,2008303119
+2015010046,060604
+2015010047,2008303262
+2015010048,2008300544
+2015010049,061369
+2015010050,2007302914
+2015010051,2007301204
+2015010052,2008300755
+2015010053,2008300840
+2015010054,2008303142
+2015010055,2008303470
+2015010056,2007303365
+2015010057,2008302973
+2015010058,2008301489
+2015010059,2008300422
+2015010060,2008300177
+2015010061,2008303136
+2015010062,2008301812
+2015010063,2008302113
+2015010064,2012202390
+2015010065,2008300268
+2015010066,2015010066
+2015010067,2008302467
+2015010068,2015010068
+2015010069,2008300789
+2015010070,051425
+2015010071,2015010071
+2015010073,051581
+2015010080,2015010080
+2015010081,2015010081
+2015010082,2015010082
+2015010083,2015010083
+2015010084,2015010084
+2015010085,2015010085
+2015010088,2015010088
+2015010089,2015010089
+2015010091,2007201553
+2015010092,2008302735
+2015010093,2015010093
+2015010094,047020086
+2015010096,2008302531
+2015010097,2015010097
+2015010098,062273
+2015010099,2015010099
+2015010100,2008301086
+2015010101,042942
+2015010102,2007200419
+2015010103,2015010103
+2015010104,2015010104
+2015010105,2015010105
+2015010106,2009200438
+2015010107,066080405
+2015010108,2015010108
+2015010109,2009100084
+2015010110,2007201415
+2015010111,2015010111
+2015010112,2015010112
+2015010113,2008303190
+2015010114,2015010114
+2015010115,2015010115
+2015010116,043048
+2015010117,2015010117
+2015010118,2015010118
+2015010119,2015010119
+2015010120,2007200768
+2015010121,2015010121
+2015010122,042398
+2015010123,2015010123
+2015010124,056090579
+2015010125,2015010125
+2015010126,2015010126
+2015010127,2015010127
+2015010128,2015010128
+2015010130,2015010130
+2015010131,2015010131
+2015010132,2015010132
+2015010133,060220
+2015010134,2007200449
+2015010135,060866
+2015010136,2015010136
+2015010138,2015010138
+2015010139,2015010139
+2015010140,2015010140
+2015010141,056064064
+2015010142,2015010142
+2015010145,2015010145
+2015010146,2015010146
+2015010151,052973
+2015010152,2015010152
+2015010154,2015010154
+2015010155,2015010155
+2015010156,2015010156
+2015010158,2015010158
+2015010159,2011301044
+2015010160,2015010160
+2015010161,2015010161
+2015010162,2015010162
+2015010163,066026069
+2015010164,2015010164
+2015010165,2015010165
+2015010166,2015010166
+2015010169,2015010169
+2015010170,2015010170
+2015010171,066120732
+2015010172,2015010172
+2015010173,2008302982
+2015010174,2015010174
+2015010175,2015010175
+2015010176,2015010176
+2015010180,2015010180
+2015010181,2015010181
+2015010186,061091
+2015010187,2007200192
+2015010189,2015010189
+2015010190,2015010190
+2015010191,2015010191
+2015010192,053158
+2015010193,053023
+2015010194,2015010194
+2015010197,2015010197
+2015010198,2015010198
+2015010199,2008200540
+2015030023,2015030023
+2015030024,2007201385
+2015030025,2015030025
+2015030029,2015030029
+2015030072,2015030072
+2015030086,2007201213
+2015030087,046126900
+2015030129,2008200185
+2015030143,040412
+2015030144,046050346
+2015030147,2009201533
+2015030150,2011100023
+2015030168,2015010121
+2015030179,2009100255
+2015030188,2007100306
+2015030195,2008100092
+2015030196,2015030196
+2015060001,2015060001
+2015060002,2015060002
+2015060021,2015060021
+2015060026,2015060026
+2015060027,2015060027
+2015060028,2015060028
+2015060030,2015060030
+2015060032,2015060032
+2015060074,2015060074
+2015060076,2015060076
+2015060077,2015060077
+2015060078,2015060078
+2015060079,2015060079
+2015060090,2015060090
+2015060095,2015060095
+2015060137,2015060137
+2015060148,2015060148
+2015060149,2015060149
+2015060153,2015060153
+2015060157,2015060157
+2015060167,2015060167
+2015060177,2015060177
+2015060178,2015060178
+2015060182,2015060182
+2015060183,2015060183
+2015060184,2015060184
+2015060185,2015060185
+2015060200,2015060200
+2015070001,2015070001
+2015070002,2015070002
+2015070003,2015070003
+2015070004,2015070004
+2015070005,2015070005
+2015070006,2015070006
+2015070007,2015070007
+2015070008,2015070008
+2015070009,2015070009
+2015070010,2015070010
+2015070011,2015070011
+2015070013,2015070013
+2015070014,2015070014
+2015070015,2015070015
+2015070016,2015070016
+2015070017,2015070017
+2015070018,2015070018
+2015070019,2015070019
+2015070020,2015070020
+2015070021,2015070021
+2015070022,2015070022
+2015070023,2015070023
+2015070024,2015070024
+2015070025,2015070025
+2015070026,2015070026
+2015070027,2015070027
+2015070028,2015070028
+2015070029,2015070029
+2015070031,2015070031
+2015070034,2015070034
+2015070035,2015070035
+2015070036,2015070036
+2015070037,2015070037
+2015070038,2015070038
+2015070039,2015070039
+2015070040,2015070040
+2015070041,2015070041
+2015070042,2015070042
+2015070043,2015070043
+2015070044,2015070044
+2015070045,2015070045
+2015070046,2015070046
+2015070047,2015070047
+2015070048,2011300419
+2015070049,2015070049
+2015070050,2015070050
+2015070051,2015070051
+2015070053,2015070053
+2015070054,2015070054
+2015070055,2011300710
+2015070056,2011303460
+2015070057,2015070057
+2015070058,2015070058
+2015070059,2015070059
+2015070060,2015070060
+2015070061,2015070061
+2015070062,2015070062
+2015070063,2015070063
+2015070064,2015070064
+2015070065,2015070065
+2015070066,2015070066
+2015070067,2015070067
+2015070068,2015070068
+2015070069,2015070069
+2015070070,2015070070
+2015070072,2015070072
+2015070073,2015070073
+2015070074,2015070074
+2015070075,2015070075
+2015070076,2015070076
+2015070078,2015070078
+2015070079,2015070079
+2015070080,2015070080
+2015070081,2015070081
+2015070082,2015070082
+2015070083,2015070083
+2015070084,2015070084
+2015070085,2015070085
+2015070087,2015070087
+2015070088,2015070088
+2015070089,2015070089
+2015070090,2015070090
+2015070091,2015070091
+2015070092,2015070092
+2015070093,2015070093
+2015070094,2015070094
+2015070095,2015070095
+2015070096,2015070096
+2015070097,2015070097
+2015070098,2015070098
+2015070099,2015070099
+2015070100,2015070100
+2015070101,2015070101
+2015070102,2015070102
+2015070103,2015070103
+2015070104,2015070104
+2015070105,2015070105
+2015070106,2015070106
+2015070107,2015070107
+2015070108,2015070108
+2015070109,2015070109
+2015070110,2015070110
+2015070111,2015070111
+2015070112,2015070112
+2015070113,2015070113
+2015070114,2015070114
+2015070115,2015070115
+2015070116,2015070116
+2015070117,2015070117
+2015070118,2015070118
+2015070119,2015070119
+2016010001,2016010001
+2016010002,2016010002
+2016010003,2016010003
+2016010005,2016010005
+2016010006,046040260
+2016010007,2016010007
+2016010008,2016010008
+2016010010,2015060149
+2016010012,042091
+2016010013,2016010013
+2016010014,040665
+2016010015,2007200218
+2016010016,040048
+2016010017,2016010017
+2016010018,2016010018
+2016010020,2016010020
+2016010021,2016010021
+2016010022,060153
+2016010023,040525
+2016010024,2016010024
+2016010025,2016010025
+2016010026,050251
+2016010027,053255
+2016010028,2016010028
+2016010029,040142
+2016010030,2007201405
+2016010031,2016010031
+2016010032,2016010032
+2016010033,2016010033
+2016010034,2016010034
+2016010035,040115
+2016010036,2016010036
+2016010037,2016010037
+2016010038,2016010038
+2016010039,2016010039
+2016010040,2016010040
+2016010041,2016010041
+2016010042,2016010042
+2016010043,2016010043
+2016010044,2016010044
+2016010045,2016010045
+2016010046,2008300933
+2016010047,2008302205
+2016010048,2008303459
+2016010049,2007302196
+2016010050,2007302653
+2016010051,2009302804
+2016010052,2008302833
+2016010053,2009300747
+2016010054,2009301924
+2016010055,2009301037
+2016010056,2009300363
+2016010057,2009301538
+2016010058,2009302538
+2016010059,2016010059
+2016010060,2009303310
+2016010061,2009301764
+2016010062,2009302507
+2016010063,2009301780
+2016010064,046096557
+2016010065,2009302284
+2016010066,2016010066
+2016010067,2009303061
+2016010068,2009303196
+2016010069,2009302997
+2016010070,2015060157
+2016010071,2016010071
+2016010072,2013200409
+2016010073,2013260712
+2016010074,2016010074
+2016010076,2016010076
+2016010078,2008301828
+2016010079,2016010079
+2016010080,2016010080
+2016010082,2016010082
+2016010083,2010303158
+2016010084,2016010084
+2016010085,2016010085
+2016010086,2016010086
+2016010087,2016010087
+2016010088,2007201316
+2016010089,2009201073
+2016010090,2016010090
+2016010091,2016010091
+2016010092,2016010092
+2016010093,2016010093
+2016010094,2016010094
+2016010097,2016010097
+2016010098,2016010098
+2016010099,2016010099
+2016010100,2016010100
+2016010101,2016010101
+2016010102,2016010102
+2016010103,2016010103
+2016010104,2016010104
+2016010105,2016010105
+2016010106,2016010106
+2016010107,2016010107
+2016010108,053550
+2016010110,2016010110
+2016010111,2016010111
+2016010112,2016010112
+2016010113,2016010113
+2016010114,2016010114
+2016010115,2016010115
+2016010116,2009202123
+2016010117,2009301154
+2016010118,2016010118
+2016010119,2016010119
+2016010120,2016010120
+2016010121,2016010121
+2016010122,2015060032
+2016010123,2016010123
+2016010124,2016010124
+2016010125,2016010125
+2016010126,2016010126
+2016010127,2016010127
+2016010128,2016010128
+2016010129,2016010129
+2016010130,2016010130
+2016010131,2016010131
+2016010133,2016010133
+2016010134,2016010134
+2016010135,2016010135
+2016010136,2016010136
+2016010137,2016010137
+2016010138,2016010138
+2016010139,2016010139
+2016010140,2016010140
+2016010141,2016010141
+2016010142,2016010142
+2016010143,2016010143
+2016010144,060016
+2016010145,060006
+2016010146,05614G002
+2016010147,2016010147
+2016010148,2016010148
+2016010149,2016010149
+2016010150,2016010150
+2016010151,2016010151
+2016010152,2016010152
+2016010153,2016010153
+2016010155,2016010155
+2016010157,2016010157
+2016010158,2016010158
+2016010159,2010201755
+2016010160,2009303278
+2016010161,2008303249
+2016010163,2016010163
+2016010164,040823
+2016010168,2016010168
+2016010169,2016010169
+2016010170,2016010170
+2016010171,20140P0280
+2016010172,2016010172
+2016010173,2016010173
+2016010174,2016010174
+2016010176,2016010176
+2016010177,2016010177
+2016010179,2007200104
+2016010180,2016010180
+2016010181,2007200555
+2016010182,2016010182
+2016010183,2016010183
+2016010184,2016010184
+2016010185,2016010185
+2016010186,066187049
+2016010187,051389
+2016010189,2016010189
+2016010190,2016010190
+2016010191,2016010191
+2016010192,2016010192
+2016010193,2016010193
+2016010194,2016010194
+2016010196,056056330
+2016010197,2016010197
+2016010198,040672
+2016010199,2016010199
+2016010200,2016010200
+2016010201,2007100026
+2016010202,2016010202
+2016010203,060677
+2016010204,2016010204
+2016010205,2016010205
+2016010206,2016010206
+2016010208,2016010208
+2016010210,2016010210
+2016010211,2016010211
+2016010213,2016010213
+2016010215,2007300853
+2016010217,2016010217
+2016010218,2016010218
+2016010219,053809
+2016010220,040105
+2016010221,2007200579
+2016010222,2007301138
+2016010223,2016010223
+2016010224,2016010224
+2016010225,062939
+2016010226,2009201378
+2016010227,2016010227
+2016010228,062240
+2016010229,2016010229
+2016010230,2016010230
+2016010231,2016010231
+2016010232,2016010232
+2016010233,2016010233
+2016010234,2016010234
+2016010235,2007302233
+2016010236,2016010236
+2016010238,2016010238
+2016010239,2015070054
+2016010240,2016010240
+2016030004,2016030004
+2016030009,2016030009
+2016030077,2016030077
+2016030095,046100669
+2016030096,2016030096
+2016030154,2016030154
+2016030166,2016030166
+2016030167,2016030167
+2016030175,2016030175
+2016030188,2016030188
+2016030207,2016030207
+2016030209,2008200350
+2016030214,060928
+2016060011,2016060011
+2016060019,2016060019
+2016060075,2016060075
+2016060081,2016060081
+2016060109,2016060109
+2016060132,2016060132
+2016060156,2016060156
+2016060162,2016060162
+2016060165,2016060165
+2016060178,2016060178
+2016060195,2016060195
+2016060212,2016060212
+2016060216,2016060216
+2016060237,2016060237
+2016060241,2016060241
+2016070001,2016070001
+2016070002,2016070002
+2016070003,2016070003
+2016070004,2016070004
+2016070005,2016070005
+2016070006,2016070006
+2016070007,2016070007
+2016070008,2016070008
+2016070009,2016070009
+2016070010,2013200617
+2016070011,2016070011
+2016070012,2016070012
+2016070013,2016070013
+2016070014,2011303158
+2016070015,2016070015
+2016070016,2016070016
+2016070017,2016070017
+2016070018,2016070018
+2016070019,2016070019
+2016070020,2016070020
+2016070021,2016070021
+2016070022,2012100407
+2016070023,2016070023
+2016070024,2016070024
+2016070025,2016070025
+2016070026,2016070026
+2016070027,2016070027
+2016070028,2016070028
+2016070029,2016070029
+2016070030,2016070030
+2016070031,2016070031
+2016070032,2016070032
+2016070033,2016070033
+2016070035,2016070035
+2016070036,2016070036
+2016070037,2016070037
+2016070038,2016070038
+2016070039,2016070039
+2016070040,2016070040
+2016070041,2016070041
+2016070042,2009303222
+2016070043,2016070043
+2016070044,2016070044
+2016070045,2016070045
+2016070046,2016070046
+2016070047,2016070047
+2016070048,2016070048
+2016070049,2016070049
+2016070050,2016070050
+2016070051,2016070051
+2016070052,2016070052
+2016070053,2011303086
+2016070054,2016070054
+2016070055,2016070055
+2016070056,2016070056
+2016070057,2016070057
+2016070058,2016070058
+2016070059,2016070059
+2016070060,2016070060
+2016070061,2016070061
+2016070062,2016070062
+2016070063,2016070063
+2016070064,2016070064
+2016070065,2016070065
+2016070066,2016070066
+2016070067,2016070067
+2016070069,2016070069
+2016070070,2016070070
+2016070071,2016070071
+2016070072,2016070072
+2016070073,2016070073
+2016070075,2016070075
+2016070076,2016070076
+2016070077,2016070077
+2016070078,2016070078
+2016070079,2016070079
+2016070080,2016070080
+2016070081,2016070081
+2016070082,2016070082
+2016070083,2016070083
+2016070084,2016070084
+2016070085,2016070085
+2016070086,2016070086
+2016070087,2016070087
+2016070088,2016070088
+2016070089,2008302978
+2016070090,2016070090
+2016070091,2016070091
+2016070092,2013262218
+2016070093,2016070093
+2016070094,2016070094
+2016070095,2016070095
+2016070096,2016070096
+2016070098,2016070098
+2016070099,2016070099
+2016070100,2016070100
+2016070102,2016070102
+2016070103,2016070103
+2016070104,2016070104
+2016070105,2016070105
+2016070106,2016070106
+2016070107,2016070107
+2016070108,2012301039
+2016070109,2012302153
+2016070110,2016070110
+2016070112,2016070112
+2016070113,2016070113
+2016070114,2016070114
+2016070115,2016070115
+2016070116,2012303255
+2016070117,2016070117
+2016070118,2016070118
+2016070119,2016070119
+2016070120,2016070120
+2016070121,2016070121
+2016070122,2016070122
+2016070123,2016070123
+2016070124,2016070124
+2016070125,2016070125
+2016070126,2010300940
+2016070128,2016070128
+2016070129,2016070129
+2016070130,2016070130
+2016070131,2016070131
+2016070132,2016070132
+2016070135,2016070135
+2016070136,2016070136
+2016070138,2016070138
+2016070139,2016070139
+2016070140,2016070140
+2016070141,2016070141
+2016070143,2016070143
+2016070144,2016070144
+2016070145,2012201964
+2016070146,2016070146
+2016070148,2016070148
+2016070149,2016070149
+2016070150,2016070150
+2016070151,2012070088
+2016070152,2016070152
+2016070153,2016070153
+2016070154,2016070154
+2016070155,2016070155
+2016070156,2016070156
+2016070157,2016070157
+2016070158,2016070158
+2016070159,2016070159
+2016070160,2016070160
+2016070161,2016070161
+2016070162,2016070162
+2016070163,2016070163
+2016070164,2016070164
+2016070165,2016070165
+2016070166,2016070166
+2016070167,2016070167
+2016070168,2016070168
+2016070169,2016070169
+2016070170,2016070170
+2016070171,2016070171
+2016070172,2016070172
+2016070173,2016070173
+2016070174,2016070174
+2016070175,2016070175
+2016070176,2016070176
+2016070177,2016070177
+2016070178,2016070178
+2016070179,2016070179
+2016070180,2016070180
+2016070181,2016070181
+2016070182,2016070182
+2016070183,2016070183
+2016070184,2016070184
+2016070185,2016070185
+2016070186,2016070186
+2016070187,2013202437
+2016070188,2016070188
+2016070189,2016070189
+2016070190,2016070190
+2016070191,2016070191
+2016070192,2016070192
+2016070193,2016070193
+2016070194,2016070194
+2016070198,2016070198
+20170000001,20170000001
+2017010001,2014200410
+2017010002,2007200377
+2017010003,2017010003
+2017010004,2017010004
+2017010005,2017010005
+2017010007,2017010007
+2017010009,2017010009
+2017010010,2017010010
+2017010011,2017010011
+2017010012,2017010012
+2017010013,2017010013
+2017010014,2007300650
+2017010015,050428
+2017010016,2008201578
+2017010017,066020116
+2017010018,2007201794
+2017010019,2017010019
+2017010020,2017010020
+2017010021,2017010021
+2017010022,2015070090
+2017010023,2010202149
+2017010024,2017010024
+2017010025,2017010025
+2017010026,2017010026
+2017010027,2017010027
+2017010028,2014070067
+2017010029,2015070089
+2017010030,2017010030
+2017010031,2017010031
+2017010032,20140P0349
+2017010034,20140P0436
+2017010035,2017010035
+2017010036,042328
+2017010037,2017010037
+2017010038,2017010038
+2017010039,2012201434
+2017010040,061878
+2017010041,2007200623
+2017010042,2017010042
+2017010043,2007302650
+2017010044,2017010044
+2017010045,2017010045
+2017010046,2017010046
+2017010047,2017010047
+2017010048,2017010048
+2017010049,2017010049
+2017010051,2017010051
+2017010052,2016010021
+2017010053,2017010053
+2017010054,2017010054
+2017010055,2017010055
+2017010056,2017010056
+2017010057,2008200112
+2017010058,2017010058
+2017010059,041000
+2017010061,2017010061
+2017010062,2017010062
+2017010063,2017010063
+2017010065,2017010065
+2017010066,2017010066
+2017010067,051748
+2017010069,2017010069
+2017010070,040554
+2017010071,2017010071
+2017010072,2017010072
+2017010073,2008303225
+2017010074,060845
+2017010075,2008301422
+2017010076,2012100407
+2017010077,2008300642
+2017010078,2011300880
+2017010079,2010300564
+2017010080,2010301451
+2017010081,2010303108
+2017010082,2010303376
+2017010083,066016014
+2017010084,2010303534
+2017010085,2009300771
+2017010086,2010302082
+2017010087,2010301569
+2017010088,2008301886
+2017010089,2007302741
+2017010090,2014200989
+2017010091,2010301861
+2017010092,2010300943
+2017010093,2017010093
+2017010094,2010300976
+2017010095,2017010095
+2017010096,2017010096
+2017010097,2017010097
+2017010098,2017010098
+2017010099,2017010099
+2017010100,2017010100
+2017010101,2017010101
+2017010102,2017010102
+2017010105,2017010105
+2017010106,060792
+2017010109,2017010109
+2017010110,2017010110
+2017010111,2017010111
+2017010112,2017010112
+2017010113,2011303089
+2017010114,2010200213
+2017010115,2016060019
+2017010116,2017010116
+2017010117,056020090
+2017010118,2017010118
+2017010119,2017010119
+2017010120,2015060076
+2017010121,2017010121
+2017010122,2014201789
+2017010123,2017010123
+2017010124,2010100488
+2017010125,2017010125
+2017010128,2007201576
+2017010129,2007300023
+2017010130,2017010130
+2017010131,2017010131
+2017010132,2017010132
+2017010133,2017010133
+2017010134,2017010134
+2017010135,2017010135
+2017010136,2017010136
+2017010137,2017010137
+2017010138,2012302271
+2017010139,2017010139
+2017010140,2009200556
+2017010141,067080464
+2017010142,2017010142
+2017010143,2007200349
+2017010144,2017010144
+2017010145,2017010145
+2017010146,2017010146
+2017010147,2017010147
+2017010148,2017010148
+2017010149,2013100108
+2017010150,2017010150
+2017010155,2017010155
+2017010156,2007100327
+2017010158,2017010158
+2017010159,2017010159
+2017010160,2017010160
+2017010161,2007200389
+2017010162,2017010162
+2017010165,042081
+2017010166,2017010166
+2017010167,2017010167
+2017010168,2017010168
+2017010169,2017010169
+2017010170,2017010170
+2017010171,2017010171
+2017010172,2007302098
+2017010173,2012100250
+2017010174,2007300063
+2017010175,2017010175
+2017010176,046110746
+2017010177,060068
+2017010178,2017010178
+2017010179,2017010179
+2017010180,2017010180
+2017010181,2010201779
+2017010182,040028
+2017010183,2017010183
+2017010184,2017010184
+2017010185,2017010185
+2017010186,2017010186
+2017010187,2017010187
+2017010188,2007201385
+2017010189,2017010189
+2017010190,2017010190
+2017010191,2017010191
+2017010192,2017010192
+2017010193,062573
+2017010194,2017010194
+2017010195,2017010195
+2017010196,2017010196
+2017010197,2017010197
+2017010198,2017010198
+2017010199,2017010199
+2017010200,2017010200
+2017010201,2017010201
+2017010202,2017010202
+2017010204,2017010204
+2017010205,2017010205
+2017010206,2017010206
+2017010207,056080460
+2017010208,056020076
+2017010209,2017010209
+2017010210,040173
+2017010211,2017010211
+2017010212,2017010212
+2017010213,2017010213
+2017010215,040387
+2017010216,2017010216
+2017010217,2017010217
+2017010218,2017010218
+2017010219,2017010219
+2017010220,2017010220
+2017010221,2017010221
+2017010222,2017010222
+2017010223,2017010223
+2017010224,2012100623
+2017010225,2017010225
+2017010226,2017010226
+2017010227,2017010227
+2017010228,2017010228
+2017010229,2016060241
+2017010233,2017010233
+2017010236,2007301994
+2017010238,2017010238
+2017010239,2017010239
+2017010242,046054043
+2017010243,2017010243
+2017010244,2017010244
+2017010245,2017010245
+2017010246,2017010246
+2017010247,2017010247
+2017010248,053533
+2017010249,2015060183
+2017010250,2017010250
+2017010251,2017010251
+2017010252,2017010252
+2017010253,2017010253
+2017010254,2008100354
+2017010255,2017010255
+2017010256,2017010256
+2017010257,2017010257
+2017010258,2017010258
+2017010259,2017010259
+2017010260,053531
+2017010261,2017010261
+2017010262,2017010262
+2017010263,060607
+2017010264,2008302106
+2017010265,060034
+2017010267,2017010267
+2017010268,2010100538
+2017010269,2017010269
+2017010272,063010
+2017010273,2011200691
+2017010274,2007300614
+2017010275,060139
+2017010276,067024272
+2017010277,2017010277
+2017010278,2017010278
+2017010279,2017010279
+2017010280,2017010280
+2017030006,052086
+2017030008,2012100384
+2017030019,061082
+2017030033,042078
+2017030050,2017030050
+2017030060,2007300055
+2017030064,2017030064
+2017030068,061195
+2017030103,2017030103
+2017030104,2017030104
+2017030107,2008201110
+2017030108,2017030108
+2017030126,2017030126
+2017030127,2007200774
+2017030151,2017030151
+2017030152,2017030152
+2017030153,052990
+2017030154,2017030154
+2017030157,2017030157
+2017030163,2012100086
+2017030164,2017030164
+2017030203,2017030203
+2017030214,2017030214
+2017030230,050399
+2017030231,2017030231
+2017030232,2017030232
+2017030234,2017030234
+2017030235,20160P0093
+2017030237,051654
+2017030240,2017030240
+2017030241,2017030241
+2017030266,2017030266
+2017030270,2008300942
+2017030271,2017030271
+2017060001,2017060001
+2017060002,2017060002
+2017060003,2017060003
+2017060004,2017060004
+2017060005,2017060005
+2017060006,2017060006
+2017060007,2017060007
+2017060008,2017060008
+2017060009,2017060009
+2017060010,2017060010
+2017060011,2017060011
+2017060012,2017060012
+2017060013,2017060013
+2017060014,2017060014
+2017060015,2017060015
+2017060016,2017060016
+2017060017,2017060017
+2017060018,2017060018
+2017060019,2017060019
+2017060020,2017060020
+2017060021,2017060021
+2017060022,2017060022
+2017060023,2017060023
+2017060024,2017060024
+2017060025,2017060025
+2017060026,2017060026
+2017060027,2017060027
+2017060028,2017060028
+2017060029,2017060029
+2017060030,2017060030
+2017060031,2017060031
+2017060032,2017060032
+2017060033,2017060033
+2017060034,2017060034
+2017060035,2017060035
+2017060036,2017060036
+2017060037,2017060037
+2017060038,2017060038
+2017060039,2017060039
+2017060040,2017060040
+2017060041,2017060041
+2017060042,2017060042
+2017060043,2017060043
+2017060044,2017060044
+2017060045,2017060045
+2017060046,2017060046
+2017060047,2017060047
+2017060048,2017060048
+2017060049,2017060049
+2017060050,2017060050
+2017060051,2017060051
+2017060052,2017060052
+2017060053,2017060053
+2017070001,2017070001
+2017070002,2017070002
+2017070003,2017070003
+2017070006,2017070006
+2017070007,2017070007
+2017070008,2017070008
+2017070009,2017070009
+2017070010,2017070010
+2017070011,2017070011
+2017070012,2017070012
+2017070013,2017070013
+2017070014,2017070014
+2017070015,2017070015
+2017070016,2017070016
+2017070017,2017070017
+2017070018,2017070018
+2017070019,2017070019
+2017070020,2017070020
+2017070021,2017070021
+2017070022,2017070022
+2017070023,2017070023
+2017070024,2017070024
+2017070025,2017070025
+2017070026,2017070026
+2017070027,2017070027
+2017070028,2017070028
+2017070029,2017070029
+2017070030,2017070030
+2017070031,2017070031
+2017070032,2017070032
+2017070033,2017070033
+2017070034,2017070034
+2017070035,2014262670
+2017070036,2017070036
+2017070037,2017070037
+2017070038,2017070038
+2017070039,2017070039
+2017070040,2017070040
+2017070041,2017070041
+2017070042,2017070042
+2017070043,2014201979
+2017070044,2017070044
+2017070045,2017070045
+2017070046,2017070046
+2017070047,2017070047
+2017070048,2017070048
+2017070049,2017070049
+2017070050,2017070050
+2017070051,2017070051
+2017070052,2017070052
+2017070053,2017070053
+2017070054,2017070054
+2017070055,2017070055
+2017070056,2017070056
+2017070057,2017070057
+2017070058,2017070058
+2017070059,2017070059
+2017070060,2017070060
+2017070061,2017070061
+2017070062,2017070062
+2017070063,2017070063
+2017070064,2017070064
+2017070065,20140P0284
+2017070066,2017070066
+2017070067,2017070067
+2017070068,2014202478
+2017070069,2017070069
+2017070070,2017070070
+2017070071,2017070071
+2017070072,2017070072
+2017070073,2017070073
+2017070074,2017070074
+2017070075,2017070075
+2017070076,2017070076
+2017070077,2017070077
+2017070078,2007302804
+2017070079,2017070079
+2017070080,2017070080
+2017070081,2017070081
+2017070082,2017070082
+2017070083,2017070083
+2017070084,2014202477
+2017070085,2017070085
+2017070086,2017070086
+2017070087,2017070087
+2017070088,2017070088
+2017070089,2017070089
+2017070090,2016070124
+2017070091,2017070091
+2017070092,2017070092
+2017070093,2017070093
+2017070094,2017070094
+2017070095,2017070095
+2017070096,2017070096
+2017070097,2017070097
+2017070098,2017070098
+2017070099,2017070099
+2017070100,2017070100
+2017070101,20160P0099
+2017070102,2015070079
+2017070103,20140P0032
+2017070104,063036
+2017070105,2013303501
+2017070106,2017070106
+2017070107,2014202457
+2017070108,2017070108
+2017070109,2017070109
+2017070110,2017070110
+2017070111,2017070111
+2017070112,2016070070
+2017070113,2017070113
+2017070114,2015070118
+2017070115,2017070115
+2017070116,2017070116
+2017070117,2017070117
+2017070118,2017070118
+2017070119,2017070119
+2017070120,2017070120
+2017070121,2017070121
+2017070122,2017070122
+2017070123,2017070123
+2017070124,2017070124
+2017070125,2017070125
+2017070126,2017070126
+2017070127,2017070127
+2017070128,2017070128
+2017070129,2017070129
+2017070130,2017070130
+2017070132,2017070132
+2017070133,2017070133
+2017070134,2017070134
+2017070135,2017070135
+2017070136,2017070136
+2017070137,2017070137
+2017070138,2017070138
+2017070139,2017070139
+2017070140,2017070140
+2017070141,2017070141
+2017070142,2017070142
+2017070143,2017070143
+2017070144,2017070144
+2017070145,2017010222
+2017070146,2017070146
+2017070147,2017070147
+2017070148,2017070148
+2017070149,2017070149
+2017070150,2017070150
+2017070151,2017070151
+2017070152,2017070152
+2017070153,2017070153
+2017070154,2017070154
+2017070155,2017070155
+2017070156,2017070156
+2017070157,2017070157
+2017070158,2017070158
+2017070159,20140P0428
+2017070160,2017070160
+2017070161,2017070161
+2017070162,2017070162
+2017070163,2017070163
+2017070164,20160P0299
+2017070165,2017070165
+2017070166,2017070166
+2017070167,20160P0078
+2017070168,2017070168
+2017070169,2017070169
+2017070171,2008302778
+2017070172,2017070172
+2017070173,2017070173
+2017070174,2017070174
+2017070175,067100172
+2017070176,2017070176
+2017070177,2017070177
+2017070178,2017070178
+2017070179,2017070179
+2017070180,2017070180
+2017070181,2017070181
+2017070182,2017070182
+2017070183,2017070183
+2017070184,2017070184
+2017070185,2017070185
+2017080001,2017080001
+2018010001,2018010001
+2018010003,2007300039
+2018010004,053493
+2018010005,050250
+2018010006,2018010006
+2018010008,2018010008
+2018010009,050966
+2018010012,2015060178
+2018010013,2018010013
+2018010017,2018010017
+2018010018,2018010018
+2018010019,2018010019
+2018010020,2017060038
+2018010021,051452
+2018010022,2018010022
+2018010023,2018010023
+2018010024,2007200383
+2018010026,060216
+2018010027,2018010027
+2018010028,2018010028
+2018010029,2018010029
+2018010031,2008200013
+2018010032,2007201061
+2018010033,2018010033
+2018010034,062165
+2018010035,2018010035
+2018010036,050961
+2018010037,2007300107
+2018010038,060514
+2018010039,2007300313
+2018010040,2018010040
+2018010041,050377
+2018010042,2018010042
+2018010043,2018010043
+2018010044,2018010044
+2018010045,2018010045
+2018010046,2008300718
+2018010047,2018010047
+2018010048,2018010048
+2018010050,2007302106
+2018010052,2018010052
+2018010054,2018010054
+2018010055,2018010055
+2018010056,2007300867
+2018010058,2018010058
+2018010059,2018010059
+2018010061,2018010061
+2018010062,2018010062
+2018010063,2018010063
+2018010064,20170P0304
+2018010065,2018010065
+2018010066,047040160
+2018010067,2018010067
+2018010068,2018010068
+2018010069,2018010069
+2018010070,2018010070
+2018010071,2012200428
+2018010072,2018010072
+2018010073,2009300045
+2018010075,2018010075
+2018010076,2018010076
+2018010077,2018010077
+2018010078,2018010078
+2018010079,062843
+2018010081,060881
+2018010082,2008301167
+2018010083,061189
+2018010086,2018010086
+2018010087,2018010087
+2018010088,2018010088
+2018010089,2018010089
+2018010091,2018010091
+2018010092,20170P0123
+2018010093,2018010093
+2018010094,2018010094
+2018010095,2018010095
+2018010096,2018010096
+2018010097,2018010097
+2018010098,2018010098
+2018010099,2007100260
+2018010100,20170P1111
+2018010101,2018010101
+2018010102,2009302686
+2018010103,2011201202
+2018010104,2018010104
+2018010105,2018010105
+2018010106,2018010106
+2018010107,2018010107
+2018010108,2018010108
+2018010109,046026043
+2018010110,2018010110
+2018010111,2018010111
+2018010112,2018010112
+2018010113,2018010113
+2018010114,2018010114
+2018010115,2018010115
+2018010116,2008300557
+2018010117,2018010117
+2018010118,2012202595
+2018010119,2018010119
+2018010120,2008302951
+2018010121,2018010121
+2018010122,2017060037
+2018010123,2008300193
+2018010124,2018010124
+2018010125,2018010125
+2018010126,2018010126
+2018010127,2018010127
+2018010128,2018010128
+2018010129,2018010129
+2018010130,2018010130
+2018010131,2018010131
+2018010132,2018010132
+2018010133,2018010133
+2018010134,2007201019
+2018010135,2018010135
+2018010137,2018010137
+2018010143,2018010143
+2018010144,2018010144
+2018010145,2018010145
+2018010149,2018010149
+2018010150,060447
+2018010151,2018010151
+2018010152,2007301553
+2018010155,2018010155
+2018010156,2018010156
+2018010157,2018010157
+2018010158,2018010158
+2018010159,053547
+2018010160,2018010160
+2018010161,2018010161
+2018010162,2018010162
+2018010164,2018010164
+2018010165,2018010165
+2018010166,2018010166
+2018010168,2007300387
+2018010169,2007302937
+2018010170,2018010170
+2018010171,2018010171
+2018010172,2018010172
+2018010173,2018010173
+2018010174,2018010174
+2018010175,2018010175
+2018010176,2018010176
+2018010177,2018010177
+2018010179,2018010179
+2018010180,2018010180
+2018010181,2014300834
+2018010182,2018010182
+2018010183,2007302785
+2018010184,2008302689
+2018010185,2008302265
+2018010186,2018010186
+2018010187,2018010187
+2018010190,2018010190
+2018010191,2018010191
+2018010192,042650
+2018010194,2018010194
+2018010195,2008300635
+2018010196,2018010196
+2018010197,2010262298
+2018010198,2018010198
+2018010199,050714
+2018010200,2018010200
+2018010201,040119
+2018010202,2011200946
+2018010203,2010200074
+2018010204,2016060195
+2018010205,2018010205
+2018010206,2007300278
+2018010208,2018010208
+2018010209,2018010209
+2018010210,2018010210
+2018010211,2011200450
+2018010212,2008300915
+2018010214,2018010214
+2018010215,2009300959
+2018010218,2018010218
+2018010219,2018010219
+2018010220,2018010220
+2018010221,2018010221
+2018010223,2018010223
+2018010224,2018010224
+2018010225,2018010225
+2018010226,2018010226
+2018010227,2018010227
+2018010228,2018010228
+2018010229,20170P2007
+2018010231,2018010231
+2018010232,2018010232
+2018010233,062417
+2018010234,2018010234
+2018010235,066010077
+2018010236,2018010236
+2018010237,2018010237
+2018010238,2018010238
+2018010239,2018010239
+2018010240,2018010240
+2018010241,2018010241
+2018010244,2018010244
+2018010247,2018010247
+2018010248,052785
+2018010250,2018010250
+2018010252,2018010252
+2018010256,2018010256
+2018010257,2018010257
+2018010258,2018010258
+2018010259,2018010259
+2018010260,2018010260
+2018010261,2018010261
+2018010262,2018010262
+2018010263,056026036
+2018010264,2018010264
+2018010265,2018010265
+2018010266,2018010266
+2018010267,2018010267
+2018010268,2018010268
+2018010272,2018010272
+2018010273,2018010273
+2018010274,2018010274
+2018010275,050948
+2018010276,2018010276
+2018010277,2018010277
+2018010278,2011303299
+2018010279,2018010279
+2018010280,20170P0601
+2018010281,20170P0749
+2018010283,20170P0583
+2018010284,2007302171
+2018010285,2018010285
+2018010287,2018010287
+2018010288,062586
+2018010289,2018010289
+2018010290,2014010054
+2018010291,2014010053
+2018010292,2018010292
+2018010293,2018010293
+2018010294,2018010294
+2018010297,2018010297
+2018010298,2018010298
+2018010300,2010200214
+2018010301,2008301185
+2018010302,2018010302
+2018010303,2007301343
+2018010304,2018010304
+2018010305,046046155
+2018010306,2018010306
+2018010307,2018010307
+2018010308,2010200613
+2018010309,2018010309
+2018010310,2011100071
+2018010311,2010201560
+2018010312,2012200242
+2018010313,2007300035
+2018010314,2018010314
+2018010315,066056376
+2018010316,2018010316
+2018010317,2018010317
+2018010318,2015100099
+2018010319,2018010319
+2018010320,2018010320
+2018010321,066020091
+2018010322,2014100175
+2018010323,2018010323
+2018010324,2018010324
+2018010325,2009200876
+2018010326,2018010326
+2018010327,061038
+2018010328,2009303221
+2018030002,2018030002
+2018030007,2007301556
+2018030010,2008302796
+2018030011,2018030011
+2018030014,2012100288
+2018030015,2012100147
+2018030016,2011100528
+2018030025,2013100229
+2018030030,2018030030
+2018030049,2018030049
+2018030051,2018030051
+2018030053,2018030053
+2018030057,2008300224
+2018030060,2018030060
+2018030074,2010260986
+2018030080,2018030080
+2018030084,2018030084
+2018030085,2018030085
+2018030090,2018030090
+2018030136,2008300233
+2018030138,2018030138
+2018030139,2018030139
+2018030140,2018030140
+2018030141,2018030141
+2018030142,2018030142
+2018030146,2018030146
+2018030147,2018030147
+2018030148,2018030148
+2018030153,2018030153
+2018030154,2018030154
+2018030163,2018030163
+2018030167,2011250096
+2018030178,2018030178
+2018030188,2018030188
+2018030189,2018030189
+2018030193,2018030193
+2018030207,2013200633
+2018030213,2013100070
+2018030216,2018030216
+2018030217,2018030217
+2018030222,2018030222
+2018030230,2018030230
+2018030242,2018030242
+2018030243,2018030243
+2018030245,056010029
+2018030246,2008300072
+2018030249,2018030249
+2018030251,2018030251
+2018030253,2018030253
+2018030254,2018030254
+2018030255,2013100373
+2018030269,2009100091
+2018030270,2007201054
+2018030271,2018030271
+2018030282,2018030282
+2018030286,2018030286
+2018030295,2018030295
+2018030296,2010260679
+2018030299,2018030299
+2018060001,2018060001
+2018060002,20140P0439
+2018060003,2018060003
+2018060004,2018060004
+2018060005,2018060005
+2018060006,2018060006
+2018060007,2018060007
+2018060008,2018060008
+2018060009,2018060009
+2018060010,2018060010
+2018060011,2018060011
+2018060012,2018060012
+2018060013,2018060013
+2018060014,2018060014
+2018060015,2018060015
+2018060016,2018060016
+2018060017,2018060017
+2018060018,2018060018
+2018060019,2018060019
+2018060020,2018060020
+2018060021,2018060021
+2018060022,2018060022
+2018060023,2018060023
+2018060024,2018060024
+2018060025,2018060025
+2018060026,2018060026
+2018060027,2018060027
+2018060028,2018060028
+2018060029,2018060029
+2018060030,2018060030
+2018060031,2018060031
+2018060032,2018060032
+2018060033,2018060033
+2018060034,2018060034
+2018060035,2018060035
+2018060036,2018060036
+2018060037,2018060037
+2018060038,2018060038
+2018060039,2018060039
+2018060040,2018060040
+2018060041,2018060041
+2018060042,2018060042
+2018060043,2018060043
+2018060044,2018060044
+2018060045,2018060045
+2018060046,2018060046
+2018060047,2018060047
+2018060048,2018060048
+2018060049,2018060049
+2018060050,2018060050
+2018060051,2018060051
+2018060052,2018060052
+2018060053,2018060053
+2018060054,2018060054
+2018060055,2018060055
+2018060056,2018060056
+2018060057,2018060057
+2018060058,2018060058
+2018060059,2018060059
+2018060060,2018060060
+2018060061,2018060061
+2018060062,2018060062
+2018060063,2018060063
+2018060064,2018060064
+2018060065,2018060065
+2018060066,2018060066
+2018060067,2018060067
+2018060068,2018060068
+2018060069,2018060069
+2018060070,2018060070
+2018060071,2018060071
+2018060072,2018060072
+2018060073,2018060073
+2018060074,2018060074
+2018060075,2018060075
+2018060076,2018060076
+2018060077,2018060077
+2018060078,2018060078
+2018060079,2018060079
+2018060080,2018060080
+2018060081,2018060081
+2018060082,2018060082
+2018060083,2018060083
+2018060084,2018060084
+2018060085,2018060085
+2018060086,2018060086
+2018060087,2018060087
+2018060088,2018060088
+2018060089,2018060089
+2018060090,047015013
+2018060091,2018060091
+2018060092,2018060092
+2018060093,2018060093
+2018060094,2018060094
+2018060095,2018060095
+2018060096,2018060096
+2018060097,2018060097
+2018060098,2018060098
+2018060099,2018060099
+2018060100,2018060100
+2018060101,2018060101
+2018060102,2018060102
+2018060103,2018060103
+2018060104,2018060104
+2018060105,2018060105
+2018060106,2018060106
+2018060107,2018060107
+2018060108,2018060108
+2018060109,2018060109
+2018060110,2018060110
+2018060111,2018060111
+2018060112,2018060112
+2018060113,2018060113
+2018060114,2018060114
+2018060115,2018060115
+2018060116,2018060116
+2018060117,2018060117
+2018060118,2018060118
+2018060119,2018060119
+2018060120,2018060120
+2018060121,2018060121
+2018060122,2018060122
+2018060123,2018060123
+2018060124,2018060124
+2018060125,2018060125
+2018060126,2018060126
+2018060127,2018060127
+2018060128,2018060128
+2018060129,2018060129
+2018060130,2018060130
+2018060131,2018060131
+2018060132,2018060132
+2018060133,2018060133
+2018060134,2018060134
+2018060135,2018060135
+2018060136,2018060136
+2018060137,2018060137
+2018060138,2018060138
+2018060139,2018060139
+2018060140,2018060140
+2018060141,2018060141
+2018060142,2018060142
+2018060143,2018060143
+2018060144,2018060144
+2018060145,2018060145
+2018060146,2018060146
+2018060147,2018060147
+2018060148,2018060148
+2018060149,2018060149
+2018060150,2018060150
+2018060151,2018060151
+2018060152,2018060152
+2018060153,2018060153
+2018060154,2018060154
+2018070001,20170P0025
+2018070002,20170P0026
+2018070003,2018070003
+2018070004,2018070004
+2018070005,2018070005
+2018070006,2018070006
+2018070007,2018070007
+2018070008,2018070008
+2018070009,2018070009
+2018070010,2018070010
+2018070011,2018070011
+2018070012,2018070012
+2018070013,2018070013
+2018070015,2018070015
+2018070016,20170P1772
+2018070017,2018070017
+2018070018,2018070018
+2018070019,2018070019
+2018070020,2018070020
+2018070021,2018070021
+2018070022,2018070022
+2018070023,2018070023
+2018070024,2011303264
+2018070025,2018070025
+2018070026,2018070026
+2018070027,2015202662
+2018070028,2015262715
+2018070029,2014070094
+2018070030,2018070030
+2018070031,2018070031
+2018070032,2015070013
+2018070033,2018070033
+2018070034,2012070098
+2018070035,2018070035
+2018070036,2018070036
+2018070037,2018070037
+2018070038,2018010224
+2018070039,2012300109
+2018070040,2018070040
+2018070041,20160P0122
+2018070042,2018070042
+2018070043,2013202435
+2018070044,2011202391
+2018070045,2018070045
+2018070046,2018070046
+2018070047,2018070047
+2018070048,2018070048
+2018070049,2018070049
+2018070050,2018070050
+2018070051,2018070051
+2018070052,20170P0501
+2018070053,2018070053
+2018070054,2018070054
+2018070055,20140P0445
+2018070056,2018070056
+2018070057,2018070057
+2018070058,2018070058
+2018070059,2018070059
+2018070060,2016070070
+2018070061,2018070061
+2018070062,2011303281
+2018070063,066130741
+2018070065,2018070065
+2018070066,2018070066
+2018070068,2018070068
+2018070069,2018070069
+2018070070,2018070070
+2018070071,20160P0323
+2018070072,2018070072
+2018070073,2011201975
+2018070074,20170P1063
+2018070075,2018070075
+2018070076,2018070076
+2018070077,2018070077
+2018070078,2018070078
+2018070079,2018070079
+2018070080,2018070080
+2018070081,2018070081
+2018070082,2018070082
+2018070083,2014202466
+2018070084,2018070084
+2018070085,2018070085
+2018070086,2018070086
+2018070087,2018070087
+2018070088,2018070088
+2018070089,2018070089
+2018070090,2018070090
+2018070091,2018070091
+2018070092,2018070092
+2018070093,2018070093
+2018070094,2015210291
+2018070095,2018070095
+2018070096,2007303291
+2018070097,20140P0222
+2018070098,20140P0353
+2018070099,2013262001
+2018070100,2018070100
+2018070101,2018070101
+2018070102,2018070102
+2018070103,2018070103
+2018070104,20160P0287
+2018070105,20170P1812
+2018070106,20170P1094
+2018070107,2018070107
+2018070108,20160P0307
+2018070109,2018070109
+2018070110,20160P0298
+2018070111,2018070111
+2018070112,20160P0321
+2018070113,20170P0924
+2018070114,20160P0316
+2018070115,20160P0329
+2018070116,20170P0913
+2018070117,20160P0300
+2018070118,2018070118
+2018070119,2018070119
+2018070120,20160P0302
+2018070121,20160P0305
+2018070122,20160P0330
+2018070123,20160P0312
+2018070124,20160P0313
+2018070125,20160P0324
+2018070126,20160P0315
+2018070127,20160P0328
+2018070128,2018070128
+2018070129,2018070129
+2018070130,2018070130
+2018070131,2018070131
+2018070132,2018070132
+2018070133,046100658
+2018070134,2018070134
+2018070139,2018070139
+2018070140,2018070140
+2018070141,2018070141
+2018070142,2018070142
+2018070143,2018070143
+2018070144,2018070144
+2018070145,2018070145
+2018070146,2018070146
+2018070147,2018070147
+2018070148,2011303185
+2018070149,2018070149
+2018070150,2011200661
+2018070151,2018070151
+2018070152,2011210245
+2018070153,2018070153
+2018070154,2018070154
+2018070156,2018070156
+2018070157,2018070157
+2018070158,2018070158
+2018070159,20140P0406
+2018070160,2015202566
+2018070161,2018070161
+2018070162,2018070162
+2018070163,2018070163
+2018070164,2018070164
+2018070165,2018070165
+2018070166,2018070166
+2018070167,2018070167
+2018070168,2018070168
+2018070169,2014300033
+2018070170,2018070170
+2018070171,2018070171
+2018070172,2018070172
+2018070173,2018070173
+2018070174,2018070174
+2018070175,2018070175
+2018070176,20170P1033
+2018070177,2018070177
+2018070178,2018070178
+2018070179,2018070179
+2018070180,2018070180
+2018070181,2018070181
+2018070182,2018070182
+2018070183,2018070183
+2018070184,2018070184
+2018070185,2009210524
+2018070186,2018070186
+2018070187,2018070187
+2018070188,2018070188
+2018070189,2018070189
+2018070190,2018070190
+2018070191,2018070191
+2018070192,2018070192
+2018070193,2018070193
+2018070194,2018070194
+2018070195,2018070195
+2018070196,2018070196
+2018070197,2018070197
+2018070198,2018070198
+2018070199,2018070199
+2018070200,2018070200
+2018070201,2018070201
+2018070202,2018070202
+2018070203,2018070203
+2018070204,2018070204
+2018070205,2018070205
+2018070206,2018070206
+2018070207,2018070207
+2018070209,2007300198
+2018070210,2018070210
+2018070211,2015202111
+2018070212,2018070212
+2018070213,2018070213
+2018070214,20140P0425
+2018070215,2018070215
+2018070216,2018070042
+2018070217,20140P0218
+2018070218,2018070218
+2018070219,2018070219
+2018070220,2018070220
+2018070221,20140P0284
+2018070222,2018070222
+2018070223,2018070223
+2018070224,2018070224
+2018070225,2014262062
+2018070226,2018070226
+2018070227,2018070227
+2018070228,2012303136
+2018070229,2018070229
+2018070230,2018070230
+2018070231,2018070231
+2018070232,2018070232
+2018070233,2017070177
+2018070234,2016260187
+2018070235,2018070235
+2018070236,2017100057
+2018070237,20170P1225
+2018070238,2010201921
+2018070240,20170P1794
+2018070241,20140P0343
+2018070242,2018070242
+2018070342,2007300132
+2018090001,2018090001
+2018090002,2018090002
+2018090003,2018090003
+2018090004,2018090004
+2018090005,2018060011
+2018090006,2018090006
+2018090007,2018090007
+2018090008,2018090008
+2018090030,2018090030
+2018090069,2018090069
+2018090099,2018090099
+2018090112,2018090112
+201809123654,201809123654
+2019010001,2019010001
+2019010002,2019010002
+2019010003,2019010003
+2019010004,040060
+2019010005,062758
+2019010006,2019010006
+2019010007,2019010007
+2019010009,2015060167
+2019010011,046040217
+2019010015,2013100401
+2019010016,2019010016
+2019010017,2019010017
+2019010018,2019010018
+2019010020,2019010020
+2019010021,2019010021
+2019010022,2019010022
+2019010023,2009100297
+2019010024,061082
+2019010025,2019010025
+2019010026,2018060019
+2019010029,2008300678
+2019010030,2019010030
+2019010031,2019010031
+2019010032,060620
+2019010033,2019010033
+2019010035,2019010035
+2019010036,060252
+2019010038,2009302296
+2019010039,2012100141
+2019010040,050592
+2019010041,2019010041
+2019010042,2007300083
+2019010043,2019010043
+2019010045,2019010045
+2019010046,2007300317
+2019010047,2019010047
+2019010049,2019010049
+2019010050,2019010050
+2019010052,2019010052
+2019010053,2010302629
+2019010055,2019010055
+2019010057,2019010057
+2019010058,2019010058
+2019010059,2019010059
+2019010060,2012200633
+2019010061,2008303177
+2019010062,2010202335
+2019010063,2019010063
+2019010066,2007300838
+2019010067,2019010067
+2019010069,2014100223
+2019010070,2008200217
+2019010071,2019010071
+2019010073,2019010073
+2019010075,2019010075
+2019010076,2019010076
+2019010077,2018060041
+2019010078,2011202075
+2019010079,2008301766
+2019010080,052219
+2019010083,063263
+2019010084,2019010084
+2019010085,2019010085
+2019010086,2019010086
+2019010087,2007100085
+2019010088,2019010088
+2019010089,2008200668
+2019010091,2019010091
+2019010092,2019010092
+2019010093,2007301463
+2019010096,2019010096
+2019010097,2019010097
+2019010099,2019010099
+2019010100,2019010100
+2019010102,2019010102
+2019010104,2019010104
+2019010105,2007300415
+2019010106,2019010106
+2019010107,2007300849
+2019010108,2019010108
+2019010109,2017060007
+2019010110,2019010110
+2019010111,2019010111
+2019010112,2019010112
+2019010113,2014100305
+2019010114,2007201440
+2019010116,2019010116
+2019010118,2007302770
+2019010119,042546
+2019010120,2007300585
+2019010121,2019010121
+2019010123,2019010123
+2019010124,2019010124
+2019010126,2019010126
+2019010127,2019010127
+2019010128,2019010128
+2019010129,2019010129
+2019010130,2019010130
+2019010131,2019010131
+2019010144,060190
+2019010146,2019010146
+2019010147,2019010147
+2019010148,2019010148
+2019010149,046070399
+2019010151,2007301506
+2019010152,2019010152
+2019010153,2007301142
+2019010154,2019010154
+2019010155,2019010155
+2019010156,2013100013
+2019010157,2015100100
+2019010158,2007300535
+2019010159,2019010159
+2019010164,2019010164
+2019010165,2019010165
+2019010167,2019010167
+2019010169,066090542
+2019010170,2019010170
+2019010171,2019010171
+2019010174,2019010174
+2019010175,2007301735
+2019010176,2019010176
+2019010177,2012200305
+2019010178,2019010178
+2019010179,2014100309
+2019010180,2019010180
+2019010181,2019010181
+2019010182,2019010182
+2019010183,2019010183
+2019010184,2019010184
+2019010185,2012100054
+2019010186,2019010186
+2019010187,2008301199
+2019010188,2007301045
+2019010189,2019010189
+2019010190,2019010190
+2019010191,2010301454
+2019010192,2019010192
+2019010194,061399
+2019010195,2019010195
+2019010196,2019010196
+2019010197,2019010197
+2019010198,2019010198
+2019010200,2019010200
+2019010201,2019010201
+2019010204,2019010204
+2019010205,2019010205
+2019010207,2008300530
+2019010208,2019010208
+2019010209,2019010209
+2019010210,2019010210
+2019010211,2019010211
+2019010212,2007301980
+2019010213,060042
+2019010214,2019010214
+2019010215,20170P0124
+2019010216,20170P0125
+2019010218,2019010218
+2019010219,2019010219
+2019010220,2012261980
+2019010221,2019010221
+2019010222,2019010222
+2019010223,2019010223
+2019010224,2019010224
+2019010227,042474
+2019010228,2019010228
+2019010229,060111
+2019010230,2019010230
+2019010231,2019010231
+2019010232,2019010232
+2019030008,2019030008
+2019030010,2007302502
+2019030012,2011200661
+2019030013,2019030013
+2019030014,2012100446
+2019030019,2019030019
+2019030027,2014100155
+2019030028,2019030028
+2019030034,2019030034
+2019030037,2019030037
+2019030044,2019030044
+2019030048,2019030048
+2019030051,2019030051
+2019030054,2019030054
+2019030056,2019030056
+2019030064,2009302760
+2019030065,2019030065
+2019030068,2019030068
+2019030072,2019030072
+2019030074,2019030074
+2019030081,2015100166
+2019030082,2012100085
+2019030090,2019030090
+2019030094,2019030094
+2019030095,061571
+2019030098,2019030098
+2019030101,2019030101
+2019030103,2019030103
+2019030115,2019030115
+2019030117,2019030117
+2019030122,2019030122
+2019030125,2019030125
+2019030132,050471
+2019030133,2019030133
+2019030134,2019030134
+2019030135,2019030135
+2019030136,2019030136
+2019030137,2019030137
+2019030138,2019030138
+2019030139,2019030139
+2019030140,2019030140
+2019030141,2019030141
+2019030142,2019030142
+2019030143,2019030143
+2019030145,2019030145
+2019030150,2019030150
+2019030160,2019030160
+2019030161,2019030161
+2019030162,2019030162
+2019030163,2019030163
+2019030166,2019030166
+2019030168,2019030168
+2019030172,2019030172
+2019030173,2019030173
+2019030193,2019030193
+2019030199,2007300609
+2019030202,2019030202
+2019030203,2009300155
+2019030206,2009302955
+2019030217,2019030217
+2019030225,2019030225
+2019030226,2019030226
+2019039001,2019039001
+2019039002,2019039002
+2019039003,2019039003
+2019060001,2019060001
+2019060002,2019060002
+2019060003,2019060003
+2019060004,2019060004
+2019060005,2019060005
+2019060006,2019060006
+2019060007,2019060007
+2019060008,2019010159
+2019060009,2019010106
+2019060010,2019060010
+2019060011,2019060011
+2019060012,2019060012
+2019060013,2019060013
+2019060014,2019060014
+2019060015,2019060015
+2019060016,2019060016
+2019060017,2019060017
+2019060018,2019060018
+2019060019,2019060019
+2019060020,2019060020
+2019060021,2013210906
+2019060022,2019060022
+2019060023,2019060023
+2019060024,2019060024
+2019060025,2019060025
+2019060026,2019060026
+2019060027,2019060027
+2019060028,2019060028
+2019060029,2019060029
+2019060030,2018030030
+2019060031,2019060031
+2019060032,2019060032
+2019060033,2019060033
+2019060034,2019060034
+2019060035,2019060035
+2019060036,2019060036
+2019060037,2019060037
+2019060038,2019060038
+2019060039,2019060039
+2019060040,2019060040
+2019060041,2019060041
+2019060042,2019060042
+2019060043,057040125
+2019060044,2019060044
+2019060045,2019060045
+2019060046,2019060046
+2019060047,2019060047
+2019060048,2019060048
+2019060049,2019060049
+2019060050,2019060050
+2019060051,2019060051
+2019060052,2019060052
+2019060053,2019060053
+2019060054,2019060054
+2019060055,2019060055
+2019060056,2019060056
+2019060057,2019010131
+2019060058,2019060058
+2019060059,2019060059
+2019060060,2019060060
+2019060061,20180P2163
+2019060062,2019060062
+2019060063,2019060063
+2019060064,2019060064
+2019060065,2019060065
+2019060066,2019060066
+2019060067,2019060067
+2019060068,2019060068
+2019060069,2019060069
+2019060070,2019060070
+2019060071,2019060071
+2019060072,2019060072
+2019070001,2016202480
+2019070002,2019070002
+2019070003,2019070003
+2019070004,2019070004
+2019070005,2019070005
+2019070006,2019070006
+2019070007,2019070007
+2019070008,2019070008
+2019070009,2019070009
+2019070010,2019070010
+2019070011,2019070011
+2019070012,20170P0839
+2019070013,2019070013
+2019070014,2016202494
+2019070015,2011300734
+2019070016,2019070016
+2019070017,2019070017
+2019070018,2019070018
+2019070019,2019070019
+2019070020,2019070020
+2019070021,2019070021
+2019070022,2019070022
+2019070023,2016260187
+2019070024,2019070024
+2019070025,2016261658
+2019070026,2019070026
+2019070027,2019070027
+2019070028,2019070028
+2019070029,2019070029
+2019070030,2019070030
+2019070031,2019070031
+2019070032,20160P0199
+2019070033,2016262693
+2019070034,2019070034
+2019070035,2019070035
+2019070036,2019070036
+2019070037,2019070037
+2019070038,2019070038
+2019070039,2019070039
+2019070040,2019070040
+2019070041,2019070041
+2019070042,2019070042
+2019070043,2019070043
+2019070044,2019070044
+2019070045,2019070045
+2019070046,2019070046
+2019070047,2019070047
+2019070048,2019070048
+2019070049,2019070049
+2019070050,2016261098
+2019070051,2019070051
+2019070052,2019070052
+2019070053,2019070053
+2019070054,2019070054
+2019070055,2016202495
+2019070056,2019070056
+2019070057,2019070057
+2019070058,2019070058
+2019070059,2019070059
+2019070060,2019070060
+2019070061,2017070177
+2019070062,2019070062
+2019070063,2019070063
+2019070064,2019070064
+2019070065,2019070065
+2019070066,053239
+2019070067,2019070067
+2019070068,2019070068
+2019070069,2019070069
+2019070070,2019070070
+2019070071,2019070071
+2019070072,2019070072
+2019070073,2019070073
+2019070074,2019070074
+2019070075,2019070075
+2019070076,2019070076
+2019070077,2015070114
+2019070078,2019070078
+2019070079,2019070079
+2019070080,2019070080
+2019070081,2019070081
+2019070082,2019070082
+2019070083,2019070083
+2019070084,2019070084
+2019070085,2019070085
+2019070086,2019070086
+2019070087,2019070087
+2019070088,2019070088
+2019070089,2019070089
+2019070090,2016070082
+2019070091,2019070091
+2019070092,2009202139
+2019070093,2019070093
+2019070094,2019070094
+2019070095,2019070095
+2019070097,2019070097
+2019070098,2019070098
+2019070099,2019070099
+2019070100,2019070100
+2019070101,2009301161
+2019070102,2019070102
+2019070103,2019070103
+2019070104,2018070045
+2019070105,2019070105
+2019070106,20140P0366
+2019070107,2019070107
+2019070108,2019070108
+2019070109,2019070109
+2019070110,2019070110
+2019070111,2019070111
+2019070112,2019070112
+2019070113,2019070113
+2019070114,2019070114
+2019070115,2019070115
+2019070116,2019070116
+2019070117,2018070078
+2019070118,2019070118
+2019070119,2019070119
+2019070120,2019070120
+2019070121,2019070121
+2019070122,2019070122
+2019070123,2019070123
+2019070124,20180P2125
+2019070125,066136969
+2019070126,2019070126
+2019070127,2019070127
+2019070128,2019070128
+2019070129,2019070129
+2019070130,2019070130
+2019070132,2019070132
+2019070133,2019070133
+2019070134,2019070134
+2019070135,2015302889
+2019070136,2019070136
+2019070137,2019070137
+2019070138,2019070138
+2019070139,2019070139
+2019070140,2019070140
+2019070141,2019070141
+2019070142,2019070142
+2019070143,2019070143
+2019070144,2019070144
+2019070145,2019070145
+2019070147,2019070147
+2019070148,2019070148
+2019070149,2019070149
+2019070150,2019070150
+2019070151,2019070151
+2019070153,2019070153
+2019070154,2019070154
+2019070155,2019070155
+2019070156,2019070156
+2019070157,2019070157
+2019070158,2019070158
+2019070159,2019070159
+2019070160,2019070160
+2019070162,2019070162
+2019070168,2019070168
\ No newline at end of file
diff --git a/testing/jmeter/accounts_single.csv b/testing/jmeter/accounts_single.csv
new file mode 100644
index 0000000..6ba4171
--- /dev/null
+++ b/testing/jmeter/accounts_single.csv
@@ -0,0 +1 @@
+smartadmin,smartadmin
diff --git a/testing/jmeter/admin-platform.jmx b/testing/jmeter/admin-platform.jmx
new file mode 100644
index 0000000..b8b4bea
--- /dev/null
+++ b/testing/jmeter/admin-platform.jmx
@@ -0,0 +1,219 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.2.1">
+  <hashTree>
+    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Admin Platform Tests" enabled="true">
+      <stringProp name="TestPlan.comments"></stringProp>
+      <boolProp name="TestPlan.functional_mode">false</boolProp>
+      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
+      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments"/>
+      </elementProp>
+      <stringProp name="TestPlan.user_define_classpath"></stringProp>
+    </TestPlan>
+    <hashTree>
+      <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments">
+          <elementProp name="ThreadCount" elementType="Argument">
+            <stringProp name="Argument.name">ThreadCount</stringProp>
+            <stringProp name="Argument.value">100</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">Number of Threads</stringProp>
+          </elementProp>
+          <elementProp name="Duration" elementType="Argument">
+            <stringProp name="Argument.name">Duration</stringProp>
+            <stringProp name="Argument.value">120</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="startupDelay" elementType="Argument">
+            <stringProp name="Argument.name">startupDelay</stringProp>
+            <stringProp name="Argument.value">3</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="RampUpPeriod" elementType="Argument">
+            <stringProp name="Argument.name">RampUpPeriod</stringProp>
+            <stringProp name="Argument.value">30</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="AdminPlatformHost" elementType="Argument">
+            <stringProp name="Argument.name">AdminPlatformHost</stringProp>
+            <stringProp name="Argument.value">http://172.50.10.56:88</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+          </elementProp>
+        </collectionProp>
+      </Arguments>
+      <hashTree/>
+      <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="CSV Get Users/Passwords" enabled="false">
+        <stringProp name="filename">/root/jmeter-user-authz-sa/application-account.csv</stringProp>
+        <stringProp name="fileEncoding"></stringProp>
+        <stringProp name="variableNames">applicationId,accountId</stringProp>
+        <stringProp name="delimiter">,</stringProp>
+        <boolProp name="quotedData">false</boolProp>
+        <boolProp name="recycle">true</boolProp>
+        <boolProp name="stopThread">false</boolProp>
+        <stringProp name="shareMode">shareMode.all</stringProp>
+        <boolProp name="ignoreFirstLine">false</boolProp>
+      </CSVDataSet>
+      <hashTree/>
+      <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
+        <collectionProp name="CookieManager.cookies"/>
+        <boolProp name="CookieManager.clearEachIteration">true</boolProp>
+        <boolProp name="CookieManager.controlledByThreadGroup">false</boolProp>
+      </CookieManager>
+      <hashTree/>
+      <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
+        <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+          <collectionProp name="Arguments.arguments"/>
+        </elementProp>
+        <stringProp name="HTTPSampler.domain"></stringProp>
+        <stringProp name="HTTPSampler.port"></stringProp>
+        <stringProp name="HTTPSampler.protocol">https</stringProp>
+        <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+        <stringProp name="HTTPSampler.path"></stringProp>
+        <stringProp name="HTTPSampler.concurrentPool">4</stringProp>
+        <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
+        <stringProp name="HTTPSampler.connect_timeout">120000</stringProp>
+        <stringProp name="HTTPSampler.response_timeout">120000</stringProp>
+      </ConfigTestElement>
+      <hashTree/>
+      <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
+        <boolProp name="ResultCollector.error_logging">true</boolProp>
+        <objProp>
+          <name>saveConfig</name>
+          <value class="SampleSaveConfiguration">
+            <time>true</time>
+            <latency>true</latency>
+            <timestamp>true</timestamp>
+            <success>true</success>
+            <label>true</label>
+            <code>true</code>
+            <message>true</message>
+            <threadName>true</threadName>
+            <dataType>true</dataType>
+            <encoding>false</encoding>
+            <assertions>true</assertions>
+            <subresults>true</subresults>
+            <responseData>false</responseData>
+            <samplerData>false</samplerData>
+            <xml>true</xml>
+            <fieldNames>false</fieldNames>
+            <responseHeaders>true</responseHeaders>
+            <requestHeaders>true</requestHeaders>
+            <responseDataOnError>false</responseDataOnError>
+            <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+            <assertionsResultsToSave>0</assertionsResultsToSave>
+            <bytes>true</bytes>
+            <sentBytes>true</sentBytes>
+            <url>true</url>
+            <fileName>true</fileName>
+            <hostname>true</hostname>
+            <threadCounts>true</threadCounts>
+            <connectTime>true</connectTime>
+          </value>
+        </objProp>
+        <stringProp name="filename">/home/ubuntu/admin-platform/tree.xml</stringProp>
+      </ResultCollector>
+      <hashTree/>
+      <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="Aggregate Report" enabled="true">
+        <boolProp name="ResultCollector.error_logging">false</boolProp>
+        <objProp>
+          <name>saveConfig</name>
+          <value class="SampleSaveConfiguration">
+            <time>true</time>
+            <latency>true</latency>
+            <timestamp>true</timestamp>
+            <success>true</success>
+            <label>true</label>
+            <code>true</code>
+            <message>true</message>
+            <threadName>true</threadName>
+            <dataType>true</dataType>
+            <encoding>true</encoding>
+            <assertions>true</assertions>
+            <subresults>true</subresults>
+            <responseData>false</responseData>
+            <samplerData>false</samplerData>
+            <xml>true</xml>
+            <fieldNames>false</fieldNames>
+            <responseHeaders>true</responseHeaders>
+            <requestHeaders>true</requestHeaders>
+            <responseDataOnError>false</responseDataOnError>
+            <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+            <assertionsResultsToSave>0</assertionsResultsToSave>
+            <bytes>true</bytes>
+            <sentBytes>true</sentBytes>
+            <url>true</url>
+            <fileName>true</fileName>
+            <hostname>true</hostname>
+            <threadCounts>true</threadCounts>
+            <idleTime>true</idleTime>
+            <connectTime>true</connectTime>
+          </value>
+        </objProp>
+        <stringProp name="filename">/home/ubuntu/admin-platform/result.xml</stringProp>
+        <boolProp name="useGroupName">true</boolProp>
+      </ResultCollector>
+      <hashTree/>
+      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="User Authorization Service - Security Role" enabled="true">
+        <stringProp name="ThreadGroup.on_sample_error">startnextloop</stringProp>
+        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+          <boolProp name="LoopController.continue_forever">false</boolProp>
+          <intProp name="LoopController.loops">-1</intProp>
+        </elementProp>
+        <stringProp name="ThreadGroup.num_threads">${ThreadCount}</stringProp>
+        <stringProp name="ThreadGroup.ramp_time">${RampUpPeriod}</stringProp>
+        <longProp name="ThreadGroup.start_time">1500501626000</longProp>
+        <longProp name="ThreadGroup.end_time">1500501626000</longProp>
+        <boolProp name="ThreadGroup.scheduler">true</boolProp>
+        <stringProp name="ThreadGroup.duration">${Duration}</stringProp>
+        <stringProp name="ThreadGroup.delay">${StartupDelay}</stringProp>
+        <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+      </ThreadGroup>
+      <hashTree>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - User Authorization Service - Security Role" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1337382213">Admin Platform Tests</stringProp>
+            <stringProp name="1562575464">GET - Admin Platform - app.js</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Platform - app.js" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Platform - app.js" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${AdminPlatformHost}/app.js</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="49586">200</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">8</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+    </hashTree>
+  </hashTree>
+</jmeterTestPlan>
diff --git a/testing/jmeter/admin_center.jmx b/testing/jmeter/admin_center.jmx
new file mode 100644
index 0000000..2e3d4aa
--- /dev/null
+++ b/testing/jmeter/admin_center.jmx
@@ -0,0 +1,892 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.2.1">
+  <hashTree>
+    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Admin Center SSO Tests" enabled="true">
+      <stringProp name="TestPlan.comments"></stringProp>
+      <boolProp name="TestPlan.functional_mode">false</boolProp>
+      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
+      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments"/>
+      </elementProp>
+      <stringProp name="TestPlan.user_define_classpath"></stringProp>
+    </TestPlan>
+    <hashTree>
+      <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments">
+          <elementProp name="ThreadCount" elementType="Argument">
+            <stringProp name="Argument.name">ThreadCount</stringProp>
+            <stringProp name="Argument.value">100</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">Number of Threads</stringProp>
+          </elementProp>
+          <elementProp name="Duration" elementType="Argument">
+            <stringProp name="Argument.name">Duration</stringProp>
+            <stringProp name="Argument.value">120</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="startupDelay" elementType="Argument">
+            <stringProp name="Argument.name">startupDelay</stringProp>
+            <stringProp name="Argument.value">3</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="RampUpPeriod" elementType="Argument">
+            <stringProp name="Argument.name">RampUpPeriod</stringProp>
+            <stringProp name="Argument.value">3</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="IdPHost" elementType="Argument">
+            <stringProp name="Argument.name">IdPHost</stringProp>
+            <stringProp name="Argument.value">http://172.50.10.56</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">The main URL of your CAS Instance</stringProp>
+          </elementProp>
+          <elementProp name="IdPPort" elementType="Argument">
+            <stringProp name="Argument.name">IdPPort</stringProp>
+            <stringProp name="Argument.value">443</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+          </elementProp>
+          <elementProp name="IdPContext" elementType="Argument">
+            <stringProp name="Argument.name">IdPContext</stringProp>
+            <stringProp name="Argument.value">idp</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+          </elementProp>
+          <elementProp name="CasSP" elementType="Argument">
+            <stringProp name="Argument.name">CasSP</stringProp>
+            <stringProp name="Argument.value">http://172.50.10.37:8080/cas/login</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">Service Provider url</stringProp>
+          </elementProp>
+          <elementProp name="CasSP-example" elementType="Argument">
+            <stringProp name="Argument.name">CasSP-example</stringProp>
+            <stringProp name="Argument.value">https://example.com/index.html</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+          </elementProp>
+          <elementProp name="AdminCenterHost" elementType="Argument">
+            <stringProp name="Argument.name">AdminCenterHost</stringProp>
+            <stringProp name="Argument.value">http://172.50.10.37:8080</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+          </elementProp>
+          <elementProp name="token2" elementType="Argument">
+            <stringProp name="Argument.name">token2</stringProp>
+            <stringProp name="Argument.value">eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1NjcwNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzUzODI2MCwianRpIjoiSUQtVG9rZW4tMS1OeUVvVmFnTFcxMUxwaDZJdmE0WTVFLUo2eUc5SFd1UyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ga-Lsw5ipKCEfn6abUb8p9JKKg1nGDOv8SbHKzFtJzTuxuzVp6ETCGneOGOUY17inICxwCxflCdlm5Tu0nIY-1dIXEilVL27Pgm6FF8UAfASYXJ1fITOOjDjemOoFReQqXmP9_jIhcP28hzB4uiTA9mdxXlriPMIsWPzeo8t36B1bW6RDsPOu4EgLbhZ4Q1UtIETaNQ43TwTnhhuf41CqBBPYwQawFIMi2IGFqbDXpMpN-zRHvVJH9xs_pQa_LAxjSiPL1NMHkCuyD5zT8QwJ11sMc-ZIqXqzsjRulWzSUtYVHbBDRRTJx5uX0QU0W39glmB80zU-dmZHc7fcOG_Lg</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+          </elementProp>
+        </collectionProp>
+      </Arguments>
+      <hashTree/>
+      <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="CSV Get Users/Passwords" enabled="false">
+        <stringProp name="filename"></stringProp>
+        <stringProp name="fileEncoding"></stringProp>
+        <stringProp name="variableNames">User,Password</stringProp>
+        <stringProp name="delimiter">,</stringProp>
+        <boolProp name="quotedData">false</boolProp>
+        <boolProp name="recycle">true</boolProp>
+        <boolProp name="stopThread">false</boolProp>
+        <stringProp name="shareMode">shareMode.all</stringProp>
+        <boolProp name="ignoreFirstLine">false</boolProp>
+      </CSVDataSet>
+      <hashTree/>
+      <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
+        <collectionProp name="CookieManager.cookies"/>
+        <boolProp name="CookieManager.clearEachIteration">true</boolProp>
+        <boolProp name="CookieManager.controlledByThreadGroup">false</boolProp>
+      </CookieManager>
+      <hashTree/>
+      <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
+        <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+          <collectionProp name="Arguments.arguments"/>
+        </elementProp>
+        <stringProp name="HTTPSampler.domain"></stringProp>
+        <stringProp name="HTTPSampler.port"></stringProp>
+        <stringProp name="HTTPSampler.protocol">https</stringProp>
+        <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+        <stringProp name="HTTPSampler.path"></stringProp>
+        <stringProp name="HTTPSampler.concurrentPool">4</stringProp>
+        <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
+        <stringProp name="HTTPSampler.connect_timeout">120000</stringProp>
+        <stringProp name="HTTPSampler.response_timeout">120000</stringProp>
+      </ConfigTestElement>
+      <hashTree/>
+      <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="false">
+        <boolProp name="ResultCollector.error_logging">false</boolProp>
+        <objProp>
+          <name>saveConfig</name>
+          <value class="SampleSaveConfiguration">
+            <time>true</time>
+            <latency>true</latency>
+            <timestamp>true</timestamp>
+            <success>true</success>
+            <label>true</label>
+            <code>true</code>
+            <message>true</message>
+            <threadName>true</threadName>
+            <dataType>true</dataType>
+            <encoding>false</encoding>
+            <assertions>true</assertions>
+            <subresults>true</subresults>
+            <responseData>false</responseData>
+            <samplerData>false</samplerData>
+            <xml>false</xml>
+            <fieldNames>false</fieldNames>
+            <responseHeaders>false</responseHeaders>
+            <requestHeaders>false</requestHeaders>
+            <responseDataOnError>false</responseDataOnError>
+            <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
+            <assertionsResultsToSave>0</assertionsResultsToSave>
+            <bytes>true</bytes>
+            <threadCounts>true</threadCounts>
+          </value>
+        </objProp>
+        <stringProp name="filename"></stringProp>
+      </ResultCollector>
+      <hashTree/>
+      <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="Aggregate Report" enabled="false">
+        <boolProp name="ResultCollector.error_logging">false</boolProp>
+        <objProp>
+          <name>saveConfig</name>
+          <value class="SampleSaveConfiguration">
+            <time>true</time>
+            <latency>true</latency>
+            <timestamp>true</timestamp>
+            <success>true</success>
+            <label>true</label>
+            <code>true</code>
+            <message>false</message>
+            <threadName>false</threadName>
+            <dataType>false</dataType>
+            <encoding>false</encoding>
+            <assertions>false</assertions>
+            <subresults>false</subresults>
+            <responseData>false</responseData>
+            <samplerData>false</samplerData>
+            <xml>false</xml>
+            <fieldNames>false</fieldNames>
+            <responseHeaders>false</responseHeaders>
+            <requestHeaders>false</requestHeaders>
+            <responseDataOnError>false</responseDataOnError>
+            <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
+            <assertionsResultsToSave>0</assertionsResultsToSave>
+            <threadCounts>true</threadCounts>
+          </value>
+        </objProp>
+        <stringProp name="filename"></stringProp>
+        <boolProp name="useGroupName">true</boolProp>
+      </ResultCollector>
+      <hashTree/>
+      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Typical Admin Center API test" enabled="true">
+        <stringProp name="ThreadGroup.on_sample_error">startnextloop</stringProp>
+        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+          <boolProp name="LoopController.continue_forever">false</boolProp>
+          <intProp name="LoopController.loops">-1</intProp>
+        </elementProp>
+        <stringProp name="ThreadGroup.num_threads">${ThreadCount}</stringProp>
+        <stringProp name="ThreadGroup.ramp_time">${RampUpPeriod}</stringProp>
+        <longProp name="ThreadGroup.start_time">1500501626000</longProp>
+        <longProp name="ThreadGroup.end_time">1500501626000</longProp>
+        <boolProp name="ThreadGroup.scheduler">true</boolProp>
+        <stringProp name="ThreadGroup.duration">${Duration}</stringProp>
+        <stringProp name="ThreadGroup.delay">${StartupDelay}</stringProp>
+        <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+      </ThreadGroup>
+      <hashTree>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center JWT" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="325771466">GET - Admin Center JWT</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center CAS sso" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="373645767">GET - Admin Center CAS sso</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - CAS Login Page" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="-157788562">GET - CAS Login Page</stringProp>
+          </collectionProp>
+          <stringProp name="TestPlan.comments">Get the CAS Login page</stringProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="POST - Login Credentials" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="-2049830958">POST - Login Credentials</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center return ticket" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="-200699809">GET - Admin Center return ticket</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center return CAS sso" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="668069937">GET - Admin Center return CAS sso</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center return JWT" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="1501770804">GET - Admin Center return JWT</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center api user" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="-1164279858">GET - Admin Center api user</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center api security account" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="-428931888">GET - Admin Center api security account</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - User Logout" enabled="false">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="-648438622">GET - User Logout</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
+          <boolProp name="ResultCollector.error_logging">true</boolProp>
+          <objProp>
+            <name>saveConfig</name>
+            <value class="SampleSaveConfiguration">
+              <time>true</time>
+              <latency>true</latency>
+              <timestamp>true</timestamp>
+              <success>true</success>
+              <label>true</label>
+              <code>true</code>
+              <message>true</message>
+              <threadName>true</threadName>
+              <dataType>true</dataType>
+              <encoding>false</encoding>
+              <assertions>true</assertions>
+              <subresults>true</subresults>
+              <responseData>true</responseData>
+              <samplerData>true</samplerData>
+              <xml>true</xml>
+              <fieldNames>true</fieldNames>
+              <responseHeaders>true</responseHeaders>
+              <requestHeaders>true</requestHeaders>
+              <responseDataOnError>false</responseDataOnError>
+              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+              <assertionsResultsToSave>0</assertionsResultsToSave>
+              <bytes>true</bytes>
+              <threadCounts>true</threadCounts>
+              <idleTime>true</idleTime>
+            </value>
+          </objProp>
+          <stringProp name="filename">/home/ubuntu/admin-center-zuul/tree.xml</stringProp>
+        </ResultCollector>
+        <hashTree/>
+        <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="Aggregate Report" enabled="true">
+          <boolProp name="ResultCollector.error_logging">false</boolProp>
+          <objProp>
+            <name>saveConfig</name>
+            <value class="SampleSaveConfiguration">
+              <time>true</time>
+              <latency>true</latency>
+              <timestamp>true</timestamp>
+              <success>true</success>
+              <label>true</label>
+              <code>true</code>
+              <message>true</message>
+              <threadName>true</threadName>
+              <dataType>true</dataType>
+              <encoding>false</encoding>
+              <assertions>true</assertions>
+              <subresults>true</subresults>
+              <responseData>true</responseData>
+              <samplerData>true</samplerData>
+              <xml>true</xml>
+              <fieldNames>true</fieldNames>
+              <responseHeaders>true</responseHeaders>
+              <requestHeaders>true</requestHeaders>
+              <responseDataOnError>false</responseDataOnError>
+              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+              <assertionsResultsToSave>0</assertionsResultsToSave>
+              <bytes>true</bytes>
+              <sentBytes>true</sentBytes>
+              <url>true</url>
+              <threadCounts>true</threadCounts>
+              <idleTime>true</idleTime>
+              <connectTime>true</connectTime>
+            </value>
+          </objProp>
+          <stringProp name="filename">/home/ubuntu/admin-center-zuul/result.xml</stringProp>
+        </ResultCollector>
+        <hashTree/>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center JWT" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center JWT" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${AdminCenterHost}/jwt/cas/login?redirect_uri=${__urlencode(https://example.com/index.html)}&amp;state=STATE</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify on CAS login page" enabled="false">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="232355224">cas/login?service=</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.test_field">Assertion.sample_label</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">16</intProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+          </ResponseAssertion>
+          <hashTree/>
+          <XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Extract Execution variable" enabled="false">
+            <stringProp name="XPathExtractor.default"></stringProp>
+            <stringProp name="XPathExtractor.refname">ExecId</stringProp>
+            <stringProp name="XPathExtractor.matchNumber">-1</stringProp>
+            <stringProp name="XPathExtractor.xpathQuery">//input[@name=&apos;execution&apos;]/@value</stringProp>
+            <boolProp name="XPathExtractor.validate">false</boolProp>
+            <boolProp name="XPathExtractor.tolerant">true</boolProp>
+            <boolProp name="XPathExtractor.namespace">false</boolProp>
+          </XPathExtractor>
+          <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="false">
+            <stringProp name="RegexExtractor.useHeaders">true</stringProp>
+            <stringProp name="RegexExtractor.refname">jsid</stringProp>
+            <stringProp name="RegexExtractor.regex">Set-Cookie: JSESSIONID=(.+); Path=/; Secure; HttpOnly</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center CAS sso" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center CAS sso" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="jsid" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${jsid}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">jsid</stringProp>
+              </elementProp>
+            </collectionProp>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${AdminCenterHost}/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify on CAS login page" enabled="false">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="232355224">cas/login?service=</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.test_field">Assertion.sample_label</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">16</intProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+          </ResponseAssertion>
+          <hashTree/>
+          <XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Extract Execution variable" enabled="false">
+            <stringProp name="XPathExtractor.default"></stringProp>
+            <stringProp name="XPathExtractor.refname">ExecId</stringProp>
+            <stringProp name="XPathExtractor.matchNumber">-1</stringProp>
+            <stringProp name="XPathExtractor.xpathQuery">//input[@name=&apos;execution&apos;]/@value</stringProp>
+            <boolProp name="XPathExtractor.validate">false</boolProp>
+            <boolProp name="XPathExtractor.tolerant">true</boolProp>
+            <boolProp name="XPathExtractor.namespace">false</boolProp>
+          </XPathExtractor>
+          <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="false">
+            <stringProp name="RegexExtractor.useHeaders">true</stringProp>
+            <stringProp name="RegexExtractor.refname">jsessionid</stringProp>
+            <stringProp name="RegexExtractor.regex">Set-Cookie: JSESSIONID=(.+); Path=/; Secure; HttpOnly</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - CAS Login Page" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - CAS Login Page" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${IdPHost}/cas/login?service=${CasSP}</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Execution Variable" enabled="false">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">ExecId</stringProp>
+            <stringProp name="RegexExtractor.regex">execution=(.+)</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify on CAS login page" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="232355224">cas/login?service=</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.test_field">Assertion.sample_label</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">16</intProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+          </ResponseAssertion>
+          <hashTree/>
+          <XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Extract Execution variable" enabled="true">
+            <stringProp name="XPathExtractor.default"></stringProp>
+            <stringProp name="XPathExtractor.refname">ExecId</stringProp>
+            <stringProp name="XPathExtractor.matchNumber">-1</stringProp>
+            <stringProp name="XPathExtractor.xpathQuery">//input[@name=&apos;execution&apos;]/@value</stringProp>
+            <boolProp name="XPathExtractor.validate">false</boolProp>
+            <boolProp name="XPathExtractor.tolerant">true</boolProp>
+            <boolProp name="XPathExtractor.namespace">false</boolProp>
+          </XPathExtractor>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="POST - Login Credentials" enabled="true"/>
+      <hashTree>
+        <SyncTimer guiclass="TestBeanGUI" testclass="SyncTimer" testname="Synchronizing Timer" enabled="false">
+          <stringProp name="groupSize">${ThreadCount}</stringProp>
+          <longProp name="timeoutInMs">0</longProp>
+        </SyncTimer>
+        <hashTree/>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="POST - Login Credentials follow Redirects" enabled="false">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="username" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${User}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">username</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="password" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${Password}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">password</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="_eventId_submit" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">_eventId_submit</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="execution" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${ExecId}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">execution</stringProp>
+              </elementProp>
+            </collectionProp>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${IdPHost}/cas/login?service=${__urlencode(${CasSP})}</stringProp>
+          <stringProp name="HTTPSampler.method">POST</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Ticket Variable" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">URL</stringProp>
+            <stringProp name="RegexExtractor.refname">st</stringProp>
+            <stringProp name="RegexExtractor.regex">ticket=(.+)</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+            <stringProp name="Sample.scope">all</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="POST - Login Credentials no Redirects" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="username" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">smartadmin</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">username</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="password" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">adminadmin</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">password</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="_eventId_submit" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">_eventId_submit</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="execution" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${ExecId}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">execution</stringProp>
+              </elementProp>
+            </collectionProp>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${IdPHost}/cas/login?service=${__urlencode(${CasSP})}</stringProp>
+          <stringProp name="HTTPSampler.method">POST</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Ticket Variable" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">true</stringProp>
+            <stringProp name="RegexExtractor.refname">st</stringProp>
+            <stringProp name="RegexExtractor.regex">Location:(.+)ticket=(.+)</stringProp>
+            <stringProp name="RegexExtractor.template">$2$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+            <stringProp name="Sample.scope">all</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center return ticket" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center return ticket" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${CasSP}?ticket=${st}</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree/>
+        <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify User Info Returned" enabled="false">
+          <collectionProp name="Asserion.test_strings">
+            <stringProp name="919549364">&lt;cas:authenticationSuccess&gt;</stringProp>
+            <stringProp name="1774939698">&lt;cas:user&gt;${User}&lt;/cas:user&gt;</stringProp>
+          </collectionProp>
+          <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+          <boolProp name="Assertion.assume_success">false</boolProp>
+          <intProp name="Assertion.test_type">2</intProp>
+          <stringProp name="TestPlan.comments">Verifies get user info on ticket validation</stringProp>
+          <stringProp name="Assertion.custom_message"></stringProp>
+        </ResponseAssertion>
+        <hashTree/>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center return CAS sso" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center return CAS sso" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="jsid" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${jsid}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">jsid</stringProp>
+              </elementProp>
+            </collectionProp>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${AdminCenterHost}/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify on CAS login page" enabled="false">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="232355224">cas/login?service=</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.test_field">Assertion.sample_label</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">16</intProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+          </ResponseAssertion>
+          <hashTree/>
+          <XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Extract Execution variable" enabled="false">
+            <stringProp name="XPathExtractor.default"></stringProp>
+            <stringProp name="XPathExtractor.refname">ExecId</stringProp>
+            <stringProp name="XPathExtractor.matchNumber">-1</stringProp>
+            <stringProp name="XPathExtractor.xpathQuery">//input[@name=&apos;execution&apos;]/@value</stringProp>
+            <boolProp name="XPathExtractor.validate">false</boolProp>
+            <boolProp name="XPathExtractor.tolerant">true</boolProp>
+            <boolProp name="XPathExtractor.namespace">false</boolProp>
+          </XPathExtractor>
+          <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="false">
+            <stringProp name="RegexExtractor.useHeaders">true</stringProp>
+            <stringProp name="RegexExtractor.refname">jsessionid</stringProp>
+            <stringProp name="RegexExtractor.regex">Set-Cookie: JSESSIONID=(.+); Path=/; Secure; HttpOnly</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center return JWT" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center return JWT" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${AdminCenterHost}/jwt/cas/login?redirect_uri=${__urlencode(https://example.com/index.html)}&amp;state=STATE</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Token Variable" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">true</stringProp>
+            <stringProp name="RegexExtractor.refname">token</stringProp>
+            <stringProp name="RegexExtractor.regex">Location: (.+)token=(.+)</stringProp>
+            <stringProp name="RegexExtractor.template">$2$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center api user" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center api user" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${AdminCenterHost}/api/user</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
+            <collectionProp name="HeaderManager.headers">
+              <elementProp name="" elementType="Header">
+                <stringProp name="Header.name">Authorization</stringProp>
+                <stringProp name="Header.value">Bearer ${token}</stringProp>
+              </elementProp>
+            </collectionProp>
+          </HeaderManager>
+          <hashTree/>
+        </hashTree>
+        <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify User Info Returned" enabled="false">
+          <collectionProp name="Asserion.test_strings">
+            <stringProp name="919549364">&lt;cas:authenticationSuccess&gt;</stringProp>
+            <stringProp name="1774939698">&lt;cas:user&gt;${User}&lt;/cas:user&gt;</stringProp>
+          </collectionProp>
+          <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+          <boolProp name="Assertion.assume_success">false</boolProp>
+          <intProp name="Assertion.test_type">2</intProp>
+          <stringProp name="TestPlan.comments">Verifies get user info on ticket validation</stringProp>
+          <stringProp name="Assertion.custom_message"></stringProp>
+        </ResponseAssertion>
+        <hashTree/>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center api security account" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center api security account" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${AdminCenterHost}/api/v1/security/accounts/accountName/smartadmin</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
+            <collectionProp name="HeaderManager.headers">
+              <elementProp name="" elementType="Header">
+                <stringProp name="Header.name">Authorization</stringProp>
+                <stringProp name="Header.value">Bearer ${token}</stringProp>
+              </elementProp>
+            </collectionProp>
+          </HeaderManager>
+          <hashTree/>
+        </hashTree>
+        <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify User Info Returned" enabled="false">
+          <collectionProp name="Asserion.test_strings">
+            <stringProp name="919549364">&lt;cas:authenticationSuccess&gt;</stringProp>
+            <stringProp name="1774939698">&lt;cas:user&gt;${User}&lt;/cas:user&gt;</stringProp>
+          </collectionProp>
+          <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+          <boolProp name="Assertion.assume_success">false</boolProp>
+          <intProp name="Assertion.test_type">2</intProp>
+          <stringProp name="TestPlan.comments">Verifies get user info on ticket validation</stringProp>
+          <stringProp name="Assertion.custom_message"></stringProp>
+        </ResponseAssertion>
+        <hashTree/>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - User Logout" enabled="false"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get - User Logout" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${IdPHost}/cas/logout</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree/>
+        <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify User Logged Out" enabled="true">
+          <collectionProp name="Asserion.test_strings">
+            <stringProp name="49586">200</stringProp>
+          </collectionProp>
+          <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+          <boolProp name="Assertion.assume_success">false</boolProp>
+          <intProp name="Assertion.test_type">2</intProp>
+          <stringProp name="Assertion.custom_message"></stringProp>
+        </ResponseAssertion>
+        <hashTree/>
+      </hashTree>
+    </hashTree>
+  </hashTree>
+</jmeterTestPlan>
diff --git a/testing/jmeter/admin_center_single.jmx b/testing/jmeter/admin_center_single.jmx
new file mode 100644
index 0000000..4a1f34f
--- /dev/null
+++ b/testing/jmeter/admin_center_single.jmx
@@ -0,0 +1,892 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.2.1">
+  <hashTree>
+    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Admin Center SSO Tests" enabled="true">
+      <stringProp name="TestPlan.comments"></stringProp>
+      <boolProp name="TestPlan.functional_mode">false</boolProp>
+      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
+      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments"/>
+      </elementProp>
+      <stringProp name="TestPlan.user_define_classpath"></stringProp>
+    </TestPlan>
+    <hashTree>
+      <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments">
+          <elementProp name="ThreadCount" elementType="Argument">
+            <stringProp name="Argument.name">ThreadCount</stringProp>
+            <stringProp name="Argument.value">20</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">Number of Threads</stringProp>
+          </elementProp>
+          <elementProp name="Duration" elementType="Argument">
+            <stringProp name="Argument.name">Duration</stringProp>
+            <stringProp name="Argument.value">120</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="startupDelay" elementType="Argument">
+            <stringProp name="Argument.name">startupDelay</stringProp>
+            <stringProp name="Argument.value">3</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="RampUpPeriod" elementType="Argument">
+            <stringProp name="Argument.name">RampUpPeriod</stringProp>
+            <stringProp name="Argument.value">3</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="IdPHost" elementType="Argument">
+            <stringProp name="Argument.name">IdPHost</stringProp>
+            <stringProp name="Argument.value">https://cas-staging.supwisdom.com</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">The main URL of your CAS Instance</stringProp>
+          </elementProp>
+          <elementProp name="IdPPort" elementType="Argument">
+            <stringProp name="Argument.name">IdPPort</stringProp>
+            <stringProp name="Argument.value">443</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+          </elementProp>
+          <elementProp name="IdPContext" elementType="Argument">
+            <stringProp name="Argument.name">IdPContext</stringProp>
+            <stringProp name="Argument.value">idp</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+          </elementProp>
+          <elementProp name="CasSP" elementType="Argument">
+            <stringProp name="Argument.name">CasSP</stringProp>
+            <stringProp name="Argument.value">http://172.50.10.37:8080/cas/login</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">Service Provider url</stringProp>
+          </elementProp>
+          <elementProp name="CasSP-example" elementType="Argument">
+            <stringProp name="Argument.name">CasSP-example</stringProp>
+            <stringProp name="Argument.value">https://example.com/index.html</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+          </elementProp>
+          <elementProp name="AdminCenterHost" elementType="Argument">
+            <stringProp name="Argument.name">AdminCenterHost</stringProp>
+            <stringProp name="Argument.value">http://172.50.10.37:8080</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+          </elementProp>
+          <elementProp name="token2" elementType="Argument">
+            <stringProp name="Argument.name">token2</stringProp>
+            <stringProp name="Argument.value">eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc2MzcxNTIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzYwODM1MiwianRpIjoiSUQtVG9rZW4tMjkyNi1kdGI4VUoxd09oaXowLXlESXFGbTl1czFJNTc5di1WQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lgW2NdjdZ-BsftKMNUFBle_x35fzBif4T2nEAC9GNHBoD4VvcIItvx02XnEppxrNPAkV7s9Oee5r4PYzq0S882rpjvunl_4AdaUWU64pFWjiGGLH3ln21NyRFKybScGRn-NZw2loksE48d75E6rf16528-u6Q-OsoQvqID3lp2zVx1iiBGn7KX-j9QQUIpMn_oKbKjkJgCiQ6OUt8ROz-VZ3TNSgQ5rqgc328oi70a0kjAeUknhm5nWi1MIUZvZDhFwAnUfQbfZJrcU-cADYKDFtgBB0a4AnvIxWp83a361ar3DHg_dO7UhGTcpnCB1RZlzESkGchBwnYM4cxO3l5A</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+          </elementProp>
+        </collectionProp>
+      </Arguments>
+      <hashTree/>
+      <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="CSV Get Users/Passwords" enabled="false">
+        <stringProp name="filename"></stringProp>
+        <stringProp name="fileEncoding"></stringProp>
+        <stringProp name="variableNames">User,Password</stringProp>
+        <stringProp name="delimiter">,</stringProp>
+        <boolProp name="quotedData">false</boolProp>
+        <boolProp name="recycle">true</boolProp>
+        <boolProp name="stopThread">false</boolProp>
+        <stringProp name="shareMode">shareMode.all</stringProp>
+        <boolProp name="ignoreFirstLine">false</boolProp>
+      </CSVDataSet>
+      <hashTree/>
+      <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
+        <collectionProp name="CookieManager.cookies"/>
+        <boolProp name="CookieManager.clearEachIteration">true</boolProp>
+        <boolProp name="CookieManager.controlledByThreadGroup">false</boolProp>
+      </CookieManager>
+      <hashTree/>
+      <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
+        <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+          <collectionProp name="Arguments.arguments"/>
+        </elementProp>
+        <stringProp name="HTTPSampler.domain"></stringProp>
+        <stringProp name="HTTPSampler.port"></stringProp>
+        <stringProp name="HTTPSampler.protocol">https</stringProp>
+        <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+        <stringProp name="HTTPSampler.path"></stringProp>
+        <stringProp name="HTTPSampler.concurrentPool">4</stringProp>
+        <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
+        <stringProp name="HTTPSampler.connect_timeout">120000</stringProp>
+        <stringProp name="HTTPSampler.response_timeout">120000</stringProp>
+      </ConfigTestElement>
+      <hashTree/>
+      <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="false">
+        <boolProp name="ResultCollector.error_logging">false</boolProp>
+        <objProp>
+          <name>saveConfig</name>
+          <value class="SampleSaveConfiguration">
+            <time>true</time>
+            <latency>true</latency>
+            <timestamp>true</timestamp>
+            <success>true</success>
+            <label>true</label>
+            <code>true</code>
+            <message>true</message>
+            <threadName>true</threadName>
+            <dataType>true</dataType>
+            <encoding>false</encoding>
+            <assertions>true</assertions>
+            <subresults>true</subresults>
+            <responseData>false</responseData>
+            <samplerData>false</samplerData>
+            <xml>false</xml>
+            <fieldNames>false</fieldNames>
+            <responseHeaders>false</responseHeaders>
+            <requestHeaders>false</requestHeaders>
+            <responseDataOnError>false</responseDataOnError>
+            <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
+            <assertionsResultsToSave>0</assertionsResultsToSave>
+            <bytes>true</bytes>
+            <threadCounts>true</threadCounts>
+          </value>
+        </objProp>
+        <stringProp name="filename"></stringProp>
+      </ResultCollector>
+      <hashTree/>
+      <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="Aggregate Report" enabled="false">
+        <boolProp name="ResultCollector.error_logging">false</boolProp>
+        <objProp>
+          <name>saveConfig</name>
+          <value class="SampleSaveConfiguration">
+            <time>true</time>
+            <latency>true</latency>
+            <timestamp>true</timestamp>
+            <success>true</success>
+            <label>true</label>
+            <code>true</code>
+            <message>false</message>
+            <threadName>false</threadName>
+            <dataType>false</dataType>
+            <encoding>false</encoding>
+            <assertions>false</assertions>
+            <subresults>false</subresults>
+            <responseData>false</responseData>
+            <samplerData>false</samplerData>
+            <xml>false</xml>
+            <fieldNames>false</fieldNames>
+            <responseHeaders>false</responseHeaders>
+            <requestHeaders>false</requestHeaders>
+            <responseDataOnError>false</responseDataOnError>
+            <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
+            <assertionsResultsToSave>0</assertionsResultsToSave>
+            <threadCounts>true</threadCounts>
+          </value>
+        </objProp>
+        <stringProp name="filename"></stringProp>
+        <boolProp name="useGroupName">true</boolProp>
+      </ResultCollector>
+      <hashTree/>
+      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Typical Admin Center API test" enabled="true">
+        <stringProp name="ThreadGroup.on_sample_error">startnextloop</stringProp>
+        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+          <boolProp name="LoopController.continue_forever">false</boolProp>
+          <intProp name="LoopController.loops">-1</intProp>
+        </elementProp>
+        <stringProp name="ThreadGroup.num_threads">${ThreadCount}</stringProp>
+        <stringProp name="ThreadGroup.ramp_time">${RampUpPeriod}</stringProp>
+        <longProp name="ThreadGroup.start_time">1500501626000</longProp>
+        <longProp name="ThreadGroup.end_time">1500501626000</longProp>
+        <boolProp name="ThreadGroup.scheduler">true</boolProp>
+        <stringProp name="ThreadGroup.duration">${Duration}</stringProp>
+        <stringProp name="ThreadGroup.delay">${StartupDelay}</stringProp>
+        <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+      </ThreadGroup>
+      <hashTree>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center JWT" enabled="false">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="325771466">GET - Admin Center JWT</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center CAS sso" enabled="false">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="373645767">GET - Admin Center CAS sso</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - CAS Login Page" enabled="false">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="-157788562">GET - CAS Login Page</stringProp>
+          </collectionProp>
+          <stringProp name="TestPlan.comments">Get the CAS Login page</stringProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="POST - Login Credentials" enabled="false">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="-2049830958">POST - Login Credentials</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center return ticket" enabled="false">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="-200699809">GET - Admin Center return ticket</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center return CAS sso" enabled="false">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="668069937">GET - Admin Center return CAS sso</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center return JWT" enabled="false">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="1501770804">GET - Admin Center return JWT</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center api user" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="-1164279858">GET - Admin Center api user</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center api security account" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="-428931888">GET - Admin Center api security account</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - User Logout" enabled="false">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
+            <stringProp name="-648438622">GET - User Logout</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
+          <boolProp name="ResultCollector.error_logging">true</boolProp>
+          <objProp>
+            <name>saveConfig</name>
+            <value class="SampleSaveConfiguration">
+              <time>true</time>
+              <latency>true</latency>
+              <timestamp>true</timestamp>
+              <success>true</success>
+              <label>true</label>
+              <code>true</code>
+              <message>true</message>
+              <threadName>true</threadName>
+              <dataType>true</dataType>
+              <encoding>false</encoding>
+              <assertions>true</assertions>
+              <subresults>true</subresults>
+              <responseData>false</responseData>
+              <samplerData>false</samplerData>
+              <xml>true</xml>
+              <fieldNames>true</fieldNames>
+              <responseHeaders>false</responseHeaders>
+              <requestHeaders>false</requestHeaders>
+              <responseDataOnError>false</responseDataOnError>
+              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+              <assertionsResultsToSave>0</assertionsResultsToSave>
+              <bytes>true</bytes>
+              <threadCounts>true</threadCounts>
+              <idleTime>true</idleTime>
+            </value>
+          </objProp>
+          <stringProp name="filename"></stringProp>
+        </ResultCollector>
+        <hashTree/>
+        <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="Aggregate Report" enabled="true">
+          <boolProp name="ResultCollector.error_logging">false</boolProp>
+          <objProp>
+            <name>saveConfig</name>
+            <value class="SampleSaveConfiguration">
+              <time>true</time>
+              <latency>true</latency>
+              <timestamp>true</timestamp>
+              <success>true</success>
+              <label>true</label>
+              <code>true</code>
+              <message>true</message>
+              <threadName>true</threadName>
+              <dataType>true</dataType>
+              <encoding>false</encoding>
+              <assertions>true</assertions>
+              <subresults>true</subresults>
+              <responseData>false</responseData>
+              <samplerData>false</samplerData>
+              <xml>true</xml>
+              <fieldNames>true</fieldNames>
+              <responseHeaders>false</responseHeaders>
+              <requestHeaders>false</requestHeaders>
+              <responseDataOnError>false</responseDataOnError>
+              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+              <assertionsResultsToSave>0</assertionsResultsToSave>
+              <bytes>true</bytes>
+              <sentBytes>true</sentBytes>
+              <url>true</url>
+              <threadCounts>true</threadCounts>
+              <idleTime>true</idleTime>
+              <connectTime>true</connectTime>
+            </value>
+          </objProp>
+          <stringProp name="filename"></stringProp>
+        </ResultCollector>
+        <hashTree/>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center JWT" enabled="false"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center JWT" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${AdminCenterHost}/jwt/cas/login?redirect_uri=${__urlencode(https://example.com/index.html)}&amp;state=STATE</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify on CAS login page" enabled="false">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="232355224">cas/login?service=</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.test_field">Assertion.sample_label</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">16</intProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+          </ResponseAssertion>
+          <hashTree/>
+          <XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Extract Execution variable" enabled="false">
+            <stringProp name="XPathExtractor.default"></stringProp>
+            <stringProp name="XPathExtractor.refname">ExecId</stringProp>
+            <stringProp name="XPathExtractor.matchNumber">-1</stringProp>
+            <stringProp name="XPathExtractor.xpathQuery">//input[@name=&apos;execution&apos;]/@value</stringProp>
+            <boolProp name="XPathExtractor.validate">false</boolProp>
+            <boolProp name="XPathExtractor.tolerant">true</boolProp>
+            <boolProp name="XPathExtractor.namespace">false</boolProp>
+          </XPathExtractor>
+          <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="false">
+            <stringProp name="RegexExtractor.useHeaders">true</stringProp>
+            <stringProp name="RegexExtractor.refname">jsid</stringProp>
+            <stringProp name="RegexExtractor.regex">Set-Cookie: JSESSIONID=(.+); Path=/; Secure; HttpOnly</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center CAS sso" enabled="false"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center CAS sso" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="jsid" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${jsid}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">jsid</stringProp>
+              </elementProp>
+            </collectionProp>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${AdminCenterHost}/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify on CAS login page" enabled="false">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="232355224">cas/login?service=</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.test_field">Assertion.sample_label</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">16</intProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+          </ResponseAssertion>
+          <hashTree/>
+          <XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Extract Execution variable" enabled="false">
+            <stringProp name="XPathExtractor.default"></stringProp>
+            <stringProp name="XPathExtractor.refname">ExecId</stringProp>
+            <stringProp name="XPathExtractor.matchNumber">-1</stringProp>
+            <stringProp name="XPathExtractor.xpathQuery">//input[@name=&apos;execution&apos;]/@value</stringProp>
+            <boolProp name="XPathExtractor.validate">false</boolProp>
+            <boolProp name="XPathExtractor.tolerant">true</boolProp>
+            <boolProp name="XPathExtractor.namespace">false</boolProp>
+          </XPathExtractor>
+          <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="false">
+            <stringProp name="RegexExtractor.useHeaders">true</stringProp>
+            <stringProp name="RegexExtractor.refname">jsessionid</stringProp>
+            <stringProp name="RegexExtractor.regex">Set-Cookie: JSESSIONID=(.+); Path=/; Secure; HttpOnly</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - CAS Login Page" enabled="false"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - CAS Login Page" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${IdPHost}/cas/login?service=${CasSP}</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Execution Variable" enabled="false">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">ExecId</stringProp>
+            <stringProp name="RegexExtractor.regex">execution=(.+)</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify on CAS login page" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="232355224">cas/login?service=</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.test_field">Assertion.sample_label</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">16</intProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+          </ResponseAssertion>
+          <hashTree/>
+          <XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Extract Execution variable" enabled="true">
+            <stringProp name="XPathExtractor.default"></stringProp>
+            <stringProp name="XPathExtractor.refname">ExecId</stringProp>
+            <stringProp name="XPathExtractor.matchNumber">-1</stringProp>
+            <stringProp name="XPathExtractor.xpathQuery">//input[@name=&apos;execution&apos;]/@value</stringProp>
+            <boolProp name="XPathExtractor.validate">false</boolProp>
+            <boolProp name="XPathExtractor.tolerant">true</boolProp>
+            <boolProp name="XPathExtractor.namespace">false</boolProp>
+          </XPathExtractor>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="POST - Login Credentials" enabled="false"/>
+      <hashTree>
+        <SyncTimer guiclass="TestBeanGUI" testclass="SyncTimer" testname="Synchronizing Timer" enabled="true">
+          <stringProp name="groupSize">${ThreadCount}</stringProp>
+          <longProp name="timeoutInMs">0</longProp>
+        </SyncTimer>
+        <hashTree/>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="POST - Login Credentials follow Redirects" enabled="false">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="username" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${User}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">username</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="password" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${Password}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">password</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="_eventId_submit" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">_eventId_submit</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="execution" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${ExecId}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">execution</stringProp>
+              </elementProp>
+            </collectionProp>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${IdPHost}/cas/login?service=${__urlencode(${CasSP})}</stringProp>
+          <stringProp name="HTTPSampler.method">POST</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Ticket Variable" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">URL</stringProp>
+            <stringProp name="RegexExtractor.refname">st</stringProp>
+            <stringProp name="RegexExtractor.regex">ticket=(.+)</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+            <stringProp name="Sample.scope">all</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="POST - Login Credentials no Redirects" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="username" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">smartadmin</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">username</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="password" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">adminadmin</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">password</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="_eventId_submit" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">_eventId_submit</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="execution" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${ExecId}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">execution</stringProp>
+              </elementProp>
+            </collectionProp>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${IdPHost}/cas/login?service=${__urlencode(${CasSP})}</stringProp>
+          <stringProp name="HTTPSampler.method">POST</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Ticket Variable" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">true</stringProp>
+            <stringProp name="RegexExtractor.refname">st</stringProp>
+            <stringProp name="RegexExtractor.regex">Location:(.+)ticket=(.+)</stringProp>
+            <stringProp name="RegexExtractor.template">$2$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+            <stringProp name="Sample.scope">all</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center return ticket" enabled="false"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center return ticket" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${CasSP}?ticket=${st}</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree/>
+        <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify User Info Returned" enabled="false">
+          <collectionProp name="Asserion.test_strings">
+            <stringProp name="919549364">&lt;cas:authenticationSuccess&gt;</stringProp>
+            <stringProp name="1774939698">&lt;cas:user&gt;${User}&lt;/cas:user&gt;</stringProp>
+          </collectionProp>
+          <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+          <boolProp name="Assertion.assume_success">false</boolProp>
+          <intProp name="Assertion.test_type">2</intProp>
+          <stringProp name="TestPlan.comments">Verifies get user info on ticket validation</stringProp>
+          <stringProp name="Assertion.custom_message"></stringProp>
+        </ResponseAssertion>
+        <hashTree/>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center return CAS sso" enabled="false"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center return CAS sso" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="jsid" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${jsid}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">jsid</stringProp>
+              </elementProp>
+            </collectionProp>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${AdminCenterHost}/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify on CAS login page" enabled="false">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="232355224">cas/login?service=</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.test_field">Assertion.sample_label</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">16</intProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+          </ResponseAssertion>
+          <hashTree/>
+          <XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Extract Execution variable" enabled="false">
+            <stringProp name="XPathExtractor.default"></stringProp>
+            <stringProp name="XPathExtractor.refname">ExecId</stringProp>
+            <stringProp name="XPathExtractor.matchNumber">-1</stringProp>
+            <stringProp name="XPathExtractor.xpathQuery">//input[@name=&apos;execution&apos;]/@value</stringProp>
+            <boolProp name="XPathExtractor.validate">false</boolProp>
+            <boolProp name="XPathExtractor.tolerant">true</boolProp>
+            <boolProp name="XPathExtractor.namespace">false</boolProp>
+          </XPathExtractor>
+          <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="false">
+            <stringProp name="RegexExtractor.useHeaders">true</stringProp>
+            <stringProp name="RegexExtractor.refname">jsessionid</stringProp>
+            <stringProp name="RegexExtractor.regex">Set-Cookie: JSESSIONID=(.+); Path=/; Secure; HttpOnly</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center return JWT" enabled="false"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center return JWT" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${AdminCenterHost}/jwt/cas/login?redirect_uri=${__urlencode(https://example.com/index.html)}&amp;state=STATE</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Token Variable" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">true</stringProp>
+            <stringProp name="RegexExtractor.refname">token</stringProp>
+            <stringProp name="RegexExtractor.regex">Location: (.+)token=(.+)</stringProp>
+            <stringProp name="RegexExtractor.template">$2$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center api user" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center api user" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${AdminCenterHost}/api/user</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
+            <collectionProp name="HeaderManager.headers">
+              <elementProp name="" elementType="Header">
+                <stringProp name="Header.name">Authorization</stringProp>
+                <stringProp name="Header.value">Bearer ${token2}</stringProp>
+              </elementProp>
+            </collectionProp>
+          </HeaderManager>
+          <hashTree/>
+        </hashTree>
+        <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify User Info Returned" enabled="false">
+          <collectionProp name="Asserion.test_strings">
+            <stringProp name="919549364">&lt;cas:authenticationSuccess&gt;</stringProp>
+            <stringProp name="1774939698">&lt;cas:user&gt;${User}&lt;/cas:user&gt;</stringProp>
+          </collectionProp>
+          <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+          <boolProp name="Assertion.assume_success">false</boolProp>
+          <intProp name="Assertion.test_type">2</intProp>
+          <stringProp name="TestPlan.comments">Verifies get user info on ticket validation</stringProp>
+          <stringProp name="Assertion.custom_message"></stringProp>
+        </ResponseAssertion>
+        <hashTree/>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center api security account" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center api security account" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${AdminCenterHost}/api/v1/security/accounts/accountName/smartadmin</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
+            <collectionProp name="HeaderManager.headers">
+              <elementProp name="" elementType="Header">
+                <stringProp name="Header.name">Authorization</stringProp>
+                <stringProp name="Header.value">Bearer ${token2}</stringProp>
+              </elementProp>
+            </collectionProp>
+          </HeaderManager>
+          <hashTree/>
+        </hashTree>
+        <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify User Info Returned" enabled="false">
+          <collectionProp name="Asserion.test_strings">
+            <stringProp name="919549364">&lt;cas:authenticationSuccess&gt;</stringProp>
+            <stringProp name="1774939698">&lt;cas:user&gt;${User}&lt;/cas:user&gt;</stringProp>
+          </collectionProp>
+          <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+          <boolProp name="Assertion.assume_success">false</boolProp>
+          <intProp name="Assertion.test_type">2</intProp>
+          <stringProp name="TestPlan.comments">Verifies get user info on ticket validation</stringProp>
+          <stringProp name="Assertion.custom_message"></stringProp>
+        </ResponseAssertion>
+        <hashTree/>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - User Logout" enabled="false"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get - User Logout" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${IdPHost}/cas/logout</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree/>
+        <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify User Logged Out" enabled="true">
+          <collectionProp name="Asserion.test_strings">
+            <stringProp name="49586">200</stringProp>
+          </collectionProp>
+          <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+          <boolProp name="Assertion.assume_success">false</boolProp>
+          <intProp name="Assertion.test_type">2</intProp>
+          <stringProp name="Assertion.custom_message"></stringProp>
+        </ResponseAssertion>
+        <hashTree/>
+      </hashTree>
+    </hashTree>
+  </hashTree>
+</jmeterTestPlan>
diff --git a/testing/jmeter/application-account.csv b/testing/jmeter/application-account.csv
new file mode 100644
index 0000000..cf0731b
--- /dev/null
+++ b/testing/jmeter/application-account.csv
@@ -0,0 +1,10001 @@
+﻿1,1
+0200de8152734f499f158bbdc80154d7,2004000106
+0200de8152734f499f158bbdc80154d7,2004000105
+0200de8152734f499f158bbdc80154d7,2004000104
+0200de8152734f499f158bbdc80154d7,2004000103
+0200de8152734f499f158bbdc80154d7,2004000102
+0200de8152734f499f158bbdc80154d7,2004000101
+0200de8152734f499f158bbdc80154d7,2004000091
+0200de8152734f499f158bbdc80154d7,2004000089
+0200de8152734f499f158bbdc80154d7,2004000088
+0200de8152734f499f158bbdc80154d7,2004000087
+0200de8152734f499f158bbdc80154d7,2004000085
+0200de8152734f499f158bbdc80154d7,2004000084
+0200de8152734f499f158bbdc80154d7,2004000083
+0200de8152734f499f158bbdc80154d7,2004000082
+0200de8152734f499f158bbdc80154d7,2004000081
+0200de8152734f499f158bbdc80154d7,2004000080
+0200de8152734f499f158bbdc80154d7,2004000079
+0200de8152734f499f158bbdc80154d7,2004000077
+0200de8152734f499f158bbdc80154d7,2004000076
+0200de8152734f499f158bbdc80154d7,2004000075
+0200de8152734f499f158bbdc80154d7,2004000074
+0200de8152734f499f158bbdc80154d7,2004000073
+0200de8152734f499f158bbdc80154d7,2004000072
+0200de8152734f499f158bbdc80154d7,2004000071
+0200de8152734f499f158bbdc80154d7,2004000070
+0200de8152734f499f158bbdc80154d7,2004000069
+0200de8152734f499f158bbdc80154d7,2004000068
+0200de8152734f499f158bbdc80154d7,2004000067
+0200de8152734f499f158bbdc80154d7,2004000066
+0200de8152734f499f158bbdc80154d7,2004000065
+0200de8152734f499f158bbdc80154d7,2004000064
+0200de8152734f499f158bbdc80154d7,2004000063
+0200de8152734f499f158bbdc80154d7,2004000062
+0200de8152734f499f158bbdc80154d7,2004000061
+0200de8152734f499f158bbdc80154d7,2004000060
+0200de8152734f499f158bbdc80154d7,2004000059
+0200de8152734f499f158bbdc80154d7,2004000058
+0200de8152734f499f158bbdc80154d7,2004000057
+0200de8152734f499f158bbdc80154d7,2004000056
+0200de8152734f499f158bbdc80154d7,2004000055
+0200de8152734f499f158bbdc80154d7,2004000054
+0200de8152734f499f158bbdc80154d7,2004000053
+0200de8152734f499f158bbdc80154d7,2004000052
+0200de8152734f499f158bbdc80154d7,2004000051
+0200de8152734f499f158bbdc80154d7,2004000050
+0200de8152734f499f158bbdc80154d7,2004000049
+0200de8152734f499f158bbdc80154d7,2004000048
+0200de8152734f499f158bbdc80154d7,2004000047
+0200de8152734f499f158bbdc80154d7,2004000046
+0200de8152734f499f158bbdc80154d7,2004000045
+0200de8152734f499f158bbdc80154d7,2004000044
+0200de8152734f499f158bbdc80154d7,2004000043
+0200de8152734f499f158bbdc80154d7,2004000042
+0200de8152734f499f158bbdc80154d7,2004000041
+0200de8152734f499f158bbdc80154d7,2004000040
+0200de8152734f499f158bbdc80154d7,2004000039
+0200de8152734f499f158bbdc80154d7,2004000037
+0200de8152734f499f158bbdc80154d7,2004000036
+0200de8152734f499f158bbdc80154d7,2004000035
+0200de8152734f499f158bbdc80154d7,2004000034
+0200de8152734f499f158bbdc80154d7,2004000033
+0200de8152734f499f158bbdc80154d7,2004000032
+0200de8152734f499f158bbdc80154d7,2004000031
+0200de8152734f499f158bbdc80154d7,2004000030
+0200de8152734f499f158bbdc80154d7,2004000029
+0200de8152734f499f158bbdc80154d7,2004000028
+0200de8152734f499f158bbdc80154d7,2004000027
+0200de8152734f499f158bbdc80154d7,2004000026
+0200de8152734f499f158bbdc80154d7,2004000025
+0200de8152734f499f158bbdc80154d7,2004000024
+0200de8152734f499f158bbdc80154d7,2004000023
+0200de8152734f499f158bbdc80154d7,2004000022
+0200de8152734f499f158bbdc80154d7,2004000021
+0200de8152734f499f158bbdc80154d7,2004000020
+0200de8152734f499f158bbdc80154d7,2004000019
+0200de8152734f499f158bbdc80154d7,2004000018
+0200de8152734f499f158bbdc80154d7,2004000017
+0200de8152734f499f158bbdc80154d7,2004000016
+0200de8152734f499f158bbdc80154d7,2004000015
+0200de8152734f499f158bbdc80154d7,2004000014
+0200de8152734f499f158bbdc80154d7,2004000013
+0200de8152734f499f158bbdc80154d7,2004000012
+0200de8152734f499f158bbdc80154d7,2004000011
+0200de8152734f499f158bbdc80154d7,2004000010
+0200de8152734f499f158bbdc80154d7,2004000009
+0200de8152734f499f158bbdc80154d7,2004000008
+0200de8152734f499f158bbdc80154d7,2004000007
+0200de8152734f499f158bbdc80154d7,2004000006
+0200de8152734f499f158bbdc80154d7,2004000005
+0200de8152734f499f158bbdc80154d7,2004000003
+0200de8152734f499f158bbdc80154d7,2004000002
+0200de8152734f499f158bbdc80154d7,2003030128
+0200de8152734f499f158bbdc80154d7,2003030117
+0200de8152734f499f158bbdc80154d7,2003030066
+0200de8152734f499f158bbdc80154d7,2003020134
+0200de8152734f499f158bbdc80154d7,2003020127
+0200de8152734f499f158bbdc80154d7,2003020089
+0200de8152734f499f158bbdc80154d7,2003020088
+0200de8152734f499f158bbdc80154d7,2003020087
+0200de8152734f499f158bbdc80154d7,2003020086
+0200de8152734f499f158bbdc80154d7,2003020085
+0200de8152734f499f158bbdc80154d7,2003020084
+0200de8152734f499f158bbdc80154d7,2003020083
+0200de8152734f499f158bbdc80154d7,2003020082
+0200de8152734f499f158bbdc80154d7,2003020081
+0200de8152734f499f158bbdc80154d7,2003020080
+0200de8152734f499f158bbdc80154d7,2003020079
+0200de8152734f499f158bbdc80154d7,2003020078
+0200de8152734f499f158bbdc80154d7,2003020077
+0200de8152734f499f158bbdc80154d7,2003020059
+0200de8152734f499f158bbdc80154d7,2003020045
+0200de8152734f499f158bbdc80154d7,2003020008
+0200de8152734f499f158bbdc80154d7,2003010161
+0200de8152734f499f158bbdc80154d7,2003000133
+0200de8152734f499f158bbdc80154d7,2003000132
+0200de8152734f499f158bbdc80154d7,2003000131
+0200de8152734f499f158bbdc80154d7,2003000130
+0200de8152734f499f158bbdc80154d7,2003000129
+0200de8152734f499f158bbdc80154d7,2003000126
+0200de8152734f499f158bbdc80154d7,2003000125
+0200de8152734f499f158bbdc80154d7,2003000124
+0200de8152734f499f158bbdc80154d7,2003000123
+0200de8152734f499f158bbdc80154d7,2003000121
+0200de8152734f499f158bbdc80154d7,2003000120
+0200de8152734f499f158bbdc80154d7,2003000119
+0200de8152734f499f158bbdc80154d7,2003000118
+0200de8152734f499f158bbdc80154d7,2003000116
+0200de8152734f499f158bbdc80154d7,2003000115
+0200de8152734f499f158bbdc80154d7,2003000114
+0200de8152734f499f158bbdc80154d7,2003000113
+0200de8152734f499f158bbdc80154d7,2003000112
+0200de8152734f499f158bbdc80154d7,2003000111
+0200de8152734f499f158bbdc80154d7,2003000110
+0200de8152734f499f158bbdc80154d7,2003000109
+0200de8152734f499f158bbdc80154d7,2003000108
+0200de8152734f499f158bbdc80154d7,2003000107
+0200de8152734f499f158bbdc80154d7,2003000106
+0200de8152734f499f158bbdc80154d7,2003000105
+0200de8152734f499f158bbdc80154d7,2003000104
+0200de8152734f499f158bbdc80154d7,2003000103
+0200de8152734f499f158bbdc80154d7,2003000102
+0200de8152734f499f158bbdc80154d7,2003000101
+0200de8152734f499f158bbdc80154d7,2003000100
+0200de8152734f499f158bbdc80154d7,2003000099
+0200de8152734f499f158bbdc80154d7,2003000098
+0200de8152734f499f158bbdc80154d7,2003000097
+0200de8152734f499f158bbdc80154d7,2003000096
+0200de8152734f499f158bbdc80154d7,2003000095
+0200de8152734f499f158bbdc80154d7,2003000094
+0200de8152734f499f158bbdc80154d7,2003000093
+0200de8152734f499f158bbdc80154d7,2003000092
+0200de8152734f499f158bbdc80154d7,2003000091
+0200de8152734f499f158bbdc80154d7,2003000090
+0200de8152734f499f158bbdc80154d7,2003000076
+0200de8152734f499f158bbdc80154d7,2003000075
+0200de8152734f499f158bbdc80154d7,2003000074
+0200de8152734f499f158bbdc80154d7,2003000073
+0200de8152734f499f158bbdc80154d7,2003000072
+0200de8152734f499f158bbdc80154d7,2003000071
+0200de8152734f499f158bbdc80154d7,2003000070
+0200de8152734f499f158bbdc80154d7,2003000069
+0200de8152734f499f158bbdc80154d7,2003000068
+0200de8152734f499f158bbdc80154d7,2003000067
+0200de8152734f499f158bbdc80154d7,2003000065
+0200de8152734f499f158bbdc80154d7,2003000064
+0200de8152734f499f158bbdc80154d7,2003000063
+0200de8152734f499f158bbdc80154d7,2003000062
+0200de8152734f499f158bbdc80154d7,2003000061
+0200de8152734f499f158bbdc80154d7,2003000060
+0200de8152734f499f158bbdc80154d7,2003000058
+0200de8152734f499f158bbdc80154d7,2003000057
+0200de8152734f499f158bbdc80154d7,2003000056
+0200de8152734f499f158bbdc80154d7,2003000055
+0200de8152734f499f158bbdc80154d7,2003000054
+0200de8152734f499f158bbdc80154d7,2003000053
+0200de8152734f499f158bbdc80154d7,2003000052
+0200de8152734f499f158bbdc80154d7,2003000051
+0200de8152734f499f158bbdc80154d7,2003000050
+0200de8152734f499f158bbdc80154d7,2003000049
+0200de8152734f499f158bbdc80154d7,2003000048
+0200de8152734f499f158bbdc80154d7,2003000047
+0200de8152734f499f158bbdc80154d7,2003000046
+0200de8152734f499f158bbdc80154d7,2003000044
+0200de8152734f499f158bbdc80154d7,2003000043
+0200de8152734f499f158bbdc80154d7,2003000042
+0200de8152734f499f158bbdc80154d7,2003000041
+0200de8152734f499f158bbdc80154d7,2003000040
+0200de8152734f499f158bbdc80154d7,2003000039
+0200de8152734f499f158bbdc80154d7,2003000038
+0200de8152734f499f158bbdc80154d7,2003000037
+0200de8152734f499f158bbdc80154d7,2003000036
+0200de8152734f499f158bbdc80154d7,2003000035
+0200de8152734f499f158bbdc80154d7,2003000034
+0200de8152734f499f158bbdc80154d7,2003000033
+0200de8152734f499f158bbdc80154d7,2003000032
+0200de8152734f499f158bbdc80154d7,2003000031
+0200de8152734f499f158bbdc80154d7,2003000030
+0200de8152734f499f158bbdc80154d7,2003000029
+0200de8152734f499f158bbdc80154d7,2003000028
+0200de8152734f499f158bbdc80154d7,2003000027
+0200de8152734f499f158bbdc80154d7,2003000026
+0200de8152734f499f158bbdc80154d7,2003000025
+0200de8152734f499f158bbdc80154d7,2003000024
+0200de8152734f499f158bbdc80154d7,2003000023
+0200de8152734f499f158bbdc80154d7,2003000022
+0200de8152734f499f158bbdc80154d7,2003000021
+0200de8152734f499f158bbdc80154d7,2003000020
+0200de8152734f499f158bbdc80154d7,2003000019
+0200de8152734f499f158bbdc80154d7,2003000018
+0200de8152734f499f158bbdc80154d7,2003000017
+0200de8152734f499f158bbdc80154d7,2003000016
+0200de8152734f499f158bbdc80154d7,2003000015
+0200de8152734f499f158bbdc80154d7,2003000014
+0200de8152734f499f158bbdc80154d7,2003000013
+0200de8152734f499f158bbdc80154d7,2003000012
+0200de8152734f499f158bbdc80154d7,2003000011
+0200de8152734f499f158bbdc80154d7,2003000010
+0200de8152734f499f158bbdc80154d7,2003000009
+0200de8152734f499f158bbdc80154d7,2003000007
+0200de8152734f499f158bbdc80154d7,2003000006
+0200de8152734f499f158bbdc80154d7,2003000005
+0200de8152734f499f158bbdc80154d7,2003000004
+0200de8152734f499f158bbdc80154d7,2003000002
+0200de8152734f499f158bbdc80154d7,2003000001
+0200de8152734f499f158bbdc80154d7,2002060088
+0200de8152734f499f158bbdc80154d7,2002030006
+0200de8152734f499f158bbdc80154d7,2002020066
+0200de8152734f499f158bbdc80154d7,2002020065
+0200de8152734f499f158bbdc80154d7,2002020057
+0200de8152734f499f158bbdc80154d7,2002020056
+0200de8152734f499f158bbdc80154d7,2002020053
+0200de8152734f499f158bbdc80154d7,2002020013
+0200de8152734f499f158bbdc80154d7,2002020012
+0200de8152734f499f158bbdc80154d7,2002020002
+0200de8152734f499f158bbdc80154d7,2002020001
+0200de8152734f499f158bbdc80154d7,2002000067
+0200de8152734f499f158bbdc80154d7,2002000064
+0200de8152734f499f158bbdc80154d7,2002000063
+0200de8152734f499f158bbdc80154d7,2002000062
+0200de8152734f499f158bbdc80154d7,2002000061
+0200de8152734f499f158bbdc80154d7,2002000060
+0200de8152734f499f158bbdc80154d7,2002000058
+0200de8152734f499f158bbdc80154d7,2002000055
+0200de8152734f499f158bbdc80154d7,2002000054
+0200de8152734f499f158bbdc80154d7,2002000052
+0200de8152734f499f158bbdc80154d7,2002000051
+0200de8152734f499f158bbdc80154d7,2002000050
+0200de8152734f499f158bbdc80154d7,2002000049
+0200de8152734f499f158bbdc80154d7,2002000048
+0200de8152734f499f158bbdc80154d7,2002000047
+0200de8152734f499f158bbdc80154d7,2002000046
+0200de8152734f499f158bbdc80154d7,2002000045
+0200de8152734f499f158bbdc80154d7,2002000044
+0200de8152734f499f158bbdc80154d7,2002000043
+0200de8152734f499f158bbdc80154d7,2002000042
+0200de8152734f499f158bbdc80154d7,2002000041
+0200de8152734f499f158bbdc80154d7,2002000040
+0200de8152734f499f158bbdc80154d7,2002000039
+0200de8152734f499f158bbdc80154d7,2002000038
+0200de8152734f499f158bbdc80154d7,2002000037
+0200de8152734f499f158bbdc80154d7,2002000036
+0200de8152734f499f158bbdc80154d7,2002000035
+0200de8152734f499f158bbdc80154d7,2002000034
+0200de8152734f499f158bbdc80154d7,2002000033
+0200de8152734f499f158bbdc80154d7,2002000032
+0200de8152734f499f158bbdc80154d7,2002000031
+0200de8152734f499f158bbdc80154d7,2002000030
+0200de8152734f499f158bbdc80154d7,2002000029
+0200de8152734f499f158bbdc80154d7,2002000028
+0200de8152734f499f158bbdc80154d7,2002000027
+0200de8152734f499f158bbdc80154d7,2002000026
+0200de8152734f499f158bbdc80154d7,2002000025
+0200de8152734f499f158bbdc80154d7,2002000024
+0200de8152734f499f158bbdc80154d7,2002000023
+0200de8152734f499f158bbdc80154d7,2002000022
+0200de8152734f499f158bbdc80154d7,2002000021
+0200de8152734f499f158bbdc80154d7,2002000020
+0200de8152734f499f158bbdc80154d7,2002000019
+0200de8152734f499f158bbdc80154d7,2002000018
+0200de8152734f499f158bbdc80154d7,2002000017
+0200de8152734f499f158bbdc80154d7,2002000016
+0200de8152734f499f158bbdc80154d7,2002000015
+0200de8152734f499f158bbdc80154d7,2002000011
+0200de8152734f499f158bbdc80154d7,2002000010
+0200de8152734f499f158bbdc80154d7,2002000009
+0200de8152734f499f158bbdc80154d7,2002000008
+0200de8152734f499f158bbdc80154d7,2002000007
+0200de8152734f499f158bbdc80154d7,2002000005
+0200de8152734f499f158bbdc80154d7,2002000004
+0200de8152734f499f158bbdc80154d7,2002000003
+0200de8152734f499f158bbdc80154d7,2001060129
+0200de8152734f499f158bbdc80154d7,2001030127
+0200de8152734f499f158bbdc80154d7,2001020098
+0200de8152734f499f158bbdc80154d7,2001020097
+0200de8152734f499f158bbdc80154d7,2001020061
+0200de8152734f499f158bbdc80154d7,2001020058
+0200de8152734f499f158bbdc80154d7,2001020056
+0200de8152734f499f158bbdc80154d7,2001020055
+0200de8152734f499f158bbdc80154d7,2001020049
+0200de8152734f499f158bbdc80154d7,2001020047
+0200de8152734f499f158bbdc80154d7,2001020039
+0200de8152734f499f158bbdc80154d7,2001020008
+0200de8152734f499f158bbdc80154d7,2001000101
+0200de8152734f499f158bbdc80154d7,2001000100
+0200de8152734f499f158bbdc80154d7,2001000096
+0200de8152734f499f158bbdc80154d7,2001000095
+0200de8152734f499f158bbdc80154d7,2001000094
+0200de8152734f499f158bbdc80154d7,2001000093
+0200de8152734f499f158bbdc80154d7,2001000092
+0200de8152734f499f158bbdc80154d7,2001000091
+0200de8152734f499f158bbdc80154d7,2001000090
+0200de8152734f499f158bbdc80154d7,2001000089
+0200de8152734f499f158bbdc80154d7,2001000088
+0200de8152734f499f158bbdc80154d7,2001000086
+0200de8152734f499f158bbdc80154d7,2001000085
+0200de8152734f499f158bbdc80154d7,2001000084
+0200de8152734f499f158bbdc80154d7,2001000083
+0200de8152734f499f158bbdc80154d7,2001000082
+0200de8152734f499f158bbdc80154d7,2001000081
+0200de8152734f499f158bbdc80154d7,2001000080
+0200de8152734f499f158bbdc80154d7,2001000079
+0200de8152734f499f158bbdc80154d7,2001000078
+0200de8152734f499f158bbdc80154d7,2001000077
+0200de8152734f499f158bbdc80154d7,2001000076
+0200de8152734f499f158bbdc80154d7,2001000075
+0200de8152734f499f158bbdc80154d7,2001000074
+0200de8152734f499f158bbdc80154d7,2001000073
+0200de8152734f499f158bbdc80154d7,2001000072
+0200de8152734f499f158bbdc80154d7,2001000071
+0200de8152734f499f158bbdc80154d7,2001000070
+0200de8152734f499f158bbdc80154d7,2001000069
+0200de8152734f499f158bbdc80154d7,2001000068
+0200de8152734f499f158bbdc80154d7,2001000067
+0200de8152734f499f158bbdc80154d7,2001000066
+0200de8152734f499f158bbdc80154d7,2001000065
+0200de8152734f499f158bbdc80154d7,2001000064
+0200de8152734f499f158bbdc80154d7,2001000063
+0200de8152734f499f158bbdc80154d7,2001000062
+0200de8152734f499f158bbdc80154d7,2001000060
+0200de8152734f499f158bbdc80154d7,2001000059
+0200de8152734f499f158bbdc80154d7,2001000057
+0200de8152734f499f158bbdc80154d7,2001000054
+0200de8152734f499f158bbdc80154d7,2001000053
+0200de8152734f499f158bbdc80154d7,2001000052
+0200de8152734f499f158bbdc80154d7,2001000051
+0200de8152734f499f158bbdc80154d7,2001000050
+0200de8152734f499f158bbdc80154d7,2001000048
+0200de8152734f499f158bbdc80154d7,2001000046
+0200de8152734f499f158bbdc80154d7,2001000045
+0200de8152734f499f158bbdc80154d7,2001000044
+0200de8152734f499f158bbdc80154d7,2001000043
+0200de8152734f499f158bbdc80154d7,2001000042
+0200de8152734f499f158bbdc80154d7,2001000040
+0200de8152734f499f158bbdc80154d7,2001000038
+0200de8152734f499f158bbdc80154d7,2001000037
+0200de8152734f499f158bbdc80154d7,2001000035
+0200de8152734f499f158bbdc80154d7,2001000034
+0200de8152734f499f158bbdc80154d7,2001000033
+0200de8152734f499f158bbdc80154d7,2001000032
+0200de8152734f499f158bbdc80154d7,2001000031
+0200de8152734f499f158bbdc80154d7,2001000030
+0200de8152734f499f158bbdc80154d7,2001000029
+0200de8152734f499f158bbdc80154d7,2001000028
+0200de8152734f499f158bbdc80154d7,2001000027
+0200de8152734f499f158bbdc80154d7,2001000026
+0200de8152734f499f158bbdc80154d7,2001000025
+0200de8152734f499f158bbdc80154d7,2001000024
+0200de8152734f499f158bbdc80154d7,2001000023
+0200de8152734f499f158bbdc80154d7,2001000022
+0200de8152734f499f158bbdc80154d7,2001000021
+0200de8152734f499f158bbdc80154d7,2001000020
+0200de8152734f499f158bbdc80154d7,2001000019
+0200de8152734f499f158bbdc80154d7,2001000018
+0200de8152734f499f158bbdc80154d7,2001000017
+0200de8152734f499f158bbdc80154d7,2001000016
+0200de8152734f499f158bbdc80154d7,2001000015
+0200de8152734f499f158bbdc80154d7,2001000014
+0200de8152734f499f158bbdc80154d7,2001000013
+0200de8152734f499f158bbdc80154d7,2001000012
+0200de8152734f499f158bbdc80154d7,2001000011
+0200de8152734f499f158bbdc80154d7,2001000010
+0200de8152734f499f158bbdc80154d7,2001000007
+0200de8152734f499f158bbdc80154d7,2001000006
+0200de8152734f499f158bbdc80154d7,2001000005
+0200de8152734f499f158bbdc80154d7,2001000004
+0200de8152734f499f158bbdc80154d7,2001000003
+0200de8152734f499f158bbdc80154d7,2001000002
+0200de8152734f499f158bbdc80154d7,2001000001
+0200de8152734f499f158bbdc80154d7,20010
+0200de8152734f499f158bbdc80154d7,2000060101
+0200de8152734f499f158bbdc80154d7,2000010009
+0200de8152734f499f158bbdc80154d7,2000000082
+0200de8152734f499f158bbdc80154d7,2000000081
+0200de8152734f499f158bbdc80154d7,2000000080
+0200de8152734f499f158bbdc80154d7,2000000078
+0200de8152734f499f158bbdc80154d7,2000000077
+0200de8152734f499f158bbdc80154d7,2000000076
+0200de8152734f499f158bbdc80154d7,2000000075
+0200de8152734f499f158bbdc80154d7,2000000074
+0200de8152734f499f158bbdc80154d7,2000000073
+0200de8152734f499f158bbdc80154d7,2000000072
+0200de8152734f499f158bbdc80154d7,2000000071
+0200de8152734f499f158bbdc80154d7,2000000070
+0200de8152734f499f158bbdc80154d7,2000000069
+0200de8152734f499f158bbdc80154d7,2000000068
+0200de8152734f499f158bbdc80154d7,2000000066
+0200de8152734f499f158bbdc80154d7,2000000065
+0200de8152734f499f158bbdc80154d7,2000000064
+0200de8152734f499f158bbdc80154d7,2000000063
+0200de8152734f499f158bbdc80154d7,2000000061
+0200de8152734f499f158bbdc80154d7,2000000060
+0200de8152734f499f158bbdc80154d7,2000000059
+0200de8152734f499f158bbdc80154d7,2000000058
+0200de8152734f499f158bbdc80154d7,2000000057
+0200de8152734f499f158bbdc80154d7,2000000056
+0200de8152734f499f158bbdc80154d7,2000000055
+0200de8152734f499f158bbdc80154d7,2000000054
+0200de8152734f499f158bbdc80154d7,2000000053
+0200de8152734f499f158bbdc80154d7,2000000052
+0200de8152734f499f158bbdc80154d7,2000000051
+0200de8152734f499f158bbdc80154d7,2000000050
+0200de8152734f499f158bbdc80154d7,2000000049
+0200de8152734f499f158bbdc80154d7,2000000048
+0200de8152734f499f158bbdc80154d7,2000000047
+0200de8152734f499f158bbdc80154d7,2000000046
+0200de8152734f499f158bbdc80154d7,2000000045
+0200de8152734f499f158bbdc80154d7,2000000044
+0200de8152734f499f158bbdc80154d7,2000000043
+0200de8152734f499f158bbdc80154d7,2000000042
+0200de8152734f499f158bbdc80154d7,2000000041
+0200de8152734f499f158bbdc80154d7,2000000039
+0200de8152734f499f158bbdc80154d7,2000000038
+0200de8152734f499f158bbdc80154d7,2000000037
+0200de8152734f499f158bbdc80154d7,2000000036
+0200de8152734f499f158bbdc80154d7,2000000035
+0200de8152734f499f158bbdc80154d7,2000000034
+0200de8152734f499f158bbdc80154d7,2000000033
+0200de8152734f499f158bbdc80154d7,2000000032
+0200de8152734f499f158bbdc80154d7,2000000031
+0200de8152734f499f158bbdc80154d7,2000000030
+0200de8152734f499f158bbdc80154d7,2000000029
+0200de8152734f499f158bbdc80154d7,2000000028
+0200de8152734f499f158bbdc80154d7,2000000027
+0200de8152734f499f158bbdc80154d7,2000000026
+0200de8152734f499f158bbdc80154d7,2000000025
+0200de8152734f499f158bbdc80154d7,2000000024
+0200de8152734f499f158bbdc80154d7,2000000023
+0200de8152734f499f158bbdc80154d7,2000000022
+0200de8152734f499f158bbdc80154d7,2000000021
+0200de8152734f499f158bbdc80154d7,2000000020
+0200de8152734f499f158bbdc80154d7,2000000019
+0200de8152734f499f158bbdc80154d7,2000000018
+0200de8152734f499f158bbdc80154d7,2000000017
+0200de8152734f499f158bbdc80154d7,2000000016
+0200de8152734f499f158bbdc80154d7,2000000015
+0200de8152734f499f158bbdc80154d7,2000000014
+0200de8152734f499f158bbdc80154d7,2000000013
+0200de8152734f499f158bbdc80154d7,2000000012
+0200de8152734f499f158bbdc80154d7,2000000011
+0200de8152734f499f158bbdc80154d7,2000000010
+0200de8152734f499f158bbdc80154d7,2000000007
+0200de8152734f499f158bbdc80154d7,2000000006
+0200de8152734f499f158bbdc80154d7,2000000005
+0200de8152734f499f158bbdc80154d7,2000000004
+0200de8152734f499f158bbdc80154d7,2000000003
+0200de8152734f499f158bbdc80154d7,2000000001
+0200de8152734f499f158bbdc80154d7,1999000061
+0200de8152734f499f158bbdc80154d7,1999000060
+0200de8152734f499f158bbdc80154d7,1999000059
+0200de8152734f499f158bbdc80154d7,1999000058
+0200de8152734f499f158bbdc80154d7,1999000057
+0200de8152734f499f158bbdc80154d7,1999000056
+0200de8152734f499f158bbdc80154d7,1999000055
+0200de8152734f499f158bbdc80154d7,1999000054
+0200de8152734f499f158bbdc80154d7,1999000053
+0200de8152734f499f158bbdc80154d7,1999000052
+0200de8152734f499f158bbdc80154d7,1999000051
+0200de8152734f499f158bbdc80154d7,1999000050
+0200de8152734f499f158bbdc80154d7,1999000049
+0200de8152734f499f158bbdc80154d7,1999000048
+0200de8152734f499f158bbdc80154d7,1999000047
+0200de8152734f499f158bbdc80154d7,1999000046
+0200de8152734f499f158bbdc80154d7,1999000045
+0200de8152734f499f158bbdc80154d7,1999000044
+0200de8152734f499f158bbdc80154d7,1999000043
+0200de8152734f499f158bbdc80154d7,1999000042
+0200de8152734f499f158bbdc80154d7,1999000041
+0200de8152734f499f158bbdc80154d7,1999000040
+0200de8152734f499f158bbdc80154d7,1999000039
+0200de8152734f499f158bbdc80154d7,1999000038
+0200de8152734f499f158bbdc80154d7,1999000037
+0200de8152734f499f158bbdc80154d7,1999000036
+0200de8152734f499f158bbdc80154d7,1999000035
+0200de8152734f499f158bbdc80154d7,1999000034
+0200de8152734f499f158bbdc80154d7,1999000033
+0200de8152734f499f158bbdc80154d7,1999000032
+0200de8152734f499f158bbdc80154d7,1999000031
+0200de8152734f499f158bbdc80154d7,1999000030
+0200de8152734f499f158bbdc80154d7,1999000029
+0200de8152734f499f158bbdc80154d7,1999000028
+0200de8152734f499f158bbdc80154d7,1999000027
+0200de8152734f499f158bbdc80154d7,1999000026
+0200de8152734f499f158bbdc80154d7,1999000025
+0200de8152734f499f158bbdc80154d7,1999000024
+0200de8152734f499f158bbdc80154d7,1999000023
+0200de8152734f499f158bbdc80154d7,1999000022
+0200de8152734f499f158bbdc80154d7,1999000021
+0200de8152734f499f158bbdc80154d7,1999000020
+0200de8152734f499f158bbdc80154d7,1999000019
+0200de8152734f499f158bbdc80154d7,1999000018
+0200de8152734f499f158bbdc80154d7,1999000017
+0200de8152734f499f158bbdc80154d7,1999000016
+0200de8152734f499f158bbdc80154d7,1999000015
+0200de8152734f499f158bbdc80154d7,1999000013
+0200de8152734f499f158bbdc80154d7,1999000012
+0200de8152734f499f158bbdc80154d7,1999000011
+0200de8152734f499f158bbdc80154d7,1999000010
+0200de8152734f499f158bbdc80154d7,1999000009
+0200de8152734f499f158bbdc80154d7,1999000008
+0200de8152734f499f158bbdc80154d7,1999000007
+0200de8152734f499f158bbdc80154d7,1999000006
+0200de8152734f499f158bbdc80154d7,1999000005
+0200de8152734f499f158bbdc80154d7,1999000004
+0200de8152734f499f158bbdc80154d7,1999000002
+0200de8152734f499f158bbdc80154d7,1999000001
+0200de8152734f499f158bbdc80154d7,1998010058
+0200de8152734f499f158bbdc80154d7,1998010054
+0200de8152734f499f158bbdc80154d7,1998000059
+0200de8152734f499f158bbdc80154d7,1998000055
+0200de8152734f499f158bbdc80154d7,1998000052
+0200de8152734f499f158bbdc80154d7,1998000051
+0200de8152734f499f158bbdc80154d7,1998000050
+0200de8152734f499f158bbdc80154d7,1998000049
+0200de8152734f499f158bbdc80154d7,1998000048
+0200de8152734f499f158bbdc80154d7,1998000047
+0200de8152734f499f158bbdc80154d7,1998000045
+0200de8152734f499f158bbdc80154d7,1998000044
+0200de8152734f499f158bbdc80154d7,1998000043
+0200de8152734f499f158bbdc80154d7,1998000042
+0200de8152734f499f158bbdc80154d7,1998000041
+0200de8152734f499f158bbdc80154d7,1998000040
+0200de8152734f499f158bbdc80154d7,1998000039
+0200de8152734f499f158bbdc80154d7,1998000038
+0200de8152734f499f158bbdc80154d7,1998000037
+0200de8152734f499f158bbdc80154d7,1998000036
+0200de8152734f499f158bbdc80154d7,1998000035
+0200de8152734f499f158bbdc80154d7,1998000034
+0200de8152734f499f158bbdc80154d7,1998000033
+0200de8152734f499f158bbdc80154d7,1998000032
+0200de8152734f499f158bbdc80154d7,1998000031
+0200de8152734f499f158bbdc80154d7,1998000030
+0200de8152734f499f158bbdc80154d7,1998000029
+0200de8152734f499f158bbdc80154d7,1998000028
+0200de8152734f499f158bbdc80154d7,1998000027
+0200de8152734f499f158bbdc80154d7,1998000026
+0200de8152734f499f158bbdc80154d7,1998000025
+0200de8152734f499f158bbdc80154d7,1998000024
+0200de8152734f499f158bbdc80154d7,1998000023
+0200de8152734f499f158bbdc80154d7,1998000022
+0200de8152734f499f158bbdc80154d7,1998000021
+0200de8152734f499f158bbdc80154d7,1998000020
+0200de8152734f499f158bbdc80154d7,1998000019
+0200de8152734f499f158bbdc80154d7,1998000018
+0200de8152734f499f158bbdc80154d7,1998000017
+0200de8152734f499f158bbdc80154d7,1998000016
+0200de8152734f499f158bbdc80154d7,1998000015
+0200de8152734f499f158bbdc80154d7,1998000014
+0200de8152734f499f158bbdc80154d7,1998000013
+0200de8152734f499f158bbdc80154d7,1998000012
+0200de8152734f499f158bbdc80154d7,1998000011
+0200de8152734f499f158bbdc80154d7,1998000010
+0200de8152734f499f158bbdc80154d7,1998000009
+0200de8152734f499f158bbdc80154d7,1998000008
+0200de8152734f499f158bbdc80154d7,1998000007
+0200de8152734f499f158bbdc80154d7,1998000005
+0200de8152734f499f158bbdc80154d7,1998000003
+0200de8152734f499f158bbdc80154d7,1998000001
+0200de8152734f499f158bbdc80154d7,1997010109
+0200de8152734f499f158bbdc80154d7,1997010108
+0200de8152734f499f158bbdc80154d7,1997010105
+0200de8152734f499f158bbdc80154d7,1997010104
+0200de8152734f499f158bbdc80154d7,1997010103
+0200de8152734f499f158bbdc80154d7,1997010102
+0200de8152734f499f158bbdc80154d7,1997010078
+0200de8152734f499f158bbdc80154d7,1997010077
+0200de8152734f499f158bbdc80154d7,1997010074
+0200de8152734f499f158bbdc80154d7,1997010065
+0200de8152734f499f158bbdc80154d7,1997010053
+0200de8152734f499f158bbdc80154d7,1997010024
+0200de8152734f499f158bbdc80154d7,1997010022
+0200de8152734f499f158bbdc80154d7,1997000107
+0200de8152734f499f158bbdc80154d7,1997000106
+0200de8152734f499f158bbdc80154d7,1997000101
+0200de8152734f499f158bbdc80154d7,1997000100
+0200de8152734f499f158bbdc80154d7,1997000099
+0200de8152734f499f158bbdc80154d7,1997000098
+0200de8152734f499f158bbdc80154d7,1997000097
+0200de8152734f499f158bbdc80154d7,1997000096
+0200de8152734f499f158bbdc80154d7,1997000095
+0200de8152734f499f158bbdc80154d7,1997000093
+0200de8152734f499f158bbdc80154d7,1997000092
+0200de8152734f499f158bbdc80154d7,1997000091
+0200de8152734f499f158bbdc80154d7,1997000090
+0200de8152734f499f158bbdc80154d7,1997000089
+0200de8152734f499f158bbdc80154d7,1997000088
+0200de8152734f499f158bbdc80154d7,1997000086
+0200de8152734f499f158bbdc80154d7,1997000085
+0200de8152734f499f158bbdc80154d7,1997000084
+0200de8152734f499f158bbdc80154d7,1997000083
+0200de8152734f499f158bbdc80154d7,1997000082
+0200de8152734f499f158bbdc80154d7,1997000081
+0200de8152734f499f158bbdc80154d7,1997000080
+0200de8152734f499f158bbdc80154d7,1997000079
+0200de8152734f499f158bbdc80154d7,1997000076
+0200de8152734f499f158bbdc80154d7,1997000075
+0200de8152734f499f158bbdc80154d7,1997000073
+0200de8152734f499f158bbdc80154d7,1997000072
+0200de8152734f499f158bbdc80154d7,1997000071
+0200de8152734f499f158bbdc80154d7,1997000070
+0200de8152734f499f158bbdc80154d7,1997000069
+0200de8152734f499f158bbdc80154d7,1997000068
+0200de8152734f499f158bbdc80154d7,1997000067
+0200de8152734f499f158bbdc80154d7,1997000066
+0200de8152734f499f158bbdc80154d7,1997000064
+0200de8152734f499f158bbdc80154d7,1997000063
+0200de8152734f499f158bbdc80154d7,1997000062
+0200de8152734f499f158bbdc80154d7,1997000061
+0200de8152734f499f158bbdc80154d7,1997000060
+0200de8152734f499f158bbdc80154d7,1997000058
+0200de8152734f499f158bbdc80154d7,1997000057
+0200de8152734f499f158bbdc80154d7,1997000056
+0200de8152734f499f158bbdc80154d7,1997000055
+0200de8152734f499f158bbdc80154d7,1997000054
+0200de8152734f499f158bbdc80154d7,1997000052
+0200de8152734f499f158bbdc80154d7,1997000050
+0200de8152734f499f158bbdc80154d7,1997000048
+0200de8152734f499f158bbdc80154d7,1997000047
+0200de8152734f499f158bbdc80154d7,1997000046
+0200de8152734f499f158bbdc80154d7,1997000045
+0200de8152734f499f158bbdc80154d7,1997000044
+0200de8152734f499f158bbdc80154d7,1997000043
+0200de8152734f499f158bbdc80154d7,1997000042
+0200de8152734f499f158bbdc80154d7,1997000041
+0200de8152734f499f158bbdc80154d7,1997000040
+0200de8152734f499f158bbdc80154d7,1997000039
+0200de8152734f499f158bbdc80154d7,1997000038
+0200de8152734f499f158bbdc80154d7,1997000036
+0200de8152734f499f158bbdc80154d7,1997000035
+0200de8152734f499f158bbdc80154d7,1997000034
+0200de8152734f499f158bbdc80154d7,1997000033
+0200de8152734f499f158bbdc80154d7,1997000032
+0200de8152734f499f158bbdc80154d7,1997000031
+0200de8152734f499f158bbdc80154d7,1997000030
+0200de8152734f499f158bbdc80154d7,1997000029
+0200de8152734f499f158bbdc80154d7,1997000028
+0200de8152734f499f158bbdc80154d7,1997000026
+0200de8152734f499f158bbdc80154d7,1997000023
+0200de8152734f499f158bbdc80154d7,1997000019
+0200de8152734f499f158bbdc80154d7,1997000018
+0200de8152734f499f158bbdc80154d7,1997000017
+0200de8152734f499f158bbdc80154d7,1997000016
+0200de8152734f499f158bbdc80154d7,1997000015
+0200de8152734f499f158bbdc80154d7,1997000014
+0200de8152734f499f158bbdc80154d7,1997000013
+0200de8152734f499f158bbdc80154d7,1997000012
+0200de8152734f499f158bbdc80154d7,1997000010
+0200de8152734f499f158bbdc80154d7,1997000009
+0200de8152734f499f158bbdc80154d7,1997000007
+0200de8152734f499f158bbdc80154d7,1997000006
+0200de8152734f499f158bbdc80154d7,1997000005
+0200de8152734f499f158bbdc80154d7,1997000004
+0200de8152734f499f158bbdc80154d7,1997000003
+0200de8152734f499f158bbdc80154d7,1997000002
+0200de8152734f499f158bbdc80154d7,1997000001
+0200de8152734f499f158bbdc80154d7,1996010109
+0200de8152734f499f158bbdc80154d7,1996010106
+0200de8152734f499f158bbdc80154d7,1996010103
+0200de8152734f499f158bbdc80154d7,1996010098
+0200de8152734f499f158bbdc80154d7,1996010097
+0200de8152734f499f158bbdc80154d7,1996010089
+0200de8152734f499f158bbdc80154d7,1996010085
+0200de8152734f499f158bbdc80154d7,1996010078
+0200de8152734f499f158bbdc80154d7,1996010077
+0200de8152734f499f158bbdc80154d7,1996010076
+0200de8152734f499f158bbdc80154d7,1996000112
+0200de8152734f499f158bbdc80154d7,1996000111
+0200de8152734f499f158bbdc80154d7,1996000110
+0200de8152734f499f158bbdc80154d7,1996000108
+0200de8152734f499f158bbdc80154d7,1996000107
+0200de8152734f499f158bbdc80154d7,1996000105
+0200de8152734f499f158bbdc80154d7,1996000104
+0200de8152734f499f158bbdc80154d7,1996000102
+0200de8152734f499f158bbdc80154d7,1996000101
+0200de8152734f499f158bbdc80154d7,1996000100
+0200de8152734f499f158bbdc80154d7,1996000094
+0200de8152734f499f158bbdc80154d7,1996000093
+0200de8152734f499f158bbdc80154d7,1996000092
+0200de8152734f499f158bbdc80154d7,1996000091
+0200de8152734f499f158bbdc80154d7,1996000088
+0200de8152734f499f158bbdc80154d7,1996000087
+0200de8152734f499f158bbdc80154d7,1996000086
+0200de8152734f499f158bbdc80154d7,1996000084
+0200de8152734f499f158bbdc80154d7,1996000083
+0200de8152734f499f158bbdc80154d7,1996000082
+0200de8152734f499f158bbdc80154d7,1996000081
+0200de8152734f499f158bbdc80154d7,1996000080
+0200de8152734f499f158bbdc80154d7,1996000079
+0200de8152734f499f158bbdc80154d7,1996000075
+0200de8152734f499f158bbdc80154d7,1996000074
+0200de8152734f499f158bbdc80154d7,1996000073
+0200de8152734f499f158bbdc80154d7,1996000072
+0200de8152734f499f158bbdc80154d7,1996000071
+0200de8152734f499f158bbdc80154d7,1996000070
+0200de8152734f499f158bbdc80154d7,1996000069
+0200de8152734f499f158bbdc80154d7,1996000068
+0200de8152734f499f158bbdc80154d7,1996000067
+0200de8152734f499f158bbdc80154d7,1996000066
+0200de8152734f499f158bbdc80154d7,1996000065
+0200de8152734f499f158bbdc80154d7,1996000064
+0200de8152734f499f158bbdc80154d7,1996000063
+0200de8152734f499f158bbdc80154d7,1996000062
+0200de8152734f499f158bbdc80154d7,1996000060
+0200de8152734f499f158bbdc80154d7,1996000059
+0200de8152734f499f158bbdc80154d7,1996000058
+0200de8152734f499f158bbdc80154d7,1996000057
+0200de8152734f499f158bbdc80154d7,1996000056
+0200de8152734f499f158bbdc80154d7,1996000055
+0200de8152734f499f158bbdc80154d7,1996000054
+0200de8152734f499f158bbdc80154d7,1996000053
+0200de8152734f499f158bbdc80154d7,1996000052
+0200de8152734f499f158bbdc80154d7,1996000051
+0200de8152734f499f158bbdc80154d7,1996000050
+0200de8152734f499f158bbdc80154d7,1996000049
+0200de8152734f499f158bbdc80154d7,1996000048
+0200de8152734f499f158bbdc80154d7,1996000047
+0200de8152734f499f158bbdc80154d7,1996000046
+0200de8152734f499f158bbdc80154d7,1996000045
+0200de8152734f499f158bbdc80154d7,1996000044
+0200de8152734f499f158bbdc80154d7,1996000043
+0200de8152734f499f158bbdc80154d7,1996000042
+0200de8152734f499f158bbdc80154d7,1996000041
+0200de8152734f499f158bbdc80154d7,1996000040
+0200de8152734f499f158bbdc80154d7,1996000039
+0200de8152734f499f158bbdc80154d7,1996000038
+0200de8152734f499f158bbdc80154d7,1996000037
+0200de8152734f499f158bbdc80154d7,1996000036
+0200de8152734f499f158bbdc80154d7,1996000035
+0200de8152734f499f158bbdc80154d7,1996000034
+0200de8152734f499f158bbdc80154d7,1996000033
+0200de8152734f499f158bbdc80154d7,1996000032
+0200de8152734f499f158bbdc80154d7,1996000030
+0200de8152734f499f158bbdc80154d7,1996000029
+0200de8152734f499f158bbdc80154d7,1996000028
+0200de8152734f499f158bbdc80154d7,1996000027
+0200de8152734f499f158bbdc80154d7,1996000026
+0200de8152734f499f158bbdc80154d7,1996000025
+0200de8152734f499f158bbdc80154d7,1996000022
+0200de8152734f499f158bbdc80154d7,1996000021
+0200de8152734f499f158bbdc80154d7,1996000020
+0200de8152734f499f158bbdc80154d7,1996000019
+0200de8152734f499f158bbdc80154d7,1996000018
+0200de8152734f499f158bbdc80154d7,1996000017
+0200de8152734f499f158bbdc80154d7,1996000016
+0200de8152734f499f158bbdc80154d7,1996000015
+0200de8152734f499f158bbdc80154d7,1996000014
+0200de8152734f499f158bbdc80154d7,1996000013
+0200de8152734f499f158bbdc80154d7,1996000012
+0200de8152734f499f158bbdc80154d7,1996000011
+0200de8152734f499f158bbdc80154d7,1996000010
+0200de8152734f499f158bbdc80154d7,1996000009
+0200de8152734f499f158bbdc80154d7,1996000008
+0200de8152734f499f158bbdc80154d7,1996000006
+0200de8152734f499f158bbdc80154d7,1996000005
+0200de8152734f499f158bbdc80154d7,1996000003
+0200de8152734f499f158bbdc80154d7,1996000002
+0200de8152734f499f158bbdc80154d7,1996000001
+0200de8152734f499f158bbdc80154d7,1995010136
+0200de8152734f499f158bbdc80154d7,1995010134
+0200de8152734f499f158bbdc80154d7,1995010046
+0200de8152734f499f158bbdc80154d7,1995010028
+0200de8152734f499f158bbdc80154d7,1995010027
+0200de8152734f499f158bbdc80154d7,1995010026
+0200de8152734f499f158bbdc80154d7,1995010021
+0200de8152734f499f158bbdc80154d7,1995010019
+0200de8152734f499f158bbdc80154d7,1995010018
+0200de8152734f499f158bbdc80154d7,1995010017
+0200de8152734f499f158bbdc80154d7,1995010012
+0200de8152734f499f158bbdc80154d7,1995000147
+0200de8152734f499f158bbdc80154d7,1995000146
+0200de8152734f499f158bbdc80154d7,1995000145
+0200de8152734f499f158bbdc80154d7,1995000143
+0200de8152734f499f158bbdc80154d7,1995000142
+0200de8152734f499f158bbdc80154d7,1995000140
+0200de8152734f499f158bbdc80154d7,1995000139
+0200de8152734f499f158bbdc80154d7,1995000137
+0200de8152734f499f158bbdc80154d7,1995000135
+0200de8152734f499f158bbdc80154d7,1995000133
+0200de8152734f499f158bbdc80154d7,1995000132
+0200de8152734f499f158bbdc80154d7,1995000131
+0200de8152734f499f158bbdc80154d7,1995000130
+0200de8152734f499f158bbdc80154d7,1995000128
+0200de8152734f499f158bbdc80154d7,1995000127
+0200de8152734f499f158bbdc80154d7,1995000125
+0200de8152734f499f158bbdc80154d7,1995000124
+0200de8152734f499f158bbdc80154d7,1995000123
+0200de8152734f499f158bbdc80154d7,1995000122
+0200de8152734f499f158bbdc80154d7,1995000121
+0200de8152734f499f158bbdc80154d7,1995000120
+0200de8152734f499f158bbdc80154d7,1995000119
+0200de8152734f499f158bbdc80154d7,1995000118
+0200de8152734f499f158bbdc80154d7,1995000117
+0200de8152734f499f158bbdc80154d7,1995000116
+0200de8152734f499f158bbdc80154d7,1995000115
+0200de8152734f499f158bbdc80154d7,1995000114
+0200de8152734f499f158bbdc80154d7,1995000113
+0200de8152734f499f158bbdc80154d7,1995000112
+0200de8152734f499f158bbdc80154d7,1995000111
+0200de8152734f499f158bbdc80154d7,1995000110
+0200de8152734f499f158bbdc80154d7,1995000109
+0200de8152734f499f158bbdc80154d7,1995000108
+0200de8152734f499f158bbdc80154d7,1995000107
+0200de8152734f499f158bbdc80154d7,1995000106
+0200de8152734f499f158bbdc80154d7,1995000105
+0200de8152734f499f158bbdc80154d7,1995000103
+0200de8152734f499f158bbdc80154d7,1995000102
+0200de8152734f499f158bbdc80154d7,1995000101
+0200de8152734f499f158bbdc80154d7,1995000100
+0200de8152734f499f158bbdc80154d7,1995000099
+0200de8152734f499f158bbdc80154d7,1995000098
+0200de8152734f499f158bbdc80154d7,1995000097
+0200de8152734f499f158bbdc80154d7,1995000096
+0200de8152734f499f158bbdc80154d7,1995000095
+0200de8152734f499f158bbdc80154d7,1995000094
+0200de8152734f499f158bbdc80154d7,1995000093
+0200de8152734f499f158bbdc80154d7,1995000092
+0200de8152734f499f158bbdc80154d7,1995000091
+0200de8152734f499f158bbdc80154d7,1995000090
+0200de8152734f499f158bbdc80154d7,1995000089
+0200de8152734f499f158bbdc80154d7,1995000088
+0200de8152734f499f158bbdc80154d7,1995000087
+0200de8152734f499f158bbdc80154d7,1995000086
+0200de8152734f499f158bbdc80154d7,1995000085
+0200de8152734f499f158bbdc80154d7,1995000084
+0200de8152734f499f158bbdc80154d7,1995000083
+0200de8152734f499f158bbdc80154d7,1995000082
+0200de8152734f499f158bbdc80154d7,1995000081
+0200de8152734f499f158bbdc80154d7,1995000079
+0200de8152734f499f158bbdc80154d7,1995000078
+0200de8152734f499f158bbdc80154d7,1995000077
+0200de8152734f499f158bbdc80154d7,1995000076
+0200de8152734f499f158bbdc80154d7,1995000075
+0200de8152734f499f158bbdc80154d7,1995000074
+0200de8152734f499f158bbdc80154d7,1995000073
+0200de8152734f499f158bbdc80154d7,1995000072
+0200de8152734f499f158bbdc80154d7,1995000071
+0200de8152734f499f158bbdc80154d7,1995000070
+0200de8152734f499f158bbdc80154d7,1995000069
+0200de8152734f499f158bbdc80154d7,1995000068
+0200de8152734f499f158bbdc80154d7,1995000067
+0200de8152734f499f158bbdc80154d7,1995000066
+0200de8152734f499f158bbdc80154d7,1995000065
+0200de8152734f499f158bbdc80154d7,1995000064
+0200de8152734f499f158bbdc80154d7,1995000063
+0200de8152734f499f158bbdc80154d7,1995000062
+0200de8152734f499f158bbdc80154d7,1995000061
+0200de8152734f499f158bbdc80154d7,1995000060
+0200de8152734f499f158bbdc80154d7,1995000059
+0200de8152734f499f158bbdc80154d7,1995000057
+0200de8152734f499f158bbdc80154d7,1995000056
+0200de8152734f499f158bbdc80154d7,1995000055
+0200de8152734f499f158bbdc80154d7,1995000054
+0200de8152734f499f158bbdc80154d7,1995000052
+0200de8152734f499f158bbdc80154d7,1995000050
+0200de8152734f499f158bbdc80154d7,1995000049
+0200de8152734f499f158bbdc80154d7,1995000048
+0200de8152734f499f158bbdc80154d7,1995000047
+0200de8152734f499f158bbdc80154d7,1995000045
+0200de8152734f499f158bbdc80154d7,1995000044
+0200de8152734f499f158bbdc80154d7,1995000043
+0200de8152734f499f158bbdc80154d7,1995000042
+0200de8152734f499f158bbdc80154d7,1995000041
+0200de8152734f499f158bbdc80154d7,1995000040
+0200de8152734f499f158bbdc80154d7,1995000039
+0200de8152734f499f158bbdc80154d7,1995000038
+0200de8152734f499f158bbdc80154d7,1995000036
+0200de8152734f499f158bbdc80154d7,1995000035
+0200de8152734f499f158bbdc80154d7,1995000034
+0200de8152734f499f158bbdc80154d7,1995000033
+0200de8152734f499f158bbdc80154d7,1995000032
+0200de8152734f499f158bbdc80154d7,1995000031
+0200de8152734f499f158bbdc80154d7,1995000030
+0200de8152734f499f158bbdc80154d7,1995000029
+0200de8152734f499f158bbdc80154d7,1995000025
+0200de8152734f499f158bbdc80154d7,1995000024
+0200de8152734f499f158bbdc80154d7,1995000023
+0200de8152734f499f158bbdc80154d7,1995000020
+0200de8152734f499f158bbdc80154d7,1995000016
+0200de8152734f499f158bbdc80154d7,1995000015
+0200de8152734f499f158bbdc80154d7,1995000013
+0200de8152734f499f158bbdc80154d7,1995000011
+0200de8152734f499f158bbdc80154d7,1995000008
+0200de8152734f499f158bbdc80154d7,1995000007
+0200de8152734f499f158bbdc80154d7,1995000004
+0200de8152734f499f158bbdc80154d7,1995000003
+0200de8152734f499f158bbdc80154d7,1995000002
+0200de8152734f499f158bbdc80154d7,1995000001
+0200de8152734f499f158bbdc80154d7,1994010102
+0200de8152734f499f158bbdc80154d7,1994010093
+0200de8152734f499f158bbdc80154d7,1994000103
+0200de8152734f499f158bbdc80154d7,1994000098
+0200de8152734f499f158bbdc80154d7,1994000097
+0200de8152734f499f158bbdc80154d7,1994000094
+0200de8152734f499f158bbdc80154d7,1994000092
+0200de8152734f499f158bbdc80154d7,1994000091
+0200de8152734f499f158bbdc80154d7,1994000089
+0200de8152734f499f158bbdc80154d7,1994000088
+0200de8152734f499f158bbdc80154d7,1994000087
+0200de8152734f499f158bbdc80154d7,1994000084
+0200de8152734f499f158bbdc80154d7,1994000083
+0200de8152734f499f158bbdc80154d7,1994000082
+0200de8152734f499f158bbdc80154d7,1994000081
+0200de8152734f499f158bbdc80154d7,1994000080
+0200de8152734f499f158bbdc80154d7,1994000079
+0200de8152734f499f158bbdc80154d7,1994000078
+0200de8152734f499f158bbdc80154d7,1994000077
+0200de8152734f499f158bbdc80154d7,1994000076
+0200de8152734f499f158bbdc80154d7,1994000075
+0200de8152734f499f158bbdc80154d7,1994000074
+0200de8152734f499f158bbdc80154d7,1994000073
+0200de8152734f499f158bbdc80154d7,1994000072
+0200de8152734f499f158bbdc80154d7,1994000071
+0200de8152734f499f158bbdc80154d7,1994000070
+0200de8152734f499f158bbdc80154d7,1994000069
+0200de8152734f499f158bbdc80154d7,1994000068
+0200de8152734f499f158bbdc80154d7,1994000067
+0200de8152734f499f158bbdc80154d7,1994000066
+0200de8152734f499f158bbdc80154d7,1994000065
+0200de8152734f499f158bbdc80154d7,1994000064
+0200de8152734f499f158bbdc80154d7,1994000063
+0200de8152734f499f158bbdc80154d7,1994000062
+0200de8152734f499f158bbdc80154d7,1994000061
+0200de8152734f499f158bbdc80154d7,1994000060
+0200de8152734f499f158bbdc80154d7,1994000059
+0200de8152734f499f158bbdc80154d7,1994000058
+0200de8152734f499f158bbdc80154d7,1994000057
+0200de8152734f499f158bbdc80154d7,1994000056
+0200de8152734f499f158bbdc80154d7,1994000054
+0200de8152734f499f158bbdc80154d7,1994000053
+0200de8152734f499f158bbdc80154d7,1994000052
+0200de8152734f499f158bbdc80154d7,1994000051
+0200de8152734f499f158bbdc80154d7,1994000050
+0200de8152734f499f158bbdc80154d7,1994000049
+0200de8152734f499f158bbdc80154d7,1994000048
+0200de8152734f499f158bbdc80154d7,1994000047
+0200de8152734f499f158bbdc80154d7,1994000046
+0200de8152734f499f158bbdc80154d7,1994000045
+0200de8152734f499f158bbdc80154d7,1994000044
+0200de8152734f499f158bbdc80154d7,1994000043
+0200de8152734f499f158bbdc80154d7,1994000042
+0200de8152734f499f158bbdc80154d7,1994000041
+0200de8152734f499f158bbdc80154d7,1994000040
+0200de8152734f499f158bbdc80154d7,1994000039
+0200de8152734f499f158bbdc80154d7,1994000038
+0200de8152734f499f158bbdc80154d7,1994000037
+0200de8152734f499f158bbdc80154d7,1994000036
+0200de8152734f499f158bbdc80154d7,1994000035
+0200de8152734f499f158bbdc80154d7,1994000034
+0200de8152734f499f158bbdc80154d7,1994000033
+0200de8152734f499f158bbdc80154d7,1994000032
+0200de8152734f499f158bbdc80154d7,1994000031
+0200de8152734f499f158bbdc80154d7,1994000030
+0200de8152734f499f158bbdc80154d7,1994000029
+0200de8152734f499f158bbdc80154d7,1994000027
+0200de8152734f499f158bbdc80154d7,1994000025
+0200de8152734f499f158bbdc80154d7,1994000024
+0200de8152734f499f158bbdc80154d7,1994000023
+0200de8152734f499f158bbdc80154d7,1994000022
+0200de8152734f499f158bbdc80154d7,1994000021
+0200de8152734f499f158bbdc80154d7,1994000020
+0200de8152734f499f158bbdc80154d7,1994000019
+0200de8152734f499f158bbdc80154d7,1994000018
+0200de8152734f499f158bbdc80154d7,1994000017
+0200de8152734f499f158bbdc80154d7,1994000016
+0200de8152734f499f158bbdc80154d7,1994000015
+0200de8152734f499f158bbdc80154d7,1994000014
+0200de8152734f499f158bbdc80154d7,1994000013
+0200de8152734f499f158bbdc80154d7,1994000012
+0200de8152734f499f158bbdc80154d7,1994000011
+0200de8152734f499f158bbdc80154d7,1994000010
+0200de8152734f499f158bbdc80154d7,1994000009
+0200de8152734f499f158bbdc80154d7,1994000008
+0200de8152734f499f158bbdc80154d7,1994000007
+0200de8152734f499f158bbdc80154d7,1994000002
+0200de8152734f499f158bbdc80154d7,1993010108
+0200de8152734f499f158bbdc80154d7,1993010099
+0200de8152734f499f158bbdc80154d7,1993010006
+0200de8152734f499f158bbdc80154d7,1993010001
+0200de8152734f499f158bbdc80154d7,1993000115
+0200de8152734f499f158bbdc80154d7,1993000114
+0200de8152734f499f158bbdc80154d7,1993000113
+0200de8152734f499f158bbdc80154d7,1993000111
+0200de8152734f499f158bbdc80154d7,1993000110
+0200de8152734f499f158bbdc80154d7,1993000109
+0200de8152734f499f158bbdc80154d7,1993000105
+0200de8152734f499f158bbdc80154d7,1993000104
+0200de8152734f499f158bbdc80154d7,1993000100
+0200de8152734f499f158bbdc80154d7,1993000097
+0200de8152734f499f158bbdc80154d7,1993000096
+0200de8152734f499f158bbdc80154d7,1993000095
+0200de8152734f499f158bbdc80154d7,1993000094
+0200de8152734f499f158bbdc80154d7,1993000093
+0200de8152734f499f158bbdc80154d7,1993000091
+0200de8152734f499f158bbdc80154d7,1993000090
+0200de8152734f499f158bbdc80154d7,1993000089
+0200de8152734f499f158bbdc80154d7,1993000088
+0200de8152734f499f158bbdc80154d7,1993000087
+0200de8152734f499f158bbdc80154d7,1993000086
+0200de8152734f499f158bbdc80154d7,1993000085
+0200de8152734f499f158bbdc80154d7,1993000084
+0200de8152734f499f158bbdc80154d7,1993000083
+0200de8152734f499f158bbdc80154d7,1993000082
+0200de8152734f499f158bbdc80154d7,1993000081
+0200de8152734f499f158bbdc80154d7,1993000080
+0200de8152734f499f158bbdc80154d7,1993000079
+0200de8152734f499f158bbdc80154d7,1993000078
+0200de8152734f499f158bbdc80154d7,1993000077
+0200de8152734f499f158bbdc80154d7,1993000076
+0200de8152734f499f158bbdc80154d7,1993000075
+0200de8152734f499f158bbdc80154d7,1993000074
+0200de8152734f499f158bbdc80154d7,1993000073
+0200de8152734f499f158bbdc80154d7,1993000072
+0200de8152734f499f158bbdc80154d7,1993000071
+0200de8152734f499f158bbdc80154d7,1993000070
+0200de8152734f499f158bbdc80154d7,1993000069
+0200de8152734f499f158bbdc80154d7,1993000068
+0200de8152734f499f158bbdc80154d7,1993000067
+0200de8152734f499f158bbdc80154d7,1993000066
+0200de8152734f499f158bbdc80154d7,1993000065
+0200de8152734f499f158bbdc80154d7,1993000064
+0200de8152734f499f158bbdc80154d7,1993000063
+0200de8152734f499f158bbdc80154d7,1993000062
+0200de8152734f499f158bbdc80154d7,1993000061
+0200de8152734f499f158bbdc80154d7,1993000060
+0200de8152734f499f158bbdc80154d7,1993000059
+0200de8152734f499f158bbdc80154d7,1993000058
+0200de8152734f499f158bbdc80154d7,1993000057
+0200de8152734f499f158bbdc80154d7,1993000056
+0200de8152734f499f158bbdc80154d7,1993000055
+0200de8152734f499f158bbdc80154d7,1993000054
+0200de8152734f499f158bbdc80154d7,1993000052
+0200de8152734f499f158bbdc80154d7,1993000051
+0200de8152734f499f158bbdc80154d7,1993000050
+0200de8152734f499f158bbdc80154d7,1993000049
+0200de8152734f499f158bbdc80154d7,1993000048
+0200de8152734f499f158bbdc80154d7,1993000047
+0200de8152734f499f158bbdc80154d7,1993000046
+0200de8152734f499f158bbdc80154d7,1993000045
+0200de8152734f499f158bbdc80154d7,1993000044
+0200de8152734f499f158bbdc80154d7,1993000043
+0200de8152734f499f158bbdc80154d7,1993000042
+0200de8152734f499f158bbdc80154d7,1993000041
+0200de8152734f499f158bbdc80154d7,1993000040
+0200de8152734f499f158bbdc80154d7,1993000039
+0200de8152734f499f158bbdc80154d7,1993000038
+0200de8152734f499f158bbdc80154d7,1993000036
+0200de8152734f499f158bbdc80154d7,1993000035
+0200de8152734f499f158bbdc80154d7,1993000033
+0200de8152734f499f158bbdc80154d7,1993000032
+0200de8152734f499f158bbdc80154d7,1993000031
+0200de8152734f499f158bbdc80154d7,1993000030
+0200de8152734f499f158bbdc80154d7,1993000029
+0200de8152734f499f158bbdc80154d7,1993000028
+0200de8152734f499f158bbdc80154d7,1993000027
+0200de8152734f499f158bbdc80154d7,1993000026
+0200de8152734f499f158bbdc80154d7,1993000025
+0200de8152734f499f158bbdc80154d7,1993000024
+0200de8152734f499f158bbdc80154d7,1993000023
+0200de8152734f499f158bbdc80154d7,1993000022
+0200de8152734f499f158bbdc80154d7,1993000020
+0200de8152734f499f158bbdc80154d7,1993000019
+0200de8152734f499f158bbdc80154d7,1993000018
+0200de8152734f499f158bbdc80154d7,1993000017
+0200de8152734f499f158bbdc80154d7,1993000016
+0200de8152734f499f158bbdc80154d7,1993000015
+0200de8152734f499f158bbdc80154d7,1993000014
+0200de8152734f499f158bbdc80154d7,1993000013
+0200de8152734f499f158bbdc80154d7,1993000012
+0200de8152734f499f158bbdc80154d7,1993000011
+0200de8152734f499f158bbdc80154d7,1993000010
+0200de8152734f499f158bbdc80154d7,1993000009
+0200de8152734f499f158bbdc80154d7,1993000008
+0200de8152734f499f158bbdc80154d7,1993000007
+0200de8152734f499f158bbdc80154d7,1993000005
+0200de8152734f499f158bbdc80154d7,1993000004
+0200de8152734f499f158bbdc80154d7,1993000003
+0200de8152734f499f158bbdc80154d7,1992010157
+0200de8152734f499f158bbdc80154d7,1992010156
+0200de8152734f499f158bbdc80154d7,1992010151
+0200de8152734f499f158bbdc80154d7,1992010149
+0200de8152734f499f158bbdc80154d7,1992010141
+0200de8152734f499f158bbdc80154d7,1992010136
+0200de8152734f499f158bbdc80154d7,1992010133
+0200de8152734f499f158bbdc80154d7,1992010125
+0200de8152734f499f158bbdc80154d7,1992010110
+0200de8152734f499f158bbdc80154d7,1992010072
+0200de8152734f499f158bbdc80154d7,1992010071
+0200de8152734f499f158bbdc80154d7,1992010069
+0200de8152734f499f158bbdc80154d7,1992010044
+0200de8152734f499f158bbdc80154d7,1992010019
+0200de8152734f499f158bbdc80154d7,1992010017
+0200de8152734f499f158bbdc80154d7,1992010016
+0200de8152734f499f158bbdc80154d7,1992010015
+0200de8152734f499f158bbdc80154d7,1992010014
+0200de8152734f499f158bbdc80154d7,1992010013
+0200de8152734f499f158bbdc80154d7,1992010011
+0200de8152734f499f158bbdc80154d7,1992010010
+0200de8152734f499f158bbdc80154d7,1992010009
+0200de8152734f499f158bbdc80154d7,1992010007
+0200de8152734f499f158bbdc80154d7,1992010006
+0200de8152734f499f158bbdc80154d7,1992010005
+0200de8152734f499f158bbdc80154d7,1992010003
+0200de8152734f499f158bbdc80154d7,1992010001
+0200de8152734f499f158bbdc80154d7,1992000159
+0200de8152734f499f158bbdc80154d7,1992000158
+0200de8152734f499f158bbdc80154d7,1992000153
+0200de8152734f499f158bbdc80154d7,1992000152
+0200de8152734f499f158bbdc80154d7,1992000150
+0200de8152734f499f158bbdc80154d7,1992000148
+0200de8152734f499f158bbdc80154d7,1992000147
+0200de8152734f499f158bbdc80154d7,1992000146
+0200de8152734f499f158bbdc80154d7,1992000145
+0200de8152734f499f158bbdc80154d7,1992000144
+0200de8152734f499f158bbdc80154d7,1992000143
+0200de8152734f499f158bbdc80154d7,1992000140
+0200de8152734f499f158bbdc80154d7,1992000139
+0200de8152734f499f158bbdc80154d7,1992000138
+0200de8152734f499f158bbdc80154d7,1992000135
+0200de8152734f499f158bbdc80154d7,1992000134
+0200de8152734f499f158bbdc80154d7,1992000129
+0200de8152734f499f158bbdc80154d7,1992000128
+0200de8152734f499f158bbdc80154d7,1992000124
+0200de8152734f499f158bbdc80154d7,1992000122
+0200de8152734f499f158bbdc80154d7,1992000121
+0200de8152734f499f158bbdc80154d7,1992000120
+0200de8152734f499f158bbdc80154d7,1992000119
+0200de8152734f499f158bbdc80154d7,1992000118
+0200de8152734f499f158bbdc80154d7,1992000117
+0200de8152734f499f158bbdc80154d7,1992000116
+0200de8152734f499f158bbdc80154d7,1992000115
+0200de8152734f499f158bbdc80154d7,1992000114
+0200de8152734f499f158bbdc80154d7,1992000109
+0200de8152734f499f158bbdc80154d7,1992000108
+0200de8152734f499f158bbdc80154d7,1992000106
+0200de8152734f499f158bbdc80154d7,1992000105
+0200de8152734f499f158bbdc80154d7,1992000102
+0200de8152734f499f158bbdc80154d7,1992000101
+0200de8152734f499f158bbdc80154d7,1992000100
+0200de8152734f499f158bbdc80154d7,1992000099
+0200de8152734f499f158bbdc80154d7,1992000098
+0200de8152734f499f158bbdc80154d7,1992000097
+0200de8152734f499f158bbdc80154d7,1992000096
+0200de8152734f499f158bbdc80154d7,1992000095
+0200de8152734f499f158bbdc80154d7,1992000094
+0200de8152734f499f158bbdc80154d7,1992000093
+0200de8152734f499f158bbdc80154d7,1992000092
+0200de8152734f499f158bbdc80154d7,1992000091
+0200de8152734f499f158bbdc80154d7,1992000090
+0200de8152734f499f158bbdc80154d7,1992000089
+0200de8152734f499f158bbdc80154d7,1992000088
+0200de8152734f499f158bbdc80154d7,1992000087
+0200de8152734f499f158bbdc80154d7,1992000086
+0200de8152734f499f158bbdc80154d7,1992000085
+0200de8152734f499f158bbdc80154d7,1992000084
+0200de8152734f499f158bbdc80154d7,1992000083
+0200de8152734f499f158bbdc80154d7,1992000082
+0200de8152734f499f158bbdc80154d7,1992000081
+0200de8152734f499f158bbdc80154d7,1992000080
+0200de8152734f499f158bbdc80154d7,1992000079
+0200de8152734f499f158bbdc80154d7,1992000078
+0200de8152734f499f158bbdc80154d7,1992000077
+0200de8152734f499f158bbdc80154d7,1992000076
+0200de8152734f499f158bbdc80154d7,1992000075
+0200de8152734f499f158bbdc80154d7,1992000074
+0200de8152734f499f158bbdc80154d7,1992000067
+0200de8152734f499f158bbdc80154d7,1992000066
+0200de8152734f499f158bbdc80154d7,1992000065
+0200de8152734f499f158bbdc80154d7,1992000063
+0200de8152734f499f158bbdc80154d7,1992000061
+0200de8152734f499f158bbdc80154d7,1992000060
+0200de8152734f499f158bbdc80154d7,1992000059
+0200de8152734f499f158bbdc80154d7,1992000058
+0200de8152734f499f158bbdc80154d7,1992000057
+0200de8152734f499f158bbdc80154d7,1992000056
+0200de8152734f499f158bbdc80154d7,1992000055
+0200de8152734f499f158bbdc80154d7,1992000054
+0200de8152734f499f158bbdc80154d7,1992000053
+0200de8152734f499f158bbdc80154d7,1992000052
+0200de8152734f499f158bbdc80154d7,1992000051
+0200de8152734f499f158bbdc80154d7,1992000050
+0200de8152734f499f158bbdc80154d7,1992000049
+0200de8152734f499f158bbdc80154d7,1992000048
+0200de8152734f499f158bbdc80154d7,1992000047
+0200de8152734f499f158bbdc80154d7,1992000046
+0200de8152734f499f158bbdc80154d7,1992000045
+0200de8152734f499f158bbdc80154d7,1992000041
+0200de8152734f499f158bbdc80154d7,1992000040
+0200de8152734f499f158bbdc80154d7,1992000039
+0200de8152734f499f158bbdc80154d7,1992000038
+0200de8152734f499f158bbdc80154d7,1992000037
+0200de8152734f499f158bbdc80154d7,1992000036
+0200de8152734f499f158bbdc80154d7,1992000035
+0200de8152734f499f158bbdc80154d7,1992000034
+0200de8152734f499f158bbdc80154d7,1992000033
+0200de8152734f499f158bbdc80154d7,1992000032
+0200de8152734f499f158bbdc80154d7,1992000031
+0200de8152734f499f158bbdc80154d7,1992000030
+0200de8152734f499f158bbdc80154d7,1992000029
+0200de8152734f499f158bbdc80154d7,1992000028
+0200de8152734f499f158bbdc80154d7,1992000027
+0200de8152734f499f158bbdc80154d7,1992000026
+0200de8152734f499f158bbdc80154d7,1992000025
+0200de8152734f499f158bbdc80154d7,1992000024
+0200de8152734f499f158bbdc80154d7,1992000023
+0200de8152734f499f158bbdc80154d7,1992000021
+0200de8152734f499f158bbdc80154d7,1992000020
+0200de8152734f499f158bbdc80154d7,1991010059
+0200de8152734f499f158bbdc80154d7,1991010013
+0200de8152734f499f158bbdc80154d7,1991000068
+0200de8152734f499f158bbdc80154d7,1991000066
+0200de8152734f499f158bbdc80154d7,1991000065
+0200de8152734f499f158bbdc80154d7,1991000064
+0200de8152734f499f158bbdc80154d7,1991000062
+0200de8152734f499f158bbdc80154d7,1991000058
+0200de8152734f499f158bbdc80154d7,1991000057
+0200de8152734f499f158bbdc80154d7,1991000055
+0200de8152734f499f158bbdc80154d7,1991000054
+0200de8152734f499f158bbdc80154d7,1991000053
+0200de8152734f499f158bbdc80154d7,1991000052
+0200de8152734f499f158bbdc80154d7,1991000051
+0200de8152734f499f158bbdc80154d7,1991000048
+0200de8152734f499f158bbdc80154d7,1991000047
+0200de8152734f499f158bbdc80154d7,1991000046
+0200de8152734f499f158bbdc80154d7,1991000044
+0200de8152734f499f158bbdc80154d7,1991000043
+0200de8152734f499f158bbdc80154d7,1991000042
+0200de8152734f499f158bbdc80154d7,1991000041
+0200de8152734f499f158bbdc80154d7,1991000040
+0200de8152734f499f158bbdc80154d7,1991000039
+0200de8152734f499f158bbdc80154d7,1991000038
+0200de8152734f499f158bbdc80154d7,1991000037
+0200de8152734f499f158bbdc80154d7,1991000036
+0200de8152734f499f158bbdc80154d7,1991000035
+0200de8152734f499f158bbdc80154d7,1991000034
+0200de8152734f499f158bbdc80154d7,1991000033
+0200de8152734f499f158bbdc80154d7,1991000032
+0200de8152734f499f158bbdc80154d7,1991000031
+0200de8152734f499f158bbdc80154d7,1991000030
+0200de8152734f499f158bbdc80154d7,1991000029
+0200de8152734f499f158bbdc80154d7,1991000028
+0200de8152734f499f158bbdc80154d7,1991000027
+0200de8152734f499f158bbdc80154d7,1991000026
+0200de8152734f499f158bbdc80154d7,1991000025
+0200de8152734f499f158bbdc80154d7,1991000024
+0200de8152734f499f158bbdc80154d7,1991000023
+0200de8152734f499f158bbdc80154d7,1991000022
+0200de8152734f499f158bbdc80154d7,1991000021
+0200de8152734f499f158bbdc80154d7,1991000020
+0200de8152734f499f158bbdc80154d7,1991000019
+0200de8152734f499f158bbdc80154d7,1991000018
+0200de8152734f499f158bbdc80154d7,1991000017
+0200de8152734f499f158bbdc80154d7,1991000016
+0200de8152734f499f158bbdc80154d7,1991000015
+0200de8152734f499f158bbdc80154d7,1991000014
+0200de8152734f499f158bbdc80154d7,1991000012
+0200de8152734f499f158bbdc80154d7,1991000011
+0200de8152734f499f158bbdc80154d7,1991000010
+0200de8152734f499f158bbdc80154d7,1991000009
+0200de8152734f499f158bbdc80154d7,1991000008
+0200de8152734f499f158bbdc80154d7,1991000007
+0200de8152734f499f158bbdc80154d7,1991000006
+0200de8152734f499f158bbdc80154d7,1991000005
+0200de8152734f499f158bbdc80154d7,1991000004
+0200de8152734f499f158bbdc80154d7,1991000003
+0200de8152734f499f158bbdc80154d7,1991000002
+0200de8152734f499f158bbdc80154d7,1991000001
+0200de8152734f499f158bbdc80154d7,1990010049
+0200de8152734f499f158bbdc80154d7,1990010038
+0200de8152734f499f158bbdc80154d7,1990010009
+0200de8152734f499f158bbdc80154d7,1990010006
+0200de8152734f499f158bbdc80154d7,1990010005
+0200de8152734f499f158bbdc80154d7,1990010004
+0200de8152734f499f158bbdc80154d7,1990000083
+0200de8152734f499f158bbdc80154d7,1990000082
+0200de8152734f499f158bbdc80154d7,1990000081
+0200de8152734f499f158bbdc80154d7,1990000080
+0200de8152734f499f158bbdc80154d7,1990000079
+0200de8152734f499f158bbdc80154d7,1990000078
+0200de8152734f499f158bbdc80154d7,1990000075
+0200de8152734f499f158bbdc80154d7,1990000073
+0200de8152734f499f158bbdc80154d7,1990000072
+0200de8152734f499f158bbdc80154d7,1990000070
+0200de8152734f499f158bbdc80154d7,1990000069
+0200de8152734f499f158bbdc80154d7,1990000068
+0200de8152734f499f158bbdc80154d7,1990000067
+0200de8152734f499f158bbdc80154d7,1990000066
+0200de8152734f499f158bbdc80154d7,1990000065
+0200de8152734f499f158bbdc80154d7,1990000064
+0200de8152734f499f158bbdc80154d7,1990000063
+0200de8152734f499f158bbdc80154d7,1990000061
+0200de8152734f499f158bbdc80154d7,1990000060
+0200de8152734f499f158bbdc80154d7,1990000059
+0200de8152734f499f158bbdc80154d7,1990000058
+0200de8152734f499f158bbdc80154d7,1990000057
+0200de8152734f499f158bbdc80154d7,1990000056
+0200de8152734f499f158bbdc80154d7,1990000055
+0200de8152734f499f158bbdc80154d7,1990000054
+0200de8152734f499f158bbdc80154d7,1990000053
+0200de8152734f499f158bbdc80154d7,1990000052
+0200de8152734f499f158bbdc80154d7,1990000051
+0200de8152734f499f158bbdc80154d7,1990000048
+0200de8152734f499f158bbdc80154d7,1990000047
+0200de8152734f499f158bbdc80154d7,1990000046
+0200de8152734f499f158bbdc80154d7,1990000045
+0200de8152734f499f158bbdc80154d7,1990000044
+0200de8152734f499f158bbdc80154d7,1990000043
+0200de8152734f499f158bbdc80154d7,1990000042
+0200de8152734f499f158bbdc80154d7,1990000041
+0200de8152734f499f158bbdc80154d7,1990000040
+0200de8152734f499f158bbdc80154d7,1990000039
+0200de8152734f499f158bbdc80154d7,1990000037
+0200de8152734f499f158bbdc80154d7,1990000035
+0200de8152734f499f158bbdc80154d7,1990000034
+0200de8152734f499f158bbdc80154d7,1990000033
+0200de8152734f499f158bbdc80154d7,1990000032
+0200de8152734f499f158bbdc80154d7,1990000031
+0200de8152734f499f158bbdc80154d7,1990000030
+0200de8152734f499f158bbdc80154d7,1990000029
+0200de8152734f499f158bbdc80154d7,1990000028
+0200de8152734f499f158bbdc80154d7,1990000027
+0200de8152734f499f158bbdc80154d7,1990000026
+0200de8152734f499f158bbdc80154d7,1990000025
+0200de8152734f499f158bbdc80154d7,1990000024
+0200de8152734f499f158bbdc80154d7,1990000023
+0200de8152734f499f158bbdc80154d7,1990000022
+0200de8152734f499f158bbdc80154d7,1990000021
+0200de8152734f499f158bbdc80154d7,1990000020
+0200de8152734f499f158bbdc80154d7,1990000019
+0200de8152734f499f158bbdc80154d7,1990000018
+0200de8152734f499f158bbdc80154d7,1990000017
+0200de8152734f499f158bbdc80154d7,1990000016
+0200de8152734f499f158bbdc80154d7,1990000014
+0200de8152734f499f158bbdc80154d7,1990000013
+0200de8152734f499f158bbdc80154d7,1990000012
+0200de8152734f499f158bbdc80154d7,1990000011
+0200de8152734f499f158bbdc80154d7,1990000003
+0200de8152734f499f158bbdc80154d7,1989010120
+0200de8152734f499f158bbdc80154d7,1989010112
+0200de8152734f499f158bbdc80154d7,1989010108
+0200de8152734f499f158bbdc80154d7,1989010107
+0200de8152734f499f158bbdc80154d7,1989010106
+0200de8152734f499f158bbdc80154d7,1989010105
+0200de8152734f499f158bbdc80154d7,1989010104
+0200de8152734f499f158bbdc80154d7,1989010103
+0200de8152734f499f158bbdc80154d7,1989010100
+0200de8152734f499f158bbdc80154d7,1989010098
+0200de8152734f499f158bbdc80154d7,1989010097
+0200de8152734f499f158bbdc80154d7,1989010096
+0200de8152734f499f158bbdc80154d7,1989010095
+0200de8152734f499f158bbdc80154d7,1989010094
+0200de8152734f499f158bbdc80154d7,1989010093
+0200de8152734f499f158bbdc80154d7,1989010089
+0200de8152734f499f158bbdc80154d7,1989010081
+0200de8152734f499f158bbdc80154d7,1989010079
+0200de8152734f499f158bbdc80154d7,1989010073
+0200de8152734f499f158bbdc80154d7,1989010072
+0200de8152734f499f158bbdc80154d7,1989010069
+0200de8152734f499f158bbdc80154d7,1989010068
+0200de8152734f499f158bbdc80154d7,1989010064
+0200de8152734f499f158bbdc80154d7,1989010063
+0200de8152734f499f158bbdc80154d7,1989000119
+0200de8152734f499f158bbdc80154d7,1989000118
+0200de8152734f499f158bbdc80154d7,1989000117
+0200de8152734f499f158bbdc80154d7,1989000116
+0200de8152734f499f158bbdc80154d7,1989000115
+0200de8152734f499f158bbdc80154d7,1989000114
+0200de8152734f499f158bbdc80154d7,1989000113
+0200de8152734f499f158bbdc80154d7,1989000110
+0200de8152734f499f158bbdc80154d7,1989000085
+0200de8152734f499f158bbdc80154d7,1989000084
+0200de8152734f499f158bbdc80154d7,1989000083
+0200de8152734f499f158bbdc80154d7,1989000082
+0200de8152734f499f158bbdc80154d7,1989000078
+0200de8152734f499f158bbdc80154d7,1989000076
+0200de8152734f499f158bbdc80154d7,1989000074
+0200de8152734f499f158bbdc80154d7,1989000067
+0200de8152734f499f158bbdc80154d7,1989000066
+0200de8152734f499f158bbdc80154d7,1989000061
+0200de8152734f499f158bbdc80154d7,1989000060
+0200de8152734f499f158bbdc80154d7,1989000056
+0200de8152734f499f158bbdc80154d7,1989000055
+0200de8152734f499f158bbdc80154d7,1989000054
+0200de8152734f499f158bbdc80154d7,1989000052
+0200de8152734f499f158bbdc80154d7,1989000051
+0200de8152734f499f158bbdc80154d7,1989000050
+0200de8152734f499f158bbdc80154d7,1989000049
+0200de8152734f499f158bbdc80154d7,1989000048
+0200de8152734f499f158bbdc80154d7,1989000047
+0200de8152734f499f158bbdc80154d7,1989000046
+0200de8152734f499f158bbdc80154d7,1989000045
+0200de8152734f499f158bbdc80154d7,1989000044
+0200de8152734f499f158bbdc80154d7,1989000043
+0200de8152734f499f158bbdc80154d7,1989000042
+0200de8152734f499f158bbdc80154d7,1989000040
+0200de8152734f499f158bbdc80154d7,1989000039
+0200de8152734f499f158bbdc80154d7,1989000038
+0200de8152734f499f158bbdc80154d7,1989000037
+0200de8152734f499f158bbdc80154d7,1989000036
+0200de8152734f499f158bbdc80154d7,1989000035
+0200de8152734f499f158bbdc80154d7,1989000034
+0200de8152734f499f158bbdc80154d7,1989000032
+0200de8152734f499f158bbdc80154d7,1989000031
+0200de8152734f499f158bbdc80154d7,1989000030
+0200de8152734f499f158bbdc80154d7,1989000029
+0200de8152734f499f158bbdc80154d7,1989000028
+0200de8152734f499f158bbdc80154d7,1989000027
+0200de8152734f499f158bbdc80154d7,1989000025
+0200de8152734f499f158bbdc80154d7,1989000023
+0200de8152734f499f158bbdc80154d7,1989000022
+0200de8152734f499f158bbdc80154d7,1989000018
+0200de8152734f499f158bbdc80154d7,1989000017
+0200de8152734f499f158bbdc80154d7,1989000016
+0200de8152734f499f158bbdc80154d7,1989000015
+0200de8152734f499f158bbdc80154d7,1989000014
+0200de8152734f499f158bbdc80154d7,1989000013
+0200de8152734f499f158bbdc80154d7,1989000012
+0200de8152734f499f158bbdc80154d7,1989000011
+0200de8152734f499f158bbdc80154d7,1989000010
+0200de8152734f499f158bbdc80154d7,1989000008
+0200de8152734f499f158bbdc80154d7,1989000006
+0200de8152734f499f158bbdc80154d7,1989000005
+0200de8152734f499f158bbdc80154d7,1989000004
+0200de8152734f499f158bbdc80154d7,1989000003
+0200de8152734f499f158bbdc80154d7,1989000002
+0200de8152734f499f158bbdc80154d7,1988010128
+0200de8152734f499f158bbdc80154d7,1988010015
+0200de8152734f499f158bbdc80154d7,1988010013
+0200de8152734f499f158bbdc80154d7,1988010010
+0200de8152734f499f158bbdc80154d7,1988010005
+0200de8152734f499f158bbdc80154d7,1988010003
+0200de8152734f499f158bbdc80154d7,1988010001
+0200de8152734f499f158bbdc80154d7,1988000132
+0200de8152734f499f158bbdc80154d7,1988000131
+0200de8152734f499f158bbdc80154d7,1988000130
+0200de8152734f499f158bbdc80154d7,1988000129
+0200de8152734f499f158bbdc80154d7,1988000127
+0200de8152734f499f158bbdc80154d7,1988000126
+0200de8152734f499f158bbdc80154d7,1988000125
+0200de8152734f499f158bbdc80154d7,1988000124
+0200de8152734f499f158bbdc80154d7,1988000123
+0200de8152734f499f158bbdc80154d7,1988000121
+0200de8152734f499f158bbdc80154d7,1988000120
+0200de8152734f499f158bbdc80154d7,1988000119
+0200de8152734f499f158bbdc80154d7,1988000118
+0200de8152734f499f158bbdc80154d7,1988000116
+0200de8152734f499f158bbdc80154d7,1988000115
+0200de8152734f499f158bbdc80154d7,1988000114
+0200de8152734f499f158bbdc80154d7,1988000108
+0200de8152734f499f158bbdc80154d7,1988000106
+0200de8152734f499f158bbdc80154d7,1988000104
+0200de8152734f499f158bbdc80154d7,1988000101
+0200de8152734f499f158bbdc80154d7,1988000099
+0200de8152734f499f158bbdc80154d7,1988000098
+0200de8152734f499f158bbdc80154d7,1988000097
+0200de8152734f499f158bbdc80154d7,1988000096
+0200de8152734f499f158bbdc80154d7,1988000095
+0200de8152734f499f158bbdc80154d7,1988000094
+0200de8152734f499f158bbdc80154d7,1988000093
+0200de8152734f499f158bbdc80154d7,1988000092
+0200de8152734f499f158bbdc80154d7,1988000091
+0200de8152734f499f158bbdc80154d7,1988000090
+0200de8152734f499f158bbdc80154d7,1988000089
+0200de8152734f499f158bbdc80154d7,1988000088
+0200de8152734f499f158bbdc80154d7,1988000087
+0200de8152734f499f158bbdc80154d7,1988000086
+0200de8152734f499f158bbdc80154d7,1988000085
+0200de8152734f499f158bbdc80154d7,1988000084
+0200de8152734f499f158bbdc80154d7,1988000083
+0200de8152734f499f158bbdc80154d7,1988000082
+0200de8152734f499f158bbdc80154d7,1988000081
+0200de8152734f499f158bbdc80154d7,1988000080
+0200de8152734f499f158bbdc80154d7,1988000079
+0200de8152734f499f158bbdc80154d7,1988000078
+0200de8152734f499f158bbdc80154d7,1988000077
+0200de8152734f499f158bbdc80154d7,1988000074
+0200de8152734f499f158bbdc80154d7,1988000073
+0200de8152734f499f158bbdc80154d7,1988000072
+0200de8152734f499f158bbdc80154d7,1988000071
+0200de8152734f499f158bbdc80154d7,1988000070
+0200de8152734f499f158bbdc80154d7,1988000066
+0200de8152734f499f158bbdc80154d7,1988000064
+0200de8152734f499f158bbdc80154d7,1988000063
+0200de8152734f499f158bbdc80154d7,1988000062
+0200de8152734f499f158bbdc80154d7,1988000061
+0200de8152734f499f158bbdc80154d7,1988000060
+0200de8152734f499f158bbdc80154d7,1988000059
+0200de8152734f499f158bbdc80154d7,1988000058
+0200de8152734f499f158bbdc80154d7,1988000054
+0200de8152734f499f158bbdc80154d7,1988000053
+0200de8152734f499f158bbdc80154d7,1988000051
+0200de8152734f499f158bbdc80154d7,1988000050
+0200de8152734f499f158bbdc80154d7,1988000049
+0200de8152734f499f158bbdc80154d7,1988000048
+0200de8152734f499f158bbdc80154d7,1988000047
+0200de8152734f499f158bbdc80154d7,1988000045
+0200de8152734f499f158bbdc80154d7,1988000044
+0200de8152734f499f158bbdc80154d7,1988000043
+0200de8152734f499f158bbdc80154d7,1988000042
+0200de8152734f499f158bbdc80154d7,1988000041
+0200de8152734f499f158bbdc80154d7,1988000040
+0200de8152734f499f158bbdc80154d7,1988000039
+0200de8152734f499f158bbdc80154d7,1988000038
+0200de8152734f499f158bbdc80154d7,1988000037
+0200de8152734f499f158bbdc80154d7,1988000036
+0200de8152734f499f158bbdc80154d7,1988000035
+0200de8152734f499f158bbdc80154d7,1988000034
+0200de8152734f499f158bbdc80154d7,1988000033
+0200de8152734f499f158bbdc80154d7,1988000032
+0200de8152734f499f158bbdc80154d7,1988000031
+0200de8152734f499f158bbdc80154d7,1988000030
+0200de8152734f499f158bbdc80154d7,1988000029
+0200de8152734f499f158bbdc80154d7,1988000028
+0200de8152734f499f158bbdc80154d7,1988000027
+0200de8152734f499f158bbdc80154d7,1988000026
+0200de8152734f499f158bbdc80154d7,1988000024
+0200de8152734f499f158bbdc80154d7,1988000008
+0200de8152734f499f158bbdc80154d7,1988000004
+0200de8152734f499f158bbdc80154d7,1987010031
+0200de8152734f499f158bbdc80154d7,1987010029
+0200de8152734f499f158bbdc80154d7,1987000087
+0200de8152734f499f158bbdc80154d7,1987000085
+0200de8152734f499f158bbdc80154d7,1987000084
+0200de8152734f499f158bbdc80154d7,1987000083
+0200de8152734f499f158bbdc80154d7,1987000080
+0200de8152734f499f158bbdc80154d7,1987000079
+0200de8152734f499f158bbdc80154d7,1987000078
+0200de8152734f499f158bbdc80154d7,1987000077
+0200de8152734f499f158bbdc80154d7,1987000076
+0200de8152734f499f158bbdc80154d7,1987000075
+0200de8152734f499f158bbdc80154d7,1987000074
+0200de8152734f499f158bbdc80154d7,1987000073
+0200de8152734f499f158bbdc80154d7,1987000072
+0200de8152734f499f158bbdc80154d7,1987000071
+0200de8152734f499f158bbdc80154d7,1987000070
+0200de8152734f499f158bbdc80154d7,1987000067
+0200de8152734f499f158bbdc80154d7,1987000066
+0200de8152734f499f158bbdc80154d7,1987000065
+0200de8152734f499f158bbdc80154d7,1987000064
+0200de8152734f499f158bbdc80154d7,1987000063
+0200de8152734f499f158bbdc80154d7,1987000062
+0200de8152734f499f158bbdc80154d7,1987000061
+0200de8152734f499f158bbdc80154d7,1987000060
+0200de8152734f499f158bbdc80154d7,1987000059
+0200de8152734f499f158bbdc80154d7,1987000058
+0200de8152734f499f158bbdc80154d7,1987000057
+0200de8152734f499f158bbdc80154d7,1987000056
+0200de8152734f499f158bbdc80154d7,1987000055
+0200de8152734f499f158bbdc80154d7,1987000054
+0200de8152734f499f158bbdc80154d7,1987000053
+0200de8152734f499f158bbdc80154d7,1987000052
+0200de8152734f499f158bbdc80154d7,1987000051
+0200de8152734f499f158bbdc80154d7,1987000050
+0200de8152734f499f158bbdc80154d7,1987000049
+0200de8152734f499f158bbdc80154d7,1987000048
+0200de8152734f499f158bbdc80154d7,1987000046
+0200de8152734f499f158bbdc80154d7,1987000045
+0200de8152734f499f158bbdc80154d7,1987000044
+0200de8152734f499f158bbdc80154d7,1987000043
+0200de8152734f499f158bbdc80154d7,1987000042
+0200de8152734f499f158bbdc80154d7,1987000041
+0200de8152734f499f158bbdc80154d7,1987000040
+0200de8152734f499f158bbdc80154d7,1987000039
+0200de8152734f499f158bbdc80154d7,1987000038
+0200de8152734f499f158bbdc80154d7,1987000037
+0200de8152734f499f158bbdc80154d7,1987000036
+0200de8152734f499f158bbdc80154d7,1987000035
+0200de8152734f499f158bbdc80154d7,1987000034
+0200de8152734f499f158bbdc80154d7,1987000033
+0200de8152734f499f158bbdc80154d7,1987000032
+0200de8152734f499f158bbdc80154d7,1987000030
+0200de8152734f499f158bbdc80154d7,1987000028
+0200de8152734f499f158bbdc80154d7,1987000027
+0200de8152734f499f158bbdc80154d7,1987000026
+0200de8152734f499f158bbdc80154d7,1987000025
+0200de8152734f499f158bbdc80154d7,1987000024
+0200de8152734f499f158bbdc80154d7,1987000023
+0200de8152734f499f158bbdc80154d7,1987000022
+0200de8152734f499f158bbdc80154d7,1987000021
+0200de8152734f499f158bbdc80154d7,1987000020
+0200de8152734f499f158bbdc80154d7,1987000019
+0200de8152734f499f158bbdc80154d7,1987000018
+0200de8152734f499f158bbdc80154d7,1987000017
+0200de8152734f499f158bbdc80154d7,1987000016
+0200de8152734f499f158bbdc80154d7,1987000014
+0200de8152734f499f158bbdc80154d7,1987000013
+0200de8152734f499f158bbdc80154d7,1987000011
+0200de8152734f499f158bbdc80154d7,1987000008
+0200de8152734f499f158bbdc80154d7,1987000004
+0200de8152734f499f158bbdc80154d7,1987000003
+0200de8152734f499f158bbdc80154d7,1987000001
+0200de8152734f499f158bbdc80154d7,1986010135
+0200de8152734f499f158bbdc80154d7,1986010130
+0200de8152734f499f158bbdc80154d7,1986010123
+0200de8152734f499f158bbdc80154d7,1986010121
+0200de8152734f499f158bbdc80154d7,1986010119
+0200de8152734f499f158bbdc80154d7,1986010118
+0200de8152734f499f158bbdc80154d7,1986010115
+0200de8152734f499f158bbdc80154d7,1986010114
+0200de8152734f499f158bbdc80154d7,1986010110
+0200de8152734f499f158bbdc80154d7,1986010109
+0200de8152734f499f158bbdc80154d7,1986010106
+0200de8152734f499f158bbdc80154d7,1986010104
+0200de8152734f499f158bbdc80154d7,1986000134
+0200de8152734f499f158bbdc80154d7,1986000133
+0200de8152734f499f158bbdc80154d7,1986000102
+0200de8152734f499f158bbdc80154d7,1986000098
+0200de8152734f499f158bbdc80154d7,1986000097
+0200de8152734f499f158bbdc80154d7,1986000096
+0200de8152734f499f158bbdc80154d7,1986000095
+0200de8152734f499f158bbdc80154d7,1986000094
+0200de8152734f499f158bbdc80154d7,1986000092
+0200de8152734f499f158bbdc80154d7,1986000091
+0200de8152734f499f158bbdc80154d7,1986000090
+0200de8152734f499f158bbdc80154d7,1986000089
+0200de8152734f499f158bbdc80154d7,1986000088
+0200de8152734f499f158bbdc80154d7,1986000087
+0200de8152734f499f158bbdc80154d7,1986000086
+0200de8152734f499f158bbdc80154d7,1986000085
+0200de8152734f499f158bbdc80154d7,1986000083
+0200de8152734f499f158bbdc80154d7,1986000082
+0200de8152734f499f158bbdc80154d7,1986000081
+0200de8152734f499f158bbdc80154d7,1986000080
+0200de8152734f499f158bbdc80154d7,1986000079
+0200de8152734f499f158bbdc80154d7,1986000078
+0200de8152734f499f158bbdc80154d7,1986000076
+0200de8152734f499f158bbdc80154d7,1986000075
+0200de8152734f499f158bbdc80154d7,1986000074
+0200de8152734f499f158bbdc80154d7,1986000073
+0200de8152734f499f158bbdc80154d7,1986000072
+0200de8152734f499f158bbdc80154d7,1986000071
+0200de8152734f499f158bbdc80154d7,1986000070
+0200de8152734f499f158bbdc80154d7,1986000069
+0200de8152734f499f158bbdc80154d7,1986000067
+0200de8152734f499f158bbdc80154d7,1986000066
+0200de8152734f499f158bbdc80154d7,1986000065
+0200de8152734f499f158bbdc80154d7,1986000064
+0200de8152734f499f158bbdc80154d7,1986000063
+0200de8152734f499f158bbdc80154d7,1986000061
+0200de8152734f499f158bbdc80154d7,1986000060
+0200de8152734f499f158bbdc80154d7,1986000059
+0200de8152734f499f158bbdc80154d7,1986000058
+0200de8152734f499f158bbdc80154d7,1986000057
+0200de8152734f499f158bbdc80154d7,1986000056
+0200de8152734f499f158bbdc80154d7,1986000055
+0200de8152734f499f158bbdc80154d7,1986000054
+0200de8152734f499f158bbdc80154d7,1986000053
+0200de8152734f499f158bbdc80154d7,1986000052
+0200de8152734f499f158bbdc80154d7,1986000051
+0200de8152734f499f158bbdc80154d7,1986000050
+0200de8152734f499f158bbdc80154d7,1986000047
+0200de8152734f499f158bbdc80154d7,1986000046
+0200de8152734f499f158bbdc80154d7,1986000045
+0200de8152734f499f158bbdc80154d7,1986000044
+0200de8152734f499f158bbdc80154d7,1986000042
+0200de8152734f499f158bbdc80154d7,1986000041
+0200de8152734f499f158bbdc80154d7,1986000040
+0200de8152734f499f158bbdc80154d7,1986000039
+0200de8152734f499f158bbdc80154d7,1986000038
+0200de8152734f499f158bbdc80154d7,1986000037
+0200de8152734f499f158bbdc80154d7,1986000036
+0200de8152734f499f158bbdc80154d7,1986000035
+0200de8152734f499f158bbdc80154d7,1986000034
+0200de8152734f499f158bbdc80154d7,1986000033
+0200de8152734f499f158bbdc80154d7,1986000032
+0200de8152734f499f158bbdc80154d7,1986000031
+0200de8152734f499f158bbdc80154d7,1986000030
+0200de8152734f499f158bbdc80154d7,1986000029
+0200de8152734f499f158bbdc80154d7,1986000028
+0200de8152734f499f158bbdc80154d7,1986000026
+0200de8152734f499f158bbdc80154d7,1986000025
+0200de8152734f499f158bbdc80154d7,1986000023
+0200de8152734f499f158bbdc80154d7,1986000022
+0200de8152734f499f158bbdc80154d7,1986000021
+0200de8152734f499f158bbdc80154d7,1986000020
+0200de8152734f499f158bbdc80154d7,1986000019
+0200de8152734f499f158bbdc80154d7,1986000012
+0200de8152734f499f158bbdc80154d7,1986000010
+0200de8152734f499f158bbdc80154d7,1986000007
+0200de8152734f499f158bbdc80154d7,1986000005
+0200de8152734f499f158bbdc80154d7,1986000004
+0200de8152734f499f158bbdc80154d7,1986000001
+0200de8152734f499f158bbdc80154d7,1985010099
+0200de8152734f499f158bbdc80154d7,1985010094
+0200de8152734f499f158bbdc80154d7,1985010092
+0200de8152734f499f158bbdc80154d7,1985010090
+0200de8152734f499f158bbdc80154d7,1985010083
+0200de8152734f499f158bbdc80154d7,1985010066
+0200de8152734f499f158bbdc80154d7,1985010014
+0200de8152734f499f158bbdc80154d7,1985000098
+0200de8152734f499f158bbdc80154d7,1985000097
+0200de8152734f499f158bbdc80154d7,1985000096
+0200de8152734f499f158bbdc80154d7,1985000093
+0200de8152734f499f158bbdc80154d7,1985000088
+0200de8152734f499f158bbdc80154d7,1985000084
+0200de8152734f499f158bbdc80154d7,1985000082
+0200de8152734f499f158bbdc80154d7,1985000081
+0200de8152734f499f158bbdc80154d7,1985000075
+0200de8152734f499f158bbdc80154d7,1985000073
+0200de8152734f499f158bbdc80154d7,1985000072
+0200de8152734f499f158bbdc80154d7,1985000071
+0200de8152734f499f158bbdc80154d7,1985000068
+0200de8152734f499f158bbdc80154d7,1985000067
+0200de8152734f499f158bbdc80154d7,1985000065
+0200de8152734f499f158bbdc80154d7,1985000064
+0200de8152734f499f158bbdc80154d7,1985000063
+0200de8152734f499f158bbdc80154d7,1985000062
+0200de8152734f499f158bbdc80154d7,1985000061
+0200de8152734f499f158bbdc80154d7,1985000060
+0200de8152734f499f158bbdc80154d7,1985000059
+0200de8152734f499f158bbdc80154d7,1985000058
+0200de8152734f499f158bbdc80154d7,1985000057
+0200de8152734f499f158bbdc80154d7,1985000056
+0200de8152734f499f158bbdc80154d7,1985000055
+0200de8152734f499f158bbdc80154d7,1985000054
+0200de8152734f499f158bbdc80154d7,1985000053
+0200de8152734f499f158bbdc80154d7,1985000052
+0200de8152734f499f158bbdc80154d7,1985000051
+0200de8152734f499f158bbdc80154d7,1985000050
+0200de8152734f499f158bbdc80154d7,1985000049
+0200de8152734f499f158bbdc80154d7,1985000048
+0200de8152734f499f158bbdc80154d7,1985000047
+0200de8152734f499f158bbdc80154d7,1985000046
+0200de8152734f499f158bbdc80154d7,1985000045
+0200de8152734f499f158bbdc80154d7,1985000044
+0200de8152734f499f158bbdc80154d7,1985000043
+0200de8152734f499f158bbdc80154d7,1985000042
+0200de8152734f499f158bbdc80154d7,1985000041
+0200de8152734f499f158bbdc80154d7,1985000040
+0200de8152734f499f158bbdc80154d7,1985000039
+0200de8152734f499f158bbdc80154d7,1985000038
+0200de8152734f499f158bbdc80154d7,1985000037
+0200de8152734f499f158bbdc80154d7,1985000036
+0200de8152734f499f158bbdc80154d7,1985000035
+0200de8152734f499f158bbdc80154d7,1985000034
+0200de8152734f499f158bbdc80154d7,1985000033
+0200de8152734f499f158bbdc80154d7,1985000032
+0200de8152734f499f158bbdc80154d7,1985000030
+0200de8152734f499f158bbdc80154d7,1985000029
+0200de8152734f499f158bbdc80154d7,1985000026
+0200de8152734f499f158bbdc80154d7,1985000024
+0200de8152734f499f158bbdc80154d7,1985000023
+0200de8152734f499f158bbdc80154d7,1985000022
+0200de8152734f499f158bbdc80154d7,1985000021
+0200de8152734f499f158bbdc80154d7,1985000019
+0200de8152734f499f158bbdc80154d7,1985000018
+0200de8152734f499f158bbdc80154d7,1985000017
+0200de8152734f499f158bbdc80154d7,1985000016
+0200de8152734f499f158bbdc80154d7,1985000015
+0200de8152734f499f158bbdc80154d7,1985000013
+0200de8152734f499f158bbdc80154d7,1985000012
+0200de8152734f499f158bbdc80154d7,1985000010
+0200de8152734f499f158bbdc80154d7,1985000008
+0200de8152734f499f158bbdc80154d7,1985000007
+0200de8152734f499f158bbdc80154d7,1985000005
+0200de8152734f499f158bbdc80154d7,1985000001
+0200de8152734f499f158bbdc80154d7,1984010108
+0200de8152734f499f158bbdc80154d7,1984010102
+0200de8152734f499f158bbdc80154d7,1984010075
+0200de8152734f499f158bbdc80154d7,1984010070
+0200de8152734f499f158bbdc80154d7,1984010069
+0200de8152734f499f158bbdc80154d7,1984010013
+0200de8152734f499f158bbdc80154d7,1984010008
+0200de8152734f499f158bbdc80154d7,1984010004
+0200de8152734f499f158bbdc80154d7,1984010003
+0200de8152734f499f158bbdc80154d7,1984010002
+0200de8152734f499f158bbdc80154d7,1984010001
+0200de8152734f499f158bbdc80154d7,1984000106
+0200de8152734f499f158bbdc80154d7,1984000105
+0200de8152734f499f158bbdc80154d7,1984000104
+0200de8152734f499f158bbdc80154d7,1984000101
+0200de8152734f499f158bbdc80154d7,1984000100
+0200de8152734f499f158bbdc80154d7,1984000097
+0200de8152734f499f158bbdc80154d7,1984000093
+0200de8152734f499f158bbdc80154d7,1984000092
+0200de8152734f499f158bbdc80154d7,1984000091
+0200de8152734f499f158bbdc80154d7,1984000089
+0200de8152734f499f158bbdc80154d7,1984000085
+0200de8152734f499f158bbdc80154d7,1984000084
+0200de8152734f499f158bbdc80154d7,1984000083
+0200de8152734f499f158bbdc80154d7,1984000082
+0200de8152734f499f158bbdc80154d7,1984000080
+0200de8152734f499f158bbdc80154d7,1984000079
+0200de8152734f499f158bbdc80154d7,1984000078
+0200de8152734f499f158bbdc80154d7,1984000076
+0200de8152734f499f158bbdc80154d7,1984000067
+0200de8152734f499f158bbdc80154d7,1984000065
+0200de8152734f499f158bbdc80154d7,1984000063
+0200de8152734f499f158bbdc80154d7,1984000062
+0200de8152734f499f158bbdc80154d7,1984000061
+0200de8152734f499f158bbdc80154d7,1984000060
+0200de8152734f499f158bbdc80154d7,1984000059
+0200de8152734f499f158bbdc80154d7,1984000057
+0200de8152734f499f158bbdc80154d7,1984000056
+0200de8152734f499f158bbdc80154d7,1984000055
+0200de8152734f499f158bbdc80154d7,1984000054
+0200de8152734f499f158bbdc80154d7,1984000053
+0200de8152734f499f158bbdc80154d7,1984000052
+0200de8152734f499f158bbdc80154d7,1984000051
+0200de8152734f499f158bbdc80154d7,1984000050
+0200de8152734f499f158bbdc80154d7,1984000049
+0200de8152734f499f158bbdc80154d7,1984000047
+0200de8152734f499f158bbdc80154d7,1984000046
+0200de8152734f499f158bbdc80154d7,1984000044
+0200de8152734f499f158bbdc80154d7,1984000043
+0200de8152734f499f158bbdc80154d7,1984000042
+0200de8152734f499f158bbdc80154d7,1984000041
+0200de8152734f499f158bbdc80154d7,1984000040
+0200de8152734f499f158bbdc80154d7,1984000039
+0200de8152734f499f158bbdc80154d7,1984000038
+0200de8152734f499f158bbdc80154d7,1984000032
+0200de8152734f499f158bbdc80154d7,1984000030
+0200de8152734f499f158bbdc80154d7,1984000029
+0200de8152734f499f158bbdc80154d7,1984000026
+0200de8152734f499f158bbdc80154d7,1984000025
+0200de8152734f499f158bbdc80154d7,1984000023
+0200de8152734f499f158bbdc80154d7,1984000022
+0200de8152734f499f158bbdc80154d7,1984000021
+0200de8152734f499f158bbdc80154d7,1984000020
+0200de8152734f499f158bbdc80154d7,1984000019
+0200de8152734f499f158bbdc80154d7,1984000018
+0200de8152734f499f158bbdc80154d7,1984000017
+0200de8152734f499f158bbdc80154d7,1984000015
+0200de8152734f499f158bbdc80154d7,1984000012
+0200de8152734f499f158bbdc80154d7,1984000011
+0200de8152734f499f158bbdc80154d7,1984000009
+0200de8152734f499f158bbdc80154d7,1984000007
+0200de8152734f499f158bbdc80154d7,1983000070
+0200de8152734f499f158bbdc80154d7,1983000069
+0200de8152734f499f158bbdc80154d7,1983000068
+0200de8152734f499f158bbdc80154d7,1983000067
+0200de8152734f499f158bbdc80154d7,1983000066
+0200de8152734f499f158bbdc80154d7,1983000065
+0200de8152734f499f158bbdc80154d7,1983000060
+0200de8152734f499f158bbdc80154d7,1983000059
+0200de8152734f499f158bbdc80154d7,1983000053
+0200de8152734f499f158bbdc80154d7,1983000052
+0200de8152734f499f158bbdc80154d7,1983000051
+0200de8152734f499f158bbdc80154d7,1983000048
+0200de8152734f499f158bbdc80154d7,1983000043
+0200de8152734f499f158bbdc80154d7,1983000041
+0200de8152734f499f158bbdc80154d7,1983000040
+0200de8152734f499f158bbdc80154d7,1983000039
+0200de8152734f499f158bbdc80154d7,1983000035
+0200de8152734f499f158bbdc80154d7,1983000033
+0200de8152734f499f158bbdc80154d7,1983000032
+0200de8152734f499f158bbdc80154d7,1983000031
+0200de8152734f499f158bbdc80154d7,1983000030
+0200de8152734f499f158bbdc80154d7,1983000028
+0200de8152734f499f158bbdc80154d7,1983000026
+0200de8152734f499f158bbdc80154d7,1983000024
+0200de8152734f499f158bbdc80154d7,1983000023
+0200de8152734f499f158bbdc80154d7,1983000022
+0200de8152734f499f158bbdc80154d7,1983000021
+0200de8152734f499f158bbdc80154d7,1983000019
+0200de8152734f499f158bbdc80154d7,1983000018
+0200de8152734f499f158bbdc80154d7,1983000017
+0200de8152734f499f158bbdc80154d7,1983000016
+0200de8152734f499f158bbdc80154d7,1983000015
+0200de8152734f499f158bbdc80154d7,1983000014
+0200de8152734f499f158bbdc80154d7,1983000012
+0200de8152734f499f158bbdc80154d7,1983000011
+0200de8152734f499f158bbdc80154d7,1983000009
+0200de8152734f499f158bbdc80154d7,1983000008
+0200de8152734f499f158bbdc80154d7,1983000003
+0200de8152734f499f158bbdc80154d7,1983000001
+0200de8152734f499f158bbdc80154d7,1982000088
+0200de8152734f499f158bbdc80154d7,1982000087
+0200de8152734f499f158bbdc80154d7,1982000085
+0200de8152734f499f158bbdc80154d7,1982000083
+0200de8152734f499f158bbdc80154d7,1982000081
+0200de8152734f499f158bbdc80154d7,1982000080
+0200de8152734f499f158bbdc80154d7,1982000078
+0200de8152734f499f158bbdc80154d7,1982000075
+0200de8152734f499f158bbdc80154d7,1982000073
+0200de8152734f499f158bbdc80154d7,1982000072
+0200de8152734f499f158bbdc80154d7,1982000070
+0200de8152734f499f158bbdc80154d7,1982000069
+0200de8152734f499f158bbdc80154d7,1982000068
+0200de8152734f499f158bbdc80154d7,1982000067
+0200de8152734f499f158bbdc80154d7,1982000066
+0200de8152734f499f158bbdc80154d7,1982000065
+0200de8152734f499f158bbdc80154d7,1982000063
+0200de8152734f499f158bbdc80154d7,1982000060
+0200de8152734f499f158bbdc80154d7,1982000059
+0200de8152734f499f158bbdc80154d7,1982000058
+0200de8152734f499f158bbdc80154d7,1982000057
+0200de8152734f499f158bbdc80154d7,1982000055
+0200de8152734f499f158bbdc80154d7,1982000053
+0200de8152734f499f158bbdc80154d7,1982000052
+0200de8152734f499f158bbdc80154d7,1982000050
+0200de8152734f499f158bbdc80154d7,1982000046
+0200de8152734f499f158bbdc80154d7,1982000045
+0200de8152734f499f158bbdc80154d7,1982000044
+0200de8152734f499f158bbdc80154d7,1982000041
+0200de8152734f499f158bbdc80154d7,1982000040
+0200de8152734f499f158bbdc80154d7,1982000039
+0200de8152734f499f158bbdc80154d7,1982000038
+0200de8152734f499f158bbdc80154d7,1982000037
+0200de8152734f499f158bbdc80154d7,1982000031
+0200de8152734f499f158bbdc80154d7,1982000029
+0200de8152734f499f158bbdc80154d7,1982000028
+0200de8152734f499f158bbdc80154d7,1982000025
+0200de8152734f499f158bbdc80154d7,1982000021
+0200de8152734f499f158bbdc80154d7,1982000014
+0200de8152734f499f158bbdc80154d7,1982000013
+0200de8152734f499f158bbdc80154d7,1982000010
+0200de8152734f499f158bbdc80154d7,1982000008
+0200de8152734f499f158bbdc80154d7,1982000005
+0200de8152734f499f158bbdc80154d7,1981000228
+0200de8152734f499f158bbdc80154d7,1981000222
+0200de8152734f499f158bbdc80154d7,1981000220
+0200de8152734f499f158bbdc80154d7,1981000217
+0200de8152734f499f158bbdc80154d7,1981000216
+0200de8152734f499f158bbdc80154d7,1981000215
+0200de8152734f499f158bbdc80154d7,1981000209
+0200de8152734f499f158bbdc80154d7,1981000204
+0200de8152734f499f158bbdc80154d7,1981000194
+0200de8152734f499f158bbdc80154d7,1981000190
+0200de8152734f499f158bbdc80154d7,1981000187
+0200de8152734f499f158bbdc80154d7,1981000178
+0200de8152734f499f158bbdc80154d7,1981000159
+0200de8152734f499f158bbdc80154d7,1981000158
+0200de8152734f499f158bbdc80154d7,1981000155
+0200de8152734f499f158bbdc80154d7,1981000153
+0200de8152734f499f158bbdc80154d7,1981000152
+0200de8152734f499f158bbdc80154d7,1981000151
+0200de8152734f499f158bbdc80154d7,1981000148
+0200de8152734f499f158bbdc80154d7,1981000147
+0200de8152734f499f158bbdc80154d7,1981000140
+0200de8152734f499f158bbdc80154d7,1981000136
+0200de8152734f499f158bbdc80154d7,1981000133
+0200de8152734f499f158bbdc80154d7,1981000131
+0200de8152734f499f158bbdc80154d7,1981000128
+0200de8152734f499f158bbdc80154d7,1981000125
+0200de8152734f499f158bbdc80154d7,1981000124
+0200de8152734f499f158bbdc80154d7,1981000121
+0200de8152734f499f158bbdc80154d7,1981000119
+0200de8152734f499f158bbdc80154d7,1981000117
+0200de8152734f499f158bbdc80154d7,1981000116
+0200de8152734f499f158bbdc80154d7,1981000115
+0200de8152734f499f158bbdc80154d7,1981000114
+0200de8152734f499f158bbdc80154d7,1981000110
+0200de8152734f499f158bbdc80154d7,1981000109
+0200de8152734f499f158bbdc80154d7,1981000107
+0200de8152734f499f158bbdc80154d7,1981000106
+0200de8152734f499f158bbdc80154d7,1981000105
+0200de8152734f499f158bbdc80154d7,1981000103
+0200de8152734f499f158bbdc80154d7,1981000102
+0200de8152734f499f158bbdc80154d7,1981000101
+0200de8152734f499f158bbdc80154d7,1981000100
+0200de8152734f499f158bbdc80154d7,1981000099
+0200de8152734f499f158bbdc80154d7,1981000095
+0200de8152734f499f158bbdc80154d7,1981000090
+0200de8152734f499f158bbdc80154d7,1981000089
+0200de8152734f499f158bbdc80154d7,1981000088
+0200de8152734f499f158bbdc80154d7,1981000087
+0200de8152734f499f158bbdc80154d7,1981000081
+0200de8152734f499f158bbdc80154d7,1981000078
+0200de8152734f499f158bbdc80154d7,1981000072
+0200de8152734f499f158bbdc80154d7,1981000068
+0200de8152734f499f158bbdc80154d7,1981000067
+0200de8152734f499f158bbdc80154d7,1981000065
+0200de8152734f499f158bbdc80154d7,1981000063
+0200de8152734f499f158bbdc80154d7,1981000059
+0200de8152734f499f158bbdc80154d7,1981000057
+0200de8152734f499f158bbdc80154d7,1981000052
+0200de8152734f499f158bbdc80154d7,1981000051
+0200de8152734f499f158bbdc80154d7,1981000049
+0200de8152734f499f158bbdc80154d7,1981000048
+0200de8152734f499f158bbdc80154d7,1981000041
+0200de8152734f499f158bbdc80154d7,1981000039
+0200de8152734f499f158bbdc80154d7,1981000038
+0200de8152734f499f158bbdc80154d7,1981000037
+0200de8152734f499f158bbdc80154d7,1981000036
+0200de8152734f499f158bbdc80154d7,1981000035
+0200de8152734f499f158bbdc80154d7,1981000031
+0200de8152734f499f158bbdc80154d7,1981000028
+0200de8152734f499f158bbdc80154d7,1981000027
+0200de8152734f499f158bbdc80154d7,1981000023
+0200de8152734f499f158bbdc80154d7,1981000022
+0200de8152734f499f158bbdc80154d7,1981000021
+0200de8152734f499f158bbdc80154d7,1981000020
+0200de8152734f499f158bbdc80154d7,1981000018
+0200de8152734f499f158bbdc80154d7,1981000016
+0200de8152734f499f158bbdc80154d7,1981000015
+0200de8152734f499f158bbdc80154d7,1981000014
+0200de8152734f499f158bbdc80154d7,1981000009
+0200de8152734f499f158bbdc80154d7,1981000007
+0200de8152734f499f158bbdc80154d7,1981000001
+0200de8152734f499f158bbdc80154d7,1980000048
+0200de8152734f499f158bbdc80154d7,1980000047
+0200de8152734f499f158bbdc80154d7,1980000046
+0200de8152734f499f158bbdc80154d7,1980000042
+0200de8152734f499f158bbdc80154d7,1980000040
+0200de8152734f499f158bbdc80154d7,1980000039
+0200de8152734f499f158bbdc80154d7,1980000038
+0200de8152734f499f158bbdc80154d7,1980000036
+0200de8152734f499f158bbdc80154d7,1980000023
+0200de8152734f499f158bbdc80154d7,1980000020
+0200de8152734f499f158bbdc80154d7,1980000004
+0200de8152734f499f158bbdc80154d7,1979000084
+0200de8152734f499f158bbdc80154d7,1979000083
+0200de8152734f499f158bbdc80154d7,1979000082
+0200de8152734f499f158bbdc80154d7,1979000076
+0200de8152734f499f158bbdc80154d7,1979000075
+0200de8152734f499f158bbdc80154d7,1979000070
+0200de8152734f499f158bbdc80154d7,1979000068
+0200de8152734f499f158bbdc80154d7,1979000065
+0200de8152734f499f158bbdc80154d7,1979000064
+0200de8152734f499f158bbdc80154d7,1979000058
+0200de8152734f499f158bbdc80154d7,1979000057
+0200de8152734f499f158bbdc80154d7,1979000056
+0200de8152734f499f158bbdc80154d7,1979000052
+0200de8152734f499f158bbdc80154d7,1979000046
+0200de8152734f499f158bbdc80154d7,1979000044
+0200de8152734f499f158bbdc80154d7,1979000029
+0200de8152734f499f158bbdc80154d7,1979000027
+0200de8152734f499f158bbdc80154d7,1978000058
+0200de8152734f499f158bbdc80154d7,1978000052
+0200de8152734f499f158bbdc80154d7,1978000050
+0200de8152734f499f158bbdc80154d7,1978000038
+0200de8152734f499f158bbdc80154d7,1978000013
+0200de8152734f499f158bbdc80154d7,1978000010
+0200de8152734f499f158bbdc80154d7,1978000009
+0200de8152734f499f158bbdc80154d7,1978000003
+0200de8152734f499f158bbdc80154d7,1977000062
+0200de8152734f499f158bbdc80154d7,1977000060
+0200de8152734f499f158bbdc80154d7,1977000058
+0200de8152734f499f158bbdc80154d7,1977000047
+0200de8152734f499f158bbdc80154d7,1977000038
+0200de8152734f499f158bbdc80154d7,1977000032
+0200de8152734f499f158bbdc80154d7,1977000010
+0200de8152734f499f158bbdc80154d7,1977000008
+0200de8152734f499f158bbdc80154d7,1976000054
+0200de8152734f499f158bbdc80154d7,1975000015
+0200de8152734f499f158bbdc80154d7,1975000007
+0200de8152734f499f158bbdc80154d7,1974000010
+0200de8152734f499f158bbdc80154d7,1973000051
+0200de8152734f499f158bbdc80154d7,1972000049
+0200de8152734f499f158bbdc80154d7,1972000035
+0200de8152734f499f158bbdc80154d7,1972000027
+0200de8152734f499f158bbdc80154d7,1972000025
+0200de8152734f499f158bbdc80154d7,1972000004
+0200de8152734f499f158bbdc80154d7,1971000074
+0200de8152734f499f158bbdc80154d7,1969000001
+0200de8152734f499f158bbdc80154d7,1957000001
+0200de8152734f499f158bbdc80154d7,1949000001
+0200de8152734f499f158bbdc80154d7,08010
+0200de8152734f499f158bbdc80154d7,07191
+0200de8152734f499f158bbdc80154d7,07190
+0200de8152734f499f158bbdc80154d7,06430
+0200de8152734f499f158bbdc80154d7,06420
+0200de8152734f499f158bbdc80154d7,06410
+0200de8152734f499f158bbdc80154d7,06401
+0200de8152734f499f158bbdc80154d7,06391
+0200de8152734f499f158bbdc80154d7,06180
+0200de8152734f499f158bbdc80154d7,06170
+0200de8152734f499f158bbdc80154d7,06160
+0200de8152734f499f158bbdc80154d7,06140
+0200de8152734f499f158bbdc80154d7,06130
+0200de8152734f499f158bbdc80154d7,06120
+0200de8152734f499f158bbdc80154d7,06110
+0200de8152734f499f158bbdc80154d7,06100
+0200de8152734f499f158bbdc80154d7,06090
+0200de8152734f499f158bbdc80154d7,06080
+0200de8152734f499f158bbdc80154d7,06070
+0200de8152734f499f158bbdc80154d7,06060
+0200de8152734f499f158bbdc80154d7,06050
+0200de8152734f499f158bbdc80154d7,06040
+0200de8152734f499f158bbdc80154d7,06030
+0200de8152734f499f158bbdc80154d7,06020
+0200de8152734f499f158bbdc80154d7,06010
+0200de8152734f499f158bbdc80154d7,05070
+0200de8152734f499f158bbdc80154d7,05040
+0200de8152734f499f158bbdc80154d7,05030
+0200de8152734f499f158bbdc80154d7,05020
+0200de8152734f499f158bbdc80154d7,05010
+0200de8152734f499f158bbdc80154d7,04040
+0200de8152734f499f158bbdc80154d7,04013
+0200de8152734f499f158bbdc80154d7,04012
+0200de8152734f499f158bbdc80154d7,04011
+0200de8152734f499f158bbdc80154d7,03040
+0200de8152734f499f158bbdc80154d7,03010
+0200de8152734f499f158bbdc80154d7,02281
+0200de8152734f499f158bbdc80154d7,02220
+0200de8152734f499f158bbdc80154d7,02210
+0200de8152734f499f158bbdc80154d7,02200
+0200de8152734f499f158bbdc80154d7,02190
+0200de8152734f499f158bbdc80154d7,02180
+0200de8152734f499f158bbdc80154d7,02170
+0200de8152734f499f158bbdc80154d7,02160
+0200de8152734f499f158bbdc80154d7,02121
+0200de8152734f499f158bbdc80154d7,02120
+0200de8152734f499f158bbdc80154d7,02110
+0200de8152734f499f158bbdc80154d7,02100
+0200de8152734f499f158bbdc80154d7,02090
+0200de8152734f499f158bbdc80154d7,02080
+0200de8152734f499f158bbdc80154d7,02070
+0200de8152734f499f158bbdc80154d7,02060
+0200de8152734f499f158bbdc80154d7,02040
+0200de8152734f499f158bbdc80154d7,02030
+0200de8152734f499f158bbdc80154d7,02020
+0200de8152734f499f158bbdc80154d7,02010
+0200de8152734f499f158bbdc80154d7,01110
+0200de8152734f499f158bbdc80154d7,01100
+0200de8152734f499f158bbdc80154d7,01090
+0200de8152734f499f158bbdc80154d7,01080
+0200de8152734f499f158bbdc80154d7,01070
+0200de8152734f499f158bbdc80154d7,01060
+0200de8152734f499f158bbdc80154d7,01040
+0200de8152734f499f158bbdc80154d7,01030
+0200de8152734f499f158bbdc80154d7,01021
+0200de8152734f499f158bbdc80154d7,01020
+0200de8152734f499f158bbdc80154d7,01014
+0200de8152734f499f158bbdc80154d7,01010
+02205f62ced54ce7a72f1198eba59edf,2004000106
+02205f62ced54ce7a72f1198eba59edf,2004000105
+02205f62ced54ce7a72f1198eba59edf,2004000104
+02205f62ced54ce7a72f1198eba59edf,2004000103
+02205f62ced54ce7a72f1198eba59edf,2004000102
+02205f62ced54ce7a72f1198eba59edf,2004000101
+02205f62ced54ce7a72f1198eba59edf,2004000091
+02205f62ced54ce7a72f1198eba59edf,2004000089
+02205f62ced54ce7a72f1198eba59edf,2004000088
+02205f62ced54ce7a72f1198eba59edf,2004000087
+02205f62ced54ce7a72f1198eba59edf,2004000085
+02205f62ced54ce7a72f1198eba59edf,2004000084
+02205f62ced54ce7a72f1198eba59edf,2004000083
+02205f62ced54ce7a72f1198eba59edf,2004000082
+02205f62ced54ce7a72f1198eba59edf,2004000081
+02205f62ced54ce7a72f1198eba59edf,2004000080
+02205f62ced54ce7a72f1198eba59edf,2004000079
+02205f62ced54ce7a72f1198eba59edf,2004000077
+02205f62ced54ce7a72f1198eba59edf,2004000076
+02205f62ced54ce7a72f1198eba59edf,2004000075
+02205f62ced54ce7a72f1198eba59edf,2004000074
+02205f62ced54ce7a72f1198eba59edf,2004000073
+02205f62ced54ce7a72f1198eba59edf,2004000072
+02205f62ced54ce7a72f1198eba59edf,2004000071
+02205f62ced54ce7a72f1198eba59edf,2004000070
+02205f62ced54ce7a72f1198eba59edf,2004000069
+02205f62ced54ce7a72f1198eba59edf,2004000068
+02205f62ced54ce7a72f1198eba59edf,2004000067
+02205f62ced54ce7a72f1198eba59edf,2004000066
+02205f62ced54ce7a72f1198eba59edf,2004000065
+02205f62ced54ce7a72f1198eba59edf,2004000064
+02205f62ced54ce7a72f1198eba59edf,2004000063
+02205f62ced54ce7a72f1198eba59edf,2004000062
+02205f62ced54ce7a72f1198eba59edf,2004000061
+02205f62ced54ce7a72f1198eba59edf,2004000060
+02205f62ced54ce7a72f1198eba59edf,2004000059
+02205f62ced54ce7a72f1198eba59edf,2004000058
+02205f62ced54ce7a72f1198eba59edf,2004000057
+02205f62ced54ce7a72f1198eba59edf,2004000056
+02205f62ced54ce7a72f1198eba59edf,2004000055
+02205f62ced54ce7a72f1198eba59edf,2004000054
+02205f62ced54ce7a72f1198eba59edf,2004000053
+02205f62ced54ce7a72f1198eba59edf,2004000052
+02205f62ced54ce7a72f1198eba59edf,2004000051
+02205f62ced54ce7a72f1198eba59edf,2004000050
+02205f62ced54ce7a72f1198eba59edf,2004000049
+02205f62ced54ce7a72f1198eba59edf,2004000048
+02205f62ced54ce7a72f1198eba59edf,2004000047
+02205f62ced54ce7a72f1198eba59edf,2004000046
+02205f62ced54ce7a72f1198eba59edf,2004000045
+02205f62ced54ce7a72f1198eba59edf,2004000044
+02205f62ced54ce7a72f1198eba59edf,2004000043
+02205f62ced54ce7a72f1198eba59edf,2004000042
+02205f62ced54ce7a72f1198eba59edf,2004000041
+02205f62ced54ce7a72f1198eba59edf,2004000040
+02205f62ced54ce7a72f1198eba59edf,2004000039
+02205f62ced54ce7a72f1198eba59edf,2004000037
+02205f62ced54ce7a72f1198eba59edf,2004000036
+02205f62ced54ce7a72f1198eba59edf,2004000035
+02205f62ced54ce7a72f1198eba59edf,2004000034
+02205f62ced54ce7a72f1198eba59edf,2004000033
+02205f62ced54ce7a72f1198eba59edf,2004000032
+02205f62ced54ce7a72f1198eba59edf,2004000031
+02205f62ced54ce7a72f1198eba59edf,2004000030
+02205f62ced54ce7a72f1198eba59edf,2004000029
+02205f62ced54ce7a72f1198eba59edf,2004000028
+02205f62ced54ce7a72f1198eba59edf,2004000027
+02205f62ced54ce7a72f1198eba59edf,2004000026
+02205f62ced54ce7a72f1198eba59edf,2004000025
+02205f62ced54ce7a72f1198eba59edf,2004000024
+02205f62ced54ce7a72f1198eba59edf,2004000023
+02205f62ced54ce7a72f1198eba59edf,2004000022
+02205f62ced54ce7a72f1198eba59edf,2004000021
+02205f62ced54ce7a72f1198eba59edf,2004000020
+02205f62ced54ce7a72f1198eba59edf,2004000019
+02205f62ced54ce7a72f1198eba59edf,2004000018
+02205f62ced54ce7a72f1198eba59edf,2004000017
+02205f62ced54ce7a72f1198eba59edf,2004000016
+02205f62ced54ce7a72f1198eba59edf,2004000015
+02205f62ced54ce7a72f1198eba59edf,2004000014
+02205f62ced54ce7a72f1198eba59edf,2004000013
+02205f62ced54ce7a72f1198eba59edf,2004000012
+02205f62ced54ce7a72f1198eba59edf,2004000011
+02205f62ced54ce7a72f1198eba59edf,2004000010
+02205f62ced54ce7a72f1198eba59edf,2004000009
+02205f62ced54ce7a72f1198eba59edf,2004000008
+02205f62ced54ce7a72f1198eba59edf,2004000007
+02205f62ced54ce7a72f1198eba59edf,2004000006
+02205f62ced54ce7a72f1198eba59edf,2004000005
+02205f62ced54ce7a72f1198eba59edf,2004000003
+02205f62ced54ce7a72f1198eba59edf,2004000002
+02205f62ced54ce7a72f1198eba59edf,2003030128
+02205f62ced54ce7a72f1198eba59edf,2003030117
+02205f62ced54ce7a72f1198eba59edf,2003030066
+02205f62ced54ce7a72f1198eba59edf,2003020134
+02205f62ced54ce7a72f1198eba59edf,2003020127
+02205f62ced54ce7a72f1198eba59edf,2003020089
+02205f62ced54ce7a72f1198eba59edf,2003020088
+02205f62ced54ce7a72f1198eba59edf,2003020087
+02205f62ced54ce7a72f1198eba59edf,2003020086
+02205f62ced54ce7a72f1198eba59edf,2003020085
+02205f62ced54ce7a72f1198eba59edf,2003020084
+02205f62ced54ce7a72f1198eba59edf,2003020083
+02205f62ced54ce7a72f1198eba59edf,2003020082
+02205f62ced54ce7a72f1198eba59edf,2003020081
+02205f62ced54ce7a72f1198eba59edf,2003020080
+02205f62ced54ce7a72f1198eba59edf,2003020079
+02205f62ced54ce7a72f1198eba59edf,2003020078
+02205f62ced54ce7a72f1198eba59edf,2003020077
+02205f62ced54ce7a72f1198eba59edf,2003020059
+02205f62ced54ce7a72f1198eba59edf,2003020045
+02205f62ced54ce7a72f1198eba59edf,2003020008
+02205f62ced54ce7a72f1198eba59edf,2003010161
+02205f62ced54ce7a72f1198eba59edf,2003000133
+02205f62ced54ce7a72f1198eba59edf,2003000132
+02205f62ced54ce7a72f1198eba59edf,2003000131
+02205f62ced54ce7a72f1198eba59edf,2003000130
+02205f62ced54ce7a72f1198eba59edf,2003000129
+02205f62ced54ce7a72f1198eba59edf,2003000126
+02205f62ced54ce7a72f1198eba59edf,2003000125
+02205f62ced54ce7a72f1198eba59edf,2003000124
+02205f62ced54ce7a72f1198eba59edf,2003000123
+02205f62ced54ce7a72f1198eba59edf,2003000121
+02205f62ced54ce7a72f1198eba59edf,2003000120
+02205f62ced54ce7a72f1198eba59edf,2003000119
+02205f62ced54ce7a72f1198eba59edf,2003000118
+02205f62ced54ce7a72f1198eba59edf,2003000116
+02205f62ced54ce7a72f1198eba59edf,2003000115
+02205f62ced54ce7a72f1198eba59edf,2003000114
+02205f62ced54ce7a72f1198eba59edf,2003000113
+02205f62ced54ce7a72f1198eba59edf,2003000112
+02205f62ced54ce7a72f1198eba59edf,2003000111
+02205f62ced54ce7a72f1198eba59edf,2003000110
+02205f62ced54ce7a72f1198eba59edf,2003000109
+02205f62ced54ce7a72f1198eba59edf,2003000108
+02205f62ced54ce7a72f1198eba59edf,2003000107
+02205f62ced54ce7a72f1198eba59edf,2003000106
+02205f62ced54ce7a72f1198eba59edf,2003000105
+02205f62ced54ce7a72f1198eba59edf,2003000104
+02205f62ced54ce7a72f1198eba59edf,2003000103
+02205f62ced54ce7a72f1198eba59edf,2003000102
+02205f62ced54ce7a72f1198eba59edf,2003000101
+02205f62ced54ce7a72f1198eba59edf,2003000100
+02205f62ced54ce7a72f1198eba59edf,2003000099
+02205f62ced54ce7a72f1198eba59edf,2003000098
+02205f62ced54ce7a72f1198eba59edf,2003000097
+02205f62ced54ce7a72f1198eba59edf,2003000096
+02205f62ced54ce7a72f1198eba59edf,2003000095
+02205f62ced54ce7a72f1198eba59edf,2003000094
+02205f62ced54ce7a72f1198eba59edf,2003000093
+02205f62ced54ce7a72f1198eba59edf,2003000092
+02205f62ced54ce7a72f1198eba59edf,2003000091
+02205f62ced54ce7a72f1198eba59edf,2003000090
+02205f62ced54ce7a72f1198eba59edf,2003000076
+02205f62ced54ce7a72f1198eba59edf,2003000075
+02205f62ced54ce7a72f1198eba59edf,2003000074
+02205f62ced54ce7a72f1198eba59edf,2003000073
+02205f62ced54ce7a72f1198eba59edf,2003000072
+02205f62ced54ce7a72f1198eba59edf,2003000071
+02205f62ced54ce7a72f1198eba59edf,2003000070
+02205f62ced54ce7a72f1198eba59edf,2003000069
+02205f62ced54ce7a72f1198eba59edf,2003000068
+02205f62ced54ce7a72f1198eba59edf,2003000067
+02205f62ced54ce7a72f1198eba59edf,2003000065
+02205f62ced54ce7a72f1198eba59edf,2003000064
+02205f62ced54ce7a72f1198eba59edf,2003000063
+02205f62ced54ce7a72f1198eba59edf,2003000062
+02205f62ced54ce7a72f1198eba59edf,2003000061
+02205f62ced54ce7a72f1198eba59edf,2003000060
+02205f62ced54ce7a72f1198eba59edf,2003000058
+02205f62ced54ce7a72f1198eba59edf,2003000057
+02205f62ced54ce7a72f1198eba59edf,2003000056
+02205f62ced54ce7a72f1198eba59edf,2003000055
+02205f62ced54ce7a72f1198eba59edf,2003000054
+02205f62ced54ce7a72f1198eba59edf,2003000053
+02205f62ced54ce7a72f1198eba59edf,2003000052
+02205f62ced54ce7a72f1198eba59edf,2003000051
+02205f62ced54ce7a72f1198eba59edf,2003000050
+02205f62ced54ce7a72f1198eba59edf,2003000049
+02205f62ced54ce7a72f1198eba59edf,2003000048
+02205f62ced54ce7a72f1198eba59edf,2003000047
+02205f62ced54ce7a72f1198eba59edf,2003000046
+02205f62ced54ce7a72f1198eba59edf,2003000044
+02205f62ced54ce7a72f1198eba59edf,2003000043
+02205f62ced54ce7a72f1198eba59edf,2003000042
+02205f62ced54ce7a72f1198eba59edf,2003000041
+02205f62ced54ce7a72f1198eba59edf,2003000040
+02205f62ced54ce7a72f1198eba59edf,2003000039
+02205f62ced54ce7a72f1198eba59edf,2003000038
+02205f62ced54ce7a72f1198eba59edf,2003000037
+02205f62ced54ce7a72f1198eba59edf,2003000036
+02205f62ced54ce7a72f1198eba59edf,2003000035
+02205f62ced54ce7a72f1198eba59edf,2003000034
+02205f62ced54ce7a72f1198eba59edf,2003000033
+02205f62ced54ce7a72f1198eba59edf,2003000032
+02205f62ced54ce7a72f1198eba59edf,2003000031
+02205f62ced54ce7a72f1198eba59edf,2003000030
+02205f62ced54ce7a72f1198eba59edf,2003000029
+02205f62ced54ce7a72f1198eba59edf,2003000028
+02205f62ced54ce7a72f1198eba59edf,2003000027
+02205f62ced54ce7a72f1198eba59edf,2003000026
+02205f62ced54ce7a72f1198eba59edf,2003000025
+02205f62ced54ce7a72f1198eba59edf,2003000024
+02205f62ced54ce7a72f1198eba59edf,2003000023
+02205f62ced54ce7a72f1198eba59edf,2003000022
+02205f62ced54ce7a72f1198eba59edf,2003000021
+02205f62ced54ce7a72f1198eba59edf,2003000020
+02205f62ced54ce7a72f1198eba59edf,2003000019
+02205f62ced54ce7a72f1198eba59edf,2003000018
+02205f62ced54ce7a72f1198eba59edf,2003000017
+02205f62ced54ce7a72f1198eba59edf,2003000016
+02205f62ced54ce7a72f1198eba59edf,2003000015
+02205f62ced54ce7a72f1198eba59edf,2003000014
+02205f62ced54ce7a72f1198eba59edf,2003000013
+02205f62ced54ce7a72f1198eba59edf,2003000012
+02205f62ced54ce7a72f1198eba59edf,2003000011
+02205f62ced54ce7a72f1198eba59edf,2003000010
+02205f62ced54ce7a72f1198eba59edf,2003000009
+02205f62ced54ce7a72f1198eba59edf,2003000007
+02205f62ced54ce7a72f1198eba59edf,2003000006
+02205f62ced54ce7a72f1198eba59edf,2003000005
+02205f62ced54ce7a72f1198eba59edf,2003000004
+02205f62ced54ce7a72f1198eba59edf,2003000002
+02205f62ced54ce7a72f1198eba59edf,2003000001
+02205f62ced54ce7a72f1198eba59edf,2002060088
+02205f62ced54ce7a72f1198eba59edf,2002030006
+02205f62ced54ce7a72f1198eba59edf,2002020066
+02205f62ced54ce7a72f1198eba59edf,2002020065
+02205f62ced54ce7a72f1198eba59edf,2002020057
+02205f62ced54ce7a72f1198eba59edf,2002020056
+02205f62ced54ce7a72f1198eba59edf,2002020053
+02205f62ced54ce7a72f1198eba59edf,2002020013
+02205f62ced54ce7a72f1198eba59edf,2002020012
+02205f62ced54ce7a72f1198eba59edf,2002020002
+02205f62ced54ce7a72f1198eba59edf,2002020001
+02205f62ced54ce7a72f1198eba59edf,2002000067
+02205f62ced54ce7a72f1198eba59edf,2002000064
+02205f62ced54ce7a72f1198eba59edf,2002000063
+02205f62ced54ce7a72f1198eba59edf,2002000062
+02205f62ced54ce7a72f1198eba59edf,2002000061
+02205f62ced54ce7a72f1198eba59edf,2002000060
+02205f62ced54ce7a72f1198eba59edf,2002000058
+02205f62ced54ce7a72f1198eba59edf,2002000055
+02205f62ced54ce7a72f1198eba59edf,2002000054
+02205f62ced54ce7a72f1198eba59edf,2002000052
+02205f62ced54ce7a72f1198eba59edf,2002000051
+02205f62ced54ce7a72f1198eba59edf,2002000050
+02205f62ced54ce7a72f1198eba59edf,2002000049
+02205f62ced54ce7a72f1198eba59edf,2002000048
+02205f62ced54ce7a72f1198eba59edf,2002000047
+02205f62ced54ce7a72f1198eba59edf,2002000046
+02205f62ced54ce7a72f1198eba59edf,2002000045
+02205f62ced54ce7a72f1198eba59edf,2002000044
+02205f62ced54ce7a72f1198eba59edf,2002000043
+02205f62ced54ce7a72f1198eba59edf,2002000042
+02205f62ced54ce7a72f1198eba59edf,2002000041
+02205f62ced54ce7a72f1198eba59edf,2002000040
+02205f62ced54ce7a72f1198eba59edf,2002000039
+02205f62ced54ce7a72f1198eba59edf,2002000038
+02205f62ced54ce7a72f1198eba59edf,2002000037
+02205f62ced54ce7a72f1198eba59edf,2002000036
+02205f62ced54ce7a72f1198eba59edf,2002000035
+02205f62ced54ce7a72f1198eba59edf,2002000034
+02205f62ced54ce7a72f1198eba59edf,2002000033
+02205f62ced54ce7a72f1198eba59edf,2002000032
+02205f62ced54ce7a72f1198eba59edf,2002000031
+02205f62ced54ce7a72f1198eba59edf,2002000030
+02205f62ced54ce7a72f1198eba59edf,2002000029
+02205f62ced54ce7a72f1198eba59edf,2002000028
+02205f62ced54ce7a72f1198eba59edf,2002000027
+02205f62ced54ce7a72f1198eba59edf,2002000026
+02205f62ced54ce7a72f1198eba59edf,2002000025
+02205f62ced54ce7a72f1198eba59edf,2002000024
+02205f62ced54ce7a72f1198eba59edf,2002000023
+02205f62ced54ce7a72f1198eba59edf,2002000022
+02205f62ced54ce7a72f1198eba59edf,2002000021
+02205f62ced54ce7a72f1198eba59edf,2002000020
+02205f62ced54ce7a72f1198eba59edf,2002000019
+02205f62ced54ce7a72f1198eba59edf,2002000018
+02205f62ced54ce7a72f1198eba59edf,2002000017
+02205f62ced54ce7a72f1198eba59edf,2002000016
+02205f62ced54ce7a72f1198eba59edf,2002000015
+02205f62ced54ce7a72f1198eba59edf,2002000011
+02205f62ced54ce7a72f1198eba59edf,2002000010
+02205f62ced54ce7a72f1198eba59edf,2002000009
+02205f62ced54ce7a72f1198eba59edf,2002000008
+02205f62ced54ce7a72f1198eba59edf,2002000007
+02205f62ced54ce7a72f1198eba59edf,2002000005
+02205f62ced54ce7a72f1198eba59edf,2002000004
+02205f62ced54ce7a72f1198eba59edf,2002000003
+02205f62ced54ce7a72f1198eba59edf,2001060129
+02205f62ced54ce7a72f1198eba59edf,2001030127
+02205f62ced54ce7a72f1198eba59edf,2001020098
+02205f62ced54ce7a72f1198eba59edf,2001020097
+02205f62ced54ce7a72f1198eba59edf,2001020061
+02205f62ced54ce7a72f1198eba59edf,2001020058
+02205f62ced54ce7a72f1198eba59edf,2001020056
+02205f62ced54ce7a72f1198eba59edf,2001020055
+02205f62ced54ce7a72f1198eba59edf,2001020049
+02205f62ced54ce7a72f1198eba59edf,2001020047
+02205f62ced54ce7a72f1198eba59edf,2001020039
+02205f62ced54ce7a72f1198eba59edf,2001020008
+02205f62ced54ce7a72f1198eba59edf,2001000101
+02205f62ced54ce7a72f1198eba59edf,2001000100
+02205f62ced54ce7a72f1198eba59edf,2001000096
+02205f62ced54ce7a72f1198eba59edf,2001000095
+02205f62ced54ce7a72f1198eba59edf,2001000094
+02205f62ced54ce7a72f1198eba59edf,2001000093
+02205f62ced54ce7a72f1198eba59edf,2001000092
+02205f62ced54ce7a72f1198eba59edf,2001000091
+02205f62ced54ce7a72f1198eba59edf,2001000090
+02205f62ced54ce7a72f1198eba59edf,2001000089
+02205f62ced54ce7a72f1198eba59edf,2001000088
+02205f62ced54ce7a72f1198eba59edf,2001000086
+02205f62ced54ce7a72f1198eba59edf,2001000085
+02205f62ced54ce7a72f1198eba59edf,2001000084
+02205f62ced54ce7a72f1198eba59edf,2001000083
+02205f62ced54ce7a72f1198eba59edf,2001000082
+02205f62ced54ce7a72f1198eba59edf,2001000081
+02205f62ced54ce7a72f1198eba59edf,2001000080
+02205f62ced54ce7a72f1198eba59edf,2001000079
+02205f62ced54ce7a72f1198eba59edf,2001000078
+02205f62ced54ce7a72f1198eba59edf,2001000077
+02205f62ced54ce7a72f1198eba59edf,2001000076
+02205f62ced54ce7a72f1198eba59edf,2001000075
+02205f62ced54ce7a72f1198eba59edf,2001000074
+02205f62ced54ce7a72f1198eba59edf,2001000073
+02205f62ced54ce7a72f1198eba59edf,2001000072
+02205f62ced54ce7a72f1198eba59edf,2001000071
+02205f62ced54ce7a72f1198eba59edf,2001000070
+02205f62ced54ce7a72f1198eba59edf,2001000069
+02205f62ced54ce7a72f1198eba59edf,2001000068
+02205f62ced54ce7a72f1198eba59edf,2001000067
+02205f62ced54ce7a72f1198eba59edf,2001000066
+02205f62ced54ce7a72f1198eba59edf,2001000065
+02205f62ced54ce7a72f1198eba59edf,2001000064
+02205f62ced54ce7a72f1198eba59edf,2001000063
+02205f62ced54ce7a72f1198eba59edf,2001000062
+02205f62ced54ce7a72f1198eba59edf,2001000060
+02205f62ced54ce7a72f1198eba59edf,2001000059
+02205f62ced54ce7a72f1198eba59edf,2001000057
+02205f62ced54ce7a72f1198eba59edf,2001000054
+02205f62ced54ce7a72f1198eba59edf,2001000053
+02205f62ced54ce7a72f1198eba59edf,2001000052
+02205f62ced54ce7a72f1198eba59edf,2001000051
+02205f62ced54ce7a72f1198eba59edf,2001000050
+02205f62ced54ce7a72f1198eba59edf,2001000048
+02205f62ced54ce7a72f1198eba59edf,2001000046
+02205f62ced54ce7a72f1198eba59edf,2001000045
+02205f62ced54ce7a72f1198eba59edf,2001000044
+02205f62ced54ce7a72f1198eba59edf,2001000043
+02205f62ced54ce7a72f1198eba59edf,2001000042
+02205f62ced54ce7a72f1198eba59edf,2001000040
+02205f62ced54ce7a72f1198eba59edf,2001000038
+02205f62ced54ce7a72f1198eba59edf,2001000037
+02205f62ced54ce7a72f1198eba59edf,2001000035
+02205f62ced54ce7a72f1198eba59edf,2001000034
+02205f62ced54ce7a72f1198eba59edf,2001000033
+02205f62ced54ce7a72f1198eba59edf,2001000032
+02205f62ced54ce7a72f1198eba59edf,2001000031
+02205f62ced54ce7a72f1198eba59edf,2001000030
+02205f62ced54ce7a72f1198eba59edf,2001000029
+02205f62ced54ce7a72f1198eba59edf,2001000028
+02205f62ced54ce7a72f1198eba59edf,2001000027
+02205f62ced54ce7a72f1198eba59edf,2001000026
+02205f62ced54ce7a72f1198eba59edf,2001000025
+02205f62ced54ce7a72f1198eba59edf,2001000024
+02205f62ced54ce7a72f1198eba59edf,2001000023
+02205f62ced54ce7a72f1198eba59edf,2001000022
+02205f62ced54ce7a72f1198eba59edf,2001000021
+02205f62ced54ce7a72f1198eba59edf,2001000020
+02205f62ced54ce7a72f1198eba59edf,2001000019
+02205f62ced54ce7a72f1198eba59edf,2001000018
+02205f62ced54ce7a72f1198eba59edf,2001000017
+02205f62ced54ce7a72f1198eba59edf,2001000016
+02205f62ced54ce7a72f1198eba59edf,2001000015
+02205f62ced54ce7a72f1198eba59edf,2001000014
+02205f62ced54ce7a72f1198eba59edf,2001000013
+02205f62ced54ce7a72f1198eba59edf,2001000012
+02205f62ced54ce7a72f1198eba59edf,2001000011
+02205f62ced54ce7a72f1198eba59edf,2001000010
+02205f62ced54ce7a72f1198eba59edf,2001000007
+02205f62ced54ce7a72f1198eba59edf,2001000006
+02205f62ced54ce7a72f1198eba59edf,2001000005
+02205f62ced54ce7a72f1198eba59edf,2001000004
+02205f62ced54ce7a72f1198eba59edf,2001000003
+02205f62ced54ce7a72f1198eba59edf,2001000002
+02205f62ced54ce7a72f1198eba59edf,2001000001
+02205f62ced54ce7a72f1198eba59edf,20010
+02205f62ced54ce7a72f1198eba59edf,2000060101
+02205f62ced54ce7a72f1198eba59edf,2000010009
+02205f62ced54ce7a72f1198eba59edf,2000000082
+02205f62ced54ce7a72f1198eba59edf,2000000081
+02205f62ced54ce7a72f1198eba59edf,2000000080
+02205f62ced54ce7a72f1198eba59edf,2000000078
+02205f62ced54ce7a72f1198eba59edf,2000000077
+02205f62ced54ce7a72f1198eba59edf,2000000076
+02205f62ced54ce7a72f1198eba59edf,2000000075
+02205f62ced54ce7a72f1198eba59edf,2000000074
+02205f62ced54ce7a72f1198eba59edf,2000000073
+02205f62ced54ce7a72f1198eba59edf,2000000072
+02205f62ced54ce7a72f1198eba59edf,2000000071
+02205f62ced54ce7a72f1198eba59edf,2000000070
+02205f62ced54ce7a72f1198eba59edf,2000000069
+02205f62ced54ce7a72f1198eba59edf,2000000068
+02205f62ced54ce7a72f1198eba59edf,2000000066
+02205f62ced54ce7a72f1198eba59edf,2000000065
+02205f62ced54ce7a72f1198eba59edf,2000000064
+02205f62ced54ce7a72f1198eba59edf,2000000063
+02205f62ced54ce7a72f1198eba59edf,2000000061
+02205f62ced54ce7a72f1198eba59edf,2000000060
+02205f62ced54ce7a72f1198eba59edf,2000000059
+02205f62ced54ce7a72f1198eba59edf,2000000058
+02205f62ced54ce7a72f1198eba59edf,2000000057
+02205f62ced54ce7a72f1198eba59edf,2000000056
+02205f62ced54ce7a72f1198eba59edf,2000000055
+02205f62ced54ce7a72f1198eba59edf,2000000054
+02205f62ced54ce7a72f1198eba59edf,2000000053
+02205f62ced54ce7a72f1198eba59edf,2000000052
+02205f62ced54ce7a72f1198eba59edf,2000000051
+02205f62ced54ce7a72f1198eba59edf,2000000050
+02205f62ced54ce7a72f1198eba59edf,2000000049
+02205f62ced54ce7a72f1198eba59edf,2000000048
+02205f62ced54ce7a72f1198eba59edf,2000000047
+02205f62ced54ce7a72f1198eba59edf,2000000046
+02205f62ced54ce7a72f1198eba59edf,2000000045
+02205f62ced54ce7a72f1198eba59edf,2000000044
+02205f62ced54ce7a72f1198eba59edf,2000000043
+02205f62ced54ce7a72f1198eba59edf,2000000042
+02205f62ced54ce7a72f1198eba59edf,2000000041
+02205f62ced54ce7a72f1198eba59edf,2000000039
+02205f62ced54ce7a72f1198eba59edf,2000000038
+02205f62ced54ce7a72f1198eba59edf,2000000037
+02205f62ced54ce7a72f1198eba59edf,2000000036
+02205f62ced54ce7a72f1198eba59edf,2000000035
+02205f62ced54ce7a72f1198eba59edf,2000000034
+02205f62ced54ce7a72f1198eba59edf,2000000033
+02205f62ced54ce7a72f1198eba59edf,2000000032
+02205f62ced54ce7a72f1198eba59edf,2000000031
+02205f62ced54ce7a72f1198eba59edf,2000000030
+02205f62ced54ce7a72f1198eba59edf,2000000029
+02205f62ced54ce7a72f1198eba59edf,2000000028
+02205f62ced54ce7a72f1198eba59edf,2000000027
+02205f62ced54ce7a72f1198eba59edf,2000000026
+02205f62ced54ce7a72f1198eba59edf,2000000025
+02205f62ced54ce7a72f1198eba59edf,2000000024
+02205f62ced54ce7a72f1198eba59edf,2000000023
+02205f62ced54ce7a72f1198eba59edf,2000000022
+02205f62ced54ce7a72f1198eba59edf,2000000021
+02205f62ced54ce7a72f1198eba59edf,2000000020
+02205f62ced54ce7a72f1198eba59edf,2000000019
+02205f62ced54ce7a72f1198eba59edf,2000000018
+02205f62ced54ce7a72f1198eba59edf,2000000017
+02205f62ced54ce7a72f1198eba59edf,2000000016
+02205f62ced54ce7a72f1198eba59edf,2000000015
+02205f62ced54ce7a72f1198eba59edf,2000000014
+02205f62ced54ce7a72f1198eba59edf,2000000013
+02205f62ced54ce7a72f1198eba59edf,2000000012
+02205f62ced54ce7a72f1198eba59edf,2000000011
+02205f62ced54ce7a72f1198eba59edf,2000000010
+02205f62ced54ce7a72f1198eba59edf,2000000007
+02205f62ced54ce7a72f1198eba59edf,2000000006
+02205f62ced54ce7a72f1198eba59edf,2000000005
+02205f62ced54ce7a72f1198eba59edf,2000000004
+02205f62ced54ce7a72f1198eba59edf,2000000003
+02205f62ced54ce7a72f1198eba59edf,2000000001
+02205f62ced54ce7a72f1198eba59edf,1999000061
+02205f62ced54ce7a72f1198eba59edf,1999000060
+02205f62ced54ce7a72f1198eba59edf,1999000059
+02205f62ced54ce7a72f1198eba59edf,1999000058
+02205f62ced54ce7a72f1198eba59edf,1999000057
+02205f62ced54ce7a72f1198eba59edf,1999000056
+02205f62ced54ce7a72f1198eba59edf,1999000055
+02205f62ced54ce7a72f1198eba59edf,1999000054
+02205f62ced54ce7a72f1198eba59edf,1999000053
+02205f62ced54ce7a72f1198eba59edf,1999000052
+02205f62ced54ce7a72f1198eba59edf,1999000051
+02205f62ced54ce7a72f1198eba59edf,1999000050
+02205f62ced54ce7a72f1198eba59edf,1999000049
+02205f62ced54ce7a72f1198eba59edf,1999000048
+02205f62ced54ce7a72f1198eba59edf,1999000047
+02205f62ced54ce7a72f1198eba59edf,1999000046
+02205f62ced54ce7a72f1198eba59edf,1999000045
+02205f62ced54ce7a72f1198eba59edf,1999000044
+02205f62ced54ce7a72f1198eba59edf,1999000043
+02205f62ced54ce7a72f1198eba59edf,1999000042
+02205f62ced54ce7a72f1198eba59edf,1999000041
+02205f62ced54ce7a72f1198eba59edf,1999000040
+02205f62ced54ce7a72f1198eba59edf,1999000039
+02205f62ced54ce7a72f1198eba59edf,1999000038
+02205f62ced54ce7a72f1198eba59edf,1999000037
+02205f62ced54ce7a72f1198eba59edf,1999000036
+02205f62ced54ce7a72f1198eba59edf,1999000035
+02205f62ced54ce7a72f1198eba59edf,1999000034
+02205f62ced54ce7a72f1198eba59edf,1999000033
+02205f62ced54ce7a72f1198eba59edf,1999000032
+02205f62ced54ce7a72f1198eba59edf,1999000031
+02205f62ced54ce7a72f1198eba59edf,1999000030
+02205f62ced54ce7a72f1198eba59edf,1999000029
+02205f62ced54ce7a72f1198eba59edf,1999000028
+02205f62ced54ce7a72f1198eba59edf,1999000027
+02205f62ced54ce7a72f1198eba59edf,1999000026
+02205f62ced54ce7a72f1198eba59edf,1999000025
+02205f62ced54ce7a72f1198eba59edf,1999000024
+02205f62ced54ce7a72f1198eba59edf,1999000023
+02205f62ced54ce7a72f1198eba59edf,1999000022
+02205f62ced54ce7a72f1198eba59edf,1999000021
+02205f62ced54ce7a72f1198eba59edf,1999000020
+02205f62ced54ce7a72f1198eba59edf,1999000019
+02205f62ced54ce7a72f1198eba59edf,1999000018
+02205f62ced54ce7a72f1198eba59edf,1999000017
+02205f62ced54ce7a72f1198eba59edf,1999000016
+02205f62ced54ce7a72f1198eba59edf,1999000015
+02205f62ced54ce7a72f1198eba59edf,1999000013
+02205f62ced54ce7a72f1198eba59edf,1999000012
+02205f62ced54ce7a72f1198eba59edf,1999000011
+02205f62ced54ce7a72f1198eba59edf,1999000010
+02205f62ced54ce7a72f1198eba59edf,1999000009
+02205f62ced54ce7a72f1198eba59edf,1999000008
+02205f62ced54ce7a72f1198eba59edf,1999000007
+02205f62ced54ce7a72f1198eba59edf,1999000006
+02205f62ced54ce7a72f1198eba59edf,1999000005
+02205f62ced54ce7a72f1198eba59edf,1999000004
+02205f62ced54ce7a72f1198eba59edf,1999000002
+02205f62ced54ce7a72f1198eba59edf,1999000001
+02205f62ced54ce7a72f1198eba59edf,1998010058
+02205f62ced54ce7a72f1198eba59edf,1998010054
+02205f62ced54ce7a72f1198eba59edf,1998000059
+02205f62ced54ce7a72f1198eba59edf,1998000055
+02205f62ced54ce7a72f1198eba59edf,1998000052
+02205f62ced54ce7a72f1198eba59edf,1998000051
+02205f62ced54ce7a72f1198eba59edf,1998000050
+02205f62ced54ce7a72f1198eba59edf,1998000049
+02205f62ced54ce7a72f1198eba59edf,1998000048
+02205f62ced54ce7a72f1198eba59edf,1998000047
+02205f62ced54ce7a72f1198eba59edf,1998000045
+02205f62ced54ce7a72f1198eba59edf,1998000044
+02205f62ced54ce7a72f1198eba59edf,1998000043
+02205f62ced54ce7a72f1198eba59edf,1998000042
+02205f62ced54ce7a72f1198eba59edf,1998000041
+02205f62ced54ce7a72f1198eba59edf,1998000040
+02205f62ced54ce7a72f1198eba59edf,1998000039
+02205f62ced54ce7a72f1198eba59edf,1998000038
+02205f62ced54ce7a72f1198eba59edf,1998000037
+02205f62ced54ce7a72f1198eba59edf,1998000036
+02205f62ced54ce7a72f1198eba59edf,1998000035
+02205f62ced54ce7a72f1198eba59edf,1998000034
+02205f62ced54ce7a72f1198eba59edf,1998000033
+02205f62ced54ce7a72f1198eba59edf,1998000032
+02205f62ced54ce7a72f1198eba59edf,1998000031
+02205f62ced54ce7a72f1198eba59edf,1998000030
+02205f62ced54ce7a72f1198eba59edf,1998000029
+02205f62ced54ce7a72f1198eba59edf,1998000028
+02205f62ced54ce7a72f1198eba59edf,1998000027
+02205f62ced54ce7a72f1198eba59edf,1998000026
+02205f62ced54ce7a72f1198eba59edf,1998000025
+02205f62ced54ce7a72f1198eba59edf,1998000024
+02205f62ced54ce7a72f1198eba59edf,1998000023
+02205f62ced54ce7a72f1198eba59edf,1998000022
+02205f62ced54ce7a72f1198eba59edf,1998000021
+02205f62ced54ce7a72f1198eba59edf,1998000020
+02205f62ced54ce7a72f1198eba59edf,1998000019
+02205f62ced54ce7a72f1198eba59edf,1998000018
+02205f62ced54ce7a72f1198eba59edf,1998000017
+02205f62ced54ce7a72f1198eba59edf,1998000016
+02205f62ced54ce7a72f1198eba59edf,1998000015
+02205f62ced54ce7a72f1198eba59edf,1998000014
+02205f62ced54ce7a72f1198eba59edf,1998000013
+02205f62ced54ce7a72f1198eba59edf,1998000012
+02205f62ced54ce7a72f1198eba59edf,1998000011
+02205f62ced54ce7a72f1198eba59edf,1998000010
+02205f62ced54ce7a72f1198eba59edf,1998000009
+02205f62ced54ce7a72f1198eba59edf,1998000008
+02205f62ced54ce7a72f1198eba59edf,1998000007
+02205f62ced54ce7a72f1198eba59edf,1998000005
+02205f62ced54ce7a72f1198eba59edf,1998000003
+02205f62ced54ce7a72f1198eba59edf,1998000001
+02205f62ced54ce7a72f1198eba59edf,1997010109
+02205f62ced54ce7a72f1198eba59edf,1997010108
+02205f62ced54ce7a72f1198eba59edf,1997010105
+02205f62ced54ce7a72f1198eba59edf,1997010104
+02205f62ced54ce7a72f1198eba59edf,1997010103
+02205f62ced54ce7a72f1198eba59edf,1997010102
+02205f62ced54ce7a72f1198eba59edf,1997010078
+02205f62ced54ce7a72f1198eba59edf,1997010077
+02205f62ced54ce7a72f1198eba59edf,1997010074
+02205f62ced54ce7a72f1198eba59edf,1997010065
+02205f62ced54ce7a72f1198eba59edf,1997010053
+02205f62ced54ce7a72f1198eba59edf,1997010024
+02205f62ced54ce7a72f1198eba59edf,1997010022
+02205f62ced54ce7a72f1198eba59edf,1997000107
+02205f62ced54ce7a72f1198eba59edf,1997000106
+02205f62ced54ce7a72f1198eba59edf,1997000101
+02205f62ced54ce7a72f1198eba59edf,1997000100
+02205f62ced54ce7a72f1198eba59edf,1997000099
+02205f62ced54ce7a72f1198eba59edf,1997000098
+02205f62ced54ce7a72f1198eba59edf,1997000097
+02205f62ced54ce7a72f1198eba59edf,1997000096
+02205f62ced54ce7a72f1198eba59edf,1997000095
+02205f62ced54ce7a72f1198eba59edf,1997000093
+02205f62ced54ce7a72f1198eba59edf,1997000092
+02205f62ced54ce7a72f1198eba59edf,1997000091
+02205f62ced54ce7a72f1198eba59edf,1997000090
+02205f62ced54ce7a72f1198eba59edf,1997000089
+02205f62ced54ce7a72f1198eba59edf,1997000088
+02205f62ced54ce7a72f1198eba59edf,1997000086
+02205f62ced54ce7a72f1198eba59edf,1997000085
+02205f62ced54ce7a72f1198eba59edf,1997000084
+02205f62ced54ce7a72f1198eba59edf,1997000083
+02205f62ced54ce7a72f1198eba59edf,1997000082
+02205f62ced54ce7a72f1198eba59edf,1997000081
+02205f62ced54ce7a72f1198eba59edf,1997000080
+02205f62ced54ce7a72f1198eba59edf,1997000079
+02205f62ced54ce7a72f1198eba59edf,1997000076
+02205f62ced54ce7a72f1198eba59edf,1997000075
+02205f62ced54ce7a72f1198eba59edf,1997000073
+02205f62ced54ce7a72f1198eba59edf,1997000072
+02205f62ced54ce7a72f1198eba59edf,1997000071
+02205f62ced54ce7a72f1198eba59edf,1997000070
+02205f62ced54ce7a72f1198eba59edf,1997000069
+02205f62ced54ce7a72f1198eba59edf,1997000068
+02205f62ced54ce7a72f1198eba59edf,1997000067
+02205f62ced54ce7a72f1198eba59edf,1997000066
+02205f62ced54ce7a72f1198eba59edf,1997000064
+02205f62ced54ce7a72f1198eba59edf,1997000063
+02205f62ced54ce7a72f1198eba59edf,1997000062
+02205f62ced54ce7a72f1198eba59edf,1997000061
+02205f62ced54ce7a72f1198eba59edf,1997000060
+02205f62ced54ce7a72f1198eba59edf,1997000058
+02205f62ced54ce7a72f1198eba59edf,1997000057
+02205f62ced54ce7a72f1198eba59edf,1997000056
+02205f62ced54ce7a72f1198eba59edf,1997000055
+02205f62ced54ce7a72f1198eba59edf,1997000054
+02205f62ced54ce7a72f1198eba59edf,1997000052
+02205f62ced54ce7a72f1198eba59edf,1997000050
+02205f62ced54ce7a72f1198eba59edf,1997000048
+02205f62ced54ce7a72f1198eba59edf,1997000047
+02205f62ced54ce7a72f1198eba59edf,1997000046
+02205f62ced54ce7a72f1198eba59edf,1997000045
+02205f62ced54ce7a72f1198eba59edf,1997000044
+02205f62ced54ce7a72f1198eba59edf,1997000043
+02205f62ced54ce7a72f1198eba59edf,1997000042
+02205f62ced54ce7a72f1198eba59edf,1997000041
+02205f62ced54ce7a72f1198eba59edf,1997000040
+02205f62ced54ce7a72f1198eba59edf,1997000039
+02205f62ced54ce7a72f1198eba59edf,1997000038
+02205f62ced54ce7a72f1198eba59edf,1997000036
+02205f62ced54ce7a72f1198eba59edf,1997000035
+02205f62ced54ce7a72f1198eba59edf,1997000034
+02205f62ced54ce7a72f1198eba59edf,1997000033
+02205f62ced54ce7a72f1198eba59edf,1997000032
+02205f62ced54ce7a72f1198eba59edf,1997000031
+02205f62ced54ce7a72f1198eba59edf,1997000030
+02205f62ced54ce7a72f1198eba59edf,1997000029
+02205f62ced54ce7a72f1198eba59edf,1997000028
+02205f62ced54ce7a72f1198eba59edf,1997000026
+02205f62ced54ce7a72f1198eba59edf,1997000023
+02205f62ced54ce7a72f1198eba59edf,1997000019
+02205f62ced54ce7a72f1198eba59edf,1997000018
+02205f62ced54ce7a72f1198eba59edf,1997000017
+02205f62ced54ce7a72f1198eba59edf,1997000016
+02205f62ced54ce7a72f1198eba59edf,1997000015
+02205f62ced54ce7a72f1198eba59edf,1997000014
+02205f62ced54ce7a72f1198eba59edf,1997000013
+02205f62ced54ce7a72f1198eba59edf,1997000012
+02205f62ced54ce7a72f1198eba59edf,1997000010
+02205f62ced54ce7a72f1198eba59edf,1997000009
+02205f62ced54ce7a72f1198eba59edf,1997000007
+02205f62ced54ce7a72f1198eba59edf,1997000006
+02205f62ced54ce7a72f1198eba59edf,1997000005
+02205f62ced54ce7a72f1198eba59edf,1997000004
+02205f62ced54ce7a72f1198eba59edf,1997000003
+02205f62ced54ce7a72f1198eba59edf,1997000002
+02205f62ced54ce7a72f1198eba59edf,1997000001
+02205f62ced54ce7a72f1198eba59edf,1996010109
+02205f62ced54ce7a72f1198eba59edf,1996010106
+02205f62ced54ce7a72f1198eba59edf,1996010103
+02205f62ced54ce7a72f1198eba59edf,1996010098
+02205f62ced54ce7a72f1198eba59edf,1996010097
+02205f62ced54ce7a72f1198eba59edf,1996010089
+02205f62ced54ce7a72f1198eba59edf,1996010085
+02205f62ced54ce7a72f1198eba59edf,1996010078
+02205f62ced54ce7a72f1198eba59edf,1996010077
+02205f62ced54ce7a72f1198eba59edf,1996010076
+02205f62ced54ce7a72f1198eba59edf,1996000112
+02205f62ced54ce7a72f1198eba59edf,1996000111
+02205f62ced54ce7a72f1198eba59edf,1996000110
+02205f62ced54ce7a72f1198eba59edf,1996000108
+02205f62ced54ce7a72f1198eba59edf,1996000107
+02205f62ced54ce7a72f1198eba59edf,1996000105
+02205f62ced54ce7a72f1198eba59edf,1996000104
+02205f62ced54ce7a72f1198eba59edf,1996000102
+02205f62ced54ce7a72f1198eba59edf,1996000101
+02205f62ced54ce7a72f1198eba59edf,1996000100
+02205f62ced54ce7a72f1198eba59edf,1996000094
+02205f62ced54ce7a72f1198eba59edf,1996000093
+02205f62ced54ce7a72f1198eba59edf,1996000092
+02205f62ced54ce7a72f1198eba59edf,1996000091
+02205f62ced54ce7a72f1198eba59edf,1996000088
+02205f62ced54ce7a72f1198eba59edf,1996000087
+02205f62ced54ce7a72f1198eba59edf,1996000086
+02205f62ced54ce7a72f1198eba59edf,1996000084
+02205f62ced54ce7a72f1198eba59edf,1996000083
+02205f62ced54ce7a72f1198eba59edf,1996000082
+02205f62ced54ce7a72f1198eba59edf,1996000081
+02205f62ced54ce7a72f1198eba59edf,1996000080
+02205f62ced54ce7a72f1198eba59edf,1996000079
+02205f62ced54ce7a72f1198eba59edf,1996000075
+02205f62ced54ce7a72f1198eba59edf,1996000074
+02205f62ced54ce7a72f1198eba59edf,1996000073
+02205f62ced54ce7a72f1198eba59edf,1996000072
+02205f62ced54ce7a72f1198eba59edf,1996000071
+02205f62ced54ce7a72f1198eba59edf,1996000070
+02205f62ced54ce7a72f1198eba59edf,1996000069
+02205f62ced54ce7a72f1198eba59edf,1996000068
+02205f62ced54ce7a72f1198eba59edf,1996000067
+02205f62ced54ce7a72f1198eba59edf,1996000066
+02205f62ced54ce7a72f1198eba59edf,1996000065
+02205f62ced54ce7a72f1198eba59edf,1996000064
+02205f62ced54ce7a72f1198eba59edf,1996000063
+02205f62ced54ce7a72f1198eba59edf,1996000062
+02205f62ced54ce7a72f1198eba59edf,1996000060
+02205f62ced54ce7a72f1198eba59edf,1996000059
+02205f62ced54ce7a72f1198eba59edf,1996000058
+02205f62ced54ce7a72f1198eba59edf,1996000057
+02205f62ced54ce7a72f1198eba59edf,1996000056
+02205f62ced54ce7a72f1198eba59edf,1996000055
+02205f62ced54ce7a72f1198eba59edf,1996000054
+02205f62ced54ce7a72f1198eba59edf,1996000053
+02205f62ced54ce7a72f1198eba59edf,1996000052
+02205f62ced54ce7a72f1198eba59edf,1996000051
+02205f62ced54ce7a72f1198eba59edf,1996000050
+02205f62ced54ce7a72f1198eba59edf,1996000049
+02205f62ced54ce7a72f1198eba59edf,1996000048
+02205f62ced54ce7a72f1198eba59edf,1996000047
+02205f62ced54ce7a72f1198eba59edf,1996000046
+02205f62ced54ce7a72f1198eba59edf,1996000045
+02205f62ced54ce7a72f1198eba59edf,1996000044
+02205f62ced54ce7a72f1198eba59edf,1996000043
+02205f62ced54ce7a72f1198eba59edf,1996000042
+02205f62ced54ce7a72f1198eba59edf,1996000041
+02205f62ced54ce7a72f1198eba59edf,1996000040
+02205f62ced54ce7a72f1198eba59edf,1996000039
+02205f62ced54ce7a72f1198eba59edf,1996000038
+02205f62ced54ce7a72f1198eba59edf,1996000037
+02205f62ced54ce7a72f1198eba59edf,1996000036
+02205f62ced54ce7a72f1198eba59edf,1996000035
+02205f62ced54ce7a72f1198eba59edf,1996000034
+02205f62ced54ce7a72f1198eba59edf,1996000033
+02205f62ced54ce7a72f1198eba59edf,1996000032
+02205f62ced54ce7a72f1198eba59edf,1996000030
+02205f62ced54ce7a72f1198eba59edf,1996000029
+02205f62ced54ce7a72f1198eba59edf,1996000028
+02205f62ced54ce7a72f1198eba59edf,1996000027
+02205f62ced54ce7a72f1198eba59edf,1996000026
+02205f62ced54ce7a72f1198eba59edf,1996000025
+02205f62ced54ce7a72f1198eba59edf,1996000022
+02205f62ced54ce7a72f1198eba59edf,1996000021
+02205f62ced54ce7a72f1198eba59edf,1996000020
+02205f62ced54ce7a72f1198eba59edf,1996000019
+02205f62ced54ce7a72f1198eba59edf,1996000018
+02205f62ced54ce7a72f1198eba59edf,1996000017
+02205f62ced54ce7a72f1198eba59edf,1996000016
+02205f62ced54ce7a72f1198eba59edf,1996000015
+02205f62ced54ce7a72f1198eba59edf,1996000014
+02205f62ced54ce7a72f1198eba59edf,1996000013
+02205f62ced54ce7a72f1198eba59edf,1996000012
+02205f62ced54ce7a72f1198eba59edf,1996000011
+02205f62ced54ce7a72f1198eba59edf,1996000010
+02205f62ced54ce7a72f1198eba59edf,1996000009
+02205f62ced54ce7a72f1198eba59edf,1996000008
+02205f62ced54ce7a72f1198eba59edf,1996000006
+02205f62ced54ce7a72f1198eba59edf,1996000005
+02205f62ced54ce7a72f1198eba59edf,1996000003
+02205f62ced54ce7a72f1198eba59edf,1996000002
+02205f62ced54ce7a72f1198eba59edf,1996000001
+02205f62ced54ce7a72f1198eba59edf,1995010136
+02205f62ced54ce7a72f1198eba59edf,1995010134
+02205f62ced54ce7a72f1198eba59edf,1995010046
+02205f62ced54ce7a72f1198eba59edf,1995010028
+02205f62ced54ce7a72f1198eba59edf,1995010027
+02205f62ced54ce7a72f1198eba59edf,1995010026
+02205f62ced54ce7a72f1198eba59edf,1995010021
+02205f62ced54ce7a72f1198eba59edf,1995010019
+02205f62ced54ce7a72f1198eba59edf,1995010018
+02205f62ced54ce7a72f1198eba59edf,1995010017
+02205f62ced54ce7a72f1198eba59edf,1995010012
+02205f62ced54ce7a72f1198eba59edf,1995000147
+02205f62ced54ce7a72f1198eba59edf,1995000146
+02205f62ced54ce7a72f1198eba59edf,1995000145
+02205f62ced54ce7a72f1198eba59edf,1995000143
+02205f62ced54ce7a72f1198eba59edf,1995000142
+02205f62ced54ce7a72f1198eba59edf,1995000140
+02205f62ced54ce7a72f1198eba59edf,1995000139
+02205f62ced54ce7a72f1198eba59edf,1995000137
+02205f62ced54ce7a72f1198eba59edf,1995000135
+02205f62ced54ce7a72f1198eba59edf,1995000133
+02205f62ced54ce7a72f1198eba59edf,1995000132
+02205f62ced54ce7a72f1198eba59edf,1995000131
+02205f62ced54ce7a72f1198eba59edf,1995000130
+02205f62ced54ce7a72f1198eba59edf,1995000128
+02205f62ced54ce7a72f1198eba59edf,1995000127
+02205f62ced54ce7a72f1198eba59edf,1995000125
+02205f62ced54ce7a72f1198eba59edf,1995000124
+02205f62ced54ce7a72f1198eba59edf,1995000123
+02205f62ced54ce7a72f1198eba59edf,1995000122
+02205f62ced54ce7a72f1198eba59edf,1995000121
+02205f62ced54ce7a72f1198eba59edf,1995000120
+02205f62ced54ce7a72f1198eba59edf,1995000119
+02205f62ced54ce7a72f1198eba59edf,1995000118
+02205f62ced54ce7a72f1198eba59edf,1995000117
+02205f62ced54ce7a72f1198eba59edf,1995000116
+02205f62ced54ce7a72f1198eba59edf,1995000115
+02205f62ced54ce7a72f1198eba59edf,1995000114
+02205f62ced54ce7a72f1198eba59edf,1995000113
+02205f62ced54ce7a72f1198eba59edf,1995000112
+02205f62ced54ce7a72f1198eba59edf,1995000111
+02205f62ced54ce7a72f1198eba59edf,1995000110
+02205f62ced54ce7a72f1198eba59edf,1995000109
+02205f62ced54ce7a72f1198eba59edf,1995000108
+02205f62ced54ce7a72f1198eba59edf,1995000107
+02205f62ced54ce7a72f1198eba59edf,1995000106
+02205f62ced54ce7a72f1198eba59edf,1995000105
+02205f62ced54ce7a72f1198eba59edf,1995000103
+02205f62ced54ce7a72f1198eba59edf,1995000102
+02205f62ced54ce7a72f1198eba59edf,1995000101
+02205f62ced54ce7a72f1198eba59edf,1995000100
+02205f62ced54ce7a72f1198eba59edf,1995000099
+02205f62ced54ce7a72f1198eba59edf,1995000098
+02205f62ced54ce7a72f1198eba59edf,1995000097
+02205f62ced54ce7a72f1198eba59edf,1995000096
+02205f62ced54ce7a72f1198eba59edf,1995000095
+02205f62ced54ce7a72f1198eba59edf,1995000094
+02205f62ced54ce7a72f1198eba59edf,1995000093
+02205f62ced54ce7a72f1198eba59edf,1995000092
+02205f62ced54ce7a72f1198eba59edf,1995000091
+02205f62ced54ce7a72f1198eba59edf,1995000090
+02205f62ced54ce7a72f1198eba59edf,1995000089
+02205f62ced54ce7a72f1198eba59edf,1995000088
+02205f62ced54ce7a72f1198eba59edf,1995000087
+02205f62ced54ce7a72f1198eba59edf,1995000086
+02205f62ced54ce7a72f1198eba59edf,1995000085
+02205f62ced54ce7a72f1198eba59edf,1995000084
+02205f62ced54ce7a72f1198eba59edf,1995000083
+02205f62ced54ce7a72f1198eba59edf,1995000082
+02205f62ced54ce7a72f1198eba59edf,1995000081
+02205f62ced54ce7a72f1198eba59edf,1995000079
+02205f62ced54ce7a72f1198eba59edf,1995000078
+02205f62ced54ce7a72f1198eba59edf,1995000077
+02205f62ced54ce7a72f1198eba59edf,1995000076
+02205f62ced54ce7a72f1198eba59edf,1995000075
+02205f62ced54ce7a72f1198eba59edf,1995000074
+02205f62ced54ce7a72f1198eba59edf,1995000073
+02205f62ced54ce7a72f1198eba59edf,1995000072
+02205f62ced54ce7a72f1198eba59edf,1995000071
+02205f62ced54ce7a72f1198eba59edf,1995000070
+02205f62ced54ce7a72f1198eba59edf,1995000069
+02205f62ced54ce7a72f1198eba59edf,1995000068
+02205f62ced54ce7a72f1198eba59edf,1995000067
+02205f62ced54ce7a72f1198eba59edf,1995000066
+02205f62ced54ce7a72f1198eba59edf,1995000065
+02205f62ced54ce7a72f1198eba59edf,1995000064
+02205f62ced54ce7a72f1198eba59edf,1995000063
+02205f62ced54ce7a72f1198eba59edf,1995000062
+02205f62ced54ce7a72f1198eba59edf,1995000061
+02205f62ced54ce7a72f1198eba59edf,1995000060
+02205f62ced54ce7a72f1198eba59edf,1995000059
+02205f62ced54ce7a72f1198eba59edf,1995000057
+02205f62ced54ce7a72f1198eba59edf,1995000056
+02205f62ced54ce7a72f1198eba59edf,1995000055
+02205f62ced54ce7a72f1198eba59edf,1995000054
+02205f62ced54ce7a72f1198eba59edf,1995000052
+02205f62ced54ce7a72f1198eba59edf,1995000050
+02205f62ced54ce7a72f1198eba59edf,1995000049
+02205f62ced54ce7a72f1198eba59edf,1995000048
+02205f62ced54ce7a72f1198eba59edf,1995000047
+02205f62ced54ce7a72f1198eba59edf,1995000045
+02205f62ced54ce7a72f1198eba59edf,1995000044
+02205f62ced54ce7a72f1198eba59edf,1995000043
+02205f62ced54ce7a72f1198eba59edf,1995000042
+02205f62ced54ce7a72f1198eba59edf,1995000041
+02205f62ced54ce7a72f1198eba59edf,1995000040
+02205f62ced54ce7a72f1198eba59edf,1995000039
+02205f62ced54ce7a72f1198eba59edf,1995000038
+02205f62ced54ce7a72f1198eba59edf,1995000036
+02205f62ced54ce7a72f1198eba59edf,1995000035
+02205f62ced54ce7a72f1198eba59edf,1995000034
+02205f62ced54ce7a72f1198eba59edf,1995000033
+02205f62ced54ce7a72f1198eba59edf,1995000032
+02205f62ced54ce7a72f1198eba59edf,1995000031
+02205f62ced54ce7a72f1198eba59edf,1995000030
+02205f62ced54ce7a72f1198eba59edf,1995000029
+02205f62ced54ce7a72f1198eba59edf,1995000025
+02205f62ced54ce7a72f1198eba59edf,1995000024
+02205f62ced54ce7a72f1198eba59edf,1995000023
+02205f62ced54ce7a72f1198eba59edf,1995000020
+02205f62ced54ce7a72f1198eba59edf,1995000016
+02205f62ced54ce7a72f1198eba59edf,1995000015
+02205f62ced54ce7a72f1198eba59edf,1995000013
+02205f62ced54ce7a72f1198eba59edf,1995000011
+02205f62ced54ce7a72f1198eba59edf,1995000008
+02205f62ced54ce7a72f1198eba59edf,1995000007
+02205f62ced54ce7a72f1198eba59edf,1995000004
+02205f62ced54ce7a72f1198eba59edf,1995000003
+02205f62ced54ce7a72f1198eba59edf,1995000002
+02205f62ced54ce7a72f1198eba59edf,1995000001
+02205f62ced54ce7a72f1198eba59edf,1994010102
+02205f62ced54ce7a72f1198eba59edf,1994010093
+02205f62ced54ce7a72f1198eba59edf,1994000103
+02205f62ced54ce7a72f1198eba59edf,1994000098
+02205f62ced54ce7a72f1198eba59edf,1994000097
+02205f62ced54ce7a72f1198eba59edf,1994000094
+02205f62ced54ce7a72f1198eba59edf,1994000092
+02205f62ced54ce7a72f1198eba59edf,1994000091
+02205f62ced54ce7a72f1198eba59edf,1994000089
+02205f62ced54ce7a72f1198eba59edf,1994000088
+02205f62ced54ce7a72f1198eba59edf,1994000087
+02205f62ced54ce7a72f1198eba59edf,1994000084
+02205f62ced54ce7a72f1198eba59edf,1994000083
+02205f62ced54ce7a72f1198eba59edf,1994000082
+02205f62ced54ce7a72f1198eba59edf,1994000081
+02205f62ced54ce7a72f1198eba59edf,1994000080
+02205f62ced54ce7a72f1198eba59edf,1994000079
+02205f62ced54ce7a72f1198eba59edf,1994000078
+02205f62ced54ce7a72f1198eba59edf,1994000077
+02205f62ced54ce7a72f1198eba59edf,1994000076
+02205f62ced54ce7a72f1198eba59edf,1994000075
+02205f62ced54ce7a72f1198eba59edf,1994000074
+02205f62ced54ce7a72f1198eba59edf,1994000073
+02205f62ced54ce7a72f1198eba59edf,1994000072
+02205f62ced54ce7a72f1198eba59edf,1994000071
+02205f62ced54ce7a72f1198eba59edf,1994000070
+02205f62ced54ce7a72f1198eba59edf,1994000069
+02205f62ced54ce7a72f1198eba59edf,1994000068
+02205f62ced54ce7a72f1198eba59edf,1994000067
+02205f62ced54ce7a72f1198eba59edf,1994000066
+02205f62ced54ce7a72f1198eba59edf,1994000065
+02205f62ced54ce7a72f1198eba59edf,1994000064
+02205f62ced54ce7a72f1198eba59edf,1994000063
+02205f62ced54ce7a72f1198eba59edf,1994000062
+02205f62ced54ce7a72f1198eba59edf,1994000061
+02205f62ced54ce7a72f1198eba59edf,1994000060
+02205f62ced54ce7a72f1198eba59edf,1994000059
+02205f62ced54ce7a72f1198eba59edf,1994000058
+02205f62ced54ce7a72f1198eba59edf,1994000057
+02205f62ced54ce7a72f1198eba59edf,1994000056
+02205f62ced54ce7a72f1198eba59edf,1994000054
+02205f62ced54ce7a72f1198eba59edf,1994000053
+02205f62ced54ce7a72f1198eba59edf,1994000052
+02205f62ced54ce7a72f1198eba59edf,1994000051
+02205f62ced54ce7a72f1198eba59edf,1994000050
+02205f62ced54ce7a72f1198eba59edf,1994000049
+02205f62ced54ce7a72f1198eba59edf,1994000048
+02205f62ced54ce7a72f1198eba59edf,1994000047
+02205f62ced54ce7a72f1198eba59edf,1994000046
+02205f62ced54ce7a72f1198eba59edf,1994000045
+02205f62ced54ce7a72f1198eba59edf,1994000044
+02205f62ced54ce7a72f1198eba59edf,1994000043
+02205f62ced54ce7a72f1198eba59edf,1994000042
+02205f62ced54ce7a72f1198eba59edf,1994000041
+02205f62ced54ce7a72f1198eba59edf,1994000040
+02205f62ced54ce7a72f1198eba59edf,1994000039
+02205f62ced54ce7a72f1198eba59edf,1994000038
+02205f62ced54ce7a72f1198eba59edf,1994000037
+02205f62ced54ce7a72f1198eba59edf,1994000036
+02205f62ced54ce7a72f1198eba59edf,1994000035
+02205f62ced54ce7a72f1198eba59edf,1994000034
+02205f62ced54ce7a72f1198eba59edf,1994000033
+02205f62ced54ce7a72f1198eba59edf,1994000032
+02205f62ced54ce7a72f1198eba59edf,1994000031
+02205f62ced54ce7a72f1198eba59edf,1994000030
+02205f62ced54ce7a72f1198eba59edf,1994000029
+02205f62ced54ce7a72f1198eba59edf,1994000027
+02205f62ced54ce7a72f1198eba59edf,1994000025
+02205f62ced54ce7a72f1198eba59edf,1994000024
+02205f62ced54ce7a72f1198eba59edf,1994000023
+02205f62ced54ce7a72f1198eba59edf,1994000022
+02205f62ced54ce7a72f1198eba59edf,1994000021
+02205f62ced54ce7a72f1198eba59edf,1994000020
+02205f62ced54ce7a72f1198eba59edf,1994000019
+02205f62ced54ce7a72f1198eba59edf,1994000018
+02205f62ced54ce7a72f1198eba59edf,1994000017
+02205f62ced54ce7a72f1198eba59edf,1994000016
+02205f62ced54ce7a72f1198eba59edf,1994000015
+02205f62ced54ce7a72f1198eba59edf,1994000014
+02205f62ced54ce7a72f1198eba59edf,1994000013
+02205f62ced54ce7a72f1198eba59edf,1994000012
+02205f62ced54ce7a72f1198eba59edf,1994000011
+02205f62ced54ce7a72f1198eba59edf,1994000010
+02205f62ced54ce7a72f1198eba59edf,1994000009
+02205f62ced54ce7a72f1198eba59edf,1994000008
+02205f62ced54ce7a72f1198eba59edf,1994000007
+02205f62ced54ce7a72f1198eba59edf,1994000002
+02205f62ced54ce7a72f1198eba59edf,1993010108
+02205f62ced54ce7a72f1198eba59edf,1993010099
+02205f62ced54ce7a72f1198eba59edf,1993010006
+02205f62ced54ce7a72f1198eba59edf,1993010001
+02205f62ced54ce7a72f1198eba59edf,1993000115
+02205f62ced54ce7a72f1198eba59edf,1993000114
+02205f62ced54ce7a72f1198eba59edf,1993000113
+02205f62ced54ce7a72f1198eba59edf,1993000111
+02205f62ced54ce7a72f1198eba59edf,1993000110
+02205f62ced54ce7a72f1198eba59edf,1993000109
+02205f62ced54ce7a72f1198eba59edf,1993000105
+02205f62ced54ce7a72f1198eba59edf,1993000104
+02205f62ced54ce7a72f1198eba59edf,1993000100
+02205f62ced54ce7a72f1198eba59edf,1993000097
+02205f62ced54ce7a72f1198eba59edf,1993000096
+02205f62ced54ce7a72f1198eba59edf,1993000095
+02205f62ced54ce7a72f1198eba59edf,1993000094
+02205f62ced54ce7a72f1198eba59edf,1993000093
+02205f62ced54ce7a72f1198eba59edf,1993000091
+02205f62ced54ce7a72f1198eba59edf,1993000090
+02205f62ced54ce7a72f1198eba59edf,1993000089
+02205f62ced54ce7a72f1198eba59edf,1993000088
+02205f62ced54ce7a72f1198eba59edf,1993000087
+02205f62ced54ce7a72f1198eba59edf,1993000086
+02205f62ced54ce7a72f1198eba59edf,1993000085
+02205f62ced54ce7a72f1198eba59edf,1993000084
+02205f62ced54ce7a72f1198eba59edf,1993000083
+02205f62ced54ce7a72f1198eba59edf,1993000082
+02205f62ced54ce7a72f1198eba59edf,1993000081
+02205f62ced54ce7a72f1198eba59edf,1993000080
+02205f62ced54ce7a72f1198eba59edf,1993000079
+02205f62ced54ce7a72f1198eba59edf,1993000078
+02205f62ced54ce7a72f1198eba59edf,1993000077
+02205f62ced54ce7a72f1198eba59edf,1993000076
+02205f62ced54ce7a72f1198eba59edf,1993000075
+02205f62ced54ce7a72f1198eba59edf,1993000074
+02205f62ced54ce7a72f1198eba59edf,1993000073
+02205f62ced54ce7a72f1198eba59edf,1993000072
+02205f62ced54ce7a72f1198eba59edf,1993000071
+02205f62ced54ce7a72f1198eba59edf,1993000070
+02205f62ced54ce7a72f1198eba59edf,1993000069
+02205f62ced54ce7a72f1198eba59edf,1993000068
+02205f62ced54ce7a72f1198eba59edf,1993000067
+02205f62ced54ce7a72f1198eba59edf,1993000066
+02205f62ced54ce7a72f1198eba59edf,1993000065
+02205f62ced54ce7a72f1198eba59edf,1993000064
+02205f62ced54ce7a72f1198eba59edf,1993000063
+02205f62ced54ce7a72f1198eba59edf,1993000062
+02205f62ced54ce7a72f1198eba59edf,1993000061
+02205f62ced54ce7a72f1198eba59edf,1993000060
+02205f62ced54ce7a72f1198eba59edf,1993000059
+02205f62ced54ce7a72f1198eba59edf,1993000058
+02205f62ced54ce7a72f1198eba59edf,1993000057
+02205f62ced54ce7a72f1198eba59edf,1993000056
+02205f62ced54ce7a72f1198eba59edf,1993000055
+02205f62ced54ce7a72f1198eba59edf,1993000054
+02205f62ced54ce7a72f1198eba59edf,1993000052
+02205f62ced54ce7a72f1198eba59edf,1993000051
+02205f62ced54ce7a72f1198eba59edf,1993000050
+02205f62ced54ce7a72f1198eba59edf,1993000049
+02205f62ced54ce7a72f1198eba59edf,1993000048
+02205f62ced54ce7a72f1198eba59edf,1993000047
+02205f62ced54ce7a72f1198eba59edf,1993000046
+02205f62ced54ce7a72f1198eba59edf,1993000045
+02205f62ced54ce7a72f1198eba59edf,1993000044
+02205f62ced54ce7a72f1198eba59edf,1993000043
+02205f62ced54ce7a72f1198eba59edf,1993000042
+02205f62ced54ce7a72f1198eba59edf,1993000041
+02205f62ced54ce7a72f1198eba59edf,1993000040
+02205f62ced54ce7a72f1198eba59edf,1993000039
+02205f62ced54ce7a72f1198eba59edf,1993000038
+02205f62ced54ce7a72f1198eba59edf,1993000036
+02205f62ced54ce7a72f1198eba59edf,1993000035
+02205f62ced54ce7a72f1198eba59edf,1993000033
+02205f62ced54ce7a72f1198eba59edf,1993000032
+02205f62ced54ce7a72f1198eba59edf,1993000031
+02205f62ced54ce7a72f1198eba59edf,1993000030
+02205f62ced54ce7a72f1198eba59edf,1993000029
+02205f62ced54ce7a72f1198eba59edf,1993000028
+02205f62ced54ce7a72f1198eba59edf,1993000027
+02205f62ced54ce7a72f1198eba59edf,1993000026
+02205f62ced54ce7a72f1198eba59edf,1993000025
+02205f62ced54ce7a72f1198eba59edf,1993000024
+02205f62ced54ce7a72f1198eba59edf,1993000023
+02205f62ced54ce7a72f1198eba59edf,1993000022
+02205f62ced54ce7a72f1198eba59edf,1993000020
+02205f62ced54ce7a72f1198eba59edf,1993000019
+02205f62ced54ce7a72f1198eba59edf,1993000018
+02205f62ced54ce7a72f1198eba59edf,1993000017
+02205f62ced54ce7a72f1198eba59edf,1993000016
+02205f62ced54ce7a72f1198eba59edf,1993000015
+02205f62ced54ce7a72f1198eba59edf,1993000014
+02205f62ced54ce7a72f1198eba59edf,1993000013
+02205f62ced54ce7a72f1198eba59edf,1993000012
+02205f62ced54ce7a72f1198eba59edf,1993000011
+02205f62ced54ce7a72f1198eba59edf,1993000010
+02205f62ced54ce7a72f1198eba59edf,1993000009
+02205f62ced54ce7a72f1198eba59edf,1993000008
+02205f62ced54ce7a72f1198eba59edf,1993000007
+02205f62ced54ce7a72f1198eba59edf,1993000005
+02205f62ced54ce7a72f1198eba59edf,1993000004
+02205f62ced54ce7a72f1198eba59edf,1993000003
+02205f62ced54ce7a72f1198eba59edf,1992010157
+02205f62ced54ce7a72f1198eba59edf,1992010156
+02205f62ced54ce7a72f1198eba59edf,1992010151
+02205f62ced54ce7a72f1198eba59edf,1992010149
+02205f62ced54ce7a72f1198eba59edf,1992010141
+02205f62ced54ce7a72f1198eba59edf,1992010136
+02205f62ced54ce7a72f1198eba59edf,1992010133
+02205f62ced54ce7a72f1198eba59edf,1992010125
+02205f62ced54ce7a72f1198eba59edf,1992010110
+02205f62ced54ce7a72f1198eba59edf,1992010072
+02205f62ced54ce7a72f1198eba59edf,1992010071
+02205f62ced54ce7a72f1198eba59edf,1992010069
+02205f62ced54ce7a72f1198eba59edf,1992010044
+02205f62ced54ce7a72f1198eba59edf,1992010019
+02205f62ced54ce7a72f1198eba59edf,1992010017
+02205f62ced54ce7a72f1198eba59edf,1992010016
+02205f62ced54ce7a72f1198eba59edf,1992010015
+02205f62ced54ce7a72f1198eba59edf,1992010014
+02205f62ced54ce7a72f1198eba59edf,1992010013
+02205f62ced54ce7a72f1198eba59edf,1992010011
+02205f62ced54ce7a72f1198eba59edf,1992010010
+02205f62ced54ce7a72f1198eba59edf,1992010009
+02205f62ced54ce7a72f1198eba59edf,1992010007
+02205f62ced54ce7a72f1198eba59edf,1992010006
+02205f62ced54ce7a72f1198eba59edf,1992010005
+02205f62ced54ce7a72f1198eba59edf,1992010003
+02205f62ced54ce7a72f1198eba59edf,1992010001
+02205f62ced54ce7a72f1198eba59edf,1992000159
+02205f62ced54ce7a72f1198eba59edf,1992000158
+02205f62ced54ce7a72f1198eba59edf,1992000153
+02205f62ced54ce7a72f1198eba59edf,1992000152
+02205f62ced54ce7a72f1198eba59edf,1992000150
+02205f62ced54ce7a72f1198eba59edf,1992000148
+02205f62ced54ce7a72f1198eba59edf,1992000147
+02205f62ced54ce7a72f1198eba59edf,1992000146
+02205f62ced54ce7a72f1198eba59edf,1992000145
+02205f62ced54ce7a72f1198eba59edf,1992000144
+02205f62ced54ce7a72f1198eba59edf,1992000143
+02205f62ced54ce7a72f1198eba59edf,1992000140
+02205f62ced54ce7a72f1198eba59edf,1992000139
+02205f62ced54ce7a72f1198eba59edf,1992000138
+02205f62ced54ce7a72f1198eba59edf,1992000135
+02205f62ced54ce7a72f1198eba59edf,1992000134
+02205f62ced54ce7a72f1198eba59edf,1992000129
+02205f62ced54ce7a72f1198eba59edf,1992000128
+02205f62ced54ce7a72f1198eba59edf,1992000124
+02205f62ced54ce7a72f1198eba59edf,1992000122
+02205f62ced54ce7a72f1198eba59edf,1992000121
+02205f62ced54ce7a72f1198eba59edf,1992000120
+02205f62ced54ce7a72f1198eba59edf,1992000119
+02205f62ced54ce7a72f1198eba59edf,1992000118
+02205f62ced54ce7a72f1198eba59edf,1992000117
+02205f62ced54ce7a72f1198eba59edf,1992000116
+02205f62ced54ce7a72f1198eba59edf,1992000115
+02205f62ced54ce7a72f1198eba59edf,1992000114
+02205f62ced54ce7a72f1198eba59edf,1992000109
+02205f62ced54ce7a72f1198eba59edf,1992000108
+02205f62ced54ce7a72f1198eba59edf,1992000106
+02205f62ced54ce7a72f1198eba59edf,1992000105
+02205f62ced54ce7a72f1198eba59edf,1992000102
+02205f62ced54ce7a72f1198eba59edf,1992000101
+02205f62ced54ce7a72f1198eba59edf,1992000100
+02205f62ced54ce7a72f1198eba59edf,1992000099
+02205f62ced54ce7a72f1198eba59edf,1992000098
+02205f62ced54ce7a72f1198eba59edf,1992000097
+02205f62ced54ce7a72f1198eba59edf,1992000096
+02205f62ced54ce7a72f1198eba59edf,1992000095
+02205f62ced54ce7a72f1198eba59edf,1992000094
+02205f62ced54ce7a72f1198eba59edf,1992000093
+02205f62ced54ce7a72f1198eba59edf,1992000092
+02205f62ced54ce7a72f1198eba59edf,1992000091
+02205f62ced54ce7a72f1198eba59edf,1992000090
+02205f62ced54ce7a72f1198eba59edf,1992000089
+02205f62ced54ce7a72f1198eba59edf,1992000088
+02205f62ced54ce7a72f1198eba59edf,1992000087
+02205f62ced54ce7a72f1198eba59edf,1992000086
+02205f62ced54ce7a72f1198eba59edf,1992000085
+02205f62ced54ce7a72f1198eba59edf,1992000084
+02205f62ced54ce7a72f1198eba59edf,1992000083
+02205f62ced54ce7a72f1198eba59edf,1992000082
+02205f62ced54ce7a72f1198eba59edf,1992000081
+02205f62ced54ce7a72f1198eba59edf,1992000080
+02205f62ced54ce7a72f1198eba59edf,1992000079
+02205f62ced54ce7a72f1198eba59edf,1992000078
+02205f62ced54ce7a72f1198eba59edf,1992000077
+02205f62ced54ce7a72f1198eba59edf,1992000076
+02205f62ced54ce7a72f1198eba59edf,1992000075
+02205f62ced54ce7a72f1198eba59edf,1992000074
+02205f62ced54ce7a72f1198eba59edf,1992000067
+02205f62ced54ce7a72f1198eba59edf,1992000066
+02205f62ced54ce7a72f1198eba59edf,1992000065
+02205f62ced54ce7a72f1198eba59edf,1992000063
+02205f62ced54ce7a72f1198eba59edf,1992000061
+02205f62ced54ce7a72f1198eba59edf,1992000060
+02205f62ced54ce7a72f1198eba59edf,1992000059
+02205f62ced54ce7a72f1198eba59edf,1992000058
+02205f62ced54ce7a72f1198eba59edf,1992000057
+02205f62ced54ce7a72f1198eba59edf,1992000056
+02205f62ced54ce7a72f1198eba59edf,1992000055
+02205f62ced54ce7a72f1198eba59edf,1992000054
+02205f62ced54ce7a72f1198eba59edf,1992000053
+02205f62ced54ce7a72f1198eba59edf,1992000052
+02205f62ced54ce7a72f1198eba59edf,1992000051
+02205f62ced54ce7a72f1198eba59edf,1992000050
+02205f62ced54ce7a72f1198eba59edf,1992000049
+02205f62ced54ce7a72f1198eba59edf,1992000048
+02205f62ced54ce7a72f1198eba59edf,1992000047
+02205f62ced54ce7a72f1198eba59edf,1992000046
+02205f62ced54ce7a72f1198eba59edf,1992000045
+02205f62ced54ce7a72f1198eba59edf,1992000041
+02205f62ced54ce7a72f1198eba59edf,1992000040
+02205f62ced54ce7a72f1198eba59edf,1992000039
+02205f62ced54ce7a72f1198eba59edf,1992000038
+02205f62ced54ce7a72f1198eba59edf,1992000037
+02205f62ced54ce7a72f1198eba59edf,1992000036
+02205f62ced54ce7a72f1198eba59edf,1992000035
+02205f62ced54ce7a72f1198eba59edf,1992000034
+02205f62ced54ce7a72f1198eba59edf,1992000033
+02205f62ced54ce7a72f1198eba59edf,1992000032
+02205f62ced54ce7a72f1198eba59edf,1992000031
+02205f62ced54ce7a72f1198eba59edf,1992000030
+02205f62ced54ce7a72f1198eba59edf,1992000029
+02205f62ced54ce7a72f1198eba59edf,1992000028
+02205f62ced54ce7a72f1198eba59edf,1992000027
+02205f62ced54ce7a72f1198eba59edf,1992000026
+02205f62ced54ce7a72f1198eba59edf,1992000025
+02205f62ced54ce7a72f1198eba59edf,1992000024
+02205f62ced54ce7a72f1198eba59edf,1992000023
+02205f62ced54ce7a72f1198eba59edf,1992000021
+02205f62ced54ce7a72f1198eba59edf,1992000020
+02205f62ced54ce7a72f1198eba59edf,1991010059
+02205f62ced54ce7a72f1198eba59edf,1991010013
+02205f62ced54ce7a72f1198eba59edf,1991000068
+02205f62ced54ce7a72f1198eba59edf,1991000066
+02205f62ced54ce7a72f1198eba59edf,1991000065
+02205f62ced54ce7a72f1198eba59edf,1991000064
+02205f62ced54ce7a72f1198eba59edf,1991000062
+02205f62ced54ce7a72f1198eba59edf,1991000058
+02205f62ced54ce7a72f1198eba59edf,1991000057
+02205f62ced54ce7a72f1198eba59edf,1991000055
+02205f62ced54ce7a72f1198eba59edf,1991000054
+02205f62ced54ce7a72f1198eba59edf,1991000053
+02205f62ced54ce7a72f1198eba59edf,1991000052
+02205f62ced54ce7a72f1198eba59edf,1991000051
+02205f62ced54ce7a72f1198eba59edf,1991000048
+02205f62ced54ce7a72f1198eba59edf,1991000047
+02205f62ced54ce7a72f1198eba59edf,1991000046
+02205f62ced54ce7a72f1198eba59edf,1991000044
+02205f62ced54ce7a72f1198eba59edf,1991000043
+02205f62ced54ce7a72f1198eba59edf,1991000042
+02205f62ced54ce7a72f1198eba59edf,1991000041
+02205f62ced54ce7a72f1198eba59edf,1991000040
+02205f62ced54ce7a72f1198eba59edf,1991000039
+02205f62ced54ce7a72f1198eba59edf,1991000038
+02205f62ced54ce7a72f1198eba59edf,1991000037
+02205f62ced54ce7a72f1198eba59edf,1991000036
+02205f62ced54ce7a72f1198eba59edf,1991000035
+02205f62ced54ce7a72f1198eba59edf,1991000034
+02205f62ced54ce7a72f1198eba59edf,1991000033
+02205f62ced54ce7a72f1198eba59edf,1991000032
+02205f62ced54ce7a72f1198eba59edf,1991000031
+02205f62ced54ce7a72f1198eba59edf,1991000030
+02205f62ced54ce7a72f1198eba59edf,1991000029
+02205f62ced54ce7a72f1198eba59edf,1991000028
+02205f62ced54ce7a72f1198eba59edf,1991000027
+02205f62ced54ce7a72f1198eba59edf,1991000026
+02205f62ced54ce7a72f1198eba59edf,1991000025
+02205f62ced54ce7a72f1198eba59edf,1991000024
+02205f62ced54ce7a72f1198eba59edf,1991000023
+02205f62ced54ce7a72f1198eba59edf,1991000022
+02205f62ced54ce7a72f1198eba59edf,1991000021
+02205f62ced54ce7a72f1198eba59edf,1991000020
+02205f62ced54ce7a72f1198eba59edf,1991000019
+02205f62ced54ce7a72f1198eba59edf,1991000018
+02205f62ced54ce7a72f1198eba59edf,1991000017
+02205f62ced54ce7a72f1198eba59edf,1991000016
+02205f62ced54ce7a72f1198eba59edf,1991000015
+02205f62ced54ce7a72f1198eba59edf,1991000014
+02205f62ced54ce7a72f1198eba59edf,1991000012
+02205f62ced54ce7a72f1198eba59edf,1991000011
+02205f62ced54ce7a72f1198eba59edf,1991000010
+02205f62ced54ce7a72f1198eba59edf,1991000009
+02205f62ced54ce7a72f1198eba59edf,1991000008
+02205f62ced54ce7a72f1198eba59edf,1991000007
+02205f62ced54ce7a72f1198eba59edf,1991000006
+02205f62ced54ce7a72f1198eba59edf,1991000005
+02205f62ced54ce7a72f1198eba59edf,1991000004
+02205f62ced54ce7a72f1198eba59edf,1991000003
+02205f62ced54ce7a72f1198eba59edf,1991000002
+02205f62ced54ce7a72f1198eba59edf,1991000001
+02205f62ced54ce7a72f1198eba59edf,1990010049
+02205f62ced54ce7a72f1198eba59edf,1990010038
+02205f62ced54ce7a72f1198eba59edf,1990010009
+02205f62ced54ce7a72f1198eba59edf,1990010006
+02205f62ced54ce7a72f1198eba59edf,1990010005
+02205f62ced54ce7a72f1198eba59edf,1990010004
+02205f62ced54ce7a72f1198eba59edf,1990000083
+02205f62ced54ce7a72f1198eba59edf,1990000082
+02205f62ced54ce7a72f1198eba59edf,1990000081
+02205f62ced54ce7a72f1198eba59edf,1990000080
+02205f62ced54ce7a72f1198eba59edf,1990000079
+02205f62ced54ce7a72f1198eba59edf,1990000078
+02205f62ced54ce7a72f1198eba59edf,1990000075
+02205f62ced54ce7a72f1198eba59edf,1990000073
+02205f62ced54ce7a72f1198eba59edf,1990000072
+02205f62ced54ce7a72f1198eba59edf,1990000070
+02205f62ced54ce7a72f1198eba59edf,1990000069
+02205f62ced54ce7a72f1198eba59edf,1990000068
+02205f62ced54ce7a72f1198eba59edf,1990000067
+02205f62ced54ce7a72f1198eba59edf,1990000066
+02205f62ced54ce7a72f1198eba59edf,1990000065
+02205f62ced54ce7a72f1198eba59edf,1990000064
+02205f62ced54ce7a72f1198eba59edf,1990000063
+02205f62ced54ce7a72f1198eba59edf,1990000061
+02205f62ced54ce7a72f1198eba59edf,1990000060
+02205f62ced54ce7a72f1198eba59edf,1990000059
+02205f62ced54ce7a72f1198eba59edf,1990000058
+02205f62ced54ce7a72f1198eba59edf,1990000057
+02205f62ced54ce7a72f1198eba59edf,1990000056
+02205f62ced54ce7a72f1198eba59edf,1990000055
+02205f62ced54ce7a72f1198eba59edf,1990000054
+02205f62ced54ce7a72f1198eba59edf,1990000053
+02205f62ced54ce7a72f1198eba59edf,1990000052
+02205f62ced54ce7a72f1198eba59edf,1990000051
+02205f62ced54ce7a72f1198eba59edf,1990000048
+02205f62ced54ce7a72f1198eba59edf,1990000047
+02205f62ced54ce7a72f1198eba59edf,1990000046
+02205f62ced54ce7a72f1198eba59edf,1990000045
+02205f62ced54ce7a72f1198eba59edf,1990000044
+02205f62ced54ce7a72f1198eba59edf,1990000043
+02205f62ced54ce7a72f1198eba59edf,1990000042
+02205f62ced54ce7a72f1198eba59edf,1990000041
+02205f62ced54ce7a72f1198eba59edf,1990000040
+02205f62ced54ce7a72f1198eba59edf,1990000039
+02205f62ced54ce7a72f1198eba59edf,1990000037
+02205f62ced54ce7a72f1198eba59edf,1990000035
+02205f62ced54ce7a72f1198eba59edf,1990000034
+02205f62ced54ce7a72f1198eba59edf,1990000033
+02205f62ced54ce7a72f1198eba59edf,1990000032
+02205f62ced54ce7a72f1198eba59edf,1990000031
+02205f62ced54ce7a72f1198eba59edf,1990000030
+02205f62ced54ce7a72f1198eba59edf,1990000029
+02205f62ced54ce7a72f1198eba59edf,1990000028
+02205f62ced54ce7a72f1198eba59edf,1990000027
+02205f62ced54ce7a72f1198eba59edf,1990000026
+02205f62ced54ce7a72f1198eba59edf,1990000025
+02205f62ced54ce7a72f1198eba59edf,1990000024
+02205f62ced54ce7a72f1198eba59edf,1990000023
+02205f62ced54ce7a72f1198eba59edf,1990000022
+02205f62ced54ce7a72f1198eba59edf,1990000021
+02205f62ced54ce7a72f1198eba59edf,1990000020
+02205f62ced54ce7a72f1198eba59edf,1990000019
+02205f62ced54ce7a72f1198eba59edf,1990000018
+02205f62ced54ce7a72f1198eba59edf,1990000017
+02205f62ced54ce7a72f1198eba59edf,1990000016
+02205f62ced54ce7a72f1198eba59edf,1990000014
+02205f62ced54ce7a72f1198eba59edf,1990000013
+02205f62ced54ce7a72f1198eba59edf,1990000012
+02205f62ced54ce7a72f1198eba59edf,1990000011
+02205f62ced54ce7a72f1198eba59edf,1990000003
+02205f62ced54ce7a72f1198eba59edf,1989010120
+02205f62ced54ce7a72f1198eba59edf,1989010112
+02205f62ced54ce7a72f1198eba59edf,1989010108
+02205f62ced54ce7a72f1198eba59edf,1989010107
+02205f62ced54ce7a72f1198eba59edf,1989010106
+02205f62ced54ce7a72f1198eba59edf,1989010105
+02205f62ced54ce7a72f1198eba59edf,1989010104
+02205f62ced54ce7a72f1198eba59edf,1989010103
+02205f62ced54ce7a72f1198eba59edf,1989010100
+02205f62ced54ce7a72f1198eba59edf,1989010098
+02205f62ced54ce7a72f1198eba59edf,1989010097
+02205f62ced54ce7a72f1198eba59edf,1989010096
+02205f62ced54ce7a72f1198eba59edf,1989010095
+02205f62ced54ce7a72f1198eba59edf,1989010094
+02205f62ced54ce7a72f1198eba59edf,1989010093
+02205f62ced54ce7a72f1198eba59edf,1989010089
+02205f62ced54ce7a72f1198eba59edf,1989010081
+02205f62ced54ce7a72f1198eba59edf,1989010079
+02205f62ced54ce7a72f1198eba59edf,1989010073
+02205f62ced54ce7a72f1198eba59edf,1989010072
+02205f62ced54ce7a72f1198eba59edf,1989010069
+02205f62ced54ce7a72f1198eba59edf,1989010068
+02205f62ced54ce7a72f1198eba59edf,1989010064
+02205f62ced54ce7a72f1198eba59edf,1989010063
+02205f62ced54ce7a72f1198eba59edf,1989000119
+02205f62ced54ce7a72f1198eba59edf,1989000118
+02205f62ced54ce7a72f1198eba59edf,1989000117
+02205f62ced54ce7a72f1198eba59edf,1989000116
+02205f62ced54ce7a72f1198eba59edf,1989000115
+02205f62ced54ce7a72f1198eba59edf,1989000114
+02205f62ced54ce7a72f1198eba59edf,1989000113
+02205f62ced54ce7a72f1198eba59edf,1989000110
+02205f62ced54ce7a72f1198eba59edf,1989000085
+02205f62ced54ce7a72f1198eba59edf,1989000084
+02205f62ced54ce7a72f1198eba59edf,1989000083
+02205f62ced54ce7a72f1198eba59edf,1989000082
+02205f62ced54ce7a72f1198eba59edf,1989000078
+02205f62ced54ce7a72f1198eba59edf,1989000076
+02205f62ced54ce7a72f1198eba59edf,1989000074
+02205f62ced54ce7a72f1198eba59edf,1989000067
+02205f62ced54ce7a72f1198eba59edf,1989000066
+02205f62ced54ce7a72f1198eba59edf,1989000061
+02205f62ced54ce7a72f1198eba59edf,1989000060
+02205f62ced54ce7a72f1198eba59edf,1989000056
+02205f62ced54ce7a72f1198eba59edf,1989000055
+02205f62ced54ce7a72f1198eba59edf,1989000054
+02205f62ced54ce7a72f1198eba59edf,1989000052
+02205f62ced54ce7a72f1198eba59edf,1989000051
+02205f62ced54ce7a72f1198eba59edf,1989000050
+02205f62ced54ce7a72f1198eba59edf,1989000049
+02205f62ced54ce7a72f1198eba59edf,1989000048
+02205f62ced54ce7a72f1198eba59edf,1989000047
+02205f62ced54ce7a72f1198eba59edf,1989000046
+02205f62ced54ce7a72f1198eba59edf,1989000045
+02205f62ced54ce7a72f1198eba59edf,1989000044
+02205f62ced54ce7a72f1198eba59edf,1989000043
+02205f62ced54ce7a72f1198eba59edf,1989000042
+02205f62ced54ce7a72f1198eba59edf,1989000040
+02205f62ced54ce7a72f1198eba59edf,1989000039
+02205f62ced54ce7a72f1198eba59edf,1989000038
+02205f62ced54ce7a72f1198eba59edf,1989000037
+02205f62ced54ce7a72f1198eba59edf,1989000036
+02205f62ced54ce7a72f1198eba59edf,1989000035
+02205f62ced54ce7a72f1198eba59edf,1989000034
+02205f62ced54ce7a72f1198eba59edf,1989000032
+02205f62ced54ce7a72f1198eba59edf,1989000031
+02205f62ced54ce7a72f1198eba59edf,1989000030
+02205f62ced54ce7a72f1198eba59edf,1989000029
+02205f62ced54ce7a72f1198eba59edf,1989000028
+02205f62ced54ce7a72f1198eba59edf,1989000027
+02205f62ced54ce7a72f1198eba59edf,1989000025
+02205f62ced54ce7a72f1198eba59edf,1989000023
+02205f62ced54ce7a72f1198eba59edf,1989000022
+02205f62ced54ce7a72f1198eba59edf,1989000018
+02205f62ced54ce7a72f1198eba59edf,1989000017
+02205f62ced54ce7a72f1198eba59edf,1989000016
+02205f62ced54ce7a72f1198eba59edf,1989000015
+02205f62ced54ce7a72f1198eba59edf,1989000014
+02205f62ced54ce7a72f1198eba59edf,1989000013
+02205f62ced54ce7a72f1198eba59edf,1989000012
+02205f62ced54ce7a72f1198eba59edf,1989000011
+02205f62ced54ce7a72f1198eba59edf,1989000010
+02205f62ced54ce7a72f1198eba59edf,1989000008
+02205f62ced54ce7a72f1198eba59edf,1989000006
+02205f62ced54ce7a72f1198eba59edf,1989000005
+02205f62ced54ce7a72f1198eba59edf,1989000004
+02205f62ced54ce7a72f1198eba59edf,1989000003
+02205f62ced54ce7a72f1198eba59edf,1989000002
+02205f62ced54ce7a72f1198eba59edf,1988010128
+02205f62ced54ce7a72f1198eba59edf,1988010015
+02205f62ced54ce7a72f1198eba59edf,1988010013
+02205f62ced54ce7a72f1198eba59edf,1988010010
+02205f62ced54ce7a72f1198eba59edf,1988010005
+02205f62ced54ce7a72f1198eba59edf,1988010003
+02205f62ced54ce7a72f1198eba59edf,1988010001
+02205f62ced54ce7a72f1198eba59edf,1988000132
+02205f62ced54ce7a72f1198eba59edf,1988000131
+02205f62ced54ce7a72f1198eba59edf,1988000130
+02205f62ced54ce7a72f1198eba59edf,1988000129
+02205f62ced54ce7a72f1198eba59edf,1988000127
+02205f62ced54ce7a72f1198eba59edf,1988000126
+02205f62ced54ce7a72f1198eba59edf,1988000125
+02205f62ced54ce7a72f1198eba59edf,1988000124
+02205f62ced54ce7a72f1198eba59edf,1988000123
+02205f62ced54ce7a72f1198eba59edf,1988000121
+02205f62ced54ce7a72f1198eba59edf,1988000120
+02205f62ced54ce7a72f1198eba59edf,1988000119
+02205f62ced54ce7a72f1198eba59edf,1988000118
+02205f62ced54ce7a72f1198eba59edf,1988000116
+02205f62ced54ce7a72f1198eba59edf,1988000115
+02205f62ced54ce7a72f1198eba59edf,1988000114
+02205f62ced54ce7a72f1198eba59edf,1988000108
+02205f62ced54ce7a72f1198eba59edf,1988000106
+02205f62ced54ce7a72f1198eba59edf,1988000104
+02205f62ced54ce7a72f1198eba59edf,1988000101
+02205f62ced54ce7a72f1198eba59edf,1988000099
+02205f62ced54ce7a72f1198eba59edf,1988000098
+02205f62ced54ce7a72f1198eba59edf,1988000097
+02205f62ced54ce7a72f1198eba59edf,1988000096
+02205f62ced54ce7a72f1198eba59edf,1988000095
+02205f62ced54ce7a72f1198eba59edf,1988000094
+02205f62ced54ce7a72f1198eba59edf,1988000093
+02205f62ced54ce7a72f1198eba59edf,1988000092
+02205f62ced54ce7a72f1198eba59edf,1988000091
+02205f62ced54ce7a72f1198eba59edf,1988000090
+02205f62ced54ce7a72f1198eba59edf,1988000089
+02205f62ced54ce7a72f1198eba59edf,1988000088
+02205f62ced54ce7a72f1198eba59edf,1988000087
+02205f62ced54ce7a72f1198eba59edf,1988000086
+02205f62ced54ce7a72f1198eba59edf,1988000085
+02205f62ced54ce7a72f1198eba59edf,1988000084
+02205f62ced54ce7a72f1198eba59edf,1988000083
+02205f62ced54ce7a72f1198eba59edf,1988000082
+02205f62ced54ce7a72f1198eba59edf,1988000081
+02205f62ced54ce7a72f1198eba59edf,1988000080
+02205f62ced54ce7a72f1198eba59edf,1988000079
+02205f62ced54ce7a72f1198eba59edf,1988000078
+02205f62ced54ce7a72f1198eba59edf,1988000077
+02205f62ced54ce7a72f1198eba59edf,1988000074
+02205f62ced54ce7a72f1198eba59edf,1988000073
+02205f62ced54ce7a72f1198eba59edf,1988000072
+02205f62ced54ce7a72f1198eba59edf,1988000071
+02205f62ced54ce7a72f1198eba59edf,1988000070
+02205f62ced54ce7a72f1198eba59edf,1988000066
+02205f62ced54ce7a72f1198eba59edf,1988000064
+02205f62ced54ce7a72f1198eba59edf,1988000063
+02205f62ced54ce7a72f1198eba59edf,1988000062
+02205f62ced54ce7a72f1198eba59edf,1988000061
+02205f62ced54ce7a72f1198eba59edf,1988000060
+02205f62ced54ce7a72f1198eba59edf,1988000059
+02205f62ced54ce7a72f1198eba59edf,1988000058
+02205f62ced54ce7a72f1198eba59edf,1988000054
+02205f62ced54ce7a72f1198eba59edf,1988000053
+02205f62ced54ce7a72f1198eba59edf,1988000051
+02205f62ced54ce7a72f1198eba59edf,1988000050
+02205f62ced54ce7a72f1198eba59edf,1988000049
+02205f62ced54ce7a72f1198eba59edf,1988000048
+02205f62ced54ce7a72f1198eba59edf,1988000047
+02205f62ced54ce7a72f1198eba59edf,1988000045
+02205f62ced54ce7a72f1198eba59edf,1988000044
+02205f62ced54ce7a72f1198eba59edf,1988000043
+02205f62ced54ce7a72f1198eba59edf,1988000042
+02205f62ced54ce7a72f1198eba59edf,1988000041
+02205f62ced54ce7a72f1198eba59edf,1988000040
+02205f62ced54ce7a72f1198eba59edf,1988000039
+02205f62ced54ce7a72f1198eba59edf,1988000038
+02205f62ced54ce7a72f1198eba59edf,1988000037
+02205f62ced54ce7a72f1198eba59edf,1988000036
+02205f62ced54ce7a72f1198eba59edf,1988000035
+02205f62ced54ce7a72f1198eba59edf,1988000034
+02205f62ced54ce7a72f1198eba59edf,1988000033
+02205f62ced54ce7a72f1198eba59edf,1988000032
+02205f62ced54ce7a72f1198eba59edf,1988000031
+02205f62ced54ce7a72f1198eba59edf,1988000030
+02205f62ced54ce7a72f1198eba59edf,1988000029
+02205f62ced54ce7a72f1198eba59edf,1988000028
+02205f62ced54ce7a72f1198eba59edf,1988000027
+02205f62ced54ce7a72f1198eba59edf,1988000026
+02205f62ced54ce7a72f1198eba59edf,1988000024
+02205f62ced54ce7a72f1198eba59edf,1988000008
+02205f62ced54ce7a72f1198eba59edf,1988000004
+02205f62ced54ce7a72f1198eba59edf,1987010031
+02205f62ced54ce7a72f1198eba59edf,1987010029
+02205f62ced54ce7a72f1198eba59edf,1987000087
+02205f62ced54ce7a72f1198eba59edf,1987000085
+02205f62ced54ce7a72f1198eba59edf,1987000084
+02205f62ced54ce7a72f1198eba59edf,1987000083
+02205f62ced54ce7a72f1198eba59edf,1987000080
+02205f62ced54ce7a72f1198eba59edf,1987000079
+02205f62ced54ce7a72f1198eba59edf,1987000078
+02205f62ced54ce7a72f1198eba59edf,1987000077
+02205f62ced54ce7a72f1198eba59edf,1987000076
+02205f62ced54ce7a72f1198eba59edf,1987000075
+02205f62ced54ce7a72f1198eba59edf,1987000074
+02205f62ced54ce7a72f1198eba59edf,1987000073
+02205f62ced54ce7a72f1198eba59edf,1987000072
+02205f62ced54ce7a72f1198eba59edf,1987000071
+02205f62ced54ce7a72f1198eba59edf,1987000070
+02205f62ced54ce7a72f1198eba59edf,1987000067
+02205f62ced54ce7a72f1198eba59edf,1987000066
+02205f62ced54ce7a72f1198eba59edf,1987000065
+02205f62ced54ce7a72f1198eba59edf,1987000064
+02205f62ced54ce7a72f1198eba59edf,1987000063
+02205f62ced54ce7a72f1198eba59edf,1987000062
+02205f62ced54ce7a72f1198eba59edf,1987000061
+02205f62ced54ce7a72f1198eba59edf,1987000060
+02205f62ced54ce7a72f1198eba59edf,1987000059
+02205f62ced54ce7a72f1198eba59edf,1987000058
+02205f62ced54ce7a72f1198eba59edf,1987000057
+02205f62ced54ce7a72f1198eba59edf,1987000056
+02205f62ced54ce7a72f1198eba59edf,1987000055
+02205f62ced54ce7a72f1198eba59edf,1987000054
+02205f62ced54ce7a72f1198eba59edf,1987000053
+02205f62ced54ce7a72f1198eba59edf,1987000052
+02205f62ced54ce7a72f1198eba59edf,1987000051
+02205f62ced54ce7a72f1198eba59edf,1987000050
+02205f62ced54ce7a72f1198eba59edf,1987000049
+02205f62ced54ce7a72f1198eba59edf,1987000048
+02205f62ced54ce7a72f1198eba59edf,1987000046
+02205f62ced54ce7a72f1198eba59edf,1987000045
+02205f62ced54ce7a72f1198eba59edf,1987000044
+02205f62ced54ce7a72f1198eba59edf,1987000043
+02205f62ced54ce7a72f1198eba59edf,1987000042
+02205f62ced54ce7a72f1198eba59edf,1987000041
+02205f62ced54ce7a72f1198eba59edf,1987000040
+02205f62ced54ce7a72f1198eba59edf,1987000039
+02205f62ced54ce7a72f1198eba59edf,1987000038
+02205f62ced54ce7a72f1198eba59edf,1987000037
+02205f62ced54ce7a72f1198eba59edf,1987000036
+02205f62ced54ce7a72f1198eba59edf,1987000035
+02205f62ced54ce7a72f1198eba59edf,1987000034
+02205f62ced54ce7a72f1198eba59edf,1987000033
+02205f62ced54ce7a72f1198eba59edf,1987000032
+02205f62ced54ce7a72f1198eba59edf,1987000030
+02205f62ced54ce7a72f1198eba59edf,1987000028
+02205f62ced54ce7a72f1198eba59edf,1987000027
+02205f62ced54ce7a72f1198eba59edf,1987000026
+02205f62ced54ce7a72f1198eba59edf,1987000025
+02205f62ced54ce7a72f1198eba59edf,1987000024
+02205f62ced54ce7a72f1198eba59edf,1987000023
+02205f62ced54ce7a72f1198eba59edf,1987000022
+02205f62ced54ce7a72f1198eba59edf,1987000021
+02205f62ced54ce7a72f1198eba59edf,1987000020
+02205f62ced54ce7a72f1198eba59edf,1987000019
+02205f62ced54ce7a72f1198eba59edf,1987000018
+02205f62ced54ce7a72f1198eba59edf,1987000017
+02205f62ced54ce7a72f1198eba59edf,1987000016
+02205f62ced54ce7a72f1198eba59edf,1987000014
+02205f62ced54ce7a72f1198eba59edf,1987000013
+02205f62ced54ce7a72f1198eba59edf,1987000011
+02205f62ced54ce7a72f1198eba59edf,1987000008
+02205f62ced54ce7a72f1198eba59edf,1987000004
+02205f62ced54ce7a72f1198eba59edf,1987000003
+02205f62ced54ce7a72f1198eba59edf,1987000001
+02205f62ced54ce7a72f1198eba59edf,1986010135
+02205f62ced54ce7a72f1198eba59edf,1986010130
+02205f62ced54ce7a72f1198eba59edf,1986010123
+02205f62ced54ce7a72f1198eba59edf,1986010121
+02205f62ced54ce7a72f1198eba59edf,1986010119
+02205f62ced54ce7a72f1198eba59edf,1986010118
+02205f62ced54ce7a72f1198eba59edf,1986010115
+02205f62ced54ce7a72f1198eba59edf,1986010114
+02205f62ced54ce7a72f1198eba59edf,1986010110
+02205f62ced54ce7a72f1198eba59edf,1986010109
+02205f62ced54ce7a72f1198eba59edf,1986010106
+02205f62ced54ce7a72f1198eba59edf,1986010104
+02205f62ced54ce7a72f1198eba59edf,1986000134
+02205f62ced54ce7a72f1198eba59edf,1986000133
+02205f62ced54ce7a72f1198eba59edf,1986000102
+02205f62ced54ce7a72f1198eba59edf,1986000098
+02205f62ced54ce7a72f1198eba59edf,1986000097
+02205f62ced54ce7a72f1198eba59edf,1986000096
+02205f62ced54ce7a72f1198eba59edf,1986000095
+02205f62ced54ce7a72f1198eba59edf,1986000094
+02205f62ced54ce7a72f1198eba59edf,1986000092
+02205f62ced54ce7a72f1198eba59edf,1986000091
+02205f62ced54ce7a72f1198eba59edf,1986000090
+02205f62ced54ce7a72f1198eba59edf,1986000089
+02205f62ced54ce7a72f1198eba59edf,1986000088
+02205f62ced54ce7a72f1198eba59edf,1986000087
+02205f62ced54ce7a72f1198eba59edf,1986000086
+02205f62ced54ce7a72f1198eba59edf,1986000085
+02205f62ced54ce7a72f1198eba59edf,1986000083
+02205f62ced54ce7a72f1198eba59edf,1986000082
+02205f62ced54ce7a72f1198eba59edf,1986000081
+02205f62ced54ce7a72f1198eba59edf,1986000080
+02205f62ced54ce7a72f1198eba59edf,1986000079
+02205f62ced54ce7a72f1198eba59edf,1986000078
+02205f62ced54ce7a72f1198eba59edf,1986000076
+02205f62ced54ce7a72f1198eba59edf,1986000075
+02205f62ced54ce7a72f1198eba59edf,1986000074
+02205f62ced54ce7a72f1198eba59edf,1986000073
+02205f62ced54ce7a72f1198eba59edf,1986000072
+02205f62ced54ce7a72f1198eba59edf,1986000071
+02205f62ced54ce7a72f1198eba59edf,1986000070
+02205f62ced54ce7a72f1198eba59edf,1986000069
+02205f62ced54ce7a72f1198eba59edf,1986000067
+02205f62ced54ce7a72f1198eba59edf,1986000066
+02205f62ced54ce7a72f1198eba59edf,1986000065
+02205f62ced54ce7a72f1198eba59edf,1986000064
+02205f62ced54ce7a72f1198eba59edf,1986000063
+02205f62ced54ce7a72f1198eba59edf,1986000061
+02205f62ced54ce7a72f1198eba59edf,1986000060
+02205f62ced54ce7a72f1198eba59edf,1986000059
+02205f62ced54ce7a72f1198eba59edf,1986000058
+02205f62ced54ce7a72f1198eba59edf,1986000057
+02205f62ced54ce7a72f1198eba59edf,1986000056
+02205f62ced54ce7a72f1198eba59edf,1986000055
+02205f62ced54ce7a72f1198eba59edf,1986000054
+02205f62ced54ce7a72f1198eba59edf,1986000053
+02205f62ced54ce7a72f1198eba59edf,1986000052
+02205f62ced54ce7a72f1198eba59edf,1986000051
+02205f62ced54ce7a72f1198eba59edf,1986000050
+02205f62ced54ce7a72f1198eba59edf,1986000047
+02205f62ced54ce7a72f1198eba59edf,1986000046
+02205f62ced54ce7a72f1198eba59edf,1986000045
+02205f62ced54ce7a72f1198eba59edf,1986000044
+02205f62ced54ce7a72f1198eba59edf,1986000042
+02205f62ced54ce7a72f1198eba59edf,1986000041
+02205f62ced54ce7a72f1198eba59edf,1986000040
+02205f62ced54ce7a72f1198eba59edf,1986000039
+02205f62ced54ce7a72f1198eba59edf,1986000038
+02205f62ced54ce7a72f1198eba59edf,1986000037
+02205f62ced54ce7a72f1198eba59edf,1986000036
+02205f62ced54ce7a72f1198eba59edf,1986000035
+02205f62ced54ce7a72f1198eba59edf,1986000034
+02205f62ced54ce7a72f1198eba59edf,1986000033
+02205f62ced54ce7a72f1198eba59edf,1986000032
+02205f62ced54ce7a72f1198eba59edf,1986000031
+02205f62ced54ce7a72f1198eba59edf,1986000030
+02205f62ced54ce7a72f1198eba59edf,1986000029
+02205f62ced54ce7a72f1198eba59edf,1986000028
+02205f62ced54ce7a72f1198eba59edf,1986000026
+02205f62ced54ce7a72f1198eba59edf,1986000025
+02205f62ced54ce7a72f1198eba59edf,1986000023
+02205f62ced54ce7a72f1198eba59edf,1986000022
+02205f62ced54ce7a72f1198eba59edf,1986000021
+02205f62ced54ce7a72f1198eba59edf,1986000020
+02205f62ced54ce7a72f1198eba59edf,1986000019
+02205f62ced54ce7a72f1198eba59edf,1986000012
+02205f62ced54ce7a72f1198eba59edf,1986000010
+02205f62ced54ce7a72f1198eba59edf,1986000007
+02205f62ced54ce7a72f1198eba59edf,1986000005
+02205f62ced54ce7a72f1198eba59edf,1986000004
+02205f62ced54ce7a72f1198eba59edf,1986000001
+02205f62ced54ce7a72f1198eba59edf,1985010099
+02205f62ced54ce7a72f1198eba59edf,1985010094
+02205f62ced54ce7a72f1198eba59edf,1985010092
+02205f62ced54ce7a72f1198eba59edf,1985010090
+02205f62ced54ce7a72f1198eba59edf,1985010083
+02205f62ced54ce7a72f1198eba59edf,1985010066
+02205f62ced54ce7a72f1198eba59edf,1985010014
+02205f62ced54ce7a72f1198eba59edf,1985000098
+02205f62ced54ce7a72f1198eba59edf,1985000097
+02205f62ced54ce7a72f1198eba59edf,1985000096
+02205f62ced54ce7a72f1198eba59edf,1985000093
+02205f62ced54ce7a72f1198eba59edf,1985000088
+02205f62ced54ce7a72f1198eba59edf,1985000084
+02205f62ced54ce7a72f1198eba59edf,1985000082
+02205f62ced54ce7a72f1198eba59edf,1985000081
+02205f62ced54ce7a72f1198eba59edf,1985000075
+02205f62ced54ce7a72f1198eba59edf,1985000073
+02205f62ced54ce7a72f1198eba59edf,1985000072
+02205f62ced54ce7a72f1198eba59edf,1985000071
+02205f62ced54ce7a72f1198eba59edf,1985000068
+02205f62ced54ce7a72f1198eba59edf,1985000067
+02205f62ced54ce7a72f1198eba59edf,1985000065
+02205f62ced54ce7a72f1198eba59edf,1985000064
+02205f62ced54ce7a72f1198eba59edf,1985000063
+02205f62ced54ce7a72f1198eba59edf,1985000062
+02205f62ced54ce7a72f1198eba59edf,1985000061
+02205f62ced54ce7a72f1198eba59edf,1985000060
+02205f62ced54ce7a72f1198eba59edf,1985000059
+02205f62ced54ce7a72f1198eba59edf,1985000058
+02205f62ced54ce7a72f1198eba59edf,1985000057
+02205f62ced54ce7a72f1198eba59edf,1985000056
+02205f62ced54ce7a72f1198eba59edf,1985000055
+02205f62ced54ce7a72f1198eba59edf,1985000054
+02205f62ced54ce7a72f1198eba59edf,1985000053
+02205f62ced54ce7a72f1198eba59edf,1985000052
+02205f62ced54ce7a72f1198eba59edf,1985000051
+02205f62ced54ce7a72f1198eba59edf,1985000050
+02205f62ced54ce7a72f1198eba59edf,1985000049
+02205f62ced54ce7a72f1198eba59edf,1985000048
+02205f62ced54ce7a72f1198eba59edf,1985000047
+02205f62ced54ce7a72f1198eba59edf,1985000046
+02205f62ced54ce7a72f1198eba59edf,1985000045
+02205f62ced54ce7a72f1198eba59edf,1985000044
+02205f62ced54ce7a72f1198eba59edf,1985000043
+02205f62ced54ce7a72f1198eba59edf,1985000042
+02205f62ced54ce7a72f1198eba59edf,1985000041
+02205f62ced54ce7a72f1198eba59edf,1985000040
+02205f62ced54ce7a72f1198eba59edf,1985000039
+02205f62ced54ce7a72f1198eba59edf,1985000038
+02205f62ced54ce7a72f1198eba59edf,1985000037
+02205f62ced54ce7a72f1198eba59edf,1985000036
+02205f62ced54ce7a72f1198eba59edf,1985000035
+02205f62ced54ce7a72f1198eba59edf,1985000034
+02205f62ced54ce7a72f1198eba59edf,1985000033
+02205f62ced54ce7a72f1198eba59edf,1985000032
+02205f62ced54ce7a72f1198eba59edf,1985000030
+02205f62ced54ce7a72f1198eba59edf,1985000029
+02205f62ced54ce7a72f1198eba59edf,1985000026
+02205f62ced54ce7a72f1198eba59edf,1985000024
+02205f62ced54ce7a72f1198eba59edf,1985000023
+02205f62ced54ce7a72f1198eba59edf,1985000022
+02205f62ced54ce7a72f1198eba59edf,1985000021
+02205f62ced54ce7a72f1198eba59edf,1985000019
+02205f62ced54ce7a72f1198eba59edf,1985000018
+02205f62ced54ce7a72f1198eba59edf,1985000017
+02205f62ced54ce7a72f1198eba59edf,1985000016
+02205f62ced54ce7a72f1198eba59edf,1985000015
+02205f62ced54ce7a72f1198eba59edf,1985000013
+02205f62ced54ce7a72f1198eba59edf,1985000012
+02205f62ced54ce7a72f1198eba59edf,1985000010
+02205f62ced54ce7a72f1198eba59edf,1985000008
+02205f62ced54ce7a72f1198eba59edf,1985000007
+02205f62ced54ce7a72f1198eba59edf,1985000005
+02205f62ced54ce7a72f1198eba59edf,1985000001
+02205f62ced54ce7a72f1198eba59edf,1984010108
+02205f62ced54ce7a72f1198eba59edf,1984010102
+02205f62ced54ce7a72f1198eba59edf,1984010075
+02205f62ced54ce7a72f1198eba59edf,1984010070
+02205f62ced54ce7a72f1198eba59edf,1984010069
+02205f62ced54ce7a72f1198eba59edf,1984010013
+02205f62ced54ce7a72f1198eba59edf,1984010008
+02205f62ced54ce7a72f1198eba59edf,1984010004
+02205f62ced54ce7a72f1198eba59edf,1984010003
+02205f62ced54ce7a72f1198eba59edf,1984010002
+02205f62ced54ce7a72f1198eba59edf,1984010001
+02205f62ced54ce7a72f1198eba59edf,1984000106
+02205f62ced54ce7a72f1198eba59edf,1984000105
+02205f62ced54ce7a72f1198eba59edf,1984000104
+02205f62ced54ce7a72f1198eba59edf,1984000101
+02205f62ced54ce7a72f1198eba59edf,1984000100
+02205f62ced54ce7a72f1198eba59edf,1984000097
+02205f62ced54ce7a72f1198eba59edf,1984000093
+02205f62ced54ce7a72f1198eba59edf,1984000092
+02205f62ced54ce7a72f1198eba59edf,1984000091
+02205f62ced54ce7a72f1198eba59edf,1984000089
+02205f62ced54ce7a72f1198eba59edf,1984000085
+02205f62ced54ce7a72f1198eba59edf,1984000084
+02205f62ced54ce7a72f1198eba59edf,1984000083
+02205f62ced54ce7a72f1198eba59edf,1984000082
+02205f62ced54ce7a72f1198eba59edf,1984000080
+02205f62ced54ce7a72f1198eba59edf,1984000079
+02205f62ced54ce7a72f1198eba59edf,1984000078
+02205f62ced54ce7a72f1198eba59edf,1984000076
+02205f62ced54ce7a72f1198eba59edf,1984000067
+02205f62ced54ce7a72f1198eba59edf,1984000065
+02205f62ced54ce7a72f1198eba59edf,1984000063
+02205f62ced54ce7a72f1198eba59edf,1984000062
+02205f62ced54ce7a72f1198eba59edf,1984000061
+02205f62ced54ce7a72f1198eba59edf,1984000060
+02205f62ced54ce7a72f1198eba59edf,1984000059
+02205f62ced54ce7a72f1198eba59edf,1984000057
+02205f62ced54ce7a72f1198eba59edf,1984000056
+02205f62ced54ce7a72f1198eba59edf,1984000055
+02205f62ced54ce7a72f1198eba59edf,1984000054
+02205f62ced54ce7a72f1198eba59edf,1984000053
+02205f62ced54ce7a72f1198eba59edf,1984000052
+02205f62ced54ce7a72f1198eba59edf,1984000051
+02205f62ced54ce7a72f1198eba59edf,1984000050
+02205f62ced54ce7a72f1198eba59edf,1984000049
+02205f62ced54ce7a72f1198eba59edf,1984000047
+02205f62ced54ce7a72f1198eba59edf,1984000046
+02205f62ced54ce7a72f1198eba59edf,1984000044
+02205f62ced54ce7a72f1198eba59edf,1984000043
+02205f62ced54ce7a72f1198eba59edf,1984000042
+02205f62ced54ce7a72f1198eba59edf,1984000041
+02205f62ced54ce7a72f1198eba59edf,1984000040
+02205f62ced54ce7a72f1198eba59edf,1984000039
+02205f62ced54ce7a72f1198eba59edf,1984000038
+02205f62ced54ce7a72f1198eba59edf,1984000032
+02205f62ced54ce7a72f1198eba59edf,1984000030
+02205f62ced54ce7a72f1198eba59edf,1984000029
+02205f62ced54ce7a72f1198eba59edf,1984000026
+02205f62ced54ce7a72f1198eba59edf,1984000025
+02205f62ced54ce7a72f1198eba59edf,1984000023
+02205f62ced54ce7a72f1198eba59edf,1984000022
+02205f62ced54ce7a72f1198eba59edf,1984000021
+02205f62ced54ce7a72f1198eba59edf,1984000020
+02205f62ced54ce7a72f1198eba59edf,1984000019
+02205f62ced54ce7a72f1198eba59edf,1984000018
+02205f62ced54ce7a72f1198eba59edf,1984000017
+02205f62ced54ce7a72f1198eba59edf,1984000015
+02205f62ced54ce7a72f1198eba59edf,1984000012
+02205f62ced54ce7a72f1198eba59edf,1984000011
+02205f62ced54ce7a72f1198eba59edf,1984000009
+02205f62ced54ce7a72f1198eba59edf,1984000007
+02205f62ced54ce7a72f1198eba59edf,1983000070
+02205f62ced54ce7a72f1198eba59edf,1983000069
+02205f62ced54ce7a72f1198eba59edf,1983000068
+02205f62ced54ce7a72f1198eba59edf,1983000067
+02205f62ced54ce7a72f1198eba59edf,1983000066
+02205f62ced54ce7a72f1198eba59edf,1983000065
+02205f62ced54ce7a72f1198eba59edf,1983000060
+02205f62ced54ce7a72f1198eba59edf,1983000059
+02205f62ced54ce7a72f1198eba59edf,1983000053
+02205f62ced54ce7a72f1198eba59edf,1983000052
+02205f62ced54ce7a72f1198eba59edf,1983000051
+02205f62ced54ce7a72f1198eba59edf,1983000048
+02205f62ced54ce7a72f1198eba59edf,1983000043
+02205f62ced54ce7a72f1198eba59edf,1983000041
+02205f62ced54ce7a72f1198eba59edf,1983000040
+02205f62ced54ce7a72f1198eba59edf,1983000039
+02205f62ced54ce7a72f1198eba59edf,1983000035
+02205f62ced54ce7a72f1198eba59edf,1983000033
+02205f62ced54ce7a72f1198eba59edf,1983000032
+02205f62ced54ce7a72f1198eba59edf,1983000031
+02205f62ced54ce7a72f1198eba59edf,1983000030
+02205f62ced54ce7a72f1198eba59edf,1983000028
+02205f62ced54ce7a72f1198eba59edf,1983000026
+02205f62ced54ce7a72f1198eba59edf,1983000024
+02205f62ced54ce7a72f1198eba59edf,1983000023
+02205f62ced54ce7a72f1198eba59edf,1983000022
+02205f62ced54ce7a72f1198eba59edf,1983000021
+02205f62ced54ce7a72f1198eba59edf,1983000019
+02205f62ced54ce7a72f1198eba59edf,1983000018
+02205f62ced54ce7a72f1198eba59edf,1983000017
+02205f62ced54ce7a72f1198eba59edf,1983000016
+02205f62ced54ce7a72f1198eba59edf,1983000015
+02205f62ced54ce7a72f1198eba59edf,1983000014
+02205f62ced54ce7a72f1198eba59edf,1983000012
+02205f62ced54ce7a72f1198eba59edf,1983000011
+02205f62ced54ce7a72f1198eba59edf,1983000009
+02205f62ced54ce7a72f1198eba59edf,1983000008
+02205f62ced54ce7a72f1198eba59edf,1983000003
+02205f62ced54ce7a72f1198eba59edf,1983000001
+02205f62ced54ce7a72f1198eba59edf,1982000088
+02205f62ced54ce7a72f1198eba59edf,1982000087
+02205f62ced54ce7a72f1198eba59edf,1982000085
+02205f62ced54ce7a72f1198eba59edf,1982000083
+02205f62ced54ce7a72f1198eba59edf,1982000081
+02205f62ced54ce7a72f1198eba59edf,1982000080
+02205f62ced54ce7a72f1198eba59edf,1982000078
+02205f62ced54ce7a72f1198eba59edf,1982000075
+02205f62ced54ce7a72f1198eba59edf,1982000073
+02205f62ced54ce7a72f1198eba59edf,1982000072
+02205f62ced54ce7a72f1198eba59edf,1982000070
+02205f62ced54ce7a72f1198eba59edf,1982000069
+02205f62ced54ce7a72f1198eba59edf,1982000068
+02205f62ced54ce7a72f1198eba59edf,1982000067
+02205f62ced54ce7a72f1198eba59edf,1982000066
+02205f62ced54ce7a72f1198eba59edf,1982000065
+02205f62ced54ce7a72f1198eba59edf,1982000063
+02205f62ced54ce7a72f1198eba59edf,1982000060
+02205f62ced54ce7a72f1198eba59edf,1982000059
+02205f62ced54ce7a72f1198eba59edf,1982000058
+02205f62ced54ce7a72f1198eba59edf,1982000057
+02205f62ced54ce7a72f1198eba59edf,1982000055
+02205f62ced54ce7a72f1198eba59edf,1982000053
+02205f62ced54ce7a72f1198eba59edf,1982000052
+02205f62ced54ce7a72f1198eba59edf,1982000050
+02205f62ced54ce7a72f1198eba59edf,1982000046
+02205f62ced54ce7a72f1198eba59edf,1982000045
+02205f62ced54ce7a72f1198eba59edf,1982000044
+02205f62ced54ce7a72f1198eba59edf,1982000041
+02205f62ced54ce7a72f1198eba59edf,1982000040
+02205f62ced54ce7a72f1198eba59edf,1982000039
+02205f62ced54ce7a72f1198eba59edf,1982000038
+02205f62ced54ce7a72f1198eba59edf,1982000037
+02205f62ced54ce7a72f1198eba59edf,1982000031
+02205f62ced54ce7a72f1198eba59edf,1982000029
+02205f62ced54ce7a72f1198eba59edf,1982000028
+02205f62ced54ce7a72f1198eba59edf,1982000025
+02205f62ced54ce7a72f1198eba59edf,1982000021
+02205f62ced54ce7a72f1198eba59edf,1982000014
+02205f62ced54ce7a72f1198eba59edf,1982000013
+02205f62ced54ce7a72f1198eba59edf,1982000010
+02205f62ced54ce7a72f1198eba59edf,1982000008
+02205f62ced54ce7a72f1198eba59edf,1982000005
+02205f62ced54ce7a72f1198eba59edf,1981000228
+02205f62ced54ce7a72f1198eba59edf,1981000222
+02205f62ced54ce7a72f1198eba59edf,1981000220
+02205f62ced54ce7a72f1198eba59edf,1981000217
+02205f62ced54ce7a72f1198eba59edf,1981000216
+02205f62ced54ce7a72f1198eba59edf,1981000215
+02205f62ced54ce7a72f1198eba59edf,1981000209
+02205f62ced54ce7a72f1198eba59edf,1981000204
+02205f62ced54ce7a72f1198eba59edf,1981000194
+02205f62ced54ce7a72f1198eba59edf,1981000190
+02205f62ced54ce7a72f1198eba59edf,1981000187
+02205f62ced54ce7a72f1198eba59edf,1981000178
+02205f62ced54ce7a72f1198eba59edf,1981000159
+02205f62ced54ce7a72f1198eba59edf,1981000158
+02205f62ced54ce7a72f1198eba59edf,1981000155
+02205f62ced54ce7a72f1198eba59edf,1981000153
+02205f62ced54ce7a72f1198eba59edf,1981000152
+02205f62ced54ce7a72f1198eba59edf,1981000151
+02205f62ced54ce7a72f1198eba59edf,1981000148
+02205f62ced54ce7a72f1198eba59edf,1981000147
+02205f62ced54ce7a72f1198eba59edf,1981000140
+02205f62ced54ce7a72f1198eba59edf,1981000136
+02205f62ced54ce7a72f1198eba59edf,1981000133
+02205f62ced54ce7a72f1198eba59edf,1981000131
+02205f62ced54ce7a72f1198eba59edf,1981000128
+02205f62ced54ce7a72f1198eba59edf,1981000125
+02205f62ced54ce7a72f1198eba59edf,1981000124
+02205f62ced54ce7a72f1198eba59edf,1981000121
+02205f62ced54ce7a72f1198eba59edf,1981000119
+02205f62ced54ce7a72f1198eba59edf,1981000117
+02205f62ced54ce7a72f1198eba59edf,1981000116
+02205f62ced54ce7a72f1198eba59edf,1981000115
+02205f62ced54ce7a72f1198eba59edf,1981000114
+02205f62ced54ce7a72f1198eba59edf,1981000110
+02205f62ced54ce7a72f1198eba59edf,1981000109
+02205f62ced54ce7a72f1198eba59edf,1981000107
+02205f62ced54ce7a72f1198eba59edf,1981000106
+02205f62ced54ce7a72f1198eba59edf,1981000105
+02205f62ced54ce7a72f1198eba59edf,1981000103
+02205f62ced54ce7a72f1198eba59edf,1981000102
+02205f62ced54ce7a72f1198eba59edf,1981000101
+02205f62ced54ce7a72f1198eba59edf,1981000100
+02205f62ced54ce7a72f1198eba59edf,1981000099
+02205f62ced54ce7a72f1198eba59edf,1981000095
+02205f62ced54ce7a72f1198eba59edf,1981000090
+02205f62ced54ce7a72f1198eba59edf,1981000089
+02205f62ced54ce7a72f1198eba59edf,1981000088
+02205f62ced54ce7a72f1198eba59edf,1981000087
+02205f62ced54ce7a72f1198eba59edf,1981000081
+02205f62ced54ce7a72f1198eba59edf,1981000078
+02205f62ced54ce7a72f1198eba59edf,1981000072
+02205f62ced54ce7a72f1198eba59edf,1981000068
+02205f62ced54ce7a72f1198eba59edf,1981000067
+02205f62ced54ce7a72f1198eba59edf,1981000065
+02205f62ced54ce7a72f1198eba59edf,1981000063
+02205f62ced54ce7a72f1198eba59edf,1981000059
+02205f62ced54ce7a72f1198eba59edf,1981000057
+02205f62ced54ce7a72f1198eba59edf,1981000052
+02205f62ced54ce7a72f1198eba59edf,1981000051
+02205f62ced54ce7a72f1198eba59edf,1981000049
+02205f62ced54ce7a72f1198eba59edf,1981000048
+02205f62ced54ce7a72f1198eba59edf,1981000041
+02205f62ced54ce7a72f1198eba59edf,1981000039
+02205f62ced54ce7a72f1198eba59edf,1981000038
+02205f62ced54ce7a72f1198eba59edf,1981000037
+02205f62ced54ce7a72f1198eba59edf,1981000036
+02205f62ced54ce7a72f1198eba59edf,1981000035
+02205f62ced54ce7a72f1198eba59edf,1981000031
+02205f62ced54ce7a72f1198eba59edf,1981000028
+02205f62ced54ce7a72f1198eba59edf,1981000027
+02205f62ced54ce7a72f1198eba59edf,1981000023
+02205f62ced54ce7a72f1198eba59edf,1981000022
+02205f62ced54ce7a72f1198eba59edf,1981000021
+02205f62ced54ce7a72f1198eba59edf,1981000020
+02205f62ced54ce7a72f1198eba59edf,1981000018
+02205f62ced54ce7a72f1198eba59edf,1981000016
+02205f62ced54ce7a72f1198eba59edf,1981000015
+02205f62ced54ce7a72f1198eba59edf,1981000014
+02205f62ced54ce7a72f1198eba59edf,1981000009
+02205f62ced54ce7a72f1198eba59edf,1981000007
+02205f62ced54ce7a72f1198eba59edf,1981000001
+02205f62ced54ce7a72f1198eba59edf,1980000048
+02205f62ced54ce7a72f1198eba59edf,1980000047
+02205f62ced54ce7a72f1198eba59edf,1980000046
+02205f62ced54ce7a72f1198eba59edf,1980000042
+02205f62ced54ce7a72f1198eba59edf,1980000040
+02205f62ced54ce7a72f1198eba59edf,1980000039
+02205f62ced54ce7a72f1198eba59edf,1980000038
+02205f62ced54ce7a72f1198eba59edf,1980000036
+02205f62ced54ce7a72f1198eba59edf,1980000023
+02205f62ced54ce7a72f1198eba59edf,1980000020
+02205f62ced54ce7a72f1198eba59edf,1980000004
+02205f62ced54ce7a72f1198eba59edf,1979000084
+02205f62ced54ce7a72f1198eba59edf,1979000083
+02205f62ced54ce7a72f1198eba59edf,1979000082
+02205f62ced54ce7a72f1198eba59edf,1979000076
+02205f62ced54ce7a72f1198eba59edf,1979000075
+02205f62ced54ce7a72f1198eba59edf,1979000070
+02205f62ced54ce7a72f1198eba59edf,1979000068
+02205f62ced54ce7a72f1198eba59edf,1979000065
+02205f62ced54ce7a72f1198eba59edf,1979000064
+02205f62ced54ce7a72f1198eba59edf,1979000058
+02205f62ced54ce7a72f1198eba59edf,1979000057
+02205f62ced54ce7a72f1198eba59edf,1979000056
+02205f62ced54ce7a72f1198eba59edf,1979000052
+02205f62ced54ce7a72f1198eba59edf,1979000046
+02205f62ced54ce7a72f1198eba59edf,1979000044
+02205f62ced54ce7a72f1198eba59edf,1979000029
+02205f62ced54ce7a72f1198eba59edf,1979000027
+02205f62ced54ce7a72f1198eba59edf,1978000058
+02205f62ced54ce7a72f1198eba59edf,1978000052
+02205f62ced54ce7a72f1198eba59edf,1978000050
+02205f62ced54ce7a72f1198eba59edf,1978000038
+02205f62ced54ce7a72f1198eba59edf,1978000013
+02205f62ced54ce7a72f1198eba59edf,1978000010
+02205f62ced54ce7a72f1198eba59edf,1978000009
+02205f62ced54ce7a72f1198eba59edf,1978000003
+02205f62ced54ce7a72f1198eba59edf,1977000062
+02205f62ced54ce7a72f1198eba59edf,1977000060
+02205f62ced54ce7a72f1198eba59edf,1977000058
+02205f62ced54ce7a72f1198eba59edf,1977000047
+02205f62ced54ce7a72f1198eba59edf,1977000038
+02205f62ced54ce7a72f1198eba59edf,1977000032
+02205f62ced54ce7a72f1198eba59edf,1977000010
+02205f62ced54ce7a72f1198eba59edf,1977000008
+02205f62ced54ce7a72f1198eba59edf,1976000054
+02205f62ced54ce7a72f1198eba59edf,1975000015
+02205f62ced54ce7a72f1198eba59edf,1975000007
+02205f62ced54ce7a72f1198eba59edf,1974000010
+02205f62ced54ce7a72f1198eba59edf,1973000051
+02205f62ced54ce7a72f1198eba59edf,1972000049
+02205f62ced54ce7a72f1198eba59edf,1972000035
+02205f62ced54ce7a72f1198eba59edf,1972000027
+02205f62ced54ce7a72f1198eba59edf,1972000025
+02205f62ced54ce7a72f1198eba59edf,1972000004
+02205f62ced54ce7a72f1198eba59edf,1971000074
+02205f62ced54ce7a72f1198eba59edf,1969000001
+02205f62ced54ce7a72f1198eba59edf,1957000001
+02205f62ced54ce7a72f1198eba59edf,1949000001
+02205f62ced54ce7a72f1198eba59edf,08010
+02205f62ced54ce7a72f1198eba59edf,07191
+02205f62ced54ce7a72f1198eba59edf,07190
+02205f62ced54ce7a72f1198eba59edf,06430
+02205f62ced54ce7a72f1198eba59edf,06420
+02205f62ced54ce7a72f1198eba59edf,06410
+02205f62ced54ce7a72f1198eba59edf,06401
+02205f62ced54ce7a72f1198eba59edf,06391
+02205f62ced54ce7a72f1198eba59edf,06180
+02205f62ced54ce7a72f1198eba59edf,06170
+02205f62ced54ce7a72f1198eba59edf,06160
+02205f62ced54ce7a72f1198eba59edf,06140
+02205f62ced54ce7a72f1198eba59edf,06130
+02205f62ced54ce7a72f1198eba59edf,06120
+02205f62ced54ce7a72f1198eba59edf,06110
+02205f62ced54ce7a72f1198eba59edf,06100
+02205f62ced54ce7a72f1198eba59edf,06090
+02205f62ced54ce7a72f1198eba59edf,06080
+02205f62ced54ce7a72f1198eba59edf,06070
+02205f62ced54ce7a72f1198eba59edf,06060
+02205f62ced54ce7a72f1198eba59edf,06050
+02205f62ced54ce7a72f1198eba59edf,06040
+02205f62ced54ce7a72f1198eba59edf,06030
+02205f62ced54ce7a72f1198eba59edf,06020
+02205f62ced54ce7a72f1198eba59edf,06010
+02205f62ced54ce7a72f1198eba59edf,05070
+02205f62ced54ce7a72f1198eba59edf,05040
+02205f62ced54ce7a72f1198eba59edf,05030
+02205f62ced54ce7a72f1198eba59edf,05020
+02205f62ced54ce7a72f1198eba59edf,05010
+02205f62ced54ce7a72f1198eba59edf,04040
+02205f62ced54ce7a72f1198eba59edf,04013
+02205f62ced54ce7a72f1198eba59edf,04012
+02205f62ced54ce7a72f1198eba59edf,04011
+02205f62ced54ce7a72f1198eba59edf,03040
+02205f62ced54ce7a72f1198eba59edf,03010
+02205f62ced54ce7a72f1198eba59edf,02281
+02205f62ced54ce7a72f1198eba59edf,02220
+02205f62ced54ce7a72f1198eba59edf,02210
+02205f62ced54ce7a72f1198eba59edf,02200
+02205f62ced54ce7a72f1198eba59edf,02190
+02205f62ced54ce7a72f1198eba59edf,02180
+02205f62ced54ce7a72f1198eba59edf,02170
+02205f62ced54ce7a72f1198eba59edf,02160
+02205f62ced54ce7a72f1198eba59edf,02121
+02205f62ced54ce7a72f1198eba59edf,02120
+02205f62ced54ce7a72f1198eba59edf,02110
+02205f62ced54ce7a72f1198eba59edf,02100
+02205f62ced54ce7a72f1198eba59edf,02090
+02205f62ced54ce7a72f1198eba59edf,02080
+02205f62ced54ce7a72f1198eba59edf,02070
+02205f62ced54ce7a72f1198eba59edf,02060
+02205f62ced54ce7a72f1198eba59edf,02040
+02205f62ced54ce7a72f1198eba59edf,02030
+02205f62ced54ce7a72f1198eba59edf,02020
+02205f62ced54ce7a72f1198eba59edf,02010
+02205f62ced54ce7a72f1198eba59edf,01110
+02205f62ced54ce7a72f1198eba59edf,01100
+02205f62ced54ce7a72f1198eba59edf,01090
+02205f62ced54ce7a72f1198eba59edf,01080
+02205f62ced54ce7a72f1198eba59edf,01070
+02205f62ced54ce7a72f1198eba59edf,01060
+02205f62ced54ce7a72f1198eba59edf,01040
+02205f62ced54ce7a72f1198eba59edf,01030
+02205f62ced54ce7a72f1198eba59edf,01021
+02205f62ced54ce7a72f1198eba59edf,01020
+02205f62ced54ce7a72f1198eba59edf,01014
+02205f62ced54ce7a72f1198eba59edf,01010
+02ece3204c464770ba3fc544abd8895c,2004000106
+02ece3204c464770ba3fc544abd8895c,2004000105
+02ece3204c464770ba3fc544abd8895c,2004000104
+02ece3204c464770ba3fc544abd8895c,2004000103
+02ece3204c464770ba3fc544abd8895c,2004000102
+02ece3204c464770ba3fc544abd8895c,2004000101
+02ece3204c464770ba3fc544abd8895c,2004000091
+02ece3204c464770ba3fc544abd8895c,2004000089
+02ece3204c464770ba3fc544abd8895c,2004000088
+02ece3204c464770ba3fc544abd8895c,2004000087
+02ece3204c464770ba3fc544abd8895c,2004000085
+02ece3204c464770ba3fc544abd8895c,2004000084
+02ece3204c464770ba3fc544abd8895c,2004000083
+02ece3204c464770ba3fc544abd8895c,2004000082
+02ece3204c464770ba3fc544abd8895c,2004000081
+02ece3204c464770ba3fc544abd8895c,2004000080
+02ece3204c464770ba3fc544abd8895c,2004000079
+02ece3204c464770ba3fc544abd8895c,2004000077
+02ece3204c464770ba3fc544abd8895c,2004000076
+02ece3204c464770ba3fc544abd8895c,2004000075
+02ece3204c464770ba3fc544abd8895c,2004000074
+02ece3204c464770ba3fc544abd8895c,2004000073
+02ece3204c464770ba3fc544abd8895c,2004000072
+02ece3204c464770ba3fc544abd8895c,2004000071
+02ece3204c464770ba3fc544abd8895c,2004000070
+02ece3204c464770ba3fc544abd8895c,2004000069
+02ece3204c464770ba3fc544abd8895c,2004000068
+02ece3204c464770ba3fc544abd8895c,2004000067
+02ece3204c464770ba3fc544abd8895c,2004000066
+02ece3204c464770ba3fc544abd8895c,2004000065
+02ece3204c464770ba3fc544abd8895c,2004000064
+02ece3204c464770ba3fc544abd8895c,2004000063
+02ece3204c464770ba3fc544abd8895c,2004000062
+02ece3204c464770ba3fc544abd8895c,2004000061
+02ece3204c464770ba3fc544abd8895c,2004000060
+02ece3204c464770ba3fc544abd8895c,2004000059
+02ece3204c464770ba3fc544abd8895c,2004000058
+02ece3204c464770ba3fc544abd8895c,2004000057
+02ece3204c464770ba3fc544abd8895c,2004000056
+02ece3204c464770ba3fc544abd8895c,2004000055
+02ece3204c464770ba3fc544abd8895c,2004000054
+02ece3204c464770ba3fc544abd8895c,2004000053
+02ece3204c464770ba3fc544abd8895c,2004000052
+02ece3204c464770ba3fc544abd8895c,2004000051
+02ece3204c464770ba3fc544abd8895c,2004000050
+02ece3204c464770ba3fc544abd8895c,2004000049
+02ece3204c464770ba3fc544abd8895c,2004000048
+02ece3204c464770ba3fc544abd8895c,2004000047
+02ece3204c464770ba3fc544abd8895c,2004000046
+02ece3204c464770ba3fc544abd8895c,2004000045
+02ece3204c464770ba3fc544abd8895c,2004000044
+02ece3204c464770ba3fc544abd8895c,2004000043
+02ece3204c464770ba3fc544abd8895c,2004000042
+02ece3204c464770ba3fc544abd8895c,2004000041
+02ece3204c464770ba3fc544abd8895c,2004000040
+02ece3204c464770ba3fc544abd8895c,2004000039
+02ece3204c464770ba3fc544abd8895c,2004000037
+02ece3204c464770ba3fc544abd8895c,2004000036
+02ece3204c464770ba3fc544abd8895c,2004000035
+02ece3204c464770ba3fc544abd8895c,2004000034
+02ece3204c464770ba3fc544abd8895c,2004000033
+02ece3204c464770ba3fc544abd8895c,2004000032
+02ece3204c464770ba3fc544abd8895c,2004000031
+02ece3204c464770ba3fc544abd8895c,2004000030
+02ece3204c464770ba3fc544abd8895c,2004000029
+02ece3204c464770ba3fc544abd8895c,2004000028
+02ece3204c464770ba3fc544abd8895c,2004000027
+02ece3204c464770ba3fc544abd8895c,2004000026
+02ece3204c464770ba3fc544abd8895c,2004000025
+02ece3204c464770ba3fc544abd8895c,2004000024
+02ece3204c464770ba3fc544abd8895c,2004000023
+02ece3204c464770ba3fc544abd8895c,2004000022
+02ece3204c464770ba3fc544abd8895c,2004000021
+02ece3204c464770ba3fc544abd8895c,2004000020
+02ece3204c464770ba3fc544abd8895c,2004000019
+02ece3204c464770ba3fc544abd8895c,2004000018
+02ece3204c464770ba3fc544abd8895c,2004000017
+02ece3204c464770ba3fc544abd8895c,2004000016
+02ece3204c464770ba3fc544abd8895c,2004000015
+02ece3204c464770ba3fc544abd8895c,2004000014
+02ece3204c464770ba3fc544abd8895c,2004000013
+02ece3204c464770ba3fc544abd8895c,2004000012
+02ece3204c464770ba3fc544abd8895c,2004000011
+02ece3204c464770ba3fc544abd8895c,2004000010
+02ece3204c464770ba3fc544abd8895c,2004000009
+02ece3204c464770ba3fc544abd8895c,2004000008
+02ece3204c464770ba3fc544abd8895c,2004000007
+02ece3204c464770ba3fc544abd8895c,2004000006
+02ece3204c464770ba3fc544abd8895c,2004000005
+02ece3204c464770ba3fc544abd8895c,2004000003
+02ece3204c464770ba3fc544abd8895c,2004000002
+02ece3204c464770ba3fc544abd8895c,2003030128
+02ece3204c464770ba3fc544abd8895c,2003030117
+02ece3204c464770ba3fc544abd8895c,2003030066
+02ece3204c464770ba3fc544abd8895c,2003020134
+02ece3204c464770ba3fc544abd8895c,2003020127
+02ece3204c464770ba3fc544abd8895c,2003020089
+02ece3204c464770ba3fc544abd8895c,2003020088
+02ece3204c464770ba3fc544abd8895c,2003020087
+02ece3204c464770ba3fc544abd8895c,2003020086
+02ece3204c464770ba3fc544abd8895c,2003020085
+02ece3204c464770ba3fc544abd8895c,2003020084
+02ece3204c464770ba3fc544abd8895c,2003020083
+02ece3204c464770ba3fc544abd8895c,2003020082
+02ece3204c464770ba3fc544abd8895c,2003020081
+02ece3204c464770ba3fc544abd8895c,2003020080
+02ece3204c464770ba3fc544abd8895c,2003020079
+02ece3204c464770ba3fc544abd8895c,2003020078
+02ece3204c464770ba3fc544abd8895c,2003020077
+02ece3204c464770ba3fc544abd8895c,2003020059
+02ece3204c464770ba3fc544abd8895c,2003020045
+02ece3204c464770ba3fc544abd8895c,2003020008
+02ece3204c464770ba3fc544abd8895c,2003010161
+02ece3204c464770ba3fc544abd8895c,2003000133
+02ece3204c464770ba3fc544abd8895c,2003000132
+02ece3204c464770ba3fc544abd8895c,2003000131
+02ece3204c464770ba3fc544abd8895c,2003000130
+02ece3204c464770ba3fc544abd8895c,2003000129
+02ece3204c464770ba3fc544abd8895c,2003000126
+02ece3204c464770ba3fc544abd8895c,2003000125
+02ece3204c464770ba3fc544abd8895c,2003000124
+02ece3204c464770ba3fc544abd8895c,2003000123
+02ece3204c464770ba3fc544abd8895c,2003000121
+02ece3204c464770ba3fc544abd8895c,2003000120
+02ece3204c464770ba3fc544abd8895c,2003000119
+02ece3204c464770ba3fc544abd8895c,2003000118
+02ece3204c464770ba3fc544abd8895c,2003000116
+02ece3204c464770ba3fc544abd8895c,2003000115
+02ece3204c464770ba3fc544abd8895c,2003000114
+02ece3204c464770ba3fc544abd8895c,2003000113
+02ece3204c464770ba3fc544abd8895c,2003000112
+02ece3204c464770ba3fc544abd8895c,2003000111
+02ece3204c464770ba3fc544abd8895c,2003000110
+02ece3204c464770ba3fc544abd8895c,2003000109
+02ece3204c464770ba3fc544abd8895c,2003000108
+02ece3204c464770ba3fc544abd8895c,2003000107
+02ece3204c464770ba3fc544abd8895c,2003000106
+02ece3204c464770ba3fc544abd8895c,2003000105
+02ece3204c464770ba3fc544abd8895c,2003000104
+02ece3204c464770ba3fc544abd8895c,2003000103
+02ece3204c464770ba3fc544abd8895c,2003000102
+02ece3204c464770ba3fc544abd8895c,2003000101
+02ece3204c464770ba3fc544abd8895c,2003000100
+02ece3204c464770ba3fc544abd8895c,2003000099
+02ece3204c464770ba3fc544abd8895c,2003000098
+02ece3204c464770ba3fc544abd8895c,2003000097
+02ece3204c464770ba3fc544abd8895c,2003000096
+02ece3204c464770ba3fc544abd8895c,2003000095
+02ece3204c464770ba3fc544abd8895c,2003000094
+02ece3204c464770ba3fc544abd8895c,2003000093
+02ece3204c464770ba3fc544abd8895c,2003000092
+02ece3204c464770ba3fc544abd8895c,2003000091
+02ece3204c464770ba3fc544abd8895c,2003000090
+02ece3204c464770ba3fc544abd8895c,2003000076
+02ece3204c464770ba3fc544abd8895c,2003000075
+02ece3204c464770ba3fc544abd8895c,2003000074
+02ece3204c464770ba3fc544abd8895c,2003000073
+02ece3204c464770ba3fc544abd8895c,2003000072
+02ece3204c464770ba3fc544abd8895c,2003000071
+02ece3204c464770ba3fc544abd8895c,2003000070
+02ece3204c464770ba3fc544abd8895c,2003000069
+02ece3204c464770ba3fc544abd8895c,2003000068
+02ece3204c464770ba3fc544abd8895c,2003000067
+02ece3204c464770ba3fc544abd8895c,2003000065
+02ece3204c464770ba3fc544abd8895c,2003000064
+02ece3204c464770ba3fc544abd8895c,2003000063
+02ece3204c464770ba3fc544abd8895c,2003000062
+02ece3204c464770ba3fc544abd8895c,2003000061
+02ece3204c464770ba3fc544abd8895c,2003000060
+02ece3204c464770ba3fc544abd8895c,2003000058
+02ece3204c464770ba3fc544abd8895c,2003000057
+02ece3204c464770ba3fc544abd8895c,2003000056
+02ece3204c464770ba3fc544abd8895c,2003000055
+02ece3204c464770ba3fc544abd8895c,2003000054
+02ece3204c464770ba3fc544abd8895c,2003000053
+02ece3204c464770ba3fc544abd8895c,2003000052
+02ece3204c464770ba3fc544abd8895c,2003000051
+02ece3204c464770ba3fc544abd8895c,2003000050
+02ece3204c464770ba3fc544abd8895c,2003000049
+02ece3204c464770ba3fc544abd8895c,2003000048
+02ece3204c464770ba3fc544abd8895c,2003000047
+02ece3204c464770ba3fc544abd8895c,2003000046
+02ece3204c464770ba3fc544abd8895c,2003000044
+02ece3204c464770ba3fc544abd8895c,2003000043
+02ece3204c464770ba3fc544abd8895c,2003000042
+02ece3204c464770ba3fc544abd8895c,2003000041
+02ece3204c464770ba3fc544abd8895c,2003000040
+02ece3204c464770ba3fc544abd8895c,2003000039
+02ece3204c464770ba3fc544abd8895c,2003000038
+02ece3204c464770ba3fc544abd8895c,2003000037
+02ece3204c464770ba3fc544abd8895c,2003000036
+02ece3204c464770ba3fc544abd8895c,2003000035
+02ece3204c464770ba3fc544abd8895c,2003000034
+02ece3204c464770ba3fc544abd8895c,2003000033
+02ece3204c464770ba3fc544abd8895c,2003000032
+02ece3204c464770ba3fc544abd8895c,2003000031
+02ece3204c464770ba3fc544abd8895c,2003000030
+02ece3204c464770ba3fc544abd8895c,2003000029
+02ece3204c464770ba3fc544abd8895c,2003000028
+02ece3204c464770ba3fc544abd8895c,2003000027
+02ece3204c464770ba3fc544abd8895c,2003000026
+02ece3204c464770ba3fc544abd8895c,2003000025
+02ece3204c464770ba3fc544abd8895c,2003000024
+02ece3204c464770ba3fc544abd8895c,2003000023
+02ece3204c464770ba3fc544abd8895c,2003000022
+02ece3204c464770ba3fc544abd8895c,2003000021
+02ece3204c464770ba3fc544abd8895c,2003000020
+02ece3204c464770ba3fc544abd8895c,2003000019
+02ece3204c464770ba3fc544abd8895c,2003000018
+02ece3204c464770ba3fc544abd8895c,2003000017
+02ece3204c464770ba3fc544abd8895c,2003000016
+02ece3204c464770ba3fc544abd8895c,2003000015
+02ece3204c464770ba3fc544abd8895c,2003000014
+02ece3204c464770ba3fc544abd8895c,2003000013
+02ece3204c464770ba3fc544abd8895c,2003000012
+02ece3204c464770ba3fc544abd8895c,2003000011
+02ece3204c464770ba3fc544abd8895c,2003000010
+02ece3204c464770ba3fc544abd8895c,2003000009
+02ece3204c464770ba3fc544abd8895c,2003000007
+02ece3204c464770ba3fc544abd8895c,2003000006
+02ece3204c464770ba3fc544abd8895c,2003000005
+02ece3204c464770ba3fc544abd8895c,2003000004
+02ece3204c464770ba3fc544abd8895c,2003000002
+02ece3204c464770ba3fc544abd8895c,2003000001
+02ece3204c464770ba3fc544abd8895c,2002060088
+02ece3204c464770ba3fc544abd8895c,2002030006
+02ece3204c464770ba3fc544abd8895c,2002020066
+02ece3204c464770ba3fc544abd8895c,2002020065
+02ece3204c464770ba3fc544abd8895c,2002020057
+02ece3204c464770ba3fc544abd8895c,2002020056
+02ece3204c464770ba3fc544abd8895c,2002020053
+02ece3204c464770ba3fc544abd8895c,2002020013
+02ece3204c464770ba3fc544abd8895c,2002020012
+02ece3204c464770ba3fc544abd8895c,2002020002
+02ece3204c464770ba3fc544abd8895c,2002020001
+02ece3204c464770ba3fc544abd8895c,2002000067
+02ece3204c464770ba3fc544abd8895c,2002000064
+02ece3204c464770ba3fc544abd8895c,2002000063
+02ece3204c464770ba3fc544abd8895c,2002000062
+02ece3204c464770ba3fc544abd8895c,2002000061
+02ece3204c464770ba3fc544abd8895c,2002000060
+02ece3204c464770ba3fc544abd8895c,2002000058
+02ece3204c464770ba3fc544abd8895c,2002000055
+02ece3204c464770ba3fc544abd8895c,2002000054
+02ece3204c464770ba3fc544abd8895c,2002000052
+02ece3204c464770ba3fc544abd8895c,2002000051
+02ece3204c464770ba3fc544abd8895c,2002000050
+02ece3204c464770ba3fc544abd8895c,2002000049
+02ece3204c464770ba3fc544abd8895c,2002000048
+02ece3204c464770ba3fc544abd8895c,2002000047
+02ece3204c464770ba3fc544abd8895c,2002000046
+02ece3204c464770ba3fc544abd8895c,2002000045
+02ece3204c464770ba3fc544abd8895c,2002000044
+02ece3204c464770ba3fc544abd8895c,2002000043
+02ece3204c464770ba3fc544abd8895c,2002000042
+02ece3204c464770ba3fc544abd8895c,2002000041
+02ece3204c464770ba3fc544abd8895c,2002000040
+02ece3204c464770ba3fc544abd8895c,2002000039
+02ece3204c464770ba3fc544abd8895c,2002000038
+02ece3204c464770ba3fc544abd8895c,2002000037
+02ece3204c464770ba3fc544abd8895c,2002000036
+02ece3204c464770ba3fc544abd8895c,2002000035
+02ece3204c464770ba3fc544abd8895c,2002000034
+02ece3204c464770ba3fc544abd8895c,2002000033
+02ece3204c464770ba3fc544abd8895c,2002000032
+02ece3204c464770ba3fc544abd8895c,2002000031
+02ece3204c464770ba3fc544abd8895c,2002000030
+02ece3204c464770ba3fc544abd8895c,2002000029
+02ece3204c464770ba3fc544abd8895c,2002000028
+02ece3204c464770ba3fc544abd8895c,2002000027
+02ece3204c464770ba3fc544abd8895c,2002000026
+02ece3204c464770ba3fc544abd8895c,2002000025
+02ece3204c464770ba3fc544abd8895c,2002000024
+02ece3204c464770ba3fc544abd8895c,2002000023
+02ece3204c464770ba3fc544abd8895c,2002000022
+02ece3204c464770ba3fc544abd8895c,2002000021
+02ece3204c464770ba3fc544abd8895c,2002000020
+02ece3204c464770ba3fc544abd8895c,2002000019
+02ece3204c464770ba3fc544abd8895c,2002000018
+02ece3204c464770ba3fc544abd8895c,2002000017
+02ece3204c464770ba3fc544abd8895c,2002000016
+02ece3204c464770ba3fc544abd8895c,2002000015
+02ece3204c464770ba3fc544abd8895c,2002000011
+02ece3204c464770ba3fc544abd8895c,2002000010
+02ece3204c464770ba3fc544abd8895c,2002000009
+02ece3204c464770ba3fc544abd8895c,2002000008
+02ece3204c464770ba3fc544abd8895c,2002000007
+02ece3204c464770ba3fc544abd8895c,2002000005
+02ece3204c464770ba3fc544abd8895c,2002000004
+02ece3204c464770ba3fc544abd8895c,2002000003
+02ece3204c464770ba3fc544abd8895c,2001060129
+02ece3204c464770ba3fc544abd8895c,2001030127
+02ece3204c464770ba3fc544abd8895c,2001020098
+02ece3204c464770ba3fc544abd8895c,2001020097
+02ece3204c464770ba3fc544abd8895c,2001020061
+02ece3204c464770ba3fc544abd8895c,2001020058
+02ece3204c464770ba3fc544abd8895c,2001020056
+02ece3204c464770ba3fc544abd8895c,2001020055
+02ece3204c464770ba3fc544abd8895c,2001020049
+02ece3204c464770ba3fc544abd8895c,2001020047
+02ece3204c464770ba3fc544abd8895c,2001020039
+02ece3204c464770ba3fc544abd8895c,2001020008
+02ece3204c464770ba3fc544abd8895c,2001000101
+02ece3204c464770ba3fc544abd8895c,2001000100
+02ece3204c464770ba3fc544abd8895c,2001000096
+02ece3204c464770ba3fc544abd8895c,2001000095
+02ece3204c464770ba3fc544abd8895c,2001000094
+02ece3204c464770ba3fc544abd8895c,2001000093
+02ece3204c464770ba3fc544abd8895c,2001000092
+02ece3204c464770ba3fc544abd8895c,2001000091
+02ece3204c464770ba3fc544abd8895c,2001000090
+02ece3204c464770ba3fc544abd8895c,2001000089
+02ece3204c464770ba3fc544abd8895c,2001000088
+02ece3204c464770ba3fc544abd8895c,2001000086
+02ece3204c464770ba3fc544abd8895c,2001000085
+02ece3204c464770ba3fc544abd8895c,2001000084
+02ece3204c464770ba3fc544abd8895c,2001000083
+02ece3204c464770ba3fc544abd8895c,2001000082
+02ece3204c464770ba3fc544abd8895c,2001000081
+02ece3204c464770ba3fc544abd8895c,2001000080
+02ece3204c464770ba3fc544abd8895c,2001000079
+02ece3204c464770ba3fc544abd8895c,2001000078
+02ece3204c464770ba3fc544abd8895c,2001000077
+02ece3204c464770ba3fc544abd8895c,2001000076
+02ece3204c464770ba3fc544abd8895c,2001000075
+02ece3204c464770ba3fc544abd8895c,2001000074
+02ece3204c464770ba3fc544abd8895c,2001000073
+02ece3204c464770ba3fc544abd8895c,2001000072
+02ece3204c464770ba3fc544abd8895c,2001000071
+02ece3204c464770ba3fc544abd8895c,2001000070
+02ece3204c464770ba3fc544abd8895c,2001000069
+02ece3204c464770ba3fc544abd8895c,2001000068
+02ece3204c464770ba3fc544abd8895c,2001000067
+02ece3204c464770ba3fc544abd8895c,2001000066
+02ece3204c464770ba3fc544abd8895c,2001000065
+02ece3204c464770ba3fc544abd8895c,2001000064
+02ece3204c464770ba3fc544abd8895c,2001000063
+02ece3204c464770ba3fc544abd8895c,2001000062
+02ece3204c464770ba3fc544abd8895c,2001000060
+02ece3204c464770ba3fc544abd8895c,2001000059
+02ece3204c464770ba3fc544abd8895c,2001000057
+02ece3204c464770ba3fc544abd8895c,2001000054
+02ece3204c464770ba3fc544abd8895c,2001000053
+02ece3204c464770ba3fc544abd8895c,2001000052
+02ece3204c464770ba3fc544abd8895c,2001000051
+02ece3204c464770ba3fc544abd8895c,2001000050
+02ece3204c464770ba3fc544abd8895c,2001000048
+02ece3204c464770ba3fc544abd8895c,2001000046
+02ece3204c464770ba3fc544abd8895c,2001000045
+02ece3204c464770ba3fc544abd8895c,2001000044
+02ece3204c464770ba3fc544abd8895c,2001000043
+02ece3204c464770ba3fc544abd8895c,2001000042
+02ece3204c464770ba3fc544abd8895c,2001000040
+02ece3204c464770ba3fc544abd8895c,2001000038
+02ece3204c464770ba3fc544abd8895c,2001000037
+02ece3204c464770ba3fc544abd8895c,2001000035
+02ece3204c464770ba3fc544abd8895c,2001000034
+02ece3204c464770ba3fc544abd8895c,2001000033
+02ece3204c464770ba3fc544abd8895c,2001000032
+02ece3204c464770ba3fc544abd8895c,2001000031
+02ece3204c464770ba3fc544abd8895c,2001000030
+02ece3204c464770ba3fc544abd8895c,2001000029
+02ece3204c464770ba3fc544abd8895c,2001000028
+02ece3204c464770ba3fc544abd8895c,2001000027
+02ece3204c464770ba3fc544abd8895c,2001000026
+02ece3204c464770ba3fc544abd8895c,2001000025
+02ece3204c464770ba3fc544abd8895c,2001000024
+02ece3204c464770ba3fc544abd8895c,2001000023
+02ece3204c464770ba3fc544abd8895c,2001000022
+02ece3204c464770ba3fc544abd8895c,2001000021
+02ece3204c464770ba3fc544abd8895c,2001000020
+02ece3204c464770ba3fc544abd8895c,2001000019
+02ece3204c464770ba3fc544abd8895c,2001000018
+02ece3204c464770ba3fc544abd8895c,2001000017
+02ece3204c464770ba3fc544abd8895c,2001000016
+02ece3204c464770ba3fc544abd8895c,2001000015
+02ece3204c464770ba3fc544abd8895c,2001000014
+02ece3204c464770ba3fc544abd8895c,2001000013
+02ece3204c464770ba3fc544abd8895c,2001000012
+02ece3204c464770ba3fc544abd8895c,2001000011
+02ece3204c464770ba3fc544abd8895c,2001000010
+02ece3204c464770ba3fc544abd8895c,2001000007
+02ece3204c464770ba3fc544abd8895c,2001000006
+02ece3204c464770ba3fc544abd8895c,2001000005
+02ece3204c464770ba3fc544abd8895c,2001000004
+02ece3204c464770ba3fc544abd8895c,2001000003
+02ece3204c464770ba3fc544abd8895c,2001000002
+02ece3204c464770ba3fc544abd8895c,2001000001
+02ece3204c464770ba3fc544abd8895c,20010
+02ece3204c464770ba3fc544abd8895c,2000060101
+02ece3204c464770ba3fc544abd8895c,2000010009
+02ece3204c464770ba3fc544abd8895c,2000000082
+02ece3204c464770ba3fc544abd8895c,2000000081
+02ece3204c464770ba3fc544abd8895c,2000000080
+02ece3204c464770ba3fc544abd8895c,2000000078
+02ece3204c464770ba3fc544abd8895c,2000000077
+02ece3204c464770ba3fc544abd8895c,2000000076
+02ece3204c464770ba3fc544abd8895c,2000000075
+02ece3204c464770ba3fc544abd8895c,2000000074
+02ece3204c464770ba3fc544abd8895c,2000000073
+02ece3204c464770ba3fc544abd8895c,2000000072
+02ece3204c464770ba3fc544abd8895c,2000000071
+02ece3204c464770ba3fc544abd8895c,2000000070
+02ece3204c464770ba3fc544abd8895c,2000000069
+02ece3204c464770ba3fc544abd8895c,2000000068
+02ece3204c464770ba3fc544abd8895c,2000000066
+02ece3204c464770ba3fc544abd8895c,2000000065
+02ece3204c464770ba3fc544abd8895c,2000000064
+02ece3204c464770ba3fc544abd8895c,2000000063
+02ece3204c464770ba3fc544abd8895c,2000000061
+02ece3204c464770ba3fc544abd8895c,2000000060
+02ece3204c464770ba3fc544abd8895c,2000000059
+02ece3204c464770ba3fc544abd8895c,2000000058
+02ece3204c464770ba3fc544abd8895c,2000000057
+02ece3204c464770ba3fc544abd8895c,2000000056
+02ece3204c464770ba3fc544abd8895c,2000000055
+02ece3204c464770ba3fc544abd8895c,2000000054
+02ece3204c464770ba3fc544abd8895c,2000000053
+02ece3204c464770ba3fc544abd8895c,2000000052
+02ece3204c464770ba3fc544abd8895c,2000000051
+02ece3204c464770ba3fc544abd8895c,2000000050
+02ece3204c464770ba3fc544abd8895c,2000000049
+02ece3204c464770ba3fc544abd8895c,2000000048
+02ece3204c464770ba3fc544abd8895c,2000000047
+02ece3204c464770ba3fc544abd8895c,2000000046
+02ece3204c464770ba3fc544abd8895c,2000000045
+02ece3204c464770ba3fc544abd8895c,2000000044
+02ece3204c464770ba3fc544abd8895c,2000000043
+02ece3204c464770ba3fc544abd8895c,2000000042
+02ece3204c464770ba3fc544abd8895c,2000000041
+02ece3204c464770ba3fc544abd8895c,2000000039
+02ece3204c464770ba3fc544abd8895c,2000000038
+02ece3204c464770ba3fc544abd8895c,2000000037
+02ece3204c464770ba3fc544abd8895c,2000000036
+02ece3204c464770ba3fc544abd8895c,2000000035
+02ece3204c464770ba3fc544abd8895c,2000000034
+02ece3204c464770ba3fc544abd8895c,2000000033
+02ece3204c464770ba3fc544abd8895c,2000000032
+02ece3204c464770ba3fc544abd8895c,2000000031
+02ece3204c464770ba3fc544abd8895c,2000000030
+02ece3204c464770ba3fc544abd8895c,2000000029
+02ece3204c464770ba3fc544abd8895c,2000000028
+02ece3204c464770ba3fc544abd8895c,2000000027
+02ece3204c464770ba3fc544abd8895c,2000000026
+02ece3204c464770ba3fc544abd8895c,2000000025
+02ece3204c464770ba3fc544abd8895c,2000000024
+02ece3204c464770ba3fc544abd8895c,2000000023
+02ece3204c464770ba3fc544abd8895c,2000000022
+02ece3204c464770ba3fc544abd8895c,2000000021
+02ece3204c464770ba3fc544abd8895c,2000000020
+02ece3204c464770ba3fc544abd8895c,2000000019
+02ece3204c464770ba3fc544abd8895c,2000000018
+02ece3204c464770ba3fc544abd8895c,2000000017
+02ece3204c464770ba3fc544abd8895c,2000000016
+02ece3204c464770ba3fc544abd8895c,2000000015
+02ece3204c464770ba3fc544abd8895c,2000000014
+02ece3204c464770ba3fc544abd8895c,2000000013
+02ece3204c464770ba3fc544abd8895c,2000000012
+02ece3204c464770ba3fc544abd8895c,2000000011
+02ece3204c464770ba3fc544abd8895c,2000000010
+02ece3204c464770ba3fc544abd8895c,2000000007
+02ece3204c464770ba3fc544abd8895c,2000000006
+02ece3204c464770ba3fc544abd8895c,2000000005
+02ece3204c464770ba3fc544abd8895c,2000000004
+02ece3204c464770ba3fc544abd8895c,2000000003
+02ece3204c464770ba3fc544abd8895c,2000000001
+02ece3204c464770ba3fc544abd8895c,1999000061
+02ece3204c464770ba3fc544abd8895c,1999000060
+02ece3204c464770ba3fc544abd8895c,1999000059
+02ece3204c464770ba3fc544abd8895c,1999000058
+02ece3204c464770ba3fc544abd8895c,1999000057
+02ece3204c464770ba3fc544abd8895c,1999000056
+02ece3204c464770ba3fc544abd8895c,1999000055
+02ece3204c464770ba3fc544abd8895c,1999000054
+02ece3204c464770ba3fc544abd8895c,1999000053
+02ece3204c464770ba3fc544abd8895c,1999000052
+02ece3204c464770ba3fc544abd8895c,1999000051
+02ece3204c464770ba3fc544abd8895c,1999000050
+02ece3204c464770ba3fc544abd8895c,1999000049
+02ece3204c464770ba3fc544abd8895c,1999000048
+02ece3204c464770ba3fc544abd8895c,1999000047
+02ece3204c464770ba3fc544abd8895c,1999000046
+02ece3204c464770ba3fc544abd8895c,1999000045
+02ece3204c464770ba3fc544abd8895c,1999000044
+02ece3204c464770ba3fc544abd8895c,1999000043
+02ece3204c464770ba3fc544abd8895c,1999000042
+02ece3204c464770ba3fc544abd8895c,1999000041
+02ece3204c464770ba3fc544abd8895c,1999000040
+02ece3204c464770ba3fc544abd8895c,1999000039
+02ece3204c464770ba3fc544abd8895c,1999000038
+02ece3204c464770ba3fc544abd8895c,1999000037
+02ece3204c464770ba3fc544abd8895c,1999000036
+02ece3204c464770ba3fc544abd8895c,1999000035
+02ece3204c464770ba3fc544abd8895c,1999000034
+02ece3204c464770ba3fc544abd8895c,1999000033
+02ece3204c464770ba3fc544abd8895c,1999000032
+02ece3204c464770ba3fc544abd8895c,1999000031
+02ece3204c464770ba3fc544abd8895c,1999000030
+02ece3204c464770ba3fc544abd8895c,1999000029
+02ece3204c464770ba3fc544abd8895c,1999000028
+02ece3204c464770ba3fc544abd8895c,1999000027
+02ece3204c464770ba3fc544abd8895c,1999000026
+02ece3204c464770ba3fc544abd8895c,1999000025
+02ece3204c464770ba3fc544abd8895c,1999000024
+02ece3204c464770ba3fc544abd8895c,1999000023
+02ece3204c464770ba3fc544abd8895c,1999000022
+02ece3204c464770ba3fc544abd8895c,1999000021
+02ece3204c464770ba3fc544abd8895c,1999000020
+02ece3204c464770ba3fc544abd8895c,1999000019
+02ece3204c464770ba3fc544abd8895c,1999000018
+02ece3204c464770ba3fc544abd8895c,1999000017
+02ece3204c464770ba3fc544abd8895c,1999000016
+02ece3204c464770ba3fc544abd8895c,1999000015
+02ece3204c464770ba3fc544abd8895c,1999000013
+02ece3204c464770ba3fc544abd8895c,1999000012
+02ece3204c464770ba3fc544abd8895c,1999000011
+02ece3204c464770ba3fc544abd8895c,1999000010
+02ece3204c464770ba3fc544abd8895c,1999000009
+02ece3204c464770ba3fc544abd8895c,1999000008
+02ece3204c464770ba3fc544abd8895c,1999000007
+02ece3204c464770ba3fc544abd8895c,1999000006
+02ece3204c464770ba3fc544abd8895c,1999000005
+02ece3204c464770ba3fc544abd8895c,1999000004
+02ece3204c464770ba3fc544abd8895c,1999000002
+02ece3204c464770ba3fc544abd8895c,1999000001
+02ece3204c464770ba3fc544abd8895c,1998010058
+02ece3204c464770ba3fc544abd8895c,1998010054
+02ece3204c464770ba3fc544abd8895c,1998000059
+02ece3204c464770ba3fc544abd8895c,1998000055
+02ece3204c464770ba3fc544abd8895c,1998000052
+02ece3204c464770ba3fc544abd8895c,1998000051
+02ece3204c464770ba3fc544abd8895c,1998000050
+02ece3204c464770ba3fc544abd8895c,1998000049
+02ece3204c464770ba3fc544abd8895c,1998000048
+02ece3204c464770ba3fc544abd8895c,1998000047
+02ece3204c464770ba3fc544abd8895c,1998000045
+02ece3204c464770ba3fc544abd8895c,1998000044
+02ece3204c464770ba3fc544abd8895c,1998000043
+02ece3204c464770ba3fc544abd8895c,1998000042
+02ece3204c464770ba3fc544abd8895c,1998000041
+02ece3204c464770ba3fc544abd8895c,1998000040
+02ece3204c464770ba3fc544abd8895c,1998000039
+02ece3204c464770ba3fc544abd8895c,1998000038
+02ece3204c464770ba3fc544abd8895c,1998000037
+02ece3204c464770ba3fc544abd8895c,1998000036
+02ece3204c464770ba3fc544abd8895c,1998000035
+02ece3204c464770ba3fc544abd8895c,1998000034
+02ece3204c464770ba3fc544abd8895c,1998000033
+02ece3204c464770ba3fc544abd8895c,1998000032
+02ece3204c464770ba3fc544abd8895c,1998000031
+02ece3204c464770ba3fc544abd8895c,1998000030
+02ece3204c464770ba3fc544abd8895c,1998000029
+02ece3204c464770ba3fc544abd8895c,1998000028
+02ece3204c464770ba3fc544abd8895c,1998000027
+02ece3204c464770ba3fc544abd8895c,1998000026
+02ece3204c464770ba3fc544abd8895c,1998000025
+02ece3204c464770ba3fc544abd8895c,1998000024
+02ece3204c464770ba3fc544abd8895c,1998000023
+02ece3204c464770ba3fc544abd8895c,1998000022
+02ece3204c464770ba3fc544abd8895c,1998000021
+02ece3204c464770ba3fc544abd8895c,1998000020
+02ece3204c464770ba3fc544abd8895c,1998000019
+02ece3204c464770ba3fc544abd8895c,1998000018
+02ece3204c464770ba3fc544abd8895c,1998000017
+02ece3204c464770ba3fc544abd8895c,1998000016
+02ece3204c464770ba3fc544abd8895c,1998000015
+02ece3204c464770ba3fc544abd8895c,1998000014
+02ece3204c464770ba3fc544abd8895c,1998000013
+02ece3204c464770ba3fc544abd8895c,1998000012
+02ece3204c464770ba3fc544abd8895c,1998000011
+02ece3204c464770ba3fc544abd8895c,1998000010
+02ece3204c464770ba3fc544abd8895c,1998000009
+02ece3204c464770ba3fc544abd8895c,1998000008
+02ece3204c464770ba3fc544abd8895c,1998000007
+02ece3204c464770ba3fc544abd8895c,1998000005
+02ece3204c464770ba3fc544abd8895c,1998000003
+02ece3204c464770ba3fc544abd8895c,1998000001
+02ece3204c464770ba3fc544abd8895c,1997010109
+02ece3204c464770ba3fc544abd8895c,1997010108
+02ece3204c464770ba3fc544abd8895c,1997010105
+02ece3204c464770ba3fc544abd8895c,1997010104
+02ece3204c464770ba3fc544abd8895c,1997010103
+02ece3204c464770ba3fc544abd8895c,1997010102
+02ece3204c464770ba3fc544abd8895c,1997010078
+02ece3204c464770ba3fc544abd8895c,1997010077
+02ece3204c464770ba3fc544abd8895c,1997010074
+02ece3204c464770ba3fc544abd8895c,1997010065
+02ece3204c464770ba3fc544abd8895c,1997010053
+02ece3204c464770ba3fc544abd8895c,1997010024
+02ece3204c464770ba3fc544abd8895c,1997010022
+02ece3204c464770ba3fc544abd8895c,1997000107
+02ece3204c464770ba3fc544abd8895c,1997000106
+02ece3204c464770ba3fc544abd8895c,1997000101
+02ece3204c464770ba3fc544abd8895c,1997000100
+02ece3204c464770ba3fc544abd8895c,1997000099
+02ece3204c464770ba3fc544abd8895c,1997000098
+02ece3204c464770ba3fc544abd8895c,1997000097
+02ece3204c464770ba3fc544abd8895c,1997000096
+02ece3204c464770ba3fc544abd8895c,1997000095
+02ece3204c464770ba3fc544abd8895c,1997000093
+02ece3204c464770ba3fc544abd8895c,1997000092
+02ece3204c464770ba3fc544abd8895c,1997000091
+02ece3204c464770ba3fc544abd8895c,1997000090
+02ece3204c464770ba3fc544abd8895c,1997000089
+02ece3204c464770ba3fc544abd8895c,1997000088
+02ece3204c464770ba3fc544abd8895c,1997000086
+02ece3204c464770ba3fc544abd8895c,1997000085
+02ece3204c464770ba3fc544abd8895c,1997000084
+02ece3204c464770ba3fc544abd8895c,1997000083
+02ece3204c464770ba3fc544abd8895c,1997000082
+02ece3204c464770ba3fc544abd8895c,1997000081
+02ece3204c464770ba3fc544abd8895c,1997000080
+02ece3204c464770ba3fc544abd8895c,1997000079
+02ece3204c464770ba3fc544abd8895c,1997000076
+02ece3204c464770ba3fc544abd8895c,1997000075
+02ece3204c464770ba3fc544abd8895c,1997000073
+02ece3204c464770ba3fc544abd8895c,1997000072
+02ece3204c464770ba3fc544abd8895c,1997000071
+02ece3204c464770ba3fc544abd8895c,1997000070
+02ece3204c464770ba3fc544abd8895c,1997000069
+02ece3204c464770ba3fc544abd8895c,1997000068
+02ece3204c464770ba3fc544abd8895c,1997000067
+02ece3204c464770ba3fc544abd8895c,1997000066
+02ece3204c464770ba3fc544abd8895c,1997000064
+02ece3204c464770ba3fc544abd8895c,1997000063
+02ece3204c464770ba3fc544abd8895c,1997000062
+02ece3204c464770ba3fc544abd8895c,1997000061
+02ece3204c464770ba3fc544abd8895c,1997000060
+02ece3204c464770ba3fc544abd8895c,1997000058
+02ece3204c464770ba3fc544abd8895c,1997000057
+02ece3204c464770ba3fc544abd8895c,1997000056
+02ece3204c464770ba3fc544abd8895c,1997000055
+02ece3204c464770ba3fc544abd8895c,1997000054
+02ece3204c464770ba3fc544abd8895c,1997000052
+02ece3204c464770ba3fc544abd8895c,1997000050
+02ece3204c464770ba3fc544abd8895c,1997000048
+02ece3204c464770ba3fc544abd8895c,1997000047
+02ece3204c464770ba3fc544abd8895c,1997000046
+02ece3204c464770ba3fc544abd8895c,1997000045
+02ece3204c464770ba3fc544abd8895c,1997000044
+02ece3204c464770ba3fc544abd8895c,1997000043
+02ece3204c464770ba3fc544abd8895c,1997000042
+02ece3204c464770ba3fc544abd8895c,1997000041
+02ece3204c464770ba3fc544abd8895c,1997000040
+02ece3204c464770ba3fc544abd8895c,1997000039
+02ece3204c464770ba3fc544abd8895c,1997000038
+02ece3204c464770ba3fc544abd8895c,1997000036
+02ece3204c464770ba3fc544abd8895c,1997000035
+02ece3204c464770ba3fc544abd8895c,1997000034
+02ece3204c464770ba3fc544abd8895c,1997000033
+02ece3204c464770ba3fc544abd8895c,1997000032
+02ece3204c464770ba3fc544abd8895c,1997000031
+02ece3204c464770ba3fc544abd8895c,1997000030
+02ece3204c464770ba3fc544abd8895c,1997000029
+02ece3204c464770ba3fc544abd8895c,1997000028
+02ece3204c464770ba3fc544abd8895c,1997000026
+02ece3204c464770ba3fc544abd8895c,1997000023
+02ece3204c464770ba3fc544abd8895c,1997000019
+02ece3204c464770ba3fc544abd8895c,1997000018
+02ece3204c464770ba3fc544abd8895c,1997000017
+02ece3204c464770ba3fc544abd8895c,1997000016
+02ece3204c464770ba3fc544abd8895c,1997000015
+02ece3204c464770ba3fc544abd8895c,1997000014
+02ece3204c464770ba3fc544abd8895c,1997000013
+02ece3204c464770ba3fc544abd8895c,1997000012
+02ece3204c464770ba3fc544abd8895c,1997000010
+02ece3204c464770ba3fc544abd8895c,1997000009
+02ece3204c464770ba3fc544abd8895c,1997000007
+02ece3204c464770ba3fc544abd8895c,1997000006
+02ece3204c464770ba3fc544abd8895c,1997000005
+02ece3204c464770ba3fc544abd8895c,1997000004
+02ece3204c464770ba3fc544abd8895c,1997000003
+02ece3204c464770ba3fc544abd8895c,1997000002
+02ece3204c464770ba3fc544abd8895c,1997000001
+02ece3204c464770ba3fc544abd8895c,1996010109
+02ece3204c464770ba3fc544abd8895c,1996010106
+02ece3204c464770ba3fc544abd8895c,1996010103
+02ece3204c464770ba3fc544abd8895c,1996010098
+02ece3204c464770ba3fc544abd8895c,1996010097
+02ece3204c464770ba3fc544abd8895c,1996010089
+02ece3204c464770ba3fc544abd8895c,1996010085
+02ece3204c464770ba3fc544abd8895c,1996010078
+02ece3204c464770ba3fc544abd8895c,1996010077
+02ece3204c464770ba3fc544abd8895c,1996010076
+02ece3204c464770ba3fc544abd8895c,1996000112
+02ece3204c464770ba3fc544abd8895c,1996000111
+02ece3204c464770ba3fc544abd8895c,1996000110
+02ece3204c464770ba3fc544abd8895c,1996000108
+02ece3204c464770ba3fc544abd8895c,1996000107
+02ece3204c464770ba3fc544abd8895c,1996000105
+02ece3204c464770ba3fc544abd8895c,1996000104
+02ece3204c464770ba3fc544abd8895c,1996000102
+02ece3204c464770ba3fc544abd8895c,1996000101
+02ece3204c464770ba3fc544abd8895c,1996000100
+02ece3204c464770ba3fc544abd8895c,1996000094
+02ece3204c464770ba3fc544abd8895c,1996000093
+02ece3204c464770ba3fc544abd8895c,1996000092
+02ece3204c464770ba3fc544abd8895c,1996000091
+02ece3204c464770ba3fc544abd8895c,1996000088
+02ece3204c464770ba3fc544abd8895c,1996000087
+02ece3204c464770ba3fc544abd8895c,1996000086
+02ece3204c464770ba3fc544abd8895c,1996000084
+02ece3204c464770ba3fc544abd8895c,1996000083
+02ece3204c464770ba3fc544abd8895c,1996000082
+02ece3204c464770ba3fc544abd8895c,1996000081
+02ece3204c464770ba3fc544abd8895c,1996000080
+02ece3204c464770ba3fc544abd8895c,1996000079
+02ece3204c464770ba3fc544abd8895c,1996000075
+02ece3204c464770ba3fc544abd8895c,1996000074
+02ece3204c464770ba3fc544abd8895c,1996000073
+02ece3204c464770ba3fc544abd8895c,1996000072
+02ece3204c464770ba3fc544abd8895c,1996000071
+02ece3204c464770ba3fc544abd8895c,1996000070
+02ece3204c464770ba3fc544abd8895c,1996000069
+02ece3204c464770ba3fc544abd8895c,1996000068
+02ece3204c464770ba3fc544abd8895c,1996000067
+02ece3204c464770ba3fc544abd8895c,1996000066
+02ece3204c464770ba3fc544abd8895c,1996000065
+02ece3204c464770ba3fc544abd8895c,1996000064
+02ece3204c464770ba3fc544abd8895c,1996000063
+02ece3204c464770ba3fc544abd8895c,1996000062
+02ece3204c464770ba3fc544abd8895c,1996000060
+02ece3204c464770ba3fc544abd8895c,1996000059
+02ece3204c464770ba3fc544abd8895c,1996000058
+02ece3204c464770ba3fc544abd8895c,1996000057
+02ece3204c464770ba3fc544abd8895c,1996000056
+02ece3204c464770ba3fc544abd8895c,1996000055
+02ece3204c464770ba3fc544abd8895c,1996000054
+02ece3204c464770ba3fc544abd8895c,1996000053
+02ece3204c464770ba3fc544abd8895c,1996000052
+02ece3204c464770ba3fc544abd8895c,1996000051
+02ece3204c464770ba3fc544abd8895c,1996000050
+02ece3204c464770ba3fc544abd8895c,1996000049
+02ece3204c464770ba3fc544abd8895c,1996000048
+02ece3204c464770ba3fc544abd8895c,1996000047
+02ece3204c464770ba3fc544abd8895c,1996000046
+02ece3204c464770ba3fc544abd8895c,1996000045
+02ece3204c464770ba3fc544abd8895c,1996000044
+02ece3204c464770ba3fc544abd8895c,1996000043
+02ece3204c464770ba3fc544abd8895c,1996000042
+02ece3204c464770ba3fc544abd8895c,1996000041
+02ece3204c464770ba3fc544abd8895c,1996000040
+02ece3204c464770ba3fc544abd8895c,1996000039
+02ece3204c464770ba3fc544abd8895c,1996000038
+02ece3204c464770ba3fc544abd8895c,1996000037
+02ece3204c464770ba3fc544abd8895c,1996000036
+02ece3204c464770ba3fc544abd8895c,1996000035
+02ece3204c464770ba3fc544abd8895c,1996000034
+02ece3204c464770ba3fc544abd8895c,1996000033
+02ece3204c464770ba3fc544abd8895c,1996000032
+02ece3204c464770ba3fc544abd8895c,1996000030
+02ece3204c464770ba3fc544abd8895c,1996000029
+02ece3204c464770ba3fc544abd8895c,1996000028
+02ece3204c464770ba3fc544abd8895c,1996000027
+02ece3204c464770ba3fc544abd8895c,1996000026
+02ece3204c464770ba3fc544abd8895c,1996000025
+02ece3204c464770ba3fc544abd8895c,1996000022
+02ece3204c464770ba3fc544abd8895c,1996000021
+02ece3204c464770ba3fc544abd8895c,1996000020
+02ece3204c464770ba3fc544abd8895c,1996000019
+02ece3204c464770ba3fc544abd8895c,1996000018
+02ece3204c464770ba3fc544abd8895c,1996000017
+02ece3204c464770ba3fc544abd8895c,1996000016
+02ece3204c464770ba3fc544abd8895c,1996000015
+02ece3204c464770ba3fc544abd8895c,1996000014
+02ece3204c464770ba3fc544abd8895c,1996000013
+02ece3204c464770ba3fc544abd8895c,1996000012
+02ece3204c464770ba3fc544abd8895c,1996000011
+02ece3204c464770ba3fc544abd8895c,1996000010
+02ece3204c464770ba3fc544abd8895c,1996000009
+02ece3204c464770ba3fc544abd8895c,1996000008
+02ece3204c464770ba3fc544abd8895c,1996000006
+02ece3204c464770ba3fc544abd8895c,1996000005
+02ece3204c464770ba3fc544abd8895c,1996000003
+02ece3204c464770ba3fc544abd8895c,1996000002
+02ece3204c464770ba3fc544abd8895c,1996000001
+02ece3204c464770ba3fc544abd8895c,1995010136
+02ece3204c464770ba3fc544abd8895c,1995010134
+02ece3204c464770ba3fc544abd8895c,1995010046
+02ece3204c464770ba3fc544abd8895c,1995010028
+02ece3204c464770ba3fc544abd8895c,1995010027
+02ece3204c464770ba3fc544abd8895c,1995010026
+02ece3204c464770ba3fc544abd8895c,1995010021
+02ece3204c464770ba3fc544abd8895c,1995010019
+02ece3204c464770ba3fc544abd8895c,1995010018
+02ece3204c464770ba3fc544abd8895c,1995010017
+02ece3204c464770ba3fc544abd8895c,1995010012
+02ece3204c464770ba3fc544abd8895c,1995000147
+02ece3204c464770ba3fc544abd8895c,1995000146
+02ece3204c464770ba3fc544abd8895c,1995000145
+02ece3204c464770ba3fc544abd8895c,1995000143
+02ece3204c464770ba3fc544abd8895c,1995000142
+02ece3204c464770ba3fc544abd8895c,1995000140
+02ece3204c464770ba3fc544abd8895c,1995000139
+02ece3204c464770ba3fc544abd8895c,1995000137
+02ece3204c464770ba3fc544abd8895c,1995000135
+02ece3204c464770ba3fc544abd8895c,1995000133
+02ece3204c464770ba3fc544abd8895c,1995000132
+02ece3204c464770ba3fc544abd8895c,1995000131
+02ece3204c464770ba3fc544abd8895c,1995000130
+02ece3204c464770ba3fc544abd8895c,1995000128
+02ece3204c464770ba3fc544abd8895c,1995000127
+02ece3204c464770ba3fc544abd8895c,1995000125
+02ece3204c464770ba3fc544abd8895c,1995000124
+02ece3204c464770ba3fc544abd8895c,1995000123
+02ece3204c464770ba3fc544abd8895c,1995000122
+02ece3204c464770ba3fc544abd8895c,1995000121
+02ece3204c464770ba3fc544abd8895c,1995000120
+02ece3204c464770ba3fc544abd8895c,1995000119
+02ece3204c464770ba3fc544abd8895c,1995000118
+02ece3204c464770ba3fc544abd8895c,1995000117
+02ece3204c464770ba3fc544abd8895c,1995000116
+02ece3204c464770ba3fc544abd8895c,1995000115
+02ece3204c464770ba3fc544abd8895c,1995000114
+02ece3204c464770ba3fc544abd8895c,1995000113
+02ece3204c464770ba3fc544abd8895c,1995000112
+02ece3204c464770ba3fc544abd8895c,1995000111
+02ece3204c464770ba3fc544abd8895c,1995000110
+02ece3204c464770ba3fc544abd8895c,1995000109
+02ece3204c464770ba3fc544abd8895c,1995000108
+02ece3204c464770ba3fc544abd8895c,1995000107
+02ece3204c464770ba3fc544abd8895c,1995000106
+02ece3204c464770ba3fc544abd8895c,1995000105
+02ece3204c464770ba3fc544abd8895c,1995000103
+02ece3204c464770ba3fc544abd8895c,1995000102
+02ece3204c464770ba3fc544abd8895c,1995000101
+02ece3204c464770ba3fc544abd8895c,1995000100
+02ece3204c464770ba3fc544abd8895c,1995000099
+02ece3204c464770ba3fc544abd8895c,1995000098
+02ece3204c464770ba3fc544abd8895c,1995000097
+02ece3204c464770ba3fc544abd8895c,1995000096
+02ece3204c464770ba3fc544abd8895c,1995000095
+02ece3204c464770ba3fc544abd8895c,1995000094
+02ece3204c464770ba3fc544abd8895c,1995000093
+02ece3204c464770ba3fc544abd8895c,1995000092
+02ece3204c464770ba3fc544abd8895c,1995000091
+02ece3204c464770ba3fc544abd8895c,1995000090
+02ece3204c464770ba3fc544abd8895c,1995000089
+02ece3204c464770ba3fc544abd8895c,1995000088
+02ece3204c464770ba3fc544abd8895c,1995000087
+02ece3204c464770ba3fc544abd8895c,1995000086
+02ece3204c464770ba3fc544abd8895c,1995000085
+02ece3204c464770ba3fc544abd8895c,1995000084
+02ece3204c464770ba3fc544abd8895c,1995000083
+02ece3204c464770ba3fc544abd8895c,1995000082
+02ece3204c464770ba3fc544abd8895c,1995000081
+02ece3204c464770ba3fc544abd8895c,1995000079
+02ece3204c464770ba3fc544abd8895c,1995000078
+02ece3204c464770ba3fc544abd8895c,1995000077
+02ece3204c464770ba3fc544abd8895c,1995000076
+02ece3204c464770ba3fc544abd8895c,1995000075
+02ece3204c464770ba3fc544abd8895c,1995000074
+02ece3204c464770ba3fc544abd8895c,1995000073
+02ece3204c464770ba3fc544abd8895c,1995000072
+02ece3204c464770ba3fc544abd8895c,1995000071
+02ece3204c464770ba3fc544abd8895c,1995000070
+02ece3204c464770ba3fc544abd8895c,1995000069
+02ece3204c464770ba3fc544abd8895c,1995000068
+02ece3204c464770ba3fc544abd8895c,1995000067
+02ece3204c464770ba3fc544abd8895c,1995000066
+02ece3204c464770ba3fc544abd8895c,1995000065
+02ece3204c464770ba3fc544abd8895c,1995000064
+02ece3204c464770ba3fc544abd8895c,1995000063
+02ece3204c464770ba3fc544abd8895c,1995000062
+02ece3204c464770ba3fc544abd8895c,1995000061
+02ece3204c464770ba3fc544abd8895c,1995000060
+02ece3204c464770ba3fc544abd8895c,1995000059
+02ece3204c464770ba3fc544abd8895c,1995000057
+02ece3204c464770ba3fc544abd8895c,1995000056
+02ece3204c464770ba3fc544abd8895c,1995000055
+02ece3204c464770ba3fc544abd8895c,1995000054
+02ece3204c464770ba3fc544abd8895c,1995000052
+02ece3204c464770ba3fc544abd8895c,1995000050
+02ece3204c464770ba3fc544abd8895c,1995000049
+02ece3204c464770ba3fc544abd8895c,1995000048
+02ece3204c464770ba3fc544abd8895c,1995000047
+02ece3204c464770ba3fc544abd8895c,1995000045
+02ece3204c464770ba3fc544abd8895c,1995000044
+02ece3204c464770ba3fc544abd8895c,1995000043
+02ece3204c464770ba3fc544abd8895c,1995000042
+02ece3204c464770ba3fc544abd8895c,1995000041
+02ece3204c464770ba3fc544abd8895c,1995000040
+02ece3204c464770ba3fc544abd8895c,1995000039
+02ece3204c464770ba3fc544abd8895c,1995000038
+02ece3204c464770ba3fc544abd8895c,1995000036
+02ece3204c464770ba3fc544abd8895c,1995000035
+02ece3204c464770ba3fc544abd8895c,1995000034
+02ece3204c464770ba3fc544abd8895c,1995000033
+02ece3204c464770ba3fc544abd8895c,1995000032
+02ece3204c464770ba3fc544abd8895c,1995000031
+02ece3204c464770ba3fc544abd8895c,1995000030
+02ece3204c464770ba3fc544abd8895c,1995000029
+02ece3204c464770ba3fc544abd8895c,1995000025
+02ece3204c464770ba3fc544abd8895c,1995000024
+02ece3204c464770ba3fc544abd8895c,1995000023
+02ece3204c464770ba3fc544abd8895c,1995000020
+02ece3204c464770ba3fc544abd8895c,1995000016
+02ece3204c464770ba3fc544abd8895c,1995000015
+02ece3204c464770ba3fc544abd8895c,1995000013
+02ece3204c464770ba3fc544abd8895c,1995000011
+02ece3204c464770ba3fc544abd8895c,1995000008
+02ece3204c464770ba3fc544abd8895c,1995000007
+02ece3204c464770ba3fc544abd8895c,1995000004
+02ece3204c464770ba3fc544abd8895c,1995000003
+02ece3204c464770ba3fc544abd8895c,1995000002
+02ece3204c464770ba3fc544abd8895c,1995000001
+02ece3204c464770ba3fc544abd8895c,1994010102
+02ece3204c464770ba3fc544abd8895c,1994010093
+02ece3204c464770ba3fc544abd8895c,1994000103
+02ece3204c464770ba3fc544abd8895c,1994000098
+02ece3204c464770ba3fc544abd8895c,1994000097
+02ece3204c464770ba3fc544abd8895c,1994000094
+02ece3204c464770ba3fc544abd8895c,1994000092
+02ece3204c464770ba3fc544abd8895c,1994000091
+02ece3204c464770ba3fc544abd8895c,1994000089
+02ece3204c464770ba3fc544abd8895c,1994000088
+02ece3204c464770ba3fc544abd8895c,1994000087
+02ece3204c464770ba3fc544abd8895c,1994000084
+02ece3204c464770ba3fc544abd8895c,1994000083
+02ece3204c464770ba3fc544abd8895c,1994000082
+02ece3204c464770ba3fc544abd8895c,1994000081
+02ece3204c464770ba3fc544abd8895c,1994000080
+02ece3204c464770ba3fc544abd8895c,1994000079
+02ece3204c464770ba3fc544abd8895c,1994000078
+02ece3204c464770ba3fc544abd8895c,1994000077
+02ece3204c464770ba3fc544abd8895c,1994000076
+02ece3204c464770ba3fc544abd8895c,1994000075
+02ece3204c464770ba3fc544abd8895c,1994000074
+02ece3204c464770ba3fc544abd8895c,1994000073
+02ece3204c464770ba3fc544abd8895c,1994000072
+02ece3204c464770ba3fc544abd8895c,1994000071
+02ece3204c464770ba3fc544abd8895c,1994000070
+02ece3204c464770ba3fc544abd8895c,1994000069
+02ece3204c464770ba3fc544abd8895c,1994000068
+02ece3204c464770ba3fc544abd8895c,1994000067
+02ece3204c464770ba3fc544abd8895c,1994000066
+02ece3204c464770ba3fc544abd8895c,1994000065
+02ece3204c464770ba3fc544abd8895c,1994000064
+02ece3204c464770ba3fc544abd8895c,1994000063
+02ece3204c464770ba3fc544abd8895c,1994000062
+02ece3204c464770ba3fc544abd8895c,1994000061
+02ece3204c464770ba3fc544abd8895c,1994000060
+02ece3204c464770ba3fc544abd8895c,1994000059
+02ece3204c464770ba3fc544abd8895c,1994000058
+02ece3204c464770ba3fc544abd8895c,1994000057
+02ece3204c464770ba3fc544abd8895c,1994000056
+02ece3204c464770ba3fc544abd8895c,1994000054
+02ece3204c464770ba3fc544abd8895c,1994000053
+02ece3204c464770ba3fc544abd8895c,1994000052
+02ece3204c464770ba3fc544abd8895c,1994000051
+02ece3204c464770ba3fc544abd8895c,1994000050
+02ece3204c464770ba3fc544abd8895c,1994000049
+02ece3204c464770ba3fc544abd8895c,1994000048
+02ece3204c464770ba3fc544abd8895c,1994000047
+02ece3204c464770ba3fc544abd8895c,1994000046
+02ece3204c464770ba3fc544abd8895c,1994000045
+02ece3204c464770ba3fc544abd8895c,1994000044
+02ece3204c464770ba3fc544abd8895c,1994000043
+02ece3204c464770ba3fc544abd8895c,1994000042
+02ece3204c464770ba3fc544abd8895c,1994000041
+02ece3204c464770ba3fc544abd8895c,1994000040
+02ece3204c464770ba3fc544abd8895c,1994000039
+02ece3204c464770ba3fc544abd8895c,1994000038
+02ece3204c464770ba3fc544abd8895c,1994000037
+02ece3204c464770ba3fc544abd8895c,1994000036
+02ece3204c464770ba3fc544abd8895c,1994000035
+02ece3204c464770ba3fc544abd8895c,1994000034
+02ece3204c464770ba3fc544abd8895c,1994000033
+02ece3204c464770ba3fc544abd8895c,1994000032
+02ece3204c464770ba3fc544abd8895c,1994000031
+02ece3204c464770ba3fc544abd8895c,1994000030
+02ece3204c464770ba3fc544abd8895c,1994000029
+02ece3204c464770ba3fc544abd8895c,1994000027
+02ece3204c464770ba3fc544abd8895c,1994000025
+02ece3204c464770ba3fc544abd8895c,1994000024
+02ece3204c464770ba3fc544abd8895c,1994000023
+02ece3204c464770ba3fc544abd8895c,1994000022
+02ece3204c464770ba3fc544abd8895c,1994000021
+02ece3204c464770ba3fc544abd8895c,1994000020
+02ece3204c464770ba3fc544abd8895c,1994000019
+02ece3204c464770ba3fc544abd8895c,1994000018
+02ece3204c464770ba3fc544abd8895c,1994000017
+02ece3204c464770ba3fc544abd8895c,1994000016
+02ece3204c464770ba3fc544abd8895c,1994000015
+02ece3204c464770ba3fc544abd8895c,1994000014
+02ece3204c464770ba3fc544abd8895c,1994000013
+02ece3204c464770ba3fc544abd8895c,1994000012
+02ece3204c464770ba3fc544abd8895c,1994000011
+02ece3204c464770ba3fc544abd8895c,1994000010
+02ece3204c464770ba3fc544abd8895c,1994000009
+02ece3204c464770ba3fc544abd8895c,1994000008
+02ece3204c464770ba3fc544abd8895c,1994000007
+02ece3204c464770ba3fc544abd8895c,1994000002
+02ece3204c464770ba3fc544abd8895c,1993010108
+02ece3204c464770ba3fc544abd8895c,1993010099
+02ece3204c464770ba3fc544abd8895c,1993010006
+02ece3204c464770ba3fc544abd8895c,1993010001
+02ece3204c464770ba3fc544abd8895c,1993000115
+02ece3204c464770ba3fc544abd8895c,1993000114
+02ece3204c464770ba3fc544abd8895c,1993000113
+02ece3204c464770ba3fc544abd8895c,1993000111
+02ece3204c464770ba3fc544abd8895c,1993000110
+02ece3204c464770ba3fc544abd8895c,1993000109
+02ece3204c464770ba3fc544abd8895c,1993000105
+02ece3204c464770ba3fc544abd8895c,1993000104
+02ece3204c464770ba3fc544abd8895c,1993000100
+02ece3204c464770ba3fc544abd8895c,1993000097
+02ece3204c464770ba3fc544abd8895c,1993000096
+02ece3204c464770ba3fc544abd8895c,1993000095
+02ece3204c464770ba3fc544abd8895c,1993000094
+02ece3204c464770ba3fc544abd8895c,1993000093
+02ece3204c464770ba3fc544abd8895c,1993000091
+02ece3204c464770ba3fc544abd8895c,1993000090
+02ece3204c464770ba3fc544abd8895c,1993000089
+02ece3204c464770ba3fc544abd8895c,1993000088
+02ece3204c464770ba3fc544abd8895c,1993000087
+02ece3204c464770ba3fc544abd8895c,1993000086
+02ece3204c464770ba3fc544abd8895c,1993000085
+02ece3204c464770ba3fc544abd8895c,1993000084
+02ece3204c464770ba3fc544abd8895c,1993000083
+02ece3204c464770ba3fc544abd8895c,1993000082
+02ece3204c464770ba3fc544abd8895c,1993000081
+02ece3204c464770ba3fc544abd8895c,1993000080
+02ece3204c464770ba3fc544abd8895c,1993000079
+02ece3204c464770ba3fc544abd8895c,1993000078
+02ece3204c464770ba3fc544abd8895c,1993000077
+02ece3204c464770ba3fc544abd8895c,1993000076
+02ece3204c464770ba3fc544abd8895c,1993000075
+02ece3204c464770ba3fc544abd8895c,1993000074
+02ece3204c464770ba3fc544abd8895c,1993000073
+02ece3204c464770ba3fc544abd8895c,1993000072
+02ece3204c464770ba3fc544abd8895c,1993000071
+02ece3204c464770ba3fc544abd8895c,1993000070
+02ece3204c464770ba3fc544abd8895c,1993000069
+02ece3204c464770ba3fc544abd8895c,1993000068
+02ece3204c464770ba3fc544abd8895c,1993000067
+02ece3204c464770ba3fc544abd8895c,1993000066
+02ece3204c464770ba3fc544abd8895c,1993000065
+02ece3204c464770ba3fc544abd8895c,1993000064
+02ece3204c464770ba3fc544abd8895c,1993000063
+02ece3204c464770ba3fc544abd8895c,1993000062
+02ece3204c464770ba3fc544abd8895c,1993000061
+02ece3204c464770ba3fc544abd8895c,1993000060
+02ece3204c464770ba3fc544abd8895c,1993000059
+02ece3204c464770ba3fc544abd8895c,1993000058
+02ece3204c464770ba3fc544abd8895c,1993000057
+02ece3204c464770ba3fc544abd8895c,1993000056
+02ece3204c464770ba3fc544abd8895c,1993000055
+02ece3204c464770ba3fc544abd8895c,1993000054
+02ece3204c464770ba3fc544abd8895c,1993000052
+02ece3204c464770ba3fc544abd8895c,1993000051
+02ece3204c464770ba3fc544abd8895c,1993000050
+02ece3204c464770ba3fc544abd8895c,1993000049
+02ece3204c464770ba3fc544abd8895c,1993000048
+02ece3204c464770ba3fc544abd8895c,1993000047
+02ece3204c464770ba3fc544abd8895c,1993000046
+02ece3204c464770ba3fc544abd8895c,1993000045
+02ece3204c464770ba3fc544abd8895c,1993000044
+02ece3204c464770ba3fc544abd8895c,1993000043
+02ece3204c464770ba3fc544abd8895c,1993000042
+02ece3204c464770ba3fc544abd8895c,1993000041
+02ece3204c464770ba3fc544abd8895c,1993000040
+02ece3204c464770ba3fc544abd8895c,1993000039
+02ece3204c464770ba3fc544abd8895c,1993000038
+02ece3204c464770ba3fc544abd8895c,1993000036
+02ece3204c464770ba3fc544abd8895c,1993000035
+02ece3204c464770ba3fc544abd8895c,1993000033
+02ece3204c464770ba3fc544abd8895c,1993000032
+02ece3204c464770ba3fc544abd8895c,1993000031
+02ece3204c464770ba3fc544abd8895c,1993000030
+02ece3204c464770ba3fc544abd8895c,1993000029
+02ece3204c464770ba3fc544abd8895c,1993000028
+02ece3204c464770ba3fc544abd8895c,1993000027
+02ece3204c464770ba3fc544abd8895c,1993000026
+02ece3204c464770ba3fc544abd8895c,1993000025
+02ece3204c464770ba3fc544abd8895c,1993000024
+02ece3204c464770ba3fc544abd8895c,1993000023
+02ece3204c464770ba3fc544abd8895c,1993000022
+02ece3204c464770ba3fc544abd8895c,1993000020
+02ece3204c464770ba3fc544abd8895c,1993000019
+02ece3204c464770ba3fc544abd8895c,1993000018
+02ece3204c464770ba3fc544abd8895c,1993000017
+02ece3204c464770ba3fc544abd8895c,1993000016
+02ece3204c464770ba3fc544abd8895c,1993000015
+02ece3204c464770ba3fc544abd8895c,1993000014
+02ece3204c464770ba3fc544abd8895c,1993000013
+02ece3204c464770ba3fc544abd8895c,1993000012
+02ece3204c464770ba3fc544abd8895c,1993000011
+02ece3204c464770ba3fc544abd8895c,1993000010
+02ece3204c464770ba3fc544abd8895c,1993000009
+02ece3204c464770ba3fc544abd8895c,1993000008
+02ece3204c464770ba3fc544abd8895c,1993000007
+02ece3204c464770ba3fc544abd8895c,1993000005
+02ece3204c464770ba3fc544abd8895c,1993000004
+02ece3204c464770ba3fc544abd8895c,1993000003
+02ece3204c464770ba3fc544abd8895c,1992010157
+02ece3204c464770ba3fc544abd8895c,1992010156
+02ece3204c464770ba3fc544abd8895c,1992010151
+02ece3204c464770ba3fc544abd8895c,1992010149
+02ece3204c464770ba3fc544abd8895c,1992010141
+02ece3204c464770ba3fc544abd8895c,1992010136
+02ece3204c464770ba3fc544abd8895c,1992010133
+02ece3204c464770ba3fc544abd8895c,1992010125
+02ece3204c464770ba3fc544abd8895c,1992010110
+02ece3204c464770ba3fc544abd8895c,1992010072
+02ece3204c464770ba3fc544abd8895c,1992010071
+02ece3204c464770ba3fc544abd8895c,1992010069
+02ece3204c464770ba3fc544abd8895c,1992010044
+02ece3204c464770ba3fc544abd8895c,1992010019
+02ece3204c464770ba3fc544abd8895c,1992010017
+02ece3204c464770ba3fc544abd8895c,1992010016
+02ece3204c464770ba3fc544abd8895c,1992010015
+02ece3204c464770ba3fc544abd8895c,1992010014
+02ece3204c464770ba3fc544abd8895c,1992010013
+02ece3204c464770ba3fc544abd8895c,1992010011
+02ece3204c464770ba3fc544abd8895c,1992010010
+02ece3204c464770ba3fc544abd8895c,1992010009
+02ece3204c464770ba3fc544abd8895c,1992010007
+02ece3204c464770ba3fc544abd8895c,1992010006
+02ece3204c464770ba3fc544abd8895c,1992010005
+02ece3204c464770ba3fc544abd8895c,1992010003
+02ece3204c464770ba3fc544abd8895c,1992010001
+02ece3204c464770ba3fc544abd8895c,1992000159
+02ece3204c464770ba3fc544abd8895c,1992000158
+02ece3204c464770ba3fc544abd8895c,1992000153
+02ece3204c464770ba3fc544abd8895c,1992000152
+02ece3204c464770ba3fc544abd8895c,1992000150
+02ece3204c464770ba3fc544abd8895c,1992000148
+02ece3204c464770ba3fc544abd8895c,1992000147
+02ece3204c464770ba3fc544abd8895c,1992000146
+02ece3204c464770ba3fc544abd8895c,1992000145
+02ece3204c464770ba3fc544abd8895c,1992000144
+02ece3204c464770ba3fc544abd8895c,1992000143
+02ece3204c464770ba3fc544abd8895c,1992000140
+02ece3204c464770ba3fc544abd8895c,1992000139
+02ece3204c464770ba3fc544abd8895c,1992000138
+02ece3204c464770ba3fc544abd8895c,1992000135
+02ece3204c464770ba3fc544abd8895c,1992000134
+02ece3204c464770ba3fc544abd8895c,1992000129
+02ece3204c464770ba3fc544abd8895c,1992000128
+02ece3204c464770ba3fc544abd8895c,1992000124
+02ece3204c464770ba3fc544abd8895c,1992000122
+02ece3204c464770ba3fc544abd8895c,1992000121
+02ece3204c464770ba3fc544abd8895c,1992000120
+02ece3204c464770ba3fc544abd8895c,1992000119
+02ece3204c464770ba3fc544abd8895c,1992000118
+02ece3204c464770ba3fc544abd8895c,1992000117
+02ece3204c464770ba3fc544abd8895c,1992000116
+02ece3204c464770ba3fc544abd8895c,1992000115
+02ece3204c464770ba3fc544abd8895c,1992000114
+02ece3204c464770ba3fc544abd8895c,1992000109
+02ece3204c464770ba3fc544abd8895c,1992000108
+02ece3204c464770ba3fc544abd8895c,1992000106
+02ece3204c464770ba3fc544abd8895c,1992000105
+02ece3204c464770ba3fc544abd8895c,1992000102
+02ece3204c464770ba3fc544abd8895c,1992000101
+02ece3204c464770ba3fc544abd8895c,1992000100
+02ece3204c464770ba3fc544abd8895c,1992000099
+02ece3204c464770ba3fc544abd8895c,1992000098
+02ece3204c464770ba3fc544abd8895c,1992000097
+02ece3204c464770ba3fc544abd8895c,1992000096
+02ece3204c464770ba3fc544abd8895c,1992000095
+02ece3204c464770ba3fc544abd8895c,1992000094
+02ece3204c464770ba3fc544abd8895c,1992000093
+02ece3204c464770ba3fc544abd8895c,1992000092
+02ece3204c464770ba3fc544abd8895c,1992000091
+02ece3204c464770ba3fc544abd8895c,1992000090
+02ece3204c464770ba3fc544abd8895c,1992000089
+02ece3204c464770ba3fc544abd8895c,1992000088
+02ece3204c464770ba3fc544abd8895c,1992000087
+02ece3204c464770ba3fc544abd8895c,1992000086
+02ece3204c464770ba3fc544abd8895c,1992000085
+02ece3204c464770ba3fc544abd8895c,1992000084
+02ece3204c464770ba3fc544abd8895c,1992000083
+02ece3204c464770ba3fc544abd8895c,1992000082
+02ece3204c464770ba3fc544abd8895c,1992000081
+02ece3204c464770ba3fc544abd8895c,1992000080
+02ece3204c464770ba3fc544abd8895c,1992000079
+02ece3204c464770ba3fc544abd8895c,1992000078
+02ece3204c464770ba3fc544abd8895c,1992000077
+02ece3204c464770ba3fc544abd8895c,1992000076
+02ece3204c464770ba3fc544abd8895c,1992000075
+02ece3204c464770ba3fc544abd8895c,1992000074
+02ece3204c464770ba3fc544abd8895c,1992000067
+02ece3204c464770ba3fc544abd8895c,1992000066
+02ece3204c464770ba3fc544abd8895c,1992000065
+02ece3204c464770ba3fc544abd8895c,1992000063
+02ece3204c464770ba3fc544abd8895c,1992000061
+02ece3204c464770ba3fc544abd8895c,1992000060
+02ece3204c464770ba3fc544abd8895c,1992000059
+02ece3204c464770ba3fc544abd8895c,1992000058
+02ece3204c464770ba3fc544abd8895c,1992000057
+02ece3204c464770ba3fc544abd8895c,1992000056
+02ece3204c464770ba3fc544abd8895c,1992000055
+02ece3204c464770ba3fc544abd8895c,1992000054
+02ece3204c464770ba3fc544abd8895c,1992000053
+02ece3204c464770ba3fc544abd8895c,1992000052
+02ece3204c464770ba3fc544abd8895c,1992000051
+02ece3204c464770ba3fc544abd8895c,1992000050
+02ece3204c464770ba3fc544abd8895c,1992000049
+02ece3204c464770ba3fc544abd8895c,1992000048
+02ece3204c464770ba3fc544abd8895c,1992000047
+02ece3204c464770ba3fc544abd8895c,1992000046
+02ece3204c464770ba3fc544abd8895c,1992000045
+02ece3204c464770ba3fc544abd8895c,1992000041
+02ece3204c464770ba3fc544abd8895c,1992000040
+02ece3204c464770ba3fc544abd8895c,1992000039
+02ece3204c464770ba3fc544abd8895c,1992000038
+02ece3204c464770ba3fc544abd8895c,1992000037
+02ece3204c464770ba3fc544abd8895c,1992000036
+02ece3204c464770ba3fc544abd8895c,1992000035
+02ece3204c464770ba3fc544abd8895c,1992000034
+02ece3204c464770ba3fc544abd8895c,1992000033
+02ece3204c464770ba3fc544abd8895c,1992000032
+02ece3204c464770ba3fc544abd8895c,1992000031
+02ece3204c464770ba3fc544abd8895c,1992000030
+02ece3204c464770ba3fc544abd8895c,1992000029
+02ece3204c464770ba3fc544abd8895c,1992000028
+02ece3204c464770ba3fc544abd8895c,1992000027
+02ece3204c464770ba3fc544abd8895c,1992000026
+02ece3204c464770ba3fc544abd8895c,1992000025
+02ece3204c464770ba3fc544abd8895c,1992000024
+02ece3204c464770ba3fc544abd8895c,1992000023
+02ece3204c464770ba3fc544abd8895c,1992000021
+02ece3204c464770ba3fc544abd8895c,1992000020
+02ece3204c464770ba3fc544abd8895c,1991010059
+02ece3204c464770ba3fc544abd8895c,1991010013
+02ece3204c464770ba3fc544abd8895c,1991000068
+02ece3204c464770ba3fc544abd8895c,1991000066
+02ece3204c464770ba3fc544abd8895c,1991000065
+02ece3204c464770ba3fc544abd8895c,1991000064
+02ece3204c464770ba3fc544abd8895c,1991000062
+02ece3204c464770ba3fc544abd8895c,1991000058
+02ece3204c464770ba3fc544abd8895c,1991000057
+02ece3204c464770ba3fc544abd8895c,1991000055
+02ece3204c464770ba3fc544abd8895c,1991000054
+02ece3204c464770ba3fc544abd8895c,1991000053
+02ece3204c464770ba3fc544abd8895c,1991000052
+02ece3204c464770ba3fc544abd8895c,1991000051
+02ece3204c464770ba3fc544abd8895c,1991000048
+02ece3204c464770ba3fc544abd8895c,1991000047
+02ece3204c464770ba3fc544abd8895c,1991000046
+02ece3204c464770ba3fc544abd8895c,1991000044
+02ece3204c464770ba3fc544abd8895c,1991000043
+02ece3204c464770ba3fc544abd8895c,1991000042
+02ece3204c464770ba3fc544abd8895c,1991000041
+02ece3204c464770ba3fc544abd8895c,1991000040
+02ece3204c464770ba3fc544abd8895c,1991000039
+02ece3204c464770ba3fc544abd8895c,1991000038
+02ece3204c464770ba3fc544abd8895c,1991000037
+02ece3204c464770ba3fc544abd8895c,1991000036
+02ece3204c464770ba3fc544abd8895c,1991000035
+02ece3204c464770ba3fc544abd8895c,1991000034
+02ece3204c464770ba3fc544abd8895c,1991000033
+02ece3204c464770ba3fc544abd8895c,1991000032
+02ece3204c464770ba3fc544abd8895c,1991000031
+02ece3204c464770ba3fc544abd8895c,1991000030
+02ece3204c464770ba3fc544abd8895c,1991000029
+02ece3204c464770ba3fc544abd8895c,1991000028
+02ece3204c464770ba3fc544abd8895c,1991000027
+02ece3204c464770ba3fc544abd8895c,1991000026
+02ece3204c464770ba3fc544abd8895c,1991000025
+02ece3204c464770ba3fc544abd8895c,1991000024
+02ece3204c464770ba3fc544abd8895c,1991000023
+02ece3204c464770ba3fc544abd8895c,1991000022
+02ece3204c464770ba3fc544abd8895c,1991000021
+02ece3204c464770ba3fc544abd8895c,1991000020
+02ece3204c464770ba3fc544abd8895c,1991000019
+02ece3204c464770ba3fc544abd8895c,1991000018
+02ece3204c464770ba3fc544abd8895c,1991000017
+02ece3204c464770ba3fc544abd8895c,1991000016
+02ece3204c464770ba3fc544abd8895c,1991000015
+02ece3204c464770ba3fc544abd8895c,1991000014
+02ece3204c464770ba3fc544abd8895c,1991000012
+02ece3204c464770ba3fc544abd8895c,1991000011
+02ece3204c464770ba3fc544abd8895c,1991000010
+02ece3204c464770ba3fc544abd8895c,1991000009
+02ece3204c464770ba3fc544abd8895c,1991000008
+02ece3204c464770ba3fc544abd8895c,1991000007
+02ece3204c464770ba3fc544abd8895c,1991000006
+02ece3204c464770ba3fc544abd8895c,1991000005
+02ece3204c464770ba3fc544abd8895c,1991000004
+02ece3204c464770ba3fc544abd8895c,1991000003
+02ece3204c464770ba3fc544abd8895c,1991000002
+02ece3204c464770ba3fc544abd8895c,1991000001
+02ece3204c464770ba3fc544abd8895c,1990010049
+02ece3204c464770ba3fc544abd8895c,1990010038
+02ece3204c464770ba3fc544abd8895c,1990010009
+02ece3204c464770ba3fc544abd8895c,1990010006
+02ece3204c464770ba3fc544abd8895c,1990010005
+02ece3204c464770ba3fc544abd8895c,1990010004
+02ece3204c464770ba3fc544abd8895c,1990000083
+02ece3204c464770ba3fc544abd8895c,1990000082
+02ece3204c464770ba3fc544abd8895c,1990000081
+02ece3204c464770ba3fc544abd8895c,1990000080
+02ece3204c464770ba3fc544abd8895c,1990000079
+02ece3204c464770ba3fc544abd8895c,1990000078
+02ece3204c464770ba3fc544abd8895c,1990000075
+02ece3204c464770ba3fc544abd8895c,1990000073
+02ece3204c464770ba3fc544abd8895c,1990000072
+02ece3204c464770ba3fc544abd8895c,1990000070
+02ece3204c464770ba3fc544abd8895c,1990000069
+02ece3204c464770ba3fc544abd8895c,1990000068
+02ece3204c464770ba3fc544abd8895c,1990000067
+02ece3204c464770ba3fc544abd8895c,1990000066
+02ece3204c464770ba3fc544abd8895c,1990000065
+02ece3204c464770ba3fc544abd8895c,1990000064
+02ece3204c464770ba3fc544abd8895c,1990000063
+02ece3204c464770ba3fc544abd8895c,1990000061
+02ece3204c464770ba3fc544abd8895c,1990000060
+02ece3204c464770ba3fc544abd8895c,1990000059
+02ece3204c464770ba3fc544abd8895c,1990000058
+02ece3204c464770ba3fc544abd8895c,1990000057
+02ece3204c464770ba3fc544abd8895c,1990000056
+02ece3204c464770ba3fc544abd8895c,1990000055
+02ece3204c464770ba3fc544abd8895c,1990000054
+02ece3204c464770ba3fc544abd8895c,1990000053
+02ece3204c464770ba3fc544abd8895c,1990000052
+02ece3204c464770ba3fc544abd8895c,1990000051
+02ece3204c464770ba3fc544abd8895c,1990000048
+02ece3204c464770ba3fc544abd8895c,1990000047
+02ece3204c464770ba3fc544abd8895c,1990000046
+02ece3204c464770ba3fc544abd8895c,1990000045
+02ece3204c464770ba3fc544abd8895c,1990000044
+02ece3204c464770ba3fc544abd8895c,1990000043
+02ece3204c464770ba3fc544abd8895c,1990000042
+02ece3204c464770ba3fc544abd8895c,1990000041
+02ece3204c464770ba3fc544abd8895c,1990000040
+02ece3204c464770ba3fc544abd8895c,1990000039
+02ece3204c464770ba3fc544abd8895c,1990000037
+02ece3204c464770ba3fc544abd8895c,1990000035
+02ece3204c464770ba3fc544abd8895c,1990000034
+02ece3204c464770ba3fc544abd8895c,1990000033
+02ece3204c464770ba3fc544abd8895c,1990000032
+02ece3204c464770ba3fc544abd8895c,1990000031
+02ece3204c464770ba3fc544abd8895c,1990000030
+02ece3204c464770ba3fc544abd8895c,1990000029
+02ece3204c464770ba3fc544abd8895c,1990000028
+02ece3204c464770ba3fc544abd8895c,1990000027
+02ece3204c464770ba3fc544abd8895c,1990000026
+02ece3204c464770ba3fc544abd8895c,1990000025
+02ece3204c464770ba3fc544abd8895c,1990000024
+02ece3204c464770ba3fc544abd8895c,1990000023
+02ece3204c464770ba3fc544abd8895c,1990000022
+02ece3204c464770ba3fc544abd8895c,1990000021
+02ece3204c464770ba3fc544abd8895c,1990000020
+02ece3204c464770ba3fc544abd8895c,1990000019
+02ece3204c464770ba3fc544abd8895c,1990000018
+02ece3204c464770ba3fc544abd8895c,1990000017
+02ece3204c464770ba3fc544abd8895c,1990000016
+02ece3204c464770ba3fc544abd8895c,1990000014
+02ece3204c464770ba3fc544abd8895c,1990000013
+02ece3204c464770ba3fc544abd8895c,1990000012
+02ece3204c464770ba3fc544abd8895c,1990000011
+02ece3204c464770ba3fc544abd8895c,1990000003
+02ece3204c464770ba3fc544abd8895c,1989010120
+02ece3204c464770ba3fc544abd8895c,1989010112
+02ece3204c464770ba3fc544abd8895c,1989010108
+02ece3204c464770ba3fc544abd8895c,1989010107
+02ece3204c464770ba3fc544abd8895c,1989010106
+02ece3204c464770ba3fc544abd8895c,1989010105
+02ece3204c464770ba3fc544abd8895c,1989010104
+02ece3204c464770ba3fc544abd8895c,1989010103
+02ece3204c464770ba3fc544abd8895c,1989010100
+02ece3204c464770ba3fc544abd8895c,1989010098
+02ece3204c464770ba3fc544abd8895c,1989010097
+02ece3204c464770ba3fc544abd8895c,1989010096
+02ece3204c464770ba3fc544abd8895c,1989010095
+02ece3204c464770ba3fc544abd8895c,1989010094
+02ece3204c464770ba3fc544abd8895c,1989010093
+02ece3204c464770ba3fc544abd8895c,1989010089
+02ece3204c464770ba3fc544abd8895c,1989010081
+02ece3204c464770ba3fc544abd8895c,1989010079
+02ece3204c464770ba3fc544abd8895c,1989010073
+02ece3204c464770ba3fc544abd8895c,1989010072
+02ece3204c464770ba3fc544abd8895c,1989010069
+02ece3204c464770ba3fc544abd8895c,1989010068
+02ece3204c464770ba3fc544abd8895c,1989010064
+02ece3204c464770ba3fc544abd8895c,1989010063
+02ece3204c464770ba3fc544abd8895c,1989000119
+02ece3204c464770ba3fc544abd8895c,1989000118
+02ece3204c464770ba3fc544abd8895c,1989000117
+02ece3204c464770ba3fc544abd8895c,1989000116
+02ece3204c464770ba3fc544abd8895c,1989000115
+02ece3204c464770ba3fc544abd8895c,1989000114
+02ece3204c464770ba3fc544abd8895c,1989000113
+02ece3204c464770ba3fc544abd8895c,1989000110
+02ece3204c464770ba3fc544abd8895c,1989000085
+02ece3204c464770ba3fc544abd8895c,1989000084
+02ece3204c464770ba3fc544abd8895c,1989000083
+02ece3204c464770ba3fc544abd8895c,1989000082
+02ece3204c464770ba3fc544abd8895c,1989000078
+02ece3204c464770ba3fc544abd8895c,1989000076
+02ece3204c464770ba3fc544abd8895c,1989000074
+02ece3204c464770ba3fc544abd8895c,1989000067
+02ece3204c464770ba3fc544abd8895c,1989000066
+02ece3204c464770ba3fc544abd8895c,1989000061
+02ece3204c464770ba3fc544abd8895c,1989000060
+02ece3204c464770ba3fc544abd8895c,1989000056
+02ece3204c464770ba3fc544abd8895c,1989000055
+02ece3204c464770ba3fc544abd8895c,1989000054
+02ece3204c464770ba3fc544abd8895c,1989000052
+02ece3204c464770ba3fc544abd8895c,1989000051
+02ece3204c464770ba3fc544abd8895c,1989000050
+02ece3204c464770ba3fc544abd8895c,1989000049
+02ece3204c464770ba3fc544abd8895c,1989000048
+02ece3204c464770ba3fc544abd8895c,1989000047
+02ece3204c464770ba3fc544abd8895c,1989000046
+02ece3204c464770ba3fc544abd8895c,1989000045
+02ece3204c464770ba3fc544abd8895c,1989000044
+02ece3204c464770ba3fc544abd8895c,1989000043
+02ece3204c464770ba3fc544abd8895c,1989000042
+02ece3204c464770ba3fc544abd8895c,1989000040
+02ece3204c464770ba3fc544abd8895c,1989000039
+02ece3204c464770ba3fc544abd8895c,1989000038
+02ece3204c464770ba3fc544abd8895c,1989000037
+02ece3204c464770ba3fc544abd8895c,1989000036
+02ece3204c464770ba3fc544abd8895c,1989000035
+02ece3204c464770ba3fc544abd8895c,1989000034
+02ece3204c464770ba3fc544abd8895c,1989000032
+02ece3204c464770ba3fc544abd8895c,1989000031
+02ece3204c464770ba3fc544abd8895c,1989000030
+02ece3204c464770ba3fc544abd8895c,1989000029
+02ece3204c464770ba3fc544abd8895c,1989000028
+02ece3204c464770ba3fc544abd8895c,1989000027
+02ece3204c464770ba3fc544abd8895c,1989000025
+02ece3204c464770ba3fc544abd8895c,1989000023
+02ece3204c464770ba3fc544abd8895c,1989000022
+02ece3204c464770ba3fc544abd8895c,1989000018
+02ece3204c464770ba3fc544abd8895c,1989000017
+02ece3204c464770ba3fc544abd8895c,1989000016
+02ece3204c464770ba3fc544abd8895c,1989000015
+02ece3204c464770ba3fc544abd8895c,1989000014
+02ece3204c464770ba3fc544abd8895c,1989000013
+02ece3204c464770ba3fc544abd8895c,1989000012
+02ece3204c464770ba3fc544abd8895c,1989000011
+02ece3204c464770ba3fc544abd8895c,1989000010
+02ece3204c464770ba3fc544abd8895c,1989000008
+02ece3204c464770ba3fc544abd8895c,1989000006
+02ece3204c464770ba3fc544abd8895c,1989000005
+02ece3204c464770ba3fc544abd8895c,1989000004
+02ece3204c464770ba3fc544abd8895c,1989000003
+02ece3204c464770ba3fc544abd8895c,1989000002
+02ece3204c464770ba3fc544abd8895c,1988010128
+02ece3204c464770ba3fc544abd8895c,1988010015
+02ece3204c464770ba3fc544abd8895c,1988010013
+02ece3204c464770ba3fc544abd8895c,1988010010
+02ece3204c464770ba3fc544abd8895c,1988010005
+02ece3204c464770ba3fc544abd8895c,1988010003
+02ece3204c464770ba3fc544abd8895c,1988010001
+02ece3204c464770ba3fc544abd8895c,1988000132
+02ece3204c464770ba3fc544abd8895c,1988000131
+02ece3204c464770ba3fc544abd8895c,1988000130
+02ece3204c464770ba3fc544abd8895c,1988000129
+02ece3204c464770ba3fc544abd8895c,1988000127
+02ece3204c464770ba3fc544abd8895c,1988000126
+02ece3204c464770ba3fc544abd8895c,1988000125
+02ece3204c464770ba3fc544abd8895c,1988000124
+02ece3204c464770ba3fc544abd8895c,1988000123
+02ece3204c464770ba3fc544abd8895c,1988000121
+02ece3204c464770ba3fc544abd8895c,1988000120
+02ece3204c464770ba3fc544abd8895c,1988000119
+02ece3204c464770ba3fc544abd8895c,1988000118
+02ece3204c464770ba3fc544abd8895c,1988000116
+02ece3204c464770ba3fc544abd8895c,1988000115
+02ece3204c464770ba3fc544abd8895c,1988000114
+02ece3204c464770ba3fc544abd8895c,1988000108
+02ece3204c464770ba3fc544abd8895c,1988000106
+02ece3204c464770ba3fc544abd8895c,1988000104
+02ece3204c464770ba3fc544abd8895c,1988000101
+02ece3204c464770ba3fc544abd8895c,1988000099
+02ece3204c464770ba3fc544abd8895c,1988000098
+02ece3204c464770ba3fc544abd8895c,1988000097
+02ece3204c464770ba3fc544abd8895c,1988000096
+02ece3204c464770ba3fc544abd8895c,1988000095
+02ece3204c464770ba3fc544abd8895c,1988000094
+02ece3204c464770ba3fc544abd8895c,1988000093
+02ece3204c464770ba3fc544abd8895c,1988000092
+02ece3204c464770ba3fc544abd8895c,1988000091
+02ece3204c464770ba3fc544abd8895c,1988000090
+02ece3204c464770ba3fc544abd8895c,1988000089
+02ece3204c464770ba3fc544abd8895c,1988000088
+02ece3204c464770ba3fc544abd8895c,1988000087
+02ece3204c464770ba3fc544abd8895c,1988000086
+02ece3204c464770ba3fc544abd8895c,1988000085
+02ece3204c464770ba3fc544abd8895c,1988000084
+02ece3204c464770ba3fc544abd8895c,1988000083
+02ece3204c464770ba3fc544abd8895c,1988000082
+02ece3204c464770ba3fc544abd8895c,1988000081
+02ece3204c464770ba3fc544abd8895c,1988000080
+02ece3204c464770ba3fc544abd8895c,1988000079
+02ece3204c464770ba3fc544abd8895c,1988000078
+02ece3204c464770ba3fc544abd8895c,1988000077
+02ece3204c464770ba3fc544abd8895c,1988000074
+02ece3204c464770ba3fc544abd8895c,1988000073
+02ece3204c464770ba3fc544abd8895c,1988000072
+02ece3204c464770ba3fc544abd8895c,1988000071
+02ece3204c464770ba3fc544abd8895c,1988000070
+02ece3204c464770ba3fc544abd8895c,1988000066
+02ece3204c464770ba3fc544abd8895c,1988000064
+02ece3204c464770ba3fc544abd8895c,1988000063
+02ece3204c464770ba3fc544abd8895c,1988000062
+02ece3204c464770ba3fc544abd8895c,1988000061
+02ece3204c464770ba3fc544abd8895c,1988000060
+02ece3204c464770ba3fc544abd8895c,1988000059
+02ece3204c464770ba3fc544abd8895c,1988000058
+02ece3204c464770ba3fc544abd8895c,1988000054
+02ece3204c464770ba3fc544abd8895c,1988000053
+02ece3204c464770ba3fc544abd8895c,1988000051
+02ece3204c464770ba3fc544abd8895c,1988000050
+02ece3204c464770ba3fc544abd8895c,1988000049
+02ece3204c464770ba3fc544abd8895c,1988000048
+02ece3204c464770ba3fc544abd8895c,1988000047
+02ece3204c464770ba3fc544abd8895c,1988000045
+02ece3204c464770ba3fc544abd8895c,1988000044
+02ece3204c464770ba3fc544abd8895c,1988000043
+02ece3204c464770ba3fc544abd8895c,1988000042
+02ece3204c464770ba3fc544abd8895c,1988000041
+02ece3204c464770ba3fc544abd8895c,1988000040
+02ece3204c464770ba3fc544abd8895c,1988000039
+02ece3204c464770ba3fc544abd8895c,1988000038
+02ece3204c464770ba3fc544abd8895c,1988000037
+02ece3204c464770ba3fc544abd8895c,1988000036
+02ece3204c464770ba3fc544abd8895c,1988000035
+02ece3204c464770ba3fc544abd8895c,1988000034
+02ece3204c464770ba3fc544abd8895c,1988000033
+02ece3204c464770ba3fc544abd8895c,1988000032
+02ece3204c464770ba3fc544abd8895c,1988000031
+02ece3204c464770ba3fc544abd8895c,1988000030
+02ece3204c464770ba3fc544abd8895c,1988000029
+02ece3204c464770ba3fc544abd8895c,1988000028
+02ece3204c464770ba3fc544abd8895c,1988000027
+02ece3204c464770ba3fc544abd8895c,1988000026
+02ece3204c464770ba3fc544abd8895c,1988000024
+02ece3204c464770ba3fc544abd8895c,1988000008
+02ece3204c464770ba3fc544abd8895c,1988000004
+02ece3204c464770ba3fc544abd8895c,1987010031
+02ece3204c464770ba3fc544abd8895c,1987010029
+02ece3204c464770ba3fc544abd8895c,1987000087
+02ece3204c464770ba3fc544abd8895c,1987000085
+02ece3204c464770ba3fc544abd8895c,1987000084
+02ece3204c464770ba3fc544abd8895c,1987000083
+02ece3204c464770ba3fc544abd8895c,1987000080
+02ece3204c464770ba3fc544abd8895c,1987000079
+02ece3204c464770ba3fc544abd8895c,1987000078
+02ece3204c464770ba3fc544abd8895c,1987000077
+02ece3204c464770ba3fc544abd8895c,1987000076
+02ece3204c464770ba3fc544abd8895c,1987000075
+02ece3204c464770ba3fc544abd8895c,1987000074
+02ece3204c464770ba3fc544abd8895c,1987000073
+02ece3204c464770ba3fc544abd8895c,1987000072
+02ece3204c464770ba3fc544abd8895c,1987000071
+02ece3204c464770ba3fc544abd8895c,1987000070
+02ece3204c464770ba3fc544abd8895c,1987000067
+02ece3204c464770ba3fc544abd8895c,1987000066
+02ece3204c464770ba3fc544abd8895c,1987000065
+02ece3204c464770ba3fc544abd8895c,1987000064
+02ece3204c464770ba3fc544abd8895c,1987000063
+02ece3204c464770ba3fc544abd8895c,1987000062
+02ece3204c464770ba3fc544abd8895c,1987000061
+02ece3204c464770ba3fc544abd8895c,1987000060
+02ece3204c464770ba3fc544abd8895c,1987000059
+02ece3204c464770ba3fc544abd8895c,1987000058
+02ece3204c464770ba3fc544abd8895c,1987000057
+02ece3204c464770ba3fc544abd8895c,1987000056
+02ece3204c464770ba3fc544abd8895c,1987000055
+02ece3204c464770ba3fc544abd8895c,1987000054
+02ece3204c464770ba3fc544abd8895c,1987000053
+02ece3204c464770ba3fc544abd8895c,1987000052
+02ece3204c464770ba3fc544abd8895c,1987000051
+02ece3204c464770ba3fc544abd8895c,1987000050
+02ece3204c464770ba3fc544abd8895c,1987000049
+02ece3204c464770ba3fc544abd8895c,1987000048
+02ece3204c464770ba3fc544abd8895c,1987000046
+02ece3204c464770ba3fc544abd8895c,1987000045
+02ece3204c464770ba3fc544abd8895c,1987000044
+02ece3204c464770ba3fc544abd8895c,1987000043
+02ece3204c464770ba3fc544abd8895c,1987000042
+02ece3204c464770ba3fc544abd8895c,1987000041
+02ece3204c464770ba3fc544abd8895c,1987000040
+02ece3204c464770ba3fc544abd8895c,1987000039
+02ece3204c464770ba3fc544abd8895c,1987000038
+02ece3204c464770ba3fc544abd8895c,1987000037
+02ece3204c464770ba3fc544abd8895c,1987000036
+02ece3204c464770ba3fc544abd8895c,1987000035
+02ece3204c464770ba3fc544abd8895c,1987000034
+02ece3204c464770ba3fc544abd8895c,1987000033
+02ece3204c464770ba3fc544abd8895c,1987000032
+02ece3204c464770ba3fc544abd8895c,1987000030
+02ece3204c464770ba3fc544abd8895c,1987000028
+02ece3204c464770ba3fc544abd8895c,1987000027
+02ece3204c464770ba3fc544abd8895c,1987000026
+02ece3204c464770ba3fc544abd8895c,1987000025
+02ece3204c464770ba3fc544abd8895c,1987000024
+02ece3204c464770ba3fc544abd8895c,1987000023
+02ece3204c464770ba3fc544abd8895c,1987000022
+02ece3204c464770ba3fc544abd8895c,1987000021
+02ece3204c464770ba3fc544abd8895c,1987000020
+02ece3204c464770ba3fc544abd8895c,1987000019
+02ece3204c464770ba3fc544abd8895c,1987000018
+02ece3204c464770ba3fc544abd8895c,1987000017
+02ece3204c464770ba3fc544abd8895c,1987000016
+02ece3204c464770ba3fc544abd8895c,1987000014
+02ece3204c464770ba3fc544abd8895c,1987000013
+02ece3204c464770ba3fc544abd8895c,1987000011
+02ece3204c464770ba3fc544abd8895c,1987000008
+02ece3204c464770ba3fc544abd8895c,1987000004
+02ece3204c464770ba3fc544abd8895c,1987000003
+02ece3204c464770ba3fc544abd8895c,1987000001
+02ece3204c464770ba3fc544abd8895c,1986010135
+02ece3204c464770ba3fc544abd8895c,1986010130
+02ece3204c464770ba3fc544abd8895c,1986010123
+02ece3204c464770ba3fc544abd8895c,1986010121
+02ece3204c464770ba3fc544abd8895c,1986010119
+02ece3204c464770ba3fc544abd8895c,1986010118
+02ece3204c464770ba3fc544abd8895c,1986010115
+02ece3204c464770ba3fc544abd8895c,1986010114
+02ece3204c464770ba3fc544abd8895c,1986010110
+02ece3204c464770ba3fc544abd8895c,1986010109
+02ece3204c464770ba3fc544abd8895c,1986010106
+02ece3204c464770ba3fc544abd8895c,1986010104
+02ece3204c464770ba3fc544abd8895c,1986000134
+02ece3204c464770ba3fc544abd8895c,1986000133
+02ece3204c464770ba3fc544abd8895c,1986000102
+02ece3204c464770ba3fc544abd8895c,1986000098
+02ece3204c464770ba3fc544abd8895c,1986000097
+02ece3204c464770ba3fc544abd8895c,1986000096
+02ece3204c464770ba3fc544abd8895c,1986000095
+02ece3204c464770ba3fc544abd8895c,1986000094
+02ece3204c464770ba3fc544abd8895c,1986000092
+02ece3204c464770ba3fc544abd8895c,1986000091
+02ece3204c464770ba3fc544abd8895c,1986000090
+02ece3204c464770ba3fc544abd8895c,1986000089
+02ece3204c464770ba3fc544abd8895c,1986000088
+02ece3204c464770ba3fc544abd8895c,1986000087
+02ece3204c464770ba3fc544abd8895c,1986000086
+02ece3204c464770ba3fc544abd8895c,1986000085
+02ece3204c464770ba3fc544abd8895c,1986000083
+02ece3204c464770ba3fc544abd8895c,1986000082
+02ece3204c464770ba3fc544abd8895c,1986000081
+02ece3204c464770ba3fc544abd8895c,1986000080
+02ece3204c464770ba3fc544abd8895c,1986000079
+02ece3204c464770ba3fc544abd8895c,1986000078
+02ece3204c464770ba3fc544abd8895c,1986000076
+02ece3204c464770ba3fc544abd8895c,1986000075
+02ece3204c464770ba3fc544abd8895c,1986000074
+02ece3204c464770ba3fc544abd8895c,1986000073
+02ece3204c464770ba3fc544abd8895c,1986000072
+02ece3204c464770ba3fc544abd8895c,1986000071
+02ece3204c464770ba3fc544abd8895c,1986000070
+02ece3204c464770ba3fc544abd8895c,1986000069
+02ece3204c464770ba3fc544abd8895c,1986000067
+02ece3204c464770ba3fc544abd8895c,1986000066
+02ece3204c464770ba3fc544abd8895c,1986000065
+02ece3204c464770ba3fc544abd8895c,1986000064
+02ece3204c464770ba3fc544abd8895c,1986000063
+02ece3204c464770ba3fc544abd8895c,1986000061
+02ece3204c464770ba3fc544abd8895c,1986000060
+02ece3204c464770ba3fc544abd8895c,1986000059
+02ece3204c464770ba3fc544abd8895c,1986000058
+02ece3204c464770ba3fc544abd8895c,1986000057
+02ece3204c464770ba3fc544abd8895c,1986000056
+02ece3204c464770ba3fc544abd8895c,1986000055
+02ece3204c464770ba3fc544abd8895c,1986000054
+02ece3204c464770ba3fc544abd8895c,1986000053
+02ece3204c464770ba3fc544abd8895c,1986000052
+02ece3204c464770ba3fc544abd8895c,1986000051
+02ece3204c464770ba3fc544abd8895c,1986000050
+02ece3204c464770ba3fc544abd8895c,1986000047
+02ece3204c464770ba3fc544abd8895c,1986000046
+02ece3204c464770ba3fc544abd8895c,1986000045
+02ece3204c464770ba3fc544abd8895c,1986000044
+02ece3204c464770ba3fc544abd8895c,1986000042
+02ece3204c464770ba3fc544abd8895c,1986000041
+02ece3204c464770ba3fc544abd8895c,1986000040
+02ece3204c464770ba3fc544abd8895c,1986000039
+02ece3204c464770ba3fc544abd8895c,1986000038
+02ece3204c464770ba3fc544abd8895c,1986000037
+02ece3204c464770ba3fc544abd8895c,1986000036
+02ece3204c464770ba3fc544abd8895c,1986000035
+02ece3204c464770ba3fc544abd8895c,1986000034
+02ece3204c464770ba3fc544abd8895c,1986000033
+02ece3204c464770ba3fc544abd8895c,1986000032
+02ece3204c464770ba3fc544abd8895c,1986000031
+02ece3204c464770ba3fc544abd8895c,1986000030
+02ece3204c464770ba3fc544abd8895c,1986000029
+02ece3204c464770ba3fc544abd8895c,1986000028
+02ece3204c464770ba3fc544abd8895c,1986000026
+02ece3204c464770ba3fc544abd8895c,1986000025
+02ece3204c464770ba3fc544abd8895c,1986000023
+02ece3204c464770ba3fc544abd8895c,1986000022
+02ece3204c464770ba3fc544abd8895c,1986000021
+02ece3204c464770ba3fc544abd8895c,1986000020
+02ece3204c464770ba3fc544abd8895c,1986000019
+02ece3204c464770ba3fc544abd8895c,1986000012
+02ece3204c464770ba3fc544abd8895c,1986000010
+02ece3204c464770ba3fc544abd8895c,1986000007
+02ece3204c464770ba3fc544abd8895c,1986000005
+02ece3204c464770ba3fc544abd8895c,1986000004
+02ece3204c464770ba3fc544abd8895c,1986000001
+02ece3204c464770ba3fc544abd8895c,1985010099
+02ece3204c464770ba3fc544abd8895c,1985010094
+02ece3204c464770ba3fc544abd8895c,1985010092
+02ece3204c464770ba3fc544abd8895c,1985010090
+02ece3204c464770ba3fc544abd8895c,1985010083
+02ece3204c464770ba3fc544abd8895c,1985010066
+02ece3204c464770ba3fc544abd8895c,1985010014
+02ece3204c464770ba3fc544abd8895c,1985000098
+02ece3204c464770ba3fc544abd8895c,1985000097
+02ece3204c464770ba3fc544abd8895c,1985000096
+02ece3204c464770ba3fc544abd8895c,1985000093
+02ece3204c464770ba3fc544abd8895c,1985000088
+02ece3204c464770ba3fc544abd8895c,1985000084
+02ece3204c464770ba3fc544abd8895c,1985000082
+02ece3204c464770ba3fc544abd8895c,1985000081
+02ece3204c464770ba3fc544abd8895c,1985000075
+02ece3204c464770ba3fc544abd8895c,1985000073
+02ece3204c464770ba3fc544abd8895c,1985000072
+02ece3204c464770ba3fc544abd8895c,1985000071
+02ece3204c464770ba3fc544abd8895c,1985000068
+02ece3204c464770ba3fc544abd8895c,1985000067
+02ece3204c464770ba3fc544abd8895c,1985000065
+02ece3204c464770ba3fc544abd8895c,1985000064
+02ece3204c464770ba3fc544abd8895c,1985000063
+02ece3204c464770ba3fc544abd8895c,1985000062
+02ece3204c464770ba3fc544abd8895c,1985000061
+02ece3204c464770ba3fc544abd8895c,1985000060
+02ece3204c464770ba3fc544abd8895c,1985000059
+02ece3204c464770ba3fc544abd8895c,1985000058
+02ece3204c464770ba3fc544abd8895c,1985000057
+02ece3204c464770ba3fc544abd8895c,1985000056
+02ece3204c464770ba3fc544abd8895c,1985000055
+02ece3204c464770ba3fc544abd8895c,1985000054
+02ece3204c464770ba3fc544abd8895c,1985000053
+02ece3204c464770ba3fc544abd8895c,1985000052
+02ece3204c464770ba3fc544abd8895c,1985000051
+02ece3204c464770ba3fc544abd8895c,1985000050
+02ece3204c464770ba3fc544abd8895c,1985000049
+02ece3204c464770ba3fc544abd8895c,1985000048
+02ece3204c464770ba3fc544abd8895c,1985000047
+02ece3204c464770ba3fc544abd8895c,1985000046
+02ece3204c464770ba3fc544abd8895c,1985000045
+02ece3204c464770ba3fc544abd8895c,1985000044
+02ece3204c464770ba3fc544abd8895c,1985000043
+02ece3204c464770ba3fc544abd8895c,1985000042
+02ece3204c464770ba3fc544abd8895c,1985000041
+02ece3204c464770ba3fc544abd8895c,1985000040
+02ece3204c464770ba3fc544abd8895c,1985000039
+02ece3204c464770ba3fc544abd8895c,1985000038
+02ece3204c464770ba3fc544abd8895c,1985000037
+02ece3204c464770ba3fc544abd8895c,1985000036
+02ece3204c464770ba3fc544abd8895c,1985000035
+02ece3204c464770ba3fc544abd8895c,1985000034
+02ece3204c464770ba3fc544abd8895c,1985000033
+02ece3204c464770ba3fc544abd8895c,1985000032
+02ece3204c464770ba3fc544abd8895c,1985000030
+02ece3204c464770ba3fc544abd8895c,1985000029
+02ece3204c464770ba3fc544abd8895c,1985000026
+02ece3204c464770ba3fc544abd8895c,1985000024
+02ece3204c464770ba3fc544abd8895c,1985000023
+02ece3204c464770ba3fc544abd8895c,1985000022
+02ece3204c464770ba3fc544abd8895c,1985000021
+02ece3204c464770ba3fc544abd8895c,1985000019
+02ece3204c464770ba3fc544abd8895c,1985000018
+02ece3204c464770ba3fc544abd8895c,1985000017
+02ece3204c464770ba3fc544abd8895c,1985000016
+02ece3204c464770ba3fc544abd8895c,1985000015
+02ece3204c464770ba3fc544abd8895c,1985000013
+02ece3204c464770ba3fc544abd8895c,1985000012
+02ece3204c464770ba3fc544abd8895c,1985000010
+02ece3204c464770ba3fc544abd8895c,1985000008
+02ece3204c464770ba3fc544abd8895c,1985000007
+02ece3204c464770ba3fc544abd8895c,1985000005
+02ece3204c464770ba3fc544abd8895c,1985000001
+02ece3204c464770ba3fc544abd8895c,1984010108
+02ece3204c464770ba3fc544abd8895c,1984010102
+02ece3204c464770ba3fc544abd8895c,1984010075
+02ece3204c464770ba3fc544abd8895c,1984010070
+02ece3204c464770ba3fc544abd8895c,1984010069
+02ece3204c464770ba3fc544abd8895c,1984010013
+02ece3204c464770ba3fc544abd8895c,1984010008
+02ece3204c464770ba3fc544abd8895c,1984010004
+02ece3204c464770ba3fc544abd8895c,1984010003
+02ece3204c464770ba3fc544abd8895c,1984010002
+02ece3204c464770ba3fc544abd8895c,1984010001
+02ece3204c464770ba3fc544abd8895c,1984000106
+02ece3204c464770ba3fc544abd8895c,1984000105
+02ece3204c464770ba3fc544abd8895c,1984000104
+02ece3204c464770ba3fc544abd8895c,1984000101
+02ece3204c464770ba3fc544abd8895c,1984000100
+02ece3204c464770ba3fc544abd8895c,1984000097
+02ece3204c464770ba3fc544abd8895c,1984000093
+02ece3204c464770ba3fc544abd8895c,1984000092
+02ece3204c464770ba3fc544abd8895c,1984000091
+02ece3204c464770ba3fc544abd8895c,1984000089
+02ece3204c464770ba3fc544abd8895c,1984000085
+02ece3204c464770ba3fc544abd8895c,1984000084
+02ece3204c464770ba3fc544abd8895c,1984000083
+02ece3204c464770ba3fc544abd8895c,1984000082
+02ece3204c464770ba3fc544abd8895c,1984000080
+02ece3204c464770ba3fc544abd8895c,1984000079
+02ece3204c464770ba3fc544abd8895c,1984000078
+02ece3204c464770ba3fc544abd8895c,1984000076
+02ece3204c464770ba3fc544abd8895c,1984000067
+02ece3204c464770ba3fc544abd8895c,1984000065
+02ece3204c464770ba3fc544abd8895c,1984000063
+02ece3204c464770ba3fc544abd8895c,1984000062
+02ece3204c464770ba3fc544abd8895c,1984000061
+02ece3204c464770ba3fc544abd8895c,1984000060
+02ece3204c464770ba3fc544abd8895c,1984000059
+02ece3204c464770ba3fc544abd8895c,1984000057
+02ece3204c464770ba3fc544abd8895c,1984000056
+02ece3204c464770ba3fc544abd8895c,1984000055
+02ece3204c464770ba3fc544abd8895c,1984000054
+02ece3204c464770ba3fc544abd8895c,1984000053
+02ece3204c464770ba3fc544abd8895c,1984000052
+02ece3204c464770ba3fc544abd8895c,1984000051
+02ece3204c464770ba3fc544abd8895c,1984000050
+02ece3204c464770ba3fc544abd8895c,1984000049
+02ece3204c464770ba3fc544abd8895c,1984000047
+02ece3204c464770ba3fc544abd8895c,1984000046
+02ece3204c464770ba3fc544abd8895c,1984000044
+02ece3204c464770ba3fc544abd8895c,1984000043
+02ece3204c464770ba3fc544abd8895c,1984000042
+02ece3204c464770ba3fc544abd8895c,1984000041
+02ece3204c464770ba3fc544abd8895c,1984000040
+02ece3204c464770ba3fc544abd8895c,1984000039
+02ece3204c464770ba3fc544abd8895c,1984000038
+02ece3204c464770ba3fc544abd8895c,1984000032
+02ece3204c464770ba3fc544abd8895c,1984000030
+02ece3204c464770ba3fc544abd8895c,1984000029
+02ece3204c464770ba3fc544abd8895c,1984000026
+02ece3204c464770ba3fc544abd8895c,1984000025
+02ece3204c464770ba3fc544abd8895c,1984000023
+02ece3204c464770ba3fc544abd8895c,1984000022
+02ece3204c464770ba3fc544abd8895c,1984000021
+02ece3204c464770ba3fc544abd8895c,1984000020
+02ece3204c464770ba3fc544abd8895c,1984000019
+02ece3204c464770ba3fc544abd8895c,1984000018
+02ece3204c464770ba3fc544abd8895c,1984000017
+02ece3204c464770ba3fc544abd8895c,1984000015
+02ece3204c464770ba3fc544abd8895c,1984000012
+02ece3204c464770ba3fc544abd8895c,1984000011
+02ece3204c464770ba3fc544abd8895c,1984000009
+02ece3204c464770ba3fc544abd8895c,1984000007
+02ece3204c464770ba3fc544abd8895c,1983000070
+02ece3204c464770ba3fc544abd8895c,1983000069
+02ece3204c464770ba3fc544abd8895c,1983000068
+02ece3204c464770ba3fc544abd8895c,1983000067
+02ece3204c464770ba3fc544abd8895c,1983000066
+02ece3204c464770ba3fc544abd8895c,1983000065
+02ece3204c464770ba3fc544abd8895c,1983000060
+02ece3204c464770ba3fc544abd8895c,1983000059
+02ece3204c464770ba3fc544abd8895c,1983000053
+02ece3204c464770ba3fc544abd8895c,1983000052
+02ece3204c464770ba3fc544abd8895c,1983000051
+02ece3204c464770ba3fc544abd8895c,1983000048
+02ece3204c464770ba3fc544abd8895c,1983000043
+02ece3204c464770ba3fc544abd8895c,1983000041
+02ece3204c464770ba3fc544abd8895c,1983000040
+02ece3204c464770ba3fc544abd8895c,1983000039
+02ece3204c464770ba3fc544abd8895c,1983000035
+02ece3204c464770ba3fc544abd8895c,1983000033
+02ece3204c464770ba3fc544abd8895c,1983000032
+02ece3204c464770ba3fc544abd8895c,1983000031
+02ece3204c464770ba3fc544abd8895c,1983000030
+02ece3204c464770ba3fc544abd8895c,1983000028
+02ece3204c464770ba3fc544abd8895c,1983000026
+02ece3204c464770ba3fc544abd8895c,1983000024
+02ece3204c464770ba3fc544abd8895c,1983000023
+02ece3204c464770ba3fc544abd8895c,1983000022
+02ece3204c464770ba3fc544abd8895c,1983000021
+02ece3204c464770ba3fc544abd8895c,1983000019
+02ece3204c464770ba3fc544abd8895c,1983000018
+02ece3204c464770ba3fc544abd8895c,1983000017
+02ece3204c464770ba3fc544abd8895c,1983000016
+02ece3204c464770ba3fc544abd8895c,1983000015
+02ece3204c464770ba3fc544abd8895c,1983000014
+02ece3204c464770ba3fc544abd8895c,1983000012
+02ece3204c464770ba3fc544abd8895c,1983000011
+02ece3204c464770ba3fc544abd8895c,1983000009
+02ece3204c464770ba3fc544abd8895c,1983000008
+02ece3204c464770ba3fc544abd8895c,1983000003
+02ece3204c464770ba3fc544abd8895c,1983000001
+02ece3204c464770ba3fc544abd8895c,1982000088
+02ece3204c464770ba3fc544abd8895c,1982000087
+02ece3204c464770ba3fc544abd8895c,1982000085
+02ece3204c464770ba3fc544abd8895c,1982000083
+02ece3204c464770ba3fc544abd8895c,1982000081
+02ece3204c464770ba3fc544abd8895c,1982000080
+02ece3204c464770ba3fc544abd8895c,1982000078
+02ece3204c464770ba3fc544abd8895c,1982000075
+02ece3204c464770ba3fc544abd8895c,1982000073
+02ece3204c464770ba3fc544abd8895c,1982000072
+02ece3204c464770ba3fc544abd8895c,1982000070
+02ece3204c464770ba3fc544abd8895c,1982000069
+02ece3204c464770ba3fc544abd8895c,1982000068
+02ece3204c464770ba3fc544abd8895c,1982000067
+02ece3204c464770ba3fc544abd8895c,1982000066
+02ece3204c464770ba3fc544abd8895c,1982000065
+02ece3204c464770ba3fc544abd8895c,1982000063
+02ece3204c464770ba3fc544abd8895c,1982000060
+02ece3204c464770ba3fc544abd8895c,1982000059
+02ece3204c464770ba3fc544abd8895c,1982000058
+02ece3204c464770ba3fc544abd8895c,1982000057
+02ece3204c464770ba3fc544abd8895c,1982000055
+02ece3204c464770ba3fc544abd8895c,1982000053
+02ece3204c464770ba3fc544abd8895c,1982000052
+02ece3204c464770ba3fc544abd8895c,1982000050
+02ece3204c464770ba3fc544abd8895c,1982000046
+02ece3204c464770ba3fc544abd8895c,1982000045
+02ece3204c464770ba3fc544abd8895c,1982000044
+02ece3204c464770ba3fc544abd8895c,1982000041
+02ece3204c464770ba3fc544abd8895c,1982000040
+02ece3204c464770ba3fc544abd8895c,1982000039
+02ece3204c464770ba3fc544abd8895c,1982000038
+02ece3204c464770ba3fc544abd8895c,1982000037
+02ece3204c464770ba3fc544abd8895c,1982000031
+02ece3204c464770ba3fc544abd8895c,1982000029
+02ece3204c464770ba3fc544abd8895c,1982000028
+02ece3204c464770ba3fc544abd8895c,1982000025
+02ece3204c464770ba3fc544abd8895c,1982000021
+02ece3204c464770ba3fc544abd8895c,1982000014
+02ece3204c464770ba3fc544abd8895c,1982000013
+02ece3204c464770ba3fc544abd8895c,1982000010
+02ece3204c464770ba3fc544abd8895c,1982000008
+02ece3204c464770ba3fc544abd8895c,1982000005
+02ece3204c464770ba3fc544abd8895c,1981000228
+02ece3204c464770ba3fc544abd8895c,1981000222
+02ece3204c464770ba3fc544abd8895c,1981000220
+02ece3204c464770ba3fc544abd8895c,1981000217
+02ece3204c464770ba3fc544abd8895c,1981000216
+02ece3204c464770ba3fc544abd8895c,1981000215
+02ece3204c464770ba3fc544abd8895c,1981000209
+02ece3204c464770ba3fc544abd8895c,1981000204
+02ece3204c464770ba3fc544abd8895c,1981000194
+02ece3204c464770ba3fc544abd8895c,1981000190
+02ece3204c464770ba3fc544abd8895c,1981000187
+02ece3204c464770ba3fc544abd8895c,1981000178
+02ece3204c464770ba3fc544abd8895c,1981000159
+02ece3204c464770ba3fc544abd8895c,1981000158
+02ece3204c464770ba3fc544abd8895c,1981000155
+02ece3204c464770ba3fc544abd8895c,1981000153
+02ece3204c464770ba3fc544abd8895c,1981000152
+02ece3204c464770ba3fc544abd8895c,1981000151
+02ece3204c464770ba3fc544abd8895c,1981000148
+02ece3204c464770ba3fc544abd8895c,1981000147
+02ece3204c464770ba3fc544abd8895c,1981000140
+02ece3204c464770ba3fc544abd8895c,1981000136
+02ece3204c464770ba3fc544abd8895c,1981000133
+02ece3204c464770ba3fc544abd8895c,1981000131
+02ece3204c464770ba3fc544abd8895c,1981000128
+02ece3204c464770ba3fc544abd8895c,1981000125
+02ece3204c464770ba3fc544abd8895c,1981000124
+02ece3204c464770ba3fc544abd8895c,1981000121
+02ece3204c464770ba3fc544abd8895c,1981000119
+02ece3204c464770ba3fc544abd8895c,1981000117
+02ece3204c464770ba3fc544abd8895c,1981000116
+02ece3204c464770ba3fc544abd8895c,1981000115
+02ece3204c464770ba3fc544abd8895c,1981000114
+02ece3204c464770ba3fc544abd8895c,1981000110
+02ece3204c464770ba3fc544abd8895c,1981000109
+02ece3204c464770ba3fc544abd8895c,1981000107
+02ece3204c464770ba3fc544abd8895c,1981000106
+02ece3204c464770ba3fc544abd8895c,1981000105
+02ece3204c464770ba3fc544abd8895c,1981000103
+02ece3204c464770ba3fc544abd8895c,1981000102
+02ece3204c464770ba3fc544abd8895c,1981000101
+02ece3204c464770ba3fc544abd8895c,1981000100
+02ece3204c464770ba3fc544abd8895c,1981000099
+02ece3204c464770ba3fc544abd8895c,1981000095
+02ece3204c464770ba3fc544abd8895c,1981000090
+02ece3204c464770ba3fc544abd8895c,1981000089
+02ece3204c464770ba3fc544abd8895c,1981000088
+02ece3204c464770ba3fc544abd8895c,1981000087
+02ece3204c464770ba3fc544abd8895c,1981000081
+02ece3204c464770ba3fc544abd8895c,1981000078
+02ece3204c464770ba3fc544abd8895c,1981000072
+02ece3204c464770ba3fc544abd8895c,1981000068
+02ece3204c464770ba3fc544abd8895c,1981000067
+02ece3204c464770ba3fc544abd8895c,1981000065
+02ece3204c464770ba3fc544abd8895c,1981000063
+02ece3204c464770ba3fc544abd8895c,1981000059
+02ece3204c464770ba3fc544abd8895c,1981000057
+02ece3204c464770ba3fc544abd8895c,1981000052
+02ece3204c464770ba3fc544abd8895c,1981000051
+02ece3204c464770ba3fc544abd8895c,1981000049
+02ece3204c464770ba3fc544abd8895c,1981000048
+02ece3204c464770ba3fc544abd8895c,1981000041
+02ece3204c464770ba3fc544abd8895c,1981000039
+02ece3204c464770ba3fc544abd8895c,1981000038
+02ece3204c464770ba3fc544abd8895c,1981000037
+02ece3204c464770ba3fc544abd8895c,1981000036
+02ece3204c464770ba3fc544abd8895c,1981000035
+02ece3204c464770ba3fc544abd8895c,1981000031
+02ece3204c464770ba3fc544abd8895c,1981000028
+02ece3204c464770ba3fc544abd8895c,1981000027
+02ece3204c464770ba3fc544abd8895c,1981000023
+02ece3204c464770ba3fc544abd8895c,1981000022
+02ece3204c464770ba3fc544abd8895c,1981000021
+02ece3204c464770ba3fc544abd8895c,1981000020
+02ece3204c464770ba3fc544abd8895c,1981000018
+02ece3204c464770ba3fc544abd8895c,1981000016
+02ece3204c464770ba3fc544abd8895c,1981000015
+02ece3204c464770ba3fc544abd8895c,1981000014
+02ece3204c464770ba3fc544abd8895c,1981000009
+02ece3204c464770ba3fc544abd8895c,1981000007
+02ece3204c464770ba3fc544abd8895c,1981000001
+02ece3204c464770ba3fc544abd8895c,1980000048
+02ece3204c464770ba3fc544abd8895c,1980000047
+02ece3204c464770ba3fc544abd8895c,1980000046
+02ece3204c464770ba3fc544abd8895c,1980000042
+02ece3204c464770ba3fc544abd8895c,1980000040
+02ece3204c464770ba3fc544abd8895c,1980000039
+02ece3204c464770ba3fc544abd8895c,1980000038
+02ece3204c464770ba3fc544abd8895c,1980000036
+02ece3204c464770ba3fc544abd8895c,1980000023
+02ece3204c464770ba3fc544abd8895c,1980000020
+02ece3204c464770ba3fc544abd8895c,1980000004
+02ece3204c464770ba3fc544abd8895c,1979000084
+02ece3204c464770ba3fc544abd8895c,1979000083
+02ece3204c464770ba3fc544abd8895c,1979000082
+02ece3204c464770ba3fc544abd8895c,1979000076
+02ece3204c464770ba3fc544abd8895c,1979000075
+02ece3204c464770ba3fc544abd8895c,1979000070
+02ece3204c464770ba3fc544abd8895c,1979000068
+02ece3204c464770ba3fc544abd8895c,1979000065
+02ece3204c464770ba3fc544abd8895c,1979000064
+02ece3204c464770ba3fc544abd8895c,1979000058
+02ece3204c464770ba3fc544abd8895c,1979000057
+02ece3204c464770ba3fc544abd8895c,1979000056
+02ece3204c464770ba3fc544abd8895c,1979000052
+02ece3204c464770ba3fc544abd8895c,1979000046
+02ece3204c464770ba3fc544abd8895c,1979000044
+02ece3204c464770ba3fc544abd8895c,1979000029
+02ece3204c464770ba3fc544abd8895c,1979000027
+02ece3204c464770ba3fc544abd8895c,1978000058
+02ece3204c464770ba3fc544abd8895c,1978000052
+02ece3204c464770ba3fc544abd8895c,1978000050
+02ece3204c464770ba3fc544abd8895c,1978000038
+02ece3204c464770ba3fc544abd8895c,1978000013
+02ece3204c464770ba3fc544abd8895c,1978000010
+02ece3204c464770ba3fc544abd8895c,1978000009
+02ece3204c464770ba3fc544abd8895c,1978000003
+02ece3204c464770ba3fc544abd8895c,1977000062
+02ece3204c464770ba3fc544abd8895c,1977000060
+02ece3204c464770ba3fc544abd8895c,1977000058
+02ece3204c464770ba3fc544abd8895c,1977000047
+02ece3204c464770ba3fc544abd8895c,1977000038
+02ece3204c464770ba3fc544abd8895c,1977000032
+02ece3204c464770ba3fc544abd8895c,1977000010
+02ece3204c464770ba3fc544abd8895c,1977000008
+02ece3204c464770ba3fc544abd8895c,1976000054
+02ece3204c464770ba3fc544abd8895c,1975000015
+02ece3204c464770ba3fc544abd8895c,1975000007
+02ece3204c464770ba3fc544abd8895c,1974000010
+02ece3204c464770ba3fc544abd8895c,1973000051
+02ece3204c464770ba3fc544abd8895c,1972000049
+02ece3204c464770ba3fc544abd8895c,1972000035
+02ece3204c464770ba3fc544abd8895c,1972000027
+02ece3204c464770ba3fc544abd8895c,1972000025
+02ece3204c464770ba3fc544abd8895c,1972000004
+02ece3204c464770ba3fc544abd8895c,1971000074
+02ece3204c464770ba3fc544abd8895c,1969000001
+02ece3204c464770ba3fc544abd8895c,1957000001
+02ece3204c464770ba3fc544abd8895c,1949000001
+02ece3204c464770ba3fc544abd8895c,08010
+02ece3204c464770ba3fc544abd8895c,07191
+02ece3204c464770ba3fc544abd8895c,07190
+02ece3204c464770ba3fc544abd8895c,06430
+02ece3204c464770ba3fc544abd8895c,06420
+02ece3204c464770ba3fc544abd8895c,06410
+02ece3204c464770ba3fc544abd8895c,06401
+02ece3204c464770ba3fc544abd8895c,06391
+02ece3204c464770ba3fc544abd8895c,06180
+02ece3204c464770ba3fc544abd8895c,06170
+02ece3204c464770ba3fc544abd8895c,06160
+02ece3204c464770ba3fc544abd8895c,06140
+02ece3204c464770ba3fc544abd8895c,06130
+02ece3204c464770ba3fc544abd8895c,06120
+02ece3204c464770ba3fc544abd8895c,06110
+02ece3204c464770ba3fc544abd8895c,06100
+02ece3204c464770ba3fc544abd8895c,06090
+02ece3204c464770ba3fc544abd8895c,06080
+02ece3204c464770ba3fc544abd8895c,06070
+02ece3204c464770ba3fc544abd8895c,06060
+02ece3204c464770ba3fc544abd8895c,06050
+02ece3204c464770ba3fc544abd8895c,06040
+02ece3204c464770ba3fc544abd8895c,06030
+02ece3204c464770ba3fc544abd8895c,06020
+02ece3204c464770ba3fc544abd8895c,06010
+02ece3204c464770ba3fc544abd8895c,05070
+02ece3204c464770ba3fc544abd8895c,05040
+02ece3204c464770ba3fc544abd8895c,05030
+02ece3204c464770ba3fc544abd8895c,05020
+02ece3204c464770ba3fc544abd8895c,05010
+02ece3204c464770ba3fc544abd8895c,04040
+02ece3204c464770ba3fc544abd8895c,04013
+02ece3204c464770ba3fc544abd8895c,04012
+02ece3204c464770ba3fc544abd8895c,04011
+02ece3204c464770ba3fc544abd8895c,03040
+02ece3204c464770ba3fc544abd8895c,03010
+02ece3204c464770ba3fc544abd8895c,02281
+02ece3204c464770ba3fc544abd8895c,02220
+02ece3204c464770ba3fc544abd8895c,02210
+02ece3204c464770ba3fc544abd8895c,02200
+02ece3204c464770ba3fc544abd8895c,02190
+02ece3204c464770ba3fc544abd8895c,02180
+02ece3204c464770ba3fc544abd8895c,02170
+02ece3204c464770ba3fc544abd8895c,02160
+02ece3204c464770ba3fc544abd8895c,02121
+02ece3204c464770ba3fc544abd8895c,02120
+02ece3204c464770ba3fc544abd8895c,02110
+02ece3204c464770ba3fc544abd8895c,02100
+02ece3204c464770ba3fc544abd8895c,02090
+02ece3204c464770ba3fc544abd8895c,02080
+02ece3204c464770ba3fc544abd8895c,02070
+02ece3204c464770ba3fc544abd8895c,02060
+02ece3204c464770ba3fc544abd8895c,02040
+02ece3204c464770ba3fc544abd8895c,02030
+02ece3204c464770ba3fc544abd8895c,02020
+02ece3204c464770ba3fc544abd8895c,02010
+02ece3204c464770ba3fc544abd8895c,01110
+02ece3204c464770ba3fc544abd8895c,01100
+02ece3204c464770ba3fc544abd8895c,01090
+02ece3204c464770ba3fc544abd8895c,01080
+02ece3204c464770ba3fc544abd8895c,01070
+02ece3204c464770ba3fc544abd8895c,01060
+02ece3204c464770ba3fc544abd8895c,01040
+02ece3204c464770ba3fc544abd8895c,01030
+02ece3204c464770ba3fc544abd8895c,01021
+02ece3204c464770ba3fc544abd8895c,01020
+02ece3204c464770ba3fc544abd8895c,01014
+02ece3204c464770ba3fc544abd8895c,01010
+058626717cde4421952f0946e51406e8,2004000106
+058626717cde4421952f0946e51406e8,2004000105
+058626717cde4421952f0946e51406e8,2004000104
+058626717cde4421952f0946e51406e8,2004000103
+058626717cde4421952f0946e51406e8,2004000102
+058626717cde4421952f0946e51406e8,2004000101
+058626717cde4421952f0946e51406e8,2004000091
+058626717cde4421952f0946e51406e8,2004000089
+058626717cde4421952f0946e51406e8,2004000088
+058626717cde4421952f0946e51406e8,2004000087
+058626717cde4421952f0946e51406e8,2004000085
+058626717cde4421952f0946e51406e8,2004000084
+058626717cde4421952f0946e51406e8,2004000083
+058626717cde4421952f0946e51406e8,2004000082
+058626717cde4421952f0946e51406e8,2004000081
+058626717cde4421952f0946e51406e8,2004000080
+058626717cde4421952f0946e51406e8,2004000079
+058626717cde4421952f0946e51406e8,2004000077
+058626717cde4421952f0946e51406e8,2004000076
+058626717cde4421952f0946e51406e8,2004000075
+058626717cde4421952f0946e51406e8,2004000074
+058626717cde4421952f0946e51406e8,2004000073
+058626717cde4421952f0946e51406e8,2004000072
+058626717cde4421952f0946e51406e8,2004000071
+058626717cde4421952f0946e51406e8,2004000070
+058626717cde4421952f0946e51406e8,2004000069
+058626717cde4421952f0946e51406e8,2004000068
+058626717cde4421952f0946e51406e8,2004000067
+058626717cde4421952f0946e51406e8,2004000066
+058626717cde4421952f0946e51406e8,2004000065
+058626717cde4421952f0946e51406e8,2004000064
+058626717cde4421952f0946e51406e8,2004000063
+058626717cde4421952f0946e51406e8,2004000062
+058626717cde4421952f0946e51406e8,2004000061
+058626717cde4421952f0946e51406e8,2004000060
+058626717cde4421952f0946e51406e8,2004000059
+058626717cde4421952f0946e51406e8,2004000058
+058626717cde4421952f0946e51406e8,2004000057
+058626717cde4421952f0946e51406e8,2004000056
+058626717cde4421952f0946e51406e8,2004000055
+058626717cde4421952f0946e51406e8,2004000054
+058626717cde4421952f0946e51406e8,2004000053
+058626717cde4421952f0946e51406e8,2004000052
+058626717cde4421952f0946e51406e8,2004000051
+058626717cde4421952f0946e51406e8,2004000050
+058626717cde4421952f0946e51406e8,2004000049
+058626717cde4421952f0946e51406e8,2004000048
+058626717cde4421952f0946e51406e8,2004000047
+058626717cde4421952f0946e51406e8,2004000046
+058626717cde4421952f0946e51406e8,2004000045
+058626717cde4421952f0946e51406e8,2004000044
+058626717cde4421952f0946e51406e8,2004000043
+058626717cde4421952f0946e51406e8,2004000042
+058626717cde4421952f0946e51406e8,2004000041
+058626717cde4421952f0946e51406e8,2004000040
+058626717cde4421952f0946e51406e8,2004000039
+058626717cde4421952f0946e51406e8,2004000037
+058626717cde4421952f0946e51406e8,2004000036
+058626717cde4421952f0946e51406e8,2004000035
+058626717cde4421952f0946e51406e8,2004000034
+058626717cde4421952f0946e51406e8,2004000033
+058626717cde4421952f0946e51406e8,2004000032
+058626717cde4421952f0946e51406e8,2004000031
+058626717cde4421952f0946e51406e8,2004000030
+058626717cde4421952f0946e51406e8,2004000029
+058626717cde4421952f0946e51406e8,2004000028
+058626717cde4421952f0946e51406e8,2004000027
+058626717cde4421952f0946e51406e8,2004000026
+058626717cde4421952f0946e51406e8,2004000025
+058626717cde4421952f0946e51406e8,2004000024
+058626717cde4421952f0946e51406e8,2004000023
+058626717cde4421952f0946e51406e8,2004000022
+058626717cde4421952f0946e51406e8,2004000021
+058626717cde4421952f0946e51406e8,2004000020
+058626717cde4421952f0946e51406e8,2004000019
+058626717cde4421952f0946e51406e8,2004000018
+058626717cde4421952f0946e51406e8,2004000017
+058626717cde4421952f0946e51406e8,2004000016
+058626717cde4421952f0946e51406e8,2004000015
+058626717cde4421952f0946e51406e8,2004000014
+058626717cde4421952f0946e51406e8,2004000013
+058626717cde4421952f0946e51406e8,2004000012
+058626717cde4421952f0946e51406e8,2004000011
+058626717cde4421952f0946e51406e8,2004000010
+058626717cde4421952f0946e51406e8,2004000009
+058626717cde4421952f0946e51406e8,2004000008
+058626717cde4421952f0946e51406e8,2004000007
+058626717cde4421952f0946e51406e8,2004000006
+058626717cde4421952f0946e51406e8,2004000005
+058626717cde4421952f0946e51406e8,2004000003
+058626717cde4421952f0946e51406e8,2004000002
+058626717cde4421952f0946e51406e8,2003030128
+058626717cde4421952f0946e51406e8,2003030117
+058626717cde4421952f0946e51406e8,2003030066
+058626717cde4421952f0946e51406e8,2003020134
+058626717cde4421952f0946e51406e8,2003020127
+058626717cde4421952f0946e51406e8,2003020089
+058626717cde4421952f0946e51406e8,2003020088
+058626717cde4421952f0946e51406e8,2003020087
+058626717cde4421952f0946e51406e8,2003020086
+058626717cde4421952f0946e51406e8,2003020085
+058626717cde4421952f0946e51406e8,2003020084
+058626717cde4421952f0946e51406e8,2003020083
+058626717cde4421952f0946e51406e8,2003020082
+058626717cde4421952f0946e51406e8,2003020081
+058626717cde4421952f0946e51406e8,2003020080
+058626717cde4421952f0946e51406e8,2003020079
+058626717cde4421952f0946e51406e8,2003020078
+058626717cde4421952f0946e51406e8,2003020077
+058626717cde4421952f0946e51406e8,2003020059
+058626717cde4421952f0946e51406e8,2003020045
+058626717cde4421952f0946e51406e8,2003020008
+058626717cde4421952f0946e51406e8,2003010161
+058626717cde4421952f0946e51406e8,2003000133
+058626717cde4421952f0946e51406e8,2003000132
+058626717cde4421952f0946e51406e8,2003000131
+058626717cde4421952f0946e51406e8,2003000130
+058626717cde4421952f0946e51406e8,2003000129
+058626717cde4421952f0946e51406e8,2003000126
+058626717cde4421952f0946e51406e8,2003000125
+058626717cde4421952f0946e51406e8,2003000124
+058626717cde4421952f0946e51406e8,2003000123
+058626717cde4421952f0946e51406e8,2003000121
+058626717cde4421952f0946e51406e8,2003000120
+058626717cde4421952f0946e51406e8,2003000119
+058626717cde4421952f0946e51406e8,2003000118
+058626717cde4421952f0946e51406e8,2003000116
+058626717cde4421952f0946e51406e8,2003000115
+058626717cde4421952f0946e51406e8,2003000114
+058626717cde4421952f0946e51406e8,2003000113
+058626717cde4421952f0946e51406e8,2003000112
+058626717cde4421952f0946e51406e8,2003000111
+058626717cde4421952f0946e51406e8,2003000110
+058626717cde4421952f0946e51406e8,2003000109
+058626717cde4421952f0946e51406e8,2003000108
+058626717cde4421952f0946e51406e8,2003000107
+058626717cde4421952f0946e51406e8,2003000106
+058626717cde4421952f0946e51406e8,2003000105
+058626717cde4421952f0946e51406e8,2003000104
+058626717cde4421952f0946e51406e8,2003000103
+058626717cde4421952f0946e51406e8,2003000102
+058626717cde4421952f0946e51406e8,2003000101
+058626717cde4421952f0946e51406e8,2003000100
+058626717cde4421952f0946e51406e8,2003000099
+058626717cde4421952f0946e51406e8,2003000098
+058626717cde4421952f0946e51406e8,2003000097
+058626717cde4421952f0946e51406e8,2003000096
+058626717cde4421952f0946e51406e8,2003000095
+058626717cde4421952f0946e51406e8,2003000094
+058626717cde4421952f0946e51406e8,2003000093
+058626717cde4421952f0946e51406e8,2003000092
+058626717cde4421952f0946e51406e8,2003000091
+058626717cde4421952f0946e51406e8,2003000090
+058626717cde4421952f0946e51406e8,2003000076
+058626717cde4421952f0946e51406e8,2003000075
+058626717cde4421952f0946e51406e8,2003000074
+058626717cde4421952f0946e51406e8,2003000073
+058626717cde4421952f0946e51406e8,2003000072
+058626717cde4421952f0946e51406e8,2003000071
+058626717cde4421952f0946e51406e8,2003000070
+058626717cde4421952f0946e51406e8,2003000069
+058626717cde4421952f0946e51406e8,2003000068
+058626717cde4421952f0946e51406e8,2003000067
+058626717cde4421952f0946e51406e8,2003000065
+058626717cde4421952f0946e51406e8,2003000064
+058626717cde4421952f0946e51406e8,2003000063
+058626717cde4421952f0946e51406e8,2003000062
+058626717cde4421952f0946e51406e8,2003000061
+058626717cde4421952f0946e51406e8,2003000060
+058626717cde4421952f0946e51406e8,2003000058
+058626717cde4421952f0946e51406e8,2003000057
+058626717cde4421952f0946e51406e8,2003000056
+058626717cde4421952f0946e51406e8,2003000055
+058626717cde4421952f0946e51406e8,2003000054
+058626717cde4421952f0946e51406e8,2003000053
+058626717cde4421952f0946e51406e8,2003000052
+058626717cde4421952f0946e51406e8,2003000051
+058626717cde4421952f0946e51406e8,2003000050
+058626717cde4421952f0946e51406e8,2003000049
+058626717cde4421952f0946e51406e8,2003000048
+058626717cde4421952f0946e51406e8,2003000047
+058626717cde4421952f0946e51406e8,2003000046
+058626717cde4421952f0946e51406e8,2003000044
+058626717cde4421952f0946e51406e8,2003000043
+058626717cde4421952f0946e51406e8,2003000042
+058626717cde4421952f0946e51406e8,2003000041
+058626717cde4421952f0946e51406e8,2003000040
+058626717cde4421952f0946e51406e8,2003000039
+058626717cde4421952f0946e51406e8,2003000038
+058626717cde4421952f0946e51406e8,2003000037
+058626717cde4421952f0946e51406e8,2003000036
+058626717cde4421952f0946e51406e8,2003000035
+058626717cde4421952f0946e51406e8,2003000034
+058626717cde4421952f0946e51406e8,2003000033
+058626717cde4421952f0946e51406e8,2003000032
+058626717cde4421952f0946e51406e8,2003000031
+058626717cde4421952f0946e51406e8,2003000030
+058626717cde4421952f0946e51406e8,2003000029
+058626717cde4421952f0946e51406e8,2003000028
+058626717cde4421952f0946e51406e8,2003000027
+058626717cde4421952f0946e51406e8,2003000026
+058626717cde4421952f0946e51406e8,2003000025
+058626717cde4421952f0946e51406e8,2003000024
+058626717cde4421952f0946e51406e8,2003000023
+058626717cde4421952f0946e51406e8,2003000022
+058626717cde4421952f0946e51406e8,2003000021
+058626717cde4421952f0946e51406e8,2003000020
+058626717cde4421952f0946e51406e8,2003000019
+058626717cde4421952f0946e51406e8,2003000018
+058626717cde4421952f0946e51406e8,2003000017
+058626717cde4421952f0946e51406e8,2003000016
+058626717cde4421952f0946e51406e8,2003000015
+058626717cde4421952f0946e51406e8,2003000014
+058626717cde4421952f0946e51406e8,2003000013
+058626717cde4421952f0946e51406e8,2003000012
+058626717cde4421952f0946e51406e8,2003000011
+058626717cde4421952f0946e51406e8,2003000010
+058626717cde4421952f0946e51406e8,2003000009
+058626717cde4421952f0946e51406e8,2003000007
+058626717cde4421952f0946e51406e8,2003000006
+058626717cde4421952f0946e51406e8,2003000005
+058626717cde4421952f0946e51406e8,2003000004
+058626717cde4421952f0946e51406e8,2003000002
+058626717cde4421952f0946e51406e8,2003000001
+058626717cde4421952f0946e51406e8,2002060088
+058626717cde4421952f0946e51406e8,2002030006
+058626717cde4421952f0946e51406e8,2002020066
+058626717cde4421952f0946e51406e8,2002020065
+058626717cde4421952f0946e51406e8,2002020057
+058626717cde4421952f0946e51406e8,2002020056
+058626717cde4421952f0946e51406e8,2002020053
+058626717cde4421952f0946e51406e8,2002020013
+058626717cde4421952f0946e51406e8,2002020012
+058626717cde4421952f0946e51406e8,2002020002
+058626717cde4421952f0946e51406e8,2002020001
+058626717cde4421952f0946e51406e8,2002000067
+058626717cde4421952f0946e51406e8,2002000064
+058626717cde4421952f0946e51406e8,2002000063
+058626717cde4421952f0946e51406e8,2002000062
+058626717cde4421952f0946e51406e8,2002000061
+058626717cde4421952f0946e51406e8,2002000060
+058626717cde4421952f0946e51406e8,2002000058
+058626717cde4421952f0946e51406e8,2002000055
+058626717cde4421952f0946e51406e8,2002000054
+058626717cde4421952f0946e51406e8,2002000052
+058626717cde4421952f0946e51406e8,2002000051
+058626717cde4421952f0946e51406e8,2002000050
+058626717cde4421952f0946e51406e8,2002000049
+058626717cde4421952f0946e51406e8,2002000048
+058626717cde4421952f0946e51406e8,2002000047
+058626717cde4421952f0946e51406e8,2002000046
+058626717cde4421952f0946e51406e8,2002000045
+058626717cde4421952f0946e51406e8,2002000044
+058626717cde4421952f0946e51406e8,2002000043
+058626717cde4421952f0946e51406e8,2002000042
+058626717cde4421952f0946e51406e8,2002000041
+058626717cde4421952f0946e51406e8,2002000040
+058626717cde4421952f0946e51406e8,2002000039
+058626717cde4421952f0946e51406e8,2002000038
+058626717cde4421952f0946e51406e8,2002000037
+058626717cde4421952f0946e51406e8,2002000036
+058626717cde4421952f0946e51406e8,2002000035
+058626717cde4421952f0946e51406e8,2002000034
+058626717cde4421952f0946e51406e8,2002000033
+058626717cde4421952f0946e51406e8,2002000032
+058626717cde4421952f0946e51406e8,2002000031
+058626717cde4421952f0946e51406e8,2002000030
+058626717cde4421952f0946e51406e8,2002000029
+058626717cde4421952f0946e51406e8,2002000028
+058626717cde4421952f0946e51406e8,2002000027
+058626717cde4421952f0946e51406e8,2002000026
+058626717cde4421952f0946e51406e8,2002000025
+058626717cde4421952f0946e51406e8,2002000024
+058626717cde4421952f0946e51406e8,2002000023
+058626717cde4421952f0946e51406e8,2002000022
+058626717cde4421952f0946e51406e8,2002000021
+058626717cde4421952f0946e51406e8,2002000020
+058626717cde4421952f0946e51406e8,2002000019
+058626717cde4421952f0946e51406e8,2002000018
+058626717cde4421952f0946e51406e8,2002000017
+058626717cde4421952f0946e51406e8,2002000016
+058626717cde4421952f0946e51406e8,2002000015
+058626717cde4421952f0946e51406e8,2002000011
+058626717cde4421952f0946e51406e8,2002000010
+058626717cde4421952f0946e51406e8,2002000009
+058626717cde4421952f0946e51406e8,2002000008
+058626717cde4421952f0946e51406e8,2002000007
+058626717cde4421952f0946e51406e8,2002000005
+058626717cde4421952f0946e51406e8,2002000004
+058626717cde4421952f0946e51406e8,2002000003
+058626717cde4421952f0946e51406e8,2001060129
+058626717cde4421952f0946e51406e8,2001030127
+058626717cde4421952f0946e51406e8,2001020098
+058626717cde4421952f0946e51406e8,2001020097
+058626717cde4421952f0946e51406e8,2001020061
+058626717cde4421952f0946e51406e8,2001020058
+058626717cde4421952f0946e51406e8,2001020056
+058626717cde4421952f0946e51406e8,2001020055
+058626717cde4421952f0946e51406e8,2001020049
+058626717cde4421952f0946e51406e8,2001020047
+058626717cde4421952f0946e51406e8,2001020039
+058626717cde4421952f0946e51406e8,2001020008
+058626717cde4421952f0946e51406e8,2001000101
+058626717cde4421952f0946e51406e8,2001000100
+058626717cde4421952f0946e51406e8,2001000096
+058626717cde4421952f0946e51406e8,2001000095
+058626717cde4421952f0946e51406e8,2001000094
+058626717cde4421952f0946e51406e8,2001000093
+058626717cde4421952f0946e51406e8,2001000092
+058626717cde4421952f0946e51406e8,2001000091
+058626717cde4421952f0946e51406e8,2001000090
+058626717cde4421952f0946e51406e8,2001000089
+058626717cde4421952f0946e51406e8,2001000088
+058626717cde4421952f0946e51406e8,2001000086
+058626717cde4421952f0946e51406e8,2001000085
+058626717cde4421952f0946e51406e8,2001000084
+058626717cde4421952f0946e51406e8,2001000083
+058626717cde4421952f0946e51406e8,2001000082
+058626717cde4421952f0946e51406e8,2001000081
+058626717cde4421952f0946e51406e8,2001000080
+058626717cde4421952f0946e51406e8,2001000079
+058626717cde4421952f0946e51406e8,2001000078
+058626717cde4421952f0946e51406e8,2001000077
+058626717cde4421952f0946e51406e8,2001000076
+058626717cde4421952f0946e51406e8,2001000075
+058626717cde4421952f0946e51406e8,2001000074
+058626717cde4421952f0946e51406e8,2001000073
+058626717cde4421952f0946e51406e8,2001000072
+058626717cde4421952f0946e51406e8,2001000071
+058626717cde4421952f0946e51406e8,2001000070
+058626717cde4421952f0946e51406e8,2001000069
+058626717cde4421952f0946e51406e8,2001000068
+058626717cde4421952f0946e51406e8,2001000067
+058626717cde4421952f0946e51406e8,2001000066
+058626717cde4421952f0946e51406e8,2001000065
+058626717cde4421952f0946e51406e8,2001000064
+058626717cde4421952f0946e51406e8,2001000063
+058626717cde4421952f0946e51406e8,2001000062
+058626717cde4421952f0946e51406e8,2001000060
+058626717cde4421952f0946e51406e8,2001000059
+058626717cde4421952f0946e51406e8,2001000057
+058626717cde4421952f0946e51406e8,2001000054
+058626717cde4421952f0946e51406e8,2001000053
+058626717cde4421952f0946e51406e8,2001000052
+058626717cde4421952f0946e51406e8,2001000051
+058626717cde4421952f0946e51406e8,2001000050
+058626717cde4421952f0946e51406e8,2001000048
+058626717cde4421952f0946e51406e8,2001000046
+058626717cde4421952f0946e51406e8,2001000045
+058626717cde4421952f0946e51406e8,2001000044
+058626717cde4421952f0946e51406e8,2001000043
+058626717cde4421952f0946e51406e8,2001000042
+058626717cde4421952f0946e51406e8,2001000040
+058626717cde4421952f0946e51406e8,2001000038
+058626717cde4421952f0946e51406e8,2001000037
+058626717cde4421952f0946e51406e8,2001000035
+058626717cde4421952f0946e51406e8,2001000034
+058626717cde4421952f0946e51406e8,2001000033
+058626717cde4421952f0946e51406e8,2001000032
+058626717cde4421952f0946e51406e8,2001000031
+058626717cde4421952f0946e51406e8,2001000030
+058626717cde4421952f0946e51406e8,2001000029
+058626717cde4421952f0946e51406e8,2001000028
+058626717cde4421952f0946e51406e8,2001000027
+058626717cde4421952f0946e51406e8,2001000026
+058626717cde4421952f0946e51406e8,2001000025
+058626717cde4421952f0946e51406e8,2001000024
+058626717cde4421952f0946e51406e8,2001000023
+058626717cde4421952f0946e51406e8,2001000022
+058626717cde4421952f0946e51406e8,2001000021
+058626717cde4421952f0946e51406e8,2001000020
+058626717cde4421952f0946e51406e8,2001000019
+058626717cde4421952f0946e51406e8,2001000018
+058626717cde4421952f0946e51406e8,2001000017
+058626717cde4421952f0946e51406e8,2001000016
+058626717cde4421952f0946e51406e8,2001000015
+058626717cde4421952f0946e51406e8,2001000014
+058626717cde4421952f0946e51406e8,2001000013
+058626717cde4421952f0946e51406e8,2001000012
+058626717cde4421952f0946e51406e8,2001000011
+058626717cde4421952f0946e51406e8,2001000010
+058626717cde4421952f0946e51406e8,2001000007
+058626717cde4421952f0946e51406e8,2001000006
+058626717cde4421952f0946e51406e8,2001000005
+058626717cde4421952f0946e51406e8,2001000004
+058626717cde4421952f0946e51406e8,2001000003
+058626717cde4421952f0946e51406e8,2001000002
+058626717cde4421952f0946e51406e8,2001000001
+058626717cde4421952f0946e51406e8,20010
+058626717cde4421952f0946e51406e8,2000060101
+058626717cde4421952f0946e51406e8,2000010009
+058626717cde4421952f0946e51406e8,2000000082
+058626717cde4421952f0946e51406e8,2000000081
+058626717cde4421952f0946e51406e8,2000000080
+058626717cde4421952f0946e51406e8,2000000078
+058626717cde4421952f0946e51406e8,2000000077
+058626717cde4421952f0946e51406e8,2000000076
+058626717cde4421952f0946e51406e8,2000000075
+058626717cde4421952f0946e51406e8,2000000074
+058626717cde4421952f0946e51406e8,2000000073
+058626717cde4421952f0946e51406e8,2000000072
+058626717cde4421952f0946e51406e8,2000000071
+058626717cde4421952f0946e51406e8,2000000070
+058626717cde4421952f0946e51406e8,2000000069
+058626717cde4421952f0946e51406e8,2000000068
+058626717cde4421952f0946e51406e8,2000000066
+058626717cde4421952f0946e51406e8,2000000065
+058626717cde4421952f0946e51406e8,2000000064
+058626717cde4421952f0946e51406e8,2000000063
+058626717cde4421952f0946e51406e8,2000000061
+058626717cde4421952f0946e51406e8,2000000060
+058626717cde4421952f0946e51406e8,2000000059
+058626717cde4421952f0946e51406e8,2000000058
+058626717cde4421952f0946e51406e8,2000000057
+058626717cde4421952f0946e51406e8,2000000056
+058626717cde4421952f0946e51406e8,2000000055
+058626717cde4421952f0946e51406e8,2000000054
+058626717cde4421952f0946e51406e8,2000000053
+058626717cde4421952f0946e51406e8,2000000052
+058626717cde4421952f0946e51406e8,2000000051
+058626717cde4421952f0946e51406e8,2000000050
+058626717cde4421952f0946e51406e8,2000000049
+058626717cde4421952f0946e51406e8,2000000048
+058626717cde4421952f0946e51406e8,2000000047
+058626717cde4421952f0946e51406e8,2000000046
+058626717cde4421952f0946e51406e8,2000000045
+058626717cde4421952f0946e51406e8,2000000044
+058626717cde4421952f0946e51406e8,2000000043
+058626717cde4421952f0946e51406e8,2000000042
+058626717cde4421952f0946e51406e8,2000000041
+058626717cde4421952f0946e51406e8,2000000039
+058626717cde4421952f0946e51406e8,2000000038
+058626717cde4421952f0946e51406e8,2000000037
+058626717cde4421952f0946e51406e8,2000000036
+058626717cde4421952f0946e51406e8,2000000035
+058626717cde4421952f0946e51406e8,2000000034
+058626717cde4421952f0946e51406e8,2000000033
+058626717cde4421952f0946e51406e8,2000000032
+058626717cde4421952f0946e51406e8,2000000031
+058626717cde4421952f0946e51406e8,2000000030
+058626717cde4421952f0946e51406e8,2000000029
+058626717cde4421952f0946e51406e8,2000000028
+058626717cde4421952f0946e51406e8,2000000027
+058626717cde4421952f0946e51406e8,2000000026
+058626717cde4421952f0946e51406e8,2000000025
+058626717cde4421952f0946e51406e8,2000000024
+058626717cde4421952f0946e51406e8,2000000023
+058626717cde4421952f0946e51406e8,2000000022
+058626717cde4421952f0946e51406e8,2000000021
+058626717cde4421952f0946e51406e8,2000000020
+058626717cde4421952f0946e51406e8,2000000019
+058626717cde4421952f0946e51406e8,2000000018
+058626717cde4421952f0946e51406e8,2000000017
+058626717cde4421952f0946e51406e8,2000000016
+058626717cde4421952f0946e51406e8,2000000015
+058626717cde4421952f0946e51406e8,2000000014
+058626717cde4421952f0946e51406e8,2000000013
+058626717cde4421952f0946e51406e8,2000000012
+058626717cde4421952f0946e51406e8,2000000011
+058626717cde4421952f0946e51406e8,2000000010
+058626717cde4421952f0946e51406e8,2000000007
+058626717cde4421952f0946e51406e8,2000000006
+058626717cde4421952f0946e51406e8,2000000005
+058626717cde4421952f0946e51406e8,2000000004
+058626717cde4421952f0946e51406e8,2000000003
+058626717cde4421952f0946e51406e8,2000000001
+058626717cde4421952f0946e51406e8,1999000061
+058626717cde4421952f0946e51406e8,1999000060
+058626717cde4421952f0946e51406e8,1999000059
+058626717cde4421952f0946e51406e8,1999000058
+058626717cde4421952f0946e51406e8,1999000057
+058626717cde4421952f0946e51406e8,1999000056
+058626717cde4421952f0946e51406e8,1999000055
+058626717cde4421952f0946e51406e8,1999000054
+058626717cde4421952f0946e51406e8,1999000053
+058626717cde4421952f0946e51406e8,1999000052
+058626717cde4421952f0946e51406e8,1999000051
+058626717cde4421952f0946e51406e8,1999000050
+058626717cde4421952f0946e51406e8,1999000049
+058626717cde4421952f0946e51406e8,1999000048
+058626717cde4421952f0946e51406e8,1999000047
+058626717cde4421952f0946e51406e8,1999000046
+058626717cde4421952f0946e51406e8,1999000045
+058626717cde4421952f0946e51406e8,1999000044
+058626717cde4421952f0946e51406e8,1999000043
+058626717cde4421952f0946e51406e8,1999000042
+058626717cde4421952f0946e51406e8,1999000041
+058626717cde4421952f0946e51406e8,1999000040
+058626717cde4421952f0946e51406e8,1999000039
+058626717cde4421952f0946e51406e8,1999000038
+058626717cde4421952f0946e51406e8,1999000037
+058626717cde4421952f0946e51406e8,1999000036
+058626717cde4421952f0946e51406e8,1999000035
+058626717cde4421952f0946e51406e8,1999000034
+058626717cde4421952f0946e51406e8,1999000033
+058626717cde4421952f0946e51406e8,1999000032
+058626717cde4421952f0946e51406e8,1999000031
+058626717cde4421952f0946e51406e8,1999000030
+058626717cde4421952f0946e51406e8,1999000029
+058626717cde4421952f0946e51406e8,1999000028
+058626717cde4421952f0946e51406e8,1999000027
+058626717cde4421952f0946e51406e8,1999000026
+058626717cde4421952f0946e51406e8,1999000025
+058626717cde4421952f0946e51406e8,1999000024
+058626717cde4421952f0946e51406e8,1999000023
+058626717cde4421952f0946e51406e8,1999000022
+058626717cde4421952f0946e51406e8,1999000021
+058626717cde4421952f0946e51406e8,1999000020
+058626717cde4421952f0946e51406e8,1999000019
+058626717cde4421952f0946e51406e8,1999000018
+058626717cde4421952f0946e51406e8,1999000017
+058626717cde4421952f0946e51406e8,1999000016
+058626717cde4421952f0946e51406e8,1999000015
+058626717cde4421952f0946e51406e8,1999000013
+058626717cde4421952f0946e51406e8,1999000012
+058626717cde4421952f0946e51406e8,1999000011
+058626717cde4421952f0946e51406e8,1999000010
+058626717cde4421952f0946e51406e8,1999000009
+058626717cde4421952f0946e51406e8,1999000008
+058626717cde4421952f0946e51406e8,1999000007
+058626717cde4421952f0946e51406e8,1999000006
+058626717cde4421952f0946e51406e8,1999000005
+058626717cde4421952f0946e51406e8,1999000004
+058626717cde4421952f0946e51406e8,1999000002
+058626717cde4421952f0946e51406e8,1999000001
+058626717cde4421952f0946e51406e8,1998010058
+058626717cde4421952f0946e51406e8,1998010054
+058626717cde4421952f0946e51406e8,1998000059
+058626717cde4421952f0946e51406e8,1998000055
+058626717cde4421952f0946e51406e8,1998000052
+058626717cde4421952f0946e51406e8,1998000051
+058626717cde4421952f0946e51406e8,1998000050
+058626717cde4421952f0946e51406e8,1998000049
+058626717cde4421952f0946e51406e8,1998000048
+058626717cde4421952f0946e51406e8,1998000047
+058626717cde4421952f0946e51406e8,1998000045
+058626717cde4421952f0946e51406e8,1998000044
+058626717cde4421952f0946e51406e8,1998000043
+058626717cde4421952f0946e51406e8,1998000042
+058626717cde4421952f0946e51406e8,1998000041
+058626717cde4421952f0946e51406e8,1998000040
+058626717cde4421952f0946e51406e8,1998000039
+058626717cde4421952f0946e51406e8,1998000038
+058626717cde4421952f0946e51406e8,1998000037
+058626717cde4421952f0946e51406e8,1998000036
+058626717cde4421952f0946e51406e8,1998000035
+058626717cde4421952f0946e51406e8,1998000034
+058626717cde4421952f0946e51406e8,1998000033
+058626717cde4421952f0946e51406e8,1998000032
+058626717cde4421952f0946e51406e8,1998000031
+058626717cde4421952f0946e51406e8,1998000030
+058626717cde4421952f0946e51406e8,1998000029
+058626717cde4421952f0946e51406e8,1998000028
+058626717cde4421952f0946e51406e8,1998000027
+058626717cde4421952f0946e51406e8,1998000026
+058626717cde4421952f0946e51406e8,1998000025
+058626717cde4421952f0946e51406e8,1998000024
+058626717cde4421952f0946e51406e8,1998000023
+058626717cde4421952f0946e51406e8,1998000022
+058626717cde4421952f0946e51406e8,1998000021
+058626717cde4421952f0946e51406e8,1998000020
+058626717cde4421952f0946e51406e8,1998000019
+058626717cde4421952f0946e51406e8,1998000018
+058626717cde4421952f0946e51406e8,1998000017
+058626717cde4421952f0946e51406e8,1998000016
+058626717cde4421952f0946e51406e8,1998000015
+058626717cde4421952f0946e51406e8,1998000014
+058626717cde4421952f0946e51406e8,1998000013
+058626717cde4421952f0946e51406e8,1998000012
+058626717cde4421952f0946e51406e8,1998000011
+058626717cde4421952f0946e51406e8,1998000010
+058626717cde4421952f0946e51406e8,1998000009
+058626717cde4421952f0946e51406e8,1998000008
+058626717cde4421952f0946e51406e8,1998000007
+058626717cde4421952f0946e51406e8,1998000005
+058626717cde4421952f0946e51406e8,1998000003
+058626717cde4421952f0946e51406e8,1998000001
+058626717cde4421952f0946e51406e8,1997010109
+058626717cde4421952f0946e51406e8,1997010108
+058626717cde4421952f0946e51406e8,1997010105
+058626717cde4421952f0946e51406e8,1997010104
+058626717cde4421952f0946e51406e8,1997010103
+058626717cde4421952f0946e51406e8,1997010102
+058626717cde4421952f0946e51406e8,1997010078
+058626717cde4421952f0946e51406e8,1997010077
+058626717cde4421952f0946e51406e8,1997010074
+058626717cde4421952f0946e51406e8,1997010065
+058626717cde4421952f0946e51406e8,1997010053
+058626717cde4421952f0946e51406e8,1997010024
+058626717cde4421952f0946e51406e8,1997010022
+058626717cde4421952f0946e51406e8,1997000107
+058626717cde4421952f0946e51406e8,1997000106
+058626717cde4421952f0946e51406e8,1997000101
+058626717cde4421952f0946e51406e8,1997000100
+058626717cde4421952f0946e51406e8,1997000099
+058626717cde4421952f0946e51406e8,1997000098
+058626717cde4421952f0946e51406e8,1997000097
+058626717cde4421952f0946e51406e8,1997000096
+058626717cde4421952f0946e51406e8,1997000095
+058626717cde4421952f0946e51406e8,1997000093
+058626717cde4421952f0946e51406e8,1997000092
+058626717cde4421952f0946e51406e8,1997000091
+058626717cde4421952f0946e51406e8,1997000090
+058626717cde4421952f0946e51406e8,1997000089
+058626717cde4421952f0946e51406e8,1997000088
+058626717cde4421952f0946e51406e8,1997000086
+058626717cde4421952f0946e51406e8,1997000085
+058626717cde4421952f0946e51406e8,1997000084
+058626717cde4421952f0946e51406e8,1997000083
+058626717cde4421952f0946e51406e8,1997000082
+058626717cde4421952f0946e51406e8,1997000081
+058626717cde4421952f0946e51406e8,1997000080
+058626717cde4421952f0946e51406e8,1997000079
+058626717cde4421952f0946e51406e8,1997000076
+058626717cde4421952f0946e51406e8,1997000075
+058626717cde4421952f0946e51406e8,1997000073
+058626717cde4421952f0946e51406e8,1997000072
+058626717cde4421952f0946e51406e8,1997000071
+058626717cde4421952f0946e51406e8,1997000070
+058626717cde4421952f0946e51406e8,1997000069
+058626717cde4421952f0946e51406e8,1997000068
+058626717cde4421952f0946e51406e8,1997000067
+058626717cde4421952f0946e51406e8,1997000066
+058626717cde4421952f0946e51406e8,1997000064
+058626717cde4421952f0946e51406e8,1997000063
+058626717cde4421952f0946e51406e8,1997000062
+058626717cde4421952f0946e51406e8,1997000061
+058626717cde4421952f0946e51406e8,1997000060
+058626717cde4421952f0946e51406e8,1997000058
+058626717cde4421952f0946e51406e8,1997000057
+058626717cde4421952f0946e51406e8,1997000056
+058626717cde4421952f0946e51406e8,1997000055
+058626717cde4421952f0946e51406e8,1997000054
+058626717cde4421952f0946e51406e8,1997000052
+058626717cde4421952f0946e51406e8,1997000050
+058626717cde4421952f0946e51406e8,1997000048
+058626717cde4421952f0946e51406e8,1997000047
+058626717cde4421952f0946e51406e8,1997000046
+058626717cde4421952f0946e51406e8,1997000045
+058626717cde4421952f0946e51406e8,1997000044
+058626717cde4421952f0946e51406e8,1997000043
+058626717cde4421952f0946e51406e8,1997000042
+058626717cde4421952f0946e51406e8,1997000041
+058626717cde4421952f0946e51406e8,1997000040
+058626717cde4421952f0946e51406e8,1997000039
+058626717cde4421952f0946e51406e8,1997000038
+058626717cde4421952f0946e51406e8,1997000036
+058626717cde4421952f0946e51406e8,1997000035
+058626717cde4421952f0946e51406e8,1997000034
+058626717cde4421952f0946e51406e8,1997000033
+058626717cde4421952f0946e51406e8,1997000032
+058626717cde4421952f0946e51406e8,1997000031
+058626717cde4421952f0946e51406e8,1997000030
+058626717cde4421952f0946e51406e8,1997000029
+058626717cde4421952f0946e51406e8,1997000028
+058626717cde4421952f0946e51406e8,1997000026
+058626717cde4421952f0946e51406e8,1997000023
+058626717cde4421952f0946e51406e8,1997000019
+058626717cde4421952f0946e51406e8,1997000018
+058626717cde4421952f0946e51406e8,1997000017
+058626717cde4421952f0946e51406e8,1997000016
+058626717cde4421952f0946e51406e8,1997000015
+058626717cde4421952f0946e51406e8,1997000014
+058626717cde4421952f0946e51406e8,1997000013
+058626717cde4421952f0946e51406e8,1997000012
+058626717cde4421952f0946e51406e8,1997000010
+058626717cde4421952f0946e51406e8,1997000009
+058626717cde4421952f0946e51406e8,1997000007
+058626717cde4421952f0946e51406e8,1997000006
+058626717cde4421952f0946e51406e8,1997000005
+058626717cde4421952f0946e51406e8,1997000004
+058626717cde4421952f0946e51406e8,1997000003
+058626717cde4421952f0946e51406e8,1997000002
+058626717cde4421952f0946e51406e8,1997000001
+058626717cde4421952f0946e51406e8,1996010109
+058626717cde4421952f0946e51406e8,1996010106
+058626717cde4421952f0946e51406e8,1996010103
+058626717cde4421952f0946e51406e8,1996010098
+058626717cde4421952f0946e51406e8,1996010097
+058626717cde4421952f0946e51406e8,1996010089
+058626717cde4421952f0946e51406e8,1996010085
+058626717cde4421952f0946e51406e8,1996010078
+058626717cde4421952f0946e51406e8,1996010077
+058626717cde4421952f0946e51406e8,1996010076
+058626717cde4421952f0946e51406e8,1996000112
+058626717cde4421952f0946e51406e8,1996000111
+058626717cde4421952f0946e51406e8,1996000110
+058626717cde4421952f0946e51406e8,1996000108
+058626717cde4421952f0946e51406e8,1996000107
+058626717cde4421952f0946e51406e8,1996000105
+058626717cde4421952f0946e51406e8,1996000104
+058626717cde4421952f0946e51406e8,1996000102
+058626717cde4421952f0946e51406e8,1996000101
+058626717cde4421952f0946e51406e8,1996000100
+058626717cde4421952f0946e51406e8,1996000094
+058626717cde4421952f0946e51406e8,1996000093
+058626717cde4421952f0946e51406e8,1996000092
+058626717cde4421952f0946e51406e8,1996000091
+058626717cde4421952f0946e51406e8,1996000088
+058626717cde4421952f0946e51406e8,1996000087
+058626717cde4421952f0946e51406e8,1996000086
+058626717cde4421952f0946e51406e8,1996000084
+058626717cde4421952f0946e51406e8,1996000083
+058626717cde4421952f0946e51406e8,1996000082
+058626717cde4421952f0946e51406e8,1996000081
+058626717cde4421952f0946e51406e8,1996000080
+058626717cde4421952f0946e51406e8,1996000079
+058626717cde4421952f0946e51406e8,1996000075
+058626717cde4421952f0946e51406e8,1996000074
+058626717cde4421952f0946e51406e8,1996000073
+058626717cde4421952f0946e51406e8,1996000072
+058626717cde4421952f0946e51406e8,1996000071
+058626717cde4421952f0946e51406e8,1996000070
+058626717cde4421952f0946e51406e8,1996000069
+058626717cde4421952f0946e51406e8,1996000068
+058626717cde4421952f0946e51406e8,1996000067
+058626717cde4421952f0946e51406e8,1996000066
+058626717cde4421952f0946e51406e8,1996000065
+058626717cde4421952f0946e51406e8,1996000064
+058626717cde4421952f0946e51406e8,1996000063
+058626717cde4421952f0946e51406e8,1996000062
+058626717cde4421952f0946e51406e8,1996000060
+058626717cde4421952f0946e51406e8,1996000059
+058626717cde4421952f0946e51406e8,1996000058
+058626717cde4421952f0946e51406e8,1996000057
+058626717cde4421952f0946e51406e8,1996000056
+058626717cde4421952f0946e51406e8,1996000055
+058626717cde4421952f0946e51406e8,1996000054
+058626717cde4421952f0946e51406e8,1996000053
+058626717cde4421952f0946e51406e8,1996000052
+058626717cde4421952f0946e51406e8,1996000051
+058626717cde4421952f0946e51406e8,1996000050
+058626717cde4421952f0946e51406e8,1996000049
+058626717cde4421952f0946e51406e8,1996000048
+058626717cde4421952f0946e51406e8,1996000047
+058626717cde4421952f0946e51406e8,1996000046
+058626717cde4421952f0946e51406e8,1996000045
+058626717cde4421952f0946e51406e8,1996000044
+058626717cde4421952f0946e51406e8,1996000043
+058626717cde4421952f0946e51406e8,1996000042
+058626717cde4421952f0946e51406e8,1996000041
+058626717cde4421952f0946e51406e8,1996000040
+058626717cde4421952f0946e51406e8,1996000039
+058626717cde4421952f0946e51406e8,1996000038
+058626717cde4421952f0946e51406e8,1996000037
+058626717cde4421952f0946e51406e8,1996000036
+058626717cde4421952f0946e51406e8,1996000035
+058626717cde4421952f0946e51406e8,1996000034
+058626717cde4421952f0946e51406e8,1996000033
+058626717cde4421952f0946e51406e8,1996000032
+058626717cde4421952f0946e51406e8,1996000030
+058626717cde4421952f0946e51406e8,1996000029
+058626717cde4421952f0946e51406e8,1996000028
+058626717cde4421952f0946e51406e8,1996000027
+058626717cde4421952f0946e51406e8,1996000026
+058626717cde4421952f0946e51406e8,1996000025
+058626717cde4421952f0946e51406e8,1996000022
+058626717cde4421952f0946e51406e8,1996000021
+058626717cde4421952f0946e51406e8,1996000020
+058626717cde4421952f0946e51406e8,1996000019
+058626717cde4421952f0946e51406e8,1996000018
+058626717cde4421952f0946e51406e8,1996000017
+058626717cde4421952f0946e51406e8,1996000016
+058626717cde4421952f0946e51406e8,1996000015
+058626717cde4421952f0946e51406e8,1996000014
+058626717cde4421952f0946e51406e8,1996000013
+058626717cde4421952f0946e51406e8,1996000012
+058626717cde4421952f0946e51406e8,1996000011
+058626717cde4421952f0946e51406e8,1996000010
+058626717cde4421952f0946e51406e8,1996000009
+058626717cde4421952f0946e51406e8,1996000008
+058626717cde4421952f0946e51406e8,1996000006
+058626717cde4421952f0946e51406e8,1996000005
+058626717cde4421952f0946e51406e8,1996000003
+058626717cde4421952f0946e51406e8,1996000002
+058626717cde4421952f0946e51406e8,1996000001
+058626717cde4421952f0946e51406e8,1995010136
+058626717cde4421952f0946e51406e8,1995010134
+058626717cde4421952f0946e51406e8,1995010046
+058626717cde4421952f0946e51406e8,1995010028
+058626717cde4421952f0946e51406e8,1995010027
+058626717cde4421952f0946e51406e8,1995010026
+058626717cde4421952f0946e51406e8,1995010021
+058626717cde4421952f0946e51406e8,1995010019
+058626717cde4421952f0946e51406e8,1995010018
+058626717cde4421952f0946e51406e8,1995010017
+058626717cde4421952f0946e51406e8,1995010012
+058626717cde4421952f0946e51406e8,1995000147
+058626717cde4421952f0946e51406e8,1995000146
+058626717cde4421952f0946e51406e8,1995000145
+058626717cde4421952f0946e51406e8,1995000143
+058626717cde4421952f0946e51406e8,1995000142
+058626717cde4421952f0946e51406e8,1995000140
+058626717cde4421952f0946e51406e8,1995000139
+058626717cde4421952f0946e51406e8,1995000137
+058626717cde4421952f0946e51406e8,1995000135
+058626717cde4421952f0946e51406e8,1995000133
+058626717cde4421952f0946e51406e8,1995000132
+058626717cde4421952f0946e51406e8,1995000131
+058626717cde4421952f0946e51406e8,1995000130
+058626717cde4421952f0946e51406e8,1995000128
+058626717cde4421952f0946e51406e8,1995000127
+058626717cde4421952f0946e51406e8,1995000125
+058626717cde4421952f0946e51406e8,1995000124
+058626717cde4421952f0946e51406e8,1995000123
+058626717cde4421952f0946e51406e8,1995000122
+058626717cde4421952f0946e51406e8,1995000121
+058626717cde4421952f0946e51406e8,1995000120
+058626717cde4421952f0946e51406e8,1995000119
+058626717cde4421952f0946e51406e8,1995000118
+058626717cde4421952f0946e51406e8,1995000117
+058626717cde4421952f0946e51406e8,1995000116
+058626717cde4421952f0946e51406e8,1995000115
+058626717cde4421952f0946e51406e8,1995000114
+058626717cde4421952f0946e51406e8,1995000113
+058626717cde4421952f0946e51406e8,1995000112
+058626717cde4421952f0946e51406e8,1995000111
+058626717cde4421952f0946e51406e8,1995000110
+058626717cde4421952f0946e51406e8,1995000109
+058626717cde4421952f0946e51406e8,1995000108
+058626717cde4421952f0946e51406e8,1995000107
+058626717cde4421952f0946e51406e8,1995000106
+058626717cde4421952f0946e51406e8,1995000105
+058626717cde4421952f0946e51406e8,1995000103
+058626717cde4421952f0946e51406e8,1995000102
+058626717cde4421952f0946e51406e8,1995000101
+058626717cde4421952f0946e51406e8,1995000100
+058626717cde4421952f0946e51406e8,1995000099
+058626717cde4421952f0946e51406e8,1995000098
+058626717cde4421952f0946e51406e8,1995000097
+058626717cde4421952f0946e51406e8,1995000096
+058626717cde4421952f0946e51406e8,1995000095
+058626717cde4421952f0946e51406e8,1995000094
+058626717cde4421952f0946e51406e8,1995000093
+058626717cde4421952f0946e51406e8,1995000092
+058626717cde4421952f0946e51406e8,1995000091
+058626717cde4421952f0946e51406e8,1995000090
+058626717cde4421952f0946e51406e8,1995000089
+058626717cde4421952f0946e51406e8,1995000088
+058626717cde4421952f0946e51406e8,1995000087
+058626717cde4421952f0946e51406e8,1995000086
+058626717cde4421952f0946e51406e8,1995000085
+058626717cde4421952f0946e51406e8,1995000084
+058626717cde4421952f0946e51406e8,1995000083
+058626717cde4421952f0946e51406e8,1995000082
+058626717cde4421952f0946e51406e8,1995000081
+058626717cde4421952f0946e51406e8,1995000079
+058626717cde4421952f0946e51406e8,1995000078
+058626717cde4421952f0946e51406e8,1995000077
+058626717cde4421952f0946e51406e8,1995000076
+058626717cde4421952f0946e51406e8,1995000075
+058626717cde4421952f0946e51406e8,1995000074
+058626717cde4421952f0946e51406e8,1995000073
+058626717cde4421952f0946e51406e8,1995000072
+058626717cde4421952f0946e51406e8,1995000071
+058626717cde4421952f0946e51406e8,1995000070
+058626717cde4421952f0946e51406e8,1995000069
+058626717cde4421952f0946e51406e8,1995000068
+058626717cde4421952f0946e51406e8,1995000067
+058626717cde4421952f0946e51406e8,1995000066
+058626717cde4421952f0946e51406e8,1995000065
+058626717cde4421952f0946e51406e8,1995000064
+058626717cde4421952f0946e51406e8,1995000063
+058626717cde4421952f0946e51406e8,1995000062
+058626717cde4421952f0946e51406e8,1995000061
+058626717cde4421952f0946e51406e8,1995000060
+058626717cde4421952f0946e51406e8,1995000059
+058626717cde4421952f0946e51406e8,1995000057
+058626717cde4421952f0946e51406e8,1995000056
+058626717cde4421952f0946e51406e8,1995000055
+058626717cde4421952f0946e51406e8,1995000054
+058626717cde4421952f0946e51406e8,1995000052
+058626717cde4421952f0946e51406e8,1995000050
+058626717cde4421952f0946e51406e8,1995000049
+058626717cde4421952f0946e51406e8,1995000048
+058626717cde4421952f0946e51406e8,1995000047
+058626717cde4421952f0946e51406e8,1995000045
+058626717cde4421952f0946e51406e8,1995000044
+058626717cde4421952f0946e51406e8,1995000043
+058626717cde4421952f0946e51406e8,1995000042
+058626717cde4421952f0946e51406e8,1995000041
+058626717cde4421952f0946e51406e8,1995000040
+058626717cde4421952f0946e51406e8,1995000039
+058626717cde4421952f0946e51406e8,1995000038
+058626717cde4421952f0946e51406e8,1995000036
+058626717cde4421952f0946e51406e8,1995000035
+058626717cde4421952f0946e51406e8,1995000034
+058626717cde4421952f0946e51406e8,1995000033
+058626717cde4421952f0946e51406e8,1995000032
+058626717cde4421952f0946e51406e8,1995000031
+058626717cde4421952f0946e51406e8,1995000030
+058626717cde4421952f0946e51406e8,1995000029
+058626717cde4421952f0946e51406e8,1995000025
+058626717cde4421952f0946e51406e8,1995000024
+058626717cde4421952f0946e51406e8,1995000023
+058626717cde4421952f0946e51406e8,1995000020
+058626717cde4421952f0946e51406e8,1995000016
+058626717cde4421952f0946e51406e8,1995000015
+058626717cde4421952f0946e51406e8,1995000013
+058626717cde4421952f0946e51406e8,1995000011
+058626717cde4421952f0946e51406e8,1995000008
+058626717cde4421952f0946e51406e8,1995000007
+058626717cde4421952f0946e51406e8,1995000004
+058626717cde4421952f0946e51406e8,1995000003
+058626717cde4421952f0946e51406e8,1995000002
+058626717cde4421952f0946e51406e8,1995000001
+058626717cde4421952f0946e51406e8,1994010102
+058626717cde4421952f0946e51406e8,1994010093
+058626717cde4421952f0946e51406e8,1994000103
+058626717cde4421952f0946e51406e8,1994000098
+058626717cde4421952f0946e51406e8,1994000097
+058626717cde4421952f0946e51406e8,1994000094
+058626717cde4421952f0946e51406e8,1994000092
+058626717cde4421952f0946e51406e8,1994000091
+058626717cde4421952f0946e51406e8,1994000089
+058626717cde4421952f0946e51406e8,1994000088
+058626717cde4421952f0946e51406e8,1994000087
+058626717cde4421952f0946e51406e8,1994000084
+058626717cde4421952f0946e51406e8,1994000083
+058626717cde4421952f0946e51406e8,1994000082
+058626717cde4421952f0946e51406e8,1994000081
+058626717cde4421952f0946e51406e8,1994000080
+058626717cde4421952f0946e51406e8,1994000079
+058626717cde4421952f0946e51406e8,1994000078
+058626717cde4421952f0946e51406e8,1994000077
+058626717cde4421952f0946e51406e8,1994000076
+058626717cde4421952f0946e51406e8,1994000075
+058626717cde4421952f0946e51406e8,1994000074
+058626717cde4421952f0946e51406e8,1994000073
+058626717cde4421952f0946e51406e8,1994000072
+058626717cde4421952f0946e51406e8,1994000071
+058626717cde4421952f0946e51406e8,1994000070
+058626717cde4421952f0946e51406e8,1994000069
+058626717cde4421952f0946e51406e8,1994000068
+058626717cde4421952f0946e51406e8,1994000067
+058626717cde4421952f0946e51406e8,1994000066
+058626717cde4421952f0946e51406e8,1994000065
+058626717cde4421952f0946e51406e8,1994000064
+058626717cde4421952f0946e51406e8,1994000063
+058626717cde4421952f0946e51406e8,1994000062
+058626717cde4421952f0946e51406e8,1994000061
+058626717cde4421952f0946e51406e8,1994000060
+058626717cde4421952f0946e51406e8,1994000059
+058626717cde4421952f0946e51406e8,1994000058
+058626717cde4421952f0946e51406e8,1994000057
+058626717cde4421952f0946e51406e8,1994000056
+058626717cde4421952f0946e51406e8,1994000054
+058626717cde4421952f0946e51406e8,1994000053
+058626717cde4421952f0946e51406e8,1994000052
+058626717cde4421952f0946e51406e8,1994000051
+058626717cde4421952f0946e51406e8,1994000050
+058626717cde4421952f0946e51406e8,1994000049
+058626717cde4421952f0946e51406e8,1994000048
+058626717cde4421952f0946e51406e8,1994000047
+058626717cde4421952f0946e51406e8,1994000046
+058626717cde4421952f0946e51406e8,1994000045
+058626717cde4421952f0946e51406e8,1994000044
+058626717cde4421952f0946e51406e8,1994000043
+058626717cde4421952f0946e51406e8,1994000042
+058626717cde4421952f0946e51406e8,1994000041
+058626717cde4421952f0946e51406e8,1994000040
+058626717cde4421952f0946e51406e8,1994000039
+058626717cde4421952f0946e51406e8,1994000038
+058626717cde4421952f0946e51406e8,1994000037
+058626717cde4421952f0946e51406e8,1994000036
+058626717cde4421952f0946e51406e8,1994000035
+058626717cde4421952f0946e51406e8,1994000034
+058626717cde4421952f0946e51406e8,1994000033
+058626717cde4421952f0946e51406e8,1994000032
+058626717cde4421952f0946e51406e8,1994000031
+058626717cde4421952f0946e51406e8,1994000030
+058626717cde4421952f0946e51406e8,1994000029
+058626717cde4421952f0946e51406e8,1994000027
+058626717cde4421952f0946e51406e8,1994000025
+058626717cde4421952f0946e51406e8,1994000024
+058626717cde4421952f0946e51406e8,1994000023
+058626717cde4421952f0946e51406e8,1994000022
+058626717cde4421952f0946e51406e8,1994000021
+058626717cde4421952f0946e51406e8,1994000020
+058626717cde4421952f0946e51406e8,1994000019
+058626717cde4421952f0946e51406e8,1994000018
+058626717cde4421952f0946e51406e8,1994000017
+058626717cde4421952f0946e51406e8,1994000016
+058626717cde4421952f0946e51406e8,1994000015
+058626717cde4421952f0946e51406e8,1994000014
+058626717cde4421952f0946e51406e8,1994000013
+058626717cde4421952f0946e51406e8,1994000012
+058626717cde4421952f0946e51406e8,1994000011
+058626717cde4421952f0946e51406e8,1994000010
+058626717cde4421952f0946e51406e8,1994000009
+058626717cde4421952f0946e51406e8,1994000008
+058626717cde4421952f0946e51406e8,1994000007
+058626717cde4421952f0946e51406e8,1994000002
+058626717cde4421952f0946e51406e8,1993010108
+058626717cde4421952f0946e51406e8,1993010099
+058626717cde4421952f0946e51406e8,1993010006
+058626717cde4421952f0946e51406e8,1993010001
+058626717cde4421952f0946e51406e8,1993000115
+058626717cde4421952f0946e51406e8,1993000114
+058626717cde4421952f0946e51406e8,1993000113
+058626717cde4421952f0946e51406e8,1993000111
+058626717cde4421952f0946e51406e8,1993000110
+058626717cde4421952f0946e51406e8,1993000109
+058626717cde4421952f0946e51406e8,1993000105
+058626717cde4421952f0946e51406e8,1993000104
+058626717cde4421952f0946e51406e8,1993000100
+058626717cde4421952f0946e51406e8,1993000097
+058626717cde4421952f0946e51406e8,1993000096
+058626717cde4421952f0946e51406e8,1993000095
+058626717cde4421952f0946e51406e8,1993000094
+058626717cde4421952f0946e51406e8,1993000093
+058626717cde4421952f0946e51406e8,1993000091
+058626717cde4421952f0946e51406e8,1993000090
+058626717cde4421952f0946e51406e8,1993000089
+058626717cde4421952f0946e51406e8,1993000088
+058626717cde4421952f0946e51406e8,1993000087
+058626717cde4421952f0946e51406e8,1993000086
+058626717cde4421952f0946e51406e8,1993000085
+058626717cde4421952f0946e51406e8,1993000084
+058626717cde4421952f0946e51406e8,1993000083
+058626717cde4421952f0946e51406e8,1993000082
+058626717cde4421952f0946e51406e8,1993000081
+058626717cde4421952f0946e51406e8,1993000080
+058626717cde4421952f0946e51406e8,1993000079
+058626717cde4421952f0946e51406e8,1993000078
+058626717cde4421952f0946e51406e8,1993000077
+058626717cde4421952f0946e51406e8,1993000076
+058626717cde4421952f0946e51406e8,1993000075
+058626717cde4421952f0946e51406e8,1993000074
+058626717cde4421952f0946e51406e8,1993000073
+058626717cde4421952f0946e51406e8,1993000072
+058626717cde4421952f0946e51406e8,1993000071
+058626717cde4421952f0946e51406e8,1993000070
+058626717cde4421952f0946e51406e8,1993000069
+058626717cde4421952f0946e51406e8,1993000068
+058626717cde4421952f0946e51406e8,1993000067
+058626717cde4421952f0946e51406e8,1993000066
+058626717cde4421952f0946e51406e8,1993000065
+058626717cde4421952f0946e51406e8,1993000064
+058626717cde4421952f0946e51406e8,1993000063
+058626717cde4421952f0946e51406e8,1993000062
+058626717cde4421952f0946e51406e8,1993000061
+058626717cde4421952f0946e51406e8,1993000060
+058626717cde4421952f0946e51406e8,1993000059
+058626717cde4421952f0946e51406e8,1993000058
+058626717cde4421952f0946e51406e8,1993000057
+058626717cde4421952f0946e51406e8,1993000056
+058626717cde4421952f0946e51406e8,1993000055
+058626717cde4421952f0946e51406e8,1993000054
+058626717cde4421952f0946e51406e8,1993000052
+058626717cde4421952f0946e51406e8,1993000051
+058626717cde4421952f0946e51406e8,1993000050
+058626717cde4421952f0946e51406e8,1993000049
+058626717cde4421952f0946e51406e8,1993000048
+058626717cde4421952f0946e51406e8,1993000047
+058626717cde4421952f0946e51406e8,1993000046
+058626717cde4421952f0946e51406e8,1993000045
+058626717cde4421952f0946e51406e8,1993000044
+058626717cde4421952f0946e51406e8,1993000043
+058626717cde4421952f0946e51406e8,1993000042
+058626717cde4421952f0946e51406e8,1993000041
+058626717cde4421952f0946e51406e8,1993000040
+058626717cde4421952f0946e51406e8,1993000039
+058626717cde4421952f0946e51406e8,1993000038
+058626717cde4421952f0946e51406e8,1993000036
+058626717cde4421952f0946e51406e8,1993000035
+058626717cde4421952f0946e51406e8,1993000033
+058626717cde4421952f0946e51406e8,1993000032
+058626717cde4421952f0946e51406e8,1993000031
+058626717cde4421952f0946e51406e8,1993000030
+058626717cde4421952f0946e51406e8,1993000029
+058626717cde4421952f0946e51406e8,1993000028
+058626717cde4421952f0946e51406e8,1993000027
+058626717cde4421952f0946e51406e8,1993000026
+058626717cde4421952f0946e51406e8,1993000025
+058626717cde4421952f0946e51406e8,1993000024
+058626717cde4421952f0946e51406e8,1993000023
+058626717cde4421952f0946e51406e8,1993000022
+058626717cde4421952f0946e51406e8,1993000020
+058626717cde4421952f0946e51406e8,1993000019
+058626717cde4421952f0946e51406e8,1993000018
+058626717cde4421952f0946e51406e8,1993000017
+058626717cde4421952f0946e51406e8,1993000016
+058626717cde4421952f0946e51406e8,1993000015
+058626717cde4421952f0946e51406e8,1993000014
+058626717cde4421952f0946e51406e8,1993000013
+058626717cde4421952f0946e51406e8,1993000012
+058626717cde4421952f0946e51406e8,1993000011
+058626717cde4421952f0946e51406e8,1993000010
+058626717cde4421952f0946e51406e8,1993000009
+058626717cde4421952f0946e51406e8,1993000008
+058626717cde4421952f0946e51406e8,1993000007
+058626717cde4421952f0946e51406e8,1993000005
+058626717cde4421952f0946e51406e8,1993000004
+058626717cde4421952f0946e51406e8,1993000003
+058626717cde4421952f0946e51406e8,1992010157
+058626717cde4421952f0946e51406e8,1992010156
+058626717cde4421952f0946e51406e8,1992010151
+058626717cde4421952f0946e51406e8,1992010149
+058626717cde4421952f0946e51406e8,1992010141
+058626717cde4421952f0946e51406e8,1992010136
+058626717cde4421952f0946e51406e8,1992010133
+058626717cde4421952f0946e51406e8,1992010125
+058626717cde4421952f0946e51406e8,1992010110
+058626717cde4421952f0946e51406e8,1992010072
+058626717cde4421952f0946e51406e8,1992010071
+058626717cde4421952f0946e51406e8,1992010069
+058626717cde4421952f0946e51406e8,1992010044
+058626717cde4421952f0946e51406e8,1992010019
+058626717cde4421952f0946e51406e8,1992010017
+058626717cde4421952f0946e51406e8,1992010016
+058626717cde4421952f0946e51406e8,1992010015
+058626717cde4421952f0946e51406e8,1992010014
+058626717cde4421952f0946e51406e8,1992010013
+058626717cde4421952f0946e51406e8,1992010011
+058626717cde4421952f0946e51406e8,1992010010
+058626717cde4421952f0946e51406e8,1992010009
+058626717cde4421952f0946e51406e8,1992010007
+058626717cde4421952f0946e51406e8,1992010006
+058626717cde4421952f0946e51406e8,1992010005
+058626717cde4421952f0946e51406e8,1992010003
+058626717cde4421952f0946e51406e8,1992010001
+058626717cde4421952f0946e51406e8,1992000159
+058626717cde4421952f0946e51406e8,1992000158
+058626717cde4421952f0946e51406e8,1992000153
+058626717cde4421952f0946e51406e8,1992000152
+058626717cde4421952f0946e51406e8,1992000150
+058626717cde4421952f0946e51406e8,1992000148
+058626717cde4421952f0946e51406e8,1992000147
+058626717cde4421952f0946e51406e8,1992000146
+058626717cde4421952f0946e51406e8,1992000145
+058626717cde4421952f0946e51406e8,1992000144
+058626717cde4421952f0946e51406e8,1992000143
+058626717cde4421952f0946e51406e8,1992000140
+058626717cde4421952f0946e51406e8,1992000139
+058626717cde4421952f0946e51406e8,1992000138
+058626717cde4421952f0946e51406e8,1992000135
+058626717cde4421952f0946e51406e8,1992000134
+058626717cde4421952f0946e51406e8,1992000129
+058626717cde4421952f0946e51406e8,1992000128
+058626717cde4421952f0946e51406e8,1992000124
+058626717cde4421952f0946e51406e8,1992000122
+058626717cde4421952f0946e51406e8,1992000121
+058626717cde4421952f0946e51406e8,1992000120
+058626717cde4421952f0946e51406e8,1992000119
+058626717cde4421952f0946e51406e8,1992000118
+058626717cde4421952f0946e51406e8,1992000117
+058626717cde4421952f0946e51406e8,1992000116
+058626717cde4421952f0946e51406e8,1992000115
+058626717cde4421952f0946e51406e8,1992000114
+058626717cde4421952f0946e51406e8,1992000109
+058626717cde4421952f0946e51406e8,1992000108
+058626717cde4421952f0946e51406e8,1992000106
+058626717cde4421952f0946e51406e8,1992000105
+058626717cde4421952f0946e51406e8,1992000102
+058626717cde4421952f0946e51406e8,1992000101
+058626717cde4421952f0946e51406e8,1992000100
+058626717cde4421952f0946e51406e8,1992000099
+058626717cde4421952f0946e51406e8,1992000098
+058626717cde4421952f0946e51406e8,1992000097
+058626717cde4421952f0946e51406e8,1992000096
+058626717cde4421952f0946e51406e8,1992000095
+058626717cde4421952f0946e51406e8,1992000094
+058626717cde4421952f0946e51406e8,1992000093
+058626717cde4421952f0946e51406e8,1992000092
+058626717cde4421952f0946e51406e8,1992000091
+058626717cde4421952f0946e51406e8,1992000090
+058626717cde4421952f0946e51406e8,1992000089
+058626717cde4421952f0946e51406e8,1992000088
+058626717cde4421952f0946e51406e8,1992000087
+058626717cde4421952f0946e51406e8,1992000086
+058626717cde4421952f0946e51406e8,1992000085
+058626717cde4421952f0946e51406e8,1992000084
+058626717cde4421952f0946e51406e8,1992000083
+058626717cde4421952f0946e51406e8,1992000082
+058626717cde4421952f0946e51406e8,1992000081
+058626717cde4421952f0946e51406e8,1992000080
+058626717cde4421952f0946e51406e8,1992000079
+058626717cde4421952f0946e51406e8,1992000078
+058626717cde4421952f0946e51406e8,1992000077
+058626717cde4421952f0946e51406e8,1992000076
+058626717cde4421952f0946e51406e8,1992000075
+058626717cde4421952f0946e51406e8,1992000074
+058626717cde4421952f0946e51406e8,1992000067
+058626717cde4421952f0946e51406e8,1992000066
+058626717cde4421952f0946e51406e8,1992000065
+058626717cde4421952f0946e51406e8,1992000063
+058626717cde4421952f0946e51406e8,1992000061
+058626717cde4421952f0946e51406e8,1992000060
+058626717cde4421952f0946e51406e8,1992000059
+058626717cde4421952f0946e51406e8,1992000058
+058626717cde4421952f0946e51406e8,1992000057
+058626717cde4421952f0946e51406e8,1992000056
+058626717cde4421952f0946e51406e8,1992000055
+058626717cde4421952f0946e51406e8,1992000054
+058626717cde4421952f0946e51406e8,1992000053
+058626717cde4421952f0946e51406e8,1992000052
+058626717cde4421952f0946e51406e8,1992000051
+058626717cde4421952f0946e51406e8,1992000050
+058626717cde4421952f0946e51406e8,1992000049
+058626717cde4421952f0946e51406e8,1992000048
+058626717cde4421952f0946e51406e8,1992000047
+058626717cde4421952f0946e51406e8,1992000046
+058626717cde4421952f0946e51406e8,1992000045
+058626717cde4421952f0946e51406e8,1992000041
+058626717cde4421952f0946e51406e8,1992000040
+058626717cde4421952f0946e51406e8,1992000039
+058626717cde4421952f0946e51406e8,1992000038
+058626717cde4421952f0946e51406e8,1992000037
+058626717cde4421952f0946e51406e8,1992000036
+058626717cde4421952f0946e51406e8,1992000035
+058626717cde4421952f0946e51406e8,1992000034
+058626717cde4421952f0946e51406e8,1992000033
+058626717cde4421952f0946e51406e8,1992000032
+058626717cde4421952f0946e51406e8,1992000031
+058626717cde4421952f0946e51406e8,1992000030
+058626717cde4421952f0946e51406e8,1992000029
+058626717cde4421952f0946e51406e8,1992000028
+058626717cde4421952f0946e51406e8,1992000027
+058626717cde4421952f0946e51406e8,1992000026
+058626717cde4421952f0946e51406e8,1992000025
+058626717cde4421952f0946e51406e8,1992000024
+058626717cde4421952f0946e51406e8,1992000023
+058626717cde4421952f0946e51406e8,1992000021
+058626717cde4421952f0946e51406e8,1992000020
+058626717cde4421952f0946e51406e8,1991010059
+058626717cde4421952f0946e51406e8,1991010013
+058626717cde4421952f0946e51406e8,1991000068
+058626717cde4421952f0946e51406e8,1991000066
+058626717cde4421952f0946e51406e8,1991000065
+058626717cde4421952f0946e51406e8,1991000064
+058626717cde4421952f0946e51406e8,1991000062
+058626717cde4421952f0946e51406e8,1991000058
+058626717cde4421952f0946e51406e8,1991000057
+058626717cde4421952f0946e51406e8,1991000055
+058626717cde4421952f0946e51406e8,1991000054
+058626717cde4421952f0946e51406e8,1991000053
+058626717cde4421952f0946e51406e8,1991000052
+058626717cde4421952f0946e51406e8,1991000051
+058626717cde4421952f0946e51406e8,1991000048
+058626717cde4421952f0946e51406e8,1991000047
+058626717cde4421952f0946e51406e8,1991000046
+058626717cde4421952f0946e51406e8,1991000044
+058626717cde4421952f0946e51406e8,1991000043
+058626717cde4421952f0946e51406e8,1991000042
+058626717cde4421952f0946e51406e8,1991000041
+058626717cde4421952f0946e51406e8,1991000040
+058626717cde4421952f0946e51406e8,1991000039
+058626717cde4421952f0946e51406e8,1991000038
+058626717cde4421952f0946e51406e8,1991000037
+058626717cde4421952f0946e51406e8,1991000036
+058626717cde4421952f0946e51406e8,1991000035
+058626717cde4421952f0946e51406e8,1991000034
+058626717cde4421952f0946e51406e8,1991000033
+058626717cde4421952f0946e51406e8,1991000032
+058626717cde4421952f0946e51406e8,1991000031
+058626717cde4421952f0946e51406e8,1991000030
+058626717cde4421952f0946e51406e8,1991000029
+058626717cde4421952f0946e51406e8,1991000028
+058626717cde4421952f0946e51406e8,1991000027
+058626717cde4421952f0946e51406e8,1991000026
+058626717cde4421952f0946e51406e8,1991000025
+058626717cde4421952f0946e51406e8,1991000024
+058626717cde4421952f0946e51406e8,1991000023
+058626717cde4421952f0946e51406e8,1991000022
+058626717cde4421952f0946e51406e8,1991000021
+058626717cde4421952f0946e51406e8,1991000020
+058626717cde4421952f0946e51406e8,1991000019
+058626717cde4421952f0946e51406e8,1991000018
+058626717cde4421952f0946e51406e8,1991000017
+058626717cde4421952f0946e51406e8,1991000016
+058626717cde4421952f0946e51406e8,1991000015
+058626717cde4421952f0946e51406e8,1991000014
+058626717cde4421952f0946e51406e8,1991000012
+058626717cde4421952f0946e51406e8,1991000011
+058626717cde4421952f0946e51406e8,1991000010
+058626717cde4421952f0946e51406e8,1991000009
+058626717cde4421952f0946e51406e8,1991000008
+058626717cde4421952f0946e51406e8,1991000007
+058626717cde4421952f0946e51406e8,1991000006
+058626717cde4421952f0946e51406e8,1991000005
+058626717cde4421952f0946e51406e8,1991000004
+058626717cde4421952f0946e51406e8,1991000003
+058626717cde4421952f0946e51406e8,1991000002
+058626717cde4421952f0946e51406e8,1991000001
+058626717cde4421952f0946e51406e8,1990010049
+058626717cde4421952f0946e51406e8,1990010038
+058626717cde4421952f0946e51406e8,1990010009
+058626717cde4421952f0946e51406e8,1990010006
+058626717cde4421952f0946e51406e8,1990010005
+058626717cde4421952f0946e51406e8,1990010004
+058626717cde4421952f0946e51406e8,1990000083
+058626717cde4421952f0946e51406e8,1990000082
+058626717cde4421952f0946e51406e8,1990000081
+058626717cde4421952f0946e51406e8,1990000080
+058626717cde4421952f0946e51406e8,1990000079
+058626717cde4421952f0946e51406e8,1990000078
+058626717cde4421952f0946e51406e8,1990000075
+058626717cde4421952f0946e51406e8,1990000073
+058626717cde4421952f0946e51406e8,1990000072
+058626717cde4421952f0946e51406e8,1990000070
+058626717cde4421952f0946e51406e8,1990000069
+058626717cde4421952f0946e51406e8,1990000068
+058626717cde4421952f0946e51406e8,1990000067
+058626717cde4421952f0946e51406e8,1990000066
+058626717cde4421952f0946e51406e8,1990000065
+058626717cde4421952f0946e51406e8,1990000064
+058626717cde4421952f0946e51406e8,1990000063
+058626717cde4421952f0946e51406e8,1990000061
+058626717cde4421952f0946e51406e8,1990000060
+058626717cde4421952f0946e51406e8,1990000059
+058626717cde4421952f0946e51406e8,1990000058
+058626717cde4421952f0946e51406e8,1990000057
+058626717cde4421952f0946e51406e8,1990000056
+058626717cde4421952f0946e51406e8,1990000055
+058626717cde4421952f0946e51406e8,1990000054
+058626717cde4421952f0946e51406e8,1990000053
+058626717cde4421952f0946e51406e8,1990000052
+058626717cde4421952f0946e51406e8,1990000051
+058626717cde4421952f0946e51406e8,1990000048
+058626717cde4421952f0946e51406e8,1990000047
+058626717cde4421952f0946e51406e8,1990000046
+058626717cde4421952f0946e51406e8,1990000045
+058626717cde4421952f0946e51406e8,1990000044
+058626717cde4421952f0946e51406e8,1990000043
+058626717cde4421952f0946e51406e8,1990000042
+058626717cde4421952f0946e51406e8,1990000041
+058626717cde4421952f0946e51406e8,1990000040
+058626717cde4421952f0946e51406e8,1990000039
+058626717cde4421952f0946e51406e8,1990000037
+058626717cde4421952f0946e51406e8,1990000035
+058626717cde4421952f0946e51406e8,1990000034
+058626717cde4421952f0946e51406e8,1990000033
+058626717cde4421952f0946e51406e8,1990000032
+058626717cde4421952f0946e51406e8,1990000031
+058626717cde4421952f0946e51406e8,1990000030
+058626717cde4421952f0946e51406e8,1990000029
+058626717cde4421952f0946e51406e8,1990000028
+058626717cde4421952f0946e51406e8,1990000027
+058626717cde4421952f0946e51406e8,1990000026
+058626717cde4421952f0946e51406e8,1990000025
+058626717cde4421952f0946e51406e8,1990000024
+058626717cde4421952f0946e51406e8,1990000023
+058626717cde4421952f0946e51406e8,1990000022
+058626717cde4421952f0946e51406e8,1990000021
+058626717cde4421952f0946e51406e8,1990000020
+058626717cde4421952f0946e51406e8,1990000019
+058626717cde4421952f0946e51406e8,1990000018
+058626717cde4421952f0946e51406e8,1990000017
+058626717cde4421952f0946e51406e8,1990000016
+058626717cde4421952f0946e51406e8,1990000014
+058626717cde4421952f0946e51406e8,1990000013
+058626717cde4421952f0946e51406e8,1990000012
+058626717cde4421952f0946e51406e8,1990000011
+058626717cde4421952f0946e51406e8,1990000003
+058626717cde4421952f0946e51406e8,1989010120
+058626717cde4421952f0946e51406e8,1989010112
+058626717cde4421952f0946e51406e8,1989010108
+058626717cde4421952f0946e51406e8,1989010107
+058626717cde4421952f0946e51406e8,1989010106
+058626717cde4421952f0946e51406e8,1989010105
+058626717cde4421952f0946e51406e8,1989010104
+058626717cde4421952f0946e51406e8,1989010103
+058626717cde4421952f0946e51406e8,1989010100
+058626717cde4421952f0946e51406e8,1989010098
+058626717cde4421952f0946e51406e8,1989010097
+058626717cde4421952f0946e51406e8,1989010096
+058626717cde4421952f0946e51406e8,1989010095
+058626717cde4421952f0946e51406e8,1989010094
+058626717cde4421952f0946e51406e8,1989010093
+058626717cde4421952f0946e51406e8,1989010089
+058626717cde4421952f0946e51406e8,1989010081
+058626717cde4421952f0946e51406e8,1989010079
+058626717cde4421952f0946e51406e8,1989010073
+058626717cde4421952f0946e51406e8,1989010072
+058626717cde4421952f0946e51406e8,1989010069
+058626717cde4421952f0946e51406e8,1989010068
+058626717cde4421952f0946e51406e8,1989010064
+058626717cde4421952f0946e51406e8,1989010063
+058626717cde4421952f0946e51406e8,1989000119
+058626717cde4421952f0946e51406e8,1989000118
+058626717cde4421952f0946e51406e8,1989000117
+058626717cde4421952f0946e51406e8,1989000116
+058626717cde4421952f0946e51406e8,1989000115
+058626717cde4421952f0946e51406e8,1989000114
+058626717cde4421952f0946e51406e8,1989000113
+058626717cde4421952f0946e51406e8,1989000110
+058626717cde4421952f0946e51406e8,1989000085
+058626717cde4421952f0946e51406e8,1989000084
+058626717cde4421952f0946e51406e8,1989000083
+058626717cde4421952f0946e51406e8,1989000082
+058626717cde4421952f0946e51406e8,1989000078
+058626717cde4421952f0946e51406e8,1989000076
+058626717cde4421952f0946e51406e8,1989000074
+058626717cde4421952f0946e51406e8,1989000067
+058626717cde4421952f0946e51406e8,1989000066
+058626717cde4421952f0946e51406e8,1989000061
+058626717cde4421952f0946e51406e8,1989000060
+058626717cde4421952f0946e51406e8,1989000056
+058626717cde4421952f0946e51406e8,1989000055
+058626717cde4421952f0946e51406e8,1989000054
+058626717cde4421952f0946e51406e8,1989000052
+058626717cde4421952f0946e51406e8,1989000051
+058626717cde4421952f0946e51406e8,1989000050
+058626717cde4421952f0946e51406e8,1989000049
+058626717cde4421952f0946e51406e8,1989000048
+058626717cde4421952f0946e51406e8,1989000047
+058626717cde4421952f0946e51406e8,1989000046
+058626717cde4421952f0946e51406e8,1989000045
+058626717cde4421952f0946e51406e8,1989000044
+058626717cde4421952f0946e51406e8,1989000043
+058626717cde4421952f0946e51406e8,1989000042
+058626717cde4421952f0946e51406e8,1989000040
+058626717cde4421952f0946e51406e8,1989000039
+058626717cde4421952f0946e51406e8,1989000038
+058626717cde4421952f0946e51406e8,1989000037
+058626717cde4421952f0946e51406e8,1989000036
+058626717cde4421952f0946e51406e8,1989000035
+058626717cde4421952f0946e51406e8,1989000034
+058626717cde4421952f0946e51406e8,1989000032
+058626717cde4421952f0946e51406e8,1989000031
+058626717cde4421952f0946e51406e8,1989000030
+058626717cde4421952f0946e51406e8,1989000029
+058626717cde4421952f0946e51406e8,1989000028
+058626717cde4421952f0946e51406e8,1989000027
+058626717cde4421952f0946e51406e8,1989000025
+058626717cde4421952f0946e51406e8,1989000023
+058626717cde4421952f0946e51406e8,1989000022
+058626717cde4421952f0946e51406e8,1989000018
+058626717cde4421952f0946e51406e8,1989000017
+058626717cde4421952f0946e51406e8,1989000016
+058626717cde4421952f0946e51406e8,1989000015
+058626717cde4421952f0946e51406e8,1989000014
+058626717cde4421952f0946e51406e8,1989000013
+058626717cde4421952f0946e51406e8,1989000012
+058626717cde4421952f0946e51406e8,1989000011
+058626717cde4421952f0946e51406e8,1989000010
+058626717cde4421952f0946e51406e8,1989000008
+058626717cde4421952f0946e51406e8,1989000006
+058626717cde4421952f0946e51406e8,1989000005
+058626717cde4421952f0946e51406e8,1989000004
+058626717cde4421952f0946e51406e8,1989000003
+058626717cde4421952f0946e51406e8,1989000002
+058626717cde4421952f0946e51406e8,1988010128
+058626717cde4421952f0946e51406e8,1988010015
+058626717cde4421952f0946e51406e8,1988010013
+058626717cde4421952f0946e51406e8,1988010010
+058626717cde4421952f0946e51406e8,1988010005
+058626717cde4421952f0946e51406e8,1988010003
+058626717cde4421952f0946e51406e8,1988010001
+058626717cde4421952f0946e51406e8,1988000132
+058626717cde4421952f0946e51406e8,1988000131
+058626717cde4421952f0946e51406e8,1988000130
+058626717cde4421952f0946e51406e8,1988000129
+058626717cde4421952f0946e51406e8,1988000127
+058626717cde4421952f0946e51406e8,1988000126
+058626717cde4421952f0946e51406e8,1988000125
+058626717cde4421952f0946e51406e8,1988000124
+058626717cde4421952f0946e51406e8,1988000123
+058626717cde4421952f0946e51406e8,1988000121
+058626717cde4421952f0946e51406e8,1988000120
+058626717cde4421952f0946e51406e8,1988000119
+058626717cde4421952f0946e51406e8,1988000118
+058626717cde4421952f0946e51406e8,1988000116
+058626717cde4421952f0946e51406e8,1988000115
+058626717cde4421952f0946e51406e8,1988000114
+058626717cde4421952f0946e51406e8,1988000108
+058626717cde4421952f0946e51406e8,1988000106
+058626717cde4421952f0946e51406e8,1988000104
+058626717cde4421952f0946e51406e8,1988000101
+058626717cde4421952f0946e51406e8,1988000099
+058626717cde4421952f0946e51406e8,1988000098
+058626717cde4421952f0946e51406e8,1988000097
+058626717cde4421952f0946e51406e8,1988000096
+058626717cde4421952f0946e51406e8,1988000095
+058626717cde4421952f0946e51406e8,1988000094
+058626717cde4421952f0946e51406e8,1988000093
+058626717cde4421952f0946e51406e8,1988000092
+058626717cde4421952f0946e51406e8,1988000091
+058626717cde4421952f0946e51406e8,1988000090
+058626717cde4421952f0946e51406e8,1988000089
+058626717cde4421952f0946e51406e8,1988000088
+058626717cde4421952f0946e51406e8,1988000087
+058626717cde4421952f0946e51406e8,1988000086
+058626717cde4421952f0946e51406e8,1988000085
+058626717cde4421952f0946e51406e8,1988000084
+058626717cde4421952f0946e51406e8,1988000083
+058626717cde4421952f0946e51406e8,1988000082
+058626717cde4421952f0946e51406e8,1988000081
+058626717cde4421952f0946e51406e8,1988000080
+058626717cde4421952f0946e51406e8,1988000079
+058626717cde4421952f0946e51406e8,1988000078
+058626717cde4421952f0946e51406e8,1988000077
+058626717cde4421952f0946e51406e8,1988000074
+058626717cde4421952f0946e51406e8,1988000073
+058626717cde4421952f0946e51406e8,1988000072
+058626717cde4421952f0946e51406e8,1988000071
+058626717cde4421952f0946e51406e8,1988000070
+058626717cde4421952f0946e51406e8,1988000066
+058626717cde4421952f0946e51406e8,1988000064
+058626717cde4421952f0946e51406e8,1988000063
+058626717cde4421952f0946e51406e8,1988000062
+058626717cde4421952f0946e51406e8,1988000061
+058626717cde4421952f0946e51406e8,1988000060
+058626717cde4421952f0946e51406e8,1988000059
+058626717cde4421952f0946e51406e8,1988000058
+058626717cde4421952f0946e51406e8,1988000054
+058626717cde4421952f0946e51406e8,1988000053
+058626717cde4421952f0946e51406e8,1988000051
+058626717cde4421952f0946e51406e8,1988000050
+058626717cde4421952f0946e51406e8,1988000049
+058626717cde4421952f0946e51406e8,1988000048
+058626717cde4421952f0946e51406e8,1988000047
+058626717cde4421952f0946e51406e8,1988000045
+058626717cde4421952f0946e51406e8,1988000044
+058626717cde4421952f0946e51406e8,1988000043
+058626717cde4421952f0946e51406e8,1988000042
+058626717cde4421952f0946e51406e8,1988000041
+058626717cde4421952f0946e51406e8,1988000040
+058626717cde4421952f0946e51406e8,1988000039
+058626717cde4421952f0946e51406e8,1988000038
+058626717cde4421952f0946e51406e8,1988000037
+058626717cde4421952f0946e51406e8,1988000036
+058626717cde4421952f0946e51406e8,1988000035
+058626717cde4421952f0946e51406e8,1988000034
+058626717cde4421952f0946e51406e8,1988000033
+058626717cde4421952f0946e51406e8,1988000032
+058626717cde4421952f0946e51406e8,1988000031
+058626717cde4421952f0946e51406e8,1988000030
+058626717cde4421952f0946e51406e8,1988000029
+058626717cde4421952f0946e51406e8,1988000028
+058626717cde4421952f0946e51406e8,1988000027
+058626717cde4421952f0946e51406e8,1988000026
+058626717cde4421952f0946e51406e8,1988000024
+058626717cde4421952f0946e51406e8,1988000008
+058626717cde4421952f0946e51406e8,1988000004
+058626717cde4421952f0946e51406e8,1987010031
+058626717cde4421952f0946e51406e8,1987010029
+058626717cde4421952f0946e51406e8,1987000087
+058626717cde4421952f0946e51406e8,1987000085
+058626717cde4421952f0946e51406e8,1987000084
+058626717cde4421952f0946e51406e8,1987000083
+058626717cde4421952f0946e51406e8,1987000080
+058626717cde4421952f0946e51406e8,1987000079
+058626717cde4421952f0946e51406e8,1987000078
+058626717cde4421952f0946e51406e8,1987000077
+058626717cde4421952f0946e51406e8,1987000076
+058626717cde4421952f0946e51406e8,1987000075
+058626717cde4421952f0946e51406e8,1987000074
+058626717cde4421952f0946e51406e8,1987000073
+058626717cde4421952f0946e51406e8,1987000072
+058626717cde4421952f0946e51406e8,1987000071
+058626717cde4421952f0946e51406e8,1987000070
+058626717cde4421952f0946e51406e8,1987000067
+058626717cde4421952f0946e51406e8,1987000066
+058626717cde4421952f0946e51406e8,1987000065
+058626717cde4421952f0946e51406e8,1987000064
+058626717cde4421952f0946e51406e8,1987000063
+058626717cde4421952f0946e51406e8,1987000062
+058626717cde4421952f0946e51406e8,1987000061
+058626717cde4421952f0946e51406e8,1987000060
+058626717cde4421952f0946e51406e8,1987000059
+058626717cde4421952f0946e51406e8,1987000058
+058626717cde4421952f0946e51406e8,1987000057
+058626717cde4421952f0946e51406e8,1987000056
+058626717cde4421952f0946e51406e8,1987000055
+058626717cde4421952f0946e51406e8,1987000054
+058626717cde4421952f0946e51406e8,1987000053
+058626717cde4421952f0946e51406e8,1987000052
+058626717cde4421952f0946e51406e8,1987000051
+058626717cde4421952f0946e51406e8,1987000050
+058626717cde4421952f0946e51406e8,1987000049
+058626717cde4421952f0946e51406e8,1987000048
+058626717cde4421952f0946e51406e8,1987000046
+058626717cde4421952f0946e51406e8,1987000045
+058626717cde4421952f0946e51406e8,1987000044
+058626717cde4421952f0946e51406e8,1987000043
+058626717cde4421952f0946e51406e8,1987000042
+058626717cde4421952f0946e51406e8,1987000041
+058626717cde4421952f0946e51406e8,1987000040
+058626717cde4421952f0946e51406e8,1987000039
+058626717cde4421952f0946e51406e8,1987000038
+058626717cde4421952f0946e51406e8,1987000037
+058626717cde4421952f0946e51406e8,1987000036
+058626717cde4421952f0946e51406e8,1987000035
+058626717cde4421952f0946e51406e8,1987000034
+058626717cde4421952f0946e51406e8,1987000033
+058626717cde4421952f0946e51406e8,1987000032
+058626717cde4421952f0946e51406e8,1987000030
+058626717cde4421952f0946e51406e8,1987000028
+058626717cde4421952f0946e51406e8,1987000027
+058626717cde4421952f0946e51406e8,1987000026
+058626717cde4421952f0946e51406e8,1987000025
+058626717cde4421952f0946e51406e8,1987000024
+058626717cde4421952f0946e51406e8,1987000023
+058626717cde4421952f0946e51406e8,1987000022
+058626717cde4421952f0946e51406e8,1987000021
+058626717cde4421952f0946e51406e8,1987000020
+058626717cde4421952f0946e51406e8,1987000019
+058626717cde4421952f0946e51406e8,1987000018
+058626717cde4421952f0946e51406e8,1987000017
+058626717cde4421952f0946e51406e8,1987000016
+058626717cde4421952f0946e51406e8,1987000014
+058626717cde4421952f0946e51406e8,1987000013
+058626717cde4421952f0946e51406e8,1987000011
+058626717cde4421952f0946e51406e8,1987000008
+058626717cde4421952f0946e51406e8,1987000004
+058626717cde4421952f0946e51406e8,1987000003
+058626717cde4421952f0946e51406e8,1987000001
+058626717cde4421952f0946e51406e8,1986010135
+058626717cde4421952f0946e51406e8,1986010130
+058626717cde4421952f0946e51406e8,1986010123
+058626717cde4421952f0946e51406e8,1986010121
+058626717cde4421952f0946e51406e8,1986010119
+058626717cde4421952f0946e51406e8,1986010118
+058626717cde4421952f0946e51406e8,1986010115
+058626717cde4421952f0946e51406e8,1986010114
+058626717cde4421952f0946e51406e8,1986010110
+058626717cde4421952f0946e51406e8,1986010109
+058626717cde4421952f0946e51406e8,1986010106
+058626717cde4421952f0946e51406e8,1986010104
+058626717cde4421952f0946e51406e8,1986000134
+058626717cde4421952f0946e51406e8,1986000133
+058626717cde4421952f0946e51406e8,1986000102
+058626717cde4421952f0946e51406e8,1986000098
+058626717cde4421952f0946e51406e8,1986000097
+058626717cde4421952f0946e51406e8,1986000096
+058626717cde4421952f0946e51406e8,1986000095
+058626717cde4421952f0946e51406e8,1986000094
+058626717cde4421952f0946e51406e8,1986000092
+058626717cde4421952f0946e51406e8,1986000091
+058626717cde4421952f0946e51406e8,1986000090
+058626717cde4421952f0946e51406e8,1986000089
+058626717cde4421952f0946e51406e8,1986000088
+058626717cde4421952f0946e51406e8,1986000087
+058626717cde4421952f0946e51406e8,1986000086
+058626717cde4421952f0946e51406e8,1986000085
+058626717cde4421952f0946e51406e8,1986000083
+058626717cde4421952f0946e51406e8,1986000082
+058626717cde4421952f0946e51406e8,1986000081
+058626717cde4421952f0946e51406e8,1986000080
+058626717cde4421952f0946e51406e8,1986000079
+058626717cde4421952f0946e51406e8,1986000078
+058626717cde4421952f0946e51406e8,1986000076
+058626717cde4421952f0946e51406e8,1986000075
+058626717cde4421952f0946e51406e8,1986000074
+058626717cde4421952f0946e51406e8,1986000073
+058626717cde4421952f0946e51406e8,1986000072
+058626717cde4421952f0946e51406e8,1986000071
+058626717cde4421952f0946e51406e8,1986000070
+058626717cde4421952f0946e51406e8,1986000069
+058626717cde4421952f0946e51406e8,1986000067
+058626717cde4421952f0946e51406e8,1986000066
+058626717cde4421952f0946e51406e8,1986000065
+058626717cde4421952f0946e51406e8,1986000064
+058626717cde4421952f0946e51406e8,1986000063
+058626717cde4421952f0946e51406e8,1986000061
+058626717cde4421952f0946e51406e8,1986000060
+058626717cde4421952f0946e51406e8,1986000059
+058626717cde4421952f0946e51406e8,1986000058
+058626717cde4421952f0946e51406e8,1986000057
+058626717cde4421952f0946e51406e8,1986000056
+058626717cde4421952f0946e51406e8,1986000055
+058626717cde4421952f0946e51406e8,1986000054
+058626717cde4421952f0946e51406e8,1986000053
+058626717cde4421952f0946e51406e8,1986000052
+058626717cde4421952f0946e51406e8,1986000051
+058626717cde4421952f0946e51406e8,1986000050
+058626717cde4421952f0946e51406e8,1986000047
+058626717cde4421952f0946e51406e8,1986000046
+058626717cde4421952f0946e51406e8,1986000045
+058626717cde4421952f0946e51406e8,1986000044
+058626717cde4421952f0946e51406e8,1986000042
+058626717cde4421952f0946e51406e8,1986000041
+058626717cde4421952f0946e51406e8,1986000040
+058626717cde4421952f0946e51406e8,1986000039
+058626717cde4421952f0946e51406e8,1986000038
+058626717cde4421952f0946e51406e8,1986000037
+058626717cde4421952f0946e51406e8,1986000036
+058626717cde4421952f0946e51406e8,1986000035
+058626717cde4421952f0946e51406e8,1986000034
+058626717cde4421952f0946e51406e8,1986000033
+058626717cde4421952f0946e51406e8,1986000032
+058626717cde4421952f0946e51406e8,1986000031
+058626717cde4421952f0946e51406e8,1986000030
+058626717cde4421952f0946e51406e8,1986000029
+058626717cde4421952f0946e51406e8,1986000028
+058626717cde4421952f0946e51406e8,1986000026
+058626717cde4421952f0946e51406e8,1986000025
+058626717cde4421952f0946e51406e8,1986000023
+058626717cde4421952f0946e51406e8,1986000022
+058626717cde4421952f0946e51406e8,1986000021
+058626717cde4421952f0946e51406e8,1986000020
+058626717cde4421952f0946e51406e8,1986000019
+058626717cde4421952f0946e51406e8,1986000012
+058626717cde4421952f0946e51406e8,1986000010
+058626717cde4421952f0946e51406e8,1986000007
+058626717cde4421952f0946e51406e8,1986000005
+058626717cde4421952f0946e51406e8,1986000004
+058626717cde4421952f0946e51406e8,1986000001
+058626717cde4421952f0946e51406e8,1985010099
+058626717cde4421952f0946e51406e8,1985010094
+058626717cde4421952f0946e51406e8,1985010092
+058626717cde4421952f0946e51406e8,1985010090
+058626717cde4421952f0946e51406e8,1985010083
+058626717cde4421952f0946e51406e8,1985010066
+058626717cde4421952f0946e51406e8,1985010014
+058626717cde4421952f0946e51406e8,1985000098
+058626717cde4421952f0946e51406e8,1985000097
+058626717cde4421952f0946e51406e8,1985000096
+058626717cde4421952f0946e51406e8,1985000093
+058626717cde4421952f0946e51406e8,1985000088
+058626717cde4421952f0946e51406e8,1985000084
+058626717cde4421952f0946e51406e8,1985000082
+058626717cde4421952f0946e51406e8,1985000081
+058626717cde4421952f0946e51406e8,1985000075
+058626717cde4421952f0946e51406e8,1985000073
+058626717cde4421952f0946e51406e8,1985000072
+058626717cde4421952f0946e51406e8,1985000071
+058626717cde4421952f0946e51406e8,1985000068
+058626717cde4421952f0946e51406e8,1985000067
+058626717cde4421952f0946e51406e8,1985000065
+058626717cde4421952f0946e51406e8,1985000064
+058626717cde4421952f0946e51406e8,1985000063
+058626717cde4421952f0946e51406e8,1985000062
+058626717cde4421952f0946e51406e8,1985000061
+058626717cde4421952f0946e51406e8,1985000060
+058626717cde4421952f0946e51406e8,1985000059
+058626717cde4421952f0946e51406e8,1985000058
+058626717cde4421952f0946e51406e8,1985000057
+058626717cde4421952f0946e51406e8,1985000056
+058626717cde4421952f0946e51406e8,1985000055
+058626717cde4421952f0946e51406e8,1985000054
+058626717cde4421952f0946e51406e8,1985000053
+058626717cde4421952f0946e51406e8,1985000052
+058626717cde4421952f0946e51406e8,1985000051
+058626717cde4421952f0946e51406e8,1985000050
+058626717cde4421952f0946e51406e8,1985000049
+058626717cde4421952f0946e51406e8,1985000048
+058626717cde4421952f0946e51406e8,1985000047
+058626717cde4421952f0946e51406e8,1985000046
+058626717cde4421952f0946e51406e8,1985000045
+058626717cde4421952f0946e51406e8,1985000044
+058626717cde4421952f0946e51406e8,1985000043
+058626717cde4421952f0946e51406e8,1985000042
+058626717cde4421952f0946e51406e8,1985000041
+058626717cde4421952f0946e51406e8,1985000040
+058626717cde4421952f0946e51406e8,1985000039
+058626717cde4421952f0946e51406e8,1985000038
+058626717cde4421952f0946e51406e8,1985000037
+058626717cde4421952f0946e51406e8,1985000036
+058626717cde4421952f0946e51406e8,1985000035
+058626717cde4421952f0946e51406e8,1985000034
+058626717cde4421952f0946e51406e8,1985000033
+058626717cde4421952f0946e51406e8,1985000032
+058626717cde4421952f0946e51406e8,1985000030
+058626717cde4421952f0946e51406e8,1985000029
+058626717cde4421952f0946e51406e8,1985000026
+058626717cde4421952f0946e51406e8,1985000024
+058626717cde4421952f0946e51406e8,1985000023
+058626717cde4421952f0946e51406e8,1985000022
+058626717cde4421952f0946e51406e8,1985000021
+058626717cde4421952f0946e51406e8,1985000019
+058626717cde4421952f0946e51406e8,1985000018
+058626717cde4421952f0946e51406e8,1985000017
+058626717cde4421952f0946e51406e8,1985000016
+058626717cde4421952f0946e51406e8,1985000015
+058626717cde4421952f0946e51406e8,1985000013
+058626717cde4421952f0946e51406e8,1985000012
+058626717cde4421952f0946e51406e8,1985000010
+058626717cde4421952f0946e51406e8,1985000008
+058626717cde4421952f0946e51406e8,1985000007
+058626717cde4421952f0946e51406e8,1985000005
+058626717cde4421952f0946e51406e8,1985000001
+058626717cde4421952f0946e51406e8,1984010108
+058626717cde4421952f0946e51406e8,1984010102
+058626717cde4421952f0946e51406e8,1984010075
+058626717cde4421952f0946e51406e8,1984010070
+058626717cde4421952f0946e51406e8,1984010069
+058626717cde4421952f0946e51406e8,1984010013
+058626717cde4421952f0946e51406e8,1984010008
+058626717cde4421952f0946e51406e8,1984010004
+058626717cde4421952f0946e51406e8,1984010003
+058626717cde4421952f0946e51406e8,1984010002
+058626717cde4421952f0946e51406e8,1984010001
+058626717cde4421952f0946e51406e8,1984000106
+058626717cde4421952f0946e51406e8,1984000105
+058626717cde4421952f0946e51406e8,1984000104
+058626717cde4421952f0946e51406e8,1984000101
+058626717cde4421952f0946e51406e8,1984000100
+058626717cde4421952f0946e51406e8,1984000097
+058626717cde4421952f0946e51406e8,1984000093
+058626717cde4421952f0946e51406e8,1984000092
+058626717cde4421952f0946e51406e8,1984000091
+058626717cde4421952f0946e51406e8,1984000089
+058626717cde4421952f0946e51406e8,1984000085
+058626717cde4421952f0946e51406e8,1984000084
+058626717cde4421952f0946e51406e8,1984000083
+058626717cde4421952f0946e51406e8,1984000082
+058626717cde4421952f0946e51406e8,1984000080
+058626717cde4421952f0946e51406e8,1984000079
+058626717cde4421952f0946e51406e8,1984000078
+058626717cde4421952f0946e51406e8,1984000076
+058626717cde4421952f0946e51406e8,1984000067
+058626717cde4421952f0946e51406e8,1984000065
+058626717cde4421952f0946e51406e8,1984000063
+058626717cde4421952f0946e51406e8,1984000062
+058626717cde4421952f0946e51406e8,1984000061
+058626717cde4421952f0946e51406e8,1984000060
+058626717cde4421952f0946e51406e8,1984000059
+058626717cde4421952f0946e51406e8,1984000057
+058626717cde4421952f0946e51406e8,1984000056
+058626717cde4421952f0946e51406e8,1984000055
+058626717cde4421952f0946e51406e8,1984000054
+058626717cde4421952f0946e51406e8,1984000053
+058626717cde4421952f0946e51406e8,1984000052
+058626717cde4421952f0946e51406e8,1984000051
+058626717cde4421952f0946e51406e8,1984000050
+058626717cde4421952f0946e51406e8,1984000049
+058626717cde4421952f0946e51406e8,1984000047
+058626717cde4421952f0946e51406e8,1984000046
+058626717cde4421952f0946e51406e8,1984000044
+058626717cde4421952f0946e51406e8,1984000043
+058626717cde4421952f0946e51406e8,1984000042
+058626717cde4421952f0946e51406e8,1984000041
+058626717cde4421952f0946e51406e8,1984000040
+058626717cde4421952f0946e51406e8,1984000039
+058626717cde4421952f0946e51406e8,1984000038
+058626717cde4421952f0946e51406e8,1984000032
+058626717cde4421952f0946e51406e8,1984000030
+058626717cde4421952f0946e51406e8,1984000029
+058626717cde4421952f0946e51406e8,1984000026
+058626717cde4421952f0946e51406e8,1984000025
+058626717cde4421952f0946e51406e8,1984000023
+058626717cde4421952f0946e51406e8,1984000022
+058626717cde4421952f0946e51406e8,1984000021
+058626717cde4421952f0946e51406e8,1984000020
+058626717cde4421952f0946e51406e8,1984000019
+058626717cde4421952f0946e51406e8,1984000018
+058626717cde4421952f0946e51406e8,1984000017
+058626717cde4421952f0946e51406e8,1984000015
+058626717cde4421952f0946e51406e8,1984000012
+058626717cde4421952f0946e51406e8,1984000011
+058626717cde4421952f0946e51406e8,1984000009
+058626717cde4421952f0946e51406e8,1984000007
+058626717cde4421952f0946e51406e8,1983000070
+058626717cde4421952f0946e51406e8,1983000069
+058626717cde4421952f0946e51406e8,1983000068
+058626717cde4421952f0946e51406e8,1983000067
+058626717cde4421952f0946e51406e8,1983000066
+058626717cde4421952f0946e51406e8,1983000065
+058626717cde4421952f0946e51406e8,1983000060
+058626717cde4421952f0946e51406e8,1983000059
+058626717cde4421952f0946e51406e8,1983000053
+058626717cde4421952f0946e51406e8,1983000052
+058626717cde4421952f0946e51406e8,1983000051
+058626717cde4421952f0946e51406e8,1983000048
+058626717cde4421952f0946e51406e8,1983000043
+058626717cde4421952f0946e51406e8,1983000041
+058626717cde4421952f0946e51406e8,1983000040
+058626717cde4421952f0946e51406e8,1983000039
+058626717cde4421952f0946e51406e8,1983000035
+058626717cde4421952f0946e51406e8,1983000033
+058626717cde4421952f0946e51406e8,1983000032
+058626717cde4421952f0946e51406e8,1983000031
+058626717cde4421952f0946e51406e8,1983000030
+058626717cde4421952f0946e51406e8,1983000028
+058626717cde4421952f0946e51406e8,1983000026
+058626717cde4421952f0946e51406e8,1983000024
+058626717cde4421952f0946e51406e8,1983000023
+058626717cde4421952f0946e51406e8,1983000022
+058626717cde4421952f0946e51406e8,1983000021
+058626717cde4421952f0946e51406e8,1983000019
+058626717cde4421952f0946e51406e8,1983000018
+058626717cde4421952f0946e51406e8,1983000017
+058626717cde4421952f0946e51406e8,1983000016
+058626717cde4421952f0946e51406e8,1983000015
+058626717cde4421952f0946e51406e8,1983000014
+058626717cde4421952f0946e51406e8,1983000012
+058626717cde4421952f0946e51406e8,1983000011
+058626717cde4421952f0946e51406e8,1983000009
+058626717cde4421952f0946e51406e8,1983000008
+058626717cde4421952f0946e51406e8,1983000003
+058626717cde4421952f0946e51406e8,1983000001
+058626717cde4421952f0946e51406e8,1982000088
+058626717cde4421952f0946e51406e8,1982000087
+058626717cde4421952f0946e51406e8,1982000085
+058626717cde4421952f0946e51406e8,1982000083
+058626717cde4421952f0946e51406e8,1982000081
+058626717cde4421952f0946e51406e8,1982000080
+058626717cde4421952f0946e51406e8,1982000078
+058626717cde4421952f0946e51406e8,1982000075
+058626717cde4421952f0946e51406e8,1982000073
+058626717cde4421952f0946e51406e8,1982000072
+058626717cde4421952f0946e51406e8,1982000070
+058626717cde4421952f0946e51406e8,1982000069
+058626717cde4421952f0946e51406e8,1982000068
+058626717cde4421952f0946e51406e8,1982000067
+058626717cde4421952f0946e51406e8,1982000066
+058626717cde4421952f0946e51406e8,1982000065
+058626717cde4421952f0946e51406e8,1982000063
+058626717cde4421952f0946e51406e8,1982000060
+058626717cde4421952f0946e51406e8,1982000059
+058626717cde4421952f0946e51406e8,1982000058
+058626717cde4421952f0946e51406e8,1982000057
+058626717cde4421952f0946e51406e8,1982000055
+058626717cde4421952f0946e51406e8,1982000053
+058626717cde4421952f0946e51406e8,1982000052
+058626717cde4421952f0946e51406e8,1982000050
+058626717cde4421952f0946e51406e8,1982000046
+058626717cde4421952f0946e51406e8,1982000045
+058626717cde4421952f0946e51406e8,1982000044
+058626717cde4421952f0946e51406e8,1982000041
+058626717cde4421952f0946e51406e8,1982000040
+058626717cde4421952f0946e51406e8,1982000039
+058626717cde4421952f0946e51406e8,1982000038
+058626717cde4421952f0946e51406e8,1982000037
+058626717cde4421952f0946e51406e8,1982000031
+058626717cde4421952f0946e51406e8,1982000029
+058626717cde4421952f0946e51406e8,1982000028
+058626717cde4421952f0946e51406e8,1982000025
+058626717cde4421952f0946e51406e8,1982000021
+058626717cde4421952f0946e51406e8,1982000014
+058626717cde4421952f0946e51406e8,1982000013
+058626717cde4421952f0946e51406e8,1982000010
+058626717cde4421952f0946e51406e8,1982000008
+058626717cde4421952f0946e51406e8,1982000005
+058626717cde4421952f0946e51406e8,1981000228
+058626717cde4421952f0946e51406e8,1981000222
+058626717cde4421952f0946e51406e8,1981000220
+058626717cde4421952f0946e51406e8,1981000217
+058626717cde4421952f0946e51406e8,1981000216
+058626717cde4421952f0946e51406e8,1981000215
+058626717cde4421952f0946e51406e8,1981000209
+058626717cde4421952f0946e51406e8,1981000204
+058626717cde4421952f0946e51406e8,1981000194
+058626717cde4421952f0946e51406e8,1981000190
+058626717cde4421952f0946e51406e8,1981000187
+058626717cde4421952f0946e51406e8,1981000178
+058626717cde4421952f0946e51406e8,1981000159
+058626717cde4421952f0946e51406e8,1981000158
+058626717cde4421952f0946e51406e8,1981000155
+058626717cde4421952f0946e51406e8,1981000153
+058626717cde4421952f0946e51406e8,1981000152
+058626717cde4421952f0946e51406e8,1981000151
+058626717cde4421952f0946e51406e8,1981000148
+058626717cde4421952f0946e51406e8,1981000147
+058626717cde4421952f0946e51406e8,1981000140
+058626717cde4421952f0946e51406e8,1981000136
+058626717cde4421952f0946e51406e8,1981000133
+058626717cde4421952f0946e51406e8,1981000131
+058626717cde4421952f0946e51406e8,1981000128
+058626717cde4421952f0946e51406e8,1981000125
+058626717cde4421952f0946e51406e8,1981000124
+058626717cde4421952f0946e51406e8,1981000121
+058626717cde4421952f0946e51406e8,1981000119
+058626717cde4421952f0946e51406e8,1981000117
+058626717cde4421952f0946e51406e8,1981000116
+058626717cde4421952f0946e51406e8,1981000115
+058626717cde4421952f0946e51406e8,1981000114
+058626717cde4421952f0946e51406e8,1981000110
+058626717cde4421952f0946e51406e8,1981000109
+058626717cde4421952f0946e51406e8,1981000107
+058626717cde4421952f0946e51406e8,1981000106
+058626717cde4421952f0946e51406e8,1981000105
+058626717cde4421952f0946e51406e8,1981000103
+058626717cde4421952f0946e51406e8,1981000102
+058626717cde4421952f0946e51406e8,1981000101
+058626717cde4421952f0946e51406e8,1981000100
+058626717cde4421952f0946e51406e8,1981000099
+058626717cde4421952f0946e51406e8,1981000095
+058626717cde4421952f0946e51406e8,1981000090
+058626717cde4421952f0946e51406e8,1981000089
+058626717cde4421952f0946e51406e8,1981000088
+058626717cde4421952f0946e51406e8,1981000087
+058626717cde4421952f0946e51406e8,1981000081
+058626717cde4421952f0946e51406e8,1981000078
+058626717cde4421952f0946e51406e8,1981000072
+058626717cde4421952f0946e51406e8,1981000068
+058626717cde4421952f0946e51406e8,1981000067
+058626717cde4421952f0946e51406e8,1981000065
+058626717cde4421952f0946e51406e8,1981000063
+058626717cde4421952f0946e51406e8,1981000059
+058626717cde4421952f0946e51406e8,1981000057
+058626717cde4421952f0946e51406e8,1981000052
+058626717cde4421952f0946e51406e8,1981000051
+058626717cde4421952f0946e51406e8,1981000049
+058626717cde4421952f0946e51406e8,1981000048
+058626717cde4421952f0946e51406e8,1981000041
+058626717cde4421952f0946e51406e8,1981000039
+058626717cde4421952f0946e51406e8,1981000038
+058626717cde4421952f0946e51406e8,1981000037
+058626717cde4421952f0946e51406e8,1981000036
+058626717cde4421952f0946e51406e8,1981000035
+058626717cde4421952f0946e51406e8,1981000031
+058626717cde4421952f0946e51406e8,1981000028
+058626717cde4421952f0946e51406e8,1981000027
+058626717cde4421952f0946e51406e8,1981000023
+058626717cde4421952f0946e51406e8,1981000022
+058626717cde4421952f0946e51406e8,1981000021
+058626717cde4421952f0946e51406e8,1981000020
+058626717cde4421952f0946e51406e8,1981000018
+058626717cde4421952f0946e51406e8,1981000016
+058626717cde4421952f0946e51406e8,1981000015
+058626717cde4421952f0946e51406e8,1981000014
+058626717cde4421952f0946e51406e8,1981000009
+058626717cde4421952f0946e51406e8,1981000007
+058626717cde4421952f0946e51406e8,1981000001
+058626717cde4421952f0946e51406e8,1980000048
+058626717cde4421952f0946e51406e8,1980000047
+058626717cde4421952f0946e51406e8,1980000046
+058626717cde4421952f0946e51406e8,1980000042
+058626717cde4421952f0946e51406e8,1980000040
+058626717cde4421952f0946e51406e8,1980000039
+058626717cde4421952f0946e51406e8,1980000038
+058626717cde4421952f0946e51406e8,1980000036
+058626717cde4421952f0946e51406e8,1980000023
+058626717cde4421952f0946e51406e8,1980000020
+058626717cde4421952f0946e51406e8,1980000004
+058626717cde4421952f0946e51406e8,1979000084
+058626717cde4421952f0946e51406e8,1979000083
+058626717cde4421952f0946e51406e8,1979000082
+058626717cde4421952f0946e51406e8,1979000076
+058626717cde4421952f0946e51406e8,1979000075
+058626717cde4421952f0946e51406e8,1979000070
+058626717cde4421952f0946e51406e8,1979000068
+058626717cde4421952f0946e51406e8,1979000065
+058626717cde4421952f0946e51406e8,1979000064
+058626717cde4421952f0946e51406e8,1979000058
+058626717cde4421952f0946e51406e8,1979000057
+058626717cde4421952f0946e51406e8,1979000056
+058626717cde4421952f0946e51406e8,1979000052
+058626717cde4421952f0946e51406e8,1979000046
+058626717cde4421952f0946e51406e8,1979000044
+058626717cde4421952f0946e51406e8,1979000029
+058626717cde4421952f0946e51406e8,1979000027
+058626717cde4421952f0946e51406e8,1978000058
+058626717cde4421952f0946e51406e8,1978000052
+058626717cde4421952f0946e51406e8,1978000050
+058626717cde4421952f0946e51406e8,1978000038
+058626717cde4421952f0946e51406e8,1978000013
+058626717cde4421952f0946e51406e8,1978000010
+058626717cde4421952f0946e51406e8,1978000009
+058626717cde4421952f0946e51406e8,1978000003
+058626717cde4421952f0946e51406e8,1977000062
+058626717cde4421952f0946e51406e8,1977000060
+058626717cde4421952f0946e51406e8,1977000058
+058626717cde4421952f0946e51406e8,1977000047
+058626717cde4421952f0946e51406e8,1977000038
+058626717cde4421952f0946e51406e8,1977000032
+058626717cde4421952f0946e51406e8,1977000010
+058626717cde4421952f0946e51406e8,1977000008
+058626717cde4421952f0946e51406e8,1976000054
+058626717cde4421952f0946e51406e8,1975000015
+058626717cde4421952f0946e51406e8,1975000007
+058626717cde4421952f0946e51406e8,1974000010
+058626717cde4421952f0946e51406e8,1973000051
+058626717cde4421952f0946e51406e8,1972000049
+058626717cde4421952f0946e51406e8,1972000035
+058626717cde4421952f0946e51406e8,1972000027
+058626717cde4421952f0946e51406e8,1972000025
+058626717cde4421952f0946e51406e8,1972000004
+058626717cde4421952f0946e51406e8,1971000074
+058626717cde4421952f0946e51406e8,1969000001
+058626717cde4421952f0946e51406e8,1957000001
+058626717cde4421952f0946e51406e8,1949000001
+058626717cde4421952f0946e51406e8,08010
+058626717cde4421952f0946e51406e8,07191
+058626717cde4421952f0946e51406e8,07190
+058626717cde4421952f0946e51406e8,06430
+058626717cde4421952f0946e51406e8,06420
+058626717cde4421952f0946e51406e8,06410
+058626717cde4421952f0946e51406e8,06401
+058626717cde4421952f0946e51406e8,06391
+058626717cde4421952f0946e51406e8,06180
+058626717cde4421952f0946e51406e8,06170
+058626717cde4421952f0946e51406e8,06160
+058626717cde4421952f0946e51406e8,06140
+058626717cde4421952f0946e51406e8,06130
+058626717cde4421952f0946e51406e8,06120
+058626717cde4421952f0946e51406e8,06110
+058626717cde4421952f0946e51406e8,06100
+058626717cde4421952f0946e51406e8,06090
+058626717cde4421952f0946e51406e8,06080
+058626717cde4421952f0946e51406e8,06070
+058626717cde4421952f0946e51406e8,06060
+058626717cde4421952f0946e51406e8,06050
+058626717cde4421952f0946e51406e8,06040
+058626717cde4421952f0946e51406e8,06030
+058626717cde4421952f0946e51406e8,06020
+058626717cde4421952f0946e51406e8,06010
+058626717cde4421952f0946e51406e8,05070
+058626717cde4421952f0946e51406e8,05040
+058626717cde4421952f0946e51406e8,05030
+058626717cde4421952f0946e51406e8,05020
+058626717cde4421952f0946e51406e8,05010
+058626717cde4421952f0946e51406e8,04040
+058626717cde4421952f0946e51406e8,04013
+058626717cde4421952f0946e51406e8,04012
+058626717cde4421952f0946e51406e8,04011
+058626717cde4421952f0946e51406e8,03040
+058626717cde4421952f0946e51406e8,03010
+058626717cde4421952f0946e51406e8,02281
+058626717cde4421952f0946e51406e8,02220
+058626717cde4421952f0946e51406e8,02210
+058626717cde4421952f0946e51406e8,02200
+058626717cde4421952f0946e51406e8,02190
+058626717cde4421952f0946e51406e8,02180
+058626717cde4421952f0946e51406e8,02170
+058626717cde4421952f0946e51406e8,02160
+058626717cde4421952f0946e51406e8,02121
+058626717cde4421952f0946e51406e8,02120
+058626717cde4421952f0946e51406e8,02110
+058626717cde4421952f0946e51406e8,02100
+058626717cde4421952f0946e51406e8,02090
+058626717cde4421952f0946e51406e8,02080
+058626717cde4421952f0946e51406e8,02070
+058626717cde4421952f0946e51406e8,02060
+058626717cde4421952f0946e51406e8,02040
+058626717cde4421952f0946e51406e8,02030
+058626717cde4421952f0946e51406e8,02020
+058626717cde4421952f0946e51406e8,02010
+058626717cde4421952f0946e51406e8,01110
+058626717cde4421952f0946e51406e8,01100
+058626717cde4421952f0946e51406e8,01090
+058626717cde4421952f0946e51406e8,01080
+058626717cde4421952f0946e51406e8,01070
+058626717cde4421952f0946e51406e8,01060
+058626717cde4421952f0946e51406e8,01040
+058626717cde4421952f0946e51406e8,01030
+058626717cde4421952f0946e51406e8,01021
+058626717cde4421952f0946e51406e8,01020
+058626717cde4421952f0946e51406e8,01014
+058626717cde4421952f0946e51406e8,01010
+070f43d4547641eaa028f3ff93b62c17,2004000106
+070f43d4547641eaa028f3ff93b62c17,2004000105
+070f43d4547641eaa028f3ff93b62c17,2004000104
+070f43d4547641eaa028f3ff93b62c17,2004000103
+070f43d4547641eaa028f3ff93b62c17,2004000102
+070f43d4547641eaa028f3ff93b62c17,2004000101
+070f43d4547641eaa028f3ff93b62c17,2004000091
+070f43d4547641eaa028f3ff93b62c17,2004000089
+070f43d4547641eaa028f3ff93b62c17,2004000088
+070f43d4547641eaa028f3ff93b62c17,2004000087
+070f43d4547641eaa028f3ff93b62c17,2004000085
+070f43d4547641eaa028f3ff93b62c17,2004000084
+070f43d4547641eaa028f3ff93b62c17,2004000083
+070f43d4547641eaa028f3ff93b62c17,2004000082
+070f43d4547641eaa028f3ff93b62c17,2004000081
+070f43d4547641eaa028f3ff93b62c17,2004000080
+070f43d4547641eaa028f3ff93b62c17,2004000079
+070f43d4547641eaa028f3ff93b62c17,2004000077
+070f43d4547641eaa028f3ff93b62c17,2004000076
+070f43d4547641eaa028f3ff93b62c17,2004000075
+070f43d4547641eaa028f3ff93b62c17,2004000074
+070f43d4547641eaa028f3ff93b62c17,2004000073
+070f43d4547641eaa028f3ff93b62c17,2004000072
+070f43d4547641eaa028f3ff93b62c17,2004000071
+070f43d4547641eaa028f3ff93b62c17,2004000070
+070f43d4547641eaa028f3ff93b62c17,2004000069
+070f43d4547641eaa028f3ff93b62c17,2004000068
+070f43d4547641eaa028f3ff93b62c17,2004000067
+070f43d4547641eaa028f3ff93b62c17,2004000066
+070f43d4547641eaa028f3ff93b62c17,2004000065
+070f43d4547641eaa028f3ff93b62c17,2004000064
+070f43d4547641eaa028f3ff93b62c17,2004000063
+070f43d4547641eaa028f3ff93b62c17,2004000062
+070f43d4547641eaa028f3ff93b62c17,2004000061
+070f43d4547641eaa028f3ff93b62c17,2004000060
+070f43d4547641eaa028f3ff93b62c17,2004000059
+070f43d4547641eaa028f3ff93b62c17,2004000058
+070f43d4547641eaa028f3ff93b62c17,2004000057
+070f43d4547641eaa028f3ff93b62c17,2004000056
+070f43d4547641eaa028f3ff93b62c17,2004000055
+070f43d4547641eaa028f3ff93b62c17,2004000054
+070f43d4547641eaa028f3ff93b62c17,2004000053
+070f43d4547641eaa028f3ff93b62c17,2004000052
+070f43d4547641eaa028f3ff93b62c17,2004000051
+070f43d4547641eaa028f3ff93b62c17,2004000050
+070f43d4547641eaa028f3ff93b62c17,2004000049
+070f43d4547641eaa028f3ff93b62c17,2004000048
+070f43d4547641eaa028f3ff93b62c17,2004000047
+070f43d4547641eaa028f3ff93b62c17,2004000046
+070f43d4547641eaa028f3ff93b62c17,2004000045
+070f43d4547641eaa028f3ff93b62c17,2004000044
+070f43d4547641eaa028f3ff93b62c17,2004000043
+070f43d4547641eaa028f3ff93b62c17,2004000042
+070f43d4547641eaa028f3ff93b62c17,2004000041
+070f43d4547641eaa028f3ff93b62c17,2004000040
+070f43d4547641eaa028f3ff93b62c17,2004000039
+070f43d4547641eaa028f3ff93b62c17,2004000037
+070f43d4547641eaa028f3ff93b62c17,2004000036
+070f43d4547641eaa028f3ff93b62c17,2004000035
+070f43d4547641eaa028f3ff93b62c17,2004000034
+070f43d4547641eaa028f3ff93b62c17,2004000033
+070f43d4547641eaa028f3ff93b62c17,2004000032
+070f43d4547641eaa028f3ff93b62c17,2004000031
+070f43d4547641eaa028f3ff93b62c17,2004000030
+070f43d4547641eaa028f3ff93b62c17,2004000029
+070f43d4547641eaa028f3ff93b62c17,2004000028
+070f43d4547641eaa028f3ff93b62c17,2004000027
+070f43d4547641eaa028f3ff93b62c17,2004000026
+070f43d4547641eaa028f3ff93b62c17,2004000025
+070f43d4547641eaa028f3ff93b62c17,2004000024
+070f43d4547641eaa028f3ff93b62c17,2004000023
+070f43d4547641eaa028f3ff93b62c17,2004000022
+070f43d4547641eaa028f3ff93b62c17,2004000021
+070f43d4547641eaa028f3ff93b62c17,2004000020
+070f43d4547641eaa028f3ff93b62c17,2004000019
+070f43d4547641eaa028f3ff93b62c17,2004000018
+070f43d4547641eaa028f3ff93b62c17,2004000017
+070f43d4547641eaa028f3ff93b62c17,2004000016
+070f43d4547641eaa028f3ff93b62c17,2004000015
+070f43d4547641eaa028f3ff93b62c17,2004000014
+070f43d4547641eaa028f3ff93b62c17,2004000013
+070f43d4547641eaa028f3ff93b62c17,2004000012
+070f43d4547641eaa028f3ff93b62c17,2004000011
+070f43d4547641eaa028f3ff93b62c17,2004000010
+070f43d4547641eaa028f3ff93b62c17,2004000009
+070f43d4547641eaa028f3ff93b62c17,2004000008
+070f43d4547641eaa028f3ff93b62c17,2004000007
+070f43d4547641eaa028f3ff93b62c17,2004000006
+070f43d4547641eaa028f3ff93b62c17,2004000005
+070f43d4547641eaa028f3ff93b62c17,2004000003
+070f43d4547641eaa028f3ff93b62c17,2004000002
+070f43d4547641eaa028f3ff93b62c17,2003030128
+070f43d4547641eaa028f3ff93b62c17,2003030117
+070f43d4547641eaa028f3ff93b62c17,2003030066
+070f43d4547641eaa028f3ff93b62c17,2003020134
+070f43d4547641eaa028f3ff93b62c17,2003020127
+070f43d4547641eaa028f3ff93b62c17,2003020089
+070f43d4547641eaa028f3ff93b62c17,2003020088
+070f43d4547641eaa028f3ff93b62c17,2003020087
+070f43d4547641eaa028f3ff93b62c17,2003020086
+070f43d4547641eaa028f3ff93b62c17,2003020085
+070f43d4547641eaa028f3ff93b62c17,2003020084
+070f43d4547641eaa028f3ff93b62c17,2003020083
+070f43d4547641eaa028f3ff93b62c17,2003020082
+070f43d4547641eaa028f3ff93b62c17,2003020081
+070f43d4547641eaa028f3ff93b62c17,2003020080
+070f43d4547641eaa028f3ff93b62c17,2003020079
+070f43d4547641eaa028f3ff93b62c17,2003020078
+070f43d4547641eaa028f3ff93b62c17,2003020077
+070f43d4547641eaa028f3ff93b62c17,2003020059
+070f43d4547641eaa028f3ff93b62c17,2003020045
+070f43d4547641eaa028f3ff93b62c17,2003020008
+070f43d4547641eaa028f3ff93b62c17,2003010161
+070f43d4547641eaa028f3ff93b62c17,2003000133
+070f43d4547641eaa028f3ff93b62c17,2003000132
+070f43d4547641eaa028f3ff93b62c17,2003000131
+070f43d4547641eaa028f3ff93b62c17,2003000130
+070f43d4547641eaa028f3ff93b62c17,2003000129
+070f43d4547641eaa028f3ff93b62c17,2003000126
+070f43d4547641eaa028f3ff93b62c17,2003000125
+070f43d4547641eaa028f3ff93b62c17,2003000124
+070f43d4547641eaa028f3ff93b62c17,2003000123
+070f43d4547641eaa028f3ff93b62c17,2003000121
+070f43d4547641eaa028f3ff93b62c17,2003000120
+070f43d4547641eaa028f3ff93b62c17,2003000119
+070f43d4547641eaa028f3ff93b62c17,2003000118
+070f43d4547641eaa028f3ff93b62c17,2003000116
+070f43d4547641eaa028f3ff93b62c17,2003000115
+070f43d4547641eaa028f3ff93b62c17,2003000114
+070f43d4547641eaa028f3ff93b62c17,2003000113
+070f43d4547641eaa028f3ff93b62c17,2003000112
+070f43d4547641eaa028f3ff93b62c17,2003000111
+070f43d4547641eaa028f3ff93b62c17,2003000110
+070f43d4547641eaa028f3ff93b62c17,2003000109
+070f43d4547641eaa028f3ff93b62c17,2003000108
+070f43d4547641eaa028f3ff93b62c17,2003000107
+070f43d4547641eaa028f3ff93b62c17,2003000106
+070f43d4547641eaa028f3ff93b62c17,2003000105
+070f43d4547641eaa028f3ff93b62c17,2003000104
+070f43d4547641eaa028f3ff93b62c17,2003000103
+070f43d4547641eaa028f3ff93b62c17,2003000102
+070f43d4547641eaa028f3ff93b62c17,2003000101
+070f43d4547641eaa028f3ff93b62c17,2003000100
+070f43d4547641eaa028f3ff93b62c17,2003000099
+070f43d4547641eaa028f3ff93b62c17,2003000098
+070f43d4547641eaa028f3ff93b62c17,2003000097
+070f43d4547641eaa028f3ff93b62c17,2003000096
+070f43d4547641eaa028f3ff93b62c17,2003000095
+070f43d4547641eaa028f3ff93b62c17,2003000094
+070f43d4547641eaa028f3ff93b62c17,2003000093
+070f43d4547641eaa028f3ff93b62c17,2003000092
+070f43d4547641eaa028f3ff93b62c17,2003000091
+070f43d4547641eaa028f3ff93b62c17,2003000090
+070f43d4547641eaa028f3ff93b62c17,2003000076
+070f43d4547641eaa028f3ff93b62c17,2003000075
+070f43d4547641eaa028f3ff93b62c17,2003000074
+070f43d4547641eaa028f3ff93b62c17,2003000073
+070f43d4547641eaa028f3ff93b62c17,2003000072
+070f43d4547641eaa028f3ff93b62c17,2003000071
+070f43d4547641eaa028f3ff93b62c17,2003000070
+070f43d4547641eaa028f3ff93b62c17,2003000069
+070f43d4547641eaa028f3ff93b62c17,2003000068
+070f43d4547641eaa028f3ff93b62c17,2003000067
+070f43d4547641eaa028f3ff93b62c17,2003000065
+070f43d4547641eaa028f3ff93b62c17,2003000064
+070f43d4547641eaa028f3ff93b62c17,2003000063
+070f43d4547641eaa028f3ff93b62c17,2003000062
+070f43d4547641eaa028f3ff93b62c17,2003000061
+070f43d4547641eaa028f3ff93b62c17,2003000060
+070f43d4547641eaa028f3ff93b62c17,2003000058
+070f43d4547641eaa028f3ff93b62c17,2003000057
+070f43d4547641eaa028f3ff93b62c17,2003000056
+070f43d4547641eaa028f3ff93b62c17,2003000055
+070f43d4547641eaa028f3ff93b62c17,2003000054
+070f43d4547641eaa028f3ff93b62c17,2003000053
+070f43d4547641eaa028f3ff93b62c17,2003000052
+070f43d4547641eaa028f3ff93b62c17,2003000051
+070f43d4547641eaa028f3ff93b62c17,2003000050
+070f43d4547641eaa028f3ff93b62c17,2003000049
+070f43d4547641eaa028f3ff93b62c17,2003000048
+070f43d4547641eaa028f3ff93b62c17,2003000047
+070f43d4547641eaa028f3ff93b62c17,2003000046
+070f43d4547641eaa028f3ff93b62c17,2003000044
+070f43d4547641eaa028f3ff93b62c17,2003000043
+070f43d4547641eaa028f3ff93b62c17,2003000042
+070f43d4547641eaa028f3ff93b62c17,2003000041
+070f43d4547641eaa028f3ff93b62c17,2003000040
+070f43d4547641eaa028f3ff93b62c17,2003000039
+070f43d4547641eaa028f3ff93b62c17,2003000038
+070f43d4547641eaa028f3ff93b62c17,2003000037
+070f43d4547641eaa028f3ff93b62c17,2003000036
+070f43d4547641eaa028f3ff93b62c17,2003000035
+070f43d4547641eaa028f3ff93b62c17,2003000034
+070f43d4547641eaa028f3ff93b62c17,2003000033
+070f43d4547641eaa028f3ff93b62c17,2003000032
+070f43d4547641eaa028f3ff93b62c17,2003000031
+070f43d4547641eaa028f3ff93b62c17,2003000030
+070f43d4547641eaa028f3ff93b62c17,2003000029
+070f43d4547641eaa028f3ff93b62c17,2003000028
+070f43d4547641eaa028f3ff93b62c17,2003000027
+070f43d4547641eaa028f3ff93b62c17,2003000026
+070f43d4547641eaa028f3ff93b62c17,2003000025
+070f43d4547641eaa028f3ff93b62c17,2003000024
+070f43d4547641eaa028f3ff93b62c17,2003000023
+070f43d4547641eaa028f3ff93b62c17,2003000022
+070f43d4547641eaa028f3ff93b62c17,2003000021
+070f43d4547641eaa028f3ff93b62c17,2003000020
+070f43d4547641eaa028f3ff93b62c17,2003000019
+070f43d4547641eaa028f3ff93b62c17,2003000018
+070f43d4547641eaa028f3ff93b62c17,2003000017
+070f43d4547641eaa028f3ff93b62c17,2003000016
+070f43d4547641eaa028f3ff93b62c17,2003000015
+070f43d4547641eaa028f3ff93b62c17,2003000014
+070f43d4547641eaa028f3ff93b62c17,2003000013
+070f43d4547641eaa028f3ff93b62c17,2003000012
+070f43d4547641eaa028f3ff93b62c17,2003000011
+070f43d4547641eaa028f3ff93b62c17,2003000010
+070f43d4547641eaa028f3ff93b62c17,2003000009
+070f43d4547641eaa028f3ff93b62c17,2003000007
+070f43d4547641eaa028f3ff93b62c17,2003000006
+070f43d4547641eaa028f3ff93b62c17,2003000005
+070f43d4547641eaa028f3ff93b62c17,2003000004
+070f43d4547641eaa028f3ff93b62c17,2003000002
+070f43d4547641eaa028f3ff93b62c17,2003000001
+070f43d4547641eaa028f3ff93b62c17,2002060088
+070f43d4547641eaa028f3ff93b62c17,2002030006
+070f43d4547641eaa028f3ff93b62c17,2002020066
+070f43d4547641eaa028f3ff93b62c17,2002020065
+070f43d4547641eaa028f3ff93b62c17,2002020057
+070f43d4547641eaa028f3ff93b62c17,2002020056
+070f43d4547641eaa028f3ff93b62c17,2002020053
+070f43d4547641eaa028f3ff93b62c17,2002020013
+070f43d4547641eaa028f3ff93b62c17,2002020012
+070f43d4547641eaa028f3ff93b62c17,2002020002
+070f43d4547641eaa028f3ff93b62c17,2002020001
+070f43d4547641eaa028f3ff93b62c17,2002000067
+070f43d4547641eaa028f3ff93b62c17,2002000064
+070f43d4547641eaa028f3ff93b62c17,2002000063
+070f43d4547641eaa028f3ff93b62c17,2002000062
+070f43d4547641eaa028f3ff93b62c17,2002000061
+070f43d4547641eaa028f3ff93b62c17,2002000060
+070f43d4547641eaa028f3ff93b62c17,2002000058
+070f43d4547641eaa028f3ff93b62c17,2002000055
+070f43d4547641eaa028f3ff93b62c17,2002000054
+070f43d4547641eaa028f3ff93b62c17,2002000052
+070f43d4547641eaa028f3ff93b62c17,2002000051
+070f43d4547641eaa028f3ff93b62c17,2002000050
+070f43d4547641eaa028f3ff93b62c17,2002000049
+070f43d4547641eaa028f3ff93b62c17,2002000048
+070f43d4547641eaa028f3ff93b62c17,2002000047
+070f43d4547641eaa028f3ff93b62c17,2002000046
+070f43d4547641eaa028f3ff93b62c17,2002000045
+070f43d4547641eaa028f3ff93b62c17,2002000044
+070f43d4547641eaa028f3ff93b62c17,2002000043
+070f43d4547641eaa028f3ff93b62c17,2002000042
+070f43d4547641eaa028f3ff93b62c17,2002000041
+070f43d4547641eaa028f3ff93b62c17,2002000040
+070f43d4547641eaa028f3ff93b62c17,2002000039
+070f43d4547641eaa028f3ff93b62c17,2002000038
+070f43d4547641eaa028f3ff93b62c17,2002000037
+070f43d4547641eaa028f3ff93b62c17,2002000036
+070f43d4547641eaa028f3ff93b62c17,2002000035
+070f43d4547641eaa028f3ff93b62c17,2002000034
+070f43d4547641eaa028f3ff93b62c17,2002000033
+070f43d4547641eaa028f3ff93b62c17,2002000032
+070f43d4547641eaa028f3ff93b62c17,2002000031
+070f43d4547641eaa028f3ff93b62c17,2002000030
+070f43d4547641eaa028f3ff93b62c17,2002000029
+070f43d4547641eaa028f3ff93b62c17,2002000028
+070f43d4547641eaa028f3ff93b62c17,2002000027
+070f43d4547641eaa028f3ff93b62c17,2002000026
+070f43d4547641eaa028f3ff93b62c17,2002000025
+070f43d4547641eaa028f3ff93b62c17,2002000024
+070f43d4547641eaa028f3ff93b62c17,2002000023
+070f43d4547641eaa028f3ff93b62c17,2002000022
+070f43d4547641eaa028f3ff93b62c17,2002000021
+070f43d4547641eaa028f3ff93b62c17,2002000020
+070f43d4547641eaa028f3ff93b62c17,2002000019
+070f43d4547641eaa028f3ff93b62c17,2002000018
+070f43d4547641eaa028f3ff93b62c17,2002000017
+070f43d4547641eaa028f3ff93b62c17,2002000016
+070f43d4547641eaa028f3ff93b62c17,2002000015
+070f43d4547641eaa028f3ff93b62c17,2002000011
+070f43d4547641eaa028f3ff93b62c17,2002000010
+070f43d4547641eaa028f3ff93b62c17,2002000009
+070f43d4547641eaa028f3ff93b62c17,2002000008
+070f43d4547641eaa028f3ff93b62c17,2002000007
+070f43d4547641eaa028f3ff93b62c17,2002000005
+070f43d4547641eaa028f3ff93b62c17,2002000004
+070f43d4547641eaa028f3ff93b62c17,2002000003
+070f43d4547641eaa028f3ff93b62c17,2001060129
+070f43d4547641eaa028f3ff93b62c17,2001030127
+070f43d4547641eaa028f3ff93b62c17,2001020098
+070f43d4547641eaa028f3ff93b62c17,2001020097
+070f43d4547641eaa028f3ff93b62c17,2001020061
+070f43d4547641eaa028f3ff93b62c17,2001020058
+070f43d4547641eaa028f3ff93b62c17,2001020056
+070f43d4547641eaa028f3ff93b62c17,2001020055
+070f43d4547641eaa028f3ff93b62c17,2001020049
+070f43d4547641eaa028f3ff93b62c17,2001020047
+070f43d4547641eaa028f3ff93b62c17,2001020039
+070f43d4547641eaa028f3ff93b62c17,2001020008
+070f43d4547641eaa028f3ff93b62c17,2001000101
+070f43d4547641eaa028f3ff93b62c17,2001000100
+070f43d4547641eaa028f3ff93b62c17,2001000096
+070f43d4547641eaa028f3ff93b62c17,2001000095
+070f43d4547641eaa028f3ff93b62c17,2001000094
+070f43d4547641eaa028f3ff93b62c17,2001000093
+070f43d4547641eaa028f3ff93b62c17,2001000092
+070f43d4547641eaa028f3ff93b62c17,2001000091
+070f43d4547641eaa028f3ff93b62c17,2001000090
+070f43d4547641eaa028f3ff93b62c17,2001000089
+070f43d4547641eaa028f3ff93b62c17,2001000088
+070f43d4547641eaa028f3ff93b62c17,2001000086
+070f43d4547641eaa028f3ff93b62c17,2001000085
+070f43d4547641eaa028f3ff93b62c17,2001000084
+070f43d4547641eaa028f3ff93b62c17,2001000083
+070f43d4547641eaa028f3ff93b62c17,2001000082
+070f43d4547641eaa028f3ff93b62c17,2001000081
+070f43d4547641eaa028f3ff93b62c17,2001000080
+070f43d4547641eaa028f3ff93b62c17,2001000079
+070f43d4547641eaa028f3ff93b62c17,2001000078
+070f43d4547641eaa028f3ff93b62c17,2001000077
+070f43d4547641eaa028f3ff93b62c17,2001000076
+070f43d4547641eaa028f3ff93b62c17,2001000075
+070f43d4547641eaa028f3ff93b62c17,2001000074
+070f43d4547641eaa028f3ff93b62c17,2001000073
+070f43d4547641eaa028f3ff93b62c17,2001000072
+070f43d4547641eaa028f3ff93b62c17,2001000071
+070f43d4547641eaa028f3ff93b62c17,2001000070
+070f43d4547641eaa028f3ff93b62c17,2001000069
+070f43d4547641eaa028f3ff93b62c17,2001000068
+070f43d4547641eaa028f3ff93b62c17,2001000067
+070f43d4547641eaa028f3ff93b62c17,2001000066
+070f43d4547641eaa028f3ff93b62c17,2001000065
+070f43d4547641eaa028f3ff93b62c17,2001000064
+070f43d4547641eaa028f3ff93b62c17,2001000063
+070f43d4547641eaa028f3ff93b62c17,2001000062
+070f43d4547641eaa028f3ff93b62c17,2001000060
+070f43d4547641eaa028f3ff93b62c17,2001000059
+070f43d4547641eaa028f3ff93b62c17,2001000057
+070f43d4547641eaa028f3ff93b62c17,2001000054
+070f43d4547641eaa028f3ff93b62c17,2001000053
+070f43d4547641eaa028f3ff93b62c17,2001000052
+070f43d4547641eaa028f3ff93b62c17,2001000051
+070f43d4547641eaa028f3ff93b62c17,2001000050
+070f43d4547641eaa028f3ff93b62c17,2001000048
+070f43d4547641eaa028f3ff93b62c17,2001000046
+070f43d4547641eaa028f3ff93b62c17,2001000045
+070f43d4547641eaa028f3ff93b62c17,2001000044
+070f43d4547641eaa028f3ff93b62c17,2001000043
+070f43d4547641eaa028f3ff93b62c17,2001000042
+070f43d4547641eaa028f3ff93b62c17,2001000040
+070f43d4547641eaa028f3ff93b62c17,2001000038
+070f43d4547641eaa028f3ff93b62c17,2001000037
+070f43d4547641eaa028f3ff93b62c17,2001000035
+070f43d4547641eaa028f3ff93b62c17,2001000034
+070f43d4547641eaa028f3ff93b62c17,2001000033
+070f43d4547641eaa028f3ff93b62c17,2001000032
+070f43d4547641eaa028f3ff93b62c17,2001000031
+070f43d4547641eaa028f3ff93b62c17,2001000030
+070f43d4547641eaa028f3ff93b62c17,2001000029
+070f43d4547641eaa028f3ff93b62c17,2001000028
+070f43d4547641eaa028f3ff93b62c17,2001000027
+070f43d4547641eaa028f3ff93b62c17,2001000026
+070f43d4547641eaa028f3ff93b62c17,2001000025
+070f43d4547641eaa028f3ff93b62c17,2001000024
+070f43d4547641eaa028f3ff93b62c17,2001000023
+070f43d4547641eaa028f3ff93b62c17,2001000022
+070f43d4547641eaa028f3ff93b62c17,2001000021
+070f43d4547641eaa028f3ff93b62c17,2001000020
+070f43d4547641eaa028f3ff93b62c17,2001000019
+070f43d4547641eaa028f3ff93b62c17,2001000018
+070f43d4547641eaa028f3ff93b62c17,2001000017
+070f43d4547641eaa028f3ff93b62c17,2001000016
+070f43d4547641eaa028f3ff93b62c17,2001000015
+070f43d4547641eaa028f3ff93b62c17,2001000014
+070f43d4547641eaa028f3ff93b62c17,2001000013
+070f43d4547641eaa028f3ff93b62c17,2001000012
+070f43d4547641eaa028f3ff93b62c17,2001000011
+070f43d4547641eaa028f3ff93b62c17,2001000010
+070f43d4547641eaa028f3ff93b62c17,2001000007
+070f43d4547641eaa028f3ff93b62c17,2001000006
+070f43d4547641eaa028f3ff93b62c17,2001000005
+070f43d4547641eaa028f3ff93b62c17,2001000004
+070f43d4547641eaa028f3ff93b62c17,2001000003
+070f43d4547641eaa028f3ff93b62c17,2001000002
+070f43d4547641eaa028f3ff93b62c17,2001000001
+070f43d4547641eaa028f3ff93b62c17,20010
+070f43d4547641eaa028f3ff93b62c17,2000060101
+070f43d4547641eaa028f3ff93b62c17,2000010009
+070f43d4547641eaa028f3ff93b62c17,2000000082
+070f43d4547641eaa028f3ff93b62c17,2000000081
+070f43d4547641eaa028f3ff93b62c17,2000000080
+070f43d4547641eaa028f3ff93b62c17,2000000078
+070f43d4547641eaa028f3ff93b62c17,2000000077
+070f43d4547641eaa028f3ff93b62c17,2000000076
+070f43d4547641eaa028f3ff93b62c17,2000000075
+070f43d4547641eaa028f3ff93b62c17,2000000074
+070f43d4547641eaa028f3ff93b62c17,2000000073
+070f43d4547641eaa028f3ff93b62c17,2000000072
+070f43d4547641eaa028f3ff93b62c17,2000000071
+070f43d4547641eaa028f3ff93b62c17,2000000070
+070f43d4547641eaa028f3ff93b62c17,2000000069
+070f43d4547641eaa028f3ff93b62c17,2000000068
+070f43d4547641eaa028f3ff93b62c17,2000000066
+070f43d4547641eaa028f3ff93b62c17,2000000065
+070f43d4547641eaa028f3ff93b62c17,2000000064
+070f43d4547641eaa028f3ff93b62c17,2000000063
+070f43d4547641eaa028f3ff93b62c17,2000000061
+070f43d4547641eaa028f3ff93b62c17,2000000060
+070f43d4547641eaa028f3ff93b62c17,2000000059
+070f43d4547641eaa028f3ff93b62c17,2000000058
+070f43d4547641eaa028f3ff93b62c17,2000000057
+070f43d4547641eaa028f3ff93b62c17,2000000056
+070f43d4547641eaa028f3ff93b62c17,2000000055
+070f43d4547641eaa028f3ff93b62c17,2000000054
+070f43d4547641eaa028f3ff93b62c17,2000000053
+070f43d4547641eaa028f3ff93b62c17,2000000052
+070f43d4547641eaa028f3ff93b62c17,2000000051
+070f43d4547641eaa028f3ff93b62c17,2000000050
+070f43d4547641eaa028f3ff93b62c17,2000000049
+070f43d4547641eaa028f3ff93b62c17,2000000048
+070f43d4547641eaa028f3ff93b62c17,2000000047
+070f43d4547641eaa028f3ff93b62c17,2000000046
+070f43d4547641eaa028f3ff93b62c17,2000000045
+070f43d4547641eaa028f3ff93b62c17,2000000044
+070f43d4547641eaa028f3ff93b62c17,2000000043
+070f43d4547641eaa028f3ff93b62c17,2000000042
+070f43d4547641eaa028f3ff93b62c17,2000000041
+070f43d4547641eaa028f3ff93b62c17,2000000039
+070f43d4547641eaa028f3ff93b62c17,2000000038
+070f43d4547641eaa028f3ff93b62c17,2000000037
+070f43d4547641eaa028f3ff93b62c17,2000000036
+070f43d4547641eaa028f3ff93b62c17,2000000035
+070f43d4547641eaa028f3ff93b62c17,2000000034
+070f43d4547641eaa028f3ff93b62c17,2000000033
+070f43d4547641eaa028f3ff93b62c17,2000000032
+070f43d4547641eaa028f3ff93b62c17,2000000031
+070f43d4547641eaa028f3ff93b62c17,2000000030
+070f43d4547641eaa028f3ff93b62c17,2000000029
+070f43d4547641eaa028f3ff93b62c17,2000000028
+070f43d4547641eaa028f3ff93b62c17,2000000027
+070f43d4547641eaa028f3ff93b62c17,2000000026
+070f43d4547641eaa028f3ff93b62c17,2000000025
+070f43d4547641eaa028f3ff93b62c17,2000000024
+070f43d4547641eaa028f3ff93b62c17,2000000023
+070f43d4547641eaa028f3ff93b62c17,2000000022
+070f43d4547641eaa028f3ff93b62c17,2000000021
+070f43d4547641eaa028f3ff93b62c17,2000000020
+070f43d4547641eaa028f3ff93b62c17,2000000019
+070f43d4547641eaa028f3ff93b62c17,2000000018
+070f43d4547641eaa028f3ff93b62c17,2000000017
+070f43d4547641eaa028f3ff93b62c17,2000000016
+070f43d4547641eaa028f3ff93b62c17,2000000015
+070f43d4547641eaa028f3ff93b62c17,2000000014
+070f43d4547641eaa028f3ff93b62c17,2000000013
+070f43d4547641eaa028f3ff93b62c17,2000000012
+070f43d4547641eaa028f3ff93b62c17,2000000011
+070f43d4547641eaa028f3ff93b62c17,2000000010
+070f43d4547641eaa028f3ff93b62c17,2000000007
+070f43d4547641eaa028f3ff93b62c17,2000000006
+070f43d4547641eaa028f3ff93b62c17,2000000005
+070f43d4547641eaa028f3ff93b62c17,2000000004
+070f43d4547641eaa028f3ff93b62c17,2000000003
+070f43d4547641eaa028f3ff93b62c17,2000000001
+070f43d4547641eaa028f3ff93b62c17,1999000061
+070f43d4547641eaa028f3ff93b62c17,1999000060
+070f43d4547641eaa028f3ff93b62c17,1999000059
+070f43d4547641eaa028f3ff93b62c17,1999000058
+070f43d4547641eaa028f3ff93b62c17,1999000057
+070f43d4547641eaa028f3ff93b62c17,1999000056
+070f43d4547641eaa028f3ff93b62c17,1999000055
+070f43d4547641eaa028f3ff93b62c17,1999000054
+070f43d4547641eaa028f3ff93b62c17,1999000053
+070f43d4547641eaa028f3ff93b62c17,1999000052
+070f43d4547641eaa028f3ff93b62c17,1999000051
+070f43d4547641eaa028f3ff93b62c17,1999000050
+070f43d4547641eaa028f3ff93b62c17,1999000049
+070f43d4547641eaa028f3ff93b62c17,1999000048
+070f43d4547641eaa028f3ff93b62c17,1999000047
+070f43d4547641eaa028f3ff93b62c17,1999000046
+070f43d4547641eaa028f3ff93b62c17,1999000045
+070f43d4547641eaa028f3ff93b62c17,1999000044
+070f43d4547641eaa028f3ff93b62c17,1999000043
+070f43d4547641eaa028f3ff93b62c17,1999000042
+070f43d4547641eaa028f3ff93b62c17,1999000041
+070f43d4547641eaa028f3ff93b62c17,1999000040
+070f43d4547641eaa028f3ff93b62c17,1999000039
+070f43d4547641eaa028f3ff93b62c17,1999000038
+070f43d4547641eaa028f3ff93b62c17,1999000037
+070f43d4547641eaa028f3ff93b62c17,1999000036
+070f43d4547641eaa028f3ff93b62c17,1999000035
+070f43d4547641eaa028f3ff93b62c17,1999000034
+070f43d4547641eaa028f3ff93b62c17,1999000033
+070f43d4547641eaa028f3ff93b62c17,1999000032
+070f43d4547641eaa028f3ff93b62c17,1999000031
+070f43d4547641eaa028f3ff93b62c17,1999000030
+070f43d4547641eaa028f3ff93b62c17,1999000029
+070f43d4547641eaa028f3ff93b62c17,1999000028
+070f43d4547641eaa028f3ff93b62c17,1999000027
+070f43d4547641eaa028f3ff93b62c17,1999000026
+070f43d4547641eaa028f3ff93b62c17,1999000025
+070f43d4547641eaa028f3ff93b62c17,1999000024
+070f43d4547641eaa028f3ff93b62c17,1999000023
+070f43d4547641eaa028f3ff93b62c17,1999000022
+070f43d4547641eaa028f3ff93b62c17,1999000021
+070f43d4547641eaa028f3ff93b62c17,1999000020
+070f43d4547641eaa028f3ff93b62c17,1999000019
+070f43d4547641eaa028f3ff93b62c17,1999000018
+070f43d4547641eaa028f3ff93b62c17,1999000017
+070f43d4547641eaa028f3ff93b62c17,1999000016
+070f43d4547641eaa028f3ff93b62c17,1999000015
+070f43d4547641eaa028f3ff93b62c17,1999000013
+070f43d4547641eaa028f3ff93b62c17,1999000012
+070f43d4547641eaa028f3ff93b62c17,1999000011
+070f43d4547641eaa028f3ff93b62c17,1999000010
+070f43d4547641eaa028f3ff93b62c17,1999000009
+070f43d4547641eaa028f3ff93b62c17,1999000008
+070f43d4547641eaa028f3ff93b62c17,1999000007
+070f43d4547641eaa028f3ff93b62c17,1999000006
+070f43d4547641eaa028f3ff93b62c17,1999000005
+070f43d4547641eaa028f3ff93b62c17,1999000004
+070f43d4547641eaa028f3ff93b62c17,1999000002
+070f43d4547641eaa028f3ff93b62c17,1999000001
+070f43d4547641eaa028f3ff93b62c17,1998010058
+070f43d4547641eaa028f3ff93b62c17,1998010054
+070f43d4547641eaa028f3ff93b62c17,1998000059
+070f43d4547641eaa028f3ff93b62c17,1998000055
+070f43d4547641eaa028f3ff93b62c17,1998000052
+070f43d4547641eaa028f3ff93b62c17,1998000051
+070f43d4547641eaa028f3ff93b62c17,1998000050
+070f43d4547641eaa028f3ff93b62c17,1998000049
+070f43d4547641eaa028f3ff93b62c17,1998000048
+070f43d4547641eaa028f3ff93b62c17,1998000047
+070f43d4547641eaa028f3ff93b62c17,1998000045
+070f43d4547641eaa028f3ff93b62c17,1998000044
+070f43d4547641eaa028f3ff93b62c17,1998000043
+070f43d4547641eaa028f3ff93b62c17,1998000042
+070f43d4547641eaa028f3ff93b62c17,1998000041
+070f43d4547641eaa028f3ff93b62c17,1998000040
+070f43d4547641eaa028f3ff93b62c17,1998000039
+070f43d4547641eaa028f3ff93b62c17,1998000038
+070f43d4547641eaa028f3ff93b62c17,1998000037
+070f43d4547641eaa028f3ff93b62c17,1998000036
+070f43d4547641eaa028f3ff93b62c17,1998000035
+070f43d4547641eaa028f3ff93b62c17,1998000034
+070f43d4547641eaa028f3ff93b62c17,1998000033
+070f43d4547641eaa028f3ff93b62c17,1998000032
+070f43d4547641eaa028f3ff93b62c17,1998000031
+070f43d4547641eaa028f3ff93b62c17,1998000030
+070f43d4547641eaa028f3ff93b62c17,1998000029
+070f43d4547641eaa028f3ff93b62c17,1998000028
+070f43d4547641eaa028f3ff93b62c17,1998000027
+070f43d4547641eaa028f3ff93b62c17,1998000026
+070f43d4547641eaa028f3ff93b62c17,1998000025
+070f43d4547641eaa028f3ff93b62c17,1998000024
+070f43d4547641eaa028f3ff93b62c17,1998000023
+070f43d4547641eaa028f3ff93b62c17,1998000022
+070f43d4547641eaa028f3ff93b62c17,1998000021
+070f43d4547641eaa028f3ff93b62c17,1998000020
+070f43d4547641eaa028f3ff93b62c17,1998000019
+070f43d4547641eaa028f3ff93b62c17,1998000018
+070f43d4547641eaa028f3ff93b62c17,1998000017
+070f43d4547641eaa028f3ff93b62c17,1998000016
+070f43d4547641eaa028f3ff93b62c17,1998000015
+070f43d4547641eaa028f3ff93b62c17,1998000014
+070f43d4547641eaa028f3ff93b62c17,1998000013
+070f43d4547641eaa028f3ff93b62c17,1998000012
+070f43d4547641eaa028f3ff93b62c17,1998000011
+070f43d4547641eaa028f3ff93b62c17,1998000010
+070f43d4547641eaa028f3ff93b62c17,1998000009
+070f43d4547641eaa028f3ff93b62c17,1998000008
+070f43d4547641eaa028f3ff93b62c17,1998000007
+070f43d4547641eaa028f3ff93b62c17,1998000005
+070f43d4547641eaa028f3ff93b62c17,1998000003
+070f43d4547641eaa028f3ff93b62c17,1998000001
+070f43d4547641eaa028f3ff93b62c17,1997010109
+070f43d4547641eaa028f3ff93b62c17,1997010108
+070f43d4547641eaa028f3ff93b62c17,1997010105
+070f43d4547641eaa028f3ff93b62c17,1997010104
+070f43d4547641eaa028f3ff93b62c17,1997010103
+070f43d4547641eaa028f3ff93b62c17,1997010102
+070f43d4547641eaa028f3ff93b62c17,1997010078
+070f43d4547641eaa028f3ff93b62c17,1997010077
+070f43d4547641eaa028f3ff93b62c17,1997010074
+070f43d4547641eaa028f3ff93b62c17,1997010065
+070f43d4547641eaa028f3ff93b62c17,1997010053
+070f43d4547641eaa028f3ff93b62c17,1997010024
+070f43d4547641eaa028f3ff93b62c17,1997010022
+070f43d4547641eaa028f3ff93b62c17,1997000107
+070f43d4547641eaa028f3ff93b62c17,1997000106
+070f43d4547641eaa028f3ff93b62c17,1997000101
+070f43d4547641eaa028f3ff93b62c17,1997000100
+070f43d4547641eaa028f3ff93b62c17,1997000099
+070f43d4547641eaa028f3ff93b62c17,1997000098
+070f43d4547641eaa028f3ff93b62c17,1997000097
+070f43d4547641eaa028f3ff93b62c17,1997000096
+070f43d4547641eaa028f3ff93b62c17,1997000095
+070f43d4547641eaa028f3ff93b62c17,1997000093
+070f43d4547641eaa028f3ff93b62c17,1997000092
+070f43d4547641eaa028f3ff93b62c17,1997000091
+070f43d4547641eaa028f3ff93b62c17,1997000090
+070f43d4547641eaa028f3ff93b62c17,1997000089
+070f43d4547641eaa028f3ff93b62c17,1997000088
+070f43d4547641eaa028f3ff93b62c17,1997000086
+070f43d4547641eaa028f3ff93b62c17,1997000085
+070f43d4547641eaa028f3ff93b62c17,1997000084
+070f43d4547641eaa028f3ff93b62c17,1997000083
+070f43d4547641eaa028f3ff93b62c17,1997000082
+070f43d4547641eaa028f3ff93b62c17,1997000081
+070f43d4547641eaa028f3ff93b62c17,1997000080
+070f43d4547641eaa028f3ff93b62c17,1997000079
+070f43d4547641eaa028f3ff93b62c17,1997000076
+070f43d4547641eaa028f3ff93b62c17,1997000075
+070f43d4547641eaa028f3ff93b62c17,1997000073
+070f43d4547641eaa028f3ff93b62c17,1997000072
+070f43d4547641eaa028f3ff93b62c17,1997000071
+070f43d4547641eaa028f3ff93b62c17,1997000070
+070f43d4547641eaa028f3ff93b62c17,1997000069
+070f43d4547641eaa028f3ff93b62c17,1997000068
+070f43d4547641eaa028f3ff93b62c17,1997000067
+070f43d4547641eaa028f3ff93b62c17,1997000066
+070f43d4547641eaa028f3ff93b62c17,1997000064
+070f43d4547641eaa028f3ff93b62c17,1997000063
+070f43d4547641eaa028f3ff93b62c17,1997000062
+070f43d4547641eaa028f3ff93b62c17,1997000061
+070f43d4547641eaa028f3ff93b62c17,1997000060
+070f43d4547641eaa028f3ff93b62c17,1997000058
+070f43d4547641eaa028f3ff93b62c17,1997000057
+070f43d4547641eaa028f3ff93b62c17,1997000056
+070f43d4547641eaa028f3ff93b62c17,1997000055
+070f43d4547641eaa028f3ff93b62c17,1997000054
+070f43d4547641eaa028f3ff93b62c17,1997000052
+070f43d4547641eaa028f3ff93b62c17,1997000050
+070f43d4547641eaa028f3ff93b62c17,1997000048
+070f43d4547641eaa028f3ff93b62c17,1997000047
+070f43d4547641eaa028f3ff93b62c17,1997000046
+070f43d4547641eaa028f3ff93b62c17,1997000045
+070f43d4547641eaa028f3ff93b62c17,1997000044
+070f43d4547641eaa028f3ff93b62c17,1997000043
+070f43d4547641eaa028f3ff93b62c17,1997000042
+070f43d4547641eaa028f3ff93b62c17,1997000041
+070f43d4547641eaa028f3ff93b62c17,1997000040
+070f43d4547641eaa028f3ff93b62c17,1997000039
+070f43d4547641eaa028f3ff93b62c17,1997000038
+070f43d4547641eaa028f3ff93b62c17,1997000036
+070f43d4547641eaa028f3ff93b62c17,1997000035
+070f43d4547641eaa028f3ff93b62c17,1997000034
+070f43d4547641eaa028f3ff93b62c17,1997000033
+070f43d4547641eaa028f3ff93b62c17,1997000032
+070f43d4547641eaa028f3ff93b62c17,1997000031
+070f43d4547641eaa028f3ff93b62c17,1997000030
+070f43d4547641eaa028f3ff93b62c17,1997000029
+070f43d4547641eaa028f3ff93b62c17,1997000028
+070f43d4547641eaa028f3ff93b62c17,1997000026
+070f43d4547641eaa028f3ff93b62c17,1997000023
+070f43d4547641eaa028f3ff93b62c17,1997000019
+070f43d4547641eaa028f3ff93b62c17,1997000018
+070f43d4547641eaa028f3ff93b62c17,1997000017
+070f43d4547641eaa028f3ff93b62c17,1997000016
+070f43d4547641eaa028f3ff93b62c17,1997000015
+070f43d4547641eaa028f3ff93b62c17,1997000014
+070f43d4547641eaa028f3ff93b62c17,1997000013
+070f43d4547641eaa028f3ff93b62c17,1997000012
+070f43d4547641eaa028f3ff93b62c17,1997000010
+070f43d4547641eaa028f3ff93b62c17,1997000009
+070f43d4547641eaa028f3ff93b62c17,1997000007
+070f43d4547641eaa028f3ff93b62c17,1997000006
+070f43d4547641eaa028f3ff93b62c17,1997000005
+070f43d4547641eaa028f3ff93b62c17,1997000004
+070f43d4547641eaa028f3ff93b62c17,1997000003
+070f43d4547641eaa028f3ff93b62c17,1997000002
+070f43d4547641eaa028f3ff93b62c17,1997000001
+070f43d4547641eaa028f3ff93b62c17,1996010109
+070f43d4547641eaa028f3ff93b62c17,1996010106
+070f43d4547641eaa028f3ff93b62c17,1996010103
+070f43d4547641eaa028f3ff93b62c17,1996010098
+070f43d4547641eaa028f3ff93b62c17,1996010097
+070f43d4547641eaa028f3ff93b62c17,1996010089
+070f43d4547641eaa028f3ff93b62c17,1996010085
+070f43d4547641eaa028f3ff93b62c17,1996010078
+070f43d4547641eaa028f3ff93b62c17,1996010077
+070f43d4547641eaa028f3ff93b62c17,1996010076
+070f43d4547641eaa028f3ff93b62c17,1996000112
+070f43d4547641eaa028f3ff93b62c17,1996000111
+070f43d4547641eaa028f3ff93b62c17,1996000110
+070f43d4547641eaa028f3ff93b62c17,1996000108
+070f43d4547641eaa028f3ff93b62c17,1996000107
+070f43d4547641eaa028f3ff93b62c17,1996000105
+070f43d4547641eaa028f3ff93b62c17,1996000104
+070f43d4547641eaa028f3ff93b62c17,1996000102
+070f43d4547641eaa028f3ff93b62c17,1996000101
+070f43d4547641eaa028f3ff93b62c17,1996000100
+070f43d4547641eaa028f3ff93b62c17,1996000094
+070f43d4547641eaa028f3ff93b62c17,1996000093
+070f43d4547641eaa028f3ff93b62c17,1996000092
+070f43d4547641eaa028f3ff93b62c17,1996000091
+070f43d4547641eaa028f3ff93b62c17,1996000088
+070f43d4547641eaa028f3ff93b62c17,1996000087
+070f43d4547641eaa028f3ff93b62c17,1996000086
+070f43d4547641eaa028f3ff93b62c17,1996000084
+070f43d4547641eaa028f3ff93b62c17,1996000083
+070f43d4547641eaa028f3ff93b62c17,1996000082
+070f43d4547641eaa028f3ff93b62c17,1996000081
+070f43d4547641eaa028f3ff93b62c17,1996000080
+070f43d4547641eaa028f3ff93b62c17,1996000079
+070f43d4547641eaa028f3ff93b62c17,1996000075
+070f43d4547641eaa028f3ff93b62c17,1996000074
+070f43d4547641eaa028f3ff93b62c17,1996000073
+070f43d4547641eaa028f3ff93b62c17,1996000072
+070f43d4547641eaa028f3ff93b62c17,1996000071
+070f43d4547641eaa028f3ff93b62c17,1996000070
+070f43d4547641eaa028f3ff93b62c17,1996000069
+070f43d4547641eaa028f3ff93b62c17,1996000068
+070f43d4547641eaa028f3ff93b62c17,1996000067
+070f43d4547641eaa028f3ff93b62c17,1996000066
+070f43d4547641eaa028f3ff93b62c17,1996000065
+070f43d4547641eaa028f3ff93b62c17,1996000064
+070f43d4547641eaa028f3ff93b62c17,1996000063
+070f43d4547641eaa028f3ff93b62c17,1996000062
+070f43d4547641eaa028f3ff93b62c17,1996000060
+070f43d4547641eaa028f3ff93b62c17,1996000059
+070f43d4547641eaa028f3ff93b62c17,1996000058
+070f43d4547641eaa028f3ff93b62c17,1996000057
+070f43d4547641eaa028f3ff93b62c17,1996000056
+070f43d4547641eaa028f3ff93b62c17,1996000055
+070f43d4547641eaa028f3ff93b62c17,1996000054
+070f43d4547641eaa028f3ff93b62c17,1996000053
+070f43d4547641eaa028f3ff93b62c17,1996000052
+070f43d4547641eaa028f3ff93b62c17,1996000051
+070f43d4547641eaa028f3ff93b62c17,1996000050
+070f43d4547641eaa028f3ff93b62c17,1996000049
+070f43d4547641eaa028f3ff93b62c17,1996000048
+070f43d4547641eaa028f3ff93b62c17,1996000047
+070f43d4547641eaa028f3ff93b62c17,1996000046
+070f43d4547641eaa028f3ff93b62c17,1996000045
+070f43d4547641eaa028f3ff93b62c17,1996000044
+070f43d4547641eaa028f3ff93b62c17,1996000043
+070f43d4547641eaa028f3ff93b62c17,1996000042
+070f43d4547641eaa028f3ff93b62c17,1996000041
+070f43d4547641eaa028f3ff93b62c17,1996000040
+070f43d4547641eaa028f3ff93b62c17,1996000039
+070f43d4547641eaa028f3ff93b62c17,1996000038
+070f43d4547641eaa028f3ff93b62c17,1996000037
+070f43d4547641eaa028f3ff93b62c17,1996000036
+070f43d4547641eaa028f3ff93b62c17,1996000035
+070f43d4547641eaa028f3ff93b62c17,1996000034
+070f43d4547641eaa028f3ff93b62c17,1996000033
+070f43d4547641eaa028f3ff93b62c17,1996000032
+070f43d4547641eaa028f3ff93b62c17,1996000030
+070f43d4547641eaa028f3ff93b62c17,1996000029
+070f43d4547641eaa028f3ff93b62c17,1996000028
+070f43d4547641eaa028f3ff93b62c17,1996000027
+070f43d4547641eaa028f3ff93b62c17,1996000026
+070f43d4547641eaa028f3ff93b62c17,1996000025
+070f43d4547641eaa028f3ff93b62c17,1996000022
+070f43d4547641eaa028f3ff93b62c17,1996000021
+070f43d4547641eaa028f3ff93b62c17,1996000020
+070f43d4547641eaa028f3ff93b62c17,1996000019
+070f43d4547641eaa028f3ff93b62c17,1996000018
+070f43d4547641eaa028f3ff93b62c17,1996000017
+070f43d4547641eaa028f3ff93b62c17,1996000016
+070f43d4547641eaa028f3ff93b62c17,1996000015
+070f43d4547641eaa028f3ff93b62c17,1996000014
+070f43d4547641eaa028f3ff93b62c17,1996000013
+070f43d4547641eaa028f3ff93b62c17,1996000012
+070f43d4547641eaa028f3ff93b62c17,1996000011
+070f43d4547641eaa028f3ff93b62c17,1996000010
+070f43d4547641eaa028f3ff93b62c17,1996000009
+070f43d4547641eaa028f3ff93b62c17,1996000008
+070f43d4547641eaa028f3ff93b62c17,1996000006
+070f43d4547641eaa028f3ff93b62c17,1996000005
+070f43d4547641eaa028f3ff93b62c17,1996000003
+070f43d4547641eaa028f3ff93b62c17,1996000002
+070f43d4547641eaa028f3ff93b62c17,1996000001
+070f43d4547641eaa028f3ff93b62c17,1995010136
+070f43d4547641eaa028f3ff93b62c17,1995010134
+070f43d4547641eaa028f3ff93b62c17,1995010046
+070f43d4547641eaa028f3ff93b62c17,1995010028
+070f43d4547641eaa028f3ff93b62c17,1995010027
+070f43d4547641eaa028f3ff93b62c17,1995010026
+070f43d4547641eaa028f3ff93b62c17,1995010021
+070f43d4547641eaa028f3ff93b62c17,1995010019
+070f43d4547641eaa028f3ff93b62c17,1995010018
+070f43d4547641eaa028f3ff93b62c17,1995010017
+070f43d4547641eaa028f3ff93b62c17,1995010012
+070f43d4547641eaa028f3ff93b62c17,1995000147
+070f43d4547641eaa028f3ff93b62c17,1995000146
+070f43d4547641eaa028f3ff93b62c17,1995000145
+070f43d4547641eaa028f3ff93b62c17,1995000143
+070f43d4547641eaa028f3ff93b62c17,1995000142
+070f43d4547641eaa028f3ff93b62c17,1995000140
+070f43d4547641eaa028f3ff93b62c17,1995000139
+070f43d4547641eaa028f3ff93b62c17,1995000137
+070f43d4547641eaa028f3ff93b62c17,1995000135
+070f43d4547641eaa028f3ff93b62c17,1995000133
+070f43d4547641eaa028f3ff93b62c17,1995000132
+070f43d4547641eaa028f3ff93b62c17,1995000131
+070f43d4547641eaa028f3ff93b62c17,1995000130
+070f43d4547641eaa028f3ff93b62c17,1995000128
+070f43d4547641eaa028f3ff93b62c17,1995000127
+070f43d4547641eaa028f3ff93b62c17,1995000125
+070f43d4547641eaa028f3ff93b62c17,1995000124
+070f43d4547641eaa028f3ff93b62c17,1995000123
+070f43d4547641eaa028f3ff93b62c17,1995000122
+070f43d4547641eaa028f3ff93b62c17,1995000121
+070f43d4547641eaa028f3ff93b62c17,1995000120
+070f43d4547641eaa028f3ff93b62c17,1995000119
+070f43d4547641eaa028f3ff93b62c17,1995000118
+070f43d4547641eaa028f3ff93b62c17,1995000117
+070f43d4547641eaa028f3ff93b62c17,1995000116
+070f43d4547641eaa028f3ff93b62c17,1995000115
+070f43d4547641eaa028f3ff93b62c17,1995000114
+070f43d4547641eaa028f3ff93b62c17,1995000113
+070f43d4547641eaa028f3ff93b62c17,1995000112
+070f43d4547641eaa028f3ff93b62c17,1995000111
+070f43d4547641eaa028f3ff93b62c17,1995000110
+070f43d4547641eaa028f3ff93b62c17,1995000109
+070f43d4547641eaa028f3ff93b62c17,1995000108
+070f43d4547641eaa028f3ff93b62c17,1995000107
+070f43d4547641eaa028f3ff93b62c17,1995000106
+070f43d4547641eaa028f3ff93b62c17,1995000105
+070f43d4547641eaa028f3ff93b62c17,1995000103
+070f43d4547641eaa028f3ff93b62c17,1995000102
+070f43d4547641eaa028f3ff93b62c17,1995000101
+070f43d4547641eaa028f3ff93b62c17,1995000100
+070f43d4547641eaa028f3ff93b62c17,1995000099
+070f43d4547641eaa028f3ff93b62c17,1995000098
+070f43d4547641eaa028f3ff93b62c17,1995000097
+070f43d4547641eaa028f3ff93b62c17,1995000096
+070f43d4547641eaa028f3ff93b62c17,1995000095
+070f43d4547641eaa028f3ff93b62c17,1995000094
+070f43d4547641eaa028f3ff93b62c17,1995000093
+070f43d4547641eaa028f3ff93b62c17,1995000092
+070f43d4547641eaa028f3ff93b62c17,1995000091
+070f43d4547641eaa028f3ff93b62c17,1995000090
+070f43d4547641eaa028f3ff93b62c17,1995000089
+070f43d4547641eaa028f3ff93b62c17,1995000088
+070f43d4547641eaa028f3ff93b62c17,1995000087
+070f43d4547641eaa028f3ff93b62c17,1995000086
+070f43d4547641eaa028f3ff93b62c17,1995000085
+070f43d4547641eaa028f3ff93b62c17,1995000084
+070f43d4547641eaa028f3ff93b62c17,1995000083
+070f43d4547641eaa028f3ff93b62c17,1995000082
+070f43d4547641eaa028f3ff93b62c17,1995000081
+070f43d4547641eaa028f3ff93b62c17,1995000079
+070f43d4547641eaa028f3ff93b62c17,1995000078
+070f43d4547641eaa028f3ff93b62c17,1995000077
+070f43d4547641eaa028f3ff93b62c17,1995000076
+070f43d4547641eaa028f3ff93b62c17,1995000075
+070f43d4547641eaa028f3ff93b62c17,1995000074
+070f43d4547641eaa028f3ff93b62c17,1995000073
+070f43d4547641eaa028f3ff93b62c17,1995000072
+070f43d4547641eaa028f3ff93b62c17,1995000071
+070f43d4547641eaa028f3ff93b62c17,1995000070
+070f43d4547641eaa028f3ff93b62c17,1995000069
+070f43d4547641eaa028f3ff93b62c17,1995000068
+070f43d4547641eaa028f3ff93b62c17,1995000067
+070f43d4547641eaa028f3ff93b62c17,1995000066
+070f43d4547641eaa028f3ff93b62c17,1995000065
+070f43d4547641eaa028f3ff93b62c17,1995000064
+070f43d4547641eaa028f3ff93b62c17,1995000063
+070f43d4547641eaa028f3ff93b62c17,1995000062
+070f43d4547641eaa028f3ff93b62c17,1995000061
+070f43d4547641eaa028f3ff93b62c17,1995000060
+070f43d4547641eaa028f3ff93b62c17,1995000059
+070f43d4547641eaa028f3ff93b62c17,1995000057
+070f43d4547641eaa028f3ff93b62c17,1995000056
+070f43d4547641eaa028f3ff93b62c17,1995000055
+070f43d4547641eaa028f3ff93b62c17,1995000054
+070f43d4547641eaa028f3ff93b62c17,1995000052
+070f43d4547641eaa028f3ff93b62c17,1995000050
+070f43d4547641eaa028f3ff93b62c17,1995000049
+070f43d4547641eaa028f3ff93b62c17,1995000048
+070f43d4547641eaa028f3ff93b62c17,1995000047
+070f43d4547641eaa028f3ff93b62c17,1995000045
+070f43d4547641eaa028f3ff93b62c17,1995000044
+070f43d4547641eaa028f3ff93b62c17,1995000043
+070f43d4547641eaa028f3ff93b62c17,1995000042
+070f43d4547641eaa028f3ff93b62c17,1995000041
+070f43d4547641eaa028f3ff93b62c17,1995000040
+070f43d4547641eaa028f3ff93b62c17,1995000039
+070f43d4547641eaa028f3ff93b62c17,1995000038
+070f43d4547641eaa028f3ff93b62c17,1995000036
+070f43d4547641eaa028f3ff93b62c17,1995000035
+070f43d4547641eaa028f3ff93b62c17,1995000034
+070f43d4547641eaa028f3ff93b62c17,1995000033
+070f43d4547641eaa028f3ff93b62c17,1995000032
+070f43d4547641eaa028f3ff93b62c17,1995000031
+070f43d4547641eaa028f3ff93b62c17,1995000030
+070f43d4547641eaa028f3ff93b62c17,1995000029
+070f43d4547641eaa028f3ff93b62c17,1995000025
+070f43d4547641eaa028f3ff93b62c17,1995000024
+070f43d4547641eaa028f3ff93b62c17,1995000023
+070f43d4547641eaa028f3ff93b62c17,1995000020
+070f43d4547641eaa028f3ff93b62c17,1995000016
+070f43d4547641eaa028f3ff93b62c17,1995000015
+070f43d4547641eaa028f3ff93b62c17,1995000013
+070f43d4547641eaa028f3ff93b62c17,1995000011
+070f43d4547641eaa028f3ff93b62c17,1995000008
+070f43d4547641eaa028f3ff93b62c17,1995000007
+070f43d4547641eaa028f3ff93b62c17,1995000004
+070f43d4547641eaa028f3ff93b62c17,1995000003
+070f43d4547641eaa028f3ff93b62c17,1995000002
+070f43d4547641eaa028f3ff93b62c17,1995000001
+070f43d4547641eaa028f3ff93b62c17,1994010102
+070f43d4547641eaa028f3ff93b62c17,1994010093
+070f43d4547641eaa028f3ff93b62c17,1994000103
+070f43d4547641eaa028f3ff93b62c17,1994000098
+070f43d4547641eaa028f3ff93b62c17,1994000097
+070f43d4547641eaa028f3ff93b62c17,1994000094
+070f43d4547641eaa028f3ff93b62c17,1994000092
+070f43d4547641eaa028f3ff93b62c17,1994000091
+070f43d4547641eaa028f3ff93b62c17,1994000089
+070f43d4547641eaa028f3ff93b62c17,1994000088
+070f43d4547641eaa028f3ff93b62c17,1994000087
+070f43d4547641eaa028f3ff93b62c17,1994000084
+070f43d4547641eaa028f3ff93b62c17,1994000083
+070f43d4547641eaa028f3ff93b62c17,1994000082
+070f43d4547641eaa028f3ff93b62c17,1994000081
+070f43d4547641eaa028f3ff93b62c17,1994000080
+070f43d4547641eaa028f3ff93b62c17,1994000079
+070f43d4547641eaa028f3ff93b62c17,1994000078
+070f43d4547641eaa028f3ff93b62c17,1994000077
+070f43d4547641eaa028f3ff93b62c17,1994000076
+070f43d4547641eaa028f3ff93b62c17,1994000075
+070f43d4547641eaa028f3ff93b62c17,1994000074
+070f43d4547641eaa028f3ff93b62c17,1994000073
+070f43d4547641eaa028f3ff93b62c17,1994000072
+070f43d4547641eaa028f3ff93b62c17,1994000071
+070f43d4547641eaa028f3ff93b62c17,1994000070
+070f43d4547641eaa028f3ff93b62c17,1994000069
+070f43d4547641eaa028f3ff93b62c17,1994000068
+070f43d4547641eaa028f3ff93b62c17,1994000067
+070f43d4547641eaa028f3ff93b62c17,1994000066
+070f43d4547641eaa028f3ff93b62c17,1994000065
+070f43d4547641eaa028f3ff93b62c17,1994000064
+070f43d4547641eaa028f3ff93b62c17,1994000063
+070f43d4547641eaa028f3ff93b62c17,1994000062
+070f43d4547641eaa028f3ff93b62c17,1994000061
+070f43d4547641eaa028f3ff93b62c17,1994000060
+070f43d4547641eaa028f3ff93b62c17,1994000059
+070f43d4547641eaa028f3ff93b62c17,1994000058
+070f43d4547641eaa028f3ff93b62c17,1994000057
+070f43d4547641eaa028f3ff93b62c17,1994000056
+070f43d4547641eaa028f3ff93b62c17,1994000054
+070f43d4547641eaa028f3ff93b62c17,1994000053
+070f43d4547641eaa028f3ff93b62c17,1994000052
+070f43d4547641eaa028f3ff93b62c17,1994000051
+070f43d4547641eaa028f3ff93b62c17,1994000050
+070f43d4547641eaa028f3ff93b62c17,1994000049
+070f43d4547641eaa028f3ff93b62c17,1994000048
+070f43d4547641eaa028f3ff93b62c17,1994000047
+070f43d4547641eaa028f3ff93b62c17,1994000046
+070f43d4547641eaa028f3ff93b62c17,1994000045
+070f43d4547641eaa028f3ff93b62c17,1994000044
+070f43d4547641eaa028f3ff93b62c17,1994000043
+070f43d4547641eaa028f3ff93b62c17,1994000042
+070f43d4547641eaa028f3ff93b62c17,1994000041
+070f43d4547641eaa028f3ff93b62c17,1994000040
+070f43d4547641eaa028f3ff93b62c17,1994000039
+070f43d4547641eaa028f3ff93b62c17,1994000038
+070f43d4547641eaa028f3ff93b62c17,1994000037
+070f43d4547641eaa028f3ff93b62c17,1994000036
+070f43d4547641eaa028f3ff93b62c17,1994000035
+070f43d4547641eaa028f3ff93b62c17,1994000034
+070f43d4547641eaa028f3ff93b62c17,1994000033
+070f43d4547641eaa028f3ff93b62c17,1994000032
+070f43d4547641eaa028f3ff93b62c17,1994000031
+070f43d4547641eaa028f3ff93b62c17,1994000030
+070f43d4547641eaa028f3ff93b62c17,1994000029
+070f43d4547641eaa028f3ff93b62c17,1994000027
+070f43d4547641eaa028f3ff93b62c17,1994000025
+070f43d4547641eaa028f3ff93b62c17,1994000024
+070f43d4547641eaa028f3ff93b62c17,1994000023
+070f43d4547641eaa028f3ff93b62c17,1994000022
+070f43d4547641eaa028f3ff93b62c17,1994000021
+070f43d4547641eaa028f3ff93b62c17,1994000020
+070f43d4547641eaa028f3ff93b62c17,1994000019
+070f43d4547641eaa028f3ff93b62c17,1994000018
+070f43d4547641eaa028f3ff93b62c17,1994000017
+070f43d4547641eaa028f3ff93b62c17,1994000016
+070f43d4547641eaa028f3ff93b62c17,1994000015
+070f43d4547641eaa028f3ff93b62c17,1994000014
+070f43d4547641eaa028f3ff93b62c17,1994000013
+070f43d4547641eaa028f3ff93b62c17,1994000012
+070f43d4547641eaa028f3ff93b62c17,1994000011
+070f43d4547641eaa028f3ff93b62c17,1994000010
+070f43d4547641eaa028f3ff93b62c17,1994000009
+070f43d4547641eaa028f3ff93b62c17,1994000008
+070f43d4547641eaa028f3ff93b62c17,1994000007
+070f43d4547641eaa028f3ff93b62c17,1994000002
+070f43d4547641eaa028f3ff93b62c17,1993010108
+070f43d4547641eaa028f3ff93b62c17,1993010099
+070f43d4547641eaa028f3ff93b62c17,1993010006
+070f43d4547641eaa028f3ff93b62c17,1993010001
+070f43d4547641eaa028f3ff93b62c17,1993000115
+070f43d4547641eaa028f3ff93b62c17,1993000114
+070f43d4547641eaa028f3ff93b62c17,1993000113
+070f43d4547641eaa028f3ff93b62c17,1993000111
+070f43d4547641eaa028f3ff93b62c17,1993000110
+070f43d4547641eaa028f3ff93b62c17,1993000109
+070f43d4547641eaa028f3ff93b62c17,1993000105
+070f43d4547641eaa028f3ff93b62c17,1993000104
+070f43d4547641eaa028f3ff93b62c17,1993000100
+070f43d4547641eaa028f3ff93b62c17,1993000097
+070f43d4547641eaa028f3ff93b62c17,1993000096
+070f43d4547641eaa028f3ff93b62c17,1993000095
+070f43d4547641eaa028f3ff93b62c17,1993000094
+070f43d4547641eaa028f3ff93b62c17,1993000093
+070f43d4547641eaa028f3ff93b62c17,1993000091
+070f43d4547641eaa028f3ff93b62c17,1993000090
+070f43d4547641eaa028f3ff93b62c17,1993000089
+070f43d4547641eaa028f3ff93b62c17,1993000088
+070f43d4547641eaa028f3ff93b62c17,1993000087
+070f43d4547641eaa028f3ff93b62c17,1993000086
+070f43d4547641eaa028f3ff93b62c17,1993000085
+070f43d4547641eaa028f3ff93b62c17,1993000084
+070f43d4547641eaa028f3ff93b62c17,1993000083
+070f43d4547641eaa028f3ff93b62c17,1993000082
+070f43d4547641eaa028f3ff93b62c17,1993000081
+070f43d4547641eaa028f3ff93b62c17,1993000080
+070f43d4547641eaa028f3ff93b62c17,1993000079
+070f43d4547641eaa028f3ff93b62c17,1993000078
+070f43d4547641eaa028f3ff93b62c17,1993000077
+070f43d4547641eaa028f3ff93b62c17,1993000076
+070f43d4547641eaa028f3ff93b62c17,1993000075
+070f43d4547641eaa028f3ff93b62c17,1993000074
+070f43d4547641eaa028f3ff93b62c17,1993000073
+070f43d4547641eaa028f3ff93b62c17,1993000072
+070f43d4547641eaa028f3ff93b62c17,1993000071
+070f43d4547641eaa028f3ff93b62c17,1993000070
+070f43d4547641eaa028f3ff93b62c17,1993000069
+070f43d4547641eaa028f3ff93b62c17,1993000068
+070f43d4547641eaa028f3ff93b62c17,1993000067
+070f43d4547641eaa028f3ff93b62c17,1993000066
+070f43d4547641eaa028f3ff93b62c17,1993000065
+070f43d4547641eaa028f3ff93b62c17,1993000064
+070f43d4547641eaa028f3ff93b62c17,1993000063
+070f43d4547641eaa028f3ff93b62c17,1993000062
+070f43d4547641eaa028f3ff93b62c17,1993000061
+070f43d4547641eaa028f3ff93b62c17,1993000060
+070f43d4547641eaa028f3ff93b62c17,1993000059
+070f43d4547641eaa028f3ff93b62c17,1993000058
+070f43d4547641eaa028f3ff93b62c17,1993000057
+070f43d4547641eaa028f3ff93b62c17,1993000056
+070f43d4547641eaa028f3ff93b62c17,1993000055
+070f43d4547641eaa028f3ff93b62c17,1993000054
+070f43d4547641eaa028f3ff93b62c17,1993000052
+070f43d4547641eaa028f3ff93b62c17,1993000051
+070f43d4547641eaa028f3ff93b62c17,1993000050
+070f43d4547641eaa028f3ff93b62c17,1993000049
+070f43d4547641eaa028f3ff93b62c17,1993000048
+070f43d4547641eaa028f3ff93b62c17,1993000047
+070f43d4547641eaa028f3ff93b62c17,1993000046
+070f43d4547641eaa028f3ff93b62c17,1993000045
+070f43d4547641eaa028f3ff93b62c17,1993000044
+070f43d4547641eaa028f3ff93b62c17,1993000043
+070f43d4547641eaa028f3ff93b62c17,1993000042
+070f43d4547641eaa028f3ff93b62c17,1993000041
+070f43d4547641eaa028f3ff93b62c17,1993000040
+070f43d4547641eaa028f3ff93b62c17,1993000039
+070f43d4547641eaa028f3ff93b62c17,1993000038
+070f43d4547641eaa028f3ff93b62c17,1993000036
+070f43d4547641eaa028f3ff93b62c17,1993000035
+070f43d4547641eaa028f3ff93b62c17,1993000033
+070f43d4547641eaa028f3ff93b62c17,1993000032
+070f43d4547641eaa028f3ff93b62c17,1993000031
+070f43d4547641eaa028f3ff93b62c17,1993000030
+070f43d4547641eaa028f3ff93b62c17,1993000029
+070f43d4547641eaa028f3ff93b62c17,1993000028
+070f43d4547641eaa028f3ff93b62c17,1993000027
+070f43d4547641eaa028f3ff93b62c17,1993000026
+070f43d4547641eaa028f3ff93b62c17,1993000025
+070f43d4547641eaa028f3ff93b62c17,1993000024
+070f43d4547641eaa028f3ff93b62c17,1993000023
+070f43d4547641eaa028f3ff93b62c17,1993000022
+070f43d4547641eaa028f3ff93b62c17,1993000020
+070f43d4547641eaa028f3ff93b62c17,1993000019
+070f43d4547641eaa028f3ff93b62c17,1993000018
+070f43d4547641eaa028f3ff93b62c17,1993000017
+070f43d4547641eaa028f3ff93b62c17,1993000016
+070f43d4547641eaa028f3ff93b62c17,1993000015
+070f43d4547641eaa028f3ff93b62c17,1993000014
+070f43d4547641eaa028f3ff93b62c17,1993000013
+070f43d4547641eaa028f3ff93b62c17,1993000012
+070f43d4547641eaa028f3ff93b62c17,1993000011
+070f43d4547641eaa028f3ff93b62c17,1993000010
+070f43d4547641eaa028f3ff93b62c17,1993000009
+070f43d4547641eaa028f3ff93b62c17,1993000008
+070f43d4547641eaa028f3ff93b62c17,1993000007
+070f43d4547641eaa028f3ff93b62c17,1993000005
+070f43d4547641eaa028f3ff93b62c17,1993000004
+070f43d4547641eaa028f3ff93b62c17,1993000003
+070f43d4547641eaa028f3ff93b62c17,1992010157
+070f43d4547641eaa028f3ff93b62c17,1992010156
+070f43d4547641eaa028f3ff93b62c17,1992010151
+070f43d4547641eaa028f3ff93b62c17,1992010149
+070f43d4547641eaa028f3ff93b62c17,1992010141
+070f43d4547641eaa028f3ff93b62c17,1992010136
+070f43d4547641eaa028f3ff93b62c17,1992010133
+070f43d4547641eaa028f3ff93b62c17,1992010125
+070f43d4547641eaa028f3ff93b62c17,1992010110
+070f43d4547641eaa028f3ff93b62c17,1992010072
+070f43d4547641eaa028f3ff93b62c17,1992010071
+070f43d4547641eaa028f3ff93b62c17,1992010069
+070f43d4547641eaa028f3ff93b62c17,1992010044
+070f43d4547641eaa028f3ff93b62c17,1992010019
+070f43d4547641eaa028f3ff93b62c17,1992010017
+070f43d4547641eaa028f3ff93b62c17,1992010016
+070f43d4547641eaa028f3ff93b62c17,1992010015
+070f43d4547641eaa028f3ff93b62c17,1992010014
+070f43d4547641eaa028f3ff93b62c17,1992010013
+070f43d4547641eaa028f3ff93b62c17,1992010011
+070f43d4547641eaa028f3ff93b62c17,1992010010
+070f43d4547641eaa028f3ff93b62c17,1992010009
+070f43d4547641eaa028f3ff93b62c17,1992010007
+070f43d4547641eaa028f3ff93b62c17,1992010006
+070f43d4547641eaa028f3ff93b62c17,1992010005
+070f43d4547641eaa028f3ff93b62c17,1992010003
+070f43d4547641eaa028f3ff93b62c17,1992010001
+070f43d4547641eaa028f3ff93b62c17,1992000159
+070f43d4547641eaa028f3ff93b62c17,1992000158
+070f43d4547641eaa028f3ff93b62c17,1992000153
+070f43d4547641eaa028f3ff93b62c17,1992000152
+070f43d4547641eaa028f3ff93b62c17,1992000150
+070f43d4547641eaa028f3ff93b62c17,1992000148
+070f43d4547641eaa028f3ff93b62c17,1992000147
+070f43d4547641eaa028f3ff93b62c17,1992000146
+070f43d4547641eaa028f3ff93b62c17,1992000145
+070f43d4547641eaa028f3ff93b62c17,1992000144
+070f43d4547641eaa028f3ff93b62c17,1992000143
+070f43d4547641eaa028f3ff93b62c17,1992000140
+070f43d4547641eaa028f3ff93b62c17,1992000139
+070f43d4547641eaa028f3ff93b62c17,1992000138
+070f43d4547641eaa028f3ff93b62c17,1992000135
+070f43d4547641eaa028f3ff93b62c17,1992000134
+070f43d4547641eaa028f3ff93b62c17,1992000129
+070f43d4547641eaa028f3ff93b62c17,1992000128
+070f43d4547641eaa028f3ff93b62c17,1992000124
+070f43d4547641eaa028f3ff93b62c17,1992000122
+070f43d4547641eaa028f3ff93b62c17,1992000121
+070f43d4547641eaa028f3ff93b62c17,1992000120
+070f43d4547641eaa028f3ff93b62c17,1992000119
+070f43d4547641eaa028f3ff93b62c17,1992000118
+070f43d4547641eaa028f3ff93b62c17,1992000117
+070f43d4547641eaa028f3ff93b62c17,1992000116
+070f43d4547641eaa028f3ff93b62c17,1992000115
+070f43d4547641eaa028f3ff93b62c17,1992000114
+070f43d4547641eaa028f3ff93b62c17,1992000109
+070f43d4547641eaa028f3ff93b62c17,1992000108
+070f43d4547641eaa028f3ff93b62c17,1992000106
+070f43d4547641eaa028f3ff93b62c17,1992000105
+070f43d4547641eaa028f3ff93b62c17,1992000102
+070f43d4547641eaa028f3ff93b62c17,1992000101
+070f43d4547641eaa028f3ff93b62c17,1992000100
+070f43d4547641eaa028f3ff93b62c17,1992000099
+070f43d4547641eaa028f3ff93b62c17,1992000098
+070f43d4547641eaa028f3ff93b62c17,1992000097
+070f43d4547641eaa028f3ff93b62c17,1992000096
+070f43d4547641eaa028f3ff93b62c17,1992000095
+070f43d4547641eaa028f3ff93b62c17,1992000094
+070f43d4547641eaa028f3ff93b62c17,1992000093
+070f43d4547641eaa028f3ff93b62c17,1992000092
+070f43d4547641eaa028f3ff93b62c17,1992000091
+070f43d4547641eaa028f3ff93b62c17,1992000090
+070f43d4547641eaa028f3ff93b62c17,1992000089
+070f43d4547641eaa028f3ff93b62c17,1992000088
+070f43d4547641eaa028f3ff93b62c17,1992000087
+070f43d4547641eaa028f3ff93b62c17,1992000086
+070f43d4547641eaa028f3ff93b62c17,1992000085
+070f43d4547641eaa028f3ff93b62c17,1992000084
+070f43d4547641eaa028f3ff93b62c17,1992000083
+070f43d4547641eaa028f3ff93b62c17,1992000082
+070f43d4547641eaa028f3ff93b62c17,1992000081
+070f43d4547641eaa028f3ff93b62c17,1992000080
+070f43d4547641eaa028f3ff93b62c17,1992000079
+070f43d4547641eaa028f3ff93b62c17,1992000078
+070f43d4547641eaa028f3ff93b62c17,1992000077
+070f43d4547641eaa028f3ff93b62c17,1992000076
+070f43d4547641eaa028f3ff93b62c17,1992000075
+070f43d4547641eaa028f3ff93b62c17,1992000074
+070f43d4547641eaa028f3ff93b62c17,1992000067
+070f43d4547641eaa028f3ff93b62c17,1992000066
+070f43d4547641eaa028f3ff93b62c17,1992000065
+070f43d4547641eaa028f3ff93b62c17,1992000063
+070f43d4547641eaa028f3ff93b62c17,1992000061
+070f43d4547641eaa028f3ff93b62c17,1992000060
+070f43d4547641eaa028f3ff93b62c17,1992000059
+070f43d4547641eaa028f3ff93b62c17,1992000058
+070f43d4547641eaa028f3ff93b62c17,1992000057
+070f43d4547641eaa028f3ff93b62c17,1992000056
+070f43d4547641eaa028f3ff93b62c17,1992000055
+070f43d4547641eaa028f3ff93b62c17,1992000054
+070f43d4547641eaa028f3ff93b62c17,1992000053
+070f43d4547641eaa028f3ff93b62c17,1992000052
+070f43d4547641eaa028f3ff93b62c17,1992000051
+070f43d4547641eaa028f3ff93b62c17,1992000050
+070f43d4547641eaa028f3ff93b62c17,1992000049
+070f43d4547641eaa028f3ff93b62c17,1992000048
+070f43d4547641eaa028f3ff93b62c17,1992000047
+070f43d4547641eaa028f3ff93b62c17,1992000046
+070f43d4547641eaa028f3ff93b62c17,1992000045
+070f43d4547641eaa028f3ff93b62c17,1992000041
+070f43d4547641eaa028f3ff93b62c17,1992000040
+070f43d4547641eaa028f3ff93b62c17,1992000039
+070f43d4547641eaa028f3ff93b62c17,1992000038
+070f43d4547641eaa028f3ff93b62c17,1992000037
+070f43d4547641eaa028f3ff93b62c17,1992000036
+070f43d4547641eaa028f3ff93b62c17,1992000035
+070f43d4547641eaa028f3ff93b62c17,1992000034
+070f43d4547641eaa028f3ff93b62c17,1992000033
+070f43d4547641eaa028f3ff93b62c17,1992000032
+070f43d4547641eaa028f3ff93b62c17,1992000031
+070f43d4547641eaa028f3ff93b62c17,1992000030
+070f43d4547641eaa028f3ff93b62c17,1992000029
+070f43d4547641eaa028f3ff93b62c17,1992000028
+070f43d4547641eaa028f3ff93b62c17,1992000027
+070f43d4547641eaa028f3ff93b62c17,1992000026
+070f43d4547641eaa028f3ff93b62c17,1992000025
+070f43d4547641eaa028f3ff93b62c17,1992000024
+070f43d4547641eaa028f3ff93b62c17,1992000023
+070f43d4547641eaa028f3ff93b62c17,1992000021
+070f43d4547641eaa028f3ff93b62c17,1992000020
+070f43d4547641eaa028f3ff93b62c17,1991010059
+070f43d4547641eaa028f3ff93b62c17,1991010013
+070f43d4547641eaa028f3ff93b62c17,1991000068
+070f43d4547641eaa028f3ff93b62c17,1991000066
+070f43d4547641eaa028f3ff93b62c17,1991000065
+070f43d4547641eaa028f3ff93b62c17,1991000064
+070f43d4547641eaa028f3ff93b62c17,1991000062
+070f43d4547641eaa028f3ff93b62c17,1991000058
+070f43d4547641eaa028f3ff93b62c17,1991000057
+070f43d4547641eaa028f3ff93b62c17,1991000055
+070f43d4547641eaa028f3ff93b62c17,1991000054
+070f43d4547641eaa028f3ff93b62c17,1991000053
+070f43d4547641eaa028f3ff93b62c17,1991000052
+070f43d4547641eaa028f3ff93b62c17,1991000051
+070f43d4547641eaa028f3ff93b62c17,1991000048
+070f43d4547641eaa028f3ff93b62c17,1991000047
+070f43d4547641eaa028f3ff93b62c17,1991000046
+070f43d4547641eaa028f3ff93b62c17,1991000044
+070f43d4547641eaa028f3ff93b62c17,1991000043
+070f43d4547641eaa028f3ff93b62c17,1991000042
+070f43d4547641eaa028f3ff93b62c17,1991000041
+070f43d4547641eaa028f3ff93b62c17,1991000040
+070f43d4547641eaa028f3ff93b62c17,1991000039
+070f43d4547641eaa028f3ff93b62c17,1991000038
+070f43d4547641eaa028f3ff93b62c17,1991000037
+070f43d4547641eaa028f3ff93b62c17,1991000036
+070f43d4547641eaa028f3ff93b62c17,1991000035
+070f43d4547641eaa028f3ff93b62c17,1991000034
+070f43d4547641eaa028f3ff93b62c17,1991000033
+070f43d4547641eaa028f3ff93b62c17,1991000032
+070f43d4547641eaa028f3ff93b62c17,1991000031
+070f43d4547641eaa028f3ff93b62c17,1991000030
+070f43d4547641eaa028f3ff93b62c17,1991000029
+070f43d4547641eaa028f3ff93b62c17,1991000028
+070f43d4547641eaa028f3ff93b62c17,1991000027
+070f43d4547641eaa028f3ff93b62c17,1991000026
+070f43d4547641eaa028f3ff93b62c17,1991000025
+070f43d4547641eaa028f3ff93b62c17,1991000024
+070f43d4547641eaa028f3ff93b62c17,1991000023
+070f43d4547641eaa028f3ff93b62c17,1991000022
+070f43d4547641eaa028f3ff93b62c17,1991000021
+070f43d4547641eaa028f3ff93b62c17,1991000020
+070f43d4547641eaa028f3ff93b62c17,1991000019
+070f43d4547641eaa028f3ff93b62c17,1991000018
+070f43d4547641eaa028f3ff93b62c17,1991000017
+070f43d4547641eaa028f3ff93b62c17,1991000016
+070f43d4547641eaa028f3ff93b62c17,1991000015
+070f43d4547641eaa028f3ff93b62c17,1991000014
+070f43d4547641eaa028f3ff93b62c17,1991000012
+070f43d4547641eaa028f3ff93b62c17,1991000011
+070f43d4547641eaa028f3ff93b62c17,1991000010
+070f43d4547641eaa028f3ff93b62c17,1991000009
+070f43d4547641eaa028f3ff93b62c17,1991000008
+070f43d4547641eaa028f3ff93b62c17,1991000007
+070f43d4547641eaa028f3ff93b62c17,1991000006
+070f43d4547641eaa028f3ff93b62c17,1991000005
+070f43d4547641eaa028f3ff93b62c17,1991000004
+070f43d4547641eaa028f3ff93b62c17,1991000003
+070f43d4547641eaa028f3ff93b62c17,1991000002
+070f43d4547641eaa028f3ff93b62c17,1991000001
+070f43d4547641eaa028f3ff93b62c17,1990010049
+070f43d4547641eaa028f3ff93b62c17,1990010038
+070f43d4547641eaa028f3ff93b62c17,1990010009
+070f43d4547641eaa028f3ff93b62c17,1990010006
+070f43d4547641eaa028f3ff93b62c17,1990010005
+070f43d4547641eaa028f3ff93b62c17,1990010004
+070f43d4547641eaa028f3ff93b62c17,1990000083
+070f43d4547641eaa028f3ff93b62c17,1990000082
+070f43d4547641eaa028f3ff93b62c17,1990000081
+070f43d4547641eaa028f3ff93b62c17,1990000080
+070f43d4547641eaa028f3ff93b62c17,1990000079
+070f43d4547641eaa028f3ff93b62c17,1990000078
+070f43d4547641eaa028f3ff93b62c17,1990000075
+070f43d4547641eaa028f3ff93b62c17,1990000073
+070f43d4547641eaa028f3ff93b62c17,1990000072
+070f43d4547641eaa028f3ff93b62c17,1990000070
+070f43d4547641eaa028f3ff93b62c17,1990000069
+070f43d4547641eaa028f3ff93b62c17,1990000068
+070f43d4547641eaa028f3ff93b62c17,1990000067
+070f43d4547641eaa028f3ff93b62c17,1990000066
+070f43d4547641eaa028f3ff93b62c17,1990000065
+070f43d4547641eaa028f3ff93b62c17,1990000064
+070f43d4547641eaa028f3ff93b62c17,1990000063
+070f43d4547641eaa028f3ff93b62c17,1990000061
+070f43d4547641eaa028f3ff93b62c17,1990000060
+070f43d4547641eaa028f3ff93b62c17,1990000059
+070f43d4547641eaa028f3ff93b62c17,1990000058
+070f43d4547641eaa028f3ff93b62c17,1990000057
+070f43d4547641eaa028f3ff93b62c17,1990000056
+070f43d4547641eaa028f3ff93b62c17,1990000055
+070f43d4547641eaa028f3ff93b62c17,1990000054
+070f43d4547641eaa028f3ff93b62c17,1990000053
+070f43d4547641eaa028f3ff93b62c17,1990000052
+070f43d4547641eaa028f3ff93b62c17,1990000051
+070f43d4547641eaa028f3ff93b62c17,1990000048
+070f43d4547641eaa028f3ff93b62c17,1990000047
+070f43d4547641eaa028f3ff93b62c17,1990000046
+070f43d4547641eaa028f3ff93b62c17,1990000045
+070f43d4547641eaa028f3ff93b62c17,1990000044
+070f43d4547641eaa028f3ff93b62c17,1990000043
+070f43d4547641eaa028f3ff93b62c17,1990000042
+070f43d4547641eaa028f3ff93b62c17,1990000041
+070f43d4547641eaa028f3ff93b62c17,1990000040
+070f43d4547641eaa028f3ff93b62c17,1990000039
+070f43d4547641eaa028f3ff93b62c17,1990000037
+070f43d4547641eaa028f3ff93b62c17,1990000035
+070f43d4547641eaa028f3ff93b62c17,1990000034
+070f43d4547641eaa028f3ff93b62c17,1990000033
+070f43d4547641eaa028f3ff93b62c17,1990000032
+070f43d4547641eaa028f3ff93b62c17,1990000031
+070f43d4547641eaa028f3ff93b62c17,1990000030
+070f43d4547641eaa028f3ff93b62c17,1990000029
+070f43d4547641eaa028f3ff93b62c17,1990000028
+070f43d4547641eaa028f3ff93b62c17,1990000027
+070f43d4547641eaa028f3ff93b62c17,1990000026
+070f43d4547641eaa028f3ff93b62c17,1990000025
+070f43d4547641eaa028f3ff93b62c17,1990000024
+070f43d4547641eaa028f3ff93b62c17,1990000023
+070f43d4547641eaa028f3ff93b62c17,1990000022
+070f43d4547641eaa028f3ff93b62c17,1990000021
+070f43d4547641eaa028f3ff93b62c17,1990000020
+070f43d4547641eaa028f3ff93b62c17,1990000019
+070f43d4547641eaa028f3ff93b62c17,1990000018
+070f43d4547641eaa028f3ff93b62c17,1990000017
+070f43d4547641eaa028f3ff93b62c17,1990000016
+070f43d4547641eaa028f3ff93b62c17,1990000014
+070f43d4547641eaa028f3ff93b62c17,1990000013
+070f43d4547641eaa028f3ff93b62c17,1990000012
+070f43d4547641eaa028f3ff93b62c17,1990000011
+070f43d4547641eaa028f3ff93b62c17,1990000003
+070f43d4547641eaa028f3ff93b62c17,1989010120
+070f43d4547641eaa028f3ff93b62c17,1989010112
+070f43d4547641eaa028f3ff93b62c17,1989010108
+070f43d4547641eaa028f3ff93b62c17,1989010107
+070f43d4547641eaa028f3ff93b62c17,1989010106
+070f43d4547641eaa028f3ff93b62c17,1989010105
+070f43d4547641eaa028f3ff93b62c17,1989010104
+070f43d4547641eaa028f3ff93b62c17,1989010103
+070f43d4547641eaa028f3ff93b62c17,1989010100
+070f43d4547641eaa028f3ff93b62c17,1989010098
+070f43d4547641eaa028f3ff93b62c17,1989010097
+070f43d4547641eaa028f3ff93b62c17,1989010096
+070f43d4547641eaa028f3ff93b62c17,1989010095
+070f43d4547641eaa028f3ff93b62c17,1989010094
+070f43d4547641eaa028f3ff93b62c17,1989010093
+070f43d4547641eaa028f3ff93b62c17,1989010089
+070f43d4547641eaa028f3ff93b62c17,1989010081
+070f43d4547641eaa028f3ff93b62c17,1989010079
+070f43d4547641eaa028f3ff93b62c17,1989010073
+070f43d4547641eaa028f3ff93b62c17,1989010072
+070f43d4547641eaa028f3ff93b62c17,1989010069
+070f43d4547641eaa028f3ff93b62c17,1989010068
+070f43d4547641eaa028f3ff93b62c17,1989010064
+070f43d4547641eaa028f3ff93b62c17,1989010063
+070f43d4547641eaa028f3ff93b62c17,1989000119
+070f43d4547641eaa028f3ff93b62c17,1989000118
+070f43d4547641eaa028f3ff93b62c17,1989000117
+070f43d4547641eaa028f3ff93b62c17,1989000116
+070f43d4547641eaa028f3ff93b62c17,1989000115
+070f43d4547641eaa028f3ff93b62c17,1989000114
+070f43d4547641eaa028f3ff93b62c17,1989000113
+070f43d4547641eaa028f3ff93b62c17,1989000110
+070f43d4547641eaa028f3ff93b62c17,1989000085
+070f43d4547641eaa028f3ff93b62c17,1989000084
+070f43d4547641eaa028f3ff93b62c17,1989000083
+070f43d4547641eaa028f3ff93b62c17,1989000082
+070f43d4547641eaa028f3ff93b62c17,1989000078
+070f43d4547641eaa028f3ff93b62c17,1989000076
+070f43d4547641eaa028f3ff93b62c17,1989000074
+070f43d4547641eaa028f3ff93b62c17,1989000067
+070f43d4547641eaa028f3ff93b62c17,1989000066
+070f43d4547641eaa028f3ff93b62c17,1989000061
+070f43d4547641eaa028f3ff93b62c17,1989000060
+070f43d4547641eaa028f3ff93b62c17,1989000056
+070f43d4547641eaa028f3ff93b62c17,1989000055
+070f43d4547641eaa028f3ff93b62c17,1989000054
+070f43d4547641eaa028f3ff93b62c17,1989000052
+070f43d4547641eaa028f3ff93b62c17,1989000051
+070f43d4547641eaa028f3ff93b62c17,1989000050
+070f43d4547641eaa028f3ff93b62c17,1989000049
+070f43d4547641eaa028f3ff93b62c17,1989000048
+070f43d4547641eaa028f3ff93b62c17,1989000047
+070f43d4547641eaa028f3ff93b62c17,1989000046
+070f43d4547641eaa028f3ff93b62c17,1989000045
+070f43d4547641eaa028f3ff93b62c17,1989000044
+070f43d4547641eaa028f3ff93b62c17,1989000043
+070f43d4547641eaa028f3ff93b62c17,1989000042
+070f43d4547641eaa028f3ff93b62c17,1989000040
+070f43d4547641eaa028f3ff93b62c17,1989000039
+070f43d4547641eaa028f3ff93b62c17,1989000038
+070f43d4547641eaa028f3ff93b62c17,1989000037
+070f43d4547641eaa028f3ff93b62c17,1989000036
+070f43d4547641eaa028f3ff93b62c17,1989000035
+070f43d4547641eaa028f3ff93b62c17,1989000034
+070f43d4547641eaa028f3ff93b62c17,1989000032
+070f43d4547641eaa028f3ff93b62c17,1989000031
+070f43d4547641eaa028f3ff93b62c17,1989000030
+070f43d4547641eaa028f3ff93b62c17,1989000029
+070f43d4547641eaa028f3ff93b62c17,1989000028
+070f43d4547641eaa028f3ff93b62c17,1989000027
+070f43d4547641eaa028f3ff93b62c17,1989000025
+070f43d4547641eaa028f3ff93b62c17,1989000023
+070f43d4547641eaa028f3ff93b62c17,1989000022
+070f43d4547641eaa028f3ff93b62c17,1989000018
+070f43d4547641eaa028f3ff93b62c17,1989000017
+070f43d4547641eaa028f3ff93b62c17,1989000016
+070f43d4547641eaa028f3ff93b62c17,1989000015
+070f43d4547641eaa028f3ff93b62c17,1989000014
+070f43d4547641eaa028f3ff93b62c17,1989000013
+070f43d4547641eaa028f3ff93b62c17,1989000012
+070f43d4547641eaa028f3ff93b62c17,1989000011
+070f43d4547641eaa028f3ff93b62c17,1989000010
+070f43d4547641eaa028f3ff93b62c17,1989000008
+070f43d4547641eaa028f3ff93b62c17,1989000006
+070f43d4547641eaa028f3ff93b62c17,1989000005
+070f43d4547641eaa028f3ff93b62c17,1989000004
+070f43d4547641eaa028f3ff93b62c17,1989000003
+070f43d4547641eaa028f3ff93b62c17,1989000002
+070f43d4547641eaa028f3ff93b62c17,1988010128
+070f43d4547641eaa028f3ff93b62c17,1988010015
+070f43d4547641eaa028f3ff93b62c17,1988010013
+070f43d4547641eaa028f3ff93b62c17,1988010010
+070f43d4547641eaa028f3ff93b62c17,1988010005
+070f43d4547641eaa028f3ff93b62c17,1988010003
+070f43d4547641eaa028f3ff93b62c17,1988010001
+070f43d4547641eaa028f3ff93b62c17,1988000132
+070f43d4547641eaa028f3ff93b62c17,1988000131
+070f43d4547641eaa028f3ff93b62c17,1988000130
+070f43d4547641eaa028f3ff93b62c17,1988000129
+070f43d4547641eaa028f3ff93b62c17,1988000127
+070f43d4547641eaa028f3ff93b62c17,1988000126
+070f43d4547641eaa028f3ff93b62c17,1988000125
+070f43d4547641eaa028f3ff93b62c17,1988000124
+070f43d4547641eaa028f3ff93b62c17,1988000123
+070f43d4547641eaa028f3ff93b62c17,1988000121
+070f43d4547641eaa028f3ff93b62c17,1988000120
+070f43d4547641eaa028f3ff93b62c17,1988000119
+070f43d4547641eaa028f3ff93b62c17,1988000118
+070f43d4547641eaa028f3ff93b62c17,1988000116
diff --git a/testing/jmeter/cas-users.csv b/testing/jmeter/cas-users.csv
new file mode 100644
index 0000000..bea7f5a
--- /dev/null
+++ b/testing/jmeter/cas-users.csv
@@ -0,0 +1 @@
+smartadmin,smartadmin
\ No newline at end of file
diff --git a/testing/jmeter/cas_cas.jmx b/testing/jmeter/cas_cas.jmx
new file mode 100644
index 0000000..9834032
--- /dev/null
+++ b/testing/jmeter/cas_cas.jmx
@@ -0,0 +1,537 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.2.1">
+  <hashTree>
+    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="CAS SSO Tests" enabled="true">
+      <stringProp name="TestPlan.comments"></stringProp>
+      <boolProp name="TestPlan.functional_mode">false</boolProp>
+      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
+      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments"/>
+      </elementProp>
+      <stringProp name="TestPlan.user_define_classpath"></stringProp>
+    </TestPlan>
+    <hashTree>
+      <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments">
+          <elementProp name="ThreadCount" elementType="Argument">
+            <stringProp name="Argument.name">ThreadCount</stringProp>
+            <stringProp name="Argument.value">1000</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">Number of Threads</stringProp>
+          </elementProp>
+          <elementProp name="Duration" elementType="Argument">
+            <stringProp name="Argument.name">Duration</stringProp>
+            <stringProp name="Argument.value">120</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="startupDelay" elementType="Argument">
+            <stringProp name="Argument.name">startupDelay</stringProp>
+            <stringProp name="Argument.value">3</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="RampUpPeriod" elementType="Argument">
+            <stringProp name="Argument.name">RampUpPeriod</stringProp>
+            <stringProp name="Argument.value">3</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="IdPHost" elementType="Argument">
+            <stringProp name="Argument.name">IdPHost</stringProp>
+            <stringProp name="Argument.value">https://uis-test.nwpu.edu.cn</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">The main URL of your CAS Instance</stringProp>
+          </elementProp>
+          <elementProp name="IdPPort" elementType="Argument">
+            <stringProp name="Argument.name">IdPPort</stringProp>
+            <stringProp name="Argument.value">443</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+          </elementProp>
+          <elementProp name="IdPContext" elementType="Argument">
+            <stringProp name="Argument.name">IdPContext</stringProp>
+            <stringProp name="Argument.value">idp</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+          </elementProp>
+          <elementProp name="CasSP" elementType="Argument">
+            <stringProp name="Argument.name">CasSP</stringProp>
+            <stringProp name="Argument.value">https://example.com/index.html</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">Service Provider url</stringProp>
+          </elementProp>
+          <elementProp name="CasSP-example" elementType="Argument">
+            <stringProp name="Argument.name">CasSP-example</stringProp>
+            <stringProp name="Argument.value">https://example.com/index.html</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+          </elementProp>
+        </collectionProp>
+      </Arguments>
+      <hashTree/>
+      <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="CSV Get Users/Passwords" enabled="true">
+        <stringProp name="filename">/Users/loie/c/work/git/institute/deploy-admin-portal/testing/jmeter/nwpu-accounts.txt</stringProp>
+        <stringProp name="fileEncoding"></stringProp>
+        <stringProp name="variableNames">User,Password</stringProp>
+        <stringProp name="delimiter">,</stringProp>
+        <boolProp name="quotedData">false</boolProp>
+        <boolProp name="recycle">true</boolProp>
+        <boolProp name="stopThread">false</boolProp>
+        <stringProp name="shareMode">shareMode.all</stringProp>
+        <boolProp name="ignoreFirstLine">false</boolProp>
+      </CSVDataSet>
+      <hashTree/>
+      <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
+        <collectionProp name="CookieManager.cookies"/>
+        <boolProp name="CookieManager.clearEachIteration">true</boolProp>
+        <boolProp name="CookieManager.controlledByThreadGroup">false</boolProp>
+      </CookieManager>
+      <hashTree/>
+      <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
+        <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+          <collectionProp name="Arguments.arguments"/>
+        </elementProp>
+        <stringProp name="HTTPSampler.domain"></stringProp>
+        <stringProp name="HTTPSampler.port"></stringProp>
+        <stringProp name="HTTPSampler.protocol">https</stringProp>
+        <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+        <stringProp name="HTTPSampler.path"></stringProp>
+        <stringProp name="HTTPSampler.concurrentPool">4</stringProp>
+        <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
+        <stringProp name="HTTPSampler.connect_timeout">120000</stringProp>
+        <stringProp name="HTTPSampler.response_timeout">120000</stringProp>
+      </ConfigTestElement>
+      <hashTree/>
+      <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="false">
+        <boolProp name="ResultCollector.error_logging">false</boolProp>
+        <objProp>
+          <name>saveConfig</name>
+          <value class="SampleSaveConfiguration">
+            <time>true</time>
+            <latency>true</latency>
+            <timestamp>true</timestamp>
+            <success>true</success>
+            <label>true</label>
+            <code>true</code>
+            <message>true</message>
+            <threadName>true</threadName>
+            <dataType>true</dataType>
+            <encoding>false</encoding>
+            <assertions>true</assertions>
+            <subresults>true</subresults>
+            <responseData>false</responseData>
+            <samplerData>false</samplerData>
+            <xml>false</xml>
+            <fieldNames>false</fieldNames>
+            <responseHeaders>false</responseHeaders>
+            <requestHeaders>false</requestHeaders>
+            <responseDataOnError>false</responseDataOnError>
+            <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
+            <assertionsResultsToSave>0</assertionsResultsToSave>
+            <bytes>true</bytes>
+            <threadCounts>true</threadCounts>
+          </value>
+        </objProp>
+        <stringProp name="filename"></stringProp>
+      </ResultCollector>
+      <hashTree/>
+      <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="Aggregate Report" enabled="false">
+        <boolProp name="ResultCollector.error_logging">false</boolProp>
+        <objProp>
+          <name>saveConfig</name>
+          <value class="SampleSaveConfiguration">
+            <time>true</time>
+            <latency>true</latency>
+            <timestamp>true</timestamp>
+            <success>true</success>
+            <label>true</label>
+            <code>true</code>
+            <message>false</message>
+            <threadName>false</threadName>
+            <dataType>false</dataType>
+            <encoding>false</encoding>
+            <assertions>false</assertions>
+            <subresults>false</subresults>
+            <responseData>false</responseData>
+            <samplerData>false</samplerData>
+            <xml>false</xml>
+            <fieldNames>false</fieldNames>
+            <responseHeaders>false</responseHeaders>
+            <requestHeaders>false</requestHeaders>
+            <responseDataOnError>false</responseDataOnError>
+            <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
+            <assertionsResultsToSave>0</assertionsResultsToSave>
+            <threadCounts>true</threadCounts>
+          </value>
+        </objProp>
+        <stringProp name="filename"></stringProp>
+        <boolProp name="useGroupName">true</boolProp>
+      </ResultCollector>
+      <hashTree/>
+      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Typical CAS login" enabled="true">
+        <stringProp name="ThreadGroup.on_sample_error">startnextloop</stringProp>
+        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+          <boolProp name="LoopController.continue_forever">false</boolProp>
+          <intProp name="LoopController.loops">-1</intProp>
+        </elementProp>
+        <stringProp name="ThreadGroup.num_threads">${ThreadCount}</stringProp>
+        <stringProp name="ThreadGroup.ramp_time">${RampUpPeriod}</stringProp>
+        <longProp name="ThreadGroup.start_time">1500501626000</longProp>
+        <longProp name="ThreadGroup.end_time">1500501626000</longProp>
+        <boolProp name="ThreadGroup.scheduler">true</boolProp>
+        <stringProp name="ThreadGroup.duration">${Duration}</stringProp>
+        <stringProp name="ThreadGroup.delay">${StartupDelay}</stringProp>
+        <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+      </ThreadGroup>
+      <hashTree>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - CAS Login Page" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="2120355301">CAS SSO Tests</stringProp>
+            <stringProp name="-157788562">GET - CAS Login Page</stringProp>
+          </collectionProp>
+          <stringProp name="TestPlan.comments">Get the CAS Login page</stringProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="POST - Login Credentials" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="2120355301">CAS SSO Tests</stringProp>
+            <stringProp name="-2049830958">POST - Login Credentials</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - User Info with Service Ticket" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="2120355301">CAS SSO Tests</stringProp>
+            <stringProp name="1864560727">GET - User Info with Service Ticket</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - User Logout" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="2120355301">CAS SSO Tests</stringProp>
+            <stringProp name="-648438622">GET - User Logout</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
+          <boolProp name="ResultCollector.error_logging">true</boolProp>
+          <objProp>
+            <name>saveConfig</name>
+            <value class="SampleSaveConfiguration">
+              <time>true</time>
+              <latency>true</latency>
+              <timestamp>true</timestamp>
+              <success>true</success>
+              <label>true</label>
+              <code>true</code>
+              <message>true</message>
+              <threadName>true</threadName>
+              <dataType>true</dataType>
+              <encoding>false</encoding>
+              <assertions>true</assertions>
+              <subresults>true</subresults>
+              <responseData>false</responseData>
+              <samplerData>false</samplerData>
+              <xml>false</xml>
+              <fieldNames>true</fieldNames>
+              <responseHeaders>false</responseHeaders>
+              <requestHeaders>false</requestHeaders>
+              <responseDataOnError>false</responseDataOnError>
+              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+              <assertionsResultsToSave>0</assertionsResultsToSave>
+              <bytes>true</bytes>
+              <threadCounts>true</threadCounts>
+              <idleTime>true</idleTime>
+            </value>
+          </objProp>
+          <stringProp name="filename"></stringProp>
+        </ResultCollector>
+        <hashTree/>
+        <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="Aggregate Report" enabled="true">
+          <boolProp name="ResultCollector.error_logging">false</boolProp>
+          <objProp>
+            <name>saveConfig</name>
+            <value class="SampleSaveConfiguration">
+              <time>true</time>
+              <latency>true</latency>
+              <timestamp>true</timestamp>
+              <success>true</success>
+              <label>true</label>
+              <code>true</code>
+              <message>true</message>
+              <threadName>true</threadName>
+              <dataType>true</dataType>
+              <encoding>false</encoding>
+              <assertions>true</assertions>
+              <subresults>true</subresults>
+              <responseData>false</responseData>
+              <samplerData>false</samplerData>
+              <xml>false</xml>
+              <fieldNames>true</fieldNames>
+              <responseHeaders>false</responseHeaders>
+              <requestHeaders>false</requestHeaders>
+              <responseDataOnError>false</responseDataOnError>
+              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+              <assertionsResultsToSave>0</assertionsResultsToSave>
+              <bytes>true</bytes>
+              <sentBytes>true</sentBytes>
+              <url>true</url>
+              <threadCounts>true</threadCounts>
+              <idleTime>true</idleTime>
+              <connectTime>true</connectTime>
+            </value>
+          </objProp>
+          <stringProp name="filename"></stringProp>
+        </ResultCollector>
+        <hashTree/>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - CAS Login Page" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - CAS Login Page" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${IdPHost}/cas/login?service=${CasSP}</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Execution Variable" enabled="false">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">ExecId</stringProp>
+            <stringProp name="RegexExtractor.regex">execution=(.+)</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify on CAS login page" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="232355224">cas/login?service=</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.test_field">Assertion.sample_label</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">16</intProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+          </ResponseAssertion>
+          <hashTree/>
+          <XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Extract Execution variable" enabled="true">
+            <stringProp name="XPathExtractor.default"></stringProp>
+            <stringProp name="XPathExtractor.refname">ExecId</stringProp>
+            <stringProp name="XPathExtractor.matchNumber">-1</stringProp>
+            <stringProp name="XPathExtractor.xpathQuery">//input[@name=&apos;execution&apos;]/@value</stringProp>
+            <boolProp name="XPathExtractor.validate">false</boolProp>
+            <boolProp name="XPathExtractor.tolerant">true</boolProp>
+            <boolProp name="XPathExtractor.namespace">false</boolProp>
+          </XPathExtractor>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="POST - Login Credentials" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="POST - Login Credentials follow Redirects" enabled="false">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="username" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${User}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">username</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="password" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${Password}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">password</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="_eventId_submit" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">_eventId_submit</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="execution" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${ExecId}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">execution</stringProp>
+              </elementProp>
+            </collectionProp>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${IdPHost}/cas/login?service=${__urlencode(${CasSP})}</stringProp>
+          <stringProp name="HTTPSampler.method">POST</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Ticket Variable" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">URL</stringProp>
+            <stringProp name="RegexExtractor.refname">st</stringProp>
+            <stringProp name="RegexExtractor.regex">ticket=(.+)</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+            <stringProp name="Sample.scope">all</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="POST - Login Credentials no Redirects" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="username" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${User}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">username</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="password" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${Password}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">password</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="_eventId_submit" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">_eventId_submit</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="execution" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${ExecId}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">execution</stringProp>
+              </elementProp>
+            </collectionProp>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${IdPHost}/cas/login?service=${__urlencode(${CasSP})}</stringProp>
+          <stringProp name="HTTPSampler.method">POST</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Ticket Variable" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">true</stringProp>
+            <stringProp name="RegexExtractor.refname">st</stringProp>
+            <stringProp name="RegexExtractor.regex">Location:(.+)ticket=(.+)</stringProp>
+            <stringProp name="RegexExtractor.template">$2$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+            <stringProp name="Sample.scope">all</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - User Info with Service Ticket" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="CAS GET Ticket Info" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${IdPHost}/cas/serviceValidate?ticket=${st}&amp;service=${__urlencode(${CasSP})}</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree/>
+        <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify User Info Returned" enabled="true">
+          <collectionProp name="Asserion.test_strings">
+            <stringProp name="919549364">&lt;cas:authenticationSuccess&gt;</stringProp>
+            <stringProp name="1774939698">&lt;cas:user&gt;${User}&lt;/cas:user&gt;</stringProp>
+          </collectionProp>
+          <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+          <boolProp name="Assertion.assume_success">false</boolProp>
+          <intProp name="Assertion.test_type">2</intProp>
+          <stringProp name="TestPlan.comments">Verifies get user info on ticket validation</stringProp>
+          <stringProp name="Assertion.custom_message"></stringProp>
+        </ResponseAssertion>
+        <hashTree/>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - User Logout" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get - User Logout" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${IdPHost}/cas/logout</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree/>
+        <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify User Logged Out" enabled="true">
+          <collectionProp name="Asserion.test_strings">
+            <stringProp name="49586">200</stringProp>
+          </collectionProp>
+          <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+          <boolProp name="Assertion.assume_success">false</boolProp>
+          <intProp name="Assertion.test_type">2</intProp>
+          <stringProp name="Assertion.custom_message"></stringProp>
+        </ResponseAssertion>
+        <hashTree/>
+      </hashTree>
+    </hashTree>
+  </hashTree>
+</jmeterTestPlan>
diff --git a/testing/jmeter/cas_cas.jmx_bak b/testing/jmeter/cas_cas.jmx_bak
new file mode 100644
index 0000000..dcb3cdb
--- /dev/null
+++ b/testing/jmeter/cas_cas.jmx_bak
@@ -0,0 +1,411 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.2.1">
+  <hashTree>
+    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="CAS SSO Tests" enabled="true">
+      <stringProp name="TestPlan.comments"></stringProp>
+      <boolProp name="TestPlan.functional_mode">false</boolProp>
+      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
+      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments"/>
+      </elementProp>
+      <stringProp name="TestPlan.user_define_classpath"></stringProp>
+    </TestPlan>
+    <hashTree>
+      <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments">
+          <elementProp name="ThreadCount" elementType="Argument">
+            <stringProp name="Argument.name">ThreadCount</stringProp>
+            <stringProp name="Argument.value">10</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">Number of Threads</stringProp>
+          </elementProp>
+          <elementProp name="Duration" elementType="Argument">
+            <stringProp name="Argument.name">Duration</stringProp>
+            <stringProp name="Argument.value">120</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="startupDelay" elementType="Argument">
+            <stringProp name="Argument.name">startupDelay</stringProp>
+            <stringProp name="Argument.value">3</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="RampUpPeriod" elementType="Argument">
+            <stringProp name="Argument.name">RampUpPeriod</stringProp>
+            <stringProp name="Argument.value">30</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="IdPHost" elementType="Argument">
+            <stringProp name="Argument.name">IdPHost</stringProp>
+            <stringProp name="Argument.value">http://192.168.101.4</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">The main URL of your CAS Instance</stringProp>
+          </elementProp>
+          <elementProp name="IdPPort" elementType="Argument">
+            <stringProp name="Argument.name">IdPPort</stringProp>
+            <stringProp name="Argument.value">443</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+          </elementProp>
+          <elementProp name="IdPContext" elementType="Argument">
+            <stringProp name="Argument.name">IdPContext</stringProp>
+            <stringProp name="Argument.value">idp</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+          </elementProp>
+          <elementProp name="CasSP" elementType="Argument">
+            <stringProp name="Argument.name">CasSP</stringProp>
+            <stringProp name="Argument.value">http://192.168.101.24/cas/login</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">Service Provider url</stringProp>
+          </elementProp>
+        </collectionProp>
+      </Arguments>
+      <hashTree/>
+      <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="CSV Get Users/Passwords" enabled="true">
+        <stringProp name="filename">/home/ubuntu/testing/jmeter/accounts.csv</stringProp>
+        <stringProp name="fileEncoding"></stringProp>
+        <stringProp name="variableNames">User,Password</stringProp>
+        <stringProp name="delimiter">,</stringProp>
+        <boolProp name="quotedData">false</boolProp>
+        <boolProp name="recycle">true</boolProp>
+        <boolProp name="stopThread">false</boolProp>
+        <stringProp name="shareMode">shareMode.all</stringProp>
+        <boolProp name="ignoreFirstLine">false</boolProp>
+      </CSVDataSet>
+      <hashTree/>
+      <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
+        <collectionProp name="CookieManager.cookies"/>
+        <boolProp name="CookieManager.clearEachIteration">true</boolProp>
+        <boolProp name="CookieManager.controlledByThreadGroup">false</boolProp>
+      </CookieManager>
+      <hashTree/>
+      <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
+        <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+          <collectionProp name="Arguments.arguments"/>
+        </elementProp>
+        <stringProp name="HTTPSampler.domain"></stringProp>
+        <stringProp name="HTTPSampler.port"></stringProp>
+        <stringProp name="HTTPSampler.protocol">https</stringProp>
+        <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+        <stringProp name="HTTPSampler.path"></stringProp>
+        <stringProp name="HTTPSampler.concurrentPool">4</stringProp>
+        <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
+        <stringProp name="HTTPSampler.connect_timeout">120000</stringProp>
+        <stringProp name="HTTPSampler.response_timeout">120000</stringProp>
+      </ConfigTestElement>
+      <hashTree/>
+      <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
+        <boolProp name="ResultCollector.error_logging">true</boolProp>
+        <objProp>
+          <name>saveConfig</name>
+          <value class="SampleSaveConfiguration">
+            <time>true</time>
+            <latency>true</latency>
+            <timestamp>true</timestamp>
+            <success>true</success>
+            <label>true</label>
+            <code>true</code>
+            <message>true</message>
+            <threadName>true</threadName>
+            <dataType>true</dataType>
+            <encoding>false</encoding>
+            <assertions>true</assertions>
+            <subresults>true</subresults>
+            <responseData>true</responseData>
+            <samplerData>false</samplerData>
+            <xml>true</xml>
+            <fieldNames>false</fieldNames>
+            <responseHeaders>true</responseHeaders>
+            <requestHeaders>true</requestHeaders>
+            <responseDataOnError>false</responseDataOnError>
+            <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+            <assertionsResultsToSave>0</assertionsResultsToSave>
+            <bytes>true</bytes>
+            <sentBytes>true</sentBytes>
+            <url>true</url>
+            <fileName>true</fileName>
+            <hostname>true</hostname>
+            <threadCounts>true</threadCounts>
+            <connectTime>true</connectTime>
+          </value>
+        </objProp>
+        <stringProp name="filename">/home/ubuntu/testing/jmeter/error.jtl</stringProp>
+      </ResultCollector>
+      <hashTree/>
+      <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="Aggregate Report" enabled="true">
+        <boolProp name="ResultCollector.error_logging">false</boolProp>
+        <objProp>
+          <name>saveConfig</name>
+          <value class="SampleSaveConfiguration">
+            <time>true</time>
+            <latency>true</latency>
+            <timestamp>true</timestamp>
+            <success>true</success>
+            <label>true</label>
+            <code>true</code>
+            <message>true</message>
+            <threadName>true</threadName>
+            <dataType>true</dataType>
+            <encoding>true</encoding>
+            <assertions>true</assertions>
+            <subresults>true</subresults>
+            <responseData>true</responseData>
+            <samplerData>false</samplerData>
+            <xml>true</xml>
+            <fieldNames>false</fieldNames>
+            <responseHeaders>true</responseHeaders>
+            <requestHeaders>true</requestHeaders>
+            <responseDataOnError>false</responseDataOnError>
+            <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+            <assertionsResultsToSave>0</assertionsResultsToSave>
+            <bytes>true</bytes>
+            <sentBytes>true</sentBytes>
+            <url>true</url>
+            <fileName>true</fileName>
+            <hostname>true</hostname>
+            <threadCounts>true</threadCounts>
+            <idleTime>true</idleTime>
+            <connectTime>true</connectTime>
+          </value>
+        </objProp>
+        <stringProp name="filename">/home/ubuntu/testing/jmeter/result.jtl</stringProp>
+        <boolProp name="useGroupName">true</boolProp>
+      </ResultCollector>
+      <hashTree/>
+      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Typical CAS login" enabled="true">
+        <stringProp name="ThreadGroup.on_sample_error">startnextloop</stringProp>
+        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+          <boolProp name="LoopController.continue_forever">false</boolProp>
+          <intProp name="LoopController.loops">-1</intProp>
+        </elementProp>
+        <stringProp name="ThreadGroup.num_threads">${ThreadCount}</stringProp>
+        <stringProp name="ThreadGroup.ramp_time">${RampUpPeriod}</stringProp>
+        <longProp name="ThreadGroup.start_time">1500501626000</longProp>
+        <longProp name="ThreadGroup.end_time">1500501626000</longProp>
+        <boolProp name="ThreadGroup.scheduler">true</boolProp>
+        <stringProp name="ThreadGroup.duration">${Duration}</stringProp>
+        <stringProp name="ThreadGroup.delay">${StartupDelay}</stringProp>
+        <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+      </ThreadGroup>
+      <hashTree>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - CAS Login Page" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="2120355301">CAS SSO Tests</stringProp>
+            <stringProp name="-157788562">GET - CAS Login Page</stringProp>
+          </collectionProp>
+          <stringProp name="TestPlan.comments">Get the CAS Login page</stringProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="POST - Login Credentials" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="2120355301">CAS SSO Tests</stringProp>
+            <stringProp name="-2049830958">POST - Login Credentials</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - User Info with Service Ticket" enabled="false">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="2120355301">CAS SSO Tests</stringProp>
+            <stringProp name="1864560727">GET - User Info with Service Ticket</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - User Logout" enabled="false">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="2120355301">CAS SSO Tests</stringProp>
+            <stringProp name="-648438622">GET - User Logout</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - CAS Login Page" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - CAS Login Page" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${IdPHost}/cas/login?service=${CasSP}</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Execution Variable" enabled="false">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">ExecId</stringProp>
+            <stringProp name="RegexExtractor.regex">execution=(.+)</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify on CAS login page" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="232355224">cas/login?service=</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.test_field">Assertion.sample_label</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">16</intProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+          </ResponseAssertion>
+          <hashTree/>
+          <XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Extract Execution variable" enabled="true">
+            <stringProp name="XPathExtractor.default"></stringProp>
+            <stringProp name="XPathExtractor.refname">ExecId</stringProp>
+            <stringProp name="XPathExtractor.matchNumber">-1</stringProp>
+            <stringProp name="XPathExtractor.xpathQuery">//input[@name=&apos;execution&apos;]/@value</stringProp>
+            <boolProp name="XPathExtractor.validate">false</boolProp>
+            <boolProp name="XPathExtractor.tolerant">true</boolProp>
+            <boolProp name="XPathExtractor.namespace">false</boolProp>
+          </XPathExtractor>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="POST - Login Credentials" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="POST - Login Credentials" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="username" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${User}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">username</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="password" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${Password}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">password</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="_eventId_submit" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">_eventId_submit</stringProp>
+                <stringProp name="Argument.desc">false</stringProp>
+              </elementProp>
+              <elementProp name="execution" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">${ExecId}</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">execution</stringProp>
+              </elementProp>
+            </collectionProp>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${IdPHost}/cas/login?service=${__urlencode(${CasSP})}</stringProp>
+          <stringProp name="HTTPSampler.method">POST</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Ticket Variable" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">URL</stringProp>
+            <stringProp name="RegexExtractor.refname">st</stringProp>
+            <stringProp name="RegexExtractor.regex">ticket=(.+)</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+            <stringProp name="Sample.scope">all</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - User Info with Service Ticket" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="CAS GET Ticket Info" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${IdPHost}/cas/serviceValidate?ticket=${st}&amp;service=${__urlencode(${CasSP})}</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree/>
+        <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify User Info Returned" enabled="true">
+          <collectionProp name="Asserion.test_strings">
+            <stringProp name="919549364">&lt;cas:authenticationSuccess&gt;</stringProp>
+            <stringProp name="1774939698">&lt;cas:user&gt;${User}&lt;/cas:user&gt;</stringProp>
+          </collectionProp>
+          <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+          <boolProp name="Assertion.assume_success">false</boolProp>
+          <intProp name="Assertion.test_type">2</intProp>
+          <stringProp name="TestPlan.comments">Verifies get user info on ticket validation</stringProp>
+          <stringProp name="Assertion.custom_message"></stringProp>
+        </ResponseAssertion>
+        <hashTree/>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - User Logout" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get - User Logout" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${IdPHost}/cas/logout</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree/>
+        <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify User Logged Out" enabled="true">
+          <collectionProp name="Asserion.test_strings">
+            <stringProp name="49586">200</stringProp>
+          </collectionProp>
+          <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+          <boolProp name="Assertion.assume_success">false</boolProp>
+          <intProp name="Assertion.test_type">2</intProp>
+          <stringProp name="Assertion.custom_message"></stringProp>
+        </ResponseAssertion>
+        <hashTree/>
+      </hashTree>
+    </hashTree>
+  </hashTree>
+</jmeterTestPlan>
diff --git a/testing/jmeter/nwpu-accounts.txt b/testing/jmeter/nwpu-accounts.txt
new file mode 100644
index 0000000..7f6f21b
--- /dev/null
+++ b/testing/jmeter/nwpu-accounts.txt
@@ -0,0 +1,138546 @@
+01014,01014
+01020,01020
+01021,01021
+01040,01040
+01060,01060
+01100,01100
+01110,01110
+2018300212f,2018300212f
+02010,02010
+02020,02020
+020220,020220
+020235,020235
+02030,02030
+020394,020394
+02040,02040
+020405,020405
+020412,020412
+020416,020416
+020446,020446
+020452,020452
+020499,020499
+02060,02060
+02070,02070
+020732,020732
+020787,020787
+02080,02080
+020822,020822
+02090,02090
+020928,020928
+020992,020992
+2020100228,2020100228
+02100,02100
+021012,021012
+02110,02110
+021170,021170
+021177,021177
+021180,021180
+021181,021181
+021185,021185
+021190,021190
+021194,021194
+02120,02120
+02121,02121
+021363,021363
+021439,021439
+021457,021457
+021543,021543
+021599,021599
+02160,02160
+02170,02170
+021742,021742
+02180,02180
+021827,021827
+021888,021888
+02190,02190
+021904,021904
+021993,021993
+021999,021999
+02200,02200
+022017,022017
+022031,022031
+022072,022072
+022074,022074
+02210,02210
+022161,022161
+022163,022163
+022178,022178
+02220,02220
+022244,022244
+022247,022247
+022256,022256
+022275,022275
+022344,022344
+022351,022351
+022361,022361
+022386,022386
+022423,022423
+022453,022453
+02281,02281
+022999,022999
+023601,023601
+023668,023668
+023677,023677
+023685,023685
+023709,023709
+023731,023731
+023737,023737
+023747,023747
+023748,023748
+023762,023762
+023769,023769
+023771,023771
+023891,023891
+20200P0397,20200P0397
+2020100184,2020100184
+2020100403,2020100403
+2018301023f,2018301023f
+030022,030022
+030026,030026
+030034,030034
+030035,030035
+030040,030040
+030067,030067
+030074,030074
+03010,03010
+030135,030135
+030139,030139
+030163,030163
+030195,030195
+030223,030223
+030228,030228
+030239,030239
+030244,030244
+030247,030247
+030276,030276
+030278,030278
+030280,030280
+20200P0162,20200P0162
+030305,030305
+030315,030315
+030330,030330
+030373,030373
+030375,030375
+030397,030397
+03040,03040
+030431,030431
+030459,030459
+030497,030497
+030499,030499
+030514,030514
+030515,030515
+030517,030517
+030522,030522
+030548,030548
+030611,030611
+030633,030633
+030640,030640
+030663,030663
+030665,030665
+030674,030674
+030678,030678
+030687,030687
+030712,030712
+030714,030714
+030715,030715
+030717,030717
+030724,030724
+030749,030749
+030760,030760
+030789,030789
+030813,030813
+030838,030838
+030871,030871
+030882,030882
+030887,030887
+030902,030902
+030903,030903
+030904,030904
+030917,030917
+030923,030923
+030929,030929
+030938,030938
+031016,031016
+031039,031039
+031062,031062
+031066,031066
+031067,031067
+031102,031102
+031140,031140
+031161,031161
+031179,031179
+031188,031188
+031199,031199
+031236,031236
+031238,031238
+031275,031275
+031292,031292
+031297,031297
+031298,031298
+031328,031328
+031329,031329
+031347,031347
+031352,031352
+031361,031361
+031427,031427
+031455,031455
+031508,031508
+031616,031616
+031618,031618
+031623,031623
+031624,031624
+031625,031625
+031626,031626
+031627,031627
+031629,031629
+031630,031630
+031631,031631
+031632,031632
+031634,031634
+031635,031635
+031636,031636
+031637,031637
+031638,031638
+031639,031639
+031640,031640
+031642,031642
+031643,031643
+031644,031644
+031645,031645
+031646,031646
+031647,031647
+031672,031672
+031730,031730
+031751,031751
+031766,031766
+031787,031787
+031789,031789
+031792,031792
+031795,031795
+031799,031799
+031804,031804
+031838,031838
+031865,031865
+031867,031867
+031881,031881
+031884,031884
+031898,031898
+031913,031913
+031929,031929
+031940,031940
+031943,031943
+031969,031969
+031970,031970
+031973,031973
+031975,031975
+031978,031978
+031982,031982
+031983,031983
+031984,031984
+031986,031986
+031995,031995
+032017,032017
+032029,032029
+032039,032039
+032040,032040
+032041,032041
+032042,032042
+032057,032057
+032068,032068
+032082,032082
+032089,032089
+032099,032099
+032130,032130
+032132,032132
+032142,032142
+032158,032158
+032171,032171
+032172,032172
+032185,032185
+032207,032207
+032208,032208
+032209,032209
+032214,032214
+032217,032217
+032220,032220
+032221,032221
+032231,032231
+032233,032233
+032235,032235
+032238,032238
+032243,032243
+032249,032249
+032259,032259
+032260,032260
+032262,032262
+032293,032293
+032316,032316
+032326,032326
+032353,032353
+032395,032395
+032404,032404
+032411,032411
+032421,032421
+032423,032423
+032491,032491
+032493,032493
+032509,032509
+032519,032519
+032562,032562
+032607,032607
+032649,032649
+032663,032663
+032671,032671
+032673,032673
+032679,032679
+032680,032680
+032687,032687
+032690,032690
+032696,032696
+032698,032698
+032699,032699
+032701,032701
+032717,032717
+032728,032728
+032744,032744
+032757,032757
+032759,032759
+032763,032763
+032788,032788
+032817,032817
+032835,032835
+032839,032839
+032893,032893
+032904,032904
+032910,032910
+032912,032912
+032923,032923
+032943,032943
+032963,032963
+032980,032980
+032985,032985
+032996,032996
+033049,033049
+033050,033050
+033096,033096
+033132,033132
+033194,033194
+033195,033195
+033201,033201
+033211,033211
+033214,033214
+033247,033247
+033248,033248
+033250,033250
+033252,033252
+033275,033275
+033360,033360
+033417,033417
+033438,033438
+033444,033444
+033483,033483
+033539,033539
+033563,033563
+033743,033743
+033762,033762
+033765,033765
+033777,033777
+033820,033820
+033827,033827
+033829,033829
+033834,033834
+033847,033847
+033856,033856
+033865,033865
+033879,033879
+033901,033901
+033912,033912
+033928,033928
+033932,033932
+033934,033934
+033935,033935
+03605J001,03605J001
+03605J002,03605J002
+03605J003,03605J003
+03606G167,03606G167
+03606J004,03606J004
+03609J005,03609J005
+03609J006,03609J006
+03610J007,03610J007
+03610J008,03610J008
+03610J009,03610J009
+03610J010,03610J010
+03610J011,03610J011
+03610J012,03610J012
+03610J013,03610J013
+03610J014,03610J014
+03610J015,03610J015
+03610J016,03610J016
+03610J017,03610J017
+03610J018,03610J018
+03610J019,03610J019
+03610J020,03610J020
+03610J021,03610J021
+03610J022,03610J022
+03610J023,03610J023
+03610J024,03610J024
+03610J025,03610J025
+03610J026,03610J026
+03610J027,03610J027
+03610J028,03610J028
+2018302767f,2018302767f
+037010001,037010001
+037010002,037010002
+037010003,037010003
+037010004,037010004
+037010005,037010005
+037010006,037010006
+037014001,037014001
+037014002,037014002
+037014003,037014003
+037014004,037014004
+037014005,037014005
+037014006,037014006
+037014007,037014007
+037014008,037014008
+037014009,037014009
+037014010,037014010
+037015001,037015001
+037030007,037030007
+037030008,037030008
+037030009,037030009
+037030010,037030010
+037030011,037030011
+037030012,037030012
+037030013,037030013
+037030014,037030014
+037030015,037030015
+037030016,037030016
+037030017,037030017
+037030018,037030018
+037030019,037030019
+037030020,037030020
+037030021,037030021
+037030022,037030022
+037030023,037030023
+037030024,037030024
+037030025,037030025
+037030026,037030026
+037030027,037030027
+037034011,037034011
+037034012,037034012
+037034013,037034013
+037034014,037034014
+037034015,037034015
+037034016,037034016
+037034017,037034017
+037034018,037034018
+037034019,037034019
+037034020,037034020
+037034021,037034021
+037034022,037034022
+037035002,037035002
+037035003,037035003
+037035004,037035004
+037035005,037035005
+037035006,037035006
+037040028,037040028
+037040029,037040029
+037040030,037040030
+037040031,037040031
+037040032,037040032
+037040033,037040033
+037040034,037040034
+037040035,037040035
+037040036,037040036
+037040037,037040037
+037040038,037040038
+037040039,037040039
+037040040,037040040
+037040041,037040041
+037040042,037040042
+037040043,037040043
+037040044,037040044
+037040045,037040045
+037040046,037040046
+037040047,037040047
+037040048,037040048
+037040049,037040049
+037040050,037040050
+037040051,037040051
+037040052,037040052
+037040053,037040053
+037040054,037040054
+037040055,037040055
+037040056,037040056
+037040057,037040057
+037040058,037040058
+037040059,037040059
+037040060,037040060
+037040061,037040061
+037040062,037040062
+037040063,037040063
+037040064,037040064
+037040065,037040065
+037044023,037044023
+037044024,037044024
+037044025,037044025
+037044026,037044026
+037044027,037044027
+037044028,037044028
+037044029,037044029
+037044030,037044030
+037044031,037044031
+037044032,037044032
+037044033,037044033
+037044034,037044034
+037044035,037044035
+037044036,037044036
+037044037,037044037
+037045007,037045007
+037045008,037045008
+037045009,037045009
+037050066,037050066
+037050067,037050067
+037050068,037050068
+037050069,037050069
+037050070,037050070
+037050071,037050071
+037050072,037050072
+037050073,037050073
+037050074,037050074
+037050075,037050075
+037050076,037050076
+037050077,037050077
+037050078,037050078
+037050079,037050079
+037050080,037050080
+037050081,037050081
+037050082,037050082
+037050083,037050083
+037050084,037050084
+037050085,037050085
+037050086,037050086
+037050087,037050087
+037050088,037050088
+037050089,037050089
+037050090,037050090
+037050091,037050091
+037054038,037054038
+037054039,037054039
+037054040,037054040
+037054041,037054041
+037054042,037054042
+037054043,037054043
+037054044,037054044
+037054045,037054045
+037054046,037054046
+037054047,037054047
+037054048,037054048
+037054049,037054049
+037054050,037054050
+037054051,037054051
+037054052,037054052
+037055010,037055010
+037055011,037055011
+037055012,037055012
+037055013,037055013
+037055014,037055014
+037059002,037059002
+037060092,037060092
+037060093,037060093
+037060094,037060094
+037060095,037060095
+037060096,037060096
+037060097,037060097
+037060098,037060098
+037060099,037060099
+037060100,037060100
+037060101,037060101
+037060102,037060102
+037060103,037060103
+037060104,037060104
+037060105,037060105
+037060106,037060106
+037060107,037060107
+037060108,037060108
+037064053,037064053
+037064054,037064054
+037064055,037064055
+037064056,037064056
+037064057,037064057
+037064058,037064058
+037064059,037064059
+037064060,037064060
+037064061,037064061
+037064062,037064062
+037064063,037064063
+037064064,037064064
+037064065,037064065
+037064066,037064066
+037064067,037064067
+037064068,037064068
+037064069,037064069
+037064070,037064070
+037064071,037064071
+037064072,037064072
+037064073,037064073
+037064074,037064074
+037064075,037064075
+037064076,037064076
+037064077,037064077
+037064078,037064078
+037064079,037064079
+037065015,037065015
+037065016,037065016
+037065017,037065017
+037065018,037065018
+037065019,037065019
+037065020,037065020
+037070109,037070109
+037070110,037070110
+037070111,037070111
+037070112,037070112
+037070113,037070113
+037070114,037070114
+037070115,037070115
+037070116,037070116
+037070117,037070117
+037070118,037070118
+037070119,037070119
+037074080,037074080
+037074081,037074081
+037074082,037074082
+037074083,037074083
+037074084,037074084
+037074085,037074085
+037074086,037074086
+037074087,037074087
+037074088,037074088
+037074089,037074089
+037074090,037074090
+037080120,037080120
+037080121,037080121
+037080122,037080122
+037080123,037080123
+037080124,037080124
+037080125,037080125
+037080126,037080126
+037080127,037080127
+037080128,037080128
+037080129,037080129
+037080130,037080130
+037080131,037080131
+037080132,037080132
+037080133,037080133
+037080134,037080134
+037080135,037080135
+037080136,037080136
+037080137,037080137
+037080138,037080138
+037080139,037080139
+037080140,037080140
+037080141,037080141
+037080142,037080142
+037084091,037084091
+037084092,037084092
+037084093,037084093
+037084094,037084094
+037084095,037084095
+037084096,037084096
+037084097,037084097
+037084098,037084098
+037084099,037084099
+037084100,037084100
+037084101,037084101
+037084102,037084102
+037084103,037084103
+037084104,037084104
+037084105,037084105
+037084106,037084106
+037084107,037084107
+037084108,037084108
+037084109,037084109
+037084110,037084110
+037084111,037084111
+037084112,037084112
+037084113,037084113
+037084114,037084114
+037085021,037085021
+037085022,037085022
+037085023,037085023
+037085024,037085024
+037085025,037085025
+037085026,037085026
+037085027,037085027
+037085028,037085028
+037085029,037085029
+037085030,037085030
+037089001,037089001
+037089004,037089004
+037090143,037090143
+037090144,037090144
+037090145,037090145
+037090146,037090146
+037090147,037090147
+037090148,037090148
+037090149,037090149
+037090150,037090150
+037090151,037090151
+037090152,037090152
+037090153,037090153
+037090154,037090154
+037090155,037090155
+037090156,037090156
+037090157,037090157
+037090158,037090158
+037090159,037090159
+037090160,037090160
+037090161,037090161
+037090162,037090162
+037090163,037090163
+037090164,037090164
+037090165,037090165
+037090166,037090166
+037090167,037090167
+037090168,037090168
+037090169,037090169
+037090170,037090170
+037090171,037090171
+037090172,037090172
+037090173,037090173
+037090174,037090174
+037090176,037090176
+037090177,037090177
+037090178,037090178
+037094115,037094115
+037094116,037094116
+037094117,037094117
+037094118,037094118
+037094119,037094119
+037094120,037094120
+037094124,037094124
+037094126,037094126
+037094127,037094127
+037094128,037094128
+037094129,037094129
+037094130,037094130
+037094131,037094131
+037094132,037094132
+037094133,037094133
+037094134,037094134
+037094135,037094135
+037094136,037094136
+037094137,037094137
+037094138,037094138
+037094139,037094139
+037094140,037094140
+037094141,037094141
+037094142,037094142
+037094143,037094143
+037094146,037094146
+037094147,037094147
+037094148,037094148
+037094150,037094150
+037094151,037094151
+037094155,037094155
+037094157,037094157
+037094158,037094158
+037094161,037094161
+037094162,037094162
+037095031,037095031
+037095032,037095032
+037095033,037095033
+037095034,037095034
+037095035,037095035
+037095039,037095039
+037097001,037097001
+037099003,037099003
+037100179,037100179
+037100180,037100180
+037100181,037100181
+037100182,037100182
+037100183,037100183
+037100184,037100184
+037100185,037100185
+037100186,037100186
+037100187,037100187
+037100188,037100188
+037100189,037100189
+037100190,037100190
+037100191,037100191
+037100192,037100192
+037100193,037100193
+037100194,037100194
+037100195,037100195
+037100196,037100196
+037100197,037100197
+037100198,037100198
+037100199,037100199
+037100200,037100200
+037100201,037100201
+037100202,037100202
+037100203,037100203
+037100204,037100204
+037100205,037100205
+037100206,037100206
+037100207,037100207
+037100208,037100208
+037100209,037100209
+037100210,037100210
+037100211,037100211
+037100212,037100212
+037100213,037100213
+037100214,037100214
+037104163,037104163
+037104164,037104164
+037104165,037104165
+037104166,037104166
+037104167,037104167
+037104168,037104168
+037104169,037104169
+037104170,037104170
+037104171,037104171
+037104172,037104172
+037104173,037104173
+037104174,037104174
+037104175,037104175
+037104176,037104176
+037104177,037104177
+037104178,037104178
+037104179,037104179
+037104180,037104180
+037104181,037104181
+037104182,037104182
+037104183,037104183
+037104184,037104184
+037104185,037104185
+037104186,037104186
+037104187,037104187
+037104188,037104188
+037104189,037104189
+037104190,037104190
+037104191,037104191
+037104192,037104192
+037104193,037104193
+037104194,037104194
+037104195,037104195
+037104196,037104196
+037104197,037104197
+037104198,037104198
+037105040,037105040
+037105041,037105041
+037105042,037105042
+037105043,037105043
+037105044,037105044
+037105045,037105045
+037105046,037105046
+037105047,037105047
+037105048,037105048
+037105049,037105049
+037105050,037105050
+037105051,037105051
+037105052,037105052
+037105053,037105053
+037105054,037105054
+037105055,037105055
+037105056,037105056
+037105057,037105057
+037105058,037105058
+037105059,037105059
+037110215,037110215
+037110216,037110216
+037110217,037110217
+037110218,037110218
+037110219,037110219
+037110220,037110220
+037110221,037110221
+037110222,037110222
+037110223,037110223
+037110224,037110224
+037110225,037110225
+037110226,037110226
+037110227,037110227
+037110228,037110228
+037110229,037110229
+037110230,037110230
+037110231,037110231
+037110232,037110232
+037110233,037110233
+037110234,037110234
+037110235,037110235
+037110236,037110236
+037110237,037110237
+037110238,037110238
+037110239,037110239
+037110240,037110240
+037110241,037110241
+037110242,037110242
+037110243,037110243
+037114199,037114199
+037114200,037114200
+037114201,037114201
+037114202,037114202
+037114203,037114203
+037114204,037114204
+037114205,037114205
+037114206,037114206
+037114207,037114207
+037114208,037114208
+037114209,037114209
+037114210,037114210
+037114211,037114211
+037114212,037114212
+037114213,037114213
+037114214,037114214
+037114215,037114215
+037114216,037114216
+037114217,037114217
+037114218,037114218
+037120244,037120244
+037120245,037120245
+037120246,037120246
+037120247,037120247
+037120248,037120248
+037120249,037120249
+037124219,037124219
+037124220,037124220
+037124221,037124221
+037124222,037124222
+037124223,037124223
+037124224,037124224
+037124225,037124225
+037124226,037124226
+037124227,037124227
+037124228,037124228
+037124229,037124229
+037124230,037124230
+037124231,037124231
+037124232,037124232
+037124233,037124233
+037124234,037124234
+037124235,037124235
+037124236,037124236
+037124237,037124237
+037124238,037124238
+037124268,037124268
+037124269,037124269
+037124270,037124270
+037125060,037125060
+037125061,037125061
+037125062,037125062
+037125063,037125063
+037125064,037125064
+037125065,037125065
+037125066,037125066
+037130272,037130272
+037134259,037134259
+037134260,037134260
+037134261,037134261
+037134262,037134262
+037134263,037134263
+037134271,037134271
+037135072,037135072
+037135073,037135073
+037135074,037135074
+037160250,037160250
+037160251,037160251
+037160252,037160252
+037160253,037160253
+037160254,037160254
+037160255,037160255
+037160256,037160256
+037160257,037160257
+037160258,037160258
+037160259,037160259
+037160260,037160260
+037160261,037160261
+037160262,037160262
+037160263,037160263
+037160264,037160264
+037164239,037164239
+037164240,037164240
+037164241,037164241
+037164242,037164242
+037164243,037164243
+037164244,037164244
+037164245,037164245
+037164246,037164246
+037164247,037164247
+037164248,037164248
+037164249,037164249
+037165067,037165067
+037166001,037166001
+037170265,037170265
+037174250,037174250
+037174251,037174251
+037174252,037174252
+037174253,037174253
+037174254,037174254
+037174264,037174264
+037174265,037174265
+037174266,037174266
+037174267,037174267
+037175068,037175068
+037180266,037180266
+037180267,037180267
+037180268,037180268
+037180269,037180269
+037180270,037180270
+037180271,037180271
+037184255,037184255
+037184256,037184256
+037184257,037184257
+037184258,037184258
+037185069,037185069
+037185070,037185070
+037185071,037185071
+037186002,037186002
+00100002,00100002
+040001,040001
+040002,040002
+040003,040003
+040004,040004
+040005,040005
+040006,040006
+040007,040007
+040008,040008
+040009,040009
+040010,040010
+040011,040011
+040012,040012
+040013,040013
+040014,040014
+040015,040015
+040016,040016
+040017,040017
+040018,040018
+040019,040019
+040020,040020
+040021,040021
+040022,040022
+040023,040023
+040024,040024
+040025,040025
+040026,040026
+040027,040027
+040028,040028
+040029,040029
+040030,040030
+040031,040031
+040032,040032
+040033,040033
+040034,040034
+040035,040035
+040036,040036
+040037,040037
+040038,040038
+040039,040039
+040040,040040
+040042,040042
+040043,040043
+040044,040044
+040045,040045
+040046,040046
+040047,040047
+040048,040048
+040049,040049
+040050,040050
+040051,040051
+040052,040052
+040053,040053
+040054,040054
+040055,040055
+040056,040056
+040057,040057
+040058,040058
+040059,040059
+040060,040060
+040061,040061
+040062,040062
+040063,040063
+040064,040064
+040065,040065
+040066,040066
+040067,040067
+040068,040068
+040069,040069
+040070,040070
+040071,040071
+040072,040072
+040073,040073
+040074,040074
+040075,040075
+040076,040076
+040077,040077
+040078,040078
+040079,040079
+040080,040080
+040082,040082
+040083,040083
+040084,040084
+040085,040085
+040086,040086
+040087,040087
+040088,040088
+040089,040089
+040090,040090
+040091,040091
+040092,040092
+040093,040093
+040094,040094
+040095,040095
+040096,040096
+040097,040097
+040098,040098
+040099,040099
+040100,040100
+040101,040101
+040102,040102
+040103,040103
+040104,040104
+040105,040105
+040106,040106
+040107,040107
+040108,040108
+040109,040109
+04011,04011
+040110,040110
+040111,040111
+040112,040112
+040113,040113
+040114,040114
+040115,040115
+040116,040116
+040117,040117
+040118,040118
+040119,040119
+04012,04012
+040120,040120
+040122,040122
+040123,040123
+040124,040124
+040125,040125
+040126,040126
+040127,040127
+040128,040128
+040129,040129
+04013,04013
+040130,040130
+040131,040131
+040132,040132
+040133,040133
+040135,040135
+040136,040136
+040137,040137
+040138,040138
+040139,040139
+040140,040140
+040141,040141
+040142,040142
+040143,040143
+040144,040144
+040145,040145
+040146,040146
+040147,040147
+040148,040148
+040149,040149
+040150,040150
+040151,040151
+040152,040152
+040153,040153
+040154,040154
+040155,040155
+040156,040156
+040157,040157
+040158,040158
+040159,040159
+040160,040160
+040161,040161
+040162,040162
+040163,040163
+040164,040164
+040165,040165
+040166,040166
+040167,040167
+040168,040168
+040169,040169
+040170,040170
+040171,040171
+040172,040172
+040173,040173
+040174,040174
+040175,040175
+040176,040176
+040177,040177
+040178,040178
+040179,040179
+040180,040180
+040181,040181
+040182,040182
+040183,040183
+040184,040184
+040185,040185
+040186,040186
+040187,040187
+040189,040189
+040190,040190
+040191,040191
+040192,040192
+040193,040193
+040194,040194
+040195,040195
+040196,040196
+040197,040197
+040198,040198
+040199,040199
+040200,040200
+040201,040201
+040202,040202
+040203,040203
+040204,040204
+040205,040205
+040206,040206
+040207,040207
+040208,040208
+040209,040209
+040210,040210
+040211,040211
+040212,040212
+040213,040213
+040215,040215
+040216,040216
+040217,040217
+040218,040218
+040219,040219
+040220,040220
+040221,040221
+040222,040222
+040223,040223
+040224,040224
+040225,040225
+040226,040226
+040227,040227
+040228,040228
+040229,040229
+040230,040230
+040231,040231
+040232,040232
+040233,040233
+040234,040234
+040235,040235
+040236,040236
+040238,040238
+040239,040239
+040240,040240
+040241,040241
+040242,040242
+040243,040243
+040244,040244
+040245,040245
+040246,040246
+040247,040247
+040248,040248
+040249,040249
+040250,040250
+040251,040251
+040252,040252
+040253,040253
+040254,040254
+040255,040255
+040256,040256
+040257,040257
+040258,040258
+040259,040259
+040260,040260
+040261,040261
+040262,040262
+040263,040263
+040265,040265
+040266,040266
+040267,040267
+040268,040268
+040269,040269
+040270,040270
+040271,040271
+040272,040272
+040273,040273
+040274,040274
+040275,040275
+040276,040276
+040277,040277
+040278,040278
+040279,040279
+040280,040280
+040281,040281
+040282,040282
+040283,040283
+040284,040284
+040285,040285
+040286,040286
+040287,040287
+040288,040288
+040289,040289
+040290,040290
+040291,040291
+040292,040292
+040293,040293
+040294,040294
+040295,040295
+040296,040296
+040297,040297
+040298,040298
+040299,040299
+040300,040300
+040301,040301
+040302,040302
+040303,040303
+040304,040304
+040305,040305
+040306,040306
+040307,040307
+040309,040309
+040310,040310
+040311,040311
+040312,040312
+040313,040313
+040314,040314
+040315,040315
+040316,040316
+040318,040318
+040319,040319
+040320,040320
+040321,040321
+040322,040322
+040323,040323
+040324,040324
+040325,040325
+040326,040326
+040327,040327
+040328,040328
+040329,040329
+040330,040330
+040331,040331
+040332,040332
+040333,040333
+040334,040334
+040335,040335
+040336,040336
+040337,040337
+040338,040338
+040339,040339
+040340,040340
+040341,040341
+040342,040342
+040344,040344
+040345,040345
+040346,040346
+040347,040347
+040348,040348
+040349,040349
+040350,040350
+040351,040351
+040352,040352
+040353,040353
+040354,040354
+040355,040355
+040356,040356
+040357,040357
+040358,040358
+040359,040359
+040360,040360
+040361,040361
+040362,040362
+040363,040363
+040364,040364
+040365,040365
+040366,040366
+040367,040367
+040368,040368
+040369,040369
+040370,040370
+040371,040371
+040372,040372
+040373,040373
+040374,040374
+040375,040375
+040376,040376
+040377,040377
+040378,040378
+040379,040379
+040380,040380
+040381,040381
+040382,040382
+040383,040383
+040384,040384
+040385,040385
+040386,040386
+040387,040387
+040388,040388
+040389,040389
+040390,040390
+040391,040391
+040392,040392
+040393,040393
+040394,040394
+040395,040395
+040396,040396
+040397,040397
+040398,040398
+04040,04040
+040400,040400
+040401,040401
+040402,040402
+040403,040403
+040404,040404
+040405,040405
+040406,040406
+040407,040407
+040408,040408
+040409,040409
+040410,040410
+040411,040411
+040412,040412
+040413,040413
+040414,040414
+040415,040415
+040416,040416
+040418,040418
+040419,040419
+040420,040420
+040421,040421
+040422,040422
+040423,040423
+040424,040424
+040425,040425
+040426,040426
+040427,040427
+040428,040428
+040429,040429
+040430,040430
+040431,040431
+040432,040432
+040433,040433
+040434,040434
+040435,040435
+040436,040436
+040437,040437
+040438,040438
+040439,040439
+040440,040440
+040441,040441
+040442,040442
+040443,040443
+040444,040444
+040445,040445
+040446,040446
+040447,040447
+040448,040448
+040449,040449
+040450,040450
+040451,040451
+040452,040452
+040453,040453
+040454,040454
+040455,040455
+040456,040456
+040457,040457
+040458,040458
+040459,040459
+040460,040460
+040461,040461
+040462,040462
+040463,040463
+040464,040464
+040465,040465
+040466,040466
+040467,040467
+040468,040468
+040469,040469
+040470,040470
+040471,040471
+040472,040472
+040473,040473
+040474,040474
+040475,040475
+040476,040476
+040477,040477
+040478,040478
+040479,040479
+040480,040480
+040481,040481
+040482,040482
+040483,040483
+040484,040484
+040485,040485
+040486,040486
+040487,040487
+040488,040488
+040489,040489
+040490,040490
+040491,040491
+040492,040492
+040493,040493
+040494,040494
+040495,040495
+040496,040496
+040498,040498
+040499,040499
+040500,040500
+040501,040501
+040502,040502
+040503,040503
+040504,040504
+040505,040505
+040506,040506
+040507,040507
+040508,040508
+040509,040509
+040510,040510
+040511,040511
+040512,040512
+040513,040513
+040514,040514
+040515,040515
+040516,040516
+040517,040517
+040518,040518
+040519,040519
+040520,040520
+040521,040521
+040522,040522
+040523,040523
+040524,040524
+040525,040525
+040526,040526
+040527,040527
+040528,040528
+040529,040529
+040530,040530
+040531,040531
+040532,040532
+040533,040533
+040534,040534
+040535,040535
+040536,040536
+040537,040537
+040538,040538
+040539,040539
+040540,040540
+040541,040541
+040542,040542
+040543,040543
+040545,040545
+040546,040546
+040547,040547
+040548,040548
+040549,040549
+040550,040550
+040551,040551
+040552,040552
+040553,040553
+040554,040554
+040555,040555
+040556,040556
+040557,040557
+040558,040558
+040559,040559
+040560,040560
+040561,040561
+040562,040562
+040563,040563
+040564,040564
+040565,040565
+040566,040566
+040567,040567
+040568,040568
+040569,040569
+040570,040570
+040571,040571
+040572,040572
+040573,040573
+040574,040574
+040575,040575
+040576,040576
+040577,040577
+040578,040578
+040579,040579
+040580,040580
+040581,040581
+040582,040582
+040583,040583
+040584,040584
+040585,040585
+040586,040586
+040587,040587
+040588,040588
+040589,040589
+040590,040590
+040591,040591
+040592,040592
+040593,040593
+040594,040594
+040595,040595
+040596,040596
+040597,040597
+040598,040598
+040599,040599
+040601,040601
+040602,040602
+040603,040603
+040604,040604
+040605,040605
+040606,040606
+040607,040607
+040608,040608
+040609,040609
+040611,040611
+040612,040612
+040613,040613
+040614,040614
+040615,040615
+040616,040616
+040617,040617
+040618,040618
+040619,040619
+040620,040620
+040621,040621
+040622,040622
+040623,040623
+040624,040624
+040625,040625
+040626,040626
+040627,040627
+040628,040628
+040629,040629
+040630,040630
+040631,040631
+040632,040632
+040633,040633
+040634,040634
+040635,040635
+040636,040636
+040637,040637
+040638,040638
+040639,040639
+040640,040640
+040641,040641
+040642,040642
+040643,040643
+040644,040644
+040645,040645
+040646,040646
+040647,040647
+040648,040648
+040649,040649
+040650,040650
+040651,040651
+040652,040652
+040653,040653
+040654,040654
+040655,040655
+040656,040656
+040657,040657
+040658,040658
+040659,040659
+040660,040660
+040661,040661
+040662,040662
+040663,040663
+040664,040664
+040665,040665
+040666,040666
+040667,040667
+040668,040668
+040669,040669
+040670,040670
+040671,040671
+040672,040672
+040673,040673
+040674,040674
+040675,040675
+040676,040676
+040677,040677
+040678,040678
+040679,040679
+040680,040680
+040681,040681
+040682,040682
+040683,040683
+040684,040684
+040685,040685
+040686,040686
+040687,040687
+040688,040688
+040689,040689
+040690,040690
+040691,040691
+040692,040692
+040693,040693
+040694,040694
+040695,040695
+040696,040696
+040697,040697
+040698,040698
+040699,040699
+040700,040700
+040701,040701
+040702,040702
+040703,040703
+040704,040704
+040705,040705
+040706,040706
+040707,040707
+040709,040709
+040710,040710
+040711,040711
+040712,040712
+040713,040713
+040714,040714
+040715,040715
+040716,040716
+040717,040717
+040718,040718
+040719,040719
+040720,040720
+040721,040721
+040722,040722
+040723,040723
+040725,040725
+040726,040726
+040727,040727
+040728,040728
+040729,040729
+040731,040731
+040732,040732
+040733,040733
+040734,040734
+040735,040735
+040736,040736
+040737,040737
+040738,040738
+040739,040739
+040740,040740
+040741,040741
+040742,040742
+040743,040743
+040744,040744
+040745,040745
+040746,040746
+040747,040747
+040748,040748
+040749,040749
+040750,040750
+040751,040751
+040752,040752
+040753,040753
+040754,040754
+040755,040755
+040756,040756
+040757,040757
+040758,040758
+040759,040759
+040760,040760
+040761,040761
+040762,040762
+040763,040763
+040764,040764
+040765,040765
+040766,040766
+040767,040767
+040768,040768
+040769,040769
+040770,040770
+040771,040771
+040772,040772
+040773,040773
+040774,040774
+040775,040775
+040776,040776
+040777,040777
+040778,040778
+040779,040779
+040780,040780
+040781,040781
+040782,040782
+040783,040783
+040784,040784
+040785,040785
+040786,040786
+040787,040787
+040788,040788
+040789,040789
+040790,040790
+040791,040791
+040792,040792
+040793,040793
+040794,040794
+040795,040795
+040796,040796
+040797,040797
+040798,040798
+040799,040799
+040800,040800
+040801,040801
+040802,040802
+040803,040803
+040804,040804
+040805,040805
+040806,040806
+040807,040807
+040808,040808
+040809,040809
+040810,040810
+040811,040811
+040812,040812
+040813,040813
+040814,040814
+040815,040815
+040816,040816
+040817,040817
+040818,040818
+040819,040819
+040820,040820
+040821,040821
+040822,040822
+040823,040823
+040824,040824
+040825,040825
+040826,040826
+040827,040827
+040828,040828
+040829,040829
+040830,040830
+040831,040831
+040832,040832
+040833,040833
+040834,040834
+040835,040835
+040836,040836
+040837,040837
+040838,040838
+040839,040839
+040840,040840
+040841,040841
+040842,040842
+040843,040843
+040844,040844
+040845,040845
+040846,040846
+040847,040847
+040848,040848
+040849,040849
+040850,040850
+040851,040851
+040852,040852
+040853,040853
+040854,040854
+040855,040855
+040856,040856
+040857,040857
+040858,040858
+040859,040859
+040861,040861
+040862,040862
+040863,040863
+040865,040865
+040866,040866
+040867,040867
+040868,040868
+040869,040869
+040870,040870
+040871,040871
+040872,040872
+040873,040873
+040874,040874
+040875,040875
+040876,040876
+040877,040877
+040878,040878
+040879,040879
+040880,040880
+040881,040881
+040882,040882
+040883,040883
+040884,040884
+040886,040886
+040887,040887
+040888,040888
+040889,040889
+040890,040890
+040891,040891
+040892,040892
+040893,040893
+040894,040894
+040895,040895
+040896,040896
+040897,040897
+040898,040898
+040899,040899
+040900,040900
+040901,040901
+040902,040902
+040904,040904
+040905,040905
+040906,040906
+040907,040907
+040908,040908
+040909,040909
+040910,040910
+040911,040911
+040912,040912
+040913,040913
+040914,040914
+040915,040915
+040916,040916
+040917,040917
+040918,040918
+040919,040919
+040920,040920
+040921,040921
+040922,040922
+040923,040923
+040924,040924
+040925,040925
+040926,040926
+040927,040927
+040928,040928
+040929,040929
+040930,040930
+040931,040931
+040932,040932
+040933,040933
+040934,040934
+040935,040935
+040936,040936
+040937,040937
+040938,040938
+040939,040939
+040940,040940
+040941,040941
+040942,040942
+040943,040943
+040945,040945
+040947,040947
+040949,040949
+040950,040950
+040951,040951
+040952,040952
+040953,040953
+040954,040954
+040955,040955
+040956,040956
+040957,040957
+040958,040958
+040959,040959
+040960,040960
+040961,040961
+040962,040962
+040963,040963
+040964,040964
+040965,040965
+040966,040966
+040967,040967
+040968,040968
+040969,040969
+040970,040970
+040971,040971
+040972,040972
+040973,040973
+040974,040974
+040975,040975
+040976,040976
+040977,040977
+040978,040978
+040980,040980
+040981,040981
+040982,040982
+040983,040983
+040984,040984
+040985,040985
+040986,040986
+040987,040987
+040988,040988
+040989,040989
+040991,040991
+040992,040992
+040993,040993
+040994,040994
+040995,040995
+040996,040996
+040997,040997
+040998,040998
+040999,040999
+041000,041000
+041001,041001
+041002,041002
+041003,041003
+041004,041004
+041005,041005
+041006,041006
+041007,041007
+041008,041008
+041009,041009
+041010,041010
+041011,041011
+041012,041012
+041013,041013
+041014,041014
+041015,041015
+041016,041016
+041017,041017
+041018,041018
+041019,041019
+041020,041020
+041021,041021
+041022,041022
+041023,041023
+041024,041024
+041025,041025
+041026,041026
+041027,041027
+041028,041028
+041029,041029
+041030,041030
+041031,041031
+041032,041032
+041033,041033
+041034,041034
+041035,041035
+041036,041036
+041037,041037
+041038,041038
+041039,041039
+041040,041040
+041041,041041
+041042,041042
+041043,041043
+041044,041044
+041045,041045
+041046,041046
+041047,041047
+041049,041049
+041050,041050
+041051,041051
+041052,041052
+041053,041053
+041054,041054
+041055,041055
+041056,041056
+041057,041057
+041058,041058
+041059,041059
+041060,041060
+041061,041061
+041062,041062
+041063,041063
+041064,041064
+041065,041065
+041066,041066
+041067,041067
+041068,041068
+041069,041069
+041070,041070
+041071,041071
+041072,041072
+041073,041073
+041074,041074
+041075,041075
+041076,041076
+041077,041077
+041078,041078
+041079,041079
+041080,041080
+041081,041081
+041082,041082
+041083,041083
+041084,041084
+041085,041085
+041086,041086
+041087,041087
+041088,041088
+041089,041089
+041090,041090
+041091,041091
+041092,041092
+041093,041093
+041094,041094
+041095,041095
+041096,041096
+041097,041097
+041098,041098
+041099,041099
+041100,041100
+041101,041101
+041102,041102
+041103,041103
+041104,041104
+041105,041105
+041106,041106
+041107,041107
+041108,041108
+041109,041109
+041110,041110
+041111,041111
+041112,041112
+041114,041114
+041115,041115
+041116,041116
+041117,041117
+041118,041118
+041119,041119
+041120,041120
+041121,041121
+041122,041122
+041123,041123
+041124,041124
+041125,041125
+041126,041126
+041127,041127
+041128,041128
+041129,041129
+041130,041130
+041131,041131
+041132,041132
+041133,041133
+041134,041134
+041135,041135
+041136,041136
+041137,041137
+041138,041138
+041139,041139
+041140,041140
+041141,041141
+041142,041142
+041143,041143
+041144,041144
+041145,041145
+041146,041146
+041147,041147
+041148,041148
+041149,041149
+041150,041150
+041151,041151
+041152,041152
+041153,041153
+041154,041154
+041155,041155
+041156,041156
+041157,041157
+041158,041158
+041159,041159
+041160,041160
+041161,041161
+041162,041162
+041163,041163
+041164,041164
+041165,041165
+041166,041166
+041167,041167
+041168,041168
+041169,041169
+041170,041170
+041171,041171
+041172,041172
+041173,041173
+041174,041174
+041175,041175
+041176,041176
+041177,041177
+041178,041178
+041179,041179
+041180,041180
+041181,041181
+041182,041182
+041183,041183
+041184,041184
+041185,041185
+041186,041186
+041187,041187
+041188,041188
+041189,041189
+041190,041190
+041191,041191
+041192,041192
+041193,041193
+041194,041194
+041195,041195
+041196,041196
+041197,041197
+041198,041198
+041199,041199
+041200,041200
+041201,041201
+041202,041202
+041203,041203
+041204,041204
+041205,041205
+041206,041206
+041207,041207
+041208,041208
+041209,041209
+041210,041210
+041211,041211
+041212,041212
+041213,041213
+041214,041214
+041216,041216
+041217,041217
+041218,041218
+041219,041219
+041220,041220
+041221,041221
+041222,041222
+041223,041223
+041224,041224
+041226,041226
+041227,041227
+041228,041228
+041229,041229
+041230,041230
+041231,041231
+041232,041232
+041233,041233
+041234,041234
+041235,041235
+041236,041236
+041237,041237
+041238,041238
+041239,041239
+041240,041240
+041241,041241
+041242,041242
+041244,041244
+041245,041245
+041246,041246
+041247,041247
+041248,041248
+041249,041249
+041250,041250
+041251,041251
+041252,041252
+041253,041253
+041254,041254
+041256,041256
+041257,041257
+041258,041258
+041259,041259
+041260,041260
+041261,041261
+041262,041262
+041263,041263
+041264,041264
+041265,041265
+041266,041266
+041267,041267
+041268,041268
+041269,041269
+041270,041270
+041271,041271
+041272,041272
+041273,041273
+041274,041274
+041275,041275
+041276,041276
+041277,041277
+041278,041278
+041279,041279
+041280,041280
+041281,041281
+041282,041282
+041283,041283
+041284,041284
+041285,041285
+041286,041286
+041287,041287
+041288,041288
+041289,041289
+041290,041290
+041292,041292
+041293,041293
+041294,041294
+041295,041295
+041296,041296
+041297,041297
+041298,041298
+041299,041299
+041300,041300
+041301,041301
+041302,041302
+041304,041304
+041305,041305
+041306,041306
+041307,041307
+041308,041308
+041309,041309
+041310,041310
+041311,041311
+041312,041312
+041313,041313
+041314,041314
+041315,041315
+041317,041317
+041318,041318
+041319,041319
+041320,041320
+041321,041321
+041322,041322
+041323,041323
+041324,041324
+041325,041325
+041326,041326
+041327,041327
+041328,041328
+041329,041329
+041330,041330
+041331,041331
+041332,041332
+041333,041333
+041334,041334
+041335,041335
+041336,041336
+041337,041337
+041338,041338
+041339,041339
+041340,041340
+041341,041341
+041342,041342
+041343,041343
+041344,041344
+041345,041345
+041346,041346
+041347,041347
+041348,041348
+041349,041349
+041350,041350
+041351,041351
+041352,041352
+041353,041353
+041354,041354
+041355,041355
+041356,041356
+041357,041357
+041358,041358
+041359,041359
+041360,041360
+041361,041361
+041362,041362
+041363,041363
+041364,041364
+041365,041365
+041366,041366
+041367,041367
+041368,041368
+041369,041369
+041370,041370
+041371,041371
+041372,041372
+041373,041373
+041374,041374
+041375,041375
+041376,041376
+041377,041377
+041378,041378
+041379,041379
+041380,041380
+041381,041381
+041382,041382
+041383,041383
+041384,041384
+041385,041385
+041386,041386
+041387,041387
+041388,041388
+041389,041389
+041390,041390
+041391,041391
+041392,041392
+041393,041393
+041394,041394
+041395,041395
+041396,041396
+041397,041397
+041398,041398
+041399,041399
+041400,041400
+041401,041401
+041402,041402
+041403,041403
+041404,041404
+041405,041405
+041406,041406
+041407,041407
+041408,041408
+041409,041409
+041410,041410
+041411,041411
+041412,041412
+041413,041413
+041414,041414
+041415,041415
+041416,041416
+041418,041418
+041419,041419
+041420,041420
+041421,041421
+041422,041422
+041423,041423
+041424,041424
+041425,041425
+041426,041426
+041427,041427
+041428,041428
+041429,041429
+041430,041430
+041431,041431
+041432,041432
+041433,041433
+041434,041434
+041435,041435
+041436,041436
+041437,041437
+041438,041438
+041439,041439
+041440,041440
+041441,041441
+041442,041442
+041443,041443
+041444,041444
+041445,041445
+041446,041446
+041447,041447
+041448,041448
+041449,041449
+041450,041450
+041451,041451
+041452,041452
+041453,041453
+041454,041454
+041455,041455
+041456,041456
+041457,041457
+041458,041458
+041459,041459
+041460,041460
+041461,041461
+041462,041462
+041463,041463
+041464,041464
+041465,041465
+041466,041466
+041467,041467
+041469,041469
+041470,041470
+041471,041471
+041472,041472
+041474,041474
+041475,041475
+041476,041476
+041477,041477
+041479,041479
+041480,041480
+041481,041481
+041482,041482
+041483,041483
+041484,041484
+041485,041485
+041486,041486
+041487,041487
+041489,041489
+041490,041490
+041491,041491
+041492,041492
+041493,041493
+041494,041494
+041495,041495
+041496,041496
+041497,041497
+041498,041498
+041499,041499
+041500,041500
+041501,041501
+041503,041503
+041504,041504
+041506,041506
+041507,041507
+041508,041508
+041509,041509
+041510,041510
+041511,041511
+041512,041512
+041513,041513
+041514,041514
+041515,041515
+041516,041516
+041517,041517
+041518,041518
+041519,041519
+041520,041520
+041521,041521
+041522,041522
+041523,041523
+041524,041524
+041525,041525
+041526,041526
+041527,041527
+041528,041528
+041529,041529
+041530,041530
+041531,041531
+041532,041532
+041533,041533
+041534,041534
+041535,041535
+041536,041536
+041537,041537
+041538,041538
+041539,041539
+041540,041540
+041541,041541
+041542,041542
+041543,041543
+041544,041544
+041545,041545
+041546,041546
+041547,041547
+041548,041548
+041549,041549
+041550,041550
+041551,041551
+041552,041552
+041553,041553
+041554,041554
+041556,041556
+041557,041557
+041558,041558
+041559,041559
+041561,041561
+041562,041562
+041563,041563
+041564,041564
+041565,041565
+041566,041566
+041567,041567
+041568,041568
+041569,041569
+041570,041570
+041571,041571
+041572,041572
+041573,041573
+041575,041575
+041576,041576
+041577,041577
+041578,041578
+041579,041579
+041580,041580
+041581,041581
+041582,041582
+041583,041583
+041584,041584
+041585,041585
+041586,041586
+041587,041587
+041588,041588
+041589,041589
+041590,041590
+041591,041591
+041592,041592
+041593,041593
+041595,041595
+041596,041596
+041597,041597
+041598,041598
+041599,041599
+041600,041600
+041601,041601
+041602,041602
+041603,041603
+041604,041604
+041605,041605
+041606,041606
+041607,041607
+041608,041608
+041609,041609
+041610,041610
+041611,041611
+041612,041612
+041613,041613
+041614,041614
+041615,041615
+041616,041616
+041617,041617
+041618,041618
+041619,041619
+041620,041620
+041621,041621
+041622,041622
+041623,041623
+041624,041624
+041625,041625
+041626,041626
+041627,041627
+041628,041628
+041629,041629
+041630,041630
+041631,041631
+041632,041632
+041633,041633
+041634,041634
+041635,041635
+041636,041636
+041637,041637
+041638,041638
+041639,041639
+041640,041640
+041641,041641
+041642,041642
+041643,041643
+041644,041644
+041645,041645
+041646,041646
+041647,041647
+041648,041648
+041649,041649
+041650,041650
+041651,041651
+041652,041652
+041653,041653
+041654,041654
+041655,041655
+041656,041656
+041657,041657
+041658,041658
+041659,041659
+041660,041660
+041661,041661
+041662,041662
+041664,041664
+041665,041665
+041666,041666
+041667,041667
+041668,041668
+041669,041669
+041670,041670
+041671,041671
+041672,041672
+041673,041673
+041674,041674
+041675,041675
+041676,041676
+041677,041677
+041678,041678
+041679,041679
+041680,041680
+041681,041681
+041682,041682
+041683,041683
+041684,041684
+041685,041685
+041686,041686
+041687,041687
+041688,041688
+041689,041689
+041690,041690
+041691,041691
+041692,041692
+041693,041693
+041694,041694
+041695,041695
+041696,041696
+041697,041697
+041698,041698
+041699,041699
+041700,041700
+041701,041701
+041702,041702
+041703,041703
+041704,041704
+041705,041705
+041706,041706
+041707,041707
+041708,041708
+041709,041709
+041710,041710
+041711,041711
+041712,041712
+041713,041713
+041714,041714
+041715,041715
+041716,041716
+041717,041717
+041718,041718
+041719,041719
+041720,041720
+041721,041721
+041722,041722
+041723,041723
+041724,041724
+041725,041725
+041726,041726
+041727,041727
+041728,041728
+041729,041729
+041730,041730
+041731,041731
+041732,041732
+041733,041733
+041734,041734
+041735,041735
+041736,041736
+041737,041737
+041738,041738
+041739,041739
+041740,041740
+041741,041741
+041742,041742
+041743,041743
+041744,041744
+041745,041745
+041746,041746
+041747,041747
+041748,041748
+041749,041749
+041750,041750
+041751,041751
+041752,041752
+041753,041753
+041754,041754
+041755,041755
+041756,041756
+041757,041757
+041758,041758
+041759,041759
+041760,041760
+041761,041761
+041762,041762
+041763,041763
+041764,041764
+041765,041765
+041766,041766
+041767,041767
+041768,041768
+041769,041769
+041770,041770
+041771,041771
+041772,041772
+041773,041773
+041774,041774
+041775,041775
+041776,041776
+041777,041777
+041779,041779
+041780,041780
+041781,041781
+041782,041782
+041784,041784
+041785,041785
+041786,041786
+041787,041787
+041788,041788
+041789,041789
+041790,041790
+041791,041791
+041792,041792
+041793,041793
+041794,041794
+041795,041795
+041796,041796
+041797,041797
+041798,041798
+041799,041799
+041800,041800
+041801,041801
+041802,041802
+041803,041803
+041804,041804
+041805,041805
+041806,041806
+041808,041808
+041809,041809
+041810,041810
+041811,041811
+041812,041812
+041813,041813
+041814,041814
+041815,041815
+041816,041816
+041817,041817
+041818,041818
+041819,041819
+041820,041820
+041821,041821
+041822,041822
+041823,041823
+041824,041824
+041825,041825
+041826,041826
+041827,041827
+041828,041828
+041829,041829
+041830,041830
+041831,041831
+041832,041832
+041833,041833
+041834,041834
+041835,041835
+041836,041836
+041837,041837
+041838,041838
+041839,041839
+041840,041840
+041841,041841
+041842,041842
+041843,041843
+041844,041844
+041845,041845
+041846,041846
+041847,041847
+041848,041848
+041849,041849
+041850,041850
+041851,041851
+041852,041852
+041853,041853
+041854,041854
+041855,041855
+041856,041856
+041857,041857
+041858,041858
+041859,041859
+041860,041860
+041861,041861
+041862,041862
+041863,041863
+041864,041864
+041865,041865
+041866,041866
+041867,041867
+041868,041868
+041869,041869
+041870,041870
+041871,041871
+041872,041872
+041873,041873
+041874,041874
+041875,041875
+041876,041876
+041877,041877
+041878,041878
+041879,041879
+041880,041880
+041881,041881
+041882,041882
+041883,041883
+041884,041884
+041885,041885
+041886,041886
+041887,041887
+041888,041888
+041889,041889
+041890,041890
+041891,041891
+041892,041892
+041893,041893
+041894,041894
+041895,041895
+041896,041896
+041897,041897
+041898,041898
+041899,041899
+041900,041900
+041901,041901
+041902,041902
+041903,041903
+041904,041904
+041905,041905
+041906,041906
+041907,041907
+041908,041908
+041909,041909
+041910,041910
+041911,041911
+041912,041912
+041913,041913
+041914,041914
+041915,041915
+041916,041916
+041917,041917
+041918,041918
+041919,041919
+041920,041920
+041921,041921
+041922,041922
+041923,041923
+041924,041924
+041925,041925
+041926,041926
+041927,041927
+041928,041928
+041929,041929
+041930,041930
+041931,041931
+041932,041932
+041933,041933
+041934,041934
+041935,041935
+041936,041936
+041937,041937
+041938,041938
+041939,041939
+041940,041940
+041941,041941
+041942,041942
+041943,041943
+041944,041944
+041945,041945
+041946,041946
+041947,041947
+041948,041948
+041949,041949
+041950,041950
+041951,041951
+041952,041952
+041953,041953
+041954,041954
+041955,041955
+041956,041956
+041957,041957
+041958,041958
+041959,041959
+041960,041960
+041961,041961
+041962,041962
+041963,041963
+041964,041964
+041965,041965
+041966,041966
+041967,041967
+041968,041968
+041969,041969
+041970,041970
+041971,041971
+041972,041972
+041973,041973
+041974,041974
+041975,041975
+041976,041976
+041977,041977
+041978,041978
+041979,041979
+041980,041980
+041981,041981
+041982,041982
+041983,041983
+041984,041984
+041985,041985
+041986,041986
+041987,041987
+041988,041988
+041989,041989
+041990,041990
+041991,041991
+041992,041992
+041993,041993
+041994,041994
+041995,041995
+041996,041996
+041997,041997
+041998,041998
+041999,041999
+042000,042000
+042001,042001
+042002,042002
+042003,042003
+042004,042004
+042005,042005
+042006,042006
+042007,042007
+042008,042008
+042009,042009
+042010,042010
+042011,042011
+042012,042012
+042013,042013
+042014,042014
+042015,042015
+042016,042016
+042017,042017
+042018,042018
+042019,042019
+042020,042020
+042021,042021
+042022,042022
+042023,042023
+042024,042024
+042025,042025
+042026,042026
+042027,042027
+042028,042028
+042029,042029
+042030,042030
+042031,042031
+042032,042032
+042033,042033
+042034,042034
+042035,042035
+042036,042036
+042037,042037
+042038,042038
+042039,042039
+042040,042040
+042041,042041
+042042,042042
+042043,042043
+042044,042044
+042045,042045
+042046,042046
+042048,042048
+042049,042049
+042050,042050
+042051,042051
+042052,042052
+042053,042053
+042054,042054
+042055,042055
+042056,042056
+042057,042057
+042058,042058
+042059,042059
+042060,042060
+042061,042061
+042062,042062
+042063,042063
+042064,042064
+042065,042065
+042066,042066
+042067,042067
+042068,042068
+042069,042069
+042070,042070
+042071,042071
+042072,042072
+042073,042073
+042074,042074
+042075,042075
+042076,042076
+042077,042077
+042078,042078
+042079,042079
+042080,042080
+042081,042081
+042082,042082
+042083,042083
+042084,042084
+042085,042085
+042086,042086
+042087,042087
+042088,042088
+042089,042089
+042090,042090
+042091,042091
+042092,042092
+042093,042093
+042094,042094
+042095,042095
+042096,042096
+042097,042097
+042098,042098
+042099,042099
+042100,042100
+042101,042101
+042102,042102
+042103,042103
+042104,042104
+042105,042105
+042106,042106
+042107,042107
+042108,042108
+042109,042109
+042110,042110
+042111,042111
+042112,042112
+042113,042113
+042114,042114
+042115,042115
+042116,042116
+042117,042117
+042118,042118
+042119,042119
+042121,042121
+042122,042122
+042123,042123
+042124,042124
+042125,042125
+042126,042126
+042127,042127
+042128,042128
+042129,042129
+042131,042131
+042132,042132
+042133,042133
+042134,042134
+042135,042135
+042136,042136
+042137,042137
+042138,042138
+042140,042140
+042141,042141
+042142,042142
+042143,042143
+042144,042144
+042145,042145
+042146,042146
+042147,042147
+042148,042148
+042149,042149
+042150,042150
+042151,042151
+042152,042152
+042153,042153
+042154,042154
+042155,042155
+042156,042156
+042157,042157
+042159,042159
+042160,042160
+042161,042161
+042162,042162
+042163,042163
+042164,042164
+042165,042165
+042166,042166
+042167,042167
+042168,042168
+042169,042169
+042170,042170
+042171,042171
+042172,042172
+042173,042173
+042174,042174
+042175,042175
+042176,042176
+042177,042177
+042178,042178
+042179,042179
+042180,042180
+042181,042181
+042182,042182
+042183,042183
+042184,042184
+042185,042185
+042186,042186
+042187,042187
+042188,042188
+042189,042189
+042190,042190
+042191,042191
+042192,042192
+042193,042193
+042194,042194
+042195,042195
+042196,042196
+042197,042197
+042198,042198
+042199,042199
+042200,042200
+042201,042201
+042202,042202
+042203,042203
+042204,042204
+042205,042205
+042206,042206
+042207,042207
+042208,042208
+042209,042209
+042210,042210
+042211,042211
+042212,042212
+042213,042213
+042214,042214
+042215,042215
+042216,042216
+042217,042217
+042218,042218
+042219,042219
+042220,042220
+042221,042221
+042222,042222
+042223,042223
+042224,042224
+042225,042225
+042226,042226
+042227,042227
+042228,042228
+042229,042229
+042230,042230
+042231,042231
+042232,042232
+042233,042233
+042234,042234
+042235,042235
+042236,042236
+042237,042237
+042238,042238
+042239,042239
+042240,042240
+042241,042241
+042242,042242
+042243,042243
+042244,042244
+042245,042245
+042246,042246
+042247,042247
+042248,042248
+042249,042249
+042250,042250
+042251,042251
+042252,042252
+042253,042253
+042254,042254
+042255,042255
+042256,042256
+042257,042257
+042258,042258
+042259,042259
+042260,042260
+042261,042261
+042262,042262
+042263,042263
+042264,042264
+042265,042265
+042266,042266
+042267,042267
+042268,042268
+042269,042269
+042270,042270
+042271,042271
+042272,042272
+042273,042273
+042274,042274
+042275,042275
+042276,042276
+042277,042277
+042278,042278
+042279,042279
+042280,042280
+042281,042281
+042282,042282
+042283,042283
+042284,042284
+042285,042285
+042286,042286
+042287,042287
+042288,042288
+042289,042289
+042290,042290
+042291,042291
+042292,042292
+042293,042293
+042294,042294
+042295,042295
+042296,042296
+042297,042297
+042298,042298
+042299,042299
+042300,042300
+042301,042301
+042302,042302
+042303,042303
+042304,042304
+042305,042305
+042306,042306
+042307,042307
+042308,042308
+042309,042309
+042310,042310
+042311,042311
+042312,042312
+042313,042313
+042314,042314
+042315,042315
+042316,042316
+042317,042317
+042318,042318
+042319,042319
+042320,042320
+042321,042321
+042322,042322
+042323,042323
+042324,042324
+042325,042325
+042326,042326
+042327,042327
+042328,042328
+042329,042329
+042330,042330
+042331,042331
+042332,042332
+042333,042333
+042334,042334
+042335,042335
+042337,042337
+042338,042338
+042339,042339
+042340,042340
+042341,042341
+042342,042342
+042343,042343
+042344,042344
+042345,042345
+042346,042346
+042347,042347
+042348,042348
+042349,042349
+042350,042350
+042351,042351
+042352,042352
+042353,042353
+042354,042354
+042355,042355
+042356,042356
+042357,042357
+042358,042358
+042359,042359
+042360,042360
+042361,042361
+042362,042362
+042363,042363
+042364,042364
+042365,042365
+042366,042366
+042367,042367
+042368,042368
+042369,042369
+042370,042370
+042371,042371
+042372,042372
+042373,042373
+042374,042374
+042375,042375
+042376,042376
+042377,042377
+042378,042378
+042379,042379
+042380,042380
+042381,042381
+042382,042382
+042383,042383
+042384,042384
+042385,042385
+042387,042387
+042389,042389
+042390,042390
+042391,042391
+042392,042392
+042393,042393
+042394,042394
+042395,042395
+042396,042396
+042397,042397
+042398,042398
+042399,042399
+042400,042400
+042401,042401
+042402,042402
+042403,042403
+042404,042404
+042405,042405
+042406,042406
+042407,042407
+042408,042408
+042409,042409
+042410,042410
+042411,042411
+042412,042412
+042413,042413
+042414,042414
+042415,042415
+042416,042416
+042417,042417
+042418,042418
+042419,042419
+042420,042420
+042421,042421
+042422,042422
+042423,042423
+042424,042424
+042425,042425
+042426,042426
+042427,042427
+042428,042428
+042429,042429
+042430,042430
+042431,042431
+042432,042432
+042433,042433
+042434,042434
+042435,042435
+042436,042436
+042437,042437
+042438,042438
+042439,042439
+042440,042440
+042441,042441
+042442,042442
+042443,042443
+042444,042444
+042445,042445
+042446,042446
+042447,042447
+042448,042448
+042449,042449
+042450,042450
+042451,042451
+042452,042452
+042453,042453
+042454,042454
+042455,042455
+042456,042456
+042457,042457
+042458,042458
+042459,042459
+042460,042460
+042461,042461
+042462,042462
+042463,042463
+042464,042464
+042465,042465
+042466,042466
+042467,042467
+042468,042468
+042469,042469
+042470,042470
+042471,042471
+042472,042472
+042473,042473
+042474,042474
+042475,042475
+042476,042476
+042477,042477
+042478,042478
+042479,042479
+042480,042480
+042481,042481
+042482,042482
+042483,042483
+042484,042484
+042485,042485
+042486,042486
+042487,042487
+042489,042489
+042490,042490
+042491,042491
+042492,042492
+042493,042493
+042494,042494
+042495,042495
+042496,042496
+042497,042497
+042498,042498
+042499,042499
+042500,042500
+042501,042501
+042502,042502
+042503,042503
+042504,042504
+042505,042505
+042506,042506
+042507,042507
+042508,042508
+042509,042509
+042510,042510
+042511,042511
+042512,042512
+042514,042514
+042515,042515
+042516,042516
+042518,042518
+042519,042519
+042520,042520
+042521,042521
+042522,042522
+042523,042523
+042524,042524
+042525,042525
+042526,042526
+042527,042527
+042528,042528
+042529,042529
+042530,042530
+042531,042531
+042532,042532
+042534,042534
+042535,042535
+042536,042536
+042537,042537
+042538,042538
+042540,042540
+042541,042541
+042542,042542
+042543,042543
+042544,042544
+042545,042545
+042546,042546
+042548,042548
+042549,042549
+042550,042550
+042552,042552
+042553,042553
+042554,042554
+042555,042555
+042556,042556
+042557,042557
+042558,042558
+042559,042559
+042560,042560
+042561,042561
+042562,042562
+042563,042563
+042564,042564
+042565,042565
+042566,042566
+042567,042567
+042568,042568
+042569,042569
+042570,042570
+042571,042571
+042572,042572
+042573,042573
+042574,042574
+042575,042575
+042576,042576
+042577,042577
+042578,042578
+042579,042579
+042580,042580
+042581,042581
+042582,042582
+042583,042583
+042584,042584
+042585,042585
+042586,042586
+042587,042587
+042588,042588
+042589,042589
+042590,042590
+042591,042591
+042592,042592
+042593,042593
+042594,042594
+042595,042595
+042596,042596
+042597,042597
+042598,042598
+042599,042599
+042600,042600
+042601,042601
+042602,042602
+042603,042603
+042604,042604
+042605,042605
+042606,042606
+042607,042607
+042608,042608
+042609,042609
+042610,042610
+042611,042611
+042612,042612
+042613,042613
+042614,042614
+042615,042615
+042616,042616
+042617,042617
+042618,042618
+042619,042619
+042620,042620
+042621,042621
+042622,042622
+042623,042623
+042624,042624
+042626,042626
+042627,042627
+042628,042628
+042629,042629
+042630,042630
+042631,042631
+042632,042632
+042633,042633
+042634,042634
+042635,042635
+042636,042636
+042637,042637
+042638,042638
+042639,042639
+042640,042640
+042641,042641
+042642,042642
+042643,042643
+042644,042644
+042646,042646
+042647,042647
+042648,042648
+042649,042649
+042650,042650
+042652,042652
+042653,042653
+042654,042654
+042655,042655
+042656,042656
+042657,042657
+042658,042658
+042659,042659
+042660,042660
+042661,042661
+042662,042662
+042663,042663
+042664,042664
+042665,042665
+042666,042666
+042667,042667
+042668,042668
+042669,042669
+042670,042670
+042671,042671
+042672,042672
+042673,042673
+042674,042674
+042675,042675
+042676,042676
+042677,042677
+042678,042678
+042679,042679
+042680,042680
+042681,042681
+042682,042682
+042683,042683
+042684,042684
+042685,042685
+042686,042686
+042687,042687
+042688,042688
+042689,042689
+042690,042690
+042691,042691
+042692,042692
+042693,042693
+042694,042694
+042695,042695
+042696,042696
+042697,042697
+042698,042698
+042699,042699
+042700,042700
+042701,042701
+042702,042702
+042703,042703
+042704,042704
+042705,042705
+042706,042706
+042707,042707
+042708,042708
+042709,042709
+042710,042710
+042711,042711
+042712,042712
+042713,042713
+042714,042714
+042715,042715
+042716,042716
+042717,042717
+042718,042718
+042719,042719
+042720,042720
+042721,042721
+042722,042722
+042723,042723
+042724,042724
+042725,042725
+042726,042726
+042727,042727
+042728,042728
+042729,042729
+042731,042731
+042732,042732
+042733,042733
+042734,042734
+042735,042735
+042736,042736
+042737,042737
+042738,042738
+042739,042739
+042740,042740
+042741,042741
+042742,042742
+042743,042743
+042744,042744
+042745,042745
+042746,042746
+042747,042747
+042748,042748
+042749,042749
+042750,042750
+042751,042751
+042752,042752
+042753,042753
+042754,042754
+042755,042755
+042756,042756
+042757,042757
+042758,042758
+042759,042759
+042760,042760
+042761,042761
+042762,042762
+042763,042763
+042764,042764
+042765,042765
+042766,042766
+042767,042767
+042768,042768
+042769,042769
+042770,042770
+042771,042771
+042772,042772
+042773,042773
+042774,042774
+042775,042775
+042776,042776
+042777,042777
+042778,042778
+042779,042779
+042780,042780
+042781,042781
+042782,042782
+042784,042784
+042785,042785
+042786,042786
+042787,042787
+042788,042788
+042789,042789
+042791,042791
+042792,042792
+042793,042793
+042794,042794
+042795,042795
+042796,042796
+042797,042797
+042798,042798
+042799,042799
+042800,042800
+042801,042801
+042802,042802
+042803,042803
+042804,042804
+042806,042806
+042807,042807
+042808,042808
+042809,042809
+042810,042810
+042811,042811
+042812,042812
+042813,042813
+042814,042814
+042815,042815
+042816,042816
+042817,042817
+042818,042818
+042819,042819
+042820,042820
+042822,042822
+042823,042823
+042824,042824
+042825,042825
+042826,042826
+042827,042827
+042828,042828
+042829,042829
+042830,042830
+042831,042831
+042832,042832
+042833,042833
+042834,042834
+042835,042835
+042836,042836
+042837,042837
+042838,042838
+042840,042840
+042841,042841
+042842,042842
+042843,042843
+042844,042844
+042845,042845
+042846,042846
+042847,042847
+042848,042848
+042849,042849
+042850,042850
+042851,042851
+042852,042852
+042853,042853
+042854,042854
+042855,042855
+042856,042856
+042857,042857
+042858,042858
+042859,042859
+042860,042860
+042861,042861
+042862,042862
+042863,042863
+042864,042864
+042865,042865
+042866,042866
+042867,042867
+042868,042868
+042869,042869
+042870,042870
+042872,042872
+042873,042873
+042874,042874
+042875,042875
+042876,042876
+042877,042877
+042878,042878
+042879,042879
+042880,042880
+042881,042881
+042882,042882
+042883,042883
+042884,042884
+042885,042885
+042886,042886
+042887,042887
+042888,042888
+042889,042889
+042890,042890
+042891,042891
+042892,042892
+042893,042893
+042894,042894
+042895,042895
+042896,042896
+042897,042897
+042898,042898
+042899,042899
+042900,042900
+042901,042901
+042902,042902
+042904,042904
+042905,042905
+042906,042906
+042907,042907
+042909,042909
+042910,042910
+042911,042911
+042912,042912
+042913,042913
+042914,042914
+042915,042915
+042916,042916
+042917,042917
+042918,042918
+042919,042919
+042920,042920
+042921,042921
+042922,042922
+042923,042923
+042924,042924
+042925,042925
+042926,042926
+042927,042927
+042928,042928
+042929,042929
+042930,042930
+042931,042931
+042932,042932
+042933,042933
+042934,042934
+042935,042935
+042936,042936
+042937,042937
+042938,042938
+042939,042939
+042940,042940
+042941,042941
+042942,042942
+042943,042943
+042944,042944
+042945,042945
+042946,042946
+042947,042947
+042948,042948
+042949,042949
+042950,042950
+042951,042951
+042952,042952
+042953,042953
+042954,042954
+042955,042955
+042956,042956
+042957,042957
+042958,042958
+042959,042959
+042960,042960
+042961,042961
+042962,042962
+042963,042963
+042964,042964
+042965,042965
+042966,042966
+042967,042967
+042968,042968
+042969,042969
+042970,042970
+042971,042971
+042972,042972
+042973,042973
+042974,042974
+042975,042975
+042976,042976
+042977,042977
+042978,042978
+042979,042979
+042980,042980
+042981,042981
+042982,042982
+042983,042983
+042984,042984
+042985,042985
+042986,042986
+042987,042987
+042988,042988
+042989,042989
+042990,042990
+042991,042991
+042992,042992
+042993,042993
+042994,042994
+042995,042995
+042996,042996
+042997,042997
+042998,042998
+043000,043000
+043001,043001
+043002,043002
+043003,043003
+043004,043004
+043005,043005
+043006,043006
+043007,043007
+043008,043008
+043009,043009
+043010,043010
+043011,043011
+043012,043012
+043013,043013
+043014,043014
+043015,043015
+043016,043016
+043017,043017
+043018,043018
+043019,043019
+043020,043020
+043021,043021
+043022,043022
+043023,043023
+043024,043024
+043025,043025
+043026,043026
+043027,043027
+043028,043028
+043029,043029
+043030,043030
+043031,043031
+043032,043032
+043033,043033
+043034,043034
+043035,043035
+043036,043036
+043037,043037
+043038,043038
+043039,043039
+043040,043040
+043041,043041
+043042,043042
+043043,043043
+043044,043044
+043045,043045
+043046,043046
+043047,043047
+043048,043048
+043049,043049
+043050,043050
+043051,043051
+043052,043052
+043053,043053
+043054,043054
+043055,043055
+043056,043056
+043057,043057
+043058,043058
+043059,043059
+043060,043060
+043061,043061
+043062,043062
+043063,043063
+043064,043064
+043065,043065
+043066,043066
+043067,043067
+043068,043068
+043069,043069
+043070,043070
+043071,043071
+043072,043072
+043073,043073
+043074,043074
+043075,043075
+043076,043076
+043077,043077
+043078,043078
+043079,043079
+043081,043081
+043082,043082
+043083,043083
+043084,043084
+043085,043085
+043086,043086
+043087,043087
+043088,043088
+043089,043089
+043090,043090
+043091,043091
+043092,043092
+043093,043093
+043094,043094
+043095,043095
+043096,043096
+043097,043097
+043098,043098
+043099,043099
+043100,043100
+043101,043101
+043102,043102
+043103,043103
+043104,043104
+043105,043105
+043106,043106
+043107,043107
+043108,043108
+043109,043109
+043110,043110
+043111,043111
+043112,043112
+043113,043113
+043114,043114
+043116,043116
+043117,043117
+043118,043118
+043119,043119
+043121,043121
+043122,043122
+043123,043123
+043124,043124
+043125,043125
+043126,043126
+043127,043127
+043128,043128
+043129,043129
+043130,043130
+043131,043131
+043132,043132
+043133,043133
+043134,043134
+043135,043135
+043136,043136
+043137,043137
+043138,043138
+043139,043139
+043140,043140
+043142,043142
+043143,043143
+043144,043144
+043145,043145
+043146,043146
+043147,043147
+043148,043148
+043149,043149
+043150,043150
+043151,043151
+043152,043152
+043153,043153
+043154,043154
+043155,043155
+043156,043156
+043157,043157
+043158,043158
+043159,043159
+043160,043160
+043161,043161
+043163,043163
+043164,043164
+043165,043165
+043166,043166
+043167,043167
+043168,043168
+043169,043169
+043170,043170
+043171,043171
+043172,043172
+043173,043173
+043174,043174
+043175,043175
+043176,043176
+043177,043177
+043178,043178
+043179,043179
+043180,043180
+043181,043181
+043182,043182
+043183,043183
+043184,043184
+043185,043185
+043186,043186
+043188,043188
+043189,043189
+043190,043190
+043191,043191
+043192,043192
+043193,043193
+043195,043195
+043196,043196
+043197,043197
+043198,043198
+043199,043199
+043200,043200
+043201,043201
+043202,043202
+043203,043203
+043204,043204
+043205,043205
+043206,043206
+043207,043207
+043208,043208
+043209,043209
+043210,043210
+043211,043211
+043212,043212
+043213,043213
+043214,043214
+043215,043215
+043216,043216
+043217,043217
+043218,043218
+043219,043219
+043221,043221
+043222,043222
+043223,043223
+043224,043224
+043225,043225
+043226,043226
+043227,043227
+043228,043228
+043229,043229
+043230,043230
+043231,043231
+043232,043232
+043233,043233
+043234,043234
+043235,043235
+043236,043236
+043237,043237
+043238,043238
+043239,043239
+043240,043240
+043241,043241
+043242,043242
+043243,043243
+043244,043244
+043245,043245
+043246,043246
+043247,043247
+043248,043248
+043249,043249
+043250,043250
+043251,043251
+043252,043252
+043253,043253
+043254,043254
+043255,043255
+043256,043256
+043257,043257
+043258,043258
+043259,043259
+043260,043260
+043261,043261
+043262,043262
+043263,043263
+043264,043264
+043265,043265
+043266,043266
+043267,043267
+043268,043268
+043269,043269
+043270,043270
+043271,043271
+043272,043272
+043273,043273
+043274,043274
+043275,043275
+043276,043276
+043277,043277
+043278,043278
+043279,043279
+043280,043280
+043281,043281
+043282,043282
+043283,043283
+043284,043284
+043285,043285
+043286,043286
+043287,043287
+043288,043288
+043289,043289
+043290,043290
+043291,043291
+043292,043292
+043293,043293
+043294,043294
+043295,043295
+043296,043296
+043297,043297
+043298,043298
+043299,043299
+043300,043300
+043301,043301
+043302,043302
+043303,043303
+043304,043304
+043305,043305
+043306,043306
+043307,043307
+043310,043310
+043311,043311
+043312,043312
+043313,043313
+043314,043314
+043315,043315
+043316,043316
+043317,043317
+043318,043318
+043319,043319
+043320,043320
+043321,043321
+043322,043322
+043323,043323
+043325,043325
+043326,043326
+043327,043327
+043328,043328
+043330,043330
+043331,043331
+043332,043332
+043333,043333
+043334,043334
+043335,043335
+043336,043336
+043337,043337
+043338,043338
+043339,043339
+043340,043340
+043341,043341
+043342,043342
+043343,043343
+043344,043344
+043345,043345
+043346,043346
+043347,043347
+043348,043348
+043350,043350
+043351,043351
+043352,043352
+043353,043353
+043354,043354
+043355,043355
+043356,043356
+043357,043357
+043358,043358
+043359,043359
+043360,043360
+043361,043361
+043362,043362
+043363,043363
+043364,043364
+043365,043365
+043366,043366
+043367,043367
+043368,043368
+043369,043369
+043370,043370
+043371,043371
+043372,043372
+043373,043373
+043374,043374
+043375,043375
+043376,043376
+043377,043377
+043378,043378
+043379,043379
+043380,043380
+043381,043381
+043382,043382
+043383,043383
+043384,043384
+043385,043385
+043386,043386
+043387,043387
+043388,043388
+043389,043389
+043390,043390
+043391,043391
+043392,043392
+043393,043393
+043394,043394
+043395,043395
+043396,043396
+043397,043397
+043398,043398
+043399,043399
+043400,043400
+043401,043401
+043402,043402
+043403,043403
+043404,043404
+043405,043405
+043406,043406
+043407,043407
+043408,043408
+043409,043409
+043410,043410
+043411,043411
+043412,043412
+043413,043413
+043414,043414
+043415,043415
+043416,043416
+043417,043417
+043418,043418
+043419,043419
+043421,043421
+043422,043422
+043424,043424
+043425,043425
+043427,043427
+043428,043428
+043429,043429
+043430,043430
+043431,043431
+043432,043432
+043433,043433
+043434,043434
+043435,043435
+043436,043436
+043437,043437
+043438,043438
+043439,043439
+043440,043440
+043441,043441
+043442,043442
+043443,043443
+043444,043444
+043445,043445
+043446,043446
+043447,043447
+043448,043448
+2020100105,2020100105
+043571,043571
+043572,043572
+043573,043573
+043574,043574
+043575,043575
+043576,043576
+043577,043577
+043578,043578
+043579,043579
+043580,043580
+043581,043581
+043582,043582
+043583,043583
+043584,043584
+043585,043585
+043586,043586
+043587,043587
+043588,043588
+043589,043589
+043590,043590
+043591,043591
+043592,043592
+043593,043593
+043594,043594
+043595,043595
+043596,043596
+043597,043597
+043598,043598
+043599,043599
+043600,043600
+043601,043601
+043602,043602
+043603,043603
+043604,043604
+043605,043605
+043606,043606
+043607,043607
+043608,043608
+043609,043609
+043610,043610
+043611,043611
+043612,043612
+043613,043613
+043614,043614
+043615,043615
+043616,043616
+043617,043617
+043618,043618
+043619,043619
+043620,043620
+043621,043621
+043622,043622
+043624,043624
+043625,043625
+043626,043626
+043627,043627
+043628,043628
+043629,043629
+043630,043630
+043631,043631
+043632,043632
+043633,043633
+043634,043634
+043635,043635
+043636,043636
+043637,043637
+043638,043638
+043639,043639
+043640,043640
+043642,043642
+043643,043643
+043644,043644
+043645,043645
+043646,043646
+043647,043647
+043648,043648
+043650,043650
+043651,043651
+043652,043652
+043653,043653
+043654,043654
+043655,043655
+043656,043656
+043657,043657
+043658,043658
+043659,043659
+043660,043660
+043661,043661
+043662,043662
+043663,043663
+043664,043664
+043665,043665
+043666,043666
+043667,043667
+043668,043668
+043669,043669
+043670,043670
+043671,043671
+043672,043672
+043673,043673
+043674,043674
+043675,043675
+043676,043676
+043677,043677
+043678,043678
+043679,043679
+043680,043680
+043681,043681
+043682,043682
+043683,043683
+043684,043684
+043685,043685
+043686,043686
+043687,043687
+043688,043688
+043689,043689
+043690,043690
+043691,043691
+043692 ,043692
+043693,043693
+043694,043694
+043695,043695
+043696,043696
+043698,043698
+043699,043699
+043700,043700
+043701,043701
+043702,043702
+043703,043703
+043704,043704
+043705,043705
+043706,043706
+043707,043707
+043708,043708
+043709,043709
+043710,043710
+043711,043711
+043712,043712
+043713,043713
+043714,043714
+043715,043715
+043716,043716
+043717,043717
+043718,043718
+043719,043719
+043720,043720
+043721,043721
+043722,043722
+043723,043723
+043724,043724
+043726,043726
+043727,043727
+043728,043728
+043729,043729
+043730,043730
+043731,043731
+043732,043732
+043733,043733
+043734,043734
+043735,043735
+043736,043736
+043737,043737
+043738,043738
+043740,043740
+043741,043741
+043742,043742
+043743,043743
+043744,043744
+043745,043745
+043746,043746
+043747,043747
+043748,043748
+043749,043749
+043750,043750
+043751,043751
+043752,043752
+043753,043753
+043754,043754
+043755,043755
+043756,043756
+043757,043757
+043758,043758
+043759,043759
+043760,043760
+043761,043761
+043762,043762
+043763,043763
+043764,043764
+043765,043765
+043766,043766
+043767,043767
+043769,043769
+043770,043770
+043771,043771
+043772,043772
+043773,043773
+043774,043774
+043775,043775
+043777,043777
+043778,043778
+043779,043779
+043780,043780
+043781,043781
+043782,043782
+043783,043783
+043784,043784
+043785,043785
+043786,043786
+043787,043787
+043788,043788
+043789,043789
+043790,043790
+043791,043791
+043792,043792
+043793,043793
+043794,043794
+043795,043795
+043796,043796
+043797,043797
+043798,043798
+043799,043799
+043800,043800
+043801,043801
+043802,043802
+043803,043803
+043804,043804
+043805,043805
+043806,043806
+043807,043807
+043808,043808
+043809,043809
+043810,043810
+043811,043811
+043812,043812
+043813,043813
+043814,043814
+043815,043815
+043816,043816
+043817,043817
+043818,043818
+043819,043819
+043820,043820
+043821,043821
+043822,043822
+043823,043823
+043824,043824
+043825,043825
+043826,043826
+043827,043827
+043828,043828
+043829,043829
+043830,043830
+043831,043831
+043832,043832
+043833,043833
+043834,043834
+043835,043835
+043836,043836
+043837,043837
+043838,043838
+043839,043839
+043840,043840
+043841,043841
+043842,043842
+043843,043843
+043844,043844
+043845,043845
+043846,043846
+043847,043847
+043848,043848
+043849,043849
+043850,043850
+043851,043851
+043852,043852
+043853,043853
+043854,043854
+043855,043855
+043856,043856
+043857,043857
+043858,043858
+043859,043859
+043860,043860
+043861,043861
+043862,043862
+043863,043863
+043864,043864
+043865,043865
+043866,043866
+043867,043867
+043868,043868
+043869,043869
+043870,043870
+043871,043871
+043872,043872
+043873,043873
+043874,043874
+043875,043875
+043876,043876
+043877,043877
+043878,043878
+043879,043879
+043880,043880
+043881,043881
+043882,043882
+043883,043883
+043884,043884
+043885,043885
+043886,043886
+043887,043887
+043888,043888
+043889,043889
+043890,043890
+043891,043891
+043892,043892
+043893,043893
+043894,043894
+043895,043895
+043896,043896
+043897,043897
+043898,043898
+043899,043899
+043900,043900
+043901,043901
+043903,043903
+043904,043904
+043905,043905
+043906,043906
+043907,043907
+043908,043908
+043909,043909
+043910,043910
+043911,043911
+043912,043912
+043913,043913
+043914,043914
+043915,043915
+043916,043916
+043917,043917
+043918,043918
+043919,043919
+043920,043920
+043921,043921
+043922,043922
+043923,043923
+043924,043924
+043925,043925
+043926,043926
+043927,043927
+043928,043928
+043929,043929
+043930,043930
+043931,043931
+043932,043932
+043933,043933
+043935,043935
+043936,043936
+043937,043937
+043938,043938
+00100003,00100003
+046010001,046010001
+046010002,046010002
+046010003,046010003
+046010004,046010004
+046010005,046010005
+046010006,046010006
+046010007,046010007
+046010008,046010008
+046010009,046010009
+046010010,046010010
+046010011,046010011
+046010012,046010012
+046010013,046010013
+046010014,046010014
+046010015,046010015
+046010016,046010016
+046010017,046010017
+046010018,046010018
+046010019,046010019
+046010020,046010020
+046010021,046010021
+046010022,046010022
+046010023,046010023
+046010024,046010024
+046010025,046010025
+046010026,046010026
+046010027,046010027
+046010028,046010028
+046010029,046010029
+046010030,046010030
+046010031,046010031
+046010032,046010032
+046010033,046010033
+046010034,046010034
+046010035,046010035
+046010036,046010036
+046010037,046010037
+046010038,046010038
+046010039,046010039
+046010040,046010040
+046010041,046010041
+046010042,046010042
+046010043,046010043
+046010044,046010044
+046010045,046010045
+046010046,046010046
+046010047,046010047
+046010048,046010048
+046010049,046010049
+046010050,046010050
+046010051,046010051
+046010052,046010052
+046010053,046010053
+046010054,046010054
+046010055,046010055
+046010056,046010056
+046010057,046010057
+046010058,046010058
+046010059,046010059
+046010060,046010060
+046010061,046010061
+046010062,046010062
+046010063,046010063
+046010064,046010064
+046010065,046010065
+046010066,046010066
+046010067,046010067
+046010068,046010068
+046010069,046010069
+046010070,046010070
+046010071,046010071
+046010072,046010072
+046010073,046010073
+046010074,046010074
+046010075,046010075
+046010076,046010076
+046010077,046010077
+046010078,046010078
+046010079,046010079
+046010080,046010080
+046010081,046010081
+046010082,046010082
+046010083,046010083
+046010084,046010084
+046010085,046010085
+046010086,046010086
+046014001,046014001
+046014002,046014002
+046014003,046014003
+046014004,046014004
+046014005,046014005
+046014006,046014006
+046014007,046014007
+046014008,046014008
+046014009,046014009
+046014010,046014010
+046014011,046014011
+046014012,046014012
+046014013,046014013
+046014014,046014014
+046014015,046014015
+046014016,046014016
+046015001,046015001
+046015002,046015002
+046015003,046015003
+046015004,046015004
+046015005,046015005
+046015006,046015006
+046015007,046015007
+046015008,046015008
+046015009,046015009
+046015010,046015010
+046016002,046016002
+046016003,046016003
+046016004,046016004
+046016005,046016005
+046016006,046016006
+046016007,046016007
+046016008,046016008
+046016009,046016009
+046016010,046016010
+046016011,046016011
+046016012,046016012
+046016013,046016013
+046016014,046016014
+046016015,046016015
+046016016,046016016
+046016017,046016017
+046016018,046016018
+046016019,046016019
+046016020,046016020
+046016021,046016021
+046016022,046016022
+046016023,046016023
+046016024,046016024
+046016025,046016025
+046016026,046016026
+046016027,046016027
+046016028,046016028
+046016029,046016029
+046016030,046016030
+046016031,046016031
+046016032,046016032
+046016033,046016033
+046016034,046016034
+046016035,046016035
+046016036,046016036
+046016037,046016037
+046016038,046016038
+046016039,046016039
+046016040,046016040
+046019001,046019001
+046019002,046019002
+046019003,046019003
+046019004,046019004
+046019005,046019005
+046019006,046019006
+046019007,046019007
+046019008,046019008
+046019009,046019009
+046019010,046019010
+046019011,046019011
+046019012,046019012
+046019013,046019013
+046019014,046019014
+046019015,046019015
+046019016,046019016
+046019017,046019017
+046019018,046019018
+046019021,046019021
+046019022,046019022
+046019026,046019026
+046019027,046019027
+046019028,046019028
+046019029,046019029
+046019030,046019030
+04601G001,04601G001
+04601G002,04601G002
+04601G003,04601G003
+04601G004,04601G004
+04601G005,04601G005
+04601G006,04601G006
+04601G007,04601G007
+046020087,046020087
+046020088,046020088
+046020089,046020089
+046020090,046020090
+046020091,046020091
+046020092,046020092
+046020093,046020093
+046020094,046020094
+046020095,046020095
+046020096,046020096
+046020097,046020097
+046020098,046020098
+046020099,046020099
+046020100,046020100
+046020101,046020101
+046020102,046020102
+046020103,046020103
+046020104,046020104
+046020105,046020105
+046020106,046020106
+046020107,046020107
+046020108,046020108
+046020109,046020109
+046020110,046020110
+046020111,046020111
+046020112,046020112
+046020113,046020113
+046020114,046020114
+046020115,046020115
+046020116,046020116
+046020117,046020117
+046020118,046020118
+046020119,046020119
+046020120,046020120
+046020121,046020121
+046020122,046020122
+046020123,046020123
+046020124,046020124
+046020125,046020125
+046020126,046020126
+046020127,046020127
+046020128,046020128
+046020129,046020129
+046020130,046020130
+046020131,046020131
+046024017,046024017
+046024018,046024018
+046024019,046024019
+046024020,046024020
+046024021,046024021
+046024022,046024022
+046024023,046024023
+046024024,046024024
+046024025,046024025
+046024026,046024026
+046024027,046024027
+046024028,046024028
+046025011,046025011
+046025012,046025012
+046025013,046025013
+046025014,046025014
+046025015,046025015
+046025016,046025016
+046025017,046025017
+046025018,046025018
+046025019,046025019
+046026041,046026041
+046026042,046026042
+046026043,046026043
+046026044,046026044
+046026045,046026045
+046026046,046026046
+046026047,046026047
+046026048,046026048
+046026049,046026049
+046026050,046026050
+046026051,046026051
+046026052,046026052
+046026053,046026053
+046026054,046026054
+046026055,046026055
+046026056,046026056
+046026057,046026057
+046026058,046026058
+046026059,046026059
+046026060,046026060
+046026061,046026061
+046026062,046026062
+046026063,046026063
+046026064,046026064
+046026065,046026065
+046026066,046026066
+046026067,046026067
+046026068,046026068
+046026069,046026069
+046026070,046026070
+046026071,046026071
+046026072,046026072
+046026073,046026073
+046026074,046026074
+046026075,046026075
+046029031,046029031
+046029032,046029032
+046029033,046029033
+046029034,046029034
+046029035,046029035
+046029036,046029036
+046029037,046029037
+046029038,046029038
+046029039,046029039
+046029040,046029040
+046029041,046029041
+046029042,046029042
+046029043,046029043
+046029044,046029044
+046029045,046029045
+046029046,046029046
+046029047,046029047
+046029048,046029048
+046029049,046029049
+046029050,046029050
+046029051,046029051
+046029052,046029052
+046029053,046029053
+046029054,046029054
+046029055,046029055
+046029056,046029056
+046029057,046029057
+046029058,046029058
+046029059,046029059
+046029060,046029060
+046029061,046029061
+046029062,046029062
+046029063,046029063
+046029064,046029064
+046029065,046029065
+046029066,046029066
+046029067,046029067
+046029068,046029068
+046029070,046029070
+046029071,046029071
+046029072,046029072
+046029073,046029073
+046029074,046029074
+046029075,046029075
+046029076,046029076
+046029077,046029077
+046029078,046029078
+046029079,046029079
+046029080,046029080
+046029081,046029081
+046029082,046029082
+046029083,046029083
+046029084,046029084
+046029085,046029085
+046029086,046029086
+046029185,046029185
+04602G008,04602G008
+04602G009,04602G009
+046030132,046030132
+046030133,046030133
+046030134,046030134
+046030135,046030135
+046030136,046030136
+046030137,046030137
+046030138,046030138
+046030139,046030139
+046030140,046030140
+046030141,046030141
+046030142,046030142
+046030143,046030143
+046030144,046030144
+046030145,046030145
+046030146,046030146
+046030147,046030147
+046030148,046030148
+046030149,046030149
+046030150,046030150
+046030151,046030151
+046030152,046030152
+046030153,046030153
+046030154,046030154
+046030155,046030155
+046030156,046030156
+046030157,046030157
+046030158,046030158
+046030159,046030159
+046030160,046030160
+046030161,046030161
+046030162,046030162
+046030163,046030163
+046030164,046030164
+046030165,046030165
+046030166,046030166
+046030167,046030167
+046030168,046030168
+046030169,046030169
+046030170,046030170
+046030171,046030171
+046030172,046030172
+046030173,046030173
+046030174,046030174
+046030175,046030175
+046030176,046030176
+046030177,046030177
+046030178,046030178
+046030179,046030179
+046030180,046030180
+046030181,046030181
+046030182,046030182
+046030183,046030183
+046030184,046030184
+046030185,046030185
+046030186,046030186
+046030187,046030187
+046030188,046030188
+046030189,046030189
+046030190,046030190
+046030191,046030191
+046030192,046030192
+046030193,046030193
+046030194,046030194
+046030195,046030195
+046030196,046030196
+046030197,046030197
+046030198,046030198
+046030199,046030199
+046030200,046030200
+046030201,046030201
+046030202,046030202
+046030203,046030203
+046030204,046030204
+046030205,046030205
+046030206,046030206
+046034029,046034029
+046034030,046034030
+046034031,046034031
+046034032,046034032
+046034033,046034033
+046034034,046034034
+046034035,046034035
+046034036,046034036
+046034037,046034037
+046034038,046034038
+046034039,046034039
+046035020,046035020
+046036076,046036076
+046036077,046036077
+046036078,046036078
+046036079,046036079
+046036080,046036080
+046036081,046036081
+046036082,046036082
+046036083,046036083
+046036084,046036084
+046036085,046036085
+046036086,046036086
+046036087,046036087
+046036088,046036088
+046036089,046036089
+046036090,046036090
+046036091,046036091
+046036092,046036092
+046036093,046036093
+046036094,046036094
+046036095,046036095
+046036096,046036096
+046036097,046036097
+046036098,046036098
+046036099,046036099
+046036100,046036100
+046036101,046036101
+046036102,046036102
+046036103,046036103
+046036104,046036104
+046036105,046036105
+046036106,046036106
+046036107,046036107
+046036108,046036108
+046036109,046036109
+046036110,046036110
+046036111,046036111
+046036112,046036112
+046036113,046036113
+046036114,046036114
+046036115,046036115
+046036116,046036116
+046036117,046036117
+046036118,046036118
+046036119,046036119
+046036120,046036120
+046036121,046036121
+046036122,046036122
+046036123,046036123
+046036124,046036124
+046036125,046036125
+046036126,046036126
+046036127,046036127
+046036128,046036128
+046036129,046036129
+046036130,046036130
+046036131,046036131
+046036132,046036132
+046039087,046039087
+046039088,046039088
+046039089,046039089
+046039090,046039090
+046039091,046039091
+046039092,046039092
+046039093,046039093
+046039094,046039094
+046039095,046039095
+046039096,046039096
+046039097,046039097
+046039098,046039098
+046039099,046039099
+04603G010,04603G010
+04603G011,04603G011
+04603G012,04603G012
+04603G013,04603G013
+04603G014,04603G014
+04603G015,04603G015
+04603G016,04603G016
+04603G017,04603G017
+04603G018,04603G018
+04603G019,04603G019
+04603G020,04603G020
+04603G021,04603G021
+04603G022,04603G022
+04603G023,04603G023
+04603G024,04603G024
+046040207,046040207
+046040208,046040208
+046040209,046040209
+046040210,046040210
+046040211,046040211
+046040212,046040212
+046040213,046040213
+046040214,046040214
+046040215,046040215
+046040216,046040216
+046040217,046040217
+046040218,046040218
+046040219,046040219
+046040220,046040220
+046040221,046040221
+046040222,046040222
+046040223,046040223
+046040224,046040224
+046040225,046040225
+046040226,046040226
+046040227,046040227
+046040228,046040228
+046040229,046040229
+046040230,046040230
+046040231,046040231
+046040232,046040232
+046040233,046040233
+046040234,046040234
+046040235,046040235
+046040236,046040236
+046040237,046040237
+046040238,046040238
+046040239,046040239
+046040240,046040240
+046040241,046040241
+046040242,046040242
+046040243,046040243
+046040244,046040244
+046040245,046040245
+046040246,046040246
+046040247,046040247
+046040248,046040248
+046040249,046040249
+046040250,046040250
+046040251,046040251
+046040252,046040252
+046040253,046040253
+046040254,046040254
+046040255,046040255
+046040256,046040256
+046040257,046040257
+046040258,046040258
+046040259,046040259
+046040260,046040260
+046040261,046040261
+046040262,046040262
+046040263,046040263
+046044040,046044040
+046045021,046045021
+046045022,046045022
+046045023,046045023
+046045024,046045024
+046045025,046045025
+046045026,046045026
+046046133,046046133
+046046134,046046134
+046046135,046046135
+046046136,046046136
+046046137,046046137
+046046138,046046138
+046046139,046046139
+046046140,046046140
+046046141,046046141
+046046142,046046142
+046046143,046046143
+046046144,046046144
+046046145,046046145
+046046146,046046146
+046046147,046046147
+046046148,046046148
+046046149,046046149
+046046150,046046150
+046046151,046046151
+046046152,046046152
+046046153,046046153
+046046154,046046154
+046046155,046046155
+046046156,046046156
+046046157,046046157
+046046158,046046158
+046046159,046046159
+046046160,046046160
+046046161,046046161
+046046162,046046162
+046046163,046046163
+046046164,046046164
+046046165,046046165
+046046166,046046166
+046046167,046046167
+046046168,046046168
+046046169,046046169
+046046170,046046170
+046046171,046046171
+046046172,046046172
+046046173,046046173
+046046174,046046174
+046046175,046046175
+046046176,046046176
+046046177,046046177
+046046178,046046178
+046046179,046046179
+046046180,046046180
+046046181,046046181
+046046182,046046182
+046046183,046046183
+046046184,046046184
+046046185,046046185
+046046186,046046186
+046046187,046046187
+046046188,046046188
+046046189,046046189
+046046190,046046190
+046046191,046046191
+046046192,046046192
+046046193,046046193
+046046194,046046194
+046046195,046046195
+046046196,046046196
+046046197,046046197
+046046198,046046198
+046046199,046046199
+046046200,046046200
+046046201,046046201
+046046202,046046202
+046046203,046046203
+046046204,046046204
+046046205,046046205
+046046206,046046206
+046046207,046046207
+046046208,046046208
+046046209,046046209
+046046210,046046210
+046046211,046046211
+046046212,046046212
+046046213,046046213
+046046214,046046214
+046046215,046046215
+046046216,046046216
+046046217,046046217
+046046218,046046218
+046046219,046046219
+046046220,046046220
+046046221,046046221
+046046222,046046222
+046046223,046046223
+046048001,046048001
+046048002,046048002
+046048003,046048003
+046049100,046049100
+046049101,046049101
+046049102,046049102
+046049103,046049103
+046049104,046049104
+046049186,046049186
+04604J001,04604J001
+046050264,046050264
+046050265,046050265
+046050266,046050266
+046050267,046050267
+046050268,046050268
+046050269,046050269
+046050270,046050270
+046050271,046050271
+046050272,046050272
+046050273,046050273
+046050274,046050274
+046050275,046050275
+046050276,046050276
+046050277,046050277
+046050278,046050278
+046050279,046050279
+046050280,046050280
+046050281,046050281
+046050282,046050282
+046050283,046050283
+046050284,046050284
+046050285,046050285
+046050286,046050286
+046050287,046050287
+046050288,046050288
+046050289,046050289
+046050290,046050290
+046050291,046050291
+046050292,046050292
+046050293,046050293
+046050294,046050294
+046050295,046050295
+046050296,046050296
+046050297,046050297
+046050298,046050298
+046050299,046050299
+046050300,046050300
+046050301,046050301
+046050302,046050302
+046050303,046050303
+046050304,046050304
+046050305,046050305
+046050306,046050306
+046050307,046050307
+046050308,046050308
+046050309,046050309
+046050310,046050310
+046050311,046050311
+046050312,046050312
+046050313,046050313
+046050314,046050314
+046050315,046050315
+046050316,046050316
+046050317,046050317
+046050318,046050318
+046050319,046050319
+046050320,046050320
+046050321,046050321
+046050322,046050322
+046050323,046050323
+046050324,046050324
+046050325,046050325
+046050326,046050326
+046050327,046050327
+046050328,046050328
+046050329,046050329
+046050330,046050330
+046050331,046050331
+046050332,046050332
+046050333,046050333
+046050334,046050334
+046050335,046050335
+046050336,046050336
+046050337,046050337
+046050338,046050338
+046050339,046050339
+046050340,046050340
+046050341,046050341
+046050342,046050342
+046050343,046050343
+046050344,046050344
+046050345,046050345
+046050346,046050346
+046050347,046050347
+046050348,046050348
+046050349,046050349
+046050350,046050350
+046050351,046050351
+046050352,046050352
+046050353,046050353
+046050354,046050354
+046050355,046050355
+046050356,046050356
+046050357,046050357
+046050358,046050358
+046050359,046050359
+046050360,046050360
+046050361,046050361
+046050362,046050362
+046050363,046050363
+046050364,046050364
+046050365,046050365
+046050366,046050366
+046050367,046050367
+046050368,046050368
+046054041,046054041
+046054042,046054042
+046054043,046054043
+046054044,046054044
+046054045,046054045
+046054046,046054046
+046054047,046054047
+046054048,046054048
+046054049,046054049
+046054050,046054050
+046054051,046054051
+046054052,046054052
+046055027,046055027
+046055028,046055028
+046055029,046055029
+046055030,046055030
+046055031,046055031
+046055032,046055032
+046055033,046055033
+046055034,046055034
+046055035,046055035
+046055036,046055036
+046056224,046056224
+046056225,046056225
+046056226,046056226
+046056227,046056227
+046056228,046056228
+046056229,046056229
+046056230,046056230
+046056231,046056231
+046056232,046056232
+046056233,046056233
+046056234,046056234
+046056235,046056235
+046056236,046056236
+046056237,046056237
+046056238,046056238
+046056239,046056239
+046056240,046056240
+046056241,046056241
+046056242,046056242
+046056243,046056243
+046056244,046056244
+046056245,046056245
+046056246,046056246
+046056247,046056247
+046056248,046056248
+046056249,046056249
+046056250,046056250
+046056251,{SHA-256}{erjizGgG3omLwXMO9Ze3UAYbPAAPbKB4cEsqfzc0K9E=}5829d1dc77a4d6c4a56dd57fc8bd190d236529c43a32059e223a68a3ead10101
+046056252,046056252
+046056253,046056253
+046056254,046056254
+046056255,046056255
+046056256,046056256
+046056257,046056257
+046056258,046056258
+046056259,046056259
+046056260,046056260
+046056261,046056261
+046056262,046056262
+046056263,046056263
+046056264,046056264
+046056265,046056265
+046056266,046056266
+046056267,046056267
+046056268,046056268
+046056269,046056269
+046056270,046056270
+046056271,046056271
+046056272,046056272
+046056273,046056273
+046056274,046056274
+046056275,046056275
+046056276,046056276
+046056277,046056277
+046056278,046056278
+046056279,046056279
+046056280,046056280
+046056281,046056281
+046056282,046056282
+046056283,046056283
+046056284,046056284
+046056285,046056285
+046056286,046056286
+046056287,046056287
+046056288,046056288
+046056289,046056289
+046056290,046056290
+046056291,046056291
+046056292,046056292
+046056293,046056293
+046056294,046056294
+046056295,046056295
+046056296,046056296
+046056297,046056297
+046056298,046056298
+046056299,046056299
+046056300,046056300
+046056301,046056301
+046056302,046056302
+046056303,046056303
+046056304,046056304
+046056305,046056305
+046056306,046056306
+046056307,046056307
+046056308,046056308
+046056309,046056309
+046056310,046056310
+046056311,046056311
+046056312,046056312
+046056313,046056313
+046056314,046056314
+046056315,046056315
+046056316,046056316
+046056317,046056317
+046056318,046056318
+046056319,046056319
+046056320,046056320
+046056321,046056321
+046056322,046056322
+046056323,046056323
+046056324,046056324
+046056325,046056325
+046056326,046056326
+046056327,046056327
+046056328,046056328
+046056329,046056329
+046056330,046056330
+046056331,046056331
+046056332,046056332
+046056333,046056333
+046056334,046056334
+046056335,046056335
+046056336,046056336
+046056337,046056337
+046056338,046056338
+046056339,046056339
+046056340,046056340
+046056341,046056341
+046056342,046056342
+046056343,046056343
+046056344,046056344
+046056345,046056345
+046056346,046056346
+046056347,046056347
+046056348,046056348
+046056349,046056349
+046056350,046056350
+046056351,046056351
+046056352,046056352
+046056353,046056353
+046056354,046056354
+046056355,046056355
+046059105,046059105
+046059106,046059106
+046059107,046059107
+046059108,046059108
+046059109,046059109
+046059110,046059110
+046059111,046059111
+046059112,046059112
+046059113,046059113
+046059114,046059114
+046059115,046059115
+046059116,046059116
+04605G025,04605G025
+04605G026,04605G026
+04605G027,04605G027
+04605G028,04605G028
+04605G029,04605G029
+04605G030,04605G030
+04605G031,04605G031
+04605G032,04605G032
+04605G033,04605G033
+04605G034,04605G034
+04605G035,04605G035
+04605G036,04605G036
+04605G037,04605G037
+04605G038,04605G038
+04605G039,04605G039
+04605G040,04605G040
+04605G041,04605G041
+04605G042,04605G042
+04605G043,04605G043
+04605G044,04605G044
+04605G045,04605G045
+04605G046,04605G046
+04605G047,04605G047
+04605G048,04605G048
+04605G049,04605G049
+04605G050,04605G050
+04605G051,04605G051
+04605G052,04605G052
+04605G053,04605G053
+04605G054,04605G054
+04605G055,04605G055
+04605G056,04605G056
+04605G057,04605G057
+04605G058,04605G058
+04605G059,04605G059
+04605G060,04605G060
+04605G061,04605G061
+04605G062,04605G062
+04605G063,04605G063
+04605G064,04605G064
+04605G065,04605G065
+04605G094,04605G094
+04605G142,04605G142
+04605G146,04605G146
+04605G153,04605G153
+04605J002,04605J002
+04605J003,04605J003
+04605J004,04605J004
+04605J005,04605J005
+046060369,046060369
+046060370,046060370
+046060371,046060371
+046060372,046060372
+046060373,046060373
+046060374,046060374
+046060375,046060375
+046060376,046060376
+046060377,046060377
+046060378,046060378
+046060379,046060379
+046060380,046060380
+046060381,046060381
+046060382,046060382
+046060383,046060383
+046060384,046060384
+046060385,046060385
+046060386,046060386
+046060387,046060387
+046060388,046060388
+046060389,046060389
+046060390,046060390
+046060391,046060391
+046060392,046060392
+046060393,046060393
+046060394,046060394
+046060395,046060395
+046060831,046060831
+046064053,046064053
+046064054,046064054
+046064055,046064055
+046064056,046064056
+046064057,046064057
+046065037,046065037
+046065038,046065038
+046065039,046065039
+046066356,046066356
+046066357,046066357
+046066358,046066358
+046066359,046066359
+046066360,046066360
+046066361,046066361
+046066362,046066362
+046066363,046066363
+046066364,046066364
+04606G066,04606G066
+046070396,046070396
+046070397,046070397
+046070398,046070398
+046070399,046070399
+046070400,046070400
+046070401,046070401
+046070402,046070402
+046070403,046070403
+046070404,046070404
+046070405,046070405
+046070406,046070406
+046070407,046070407
+046070408,046070408
+046070409,046070409
+046070410,046070410
+046070411,046070411
+046070412,046070412
+046070413,046070413
+046070414,046070414
+046070415,046070415
+046070416,046070416
+046070417,046070417
+046070418,046070418
+046070419,046070419
+046070420,046070420
+046070421,046070421
+046070422,046070422
+046070423,046070423
+046070424,046070424
+046070425,046070425
+046070426,046070426
+046070427,046070427
+046070428,046070428
+046070429,046070429
+046070430,046070430
+046070431,046070431
+046070432,046070432
+046070433,046070433
+046070434,046070434
+046070435,046070435
+046070436,046070436
+046074058,046074058
+046074059,046074059
+046074060,046074060
+046074061,046074061
+046074062,046074062
+046074063,046074063
+046074064,046074064
+046074065,046074065
+046074066,046074066
+046075040,046075040
+046075041,046075041
+046075042,046075042
+046075043,046075043
+046075044,046075044
+046075045,046075045
+046075046,046075046
+046075047,046075047
+046075048,046075048
+046076365,046076365
+046076366,046076366
+046076367,046076367
+046076368,046076368
+046076369,046076369
+046076370,046076370
+046076371,046076371
+046076372,046076372
+046076373,046076373
+046076374,046076374
+046076375,046076375
+046076376,046076376
+046076377,046076377
+046076378,046076378
+046076379,046076379
+046076380,046076380
+046076381,046076381
+046076382,046076382
+046076383,046076383
+046076384,046076384
+046076385,046076385
+046076386,046076386
+046076387,046076387
+046076388,046076388
+046076389,046076389
+046076390,046076390
+046076391,046076391
+046076392,046076392
+046076393,046076393
+046076394,046076394
+046076395,046076395
+046076396,046076396
+046076397,046076397
+046079117,046079117
+046079118,046079118
+046079119,046079119
+046079120,046079120
+046079121,046079121
+046079122,046079122
+046079123,046079123
+046079124,046079124
+046079125,046079125
+046079126,046079126
+046079127,046079127
+046079128,046079128
+046079129,046079129
+046079130,046079130
+04607G067,04607G067
+04607G068,04607G068
+04607G069,04607G069
+04607G070,04607G070
+04607G071,04607G071
+046080437,046080437
+046080438,046080438
+046080439,046080439
+046080440,046080440
+046080441,046080441
+046080442,046080442
+046080443,046080443
+046080444,046080444
+046080445,046080445
+046080446,046080446
+046080447,046080447
+046080448,046080448
+046080449,046080449
+046080450,046080450
+046080451,046080451
+046080452,046080452
+046080453,046080453
+046080454,046080454
+046080455,046080455
+046080456,046080456
+046080457,046080457
+046080458,046080458
+046080459,046080459
+046080460,046080460
+046080461,046080461
+046080462,046080462
+046080463,046080463
+046080464,046080464
+046080465,046080465
+046080466,046080466
+046080467,046080467
+046080468,046080468
+046080469,046080469
+046080470,046080470
+046080471,046080471
+046080472,046080472
+046080473,046080473
+046080474,046080474
+046080475,046080475
+046080476,046080476
+046080477,046080477
+046080478,046080478
+046080479,046080479
+046080480,046080480
+046080481,046080481
+046080482,046080482
+046080483,046080483
+046080484,046080484
+046080485,046080485
+046080486,046080486
+046080487,046080487
+046080488,046080488
+046080489,046080489
+046080490,046080490
+046080491,046080491
+046080492,046080492
+046080493,046080493
+046080494,046080494
+046080495,046080495
+046080496,046080496
+046080497,046080497
+046080498,046080498
+046080499,046080499
+046080500,046080500
+046080833,046080833
+046084067,046084067
+046084068,046084068
+046084069,046084069
+046084070,046084070
+046084071,046084071
+046084072,046084072
+046084073,046084073
+046084074,046084074
+046084075,046084075
+046084076,046084076
+046084077,046084077
+046084078,046084078
+046084079,046084079
+046084080,046084080
+046084081,046084081
+046084082,046084082
+046084083,046084083
+046084084,046084084
+046084085,046084085
+046084086,046084086
+046085049,046085049
+046085050,046085050
+046085051,046085051
+046085052,046085052
+046085053,046085053
+046085054,046085054
+046085055,046085055
+046085056,046085056
+046085057,046085057
+046085058,046085058
+046085059,046085059
+046086398,046086398
+046086399,046086399
+046086400,046086400
+046086401,046086401
+046086402,046086402
+046086403,046086403
+046086404,046086404
+046086405,046086405
+046086406,046086406
+046086407,046086407
+046086408,046086408
+046086409,046086409
+046086410,046086410
+046086411,046086411
+046086412,046086412
+046086413,046086413
+046086414,046086414
+046086415,046086415
+046086416,046086416
+046086417,046086417
+046086418,046086418
+046086419,046086419
+046086420,046086420
+046086421,046086421
+046086422,046086422
+046086423,046086423
+046086424,046086424
+046086425,046086425
+046086426,046086426
+046086427,046086427
+046086428,046086428
+046086429,046086429
+046086430,046086430
+046086431,046086431
+046086432,046086432
+046086433,046086433
+046086434,046086434
+046086435,046086435
+046086436,046086436
+046086437,046086437
+046086438,046086438
+046086439,046086439
+046086440,046086440
+046086441,046086441
+046086442,046086442
+046086443,046086443
+046086444,046086444
+046086445,046086445
+046086446,046086446
+046086447,046086447
+046086448,046086448
+046086449,046086449
+046086450,046086450
+046086451,046086451
+046086452,046086452
+046086453,046086453
+046086454,046086454
+046086455,046086455
+046086456,046086456
+046086457,046086457
+046086458,046086458
+046086459,046086459
+046086460,046086460
+046086461,046086461
+046086462,046086462
+046086463,046086463
+046086464,046086464
+046086465,046086465
+046086466,046086466
+046086467,046086467
+046086468,046086468
+046086469,046086469
+046086470,046086470
+046086471,046086471
+046086472,046086472
+046086473,046086473
+046086474,046086474
+046086475,046086475
+046086476,046086476
+046086477,046086477
+046086478,046086478
+046086479,046086479
+046086480,046086480
+046086481,046086481
+046086482,046086482
+046086483,046086483
+046086484,046086484
+046086485,046086485
+046086486,046086486
+046086487,046086487
+046086488,046086488
+046086489,046086489
+046086490,046086490
+046086491,046086491
+046086492,046086492
+046086493,046086493
+046086494,046086494
+046086495,046086495
+046086496,046086496
+046086497,046086497
+046086498,046086498
+046089019,046089019
+046089131,046089131
+046089132,046089132
+046089133,046089133
+046089134,046089134
+046089135,046089135
+046089136,046089136
+046089137,046089137
+046089138,046089138
+046089188,046089188
+04608G072,04608G072
+04608J006,04608J006
+04608J007,04608J007
+04608J008,04608J008
+04608J009,04608J009
+04608J010,04608J010
+04608J011,04608J011
+04608J012,04608J012
+04608J013,04608J013
+04608J014,04608J014
+04608J015,04608J015
+04608J016,04608J016
+04608J017,04608J017
+04608J018,04608J018
+04608J019,04608J019
+04608J020,04608J020
+04608J021,04608J021
+046090501,046090501
+046090502,046090502
+046090503,046090503
+046090504,046090504
+046090505,046090505
+046090506,046090506
+046090507,046090507
+046090508,046090508
+046090509,046090509
+046090510,046090510
+046090511,046090511
+046090512,046090512
+046090513,046090513
+046090514,046090514
+046090515,046090515
+046090516,046090516
+046090517,046090517
+046090518,046090518
+046090519,046090519
+046090520,046090520
+046090521,046090521
+046090522,046090522
+046090523,046090523
+046090524,046090524
+046090525,046090525
+046090526,046090526
+046090527,046090527
+046090528,046090528
+046090529,046090529
+046090530,046090530
+046090531,046090531
+046090532,046090532
+046090533,046090533
+046090534,046090534
+046090535,046090535
+046090536,046090536
+046090537,046090537
+046090538,046090538
+046090539,046090539
+046090540,046090540
+046090541,046090541
+046090542,046090542
+046090543,046090543
+046090544,046090544
+046090545,046090545
+046090546,046090546
+046090547,046090547
+046090548,046090548
+046090549,046090549
+046090550,046090550
+046090551,046090551
+046090552,046090552
+046090553,046090553
+046090554,046090554
+046090555,046090555
+046090556,046090556
+046090557,046090557
+046090558,046090558
+046090559,046090559
+046090560,046090560
+046090561,046090561
+046090562,046090562
+046090563,046090563
+046090564,046090564
+046090565,046090565
+046090566,046090566
+046090567,046090567
+046090568,046090568
+046090569,046090569
+046090570,046090570
+046090571,046090571
+046090572,046090572
+046090573,046090573
+046090574,046090574
+046090575,046090575
+046090576,046090576
+046090577,046090577
+046090578,046090578
+046090579,046090579
+046090580,046090580
+046090581,046090581
+046090582,046090582
+046090583,046090583
+046090584,046090584
+046090585,046090585
+046090586,046090586
+046090587,046090587
+046090588,046090588
+046090589,046090589
+046090590,046090590
+046090591,046090591
+046090592,046090592
+046090593,046090593
+046090594,046090594
+046090595,046090595
+046094087,046094087
+046094088,046094088
+046094089,046094089
+046094090,046094090
+046094091,046094091
+046094092,046094092
+046094093,046094093
+046094094,046094094
+046094095,046094095
+046094096,046094096
+046094097,046094097
+046095060,046095060
+046095061,046095061
+046095062,046095062
+046095063,046095063
+046095064,046095064
+046095065,046095065
+046095066,046095066
+046095067,046095067
+046095068,046095068
+046095069,046095069
+046095070,046095070
+046095071,046095071
+046095072,046095072
+046096499,046096499
+046096500,046096500
+046096501,046096501
+046096502,046096502
+046096503,046096503
+046096504,046096504
+046096505,046096505
+046096506,046096506
+046096507,046096507
+046096508,046096508
+046096509,046096509
+046096510,046096510
+046096511,046096511
+046096512,046096512
+046096513,046096513
+046096514,046096514
+046096515,046096515
+046096516,046096516
+046096517,046096517
+046096518,046096518
+046096519,046096519
+046096520,046096520
+046096521,046096521
+046096522,046096522
+046096523,046096523
+046096524,046096524
+046096525,046096525
+046096526,046096526
+046096527,046096527
+046096528,046096528
+046096529,046096529
+046096530,046096530
+046096531,046096531
+046096532,046096532
+046096533,046096533
+046096534,046096534
+046096535,046096535
+046096536,046096536
+046096537,046096537
+046096538,046096538
+046096539,046096539
+046096540,046096540
+046096541,046096541
+046096542,046096542
+046096543,046096543
+046096544,046096544
+046096545,046096545
+046096546,046096546
+046096547,046096547
+046096548,046096548
+046096549,046096549
+046096550,046096550
+046096551,046096551
+046096552,046096552
+046096553,046096553
+046096554,046096554
+046096555,046096555
+046096556,046096556
+046096557,046096557
+046096558,046096558
+046096559,046096559
+046096560,046096560
+046096561,046096561
+046096562,046096562
+046096563,046096563
+046096564,046096564
+046096565,046096565
+046096566,046096566
+046096567,046096567
+046096568,046096568
+046096569,046096569
+046096570,046096570
+046096571,046096571
+046096572,046096572
+046096573,046096573
+046096574,046096574
+046096575,046096575
+046096576,046096576
+046096577,046096577
+046096578,046096578
+046096579,046096579
+046096580,046096580
+046096581,046096581
+046096582,046096582
+046096583,046096583
+046096584,046096584
+046096585,046096585
+046096586,046096586
+046096587,046096587
+046096588,046096588
+046096589,046096589
+046096590,046096590
+046096591,046096591
+046096592,046096592
+046096593,046096593
+046096594,046096594
+046096595,046096595
+046096596,046096596
+046096597,046096597
+046096598,046096598
+046096599,046096599
+046096600,046096600
+046096601,046096601
+046096602,046096602
+046096603,046096603
+046096604,046096604
+046096605,046096605
+046096606,046096606
+046096607,046096607
+046096608,046096608
+046096609,046096609
+046096610,046096610
+046096611,046096611
+046096612,046096612
+046096613,046096613
+046096614,046096614
+046096615,046096615
+046096616,046096616
+046096617,046096617
+046096618,046096618
+046096619,046096619
+046096620,046096620
+046096621,046096621
+046098004,046098004
+046098005,046098005
+046098006,046098006
+046099020,046099020
+046099023,046099023
+046099024,046099024
+046099025,046099025
+046099069,046099069
+046099139,046099139
+046099140,046099140
+046099141,046099141
+046099142,046099142
+046099143,046099143
+046099144,046099144
+046099145,046099145
+046099146,046099146
+046099147,046099147
+046099148,046099148
+046099149,046099149
+046099150,046099150
+046099151,046099151
+046099152,046099152
+046099153,046099153
+046099154,046099154
+046099155,046099155
+046099156,046099156
+046099157,046099157
+046099158,046099158
+046099159,046099159
+04609G073,04609G073
+04609G074,04609G074
+04609G075,04609G075
+04609G076,04609G076
+04609G077,04609G077
+04609G078,04609G078
+04609G079,04609G079
+04609G080,04609G080
+04609G081,04609G081
+04609G082,04609G082
+04609G083,04609G083
+04609G084,04609G084
+04609G085,04609G085
+04609G086,04609G086
+04609G087,04609G087
+04609G088,04609G088
+04609G089,04609G089
+04609G090,04609G090
+04609G091,04609G091
+04609G092,04609G092
+04609G093,04609G093
+04609G094,04609G094
+04609G095,04609G095
+04609G096,04609G096
+04609G097,04609G097
+04609G098,04609G098
+04609G099,04609G099
+04609G100,04609G100
+04609J022,04609J022
+04609J023,04609J023
+04609J024,04609J024
+04609J025,04609J025
+04609J026,04609J026
+04609J027,04609J027
+046100596,046100596
+046100597,046100597
+046100598,046100598
+046100599,046100599
+046100600,046100600
+046100601,046100601
+046100602,046100602
+046100603,046100603
+046100604,046100604
+046100605,046100605
+046100606,046100606
+046100607,046100607
+046100608,046100608
+046100609,046100609
+046100610,046100610
+046100611,046100611
+046100612,046100612
+046100613,046100613
+046100614,046100614
+046100615,046100615
+046100616,046100616
+046100617,046100617
+046100618,046100618
+046100619,046100619
+046100620,046100620
+046100621,046100621
+046100622,046100622
+046100623,046100623
+046100624,046100624
+046100625,046100625
+046100626,046100626
+046100627,046100627
+046100628,046100628
+046100629,046100629
+046100630,046100630
+046100631,046100631
+046100632,046100632
+046100633,046100633
+046100634,046100634
+046100635,046100635
+046100636,046100636
+046100637,046100637
+046100638,046100638
+046100639,046100639
+046100640,046100640
+046100641,046100641
+046100642,046100642
+046100643,046100643
+046100644,046100644
+046100645,046100645
+046100646,046100646
+046100647,046100647
+046100648,046100648
+046100649,046100649
+046100650,046100650
+046100651,046100651
+046100652,046100652
+046100653,046100653
+046100654,046100654
+046100655,046100655
+046100656,046100656
+046100657,046100657
+046100658,046100658
+046100659,046100659
+046100660,046100660
+046100661,046100661
+046100662,046100662
+046100663,046100663
+046100664,046100664
+046100665,046100665
+046100666,046100666
+046100667,046100667
+046100668,046100668
+046100669,046100669
+046100670,046100670
+046100671,046100671
+046100672,046100672
+046100673,046100673
+046100674,046100674
+046100675,046100675
+046100676,046100676
+046100677,046100677
+046100678,046100678
+046100679,046100679
+046100680,046100680
+046100681,046100681
+046100682,046100682
+046100683,046100683
+046100684,046100684
+046100685,046100685
+046100686,046100686
+046100687,046100687
+046100688,046100688
+046100689,046100689
+046100690,046100690
+046104098,046104098
+046104099,046104099
+046104100,046104100
+046104101,046104101
+046104102,046104102
+046104103,046104103
+046104104,046104104
+046104105,046104105
+046105073,046105073
+046105074,046105074
+046105075,046105075
+046106622,046106622
+046106623,046106623
+046106624,046106624
+046106625,046106625
+046106626,046106626
+046106627,046106627
+046106628,046106628
+046106629,046106629
+046106630,046106630
+046106631,046106631
+046106632,046106632
+046106633,046106633
+046106634,046106634
+046106635,046106635
+046106636,046106636
+046106637,046106637
+046106638,046106638
+046106639,046106639
+046106640,046106640
+046106641,046106641
+046106642,046106642
+046106643,046106643
+046106644,046106644
+046106645,046106645
+046106646,046106646
+046106647,046106647
+046106648,046106648
+046106649,046106649
+046106650,046106650
+046106651,046106651
+046106652,046106652
+046106653,046106653
+046106654,046106654
+046106655,046106655
+046106656,046106656
+046106657,046106657
+046106658,046106658
+046106659,046106659
+046106660,046106660
+046106661,046106661
+046106662,046106662
+046106663,046106663
+046106664,046106664
+046106665,046106665
+046106666,046106666
+046106667,046106667
+046106668,046106668
+046106669,046106669
+046106670,046106670
+046106671,046106671
+046106672,046106672
+046106673,046106673
+046106674,046106674
+046106675,046106675
+046106676,046106676
+046106677,046106677
+046106678,046106678
+046106679,046106679
+046106680,046106680
+046106681,046106681
+046109160,046109160
+046109161,046109161
+046109162,046109162
+046109163,046109163
+046109164,046109164
+046109165,046109165
+046109166,046109166
+04610G101,04610G101
+04610G102,04610G102
+04610G103,04610G103
+04610G104,04610G104
+04610G105,04610G105
+04610G106,04610G106
+04610G107,04610G107
+04610G108,04610G108
+04610G109,04610G109
+04610G110,04610G110
+04610G111,04610G111
+04610G112,04610G112
+04610G113,04610G113
+04610G114,04610G114
+04610G115,04610G115
+04610G116,04610G116
+04610G117,04610G117
+04610G118,04610G118
+04610G119,04610G119
+04610G120,04610G120
+04610G121,04610G121
+04610G122,04610G122
+04610G123,04610G123
+04610G124,04610G124
+04610G125,04610G125
+04610G126,04610G126
+04610G127,04610G127
+04610G128,04610G128
+04610G129,04610G129
+04610G130,04610G130
+04610G131,04610G131
+04610G132,04610G132
+04610J028,04610J028
+04610J029,04610J029
+04610J030,04610J030
+04610J031,04610J031
+04610J032,04610J032
+04610J033,04610J033
+04610J034,04610J034
+04610J035,04610J035
+04610J036,04610J036
+04610J037,04610J037
+04610J038,04610J038
+04610J039,04610J039
+046110691,046110691
+046110692,046110692
+046110693,046110693
+046110694,046110694
+046110695,046110695
+046110696,046110696
+046110697,046110697
+046110698,046110698
+046110699,046110699
+046110700,046110700
+046110701,046110701
+046110702,046110702
+046110703,046110703
+046110704,046110704
+046110705,046110705
+046110706,046110706
+046110707,046110707
+046110708,046110708
+046110709,046110709
+046110710,046110710
+046110711,046110711
+046110712,046110712
+046110713,046110713
+046110714,046110714
+046110715,046110715
+046110716,046110716
+046110717,046110717
+046110718,046110718
+046110719,046110719
+046110720,046110720
+046110721,046110721
+046110722,046110722
+046110723,046110723
+046110724,046110724
+046110725,046110725
+046110726,046110726
+046110727,046110727
+046110728,046110728
+046110729,046110729
+046110730,046110730
+046110731,046110731
+046110732,046110732
+046110733,046110733
+046110734,046110734
+046110735,046110735
+046110736,046110736
+046110737,046110737
+046110738,046110738
+046110739,046110739
+046110740,046110740
+046110741,046110741
+046110742,046110742
+046110743,046110743
+046110744,046110744
+046110745,046110745
+046110746,046110746
+046110747,046110747
+046110748,046110748
+046110749,046110749
+046110750,046110750
+046110751,046110751
+046110752,046110752
+046110753,046110753
+046110754,046110754
+046110755,046110755
+046110756,046110756
+046110757,046110757
+046110758,046110758
+046110759,046110759
+046110760,046110760
+046110761,046110761
+046110762,046110762
+046110763,046110763
+046110764,046110764
+046110765,046110765
+046110766,046110766
+046114106,046114106
+046114107,046114107
+046114108,046114108
+046114109,046114109
+046114110,046114110
+046114111,046114111
+046114112,046114112
+046114113,046114113
+046114114,046114114
+046114115,046114115
+046114116,046114116
+046114117,046114117
+046114118,046114118
+046114119,046114119
+046114120,046114120
+046114121,046114121
+046114122,046114122
+046114123,046114123
+046114124,046114124
+046115076,046115076
+046115077,046115077
+046115078,046115078
+046115079,046115079
+046115080,046115080
+046115081,046115081
+046115082,046115082
+046116001,046116001
+046116682,046116682
+046116683,046116683
+046116684,046116684
+046116685,046116685
+046116686,046116686
+046116687,046116687
+046116688,046116688
+046116689,046116689
+046116690,046116690
+046116691,046116691
+046116692,046116692
+046116693,046116693
+046116694,046116694
+046116695,046116695
+046116696,046116696
+046116697,046116697
+046116698,046116698
+046116699,046116699
+046116700,046116700
+046116701,046116701
+046116702,046116702
+046116703,046116703
+046116704,046116704
+046116705,046116705
+046116706,046116706
+046116707,046116707
+046116708,046116708
+046116709,046116709
+046116710,046116710
+046116711,046116711
+046116712,046116712
+046116713,046116713
+046116714,046116714
+046116715,046116715
+046116716,046116716
+046116717,046116717
+046116718,046116718
+046116719,046116719
+046116720,046116720
+046116721,046116721
+046116722,046116722
+046116723,046116723
+046116724,046116724
+046116725,046116725
+046116726,046116726
+046116727,046116727
+046116728,046116728
+046116729,046116729
+046116730,046116730
+046116731,046116731
+046116732,046116732
+046116733,046116733
+046116734,046116734
+046116735,046116735
+046116736,046116736
+046116737,046116737
+046116738,046116738
+046116739,046116739
+046116740,046116740
+046116741,046116741
+046116742,046116742
+046116743,046116743
+046116744,046116744
+046119167,046119167
+046119168,046119168
+046119169,046119169
+046119170,046119170
+046119171,046119171
+046119172,046119172
+046119173,046119173
+046119174,046119174
+046119175,046119175
+046119176,046119176
+046119177,046119177
+046119178,046119178
+046119179,046119179
+046119180,046119180
+046119181,046119181
+046119182,046119182
+046119183,046119183
+046119184,046119184
+04611J040,04611J040
+04611J041,04611J041
+04611J042,04611J042
+04611J043,04611J043
+04611J044,04611J044
+04611J045,04611J045
+04611J046,04611J046
+04611J047,04611J047
+046120767,046120767
+046120768,046120768
+046120769,046120769
+046120770,046120770
+046120771,046120771
+046120772,046120772
+046120773,046120773
+046120774,046120774
+046120775,046120775
+046120776,046120776
+046120777,046120777
+046120778,046120778
+046120779,046120779
+046120780,046120780
+046120781,046120781
+046120782,046120782
+046120783,046120783
+046120784,046120784
+046120785,046120785
+046120786,046120786
+046120787,046120787
+046120788,046120788
+046120789,046120789
+046125083,046125083
+046125084,046125084
+046125085,046125085
+046125086,046125086
+046126745,046126745
+046126746,046126746
+046126747,046126747
+046126748,046126748
+046126749,046126749
+046126750,046126750
+046126751,046126751
+046126752,046126752
+046126753,046126753
+046126754,046126754
+046126755,046126755
+046126756,046126756
+046126757,046126757
+046126758,046126758
+046126759,046126759
+046126760,046126760
+046126761,046126761
+046126762,046126762
+046126763,046126763
+046126764,046126764
+046126765,046126765
+046126766,046126766
+046126767,046126767
+046126768,046126768
+046126769,046126769
+046126770,046126770
+046126771,046126771
+046126772,046126772
+046126773,046126773
+046126774,046126774
+046126775,046126775
+046126776,046126776
+046126777,046126777
+046126778,046126778
+046126779,046126779
+046126780,046126780
+046126781,046126781
+046126782,046126782
+046126783,046126783
+046126784,046126784
+046126785,046126785
+046126786,046126786
+046126787,046126787
+046126788,046126788
+046126789,046126789
+046126790,046126790
+046126791,046126791
+046126792,046126792
+046126793,046126793
+046126794,046126794
+046126795,046126795
+046126796,046126796
+046126797,046126797
+046126798,046126798
+046126799,046126799
+046126800,046126800
+046126801,046126801
+046126802,046126802
+046126803,046126803
+046126804,046126804
+046126805,046126805
+046126806,046126806
+046126807,046126807
+046126808,046126808
+046126809,046126809
+046126810,046126810
+046126811,046126811
+046126812,046126812
+046126813,046126813
+046126814,046126814
+046126815,046126815
+046126816,046126816
+046126817,046126817
+046126818,046126818
+046126819,046126819
+046126820,046126820
+046126821,046126821
+046126822,046126822
+046126823,046126823
+046126824,046126824
+046126825,046126825
+046126826,046126826
+046126827,046126827
+046126828,046126828
+046126829,046126829
+046126830,046126830
+046126831,046126831
+046126832,046126832
+046126833,046126833
+046126834,046126834
+046126835,046126835
+046126836,046126836
+046126837,046126837
+046126838,046126838
+046126839,046126839
+046126840,046126840
+046126841,046126841
+046126842,046126842
+046126843,046126843
+046126844,046126844
+046126845,046126845
+046126846,046126846
+046126847,046126847
+046126848,046126848
+046126849,046126849
+046126850,046126850
+046126851,046126851
+046126852,046126852
+046126853,046126853
+046126854,046126854
+046126855,046126855
+046126856,046126856
+046126857,046126857
+046126858,046126858
+046126859,046126859
+046126860,046126860
+046126861,046126861
+046126862,046126862
+046126863,046126863
+046126864,046126864
+046126865,046126865
+046126866,046126866
+046126867,046126867
+046126868,046126868
+046126869,046126869
+046126870,046126870
+046126871,046126871
+046126872,046126872
+046126873,046126873
+046126874,046126874
+046126875,046126875
+046126876,046126876
+046126877,046126877
+046126878,046126878
+046126879,046126879
+046126880,046126880
+046126881,046126881
+046126882,046126882
+046126883,046126883
+046126884,046126884
+046126885,046126885
+046126886,046126886
+046126887,046126887
+046126888,046126888
+046126889,046126889
+046126890,046126890
+046126891,046126891
+046126892,046126892
+046126893,046126893
+046126894,046126894
+046126895,046126895
+046126896,046126896
+046126897,046126897
+046126898,046126898
+046126899,046126899
+046126900,046126900
+046126901,046126901
+046126902,046126902
+046128007,046128007
+046128008,046128008
+046128009,046128009
+046128010,046128010
+046128011,046128011
+046128012,046128012
+046129187,046129187
+04612E001,04612E001
+04612E002,04612E002
+04612E003,04612E003
+04612E004,04612E004
+04612E005,04612E005
+04612E006,04612E006
+04612E007,04612E007
+04612E008,04612E008
+04612E009,04612E009
+04612E010,04612E010
+04612E011,04612E011
+04612E012,04612E012
+04612E013,04612E013
+04612E014,04612E014
+04612E015,04612E015
+04612E016,04612E016
+04612E017,04612E017
+04612E018,04612E018
+04612E019,04612E019
+04612E020,04612E020
+04612E021,04612E021
+04612E022,04612E022
+04612E023,04612E023
+04612E024,04612E024
+04612E025,04612E025
+04612E026,04612E026
+04612E027,04612E027
+04612E028,04612E028
+04612G133,04612G133
+04612G134,04612G134
+04612G135,04612G135
+04612G136,04612G136
+04612G137,04612G137
+04612G138,04612G138
+04612G139,04612G139
+04612G140,04612G140
+04612G141,04612G141
+04612G142,04612G142
+04612G143,04612G143
+04612G144,04612G144
+04612G145,04612G145
+04612G146,04612G146
+04612G147,04612G147
+04612G148,04612G148
+04612G149,04612G149
+04612G150,04612G150
+04612G151,04612G151
+04612G152,04612G152
+04612G153,04612G153
+04612G154,04612G154
+04612G155,04612G155
+04612G156,04612G156
+04612G157,04612G157
+04612G158,04612G158
+04612G159,04612G159
+04612G160,04612G160
+04612G161,04612G161
+04612G162,04612G162
+04612G163,04612G163
+04612G164,04612G164
+04612G165,04612G165
+04612G166,04612G166
+04612G167,04612G167
+04612G168,04612G168
+04612G169,04612G169
+04612G170,04612G170
+04612G171,04612G171
+04612G172,04612G172
+04612G173,04612G173
+04612G174,04612G174
+04612G175,04612G175
+04612G176,04612G176
+04612G177,04612G177
+04612G178,04612G178
+04612G179,04612G179
+04612G180,04612G180
+04612G181,04612G181
+04612G182,04612G182
+04612G183,04612G183
+04612G184,04612G184
+04612G185,04612G185
+04612G186,04612G186
+04612G187,04612G187
+04612G188,04612G188
+04612G189,04612G189
+04612G190,04612G190
+04612G191,04612G191
+04612G192,04612G192
+04612G193,04612G193
+04612G194,04612G194
+04612G195,04612G195
+04612G196,04612G196
+04612G197,04612G197
+04612G198,04612G198
+04612G199,04612G199
+04612G200,04612G200
+04612G201,04612G201
+04612G202,04612G202
+04612G203,04612G203
+04612G204,04612G204
+04612G205,04612G205
+04612G206,04612G206
+04612G207,04612G207
+04612G208,04612G208
+04612G209,04612G209
+04612G210,04612G210
+04612G211,04612G211
+04612G212,04612G212
+04612G213,04612G213
+04612G214,04612G214
+04612G215,04612G215
+04612G216,04612G216
+04612G217,04612G217
+04612G218,04612G218
+04612G219,04612G219
+04612G220,04612G220
+04612G221,04612G221
+04612G222,04612G222
+04612G223,04612G223
+04612G224,04612G224
+04612G225,04612G225
+04612G226,04612G226
+04612G227,04612G227
+04612G228,04612G228
+04612G229,04612G229
+04612G230,04612G230
+04612G231,04612G231
+04612G232,04612G232
+04612G233,04612G233
+04612J048,04612J048
+04612J049,04612J049
+04612J050,04612J050
+04612J051,04612J051
+04612J052,04612J052
+04612J053,04612J053
+046130790,046130790
+046130791,046130791
+046130792,046130792
+046130793,046130793
+046130794,046130794
+046130795,046130795
+046130796,046130796
+046130797,046130797
+046130798,046130798
+046130799,046130799
+046130800,046130800
+046130801,046130801
+046130802,046130802
+046130803,046130803
+046130804,046130804
+046130805,046130805
+046130806,046130806
+046130807,046130807
+046130808,046130808
+046130809,046130809
+046130810,046130810
+046130811,046130811
+046130812,046130812
+046130813,046130813
+046130814,046130814
+046130815,046130815
+046130816,046130816
+046130817,046130817
+046130818,046130818
+046130819,046130819
+046130820,046130820
+046130821,046130821
+046130822,046130822
+046130823,046130823
+046130824,046130824
+046130825,046130825
+046130826,046130826
+046130832,046130832
+046134125,046134125
+046134126,046134126
+046134127,046134127
+046134128,046134128
+046134129,046134129
+046134130,046134130
+046135087,046135087
+046135088,046135088
+046135089,046135089
+046135090,046135090
+046135091,046135091
+046135092,046135092
+046135093,046135093
+046136903,046136903
+046136904,046136904
+046136905,046136905
+046136906,046136906
+046136907,046136907
+046136908,046136908
+046136909,046136909
+046136910,046136910
+046136911,046136911
+046136912,046136912
+046136913,046136913
+046136914,046136914
+046136915,046136915
+046136916,046136916
+046136917,046136917
+046136918,046136918
+046136919,046136919
+046136920,046136920
+046136921,046136921
+046136922,046136922
+046136923,046136923
+046136924,046136924
+046136925,046136925
+046136926,046136926
+046136927,046136927
+046136928,046136928
+046136929,046136929
+046136930,046136930
+046136931,046136931
+046136932,046136932
+046136933,046136933
+046136934,046136934
+046136935,046136935
+046136936,046136936
+046136937,046136937
+046138013,046138013
+046138014,046138014
+046138015,046138015
+046139189,046139189
+046140827,046140827
+046140828,046140828
+046140829,046140829
+046140830,046140830
+046145094,046145094
+046145095,046145095
+046145096,046145096
+046145097,046145097
+046145098,046145098
+046145099,046145099
+046146938,046146938
+046146939,046146939
+046146940,046146940
+046146941,046146941
+046146942,046146942
+046146943,046146943
+046146944,046146944
+046146945,046146945
+046146946,046146946
+046146947,046146947
+046146948,046146948
+046146949,046146949
+046146950,046146950
+046146951,046146951
+046146952,046146952
+046146953,046146953
+046146954,046146954
+046146955,046146955
+046146956,046146956
+046146957,046146957
+046146958,046146958
+046146959,046146959
+046146960,046146960
+046146961,046146961
+046146962,046146962
+046146963,046146963
+046146964,046146964
+046146965,046146965
+046146966,046146966
+046146967,046146967
+046146968,046146968
+046146969,046146969
+046146970,046146970
+046146971,046146971
+046146972,046146972
+046146973,046146973
+046146974,046146974
+046146975,046146975
+046146976,046146976
+046146977,046146977
+046146978,046146978
+046146979,046146979
+046146980,046146980
+046146981,046146981
+046146982,046146982
+046146983,046146983
+046146984,046146984
+046146985,046146985
+046146986,046146986
+046146987,046146987
+046146988,046146988
+046146989,046146989
+046146990,046146990
+046146991,046146991
+046146992,046146992
+046146993,046146993
+046146994,046146994
+046146995,046146995
+046146996,046146996
+046146997,046146997
+046146998,046146998
+046146999,046146999
+046147001,046147001
+046147002,046147002
+046147003,046147003
+046147004,046147004
+046147005,046147005
+046147006,046147006
+046147007,046147007
+046147008,046147008
+046147009,046147009
+046147010,046147010
+046147011,046147011
+046147012,046147012
+046147013,046147013
+046147014,046147014
+046147015,046147015
+046147016,046147016
+046147017,046147017
+046147018,046147018
+046147019,046147019
+046147020,046147020
+046147021,046147021
+046147022,046147022
+046147023,046147023
+046147024,046147024
+046147025,046147025
+046147026,046147026
+046147027,046147027
+046147028,046147028
+046147029,046147029
+046147030,046147030
+046147031,046147031
+046147032,046147032
+046147033,046147033
+046147034,046147034
+046147035,046147035
+046147036,046147036
+046147037,046147037
+046147038,046147038
+046147039,046147039
+046147040,046147040
+046147041,046147041
+046147042,046147042
+046147043,046147043
+046147044,046147044
+046147045,046147045
+046147046,046147046
+046147047,046147047
+046147048,046147048
+046147049,046147049
+046147050,046147050
+046147051,046147051
+046147052,046147052
+046147053,046147053
+04614G001,04614G001
+04614G002,04614G002
+04614G003,04614G003
+04614G004,04614G004
+04614G005,04614G005
+04614G006,04614G006
+04614G007,04614G007
+04614G008,04614G008
+04614G009,04614G009
+04614G010,04614G010
+04614G011,04614G011
+04614G012,04614G012
+04614G013,04614G013
+04614G014,04614G014
+04614G015,04614G015
+04614G016,04614G016
+04614G017,04614G017
+04614G018,04614G018
+04614G019,04614G019
+04614G020,04614G020
+04614G021,04614G021
+04614G022,04614G022
+04614G023,04614G023
+04614G024,04614G024
+04614G025,04614G025
+04614G026,04614G026
+04614G027,04614G027
+04614G028,04614G028
+04614G029,04614G029
+04614G030,04614G030
+04614G031,04614G031
+04614G032,04614G032
+04614G033,04614G033
+04614G034,04614G034
+04614G035,04614G035
+04614G036,04614G036
+04614G037,04614G037
+04614G038,04614G038
+04614G039,04614G039
+04614G040,04614G040
+04614G041,04614G041
+04614G042,04614G042
+04614G043,04614G043
+04614G044,04614G044
+04614G045,04614G045
+04614G046,04614G046
+04614G047,04614G047
+04614G048,04614G048
+04614G049,04614G049
+04614G050,04614G050
+04614G051,04614G051
+04614G052,04614G052
+04614G053,04614G053
+04614G054,04614G054
+04614G055,04614G055
+04614G056,04614G056
+04614G057,04614G057
+04614G058,04614G058
+04614G059,04614G059
+04614G060,04614G060
+04614G061,04614G061
+04614G062,04614G062
+04614G063,04614G063
+04614G064,04614G064
+04614G065,04614G065
+04614G066,04614G066
+04614G067,04614G067
+04614G068,04614G068
+04614G069,04614G069
+04614G070,04614G070
+04614G071,04614G071
+04614G072,04614G072
+04614G073,04614G073
+04614G074,04614G074
+04614G075,04614G075
+04614G076,04614G076
+04614G077,04614G077
+04614G078,04614G078
+04614G079,04614G079
+04614G080,04614G080
+04614G081,04614G081
+04614G082,04614G082
+04614G083,04614G083
+04614G084,04614G084
+04614G085,04614G085
+04614G086,04614G086
+04614G087,04614G087
+04614G089,04614G089
+04614G234,04614G234
+047010001,047010001
+047010057,047010057
+047010058,047010058
+047010059,047010059
+047010060,047010060
+047010061,047010061
+047010062,047010062
+047010063,047010063
+047010064,047010064
+047010065,047010065
+047010066,047010066
+047010067,047010067
+047010068,047010068
+047010069,047010069
+047010070,047010070
+047010071,047010071
+047010072,047010072
+047010073,047010073
+047010074,047010074
+047010151,047010151
+047014001,047014001
+047014012,047014012
+047014070,047014070
+047014071,047014071
+047014072,047014072
+047014073,047014073
+047014074,047014074
+047014075,047014075
+047014076,047014076
+047014077,047014077
+047014078,047014078
+047014079,047014079
+047014080,047014080
+047014123,047014123
+047014124,047014124
+047015012,047015012
+047015013,047015013
+047015014,047015014
+047015015,047015015
+047015016,047015016
+047015017,047015017
+047015018,047015018
+047019001,047019001
+047019002,047019002
+047019003,047019003
+047019004,047019004
+047019005,047019005
+047020075,047020075
+047020076,047020076
+047020077,047020077
+047020078,047020078
+047020079,047020079
+047020080,047020080
+047020081,047020081
+047020082,047020082
+047020083,047020083
+047020084,047020084
+047020085,047020085
+047020086,047020086
+047020087,047020087
+047020088,047020088
+047020089,047020089
+047020090,047020090
+047020091,047020091
+047020092,047020092
+047020093,047020093
+047020094,047020094
+047024081,047024081
+047024082,047024082
+047024083,047024083
+047024084,047024084
+047024085,047024085
+047024086,047024086
+047024087,047024087
+047024088,047024088
+047024089,047024089
+047024090,047024090
+047024091,047024091
+047024092,047024092
+047024093,047024093
+047024094,047024094
+047024095,047024095
+047024096,047024096
+047024097,047024097
+047024098,047024098
+047024099,047024099
+047024100,047024100
+047024101,047024101
+047024102,047024102
+047024103,047024103
+047024104,047024104
+047025019,047025019
+047025020,047025020
+047025021,047025021
+047025022,047025022
+047025023,047025023
+047025024,047025024
+047025025,047025025
+047025026,047025026
+047028001,047028001
+047030002,047030002
+047030003,047030003
+047030004,047030004
+047030057,047030057
+047030095,047030095
+047030096,047030096
+047030097,047030097
+047030098,047030098
+047030099,047030099
+047030100,047030100
+047030101,047030101
+047030102,047030102
+047030103,047030103
+047030104,047030104
+047030105,047030105
+047030106,047030106
+047030107,047030107
+047030108,047030108
+047030109,047030109
+047030110,047030110
+047030111,047030111
+047030112,047030112
+047034002,047034002
+047034003,047034003
+047034004,047034004
+047034105,047034105
+047034106,047034106
+047034107,047034107
+047034108,047034108
+047034109,047034109
+047034110,047034110
+047034111,047034111
+047034112,047034112
+047034113,047034113
+047034114,047034114
+047034145,047034145
+047035001,047035001
+047035027,047035027
+047035028,047035028
+047035029,047035029
+047035030,047035030
+047035031,047035031
+047035032,047035032
+047035033,047035033
+047035034,047035034
+047035035,047035035
+047035036,047035036
+047035037,047035037
+047035038,047035038
+047035039,047035039
+047035040,047035040
+047035041,047035041
+047035042,047035042
+047035043,047035043
+047035044,047035044
+047040005,047040005
+047040006,047040006
+047040007,047040007
+047040008,047040008
+047040009,047040009
+047040010,047040010
+047040011,047040011
+047040012,047040012
+047040013,047040013
+047040113,047040113
+047040114,047040114
+047040115,047040115
+047040116,047040116
+047040117,047040117
+047040118,047040118
+047040119,047040119
+047040120,047040120
+047040121,047040121
+047040122,047040122
+047040123,047040123
+047040124,047040124
+047040125,047040125
+047040126,047040126
+047040127,047040127
+047040128,047040128
+047040129,047040129
+047040130,047040130
+047040131,047040131
+047040132,047040132
+047040133,047040133
+047040134,047040134
+047040135,047040135
+047040136,047040136
+047040137,047040137
+047040138,047040138
+047040139,047040139
+047040140,047040140
+047040141,047040141
+047040142,047040142
+047040143,047040143
+047040144,047040144
+047040145,047040145
+047040146,047040146
+047040147,047040147
+047040148,047040148
+047040149,047040149
+047040150,047040150
+047040152,047040152
+047040153,047040153
+047040154,047040154
+047040155,047040155
+047040156,047040156
+047040157,047040157
+047040158,047040158
+047040159,047040159
+047040160,047040160
+047040161,047040161
+047040162,047040162
+047040163,047040163
+047040164,047040164
+047040165,047040165
+047040166,047040166
+047044005,047044005
+047044006,047044006
+047044007,047044007
+047044008,047044008
+047044009,047044009
+047044010,047044010
+047044011,047044011
+047044115,047044115
+047044116,047044116
+047044117,047044117
+047044118,047044118
+047044119,047044119
+047044120,047044120
+047044121,047044121
+047044122,047044122
+047044125,047044125
+047044126,047044126
+047044127,047044127
+047044128,047044128
+047045002,047045002
+047045045,047045045
+047047001,047047001
+047050014,047050014
+047050015,047050015
+047050167,047050167
+047050168,047050168
+047050169,047050169
+047050170,047050170
+047050171,047050171
+047050172,047050172
+047050173,047050173
+047050174,047050174
+047050175,047050175
+047050176,047050176
+047050177,047050177
+047050178,047050178
+047050179,047050179
+047050180,047050180
+047050181,047050181
+047050182,047050182
+047050183,047050183
+047050184,047050184
+047050185,047050185
+047050186,047050186
+047050187,047050187
+047050188,047050188
+047050189,047050189
+047050190,047050190
+047050191,047050191
+047054012,047054012
+047054013,047054013
+047054014,047054014
+047054066,047054066
+047054129,047054129
+047054130,047054130
+047054131,047054131
+047054132,047054132
+047054133,047054133
+047054134,047054134
+047054135,047054135
+047054136,047054136
+047054137,047054137
+047054138,047054138
+047054139,047054139
+047054140,047054140
+047054141,047054141
+047054142,047054142
+047054143,047054143
+047054144,047054144
+047054146,047054146
+047054147,047054147
+047054148,047054148
+047054149,047054149
+047055003,047055003
+047055046,047055046
+047055047,047055047
+047055048,047055048
+047055049,047055049
+047055050,047055050
+047055051,047055051
+047060016,047060016
+047060192,047060192
+047060193,047060193
+047060194,047060194
+047060195,047060195
+047060196,047060196
+047060197,047060197
+047060198,047060198
+047060199,047060199
+047060200,047060200
+047060201,047060201
+047060202,047060202
+047064015,047064015
+047064016,047064016
+047064017,047064017
+047064018,047064018
+047064067,047064067
+047064068,047064068
+047064150,047064150
+047064151,047064151
+047065004,047065004
+047070017,047070017
+047070203,047070203
+047070204,047070204
+047070205,047070205
+047070206,047070206
+047070207,047070207
+047070208,047070208
+047070209,047070209
+047070210,047070210
+047070211,047070211
+047070212,047070212
+047070213,047070213
+047070214,047070214
+047070215,047070215
+047070216,047070216
+047074019,047074019
+047074020,047074020
+047074152,047074152
+047074153,047074153
+047074154,047074154
+047074155,047074155
+047074156,047074156
+047074157,047074157
+047074158,047074158
+047075005,047075005
+047075052,047075052
+047079006,047079006
+047080018,047080018
+047080019,047080019
+047080020,047080020
+047080021,047080021
+047080022,047080022
+047080023,047080023
+047080024,047080024
+047080025,047080025
+047080217,047080217
+047080218,047080218
+047080219,047080219
+047080220,047080220
+047080221,047080221
+047080222,047080222
+047080223,047080223
+047080224,047080224
+047080225,047080225
+047080226,047080226
+047080227,047080227
+047080228,047080228
+047080229,047080229
+047080230,047080230
+047080231,047080231
+047080232,047080232
+047080233,047080233
+047080234,047080234
+047084018,047084018
+047084021,047084021
+047084022,047084022
+047084023,047084023
+047084024,047084024
+047084025,047084025
+047084026,047084026
+047084027,047084027
+047084028,047084028
+047084029,047084029
+047084068,047084068
+047084159,047084159
+047084160,047084160
+047084161,047084161
+047084162,047084162
+047084163,047084163
+047084164,047084164
+047084165,047084165
+047084166,047084166
+047084167,047084167
+047084168,047084168
+047084169,047084169
+047084170,047084170
+047084171,047084171
+047084172,047084172
+047084173,047084173
+047084174,047084174
+047084175,047084175
+047084176,047084176
+047084177,047084177
+047085006,047085006
+047085053,047085053
+047090026,047090026
+047090027,047090027
+047090028,047090028
+047090029,047090029
+047090030,047090030
+047090031,047090031
+047090032,047090032
+047090235,047090235
+047090236,047090236
+047090237,047090237
+047090238,047090238
+047090239,047090239
+047090241,047090241
+047090242,047090242
+047090243,047090243
+047090244,047090244
+047090245,047090245
+047090246,047090246
+047090247,047090247
+047090248,047090248
+047090249,047090249
+047090250,047090250
+047090251,047090251
+047090252,047090252
+047090253,047090253
+047090254,047090254
+047090255,047090255
+047090256,047090256
+047090257,047090257
+047090258,047090258
+047090259,047090259
+047090260,047090260
+047090261,047090261
+047090262,047090262
+047090263,047090263
+047094030,047094030
+047094031,047094031
+047094032,047094032
+047094033,047094033
+047094034,047094034
+047094035,047094035
+047094036,047094036
+047094037,047094037
+047094038,047094038
+047094178,047094178
+047094179,047094179
+047094180,047094180
+047094181,047094181
+047094182,047094182
+047094190,047094190
+047094191,047094191
+047094192,047094192
+047094193,047094193
+047094194,047094194
+047094195,047094195
+047094196,047094196
+047094197,047094197
+047094198,047094198
+047094199,047094199
+047094200,047094200
+047094201,047094201
+047094202,047094202
+047094203,047094203
+047094204,047094204
+047094205,047094205
+047094206,047094206
+047095054,047095054
+047100033,047100033
+047100034,047100034
+047100035,047100035
+047100036,047100036
+047100037,047100037
+047100038,047100038
+047100039,047100039
+047100040,047100040
+047100041,047100041
+047100042,047100042
+047100043,047100043
+047100264,047100264
+047100265,047100265
+047100266,047100266
+047100267,047100267
+047100268,047100268
+047100269,047100269
+047100270,047100270
+047100271,047100271
+047100272,047100272
+047100273,047100273
+047100274,047100274
+047100275,047100275
+047100276,047100276
+047104039,047104039
+047104040,047104040
+047104041,047104041
+047104042,047104042
+047104043,047104043
+047104044,047104044
+047104045,047104045
+047104046,047104046
+047104047,047104047
+047104069,047104069
+047104207,047104207
+047104208,047104208
+047104209,047104209
+047104210,047104210
+047104211,047104211
+047104212,047104212
+047104213,047104213
+047104214,047104214
+047104215,047104215
+047105007,047105007
+047105008,047105008
+047105009,047105009
+047106001,047106001
+047110044,047110044
+047110045,047110045
+047110046,047110046
+047110047,047110047
+047110048,047110048
+047110049,047110049
+047110050,047110050
+047110051,047110051
+047110277,047110277
+047110278,047110278
+047110279,047110279
+047110280,047110280
+047110281,047110281
+047110282,047110282
+047110283,047110283
+047110284,047110284
+047110285,047110285
+047110286,047110286
+047110287,047110287
+047110288,047110288
+047110289,047110289
+047110290,047110290
+047110291,047110291
+047110292,047110292
+047110293,047110293
+047110294,047110294
+047110295,047110295
+047110296,047110296
+047110297,047110297
+047110298,047110298
+047114048,047114048
+047114049,047114049
+047114050,047114050
+047114051,047114051
+047114052,047114052
+047114053,047114053
+047114183,047114183
+047114184,047114184
+047114216,047114216
+047114217,047114217
+047114218,047114218
+047114219,047114219
+047114220,047114220
+047114221,047114221
+047114222,047114222
+047114223,047114223
+047114224,047114224
+047114225,047114225
+047114226,047114226
+047114227,047114227
+047114228,047114228
+047114229,047114229
+047115055,047115055
+047119007,047119007
+047119008,047119008
+047120052,047120052
+047120299,047120299
+047120300,047120300
+047120301,047120301
+047120302,047120302
+047120303,047120303
+047120304,047120304
+047120305,047120305
+047120306,047120306
+047124054,047124054
+047124055,047124055
+047124056,047124056
+047124057,047124057
+047124230,047124230
+047124231,047124231
+047130240,047130240
+047134058,047134058
+047134059,047134059
+047134060,047134060
+047134185,047134185
+047134186,047134186
+047134187,047134187
+047134188,047134188
+047134189,047134189
+047135010,047135010
+047164061,047164061
+047164062,047164062
+047164063,047164063
+047164064,047164064
+047165011,047165011
+047180053,047180053
+047180054,047180054
+047180055,047180055
+047180056,047180056
+047184065,047184065
+2020100248,2020100248
+20200P0160,20200P0160
+050001,050001
+050002,050002
+050003,050003
+050004,050004
+050005,050005
+050006,050006
+050007,050007
+050008,050008
+050009,050009
+050010,050010
+050011,050011
+050012,050012
+050013,050013
+050014,050014
+050015,050015
+050016,050016
+050017,050017
+050018,050018
+050019,050019
+050020,050020
+050021,050021
+050022,050022
+050023,050023
+050024,050024
+050025,050025
+050026,050026
+050027,050027
+050028,050028
+050029,050029
+050030,050030
+050031,050031
+050032,050032
+050033,050033
+050034,050034
+050035,050035
+050036,050036
+050037,050037
+050038,050038
+050039,050039
+050040,050040
+050041,050041
+050042,050042
+050043,050043
+050044,050044
+050045,050045
+050046,050046
+050047,050047
+050048,050048
+050049,050049
+050050,050050
+050051,050051
+050053,050053
+050054,050054
+050055,050055
+050056,050056
+050057,050057
+050058,050058
+050059,050059
+050060,050060
+050061,050061
+050062,050062
+050063,050063
+050064,050064
+050065,050065
+050066,050066
+050067,050067
+050068,050068
+050069,050069
+050070,050070
+050071,050071
+050072,050072
+050073,050073
+050074,050074
+050075,050075
+050076,050076
+050077,050077
+050078,050078
+050079,050079
+050080,050080
+050081,050081
+050082,050082
+050083,050083
+050084,050084
+050085,050085
+050086,050086
+050087,050087
+050088,050088
+050089,050089
+050090,050090
+050091,050091
+050092,050092
+050093,050093
+050094,050094
+050095,050095
+050096,050096
+050097,050097
+050098,050098
+050099,050099
+05010,05010
+050100,050100
+050101,050101
+050102,050102
+050103,050103
+050104,050104
+050105,050105
+050106,050106
+050107,050107
+050108,050108
+050109,050109
+050110,050110
+050111,050111
+050112,050112
+050113,050113
+050114,050114
+050115,050115
+050116,050116
+050117,050117
+050118,050118
+050119,050119
+050120,050120
+050121,050121
+050122,050122
+050123,050123
+050124,050124
+050125,050125
+050126,050126
+050127,050127
+050128,050128
+050129,050129
+050130,050130
+050131,050131
+050132,050132
+050133,050133
+050134,050134
+050135,050135
+050136,050136
+050137,050137
+050138,050138
+050139,050139
+050140,050140
+050141,050141
+050142,050142
+050143,050143
+050144,050144
+050145,050145
+050146,050146
+050147,050147
+050148,050148
+050149,050149
+050150,050150
+050151,050151
+050152,050152
+050153,050153
+050154,050154
+050155,050155
+050156,050156
+050157,050157
+050158,050158
+050159,050159
+050160,050160
+050161,050161
+050162,050162
+050163,050163
+050164,050164
+050165,050165
+050166,050166
+050167,050167
+050168,050168
+050169,050169
+050170,050170
+050171,050171
+050172,050172
+050173,050173
+050175,050175
+050176,050176
+050177,050177
+050178,050178
+050179,050179
+050180,050180
+050181,050181
+050182,050182
+050183,050183
+050184,050184
+050185,050185
+050186,050186
+050187,050187
+050188,050188
+050189,050189
+050190,050190
+050191,050191
+050192,050192
+050193,050193
+050194,050194
+050195,050195
+050196,050196
+050197,050197
+050198,050198
+050199,050199
+05020,05020
+050200,050200
+050201,050201
+050202,050202
+050203,050203
+050204,050204
+050205,050205
+050206,050206
+050207,050207
+050208,050208
+050209,050209
+050210,050210
+050211,050211
+050212,050212
+050213,050213
+050214,050214
+050215,050215
+050216,050216
+050217,050217
+050218,050218
+050219,050219
+050220,050220
+050221,050221
+050222,050222
+050223,050223
+050224,050224
+050225,050225
+050226,050226
+050227,050227
+050228,050228
+050229,050229
+050230,050230
+050231,050231
+050233,050233
+050234,050234
+050235,050235
+050236,050236
+050237,050237
+050238,050238
+050239,050239
+050240,050240
+050241,050241
+050242,050242
+050243,050243
+050244,050244
+050245,050245
+050246,050246
+050247,050247
+050248,050248
+050249,050249
+050250,050250
+050251,050251
+050252,050252
+050254,050254
+050255,050255
+050256,050256
+050257,050257
+050258,050258
+050259,050259
+050260,050260
+050261,050261
+050262,050262
+050263,050263
+050264,050264
+050265,050265
+050266,050266
+050267,050267
+050268,050268
+050269,050269
+050270,050270
+050271,050271
+050272,050272
+050273,050273
+050274,050274
+050275,050275
+050276,050276
+050277,050277
+050278,050278
+050279,050279
+050280,050280
+050281,050281
+050282,050282
+050283,050283
+050284,050284
+050285,050285
+050286,050286
+050287,050287
+050288,050288
+050289,050289
+050290,050290
+050291,050291
+050292,050292
+050293,050293
+050294,050294
+050295,050295
+050296,050296
+050297,050297
+050298,050298
+050299,050299
+05030,05030
+050300,050300
+050301,050301
+050302,050302
+050303,050303
+050304,050304
+050305,050305
+050306,050306
+050307,050307
+050308,050308
+050309,050309
+050310,050310
+050311,050311
+050312,050312
+050313,050313
+050314,050314
+050315,050315
+050316,050316
+050317,050317
+050318,050318
+050319,050319
+050320,050320
+050321,050321
+050322,050322
+050323,050323
+050324,050324
+050325,050325
+050326,050326
+050327,050327
+050328,050328
+050329,050329
+050330,050330
+050331,050331
+050332,050332
+050333,050333
+050334,050334
+050335,050335
+050336,050336
+050337,050337
+050338,050338
+050339,050339
+050340,050340
+050341,050341
+050342,050342
+050343,050343
+050344,050344
+050345,050345
+050347,050347
+050348,050348
+050349,050349
+050350,050350
+050351,050351
+050352,050352
+050353,050353
+050354,050354
+050355,050355
+050356,050356
+050357,050357
+050358,050358
+050359,050359
+050360,050360
+050361,050361
+050362,050362
+050364,050364
+050365,050365
+050366,050366
+050367,050367
+050368,050368
+050369,050369
+050370,050370
+050371,050371
+050372,050372
+050373,050373
+050374,050374
+050375,050375
+050376,050376
+050377,050377
+050378,050378
+050379,050379
+050380,050380
+050381,050381
+050382,050382
+050383,050383
+050384,050384
+050385,050385
+050386,050386
+050387,050387
+050388,050388
+050389,050389
+050390,050390
+050391,050391
+050392,050392
+050393,050393
+050394,050394
+050395,050395
+050396,050396
+050397,050397
+050398,050398
+050399,050399
+05040,05040
+050400,050400
+050401,050401
+050402,050402
+050403,050403
+050404,050404
+050405,050405
+050406,050406
+050407,050407
+050408,050408
+050409,050409
+050410,050410
+050411,050411
+050412,050412
+050413,050413
+050414,050414
+050415,050415
+050416,050416
+050417,050417
+050418,050418
+050419,050419
+050420,050420
+050421,050421
+050422,050422
+050423,050423
+050424,050424
+050425,050425
+050426,050426
+050427,050427
+050428,050428
+050429,050429
+050430,050430
+050431,050431
+050432,050432
+050433,050433
+050434,050434
+050435,050435
+050436,050436
+050437,050437
+050438,050438
+050439,050439
+2020100033,2020100033
+050440,050440
+050441,050441
+050442,050442
+050443,050443
+050444,050444
+050445,050445
+050446,050446
+050447,050447
+050448,050448
+050449,050449
+050450,050450
+050451,050451
+050452,050452
+050453,050453
+050454,050454
+050455,050455
+050456,050456
+050457,050457
+050458,050458
+050459,050459
+050460,050460
+050461,050461
+050462,050462
+050463,050463
+050464,050464
+050465,050465
+050466,050466
+050467,050467
+050468,050468
+050469,050469
+050470,050470
+050471,050471
+050472,050472
+050473,050473
+050474,050474
+050475,050475
+050476,050476
+050477,050477
+050478,050478
+050479,050479
+050480,050480
+050481,050481
+050482,050482
+050483,050483
+050484,050484
+050485,050485
+050486,050486
+050487,050487
+050488,050488
+050489,050489
+050490,050490
+050491,050491
+050492,050492
+050493,050493
+050494,050494
+050495,050495
+050497,050497
+050498,050498
+050499,050499
+050500,050500
+050501,050501
+050502,050502
+050503,050503
+050504,050504
+050505,050505
+050506,050506
+050507,050507
+050508,050508
+050509,050509
+050510,050510
+050511,050511
+050512,050512
+050513,050513
+050514,050514
+050515,050515
+050516,050516
+050517,050517
+050518,050518
+050519,050519
+050520,050520
+050521,050521
+050522,050522
+050523,050523
+050524,050524
+050525,050525
+050526,050526
+050527,050527
+050528,050528
+050529,050529
+050530,050530
+050531,050531
+050532,050532
+050533,050533
+050534,050534
+050535,050535
+050536,050536
+050537,050537
+050538,050538
+050539,050539
+050540,050540
+050541,050541
+050542,050542
+050543,050543
+050544,050544
+050545,050545
+050546,050546
+050547,050547
+050548,050548
+050549,050549
+050550,050550
+050551,050551
+050552,050552
+050553,050553
+050554,050554
+050555,050555
+050556,050556
+050557,050557
+050558,050558
+050559,050559
+050560,050560
+050561,050561
+050562,050562
+050563,050563
+050564,050564
+050565,050565
+050566,050566
+050567,050567
+050568,050568
+050569,050569
+050570,050570
+050571,050571
+050572,050572
+050573,050573
+050574,050574
+050575,050575
+050576,050576
+050577,050577
+050578,050578
+050579,050579
+050580,050580
+050581,050581
+050582,050582
+050583,050583
+050584,050584
+050585,050585
+050586,050586
+050587,050587
+050588,050588
+050589,050589
+050590,050590
+050591,050591
+050592,050592
+050593,050593
+050594,050594
+050595,050595
+050596,050596
+050597,050597
+050598,050598
+050599,050599
+050600,050600
+050601,050601
+050602,050602
+050603,050603
+050604,050604
+050605,050605
+050606,050606
+050607,050607
+050608,050608
+050609,050609
+050610,050610
+050611,050611
+050612,050612
+050613,050613
+050614,050614
+050615,050615
+050616,050616
+050617,050617
+050618,050618
+050619,050619
+050620,050620
+050621,050621
+050622,050622
+050623,050623
+050624,050624
+050625,050625
+050626,050626
+050627,050627
+050628,050628
+050629,050629
+050630,050630
+050631,050631
+050632,050632
+050633,050633
+050634,050634
+050635,050635
+050636,050636
+050637,050637
+050638,050638
+050639,050639
+050640,050640
+050641,050641
+050642,050642
+050643,050643
+050644,050644
+050645,050645
+050646,050646
+050647,050647
+050648,050648
+050649,050649
+050650,050650
+050651,050651
+050652,050652
+050653,050653
+050654,050654
+050655,050655
+050656,050656
+050657,050657
+050658,050658
+050659,050659
+050660,050660
+050661,050661
+050662,050662
+050663,050663
+050664,050664
+050665,050665
+050666,050666
+050668,050668
+050669,050669
+050670,050670
+050671,050671
+050672,050672
+050673,050673
+050674,050674
+050675,050675
+050676,050676
+050677,050677
+050678,050678
+050679,050679
+050680,050680
+050681,050681
+050682,050682
+050683,050683
+050684,050684
+050685,050685
+050686,050686
+050687,050687
+050688,050688
+050689,050689
+050690,050690
+050691,050691
+050692,050692
+050693,050693
+050694,050694
+050695,050695
+050696,050696
+050697,050697
+050698,050698
+050699,050699
+05070,05070
+050700,050700
+050701,050701
+050702,050702
+050703,050703
+050704,050704
+050705,050705
+050706,050706
+050707,050707
+050708,050708
+050709,050709
+050710,050710
+050711,050711
+050712,050712
+050713,050713
+050714,050714
+050715,050715
+050716,050716
+050717,050717
+050718,050718
+050719,050719
+050720,050720
+050721,050721
+050722,050722
+050723,050723
+050724,050724
+050725,050725
+050726,050726
+050727,050727
+050728,050728
+050729,050729
+050730,050730
+050731,050731
+050732,050732
+050733,050733
+050734,050734
+050735,050735
+050736,050736
+050738,050738
+050739,050739
+050740,050740
+050741,050741
+050742,050742
+050743,050743
+050744,050744
+050745,050745
+050747,050747
+050748,050748
+050749,050749
+050750,050750
+050751,050751
+050752,050752
+050753,050753
+050754,050754
+050755,050755
+050756,050756
+050757,050757
+050758,050758
+050759,050759
+050761,050761
+050762,050762
+050763,050763
+050764,050764
+050765,050765
+050766,050766
+050767,050767
+050768,050768
+050769,050769
+050770,050770
+050771,050771
+050772,050772
+050773,050773
+050774,050774
+050775,050775
+050776,050776
+050777,050777
+050778,050778
+050779,050779
+050780,050780
+050781,050781
+050782,050782
+050783,050783
+050784,050784
+050785,050785
+050787,050787
+050788,050788
+050789,050789
+050790,050790
+050791,050791
+050792,050792
+050793,050793
+050794,050794
+050795,050795
+050797,050797
+050798,050798
+050799,050799
+050800,050800
+050801,050801
+050802,050802
+050803,050803
+050804,050804
+050805,050805
+050806,050806
+050807,050807
+050808,050808
+050809,050809
+050810,050810
+050811,050811
+050812,050812
+050813,050813
+050814,050814
+050815,050815
+050816,050816
+050817,050817
+050818,050818
+050819,050819
+050820,050820
+050821,050821
+050822,050822
+050823,050823
+050824,050824
+050825,050825
+050826,050826
+050827,050827
+050828,050828
+050829,050829
+050830,050830
+050831,050831
+050832,050832
+050833,050833
+050834,050834
+050835,050835
+050836,050836
+050837,050837
+050838,050838
+050839,050839
+050840,050840
+050841,050841
+050842,050842
+050843,050843
+050844,050844
+050845,050845
+050846,050846
+050847,050847
+050848,050848
+050849,050849
+050850,050850
+050851,050851
+050852,050852
+050853,050853
+050854,050854
+050855,050855
+050856,050856
+050857,050857
+050858,050858
+050859,050859
+050860,050860
+050861,050861
+050862,050862
+050863,050863
+050865,050865
+050866,050866
+050867,050867
+050868,050868
+050869,050869
+050870,050870
+050871,050871
+050872,050872
+050873,050873
+050874,050874
+050875,050875
+050876,050876
+050877,050877
+050878,050878
+050879,050879
+050880,050880
+050881,050881
+050882,050882
+050883,050883
+050884,050884
+050885,050885
+050886,050886
+050887,050887
+050888,050888
+050889,050889
+050890,050890
+050891,050891
+050892,050892
+050893,050893
+050894,050894
+050895,050895
+050896,050896
+050897,050897
+050898,050898
+050899,050899
+050900,050900
+050901,050901
+050902,050902
+050903,050903
+050904,050904
+050905,050905
+050906,050906
+050907,050907
+050908,050908
+050909,050909
+050910,050910
+050911,050911
+050912,050912
+050913,050913
+050914,050914
+050915,050915
+050916,050916
+050917,050917
+050918,050918
+050919,050919
+050920,050920
+050922,050922
+050923,050923
+050924,050924
+050925,050925
+050926,050926
+050927,050927
+050928,050928
+050929,050929
+050930,050930
+050931,050931
+050932,050932
+050933,050933
+050934,050934
+050935,050935
+050936,050936
+050937,050937
+050938,050938
+050939,050939
+050940,050940
+050941,050941
+050942,050942
+050943,050943
+050944,050944
+050945,050945
+050946,050946
+050947,050947
+050948,050948
+050949,050949
+050950,050950
+050951,050951
+050952,050952
+050953,050953
+050954,050954
+050955,050955
+050956,050956
+050957,050957
+050958,050958
+050959,050959
+050960,050960
+050961,050961
+050962,050962
+050963,050963
+050964,050964
+050965,050965
+050966,050966
+050967,050967
+050968,050968
+050969,050969
+050970,050970
+050971,050971
+050972,050972
+050973,050973
+050974,050974
+050975,050975
+050976,050976
+050977,050977
+050978,050978
+050979,050979
+050980,050980
+050981,050981
+050982,050982
+050983,050983
+050984,050984
+050985,050985
+050986,050986
+050987,050987
+050988,050988
+050989,050989
+050990,050990
+050991,050991
+050992,050992
+050993,050993
+050994,050994
+050995,050995
+050996,050996
+050997,050997
+050998,050998
+050999,050999
+051000,051000
+051001,051001
+051002,051002
+051003,051003
+051004,051004
+051005,051005
+051006,051006
+051007,051007
+051008,051008
+051009,051009
+051010,051010
+051011,051011
+051012,051012
+051013,051013
+051014,051014
+051015,051015
+051017,051017
+051018,051018
+051019,051019
+051020,051020
+051021,051021
+051022,051022
+051023,051023
+051024,051024
+051025,051025
+051026,051026
+051027,051027
+051028,051028
+051029,051029
+051030,051030
+051031,051031
+051032,051032
+051033,051033
+051034,051034
+051035,051035
+051036,051036
+051037,051037
+051038,051038
+051039,051039
+051040,051040
+051041,051041
+051042,051042
+051043,051043
+051044,051044
+051045,051045
+051046,051046
+051047,051047
+051048,051048
+051049,051049
+051050,051050
+051051,051051
+051052,051052
+051053,051053
+051054,051054
+051055,051055
+051056,051056
+051057,051057
+051058,051058
+051059,051059
+051060,051060
+051061,051061
+051062,051062
+051063,051063
+051064,051064
+051065,051065
+051066,051066
+051067,051067
+051068,051068
+051069,051069
+051070,051070
+051071,051071
+051072,051072
+051073,051073
+051074,051074
+051075,051075
+051076,051076
+051077,051077
+051078,051078
+051079,051079
+051080,051080
+051081,051081
+051082,051082
+051083,051083
+051084,051084
+051085,051085
+051086,051086
+051087,051087
+051088,051088
+051089,051089
+051090,051090
+051091,051091
+051093,051093
+051094,051094
+051095,051095
+051096,051096
+051097,051097
+051098,051098
+051099,051099
+051100,051100
+051101,051101
+051102,051102
+051103,051103
+051104,051104
+051105,051105
+051106,051106
+051107,051107
+051108,051108
+051109,051109
+051110,051110
+051111,051111
+051112,051112
+051113,051113
+051114,051114
+051115,051115
+051116,051116
+051117,051117
+051118,051118
+051119,051119
+051120,051120
+051121,051121
+051122,051122
+051123,051123
+051124,051124
+051125,051125
+051126,051126
+051127,051127
+051128,051128
+051129,051129
+051130,051130
+051131,051131
+051132,051132
+051133,051133
+051134,051134
+051135,051135
+051136,051136
+051137,051137
+051138,051138
+051139,051139
+051140,051140
+051141,051141
+051142,051142
+051143,051143
+051144,051144
+051145,051145
+051146,051146
+051147,051147
+051148,051148
+051149,051149
+051150,051150
+051151,051151
+051152,051152
+051153,051153
+051154,051154
+051155,051155
+051156,051156
+051157,051157
+051158,051158
+051159,051159
+051160,051160
+051161,051161
+051162,051162
+051163,051163
+051164,051164
+051165,051165
+051166,051166
+051167,051167
+051168,051168
+051169,051169
+051170,051170
+051171,051171
+051172,051172
+051173,051173
+051174,051174
+051175,051175
+051176,051176
+051177,051177
+051178,051178
+051179,051179
+051180,051180
+051181,051181
+051182,051182
+051183,051183
+051184,051184
+051185,051185
+051186,051186
+051187,051187
+051188,051188
+051189,051189
+051190,051190
+051191,051191
+051192,051192
+051193,051193
+051194,051194
+051195,051195
+051196,051196
+051197,051197
+051198,051198
+051199,051199
+051200,051200
+051201,051201
+051202,051202
+051203,051203
+051204,051204
+051205,051205
+051206,051206
+051207,051207
+051208,051208
+051209,051209
+051210,051210
+051211,051211
+051212,051212
+051213,051213
+051214,051214
+051215,051215
+051216,051216
+051217,051217
+051218,051218
+051219,051219
+051220,051220
+051221,051221
+051222,051222
+051224,051224
+051225,051225
+051226,051226
+051227,051227
+051228,051228
+051229,051229
+051230,051230
+051231,051231
+051232,051232
+051233,051233
+051234,051234
+051235,051235
+051236,051236
+051237,051237
+051238,051238
+051239,051239
+051240,051240
+051241,051241
+051242,051242
+051243,051243
+051244,051244
+051245,051245
+051246,051246
+051247,051247
+051248,051248
+051249,051249
+051250,051250
+051251,051251
+051252,051252
+051253,051253
+051254,051254
+051255,051255
+051256,051256
+051257,051257
+051258,051258
+051259,051259
+051260,051260
+051261,051261
+051262,051262
+051263,051263
+051264,051264
+051265,051265
+051266,051266
+051267,051267
+051268,051268
+051269,051269
+051270,051270
+051271,051271
+051272,051272
+051273,051273
+051274,051274
+051275,051275
+051276,051276
+051277,051277
+051278,051278
+051279,051279
+051280,051280
+051281,051281
+051282,051282
+051283,051283
+051285,051285
+051286,051286
+051287,051287
+051288,051288
+051289,051289
+051290,051290
+051291,051291
+051292,051292
+051293,051293
+051294,051294
+051295,051295
+051296,051296
+051297,051297
+051298,051298
+051299,051299
+051300,051300
+051301,051301
+051302,051302
+051303,051303
+051304,051304
+051305,051305
+051306,051306
+051307,051307
+051308,051308
+051309,051309
+051310,051310
+051311,051311
+051312,051312
+051313,051313
+051314,051314
+051315,051315
+051316,051316
+051317,051317
+051318,051318
+051319,051319
+051320,051320
+051321,051321
+051322,051322
+051323,051323
+051324,051324
+051325,051325
+051326,051326
+051327,051327
+051328,051328
+051329,051329
+051330,051330
+051331,051331
+051332,051332
+051333,051333
+051334,051334
+051335,051335
+051336,051336
+051338,051338
+051339,051339
+051340,051340
+051341,051341
+051342,051342
+051343,051343
+051344,051344
+051345,051345
+051346,051346
+051347,051347
+051348,051348
+051349,051349
+051350,051350
+051351,051351
+051352,051352
+051353,051353
+051354,051354
+051355,051355
+051356,051356
+051357,051357
+051358,051358
+051359,051359
+051360,051360
+051361,051361
+051362,051362
+051363,051363
+051364,051364
+051365,051365
+051366,051366
+051367,051367
+051368,051368
+051369,051369
+051370,051370
+051371,051371
+051372,051372
+051373,051373
+051374,051374
+051375,051375
+051376,051376
+051377,051377
+051378,051378
+051379,051379
+051380,051380
+051381,051381
+051382,051382
+051384,051384
+051385,051385
+051386,051386
+051387,051387
+051388,051388
+051389,051389
+051390,051390
+051391,051391
+051392,051392
+051393,051393
+051394,051394
+051395,051395
+051396,051396
+051397,051397
+051398,051398
+051399,051399
+051400,051400
+051401,051401
+051402,051402
+051403,051403
+051404,051404
+051405,051405
+051406,051406
+051407,051407
+051408,051408
+051409,051409
+051410,051410
+051411,051411
+051412,051412
+051413,051413
+051414,051414
+051415,051415
+051416,051416
+051417,051417
+051418,051418
+051419,051419
+051420,051420
+051421,051421
+051422,051422
+051423,051423
+051424,051424
+051425,051425
+051426,051426
+051427,051427
+051428,051428
+051429,051429
+051430,051430
+051431,051431
+051432,051432
+051433,051433
+051434,051434
+051435,051435
+051436,051436
+051437,051437
+051438,051438
+051439,051439
+051440,051440
+051441,051441
+051442,051442
+051443,051443
+051444,051444
+051445,051445
+051446,051446
+051447,051447
+051448,051448
+051449,051449
+051450,051450
+051451,051451
+051452,051452
+051453,051453
+051454,051454
+051455,051455
+051456,051456
+051457,051457
+051458,051458
+051459,051459
+051460,051460
+051461,051461
+051462,051462
+051463,051463
+051464,051464
+051465,051465
+051466,051466
+051467,051467
+051468,051468
+051469,051469
+051470,051470
+051471,051471
+051472,051472
+051473,051473
+051474,051474
+051475,051475
+051476,051476
+051477,051477
+051478,051478
+051479,051479
+051480,051480
+051481,051481
+051482,051482
+051483,051483
+051484,051484
+051485,051485
+051486,051486
+051487,051487
+051488,051488
+051489,051489
+051490,051490
+051491,051491
+051492,051492
+051493,051493
+051494,051494
+051495,051495
+051496,051496
+051497,051497
+051498,051498
+051499,051499
+051500,051500
+051501,051501
+051502,051502
+051503,051503
+051504,051504
+051505,051505
+051506,051506
+051507,051507
+051508,051508
+051509,051509
+051510,051510
+051511,051511
+051512,051512
+051513,051513
+051514,051514
+051515,051515
+051516,051516
+051517,051517
+051518,051518
+051519,051519
+051520,051520
+051521,051521
+051522,051522
+051523,051523
+051524,051524
+051525,051525
+051526,051526
+051527,051527
+051528,051528
+051529,051529
+051530,051530
+051531,051531
+051532,051532
+051533,051533
+051534,051534
+051535,051535
+051536,051536
+051537,051537
+051538,051538
+051539,051539
+051540,051540
+051541,051541
+051542,051542
+051543,051543
+051544,051544
+051545,051545
+051546,051546
+051547,051547
+051548,051548
+051549,051549
+051550,051550
+051551,051551
+051552,051552
+051553,051553
+051554,051554
+051555,051555
+051556,051556
+051557,051557
+051558,051558
+051559,051559
+051560,051560
+051561,051561
+051562,051562
+051563,051563
+051564,051564
+051565,051565
+051566,051566
+051567,051567
+051568,051568
+051569,051569
+051570,051570
+051571,051571
+051572,051572
+051573,051573
+051574,051574
+051575,051575
+051576,051576
+051577,051577
+051578,051578
+051579,051579
+051580,051580
+051581,051581
+051582,051582
+051583,051583
+051584,051584
+051585,051585
+051586,051586
+051587,051587
+051588,051588
+051589,051589
+051590,051590
+051591,051591
+051592,051592
+051593,051593
+051594,051594
+051595,051595
+051596,051596
+051597,051597
+051598,051598
+051599,051599
+051600,051600
+051601,051601
+051602,051602
+051603,051603
+051604,051604
+051605,051605
+051606,051606
+051607,051607
+051608,051608
+051609,051609
+051610,051610
+051611,051611
+051612,051612
+051613,051613
+051614,051614
+051615,051615
+051616,051616
+051617,051617
+051618,051618
+051619,051619
+051620,051620
+051621,051621
+051622,051622
+051623,051623
+051624,051624
+051625,051625
+051626,051626
+051627,051627
+051628,051628
+051629,051629
+051630,051630
+051631,051631
+051632,051632
+051633,051633
+051634,051634
+051635,051635
+051636,051636
+051637,051637
+051638,051638
+051640,051640
+051641,051641
+051642,051642
+051643,051643
+051644,051644
+051645,051645
+051646,051646
+051647,051647
+051648,051648
+051649,051649
+051650,051650
+051651,051651
+051652,051652
+051653,051653
+051654,051654
+051655,051655
+051656,051656
+051657,051657
+051658,051658
+051659,051659
+051660,051660
+051661,051661
+051662,051662
+051663,051663
+051664,051664
+051665,051665
+051666,051666
+051667,051667
+051668,051668
+051669,051669
+051670,051670
+051671,051671
+051672,051672
+051673,051673
+051674,051674
+051675,051675
+051676,051676
+051677,051677
+051678,051678
+051679,051679
+051680,051680
+051681,051681
+051682,051682
+051683,051683
+051684,051684
+051685,051685
+051686,051686
+051687,051687
+051688,051688
+051689,051689
+051690,051690
+051691,051691
+051692,051692
+051693,051693
+051694,051694
+051695,051695
+051696,051696
+051697,051697
+051698,051698
+051699,051699
+051700,051700
+051701,051701
+051703,051703
+051704,051704
+051705,051705
+051706,051706
+051707,051707
+051708,051708
+051709,051709
+051710,051710
+051711,051711
+051712,051712
+051713,051713
+051714,051714
+051715,051715
+051716,051716
+051717,051717
+051718,051718
+051719,051719
+051720,051720
+051721,051721
+051722,051722
+051723,051723
+051724,051724
+051725,051725
+051727,051727
+051728,051728
+051729,051729
+051730,051730
+051731,051731
+051732,051732
+051733,051733
+051734,051734
+051735,051735
+051736,051736
+051737,051737
+051738,051738
+051739,051739
+051740,051740
+051741,051741
+051742,051742
+051743,051743
+051744,051744
+051745,051745
+051746,051746
+051747,051747
+051748,051748
+051749,051749
+051750,051750
+051751,051751
+051752,051752
+051753,051753
+051754,051754
+051755,051755
+051756,051756
+051757,051757
+051758,051758
+051759,051759
+051760,051760
+051761,051761
+051762,051762
+051763,051763
+051765,051765
+051766,051766
+051767,051767
+051768,051768
+051769,051769
+051770,051770
+051771,051771
+051772,051772
+051773,051773
+051774,051774
+051775,051775
+051776,051776
+051777,051777
+051778,051778
+051779,051779
+051780,051780
+051781,051781
+051782,051782
+051783,051783
+051784,051784
+051785,051785
+051786,051786
+051787,051787
+051788,051788
+051789,051789
+051790,051790
+051791,051791
+051792,051792
+051793,051793
+051794,051794
+051795,051795
+051796,051796
+051797,051797
+051798,051798
+051799,051799
+051800,051800
+051801,051801
+051802,051802
+051803,051803
+051804,051804
+051805,051805
+051806,051806
+051807,051807
+051808,051808
+051809,051809
+051810,051810
+051811,051811
+051812,051812
+051813,051813
+051815,051815
+051816,051816
+051817,051817
+051818,051818
+051819,051819
+051820,051820
+051821,051821
+051822,051822
+051823,051823
+051824,051824
+051825,051825
+051826,051826
+051827,051827
+051828,051828
+051829,051829
+051830,051830
+051831,051831
+051832,051832
+051833,051833
+051834,051834
+051835,051835
+051836,051836
+051837,051837
+051838,051838
+051839,051839
+051840,051840
+051841,051841
+051842,051842
+051843,051843
+051844,051844
+051845,051845
+051846,051846
+051847,051847
+051848,051848
+051849,051849
+051850,051850
+051851,051851
+051852,051852
+051853,051853
+051854,051854
+051855,051855
+051856,051856
+051857,051857
+051858,051858
+051859,051859
+051860,051860
+051861,051861
+051862,051862
+051863,051863
+051864,051864
+051865,051865
+051866,051866
+051867,051867
+051868,051868
+051869,051869
+051870,051870
+051871,051871
+051872,051872
+051873,051873
+051874,051874
+051875,051875
+051876,051876
+051877,051877
+051878,051878
+051879,051879
+051880,051880
+051881,051881
+051882,051882
+051883,051883
+051884,051884
+051885,051885
+051886,051886
+051887,051887
+051888,051888
+051889,051889
+051890,051890
+051891,051891
+051892,051892
+051893,051893
+051894,051894
+051895,051895
+051896,051896
+051897,051897
+051898,051898
+051899,051899
+051900,051900
+051901,051901
+051902,051902
+051903,051903
+051904,051904
+051905,051905
+051906,051906
+051907,051907
+051908,051908
+051909,051909
+051910,051910
+051911,051911
+051912,051912
+051913,051913
+051914,051914
+051915,051915
+051916,051916
+051917,051917
+051918,051918
+051919,051919
+051920,051920
+051921,051921
+051922,051922
+051923,051923
+051924,051924
+051925,051925
+051926,051926
+051927,051927
+051928,051928
+051929,051929
+051930,051930
+051931,051931
+051932,051932
+051933,051933
+051935,051935
+051936,051936
+051937,051937
+051938,051938
+051939,051939
+051940,051940
+051941,051941
+051942,051942
+051943,051943
+051944,051944
+051945,051945
+051946,051946
+051947,051947
+051948,051948
+051949,051949
+051950,051950
+051951,051951
+051952,051952
+051953,051953
+051954,051954
+051955,051955
+051956,051956
+051957,051957
+051958,051958
+051959,051959
+051960,051960
+051961,051961
+051962,051962
+051963,051963
+051964,051964
+051965,051965
+051966,051966
+051967,051967
+051968,051968
+051969,051969
+051970,051970
+051971,051971
+051972,051972
+051973,051973
+051974,051974
+051975,051975
+051976,051976
+051977,051977
+051978,051978
+051979,051979
+051980,051980
+051981,051981
+051982,051982
+051983,051983
+051984,051984
+051985,051985
+051986,051986
+051987,051987
+051988,051988
+051989,051989
+051990,051990
+051991,051991
+051992,051992
+051993,051993
+051994,051994
+051995,051995
+051996,051996
+051997,051997
+051998,051998
+051999,051999
+052000,052000
+052001,052001
+052002,052002
+052003,052003
+052004,052004
+052005,052005
+052006,052006
+052007,052007
+052008,052008
+052009,052009
+052010,052010
+052011,052011
+052012,052012
+052013,052013
+052014,052014
+052015,052015
+052016,052016
+052017,052017
+052018,052018
+052019,052019
+052020,052020
+052021,052021
+052022,052022
+052023,052023
+052024,052024
+052025,052025
+052026,052026
+052027,052027
+052028,052028
+052029,052029
+052030,052030
+052031,052031
+052032,052032
+052033,052033
+052034,052034
+052035,052035
+052036,052036
+052037,052037
+052038,052038
+052039,052039
+052040,052040
+052041,052041
+052042,052042
+052043,052043
+052044,052044
+052045,052045
+052046,052046
+052047,052047
+052048,052048
+052049,052049
+052050,052050
+052051,052051
+052052,052052
+052053,052053
+052054,052054
+052055,052055
+052056,052056
+052057,052057
+052058,052058
+052059,052059
+052060,052060
+052061,052061
+052062,052062
+052063,052063
+052064,052064
+052065,052065
+052066,052066
+052067,052067
+052068,052068
+052069,052069
+052070,052070
+052071,052071
+052072,052072
+052073,052073
+052074,052074
+052075,052075
+052076,052076
+052077,052077
+052078,052078
+052079,052079
+052080,052080
+052081,052081
+052082,052082
+052083,052083
+052084,052084
+052085,052085
+052086,052086
+052087,052087
+052088,052088
+052089,052089
+052090,052090
+052091,052091
+052092,052092
+052093,052093
+052094,052094
+052095,052095
+052096,052096
+052097,052097
+052098,052098
+052099,052099
+052100,052100
+052101,052101
+052102,052102
+052103,052103
+052104,052104
+052105,052105
+052106,052106
+052107,052107
+052108,052108
+052109,052109
+052110,052110
+052111,052111
+052112,052112
+052113,052113
+052114,052114
+052115,052115
+052117,052117
+052119,052119
+052120,052120
+052121,052121
+052122,052122
+052123,052123
+052124,052124
+052125,052125
+052126,052126
+052127,052127
+052128,052128
+052129,052129
+052130,052130
+052131,052131
+052132,052132
+052133,052133
+052134,052134
+052135,052135
+052136,052136
+052137,052137
+052138,052138
+052139,052139
+052140,052140
+052141,052141
+052142,052142
+052143,052143
+052144,052144
+052145,052145
+052146,052146
+052147,052147
+052148,052148
+052149,052149
+052150,052150
+052151,052151
+052152,052152
+052153,052153
+052154,052154
+052155,052155
+052156,052156
+052157,052157
+052158,052158
+052159,052159
+052160,052160
+052161,052161
+052162,052162
+052163,052163
+052164,052164
+052165,052165
+052166,052166
+052167,052167
+052168,052168
+052169,052169
+052170,052170
+052171,052171
+052172,052172
+052173,052173
+052174,052174
+052176,052176
+052177,052177
+052178,052178
+052179,052179
+052180,052180
+052181,052181
+052183,052183
+052184,052184
+052185,052185
+052186,052186
+052187,052187
+052188,052188
+052189,052189
+052190,052190
+052191,052191
+052192,052192
+052193,052193
+052194,052194
+052195,052195
+052196,052196
+052197,052197
+052198,052198
+052199,052199
+052200,052200
+052201,052201
+052202,052202
+052203,052203
+052204,052204
+052205,052205
+052206,052206
+052207,052207
+052208,052208
+052209,052209
+052210,052210
+052211,052211
+052212,052212
+052213,052213
+052214,052214
+052215,052215
+052216,052216
+052217,052217
+052218,052218
+052219,052219
+052220,052220
+052221,052221
+052222,052222
+052223,052223
+052224,052224
+052225,052225
+052226,052226
+052227,052227
+052228,052228
+052229,052229
+052230,052230
+052231,052231
+052232,052232
+052233,052233
+052234,052234
+052235,052235
+052236,052236
+052237,052237
+052238,052238
+052239,052239
+052240,052240
+052241,052241
+052242,052242
+052243,052243
+052244,052244
+052245,052245
+052246,052246
+052247,052247
+052248,052248
+052249,052249
+052250,052250
+052251,052251
+052252,052252
+052253,052253
+052254,052254
+052255,052255
+052256,052256
+052257,052257
+052258,052258
+052259,052259
+052260,052260
+052261,052261
+052262,052262
+052263,052263
+052264,052264
+052265,052265
+052266,052266
+052267,052267
+052268,052268
+052269,052269
+052270,052270
+052271,052271
+052272,052272
+052273,052273
+052274,052274
+052275,052275
+052276,052276
+052277,052277
+052278,052278
+052279,052279
+052280,052280
+052281,052281
+052282,052282
+052283,052283
+052284,052284
+052285,052285
+052286,052286
+052287,052287
+052288,052288
+052289,052289
+052290,052290
+052291,052291
+052292,052292
+052293,052293
+052294,052294
+052295,052295
+052296,052296
+052297,052297
+052298,052298
+052299,052299
+052300,052300
+052301,052301
+052302,052302
+052303,052303
+052304,052304
+052305,052305
+052306,052306
+052307,052307
+052308,052308
+052309,052309
+052310,052310
+052311,052311
+052312,052312
+052313,052313
+052314,052314
+052315,052315
+052316,052316
+052317,052317
+052318,052318
+052319,052319
+052320,052320
+052321,052321
+052322,052322
+052323,052323
+052324,052324
+052325,052325
+052326,052326
+052327,052327
+052328,052328
+052329,052329
+052330,052330
+052331,052331
+052332,052332
+052333,052333
+052334,052334
+052335,052335
+052336,052336
+052337,052337
+052338,052338
+052339,052339
+052341,052341
+052342,052342
+052343,052343
+052344,052344
+052345,052345
+052346,052346
+052347,052347
+052348,052348
+052349,052349
+052350,052350
+052351,052351
+052352,052352
+052353,052353
+052354,052354
+052355,052355
+052356,052356
+052357,052357
+052358,052358
+052359,052359
+052360,052360
+052361,052361
+052362,052362
+052363,052363
+052364,052364
+052365,052365
+052366,052366
+052367,052367
+052368,052368
+052369,052369
+052370,052370
+052372,052372
+052373,052373
+052374,052374
+052375,052375
+052376,052376
+052377,052377
+052378,052378
+052379,052379
+052380,052380
+052381,052381
+052382,052382
+052383,052383
+052384,052384
+052385,052385
+052386,052386
+052387,052387
+052388,052388
+052389,052389
+052390,052390
+052391,052391
+052392,052392
+052393,052393
+052394,052394
+052395,052395
+052396,052396
+052398,052398
+052399,052399
+052400,052400
+052401,052401
+052402,052402
+052403,052403
+052404,052404
+052405,052405
+052406,052406
+052407,052407
+052408,052408
+052409,052409
+052410,052410
+052411,052411
+052412,052412
+052413,052413
+052414,052414
+052415,052415
+052416,052416
+052417,052417
+052418,052418
+052419,052419
+052420,052420
+052421,052421
+052422,052422
+052423,052423
+052424,052424
+052425,052425
+052426,052426
+052428,052428
+052429,052429
+052430,052430
+052431,052431
+052432,052432
+052433,052433
+052434,052434
+052435,052435
+052436,052436
+052437,052437
+052438,052438
+052439,052439
+052440,052440
+052441,052441
+052442,052442
+052443,052443
+052444,052444
+052445,052445
+052446,052446
+052447,052447
+052448,052448
+052449,052449
+052450,052450
+052451,052451
+052452,052452
+052453,052453
+052454,052454
+052455,052455
+052456,052456
+052457,052457
+052458,052458
+052459,052459
+052460,052460
+052463,052463
+052464,052464
+052465,052465
+052466,052466
+052467,052467
+052468,052468
+052469,052469
+052470,052470
+052471,052471
+052472,052472
+052474,052474
+052475,052475
+052476,052476
+052477,052477
+052478,052478
+052479,052479
+052480,052480
+052481,052481
+052482,052482
+052483,052483
+052484,052484
+052485,052485
+052486,052486
+052487,052487
+052488,052488
+052489,052489
+052490,052490
+052491,052491
+052492,052492
+052493,052493
+052494,052494
+052495,052495
+052496,052496
+052497,052497
+052498,052498
+052499,052499
+052500,052500
+052501,052501
+052502,052502
+052503,052503
+052504,052504
+052505,052505
+052506,052506
+052507,052507
+052508,052508
+052509,052509
+052510,052510
+052511,052511
+052512,052512
+052513,052513
+052514,052514
+052515,052515
+052516,052516
+052517,052517
+052518,052518
+052519,052519
+052521,052521
+052522,052522
+052523,052523
+052524,052524
+052525,052525
+052526,052526
+052527,052527
+052528,052528
+052529,052529
+052530,052530
+052531,052531
+052532,052532
+052534,052534
+052535,052535
+052536,052536
+052537,052537
+052538,052538
+052539,052539
+052540,052540
+052541,052541
+052542,052542
+052543,052543
+052544,052544
+052545,052545
+052546,052546
+052547,052547
+052548,052548
+052549,052549
+052550,052550
+052551,052551
+052552,052552
+052553,052553
+052554,052554
+052555,052555
+052556,052556
+052557,052557
+052558,052558
+052559,052559
+052560,052560
+052561,052561
+052562,052562
+052563,052563
+052564,052564
+052565,052565
+052566,052566
+052567,052567
+052568,052568
+052569,052569
+052570,052570
+052571,052571
+052572,052572
+052573,052573
+052574,052574
+052575,052575
+052576,052576
+052577,052577
+052578,052578
+052579,052579
+052580,052580
+052581,052581
+052582,052582
+052583,052583
+052584,052584
+052585,052585
+052586,052586
+052587,052587
+052588,052588
+052589,052589
+052590,052590
+052591,052591
+052592,052592
+052593,052593
+052594,052594
+052595,052595
+052596,052596
+052597,052597
+052598,052598
+052599,052599
+052600,052600
+052601,052601
+052602,052602
+052603,052603
+052604,052604
+052605,052605
+052606,052606
+052607,052607
+052608,052608
+052609,052609
+052610,052610
+052611,052611
+052612,052612
+052613,052613
+052614,052614
+052615,052615
+052616,052616
+052617,052617
+052618,052618
+052619,052619
+052620,052620
+052621,052621
+052622,052622
+052623,052623
+052624,052624
+052625,052625
+052626,052626
+052627,052627
+052628,052628
+052629,052629
+052630,052630
+052631,052631
+052632,052632
+052633,052633
+052634,052634
+052635,052635
+052636,052636
+052637,052637
+052638,052638
+052639,052639
+052640,052640
+052641,052641
+052642,052642
+052643,052643
+052644,052644
+052645,052645
+052646,052646
+052647,052647
+052648,052648
+052649,052649
+052650,052650
+052651,052651
+052652,052652
+052653,052653
+052654,052654
+052655,052655
+052656,052656
+052657,052657
+052658,052658
+052659,052659
+052660,052660
+052661,052661
+052662,052662
+052663,052663
+052664,052664
+052665,052665
+052666,052666
+052668,052668
+052669,052669
+052670,052670
+052671,052671
+052672,052672
+052673,052673
+052674,052674
+052675,052675
+052676,052676
+052677,052677
+052678,052678
+052679,052679
+052680,052680
+052681,052681
+052682,052682
+052683,052683
+052684,052684
+052685,052685
+052686,052686
+052687,052687
+052688,052688
+052689,052689
+052690,052690
+052691,052691
+052692,052692
+052693,052693
+052694,052694
+052695,052695
+052696,052696
+052698,052698
+052699,052699
+052700,052700
+052701,052701
+052702,052702
+052703,052703
+052704,052704
+052705,052705
+052706,052706
+052707,052707
+052708,052708
+052709,052709
+052710,052710
+052711,052711
+052712,052712
+052713,052713
+052714,052714
+052715,052715
+052716,052716
+052717,052717
+052718,052718
+052719,052719
+052720,052720
+052721,052721
+052722,052722
+052723,052723
+052724,052724
+052725,052725
+052726,052726
+052727,052727
+052728,052728
+052729,052729
+052730,052730
+052731,052731
+052732,052732
+052733,052733
+052734,052734
+052735,052735
+052736,052736
+052737,052737
+052738,052738
+052739,052739
+052740,052740
+052741,052741
+052742,052742
+052743,052743
+052744,052744
+052745,052745
+052746,052746
+052747,052747
+052748,052748
+052749,052749
+052751,052751
+052752,052752
+052753,052753
+052754,052754
+052755,052755
+052756,052756
+052757,052757
+052758,052758
+052759,052759
+052761,052761
+052762,052762
+052763,052763
+052764,052764
+052765,052765
+052766,052766
+052767,052767
+052768,052768
+052769,052769
+052770,052770
+052771,052771
+052772,052772
+052773,052773
+052774,052774
+052775,052775
+052776,052776
+052777,052777
+052778,052778
+052779,052779
+052780,052780
+052781,052781
+052782,052782
+052783,052783
+052784,052784
+052785,052785
+052786,052786
+052787,052787
+052788,052788
+052790,052790
+052791,052791
+052792,052792
+052793,052793
+052794,052794
+052795,052795
+052796,052796
+052797,052797
+052798,052798
+052799,052799
+052800,052800
+052802,052802
+052803,052803
+052804,052804
+052805,052805
+052806,052806
+052807,052807
+052808,052808
+052809,052809
+052810,052810
+052811,052811
+052812,052812
+052813,052813
+052814,052814
+052815,052815
+052816,052816
+052818,052818
+052819,052819
+052820,052820
+052821,052821
+052822,052822
+052823,052823
+052824,052824
+052825,052825
+052826,052826
+052827,052827
+052828,052828
+052829,052829
+052830,052830
+052831,052831
+052832,052832
+052833,052833
+052834,052834
+052835,052835
+052836,052836
+052837,052837
+052838,052838
+052839,052839
+052840,052840
+052841,052841
+052842,052842
+052843,052843
+052844,052844
+052845,052845
+052846,052846
+052847,052847
+052848,052848
+052849,052849
+052850,052850
+052851,052851
+052852,052852
+052853,052853
+052855,052855
+052856,052856
+052857,052857
+052858,052858
+052859,052859
+052860,052860
+052861,052861
+052862,052862
+052863,052863
+052864,052864
+052865,052865
+052867,052867
+052868,052868
+052869,052869
+052870,052870
+052871,052871
+052872,052872
+052873,052873
+052874,052874
+052875,052875
+052876,052876
+052877,052877
+052878,052878
+052880,052880
+052881,052881
+052882,052882
+052883,052883
+052884,052884
+052885,052885
+052886,052886
+052887,052887
+052888,052888
+052889,052889
+052890,052890
+052891,052891
+052892,052892
+052893,052893
+052894,052894
+052895,052895
+052896,052896
+052897,052897
+052899,052899
+052900,052900
+052901,052901
+052902,052902
+052903,052903
+052904,052904
+052905,052905
+052906,052906
+052907,052907
+052908,052908
+052909,052909
+052910,052910
+052912,052912
+052913,052913
+052914,052914
+052915,052915
+052916,052916
+052917,052917
+052918,052918
+052919,052919
+052920,052920
+052921,052921
+052922,052922
+052923,052923
+052924,052924
+052925,052925
+052926,052926
+052927,052927
+052928,052928
+052929,052929
+052930,052930
+052931,052931
+052932,052932
+052933,052933
+052934,052934
+052935,052935
+052936,052936
+052937,052937
+052938,052938
+052939,052939
+052940,052940
+052941,052941
+052942,052942
+052943,052943
+052945,052945
+052946,052946
+052947,052947
+052948,052948
+052949,052949
+052950,052950
+052951,052951
+052952,052952
+052953,052953
+052954,052954
+052955,052955
+052956,052956
+052957,052957
+052958,052958
+052959,052959
+052960,052960
+052961,052961
+052962,052962
+052963,052963
+052964,052964
+052965,052965
+052966,052966
+052967,052967
+052968,052968
+052969,052969
+052970,052970
+052971,052971
+052972,052972
+052973,052973
+052974,052974
+052975,052975
+052976,052976
+052977,052977
+052978,052978
+052979,052979
+052980,052980
+052981,052981
+052982,052982
+052983,052983
+052984,052984
+052985,052985
+052986,052986
+052987,052987
+052988,052988
+052989,052989
+052990,052990
+052991,052991
+052992,052992
+052993,052993
+052994,052994
+052995,052995
+052996,052996
+052997,052997
+052998,052998
+052999,052999
+053000,053000
+053001,053001
+053002,053002
+053003,053003
+053004,053004
+053005,053005
+053006,053006
+053007,053007
+053008,053008
+053009,053009
+053010,053010
+053011,053011
+053012,053012
+053013,053013
+053014,053014
+053015,053015
+053016,053016
+053017,053017
+053018,053018
+053019,053019
+053020,053020
+053021,053021
+053022,053022
+053023,053023
+053024,053024
+053025,053025
+053026,053026
+053027,053027
+053028,053028
+053029,053029
+053030,053030
+053031,053031
+053032,053032
+053033,053033
+053035,053035
+053036,053036
+053037,053037
+053038,053038
+053039,053039
+053040,053040
+053041,053041
+053042,053042
+053043,053043
+053044,053044
+053045,053045
+053046,053046
+053047,053047
+053048,053048
+053049,053049
+053050,053050
+053051,053051
+053052,053052
+053053,053053
+053054,053054
+053055,053055
+053056,053056
+053057,053057
+053058,053058
+053059,053059
+053060,053060
+053061,053061
+053062,053062
+053063,053063
+053064,053064
+053065,053065
+053066,053066
+053067,053067
+053068,053068
+053069,053069
+053070,053070
+053071,053071
+053072,053072
+053074,053074
+053075,053075
+053076,053076
+053077,053077
+053078,053078
+053079,053079
+053080,053080
+053081,053081
+053082,053082
+053083,053083
+053084,053084
+053085,053085
+053086,053086
+053087,053087
+053088,053088
+053089,053089
+053090,053090
+053091,053091
+053092,053092
+053093,053093
+053094,053094
+053095,053095
+053096,053096
+053098,053098
+053099,053099
+053100,053100
+053101,053101
+053102,053102
+053103,053103
+053104,053104
+053105,053105
+053106,053106
+053107,053107
+053108,053108
+053109,053109
+053110,053110
+053111,053111
+053112,053112
+053113,053113
+053114,053114
+053115,053115
+053116,053116
+053117,053117
+053118,053118
+053119,053119
+053120,053120
+053121,053121
+053122,053122
+053123,053123
+053124,053124
+053125,053125
+053126,053126
+053127,053127
+053128,053128
+053129,053129
+053130,053130
+053131,053131
+053132,053132
+053133,053133
+053135,053135
+053136,053136
+053137,053137
+053138,053138
+053139,053139
+053140,053140
+053141,053141
+053142,053142
+053143,053143
+053144,053144
+053145,053145
+053146,053146
+053147,053147
+053148,053148
+053149,053149
+053150,053150
+053151,053151
+053152,053152
+053153,053153
+053154,053154
+053155,053155
+053156,053156
+053157,053157
+053158,053158
+053159,053159
+053160,053160
+053161,053161
+053162,053162
+053163,053163
+053164,053164
+053165,053165
+053166,053166
+053167,053167
+053169,053169
+053170,053170
+053171,053171
+053172,053172
+053173,053173
+053174,053174
+053175,053175
+053176,053176
+053177,053177
+053178,053178
+053179,053179
+053180,053180
+053181,053181
+053182,053182
+053183,053183
+053184,053184
+053185,053185
+053186,053186
+053187,053187
+053188,053188
+053189,053189
+053190,053190
+053191,053191
+053192,053192
+053193,053193
+053194,053194
+053195,053195
+053196,053196
+053197,053197
+053198,053198
+053199,053199
+053200,053200
+053201,053201
+053202,053202
+053203,053203
+053204,053204
+053205,053205
+053206,053206
+053207,053207
+053208,053208
+053210,053210
+053211,053211
+053212,053212
+053213,053213
+053214,053214
+053215,053215
+053216,053216
+053217,053217
+053218,053218
+053219,053219
+053220,053220
+053221,053221
+053222,053222
+053223,053223
+053224,053224
+053225,053225
+053226,053226
+053227,053227
+053228,053228
+053229,053229
+053230,053230
+053231,053231
+053232,053232
+053233,053233
+053234,053234
+053235,053235
+053236,053236
+053237,053237
+053238,053238
+053239,053239
+053240,053240
+053241,053241
+053242,053242
+053243,053243
+053244,053244
+053245,053245
+053246,053246
+053247,053247
+053249,053249
+053250,053250
+053251,053251
+053252,053252
+053253,053253
+053254,053254
+053255,053255
+053256,053256
+053257,053257
+053258,053258
+053259,053259
+053260,053260
+053261,053261
+053262,053262
+053263,053263
+053264,053264
+053265,053265
+053266,053266
+053267,053267
+053268,053268
+053269,053269
+053270,053270
+053271,053271
+053272,053272
+053273,053273
+053274,053274
+053275,053275
+053276,053276
+053277,053277
+053278,053278
+053279,053279
+053280,053280
+053281,053281
+053282,053282
+053283,053283
+053284,053284
+053285,053285
+053286,053286
+053287,053287
+053288,053288
+053289,053289
+053290,053290
+053292,053292
+053293,053293
+053294,053294
+053295,053295
+053296,053296
+053297,053297
+053298,053298
+053299,053299
+053300,053300
+053301,053301
+053302,053302
+053303,053303
+053304,053304
+053305,053305
+053306,053306
+053307,053307
+053308,053308
+053309,053309
+053310,053310
+053311,053311
+053312,053312
+053313,053313
+053314,053314
+053315,053315
+053316,053316
+053317,053317
+053318,053318
+053319,053319
+053320,053320
+053321,053321
+053322,053322
+053323,053323
+053324,053324
+053325,053325
+053326,053326
+053327,053327
+053328,053328
+053329,053329
+053330,053330
+053331,053331
+053332,053332
+053333,053333
+053334,053334
+053335,053335
+053336,053336
+053337,053337
+053338,053338
+053339,053339
+053340,053340
+053341,053341
+053342,053342
+053343,053343
+053344,053344
+053345,053345
+053346,053346
+053347,053347
+053348,053348
+053349,053349
+053350,053350
+053351,053351
+053352,053352
+053353,053353
+053354,053354
+053355,053355
+053356,053356
+053357,053357
+053358,053358
+053359,053359
+053360,053360
+053361,053361
+053419,053419
+053420,053420
+053421,053421
+053422,053422
+053423,053423
+053424,053424
+053425,053425
+053426,053426
+053427,053427
+053428,053428
+053429,053429
+053430,053430
+053431,053431
+053432,053432
+053433,053433
+053434,053434
+053435,053435
+053436,053436
+053437,053437
+053438,053438
+053439,053439
+053440,053440
+053441,053441
+053442,053442
+053443,053443
+053444,053444
+053445,053445
+053446,053446
+053448,053448
+053449,053449
+053450,053450
+053451,053451
+053452,053452
+053453,053453
+053454,053454
+053455,053455
+053456,053456
+053457,053457
+053458,053458
+053459,053459
+053462,053462
+053463,053463
+053465,053465
+053467,053467
+053468,053468
+053469,053469
+053470,053470
+053471,053471
+053472,053472
+053473,053473
+053474,053474
+053475,053475
+053476,053476
+053477,053477
+053478,053478
+053479,053479
+053480,053480
+053481,053481
+053482,053482
+053483,053483
+053484,053484
+053485,053485
+053486,053486
+053487,053487
+053488,053488
+053489,053489
+053490,053490
+053491,053491
+053492,053492
+053493,053493
+053494,053494
+053495,053495
+053496,053496
+053497,053497
+053498,053498
+053500,053500
+053501,053501
+053502,053502
+053503,053503
+053504,053504
+053505,053505
+053506,053506
+053507,053507
+053508,053508
+053509,053509
+053510,053510
+053511,053511
+053512,053512
+053513,053513
+053514,053514
+053515,053515
+053516,053516
+053517,053517
+053518,053518
+053519,053519
+053520,053520
+053521,053521
+053522,053522
+053523,053523
+053524,053524
+053525,053525
+053526,053526
+053527,053527
+053528,053528
+053529,053529
+053530,053530
+053531,053531
+053532,053532
+053533,053533
+053534,053534
+053535,053535
+053536,053536
+053537,053537
+053538,053538
+053539,053539
+053540,053540
+053542,053542
+053543,053543
+053544,053544
+053545,053545
+053546,053546
+053547,053547
+053548,053548
+053549,053549
+053550,053550
+053551,053551
+053552,053552
+053553,053553
+053554,053554
+053555,053555
+053556,053556
+053557,053557
+053558,053558
+053559,053559
+053560,053560
+053561,053561
+053562,053562
+053563,053563
+053564,053564
+053565,053565
+053566,053566
+053567,053567
+053568,053568
+053569,053569
+053570,053570
+053571,053571
+053572,053572
+053573,053573
+053574,053574
+053575,053575
+053576,053576
+053577,053577
+053578,053578
+053579,053579
+053580,053580
+053581,053581
+053582,053582
+053583,053583
+053584,053584
+053585,053585
+053586,053586
+053587,053587
+053588,053588
+053589,053589
+053590,053590
+053591,053591
+053592,053592
+053593,053593
+053594,053594
+053595,053595
+053597,053597
+053598,053598
+053599,053599
+053600,053600
+053601,053601
+053602,053602
+053603,053603
+053604,053604
+053605,053605
+053606,053606
+053607,053607
+053608,053608
+053609,053609
+053610,053610
+053611,053611
+053612,053612
+053613,053613
+053614,053614
+053615,053615
+053616,053616
+053617,053617
+053618,053618
+053619,053619
+053620,053620
+053621,053621
+053622,053622
+053623,053623
+053624,053624
+053625,053625
+053626,053626
+053628,053628
+053629,053629
+053630,053630
+053631,053631
+053632,053632
+053633,053633
+053634,053634
+053635,053635
+053636,053636
+053637,053637
+053638,053638
+053639,053639
+053640,053640
+053641,053641
+053642,053642
+053643,053643
+053644,053644
+053645,053645
+053646,053646
+053648,053648
+053649,053649
+053650,053650
+053651,053651
+053652,053652
+053653,053653
+053654,053654
+053655,053655
+053656,053656
+053657,053657
+053658,053658
+053659,053659
+053660,053660
+053661,053661
+053662,053662
+053663,053663
+053664,053664
+053665,053665
+053666,053666
+053667,053667
+053668,053668
+053669,053669
+053670,053670
+053671,053671
+053672,053672
+053673,053673
+053674,053674
+053675,053675
+053676,053676
+053677,053677
+053678,053678
+053679,053679
+053680,053680
+053681,053681
+053682,053682
+053683,053683
+053684,053684
+053685,053685
+053686,053686
+053687,053687
+053688,053688
+053689,053689
+053690,053690
+053691,053691
+053692,053692
+053693,053693
+053694,053694
+053695,053695
+053696,053696
+053697,053697
+053698,053698
+053699,053699
+053700,053700
+053701,053701
+053702,053702
+053703,053703
+053704,053704
+053705,053705
+053706,053706
+053707,053707
+053708,053708
+053709,053709
+053710,053710
+053711,053711
+053712,053712
+053713,053713
+053714,053714
+053715,053715
+053716,053716
+053717,053717
+053718,053718
+053719,053719
+053720,053720
+053721,053721
+053722,053722
+053723,053723
+053724,053724
+053725,053725
+053726,053726
+053727,053727
+053728,053728
+053729,053729
+053730,053730
+053731,053731
+053732,053732
+053733,053733
+053734,053734
+053735,053735
+053736,053736
+053737,053737
+053738,053738
+053739,053739
+053740,053740
+053741,053741
+053742,053742
+053743,053743
+053744,053744
+053745,053745
+053746,053746
+053747,053747
+053748,053748
+053749,053749
+053750,053750
+053751,053751
+053752,053752
+053753,053753
+053754,053754
+053755,053755
+053756,053756
+053757,053757
+053758,053758
+053759,053759
+053760,053760
+053761,053761
+053762,053762
+053763,053763
+053764,053764
+053765,053765
+053766,053766
+053767,053767
+053768,053768
+053769,053769
+053770,053770
+053771,053771
+053772,053772
+053773,053773
+053774,053774
+053775,053775
+053776,053776
+053777,053777
+053778,053778
+053779,053779
+053781,053781
+053782,053782
+053783,053783
+053784,053784
+053785,053785
+053786,053786
+053787,053787
+053788,053788
+053789,053789
+053790,053790
+053791,053791
+053792,053792
+053793,053793
+053794,053794
+053795,053795
+053796,053796
+053797,053797
+053798,053798
+053799,053799
+053800,053800
+053802,053802
+053803,053803
+053804,053804
+053805,053805
+053806,053806
+053807,053807
+053808,053808
+053809,053809
+053810,053810
+053811,053811
+053812,053812
+053813,053813
+053814,053814
+053815,053815
+053816,053816
+053817,053817
+053818,053818
+053819,053819
+053820,053820
+053821,053821
+053822,053822
+053823,053823
+053824,053824
+053825,053825
+053826,053826
+053827,053827
+053828,053828
+053829,053829
+053830,053830
+053831,053831
+053832,053832
+053833,053833
+053834,053834
+053835,053835
+053836,053836
+053837,053837
+053838,053838
+053839,053839
+053840,053840
+053841,053841
+053842,053842
+053843,053843
+053844,053844
+053845,053845
+053846,053846
+053847,053847
+053848,053848
+053849,053849
+053850,053850
+053851,053851
+053852,053852
+053853,053853
+053854,053854
+053855,053855
+053856,053856
+053857,053857
+053858,053858
+053859,053859
+053860,053860
+053861,053861
+053862,053862
+053863,053863
+053864,053864
+053865,053865
+053866,053866
+053867,053867
+053868,053868
+053869,053869
+053870,053870
+053871,053871
+053872,053872
+053873,053873
+053874,053874
+053875,053875
+053876,053876
+053877,053877
+053878,053878
+053879,053879
+053880,053880
+053881,053881
+053882,053882
+053883,053883
+053884,053884
+053886,053886
+053887,053887
+053888,053888
+053889,053889
+053890,053890
+053891,053891
+053892,053892
+053893,053893
+053945,053945
+053946,053946
+056010001,056010001
+056010002,056010002
+056010003,056010003
+056010004,056010004
+056010005,056010005
+056010006,056010006
+056010007,056010007
+056010008,056010008
+056010009,056010009
+056010010,056010010
+056010011,056010011
+056010012,056010012
+056010013,056010013
+056010014,056010014
+056010015,056010015
+056010016,056010016
+056010017,056010017
+056010018,056010018
+056010019,056010019
+056010020,056010020
+056010021,056010021
+056010022,056010022
+056010023,056010023
+056010024,056010024
+056010025,056010025
+056010026,056010026
+056010027,056010027
+056010028,056010028
+056010029,056010029
+056010030,056010030
+056010031,056010031
+056010032,056010032
+056010033,056010033
+056010034,056010034
+056010035,056010035
+056010036,056010036
+056010037,056010037
+056010038,056010038
+056010039,056010039
+056010040,056010040
+056010041,056010041
+056010042,056010042
+056010043,056010043
+056010044,056010044
+056010045,056010045
+056010046,056010046
+056010047,056010047
+056010048,056010048
+056010049,056010049
+056010050,056010050
+056010051,056010051
+056010052,056010052
+056010053,056010053
+056010054,056010054
+056010055,056010055
+056010056,056010056
+056010057,056010057
+056010058,056010058
+056010059,056010059
+056010060,056010060
+056010061,056010061
+056010062,056010062
+056010063,056010063
+056010064,056010064
+056010065,056010065
+056010066,056010066
+056010067,056010067
+056010068,056010068
+056010069,056010069
+056010070,056010070
+056014001,056014001
+056014002,056014002
+056014003,056014003
+056014004,056014004
+056014005,056014005
+056014006,056014006
+056014007,056014007
+056014008,056014008
+056014009,056014009
+056014010,056014010
+056014011,056014011
+056014012,056014012
+056014013,056014013
+056014014,056014014
+056014015,056014015
+056014016,056014016
+056014017,056014017
+056014018,056014018
+056014019,056014019
+056015001,056015001
+056015002,056015002
+056015003,056015003
+056015004,056015004
+056015005,056015005
+056015006,056015006
+056015007,056015007
+056016001,056016001
+056016002,056016002
+056016003,056016003
+056016004,056016004
+056016005,056016005
+056016006,056016006
+056016007,056016007
+056016008,056016008
+056016009,056016009
+056016010,056016010
+056016011,056016011
+056016012,056016012
+056016013,056016013
+056016014,056016014
+056016015,056016015
+056016016,056016016
+056016017,056016017
+056016018,056016018
+056016019,056016019
+056016020,056016020
+056016021,056016021
+056016022,056016022
+056016023,056016023
+056016024,056016024
+056016025,056016025
+056016026,056016026
+056016027,056016027
+056016028,056016028
+056016029,056016029
+056016030,056016030
+056016031,056016031
+056016032,056016032
+056018008,056018008
+056019001,056019001
+056019002,056019002
+056019003,056019003
+056019004,056019004
+056019005,056019005
+05601G043,05601G043
+05601G044,05601G044
+05601G045,05601G045
+056020071,056020071
+056020072,056020072
+056020073,056020073
+056020074,056020074
+056020075,056020075
+056020076,056020076
+056020077,056020077
+056020078,056020078
+056020079,056020079
+056020080,056020080
+056020081,056020081
+056020082,056020082
+056020083,056020083
+056020084,056020084
+056020085,056020085
+056020086,056020086
+056020087,056020087
+056020088,056020088
+056020089,056020089
+056020090,056020090
+056020091,056020091
+056020092,056020092
+056020093,056020093
+056020094,056020094
+056020095,056020095
+056020096,056020096
+056020097,056020097
+056020098,056020098
+056020099,056020099
+056020100,056020100
+056020101,056020101
+056020102,056020102
+056020103,056020103
+056020104,056020104
+056020105,056020105
+056020106,056020106
+056020107,056020107
+056020108,056020108
+056020109,056020109
+056020110,056020110
+056020111,056020111
+056024020,056024020
+056024021,056024021
+056024022,056024022
+056024023,056024023
+056024024,056024024
+056024025,056024025
+056024026,056024026
+056024027,056024027
+056024028,056024028
+056024029,056024029
+056024030,056024030
+056024031,056024031
+056024032,056024032
+056024033,056024033
+056025008,056025008
+056025009,056025009
+056025010,056025010
+056025011,056025011
+056025012,056025012
+056025013,056025013
+056025014,056025014
+056026033,056026033
+056026034,056026034
+056026035,056026035
+056026036,056026036
+056026037,056026037
+056026038,056026038
+056026039,056026039
+056026040,056026040
+056026041,056026041
+056026042,056026042
+056026043,056026043
+056026044,056026044
+056026045,056026045
+056026046,056026046
+056026047,056026047
+056026048,056026048
+056026049,056026049
+056026050,056026050
+056026051,056026051
+056026052,056026052
+056026053,056026053
+056026054,056026054
+056026055,056026055
+056026056,056026056
+056026057,056026057
+056026058,056026058
+056026059,056026059
+056026060,056026060
+056026061,056026061
+056026062,056026062
+056026063,056026063
+056026064,056026064
+056026065,056026065
+056026066,056026066
+056026067,056026067
+056026068,056026068
+056026069,056026069
+056026070,056026070
+056026071,056026071
+056028004,056028004
+056028005,056028005
+056029006,056029006
+056029007,056029007
+056029008,056029008
+056029074,056029074
+05602G046,05602G046
+05602G047,05602G047
+05602G048,05602G048
+05602G049,05602G049
+05602G050,05602G050
+05602G051,05602G051
+05602G052,05602G052
+05602G053,05602G053
+05602G054,05602G054
+05602G055,05602G055
+05602G056,05602G056
+05602G057,05602G057
+05602G058,05602G058
+05602G059,05602G059
+05602G060,05602G060
+05602G061,05602G061
+05602G062,05602G062
+05602G063,05602G063
+05602G064,05602G064
+05602G065,05602G065
+05602G066,05602G066
+05602G067,05602G067
+05602G068,05602G068
+05602G069,05602G069
+05602G070,05602G070
+05602G071,05602G071
+05602G072,05602G072
+05602G073,05602G073
+05602G074,05602G074
+05602G075,05602G075
+05602G076,05602G076
+05602G077,05602G077
+05602G078,05602G078
+05602G079,05602G079
+05602G080,05602G080
+05602G081,05602G081
+05602G082,05602G082
+05602G083,05602G083
+05602G084,05602G084
+05602G085,05602G085
+05602G086,05602G086
+05602G087,05602G087
+056030112,056030112
+056030113,056030113
+056030114,056030114
+056030115,056030115
+056030116,056030116
+056030117,056030117
+056030118,056030118
+056030119,056030119
+056030120,056030120
+056030121,056030121
+056030122,056030122
+056030123,056030123
+056030124,056030124
+056030125,056030125
+056030126,056030126
+056030127,056030127
+056030128,056030128
+056030129,056030129
+056030130,056030130
+056030131,056030131
+056030132,056030132
+056030133,056030133
+056030134,056030134
+056030135,056030135
+056030136,056030136
+056030137,056030137
+056030138,056030138
+056030139,056030139
+056030140,056030140
+056030141,056030141
+056030142,056030142
+056030143,056030143
+056030144,056030144
+056030145,056030145
+056030146,056030146
+056030147,056030147
+056030148,056030148
+056030149,056030149
+056030150,056030150
+056030151,056030151
+056030152,056030152
+056030153,056030153
+056030154,056030154
+056030155,056030155
+056030156,056030156
+056030157,056030157
+056030158,056030158
+056030159,056030159
+056030160,056030160
+056030161,056030161
+056030162,056030162
+056030163,056030163
+056030164,056030164
+056030165,056030165
+056030166,056030166
+056030167,056030167
+056030168,056030168
+056030169,056030169
+056030170,056030170
+056030171,056030171
+056034034,056034034
+056034035,056034035
+056034036,056034036
+056034037,056034037
+056034038,056034038
+056034039,056034039
+056034040,056034040
+056034041,056034041
+056034042,056034042
+056034043,056034043
+056034044,056034044
+056034045,056034045
+056034046,056034046
+056034047,056034047
+056034048,056034048
+056035015,056035015
+056035016,056035016
+056035017,056035017
+056035018,056035018
+056035019,056035019
+056035020,056035020
+056035021,056035021
+056036072,056036072
+056036073,056036073
+056036074,056036074
+056036075,056036075
+056036076,056036076
+056036077,056036077
+056036078,056036078
+056036079,056036079
+056036080,056036080
+056036081,056036081
+056036082,056036082
+056036083,056036083
+056036084,056036084
+056036085,056036085
+056036086,056036086
+056036087,056036087
+056036088,056036088
+056036089,056036089
+056036090,056036090
+056036091,056036091
+056036092,056036092
+056036093,056036093
+056036094,056036094
+056036095,056036095
+056036096,056036096
+056036097,056036097
+056036098,056036098
+056036099,056036099
+056036100,056036100
+056036101,056036101
+056036102,056036102
+056036103,056036103
+056036104,056036104
+056036105,056036105
+056036106,056036106
+056036107,056036107
+056036108,056036108
+056036109,056036109
+056036110,056036110
+056036111,056036111
+056036112,056036112
+056036113,056036113
+056036114,056036114
+056036115,056036115
+056036116,056036116
+056036117,056036117
+056038008,056038008
+056039009,056039009
+056039010,056039010
+056039011,056039011
+056039012,056039012
+056039013,056039013
+056039014,056039014
+056039015,056039015
+056039016,056039016
+056039017,056039017
+056039018,056039018
+05603G088,05603G088
+05603G089,05603G089
+05603G090,05603G090
+05603G091,05603G091
+05603G092,05603G092
+05603G093,05603G093
+05603G094,05603G094
+05603G095,05603G095
+05603G096,05603G096
+05603G097,05603G097
+05603G098,05603G098
+05603G099,05603G099
+05603G100,05603G100
+05603G101,05603G101
+05603G102,05603G102
+05603G103,05603G103
+05603G104,05603G104
+05603G105,05603G105
+05603G106,05603G106
+05603G107,05603G107
+05603G108,05603G108
+05603G109,05603G109
+05603G110,05603G110
+05603G111,05603G111
+05603G112,05603G112
+05603G113,05603G113
+05603G114,05603G114
+05603G115,05603G115
+05603G116,05603G116
+05603G117,05603G117
+05603J001,05603J001
+05603J002,05603J002
+05603J003,05603J003
+056040172,056040172
+056040173,056040173
+056040174,056040174
+056040175,056040175
+056040176,056040176
+056040177,056040177
+056040178,056040178
+056040179,056040179
+056040180,056040180
+056040181,056040181
+056040182,056040182
+056040183,056040183
+056040184,056040184
+056040185,056040185
+056040186,056040186
+056040187,056040187
+056040188,056040188
+056040189,056040189
+056040190,056040190
+056040191,056040191
+056040192,056040192
+056040193,056040193
+056040194,056040194
+056040195,056040195
+056040196,056040196
+056040197,056040197
+056040198,056040198
+056040199,056040199
+056040200,056040200
+056040201,056040201
+056040202,056040202
+056040203,056040203
+056040204,056040204
+056040205,056040205
+056040206,056040206
+056040207,056040207
+056040208,056040208
+056040209,056040209
+056040210,056040210
+056040211,056040211
+056040212,056040212
+056040213,056040213
+056040214,056040214
+056040215,056040215
+056040216,056040216
+056040217,056040217
+056040218,056040218
+056040219,056040219
+056040220,056040220
+056040221,056040221
+056040222,056040222
+056040223,056040223
+056040224,056040224
+056040225,056040225
+056040226,056040226
+056040227,056040227
+056040228,056040228
+056040229,056040229
+056040230,056040230
+056040231,056040231
+056040232,056040232
+056040233,056040233
+056040234,056040234
+056040235,056040235
+056040236,056040236
+056040237,056040237
+056040238,056040238
+056040239,056040239
+056040240,056040240
+056044049,056044049
+056045022,056045022
+056045023,056045023
+056045024,056045024
+056045025,056045025
+056045026,056045026
+056045027,056045027
+056045028,056045028
+056045901,056045901
+056046118,056046118
+056046119,056046119
+056046120,056046120
+056046121,056046121
+056046122,056046122
+056046123,056046123
+056046124,056046124
+056046125,056046125
+056046126,056046126
+056046127,056046127
+056046128,056046128
+056046129,056046129
+056046130,056046130
+056046131,056046131
+056046132,056046132
+056046133,056046133
+056046134,056046134
+056046135,056046135
+056046136,056046136
+056046137,056046137
+056046138,056046138
+056046139,056046139
+056046140,056046140
+056046141,056046141
+056046142,056046142
+056046143,056046143
+056046144,056046144
+056046145,056046145
+056046146,056046146
+056046147,056046147
+056046148,056046148
+056046149,056046149
+056046150,056046150
+056046151,056046151
+056046152,056046152
+056046153,056046153
+056046154,056046154
+056046155,056046155
+056046156,056046156
+056046157,056046157
+056046158,056046158
+056046159,056046159
+056046160,056046160
+056046161,056046161
+056046162,056046162
+056046163,056046163
+056046164,056046164
+056046165,056046165
+056046166,056046166
+056046167,056046167
+056046168,056046168
+056046169,056046169
+056046170,056046170
+056046171,056046171
+056046172,056046172
+056046173,056046173
+056046174,056046174
+056046175,056046175
+056046176,056046176
+056046177,056046177
+056046178,056046178
+056046179,056046179
+056046180,056046180
+056046181,056046181
+056046182,056046182
+056046183,056046183
+056046184,056046184
+056046185,056046185
+056046186,056046186
+056046187,056046187
+056046188,056046188
+056046189,056046189
+056046190,056046190
+056046191,056046191
+056046192,056046192
+056046193,056046193
+056046194,056046194
+056046195,056046195
+056046196,056046196
+056046197,056046197
+056046198,056046198
+056048002,056048002
+056048006,056048006
+056049019,056049019
+056049020,056049020
+056049021,056049021
+056049022,056049022
+056049023,056049023
+056050241,056050241
+056050242,056050242
+056050243,056050243
+056050244,056050244
+056050245,056050245
+056050246,056050246
+056050247,056050247
+056050248,056050248
+056050249,056050249
+056050250,056050250
+056050251,056050251
+056050252,056050252
+056050253,056050253
+056050254,056050254
+056050255,056050255
+056050256,056050256
+056050257,056050257
+056050258,056050258
+056050259,056050259
+056050260,056050260
+056050261,056050261
+056050262,056050262
+056050263,056050263
+056050264,056050264
+056050265,056050265
+056050266,056050266
+056050267,056050267
+056050268,056050268
+056050269,056050269
+056050270,056050270
+056050271,056050271
+056050272,056050272
+056050273,056050273
+056050274,056050274
+056050275,056050275
+056050276,056050276
+056050277,056050277
+056050278,056050278
+056050279,056050279
+056050280,056050280
+056050281,056050281
+056050282,056050282
+056050283,056050283
+056050284,056050284
+056050285,056050285
+056050286,056050286
+056050287,056050287
+056050288,056050288
+056050289,056050289
+056050290,056050290
+056050291,056050291
+056050292,056050292
+056050293,056050293
+056050294,056050294
+056050295,056050295
+056050296,056050296
+056050297,056050297
+056050298,056050298
+056050299,056050299
+056050300,056050300
+056050301,056050301
+056050302,056050302
+056050303,056050303
+056050304,056050304
+056050305,056050305
+056050306,056050306
+056050307,056050307
+056050308,056050308
+056050309,056050309
+056050310,056050310
+056050311,056050311
+056050312,056050312
+056050313,056050313
+056050314,056050314
+056050315,056050315
+056050316,056050316
+056050317,056050317
+056050318,056050318
+056050319,056050319
+056050320,056050320
+056050321,056050321
+056050322,056050322
+056050323,056050323
+056050324,056050324
+056050325,056050325
+056050326,056050326
+056050327,056050327
+056050328,056050328
+056050329,056050329
+056050330,056050330
+056050331,056050331
+056050332,056050332
+056050333,056050333
+056050334,056050334
+056050335,056050335
+056050336,056050336
+056050337,056050337
+056050338,056050338
+056054050,056054050
+056054051,056054051
+056054052,056054052
+056054053,056054053
+056054054,056054054
+056054055,056054055
+056054056,056054056
+056054057,056054057
+056054058,056054058
+056054059,056054059
+056054060,056054060
+056054061,056054061
+056054062,056054062
+056055029,056055029
+056055030,056055030
+056055031,056055031
+056055032,056055032
+056055033,056055033
+056055034,056055034
+056055035,056055035
+056055036,056055036
+056055037,056055037
+056055038,056055038
+056055039,056055039
+056055040,056055040
+056055041,056055041
+056055042,056055042
+056055043,056055043
+056055044,056055044
+056055045,056055045
+056055046,056055046
+056055047,056055047
+056056199,056056199
+056056200,056056200
+056056201,056056201
+056056202,056056202
+056056203,056056203
+056056204,056056204
+056056205,056056205
+056056206,056056206
+056056207,056056207
+056056208,056056208
+056056209,056056209
+056056210,056056210
+056056211,056056211
+056056212,056056212
+056056213,056056213
+056056214,056056214
+056056215,056056215
+056056216,056056216
+056056217,056056217
+056056218,056056218
+056056219,056056219
+056056220,056056220
+056056221,056056221
+056056222,056056222
+056056223,056056223
+056056224,056056224
+056056225,056056225
+056056226,056056226
+056056227,056056227
+056056228,056056228
+056056229,056056229
+056056230,056056230
+056056231,056056231
+056056232,056056232
+056056233,056056233
+056056234,056056234
+056056235,056056235
+056056236,056056236
+056056237,056056237
+056056238,056056238
+056056239,056056239
+056056240,056056240
+056056241,056056241
+056056242,056056242
+056056243,056056243
+056056244,056056244
+056056245,056056245
+056056246,056056246
+056056247,056056247
+056056248,056056248
+056056249,056056249
+056056250,056056250
+056056251,056056251
+056056252,056056252
+056056253,056056253
+056056254,056056254
+056056255,056056255
+056056256,056056256
+056056257,056056257
+056056258,056056258
+056056259,056056259
+056056260,056056260
+056056261,056056261
+056056262,056056262
+056056263,056056263
+056056264,056056264
+056056265,056056265
+056056266,056056266
+056056267,056056267
+056056268,056056268
+056056269,056056269
+056056270,056056270
+056056271,056056271
+056056272,056056272
+056056273,056056273
+056056274,056056274
+056056275,056056275
+056056276,056056276
+056056277,056056277
+056056278,056056278
+056056279,056056279
+056056280,056056280
+056056281,056056281
+056056282,056056282
+056056283,056056283
+056056284,056056284
+056056285,056056285
+056056286,056056286
+056056287,056056287
+056056288,056056288
+056056289,056056289
+056056290,056056290
+056056291,056056291
+056056292,056056292
+056056293,056056293
+056056294,056056294
+056056295,056056295
+056056296,056056296
+056056297,056056297
+056056298,056056298
+056056299,056056299
+056056300,056056300
+056056301,056056301
+056056302,056056302
+056056303,056056303
+056056304,056056304
+056056305,056056305
+056056306,056056306
+056056307,056056307
+056056308,056056308
+056056309,056056309
+056056310,056056310
+056056311,056056311
+056056312,056056312
+056056313,056056313
+056056314,056056314
+056056315,056056315
+056056316,056056316
+056056317,056056317
+056056318,056056318
+056056319,056056319
+056056320,056056320
+056056321,056056321
+056056322,056056322
+056056323,056056323
+056056324,056056324
+056056325,056056325
+056056326,056056326
+056056327,056056327
+056056328,056056328
+056056329,056056329
+056056330,056056330
+056058003,056058003
+056058012,056058012
+056059024,056059024
+056059025,056059025
+056059026,056059026
+056059027,056059027
+056059028,056059028
+056059029,056059029
+056059030,056059030
+056059031,056059031
+056059032,056059032
+056059033,056059033
+056059034,056059034
+056059035,056059035
+056060339,056060339
+056060340,056060340
+056060341,056060341
+056060342,056060342
+056060343,056060343
+056060344,056060344
+056060345,056060345
+056060346,056060346
+056060347,056060347
+056060348,056060348
+056060349,056060349
+056060350,056060350
+056060351,056060351
+056060352,056060352
+056060353,056060353
+056060354,056060354
+056060355,056060355
+056060356,056060356
+056060357,056060357
+056060358,056060358
+056060359,056060359
+056060360,056060360
+056060361,056060361
+056060362,056060362
+056060363,056060363
+056060364,056060364
+056060365,056060365
+056060366,056060366
+056064063,056064063
+056064064,056064064
+056064065,056064065
+056064066,056064066
+056064067,056064067
+056064068,056064068
+056064069,056064069
+056064070,056064070
+056064071,056064071
+056064072,056064072
+056065048,056065048
+056065049,056065049
+056066331,056066331
+056066332,056066332
+056069036,056069036
+056069037,056069037
+05606G118,05606G118
+05606G119,05606G119
+05606G120,05606G120
+05606G121,05606G121
+05606G122,05606G122
+05606G123,05606G123
+05606G124,05606G124
+05606G125,05606G125
+05606G126,05606G126
+05606G127,05606G127
+05606G128,05606G128
+05606G129,05606G129
+056070367,056070367
+056070368,056070368
+056070369,056070369
+056070370,056070370
+056070371,056070371
+056070372,056070372
+056070373,056070373
+056070374,056070374
+056070375,056070375
+056070376,056070376
+056070377,056070377
+056070378,056070378
+056070379,056070379
+056070380,056070380
+056070381,056070381
+056070382,056070382
+056070383,056070383
+056070384,056070384
+056070385,056070385
+056070386,056070386
+056070387,056070387
+056070388,056070388
+056070389,056070389
+056070390,056070390
+056070391,056070391
+056070392,056070392
+056070393,056070393
+056070394,056070394
+056074073,056074073
+056074074,056074074
+056074075,056074075
+056074076,056074076
+056074077,056074077
+056074078,056074078
+056074079,056074079
+056074080,056074080
+056074081,056074081
+056075050,056075050
+056075051,056075051
+056076333,056076333
+056076334,056076334
+056076335,056076335
+056076336,056076336
+056076337,056076337
+056076338,056076338
+056076339,056076339
+056076340,056076340
+056076341,056076341
+056076342,056076342
+056076343,056076343
+056076344,056076344
+056076345,056076345
+056076346,056076346
+056076347,056076347
+056076348,056076348
+056076349,056076349
+056076350,056076350
+056078007,056078007
+056079038,056079038
+056079039,056079039
+056079040,056079040
+056079041,056079041
+056079042,056079042
+056079043,056079043
+056079044,056079044
+056079045,056079045
+056079046,056079046
+056079047,056079047
+056079048,056079048
+056079075,056079075
+056079076,056079076
+05607G130,05607G130
+05607G131,05607G131
+05607G132,05607G132
+05607G133,05607G133
+05607G134,05607G134
+05607G135,05607G135
+05607G136,05607G136
+05607G137,05607G137
+05607G138,05607G138
+05607G139,05607G139
+05607G140,05607G140
+05607G141,05607G141
+05607G142,05607G142
+05607G143,05607G143
+05607G144,05607G144
+05607G145,05607G145
+05607G146,05607G146
+05607G147,05607G147
+05607G148,05607G148
+05607G149,05607G149
+05607G150,05607G150
+05607G151,05607G151
+05607G152,05607G152
+05607G153,05607G153
+05607G154,05607G154
+05607G155,05607G155
+05607G156,05607G156
+05607G157,05607G157
+05607G158,05607G158
+05607G159,05607G159
+05607G160,05607G160
+05607G161,05607G161
+05607G162,05607G162
+05607G163,05607G163
+05607G164,05607G164
+05607G165,05607G165
+05607G166,05607G166
+05607G167,05607G167
+05607G168,05607G168
+05607G169,05607G169
+05607G170,05607G170
+05607G171,05607G171
+05607G172,05607G172
+05607G173,05607G173
+05607G174,05607G174
+05607G175,05607G175
+05607G176,05607G176
+05607G177,05607G177
+05607G178,05607G178
+05607G179,05607G179
+05607G180,05607G180
+05607G181,05607G181
+05607G182,05607G182
+05607G183,05607G183
+05607G184,05607G184
+05607G185,05607G185
+05607G186,05607G186
+05607G187,05607G187
+05607G188,05607G188
+05607G189,05607G189
+05607G190,05607G190
+05607G191,05607G191
+05607G192,05607G192
+05607G193,05607G193
+05607G194,05607G194
+05607G195,05607G195
+05607G196,05607G196
+05607G197,05607G197
+05607G198,05607G198
+05607G199,05607G199
+05607G200,05607G200
+05607G201,05607G201
+05607G202,05607G202
+05607G203,05607G203
+05607G204,05607G204
+05607G205,05607G205
+05607G206,05607G206
+05607G207,05607G207
+05607G208,05607G208
+05607G209,05607G209
+05607G210,05607G210
+05607G211,05607G211
+05607G212,05607G212
+05607G213,05607G213
+05607G214,05607G214
+05607G215,05607G215
+05607G216,05607G216
+05607G217,05607G217
+05607G218,05607G218
+05607G219,05607G219
+05607G220,05607G220
+05607G221,05607G221
+05607G222,05607G222
+05607G223,05607G223
+05607G224,05607G224
+05607G225,05607G225
+05607G226,05607G226
+05607G227,05607G227
+05607G228,05607G228
+05607G229,05607G229
+05607G230,05607G230
+05607G231,05607G231
+05607G232,05607G232
+05607G233,05607G233
+05607G234,05607G234
+05607G235,05607G235
+05607G236,05607G236
+05607G237,05607G237
+05607G238,05607G238
+05607G239,05607G239
+05607G240,05607G240
+05607G241,05607G241
+05607G242,05607G242
+05607G243,05607G243
+05607G244,05607G244
+05607J004,05607J004
+056080395,056080395
+056080396,056080396
+056080397,056080397
+056080398,056080398
+056080399,056080399
+056080400,056080400
+056080401,056080401
+056080402,056080402
+056080403,056080403
+056080404,056080404
+056080405,056080405
+056080406,056080406
+056080407,056080407
+056080408,056080408
+056080409,056080409
+056080410,056080410
+056080411,056080411
+056080412,056080412
+056080413,056080413
+056080414,056080414
+056080415,056080415
+056080416,056080416
+056080417,056080417
+056080418,056080418
+056080419,056080419
+056080420,056080420
+056080421,056080421
+056080422,056080422
+056080423,056080423
+056080424,056080424
+056080425,056080425
+056080426,056080426
+056080427,056080427
+056080428,056080428
+056080429,056080429
+056080430,056080430
+056080431,056080431
+056080432,056080432
+056080433,056080433
+056080434,056080434
+056080435,056080435
+056080436,056080436
+056080437,056080437
+056080438,056080438
+056080439,056080439
+056080440,056080440
+056080441,056080441
+056080442,056080442
+056080443,056080443
+056080444,056080444
+056080445,056080445
+056080446,056080446
+056080447,056080447
+056080448,056080448
+056080449,056080449
+056080450,056080450
+056080451,056080451
+056080452,056080452
+056080453,056080453
+056080454,056080454
+056080455,056080455
+056080456,056080456
+056080457,056080457
+056080458,056080458
+056080459,056080459
+056080460,056080460
+056080461,056080461
+056080462,056080462
+056080463,056080463
+056080464,056080464
+056080465,056080465
+056080466,056080466
+056080467,056080467
+056080468,056080468
+056080469,056080469
+056084082,056084082
+056084083,056084083
+056084084,056084084
+056084085,056084085
+056084086,056084086
+056084087,056084087
+056084088,056084088
+056084089,056084089
+056084090,056084090
+056084091,056084091
+056084092,056084092
+056084093,056084093
+056084094,056084094
+056084095,056084095
+056084096,056084096
+056084097,056084097
+056085052,056085052
+056085053,056085053
+056085054,056085054
+056085055,056085055
+056085056,056085056
+056085057,056085057
+056085058,056085058
+056085059,056085059
+056085060,056085060
+056086351,056086351
+056086352,056086352
+056086353,056086353
+056086354,056086354
+056086355,056086355
+056086356,056086356
+056086357,056086357
+056086358,056086358
+056086359,056086359
+056086360,056086360
+056086361,056086361
+056086362,056086362
+056086363,056086363
+056086364,056086364
+056086365,056086365
+056086366,056086366
+056086367,056086367
+056086368,056086368
+056086369,056086369
+056086370,056086370
+056086371,056086371
+056086372,056086372
+056086373,056086373
+056086374,056086374
+056086375,056086375
+056086376,056086376
+056086377,056086377
+056086378,056086378
+056086379,056086379
+056086380,056086380
+056086381,056086381
+056086382,056086382
+056086383,056086383
+056086384,056086384
+056086385,056086385
+056086386,056086386
+056086387,056086387
+056086388,056086388
+056086389,056086389
+056086390,056086390
+056086391,056086391
+056086392,056086392
+056086393,056086393
+056086394,056086394
+056086395,056086395
+056086396,056086396
+056086397,056086397
+056086398,056086398
+056086399,056086399
+056086400,056086400
+056086401,056086401
+056086402,056086402
+056086403,056086403
+056086404,056086404
+056086405,056086405
+056086406,056086406
+056086407,056086407
+056086408,056086408
+056086409,056086409
+056086410,056086410
+056086411,056086411
+056086412,056086412
+056086413,056086413
+056086414,056086414
+056086415,056086415
+056086416,056086416
+056086417,056086417
+056086418,056086418
+056086419,056086419
+056086420,056086420
+056086421,056086421
+056086422,056086422
+056086423,056086423
+056086424,056086424
+056086425,056086425
+056086426,056086426
+056086427,056086427
+056086428,056086428
+056086429,056086429
+056086430,056086430
+056086431,056086431
+056086432,056086432
+056086433,056086433
+056086434,056086434
+056086435,056086435
+056086436,056086436
+056086437,056086437
+056086438,056086438
+056086439,056086439
+056088001,056088001
+056088010,056088010
+05608G245,05608G245
+05608G246,05608G246
+05608G247,05608G247
+05608G248,05608G248
+05608G249,05608G249
+05608G250,05608G250
+05608G251,05608G251
+05608G252,05608G252
+05608G253,05608G253
+05608G254,05608G254
+05608G255,05608G255
+05608G256,05608G256
+05608G257,05608G257
+05608G258,05608G258
+05608G259,05608G259
+05608G260,05608G260
+05608G261,05608G261
+05608G262,05608G262
+05608G263,05608G263
+05608G264,05608G264
+05608G265,05608G265
+05608G266,05608G266
+05608G267,05608G267
+05608G268,05608G268
+05608G269,05608G269
+05608G270,05608G270
+05608G271,05608G271
+05608G272,05608G272
+05608G273,05608G273
+05608J005,05608J005
+05608J006,05608J006
+056090470,056090470
+056090471,056090471
+056090472,056090472
+056090473,056090473
+056090474,056090474
+056090475,056090475
+056090476,056090476
+056090477,056090477
+056090478,056090478
+056090479,056090479
+056090480,056090480
+056090481,056090481
+056090482,056090482
+056090483,056090483
+056090484,056090484
+056090485,056090485
+056090486,056090486
+056090487,056090487
+056090488,056090488
+056090489,056090489
+056090490,056090490
+056090491,056090491
+056090492,056090492
+056090493,056090493
+056090494,056090494
+056090495,056090495
+056090496,056090496
+056090497,056090497
+056090498,056090498
+056090499,056090499
+056090500,056090500
+056090501,056090501
+056090502,056090502
+056090503,056090503
+056090504,056090504
+056090505,056090505
+056090506,056090506
+056090507,056090507
+056090508,056090508
+056090509,056090509
+056090510,056090510
+056090511,056090511
+056090512,056090512
+056090513,056090513
+056090514,056090514
+056090515,056090515
+056090516,056090516
+056090517,056090517
+056090518,056090518
+056090519,056090519
+056090520,056090520
+056090521,056090521
+056090522,056090522
+056090523,056090523
+056090524,056090524
+056090525,056090525
+056090526,056090526
+056090527,056090527
+056090528,056090528
+056090529,056090529
+056090530,056090530
+056090531,056090531
+056090532,056090532
+056090533,056090533
+056090534,056090534
+056090535,056090535
+056090536,056090536
+056090537,056090537
+056090538,056090538
+056090539,056090539
+056090540,056090540
+056090541,056090541
+056090542,056090542
+056090543,056090543
+056090544,056090544
+056090545,056090545
+056090546,056090546
+056090547,056090547
+056090548,056090548
+056090549,056090549
+056090550,056090550
+056090551,056090551
+056090552,056090552
+056090553,056090553
+056090554,056090554
+056090555,056090555
+056090556,056090556
+056090557,056090557
+056090558,056090558
+056090559,056090559
+056090560,056090560
+056090561,056090561
+056090562,056090562
+056090563,056090563
+056090564,056090564
+056090565,056090565
+056090566,056090566
+056090567,056090567
+056090568,056090568
+056090569,056090569
+056090570,056090570
+056090571,056090571
+056090572,056090572
+056090573,056090573
+056090574,056090574
+056090575,056090575
+056090576,056090576
+056090577,056090577
+056090578,056090578
+056090579,056090579
+056090580,056090580
+056090581,056090581
+056090582,056090582
+056094098,056094098
+056094099,056094099
+056094100,056094100
+056094101,056094101
+056094102,056094102
+056094103,056094103
+056094104,056094104
+056094105,056094105
+056095061,056095061
+056095062,056095062
+056095063,056095063
+056095064,056095064
+056095065,056095065
+056095066,056095066
+056095067,056095067
+056095068,056095068
+056095069,056095069
+056096440,056096440
+056096441,056096441
+056096442,056096442
+056096443,056096443
+056096444,056096444
+056096445,056096445
+056096446,056096446
+056096447,056096447
+056096448,056096448
+056096449,056096449
+056096450,056096450
+056096451,056096451
+056096452,056096452
+056096453,056096453
+056096454,056096454
+056096455,056096455
+056096456,056096456
+056096457,056096457
+056096458,056096458
+056096459,056096459
+056096460,056096460
+056096461,056096461
+056096462,056096462
+056096463,056096463
+056096464,056096464
+056096465,056096465
+056096466,056096466
+056096467,056096467
+056096468,056096468
+056096469,056096469
+056096470,056096470
+056096471,056096471
+056096472,056096472
+056096473,056096473
+056096474,056096474
+056096475,056096475
+056096476,056096476
+056096477,056096477
+056096478,056096478
+056096479,056096479
+056096480,056096480
+056096481,056096481
+056096482,056096482
+056096483,056096483
+056096484,056096484
+056096485,056096485
+056096486,056096486
+056096487,056096487
+056096488,056096488
+056096489,056096489
+056096490,056096490
+056096491,056096491
+056096492,056096492
+056096493,056096493
+056096494,056096494
+056096495,056096495
+056096496,056096496
+056096497,056096497
+056096498,056096498
+056096499,056096499
+056096500,056096500
+056096501,056096501
+056096502,056096502
+056096503,056096503
+056096504,056096504
+056096505,056096505
+056096506,056096506
+056096507,056096507
+056096508,056096508
+056096509,056096509
+056096510,056096510
+056096511,056096511
+056096512,056096512
+056096513,056096513
+056096514,056096514
+056096515,056096515
+056096516,056096516
+056096517,056096517
+056096518,056096518
+056096519,056096519
+056096520,056096520
+056096521,056096521
+056096522,056096522
+056096523,056096523
+056096524,056096524
+056096525,056096525
+056096526,056096526
+056096527,056096527
+056096528,056096528
+056096529,056096529
+056096530,056096530
+056096531,056096531
+056096532,056096532
+056096533,056096533
+056096534,056096534
+056096535,056096535
+056096536,056096536
+056096537,056096537
+056096538,056096538
+056096539,056096539
+056096540,056096540
+056096541,056096541
+056096542,056096542
+056096543,056096543
+056096544,056096544
+056096545,056096545
+056096546,056096546
+056096547,056096547
+056096548,056096548
+056096549,056096549
+056096550,056096550
+056096551,056096551
+056096552,056096552
+056096553,056096553
+056096554,056096554
+056096555,056096555
+056096556,056096556
+056096557,056096557
+056096558,056096558
+056096559,056096559
+056096560,056096560
+056096561,056096561
+056096562,056096562
+056099049,056099049
+056099050,056099050
+056099051,056099051
+056099052,056099052
+056099053,056099053
+056099054,056099054
+056099055,056099055
+056099056,056099056
+056099057,056099057
+05609G274,05609G274
+05609G275,05609G275
+05609G276,05609G276
+05609G277,05609G277
+05609G278,05609G278
+05609G279,05609G279
+05609G280,05609G280
+05609G281,05609G281
+05609G282,05609G282
+05609G283,05609G283
+05609G284,05609G284
+05609G285,05609G285
+05609G286,05609G286
+05609G287,05609G287
+05609G288,05609G288
+05609G289,05609G289
+05609G290,05609G290
+05609G291,05609G291
+05609G292,05609G292
+05609G293,05609G293
+05609G294,05609G294
+05609G295,05609G295
+05609G296,05609G296
+05609G297,05609G297
+05609G298,05609G298
+05609G299,05609G299
+05609G300,05609G300
+05609G301,05609G301
+05609G302,05609G302
+05609G303,05609G303
+05609G304,05609G304
+05609G305,05609G305
+05609G306,05609G306
+05609G307,05609G307
+05609G308,05609G308
+05609G309,05609G309
+05609G310,05609G310
+05609G311,05609G311
+05609G312,05609G312
+05609G313,05609G313
+05609G314,05609G314
+05609G315,05609G315
+05609G316,05609G316
+05609G317,05609G317
+05609G318,05609G318
+05609G319,05609G319
+05609G320,05609G320
+05609G321,05609G321
+05609G322,05609G322
+05609G323,05609G323
+05609G324,05609G324
+05609G325,05609G325
+05609G326,05609G326
+05609G327,05609G327
+056100583,056100583
+056100584,056100584
+056100585,056100585
+056100586,056100586
+056100587,056100587
+056100588,056100588
+056100589,056100589
+056100590,056100590
+056100591,056100591
+056100592,056100592
+056100593,056100593
+056100594,056100594
+056100595,056100595
+056100596,056100596
+056100597,056100597
+056100598,056100598
+056100599,056100599
+056100600,056100600
+056100601,056100601
+056100602,056100602
+056100603,056100603
+056100604,056100604
+056100605,056100605
+056100606,056100606
+056100607,056100607
+056100608,056100608
+056100609,056100609
+056100610,056100610
+056100611,056100611
+056100612,056100612
+056100613,056100613
+056100614,056100614
+056100615,056100615
+056100616,056100616
+056100617,056100617
+056100618,056100618
+056100619,056100619
+056100620,056100620
+056100621,056100621
+056100622,056100622
+056100623,056100623
+056100624,056100624
+056100625,056100625
+056100626,056100626
+056100627,056100627
+056100628,056100628
+056100629,056100629
+056100630,056100630
+056100631,056100631
+056100632,056100632
+056100633,056100633
+056100634,056100634
+056100635,056100635
+056100636,056100636
+056100637,056100637
+056100638,056100638
+056100639,056100639
+056100640,056100640
+056100641,056100641
+056100642,056100642
+056100643,056100643
+056100644,056100644
+056100645,056100645
+056100646,056100646
+056100647,056100647
+056100648,056100648
+056100649,056100649
+056100650,056100650
+056100651,056100651
+056100652,056100652
+056100653,056100653
+056100654,056100654
+056100655,056100655
+056100656,056100656
+056100657,056100657
+056100658,056100658
+056100659,056100659
+056100660,056100660
+056100661,056100661
+056104106,056104106
+056104107,056104107
+056104108,056104108
+056104109,056104109
+056104110,056104110
+056104111,056104111
+056104112,056104112
+056104113,056104113
+056105070,056105070
+056105071,056105071
+056106563,056106563
+056106564,056106564
+056106565,056106565
+056106566,056106566
+056106567,056106567
+056106568,056106568
+056106569,056106569
+056106570,056106570
+056106571,056106571
+056106572,056106572
+056106573,056106573
+056106574,056106574
+056106575,056106575
+056106576,056106576
+056106577,056106577
+056106578,056106578
+056106579,056106579
+056106580,056106580
+056106581,056106581
+056106582,056106582
+056106583,056106583
+056106584,056106584
+056106585,056106585
+056106586,056106586
+056106587,056106587
+056106588,056106588
+056106589,056106589
+056106590,056106590
+056106591,056106591
+056106592,056106592
+056106593,056106593
+056106594,056106594
+056106595,056106595
+056106596,056106596
+056106597,056106597
+056106598,056106598
+056106599,056106599
+056106600,056106600
+056106601,056106601
+056106602,056106602
+056106603,056106603
+056106604,056106604
+056106605,056106605
+056106606,056106606
+056106607,056106607
+056106608,056106608
+056106609,056106609
+056106610,056106610
+056106611,056106611
+056106612,056106612
+056106613,056106613
+056106614,056106614
+056106615,056106615
+056106616,056106616
+056106617,056106617
+056106618,056106618
+056106619,056106619
+056106620,056106620
+056106621,056106621
+056106622,056106622
+056106623,056106623
+056106624,056106624
+056106625,056106625
+056106626,056106626
+056106627,056106627
+056106628,056106628
+056106629,056106629
+056106630,056106630
+056106631,056106631
+056106632,056106632
+056106633,056106633
+056106634,056106634
+056106635,056106635
+056106636,056106636
+056106637,056106637
+056106638,056106638
+056106639,056106639
+056106640,056106640
+056106641,056106641
+056106642,056106642
+056109058,056109058
+056109059,056109059
+056109060,056109060
+056109061,056109061
+056109062,056109062
+056109063,056109063
+056109064,056109064
+05610G328,05610G328
+05610G329,05610G329
+05610G330,05610G330
+05610J007,05610J007
+05610J008,05610J008
+05610J009,05610J009
+056110662,056110662
+056110663,056110663
+056110664,056110664
+056110665,056110665
+056110666,056110666
+056110667,056110667
+056110668,056110668
+056110669,056110669
+056110670,056110670
+056110671,056110671
+056110672,056110672
+056110673,056110673
+056110674,056110674
+056110675,056110675
+056110676,056110676
+056110677,056110677
+056110678,056110678
+056110679,056110679
+056110680,056110680
+056110681,056110681
+056110682,056110682
+056110683,056110683
+056110684,056110684
+056110685,056110685
+056110686,056110686
+056110687,056110687
+056110688,056110688
+056110689,056110689
+056110690,056110690
+056110691,056110691
+056110692,056110692
+056110693,056110693
+056110694,056110694
+056110695,056110695
+056110696,056110696
+056110697,056110697
+056110698,056110698
+056110699,056110699
+056110700,056110700
+056110701,056110701
+056110702,056110702
+056110703,056110703
+056110704,056110704
+056110705,056110705
+056110706,056110706
+056110707,056110707
+056110708,056110708
+056110709,056110709
+056110710,056110710
+056110711,056110711
+056110712,056110712
+056110713,056110713
+056110714,056110714
+056110715,056110715
+056110716,056110716
+056110717,056110717
+056110718,056110718
+056110719,056110719
+056110720,056110720
+056110721,056110721
+056110722,056110722
+056110723,056110723
+056110724,056110724
+056110725,056110725
+056110726,056110726
+056110727,056110727
+056110728,056110728
+056110729,056110729
+056110730,056110730
+056110731,056110731
+056110732,056110732
+056110733,056110733
+056110734,056110734
+056110735,056110735
+056110736,056110736
+056110737,056110737
+056110738,056110738
+056110739,056110739
+056110740,056110740
+056110741,056110741
+056110742,056110742
+056110743,056110743
+056110744,056110744
+056110745,056110745
+056110746,056110746
+056110747,056110747
+056110748,056110748
+056110749,056110749
+056110750,056110750
+056110751,056110751
+056110752,056110752
+056114114,056114114
+056114115,056114115
+056114116,056114116
+056114117,056114117
+056115072,056115072
+056115073,056115073
+056115074,056115074
+056115075,056115075
+056116643,056116643
+056116644,056116644
+056116645,056116645
+056116646,056116646
+056116647,056116647
+056116648,056116648
+056116649,056116649
+056116650,056116650
+056116651,056116651
+056116652,056116652
+056116653,056116653
+056116654,056116654
+056116655,056116655
+056116656,056116656
+056116657,056116657
+056116658,056116658
+056116659,056116659
+056116660,056116660
+056116661,056116661
+056116662,056116662
+056116663,056116663
+056116664,056116664
+056116665,056116665
+056116666,056116666
+056116667,056116667
+056116668,056116668
+056116669,056116669
+056116670,056116670
+056116671,056116671
+056116672,056116672
+056116673,056116673
+056116674,056116674
+056116675,056116675
+056116676,056116676
+056116677,056116677
+056116678,056116678
+056116679,056116679
+056116680,056116680
+056116681,056116681
+056116682,056116682
+056116683,056116683
+056116684,056116684
+056116685,056116685
+056116686,056116686
+056116687,056116687
+056116688,056116688
+056116689,056116689
+056116690,056116690
+056116691,056116691
+056116692,056116692
+056116693,056116693
+056116694,056116694
+056116695,056116695
+056116696,056116696
+056116697,056116697
+056116698,056116698
+056116699,056116699
+056116700,056116700
+056116701,056116701
+056116702,056116702
+056116703,056116703
+056116704,056116704
+056116705,056116705
+056116706,056116706
+056116707,056116707
+056116708,056116708
+056119065,056119065
+056119066,056119066
+056119067,056119067
+056119068,056119068
+056119069,056119069
+056119070,056119070
+056119071,056119071
+056119072,056119072
+056119073,056119073
+05611G331,05611G331
+05611J010,05611J010
+05611J011,05611J011
+05611J012,05611J012
+05611J013,05611J013
+05611J014,05611J014
+05611J015,05611J015
+056120753,056120753
+056120754,056120754
+056120755,056120755
+056120756,056120756
+056120757,056120757
+056120758,056120758
+056120759,056120759
+056120760,056120760
+056120761,056120761
+056120762,056120762
+056120763,056120763
+056120764,056120764
+056120765,056120765
+056120766,056120766
+056120767,056120767
+056120768,056120768
+056120769,056120769
+056120770,056120770
+056120771,056120771
+056124118,056124118
+056125076,056125076
+056125077,056125077
+056125078,056125078
+056125079,056125079
+056126709,056126709
+056126710,056126710
+056126711,056126711
+056126712,056126712
+056126713,056126713
+056126714,056126714
+056126715,056126715
+056126716,056126716
+056126717,056126717
+056126718,056126718
+056126719,056126719
+056126720,056126720
+056126721,056126721
+056126722,056126722
+056126723,04612E019
+056126724,056126724
+056126725,056126725
+056126726,056126726
+056126727,056126727
+056126728,056126728
+056126729,056126729
+056126730,056126730
+056126731,056126731
+056126732,056126732
+056126733,04612E011
+056126734,056126734
+056126735,056126735
+056126736,056126736
+056126737,056126737
+056126738,056126738
+056126739,056126739
+056126740,056126740
+056126741,056126741
+056126742,056126742
+056126743,056126743
+056126744,056126744
+056126745,056126745
+056126746,056126746
+056126747,056126747
+056126748,056126748
+056126749,056126749
+056126750,056126750
+056126751,056126751
+056126752,056126752
+056126753,056126753
+056126754,056126754
+056126755,056126755
+056126756,056126756
+056126757,056126757
+056126758,056126758
+056126759,056126759
+056126760,056126760
+056126761,056126761
+056126762,056126762
+056126763,056126763
+056126764,056126764
+056126765,056126765
+056126766,056126766
+056126767,056126767
+056126768,056126768
+056126769,056126769
+056126770,056126770
+056126771,056126771
+056126772,056126772
+056126773,056126773
+056126774,056126774
+056126775,056126775
+056126776,056126776
+056126777,056126777
+056126778,056126778
+056126779,056126779
+056126780,056126780
+056126781,056126781
+056126782,056126782
+056126783,056126783
+056126784,056126784
+056126785,056126785
+056126786,056126786
+056126787,056126787
+056126788,056126788
+056126789,056126789
+056126790,056126790
+056126791,056126791
+056126792,056126792
+056126793,056126793
+056126794,056126794
+056126795,056126795
+056126796,056126796
+056126797,056126797
+056126798,056126798
+056126799,056126799
+056126800,056126800
+056126801,056126801
+056126802,056126802
+056126803,056126803
+056126804,056126804
+056126805,056126805
+056126806,056126806
+056126807,056126807
+056126808,056126808
+056126809,056126809
+056126810,056126810
+056126811,056126811
+056126812,056126812
+056126813,056126813
+056126814,056126814
+056126815,056126815
+056126816,056126816
+056126817,056126817
+056126818,056126818
+056126819,056126819
+056126820,056126820
+056126821,056126821
+056126822,056126822
+056126823,056126823
+056126824,056126824
+056126825,056126825
+056126826,056126826
+056126827,056126827
+056126828,056126828
+056126829,056126829
+056126830,056126830
+056126831,056126831
+056126832,056126832
+056126833,056126833
+056126834,056126834
+056126835,056126835
+056126836,056126836
+056126837,056126837
+056126838,056126838
+056126839,056126839
+056126840,056126840
+056126841,056126841
+056126842,056126842
+056126843,056126843
+056126844,056126844
+056126845,056126845
+056126846,056126846
+056126847,056126847
+056126848,056126848
+056126849,056126849
+056126850,056126850
+056126851,056126851
+056126852,056126852
+056126853,056126853
+056126854,056126854
+056126855,056126855
+056126856,056126856
+056126857,056126857
+056126858,056126858
+056128004,056128004
+056128005,056128005
+056128006,056128006
+056128009,056128009
+056128011,056128011
+056128013,056128013
+056128015,056128015
+056128016,056128016
+056128017,056128017
+056128020,056128020
+05612E001,05612E001
+05612E002,05612E002
+05612E003,05612E003
+05612E004,05612E004
+05612E005,05612E005
+05612E006,05612E006
+05612E007,05612E007
+05612E008,05612E008
+05612E009,05612E009
+05612E010,05612E010
+05612E011,05612E011
+05612E012,05612E012
+05612E013,05612E013
+05612E014,05612E014
+05612E015,05612E015
+05612E016,05612E016
+05612E017,05612E017
+05612E018,05612E018
+05612E019,05612E019
+05612E020,05612E020
+05612E021,05612E021
+05612E022,05612E022
+05612E023,05612E023
+05612E024,05612E024
+05612E025,05612E025
+05612E026,05612E026
+05612E027,05612E027
+05612E028,05612E028
+05612E029,05612E029
+05612E030,05612E030
+05612E031,05612E031
+05612E032,05612E032
+05612E033,05612E033
+05612E034,05612E034
+05612E035,05612E035
+05612G332,05612G332
+05612G333,05612G333
+05612G334,05612G334
+05612G335,05612G335
+05612G336,05612G336
+05612G337,05612G337
+05612G338,05612G338
+05612G339,05612G339
+05612G340,05612G340
+05612G341,05612G341
+05612G342,05612G342
+05612G343,05612G343
+05612G344,05612G344
+05612G345,05612G345
+05612G346,05612G346
+05612G347,05612G347
+05612G348,05612G348
+05612G349,05612G349
+05612G350,05612G350
+05612G351,05612G351
+05612G352,05612G352
+05612G353,05612G353
+05612G354,05612G354
+05612G355,05612G355
+05612G356,05612G356
+05612G357,05612G357
+05612G358,05612G358
+05612G359,05612G359
+05612G360,05612G360
+05612G361,05612G361
+05612G362,05612G362
+05612G363,05612G363
+05612G364,05612G364
+05612G365,05612G365
+05612G366,05612G366
+05612G367,05612G367
+05612G368,05612G368
+05612G369,05612G369
+05612G370,05612G370
+05612G371,05612G371
+05612G372,05612G372
+05612G373,05612G373
+05612G374,05612G374
+05612G375,05612G375
+05612G376,05612G376
+05612G377,05612G377
+05612G378,05612G378
+05612G379,05612G379
+05612G380,05612G380
+05612G381,05612G381
+05612G382,05612G382
+05612G383,05612G383
+05612G384,05612G384
+05612G385,05612G385
+05612G386,05612G386
+05612G387,05612G387
+05612G388,05612G388
+05612G389,05612G389
+05612G390,05612G390
+05612G391,05612G391
+05612G392,05612G392
+05612G393,05612G393
+05612G394,05612G394
+05612G395,05612G395
+05612G396,05612G396
+05612G397,05612G397
+05612G398,05612G398
+05612G399,05612G399
+05612G400,05612G400
+05612G401,05612G401
+05612G402,05612G402
+05612G403,05612G403
+05612G404,05612G404
+05612G405,05612G405
+05612G406,05612G406
+05612J016,05612J016
+05612J017,05612J017
+05612J018,05612J018
+05612J019,05612J019
+056130772,056130772
+056130773,056130773
+056130774,056130774
+056130775,056130775
+056130776,056130776
+056130777,056130777
+056130778,056130778
+056130779,056130779
+056130780,056130780
+056130781,056130781
+056130782,056130782
+056130783,056130783
+056130784,056130784
+056130785,056130785
+056130786,056130786
+056130787,056130787
+056130788,056130788
+056130789,056130789
+056130790,056130790
+056130791,056130791
+056130792,056130792
+056130793,056130793
+056130794,056130794
+056130795,056130795
+056130796,056130796
+056130797,056130797
+056130798,056130798
+056130799,056130799
+056130800,056130800
+056130801,056130801
+056130802,056130802
+056130803,056130803
+056130804,056130804
+056130805,056130805
+056130806,056130806
+056130807,056130807
+056134119,056134119
+056134120,056134120
+056134121,056134121
+056134122,056134122
+056135080,056135080
+056135081,056135081
+056135082,056135082
+056135083,056135083
+056135084,056135084
+056135085,056135085
+056135086,056135086
+056136859,056136859
+056136860,056136860
+056136861,056136861
+056136862,056136862
+056136863,056136863
+056136864,056136864
+056136865,056136865
+056136866,056136866
+056136867,056136867
+056136868,056136868
+056136869,056136869
+056136870,056136870
+056136871,056136871
+056136872,056136872
+056136873,056136873
+056136874,056136874
+056136875,056136875
+056136876,056136876
+056136877,056136877
+056136878,056136878
+056136879,056136879
+056136880,056136880
+056136881,056136881
+056136882,056136882
+056136883,056136883
+056136884,056136884
+056136885,056136885
+056136886,056136886
+0561380021,0561380021
+056138003,056138003
+056138007,056138007
+056138014,056138014
+05613P001,05613P001
+05613P002,05613P002
+05613P003,05613P003
+05613P004,05613P004
+05613P005,05613P005
+05613P006,05613P006
+05613P007,05613P007
+05613P008,05613P008
+05613P009,05613P009
+05613P010,05613P010
+05613P011,05613P011
+05613P012,05613P012
+05613P013,05613P013
+05613P014,05613P014
+05613P015,05613P015
+05613P016,05613P016
+05613P017,05613P017
+05613P018,05613P018
+05613P019,05613P019
+05613P020,05613P020
+05613P021,05613P021
+05613P022,05613P022
+05613P023,05613P023
+05613P024,05613P024
+05613P025,05613P025
+05613P026,05613P026
+05613P027,05613P027
+05613P028,05613P028
+05613P029,05613P029
+05613P030,05613P030
+05613P031,05613P031
+05613P032,05613P032
+05613P033,05613P033
+05613P034,05613P034
+05613P035,05613P035
+05613P036,05613P036
+05613P037,05613P037
+05613P038,05613P038
+05613P039,05613P039
+05613P040,05613P040
+05613P041,05613P041
+05613P042,05613P042
+05613P043,05613P043
+056140808,056140808
+056140809,056140809
+056140810,056140810
+056140811,056140811
+056140812,056140812
+056145087,056145087
+056145088,056145088
+056146887,056146887
+056146888,056146888
+056146889,056146889
+056146890,056146890
+056146891,056146891
+056146892,056146892
+056146893,056146893
+056146894,056146894
+056146895,056146895
+056146896,056146896
+056146897,056146897
+056146898,056146898
+056146899,056146899
+056146900,056146900
+056146901,056146901
+056146902,056146902
+056146903,056146903
+056146904,056146904
+056146905,056146905
+056146906,056146906
+056146907,056146907
+056146908,056146908
+056146909,056146909
+056146910,056146910
+056146911,056146911
+056146912,056146912
+056146913,056146913
+056146914,056146914
+056146915,056146915
+056146916,056146916
+056146917,056146917
+056146918,056146918
+056146919,056146919
+056146920,056146920
+056146921,056146921
+056146922,056146922
+056146923,056146923
+056146924,056146924
+056146925,056146925
+056146926,056146926
+056146927,056146927
+056146928,056146928
+056146929,056146929
+056146930,056146930
+056146931,056146931
+056146932,056146932
+056146933,056146933
+056146934,056146934
+056146935,056146935
+056146936,056146936
+056146937,056146937
+056146938,056146938
+056146939,056146939
+056146940,056146940
+056146941,056146941
+056146942,056146942
+056146943,056146943
+056146944,056146944
+056146945,056146945
+056146946,056146946
+056146947,056146947
+056146948,056146948
+056146949,056146949
+056146950,056146950
+056146951,056146951
+056146952,056146952
+056146953,056146953
+056146954,056146954
+056146955,056146955
+056146956,056146956
+056146957,056146957
+056146958,056146958
+056146959,056146959
+056146960,056146960
+056146961,056146961
+056146962,056146962
+05614G001,05614G001
+05614G002,05614G002
+05614G003,05614G003
+05614G004,05614G004
+05614G005,05614G005
+05614G006,05614G006
+05614G007,05614G007
+05614G008,05614G008
+05614G009,05614G009
+05614G010,05614G010
+05614G011,05614G011
+05614G012,05614G012
+05614G013,05614G013
+05614G014,05614G014
+05614G015,05614G015
+05614G016,05614G016
+05614G017,05614G017
+05614G018,05614G018
+05614G019,05614G019
+05614G020,05614G020
+05614G021,05614G021
+05614G022,05614G022
+05614G023,05614G023
+05614G024,05614G024
+05614G025,05614G025
+05614G026,05614G026
+05614G027,05614G027
+05614G028,05614G028
+05614G029,05614G029
+05614G030,05614G030
+05614G031,05614G031
+05614G032,05614G032
+05614G033,05614G033
+05614G034,05614G034
+05614G035,05614G035
+05614G036,05614G036
+05614G037,05614G037
+05614G038,05614G038
+05614G039,05614G039
+05614G040,05614G040
+05614G041,05614G041
+05614G042,05614G042
+05614G407,05614G407
+05614G408,05614G408
+05614G409,05614G409
+056180813,056180813
+056180814,056180814
+057010001,057010001
+057010051,057010051
+057010052,057010052
+057010053,057010053
+057010054,057010054
+057010055,046010027
+057010056,057010056
+057010057,057010057
+057010058,057010058
+057010059,057010059
+057010060,057010060
+057010061,057010061
+057010062,057010062
+057010063,046010019
+057010064,057010064
+057010065,046010048
+057010066,057010066
+057010067,046010039
+057010068,057010068
+057010069,046010058
+057010070,057010070
+057010071,057010071
+057010072,057010072
+057010073,057010073
+057010074,057010074
+057014001,057014001
+057014002,057014002
+057014003,057014003
+057014004,057014004
+057014005,057014005
+057014006,057014006
+057014007,057014007
+057014008,057014008
+057014114,057014114
+057014115,057014115
+057014116,057014116
+057014117,057014117
+057014118,057014118
+057014119,057014119
+057015018,057015018
+057015019,057015019
+057020002,057020002
+057020003,057020003
+057020004,057020004
+057020005,057020005
+057020006,057020006
+057020007,057020007
+057020008,057020008
+057020075,057020075
+057020076,046020089
+057020077,057020077
+057020078,057020078
+057020079,057020079
+057020080,057020080
+057020081,046020108
+057020082,057020082
+057020083,057020083
+057020084,057020084
+057020085,046020112
+057020086,057020086
+057020087,057020087
+057024009,057024009
+057024010,057024010
+057024011,057024011
+057024012,057024012
+057024013,057024013
+057024014,057024014
+057024015,057024015
+057024016,057024016
+057024017,057024017
+057024018,057024018
+057024019,057024019
+057024020,057024020
+057024021,057024021
+057024022,057024022
+057024120,057024120
+057024121,057024121
+057024122,057024122
+057024123,057024123
+057024124,057024124
+057024125,057024125
+057024126,057024126
+057024127,057024127
+057024128,057024128
+057024129,057024129
+057024130,057024130
+057024131,057024131
+057024132,057024132
+057024133,057024133
+057024134,057024134
+057024135,057024135
+057024136,057024136
+057024137,057024137
+057024138,057024138
+057024139,057024139
+057024140,057024140
+057024141,057024141
+057025001,057025001
+057025002,057025002
+057025003,057025003
+057025004,057025004
+057025005,057025005
+057025006,057025006
+057025007,057025007
+057025008,057025008
+057025009,057025009
+057025010,057025010
+057025011,057025011
+057025020,057025020
+057025021,057025021
+057025022,057025022
+057025023,057025023
+057025024,057025024
+057025025,057025025
+057025026,057025026
+057025027,057025027
+057025028,057025028
+057025029,057025029
+057025030,057025030
+057025031,057025031
+057025032,057025032
+057025033,057025033
+057025034,057025034
+057025035,057025035
+057025036,057025036
+057025037,057025037
+057025038,057025038
+057025039,057025039
+057025040,057025040
+057025041,057025041
+057025042,057025042
+057026001,057026001
+057026002,057026002
+057028003,057028003
+057029001,057029001
+057029002,057029002
+057030009,057030009
+057030010,057030010
+057030011,057030011
+057030012,057030012
+057030013,057030013
+057030088,057030088
+057030089,046030180
+057030090,057030090
+057030091,046036110
+057030092,057030092
+057030093,057030093
+057030094,057030094
+057030095,046030188
+057030096,057030096
+057030097,046030197
+057030098,057030098
+057030099,046030132
+057030100,046030155
+057030101,057030101
+057030102,057030102
+057030103,046030174
+057030104,057030104
+057030105,057030105
+057030106,046030163
+057030107,046036101
+057030108,057030108
+057030109,046030202
+057030110,057030110
+057030111,057030111
+057030112,057030112
+057034023,057034023
+057034024,057034024
+057034025,057034025
+057034026,057034026
+057034027,057034027
+057034028,057034028
+057034029,057034029
+057034030,057034030
+057034142,057034142
+057034143,057034143
+057034144,057034144
+057034145,057034145
+057034146,057034146
+057034147,057034147
+057034148,057034148
+057034149,057034149
+057034150,057034150
+057034151,057034151
+057035043,057035043
+057035044,057035044
+057035045,057035045
+057035046,057035046
+057040014,057040014
+057040015,057040015
+057040016,057040016
+057040017,057040017
+057040018,057040018
+057040019,057040019
+057040113,046046152
+057040114,057040114
+057040115,046046168
+057040116,057040116
+057040117,046040216
+057040118,046046142
+057040119,057040119
+057040120,057040120
+057040121,057040121
+057040122,057040122
+057040123,057040123
+057040124,046040213
+057040125,057040125
+057040126,057040126
+057040127,057040127
+057040128,057040128
+057040129,057040129
+057040130,046040212
+057040131,046046172
+057040132,057040132
+057040133,046046153
+057040134,057040134
+057040135,057040135
+057040136,057040136
+057040137,046040221
+057040138,057040138
+057040139,046040226
+057040140,057040140
+057040141,057040141
+057040142,046046135
+057040143,057040143
+057040144,057040144
+057040145,046046154
+057040146,057040146
+057040147,057040147
+057040148,046040260
+057040149,057040149
+057040150,057040150
+057040151,046046203
+057040152,057040152
+057040153,057040153
+057040154,057040154
+057040155,057040155
+057040156,046040233
+057040157,046040248
+057040158,057040158
+057040159,057040159
+057040160,057040160
+057040161,057040161
+057040162,046040263
+057040163,057040163
+057040164,046040240
+057040165,057040165
+057040166,057040166
+057040167,046046211
+057040168,046046187
+057040169,057040169
+057040170,057040170
+057040171,046040256
+057040172,046040234
+057040173,057040173
+057040174,046040261
+057040175,057040175
+057040176,057040176
+057040177,046046214
+057040178,046040230
+057040179,046046202
+057040180,046046222
+057044031,057044031
+057044032,057044032
+057044033,057044033
+057044034,057044034
+057044035,057044035
+057044036,057044036
+057044037,057044037
+057044152,057044152
+057044153,057044153
+057044154,057044154
+057044155,057044155
+057044156,057044156
+057044157,057044157
+057044158,057044158
+057045047,057045047
+057046003,057046003
+057050020,057050020
+057050021,057050021
+057050022,057050022
+057050023,057050023
+057050024,057050024
+057050025,057050025
+057050181,057050181
+057050182,046056229
+057050183,046050266
+057050184,057050184
+057050185,046050276
+057050186,046050305
+057050187,046050283
+057050188,057050188
+057050189,057050189
+057050190,057050190
+057050191,057050191
+057050192,057050192
+057050193,046050312
+057050194,057050194
+057050195,057050195
+057050196,057050196
+057050197,057050197
+057050198,057050198
+057050199,057050199
+057050200,057050200
+057050201,057050201
+057050202,057050202
+057050203,046056332
+057050204,057050204
+057050205,057050205
+057050206,057050206
+057050207,057050207
+057054038,057054038
+057054039,057054039
+057054040,057054040
+057054041,057054041
+057054042,057054042
+057054043,057054043
+057054044,057054044
+057054045,057054045
+057054046,057054046
+057054112,057054112
+057054159,057054159
+057054160,057054160
+057054161,057054161
+057054162,057054162
+057054163,057054163
+057054164,057054164
+057054165,057054165
+057054166,057054166
+057054167,057054167
+057054168,057054168
+057054169,057054169
+057054170,057054170
+057055048,057055048
+057055049,057055049
+057055050,057055050
+057055051,057055051
+057055052,057055052
+057055053,057055053
+057055054,057055054
+057056004,057056004
+057056005,057056005
+057058002,057058002
+057060208,057060208
+057060209,057060209
+057060210,046060377
+057060211,057060211
+057060212,057060212
+057060213,057060213
+057060214,057060214
+057060215,057060215
+057060216,057060216
+057064047,057064047
+057064048,057064048
+057064049,057064049
+057064171,057064171
+057064172,057064172
+057064173,057064173
+057070026,057070026
+057070217,057070217
+057070218,057070218
+057070219,046070399
+057070220,057070220
+057070221,057070221
+057070222,057070222
+057070223,057070223
+057070224,057070224
+057070225,046070414
+057070226,057070226
+057070227,046070403
+057070228,057070228
+057070229,057070229
+057070230,057070230
+057070231,057070231
+057070232,057070232
+057070233,057070233
+057070234,057070234
+057070235,057070235
+057070236,057070236
+057070237,057070237
+057074050,057074050
+057074051,057074051
+057074052,057074052
+057074053,057074053
+057074054,057074054
+057074174,057074174
+057074175,057074175
+057074176,057074176
+057074177,057074177
+057074178,057074178
+057074179,057074179
+057074180,057074180
+057074181,057074181
+057074182,057074182
+057075013,057075013
+057076006,057076006
+057076007,057076007
+057080238,057080238
+057080239,057080239
+057080240,057080240
+057080241,057080241
+057080242,057080242
+057080243,057080243
+057080244,057080244
+057080245,057080245
+057080246,057080246
+057080247,057080247
+057080248,057080248
+057080249,057080249
+057080250,046080470
+057080251,057080251
+057080252,057080252
+057080253,057080253
+057080254,057080254
+057084055,057084055
+057084056,057084056
+057084057,057084057
+057084058,057084058
+057084059,057084059
+057084060,057084060
+057084061,057084061
+057084062,057084062
+057084063,057084063
+057084064,057084064
+057084065,057084065
+057084066,057084066
+057084067,057084067
+057084068,057084068
+057084069,057084069
+057084070,057084070
+057084183,057084183
+057084184,057084184
+057084185,057084185
+057084186,057084186
+057084187,057084187
+057084188,057084188
+057084189,057084189
+057084190,057084190
+057084191,057084191
+057084192,057084192
+057084193,057084193
+057085055,057085055
+057085056,057085056
+057085057,057085057
+057086008,057086008
+057090027,057090027
+057090028,057090028
+057090029,057090029
+057090030,057090030
+057090031,057090031
+057090032,057090032
+057090033,057090033
+057090034,057090034
+057090035,057090035
+057090036,057090036
+057090037,057090037
+057090038,057090038
+057090255,057090255
+057090256,057090256
+057090257,057090257
+057090258,057090258
+057090259,057090259
+057090260,046090535
+057090261,046090539
+057090262,046090540
+057090263,057090263
+057090264,046096613
+057090265,057090265
+057090266,057090266
+057090267,057090267
+057090268,057090268
+057090269,057090269
+057090270,057090270
+057090271,046090559
+057090272,057090272
+057090273,057090273
+057090274,057090274
+057090275,057090275
+057090276,057090276
+057090277,046096557
+057090278,057090278
+057090279,057090279
+057090280,057090280
+057090281,057090281
+057090282,046090546
+057090283,057090283
+057090284,057090284
+057090285,057090285
+057090286,057090286
+057090287,057090287
+057090288,057090288
+057094071,057094071
+057094072,057094072
+057094073,057094073
+057094074,057094074
+057094075,057094075
+057094076,057094076
+057094077,057094077
+057094078,057094078
+057094079,057094079
+057094080,057094080
+057094082,057094082
+057094083,057094083
+057094084,057094084
+057094085,057094085
+057094086,057094086
+057094113,057094113
+057094194,057094194
+057094195,057094195
+057094196,057094196
+057094197,057094197
+057094198,057094198
+057094199,057094199
+057094200,057094200
+057094201,057094201
+057094202,057094202
+057094203,057094203
+057094204,057094204
+057094205,057094205
+057094206,057094206
+057095014,057095014
+057095015,057095015
+057095058,057095058
+057095059,057095059
+057095060,057095060
+057095061,057095061
+057095062,057095062
+057095063,057095063
+057095064,057095064
+057095065,057095065
+057096009,057096009
+057100039,057100039
+057100040,057100040
+057100041,057100041
+057100042,057100042
+057100043,057100043
+057100289,057100289
+057100290,057100290
+057100291,057100291
+057100292,046106628
+057100293,046100625
+057100294,057100294
+057100295,057100295
+057100296,046100647
+057100297,057100297
+057100298,057100298
+057100299,046106643
+057100300,057100300
+057100301,057100301
+057100302,057100302
+057100303,057100303
+057100304,046100597
+057100305,057100305
+057100306,057100306
+057100307,057100307
+057104087,057104087
+057104088,057104088
+057104089,057104089
+057104090,057104090
+057104091,057104091
+057104092,057104092
+057104093,057104093
+057104094,057104094
+057104095,057104095
+057104096,057104096
+057104207,057104207
+057104208,057104208
+057104209,057104209
+057104210,057104210
+057104211,057104211
+057104212,046104102
+057105016,057105016
+057105066,057105066
+057105067,057105067
+057105068,057105068
+057110044,057110044
+057110045,057110045
+057110046,057110046
+057110308,057110308
+057110309,057110309
+057110310,057110310
+057110311,057110311
+057110312,057110312
+057110313,057110313
+057110314,057110314
+057110315,057110315
+057110316,046110706
+057110317,057110317
+057110318,057110318
+057110319,057110319
+057110320,057110320
+057110321,057110321
+057110322,057110322
+057110323,057110323
+057110324,057110324
+057110325,057110325
+057110326,057110326
+057110327,057110327
+057110328,057110328
+057110329,057110329
+057110330,057110330
+057110331,046116711
+057110332,057110332
+057110333,046116743
+057110334,057110334
+057110335,057110335
+057110336,057110336
+057114097,057114097
+057114098,057114098
+057114099,057114099
+057114100,057114100
+057114101,057114101
+057114213,057114213
+057114214,057114214
+057114215,057114215
+057114216,057114216
+057114217,057114217
+057114218,057114218
+057114219,057114219
+057114220,057114220
+057114221,057114221
+057114222,057114222
+057114223,057114223
+057114224,057114224
+057114225,057114225
+057114226,057114226
+057114227,057114227
+057114228,057114228
+057114229,057114229
+057114230,057114230
+057115017,057115017
+057115069,057115069
+057115070,057115070
+057115071,057115071
+057115072,057115072
+057115073,057115073
+057115074,057115074
+057119003,057119003
+057120047,057120047
+057120048,057120048
+057120049,057120049
+057120337,057120337
+057120338,057120338
+057120339,057120339
+057120340,057120340
+057120341,057120341
+057124102,057124102
+057124103,057124103
+057124104,057124104
+057124105,057124105
+057124106,057124106
+057124107,057124107
+057124108,057124108
+057124231,057124231
+057124232,057124232
+057124233,057124233
+057124234,057124234
+057125075,057125075
+057126010,057126010
+057130050,057130050
+057134109,057134109
+057134110,057134110
+057134111,057134111
+057134235,057134235
+057135076,057135076
+057138001,057138001
+2020100504,2020100504
+060001,060001
+060002,060002
+060004,060004
+060005,060005
+060006,060006
+060007,060007
+060008,060008
+060009,060009
+060010,060010
+060011,060011
+060012,060012
+060013,060013
+060014,060014
+060015,060015
+060016,060016
+060017,060017
+060018,060018
+060019,060019
+060020,060020
+060022,060022
+060023,060023
+060024,060024
+060025,060025
+060026,060026
+060027,060027
+060029,060029
+060030,060030
+060031,060031
+060032,060032
+060033,060033
+060034,060034
+060035,060035
+060037,060037
+060038,060038
+060039,060039
+060040,060040
+060041,060041
+060042,060042
+060043,060043
+060044,060044
+060045,060045
+060046,060046
+060047,060047
+060048,060048
+060049,060049
+060050,060050
+060051,060051
+060052,060052
+060053,060053
+060054,060054
+060055,060055
+060056,060056
+060057,060057
+060058,060058
+060059,060059
+060060,060060
+060061,060061
+060062,060062
+060063,060063
+060064,060064
+060065,060065
+060066,060066
+060067,060067
+060068,060068
+060069,060069
+060070,060070
+060071,060071
+060072,060072
+060073,060073
+060074,060074
+060075,060075
+060076,060076
+060077,060077
+060078,060078
+060079,060079
+060080,060080
+060081,060081
+060082,060082
+060083,060083
+060084,060084
+060085,060085
+060086,060086
+060087,060087
+060088,060088
+060089,060089
+060090,060090
+060091,060091
+060092,060092
+060093,060093
+060094,060094
+060095,060095
+060096,060096
+060097,060097
+060098,060098
+060099,060099
+06010,06010
+060100,060100
+060101,060101
+060102,060102
+060103,060103
+060104,060104
+060105,060105
+060106,060106
+060107,060107
+060108,060108
+060109,060109
+060110,060110
+060111,060111
+060112,060112
+060113,060113
+060114,060114
+060115,060115
+060116,060116
+060118,060118
+060119,060119
+060120,060120
+060121,060121
+060122,060122
+060123,060123
+060124,060124
+060125,060125
+060126,060126
+060127,060127
+060128,060128
+060129,060129
+060130,060130
+060131,060131
+060132,060132
+060133,060133
+060134,060134
+060135,060135
+060136,060136
+060137,060137
+060138,060138
+060139,060139
+060140,060140
+060141,060141
+060142,060142
+060143,060143
+060144,060144
+060145,060145
+060146,060146
+060147,060147
+060148,060148
+060149,060149
+060150,060150
+060151,060151
+060152,060152
+060153,060153
+060154,060154
+060155,060155
+060156,060156
+060157,060157
+060158,060158
+060159,060159
+060160,060160
+060161,060161
+060162,060162
+060163,060163
+060164,060164
+060165,060165
+060166,060166
+060167,060167
+060168,060168
+060169,060169
+060170,060170
+060171,060171
+060172,060172
+060173,060173
+060174,060174
+060175,060175
+060176,060176
+060177,060177
+060178,060178
+060179,060179
+060180,060180
+060181,060181
+060182,060182
+060183,060183
+060184,060184
+060185,060185
+060186,060186
+060187,060187
+060188,060188
+060189,060189
+060190,060190
+060191,060191
+060192,060192
+060193,060193
+060194,060194
+060195,060195
+060196,060196
+060197,060197
+060198,060198
+060199,060199
+06020,06020
+060200,060200
+060201,060201
+060202,060202
+060203,060203
+060204,060204
+060205,060205
+060206,060206
+060207,060207
+060208,060208
+060209,060209
+060210,060210
+060211,060211
+060212,060212
+060213,060213
+060214,060214
+060215,060215
+060216,060216
+060217,060217
+060218,060218
+060219,060219
+060220,060220
+060221,060221
+060222,060222
+060223,060223
+060224,060224
+060225,060225
+060226,060226
+060227,060227
+060228,060228
+060229,060229
+060230,060230
+060231,060231
+060232,060232
+060233,060233
+060234,060234
+060235,060235
+060236,060236
+060237,060237
+060239,060239
+060240,060240
+060241,060241
+060242,060242
+060243,060243
+060244,060244
+060245,060245
+060246,060246
+060247,060247
+060248,060248
+060249,060249
+060250,060250
+060251,060251
+060252,060252
+060253,060253
+060254,060254
+060255,060255
+060256,060256
+060257,060257
+060258,060258
+060259,060259
+060261,060261
+060262,060262
+060263,060263
+060264,060264
+060265,060265
+060266,060266
+060267,060267
+060268,060268
+060269,060269
+060270,060270
+060271,060271
+060272,060272
+060273,060273
+060274,060274
+060275,060275
+060276,060276
+060277,060277
+060278,060278
+060280,060280
+060281,060281
+060282,060282
+060283,060283
+060284,060284
+060285,060285
+060286,060286
+060287,060287
+060288,060288
+060289,060289
+060290,060290
+060291,060291
+060292,060292
+060293,060293
+060294,060294
+060295,060295
+060296,060296
+060297,060297
+060298,060298
+060299,060299
+06030,06030
+060300,060300
+060301,060301
+060302,060302
+060303,060303
+060304,060304
+060305,060305
+060306,060306
+060307,060307
+060308,060308
+060309,060309
+060310,060310
+060311,060311
+060312,060312
+060313,060313
+060314,060314
+060315,060315
+060316,060316
+060317,060317
+060318,060318
+060320,060320
+060321,060321
+060322,060322
+060323,060323
+060324,060324
+060325,060325
+060326,060326
+060327,060327
+060328,060328
+060329,060329
+060330,060330
+060331,060331
+060332,060332
+060333,060333
+060334,060334
+060335,060335
+060336,060336
+060337,060337
+060338,060338
+060339,060339
+060340,060340
+060341,060341
+060342,060342
+060343,060343
+060344,060344
+060345,060345
+060346,060346
+060347,060347
+060348,060348
+060349,060349
+060350,060350
+060351,060351
+060352,060352
+060353,060353
+060354,060354
+060355,060355
+060356,060356
+060357,060357
+060358,060358
+060359,060359
+060360,060360
+060361,060361
+060362,060362
+060363,060363
+060364,060364
+060365,060365
+060366,060366
+060367,060367
+060368,060368
+060370,060370
+060371,060371
+060372,060372
+060373,060373
+060374,060374
+060375,060375
+060376,060376
+060378,060378
+060379,060379
+060380,060380
+060381,060381
+060382,060382
+060383,060383
+060384,060384
+060385,060385
+060386,060386
+060387,060387
+060388,060388
+060389,060389
+060390,060390
+060391,060391
+060392,060392
+060393,060393
+060394,060394
+060395,060395
+060396,060396
+060397,060397
+060398,060398
+060399,060399
+06040,06040
+060400,060400
+060401,060401
+060402,060402
+060403,060403
+060404,060404
+060405,060405
+060406,060406
+060407,060407
+060408,060408
+060409,060409
+060410,060410
+060411,060411
+060412,060412
+060413,060413
+060414,060414
+060415,060415
+060416,060416
+060417,060417
+060418,060418
+060419,060419
+060420,060420
+060421,060421
+060422,060422
+060423,060423
+060425,060425
+060426,060426
+060427,060427
+060428,060428
+060429,060429
+060430,060430
+060431,060431
+060432,060432
+060433,060433
+060435,060435
+060436,060436
+060437,060437
+060438,060438
+060439,060439
+060440,060440
+060441,060441
+060442,060442
+060443,060443
+060444,060444
+060445,060445
+060446,060446
+060447,060447
+060448,060448
+060449,060449
+060450,060450
+060451,060451
+060452,060452
+060453,060453
+060454,060454
+060455,060455
+060457,060457
+060458,060458
+060459,060459
+060460,060460
+060461,060461
+060462,060462
+060463,060463
+060464,060464
+060465,060465
+060466,060466
+060467,060467
+060468,060468
+060469,060469
+060470,060470
+060471,060471
+060472,060472
+060473,060473
+060474,060474
+060475,060475
+060476,060476
+060477,060477
+060478,060478
+060479,060479
+060480,060480
+060481,060481
+060482,060482
+060483,060483
+060484,060484
+060485,060485
+060486,060486
+060487,060487
+060488,060488
+060489,2019010248
+060490,060490
+060491,060491
+060492,060492
+060493,060493
+060495,060495
+060496,060496
+060497,060497
+060499,060499
+06050,06050
+060500,060500
+060501,060501
+060502,060502
+060503,060503
+060504,060504
+060505,060505
+060506,060506
+060507,060507
+060508,060508
+060509,060509
+060510,060510
+060511,060511
+060512,060512
+060513,060513
+060514,060514
+060515,060515
+060516,060516
+060518,060518
+060519,060519
+060520,060520
+060521,060521
+060522,060522
+060523,060523
+060524,060524
+060525,060525
+060526,060526
+060527,060527
+060528,060528
+060529,060529
+060530,060530
+060531,060531
+060532,060532
+060533,060533
+060534,060534
+060535,060535
+060536,060536
+060537,060537
+060538,060538
+060539,060539
+060540,060540
+060541,060541
+060542,060542
+060543,060543
+060544,060544
+060545,060545
+060546,060546
+060547,060547
+060548,060548
+060549,060549
+060550,060550
+060551,060551
+060552,060552
+060553,060553
+060554,060554
+060555,060555
+060556,060556
+060557,060557
+060558,060558
+060559,060559
+060560,060560
+060561,060561
+060562,060562
+060563,060563
+060564,060564
+060565,060565
+060566,060566
+060567,060567
+060568,060568
+060569,060569
+060570,060570
+060571,060571
+060572,060572
+060573,060573
+060574,060574
+060575,060575
+060576,060576
+060577,060577
+060578,060578
+060579,060579
+060580,060580
+060581,060581
+060582,060582
+060583,060583
+060584,060584
+060585,060585
+060586,060586
+060587,060587
+060588,060588
+060589,060589
+060590,060590
+060591,060591
+060592,060592
+060593,060593
+060594,060594
+060595,060595
+060596,060596
+060597,060597
+060598,060598
+060599,060599
+06060,06060
+060600,060600
+060601,060601
+060602,060602
+060603,060603
+060604,060604
+060605,060605
+060606,060606
+060607,060607
+060608,060608
+060609,060609
+060610,060610
+060611,060611
+060612,060612
+060613,060613
+060614,060614
+060615,060615
+060616,060616
+060617,060617
+060618,060618
+060619,060619
+060620,060620
+060621,060621
+060622,060622
+060623,060623
+060624,060624
+060625,060625
+060627,060627
+060628,060628
+060629,060629
+060630,060630
+060631,060631
+060632,060632
+060633,060633
+060634,060634
+060635,060635
+060636,060636
+060637,060637
+060638,060638
+060639,060639
+060640,060640
+060641,060641
+060642,060642
+060643,060643
+060644,060644
+060645,060645
+060646,060646
+060647,060647
+060648,060648
+060649,060649
+060650,060650
+060651,060651
+060652,060652
+060653,060653
+060654,060654
+060655,060655
+060656,060656
+060657,060657
+060658,060658
+060659,060659
+060660,060660
+060661,060661
+060662,060662
+060663,060663
+060664,060664
+060665,060665
+060666,060666
+060667,060667
+060668,060668
+060669,060669
+060670,060670
+060671,060671
+060672,060672
+060673,060673
+060674,060674
+060675,060675
+060676,060676
+060677,060677
+060678,060678
+060679,060679
+060680,060680
+060681,060681
+060682,060682
+060683,060683
+060684,060684
+060685,060685
+060686,060686
+060687,060687
+060688,060688
+060689,060689
+060690,060690
+060691,060691
+060692,060692
+060693,060693
+060694,060694
+060695,060695
+060696,060696
+060697,060697
+060698,060698
+060699,060699
+06070,06070
+060700,060700
+060701,060701
+060702,060702
+060703,060703
+060704,060704
+060705,060705
+060706,060706
+060707,060707
+060708,060708
+060709,060709
+060710,060710
+060711,060711
+060712,060712
+060713,060713
+060714,060714
+060715,060715
+060716,060716
+060717,060717
+060718,060718
+060719,060719
+060720,060720
+060721,060721
+060722,060722
+060723,060723
+060724,060724
+060725,060725
+060726,060726
+060727,060727
+060728,060728
+060729,060729
+060730,060730
+060731,060731
+060732,060732
+060733,060733
+060734,060734
+060735,060735
+060736,060736
+060737,060737
+060738,060738
+060739,060739
+060740,060740
+060741,060741
+060742,060742
+060743,060743
+060744,060744
+060745,060745
+060746,060746
+060747,060747
+060748,060748
+060749,060749
+060750,060750
+060751,060751
+060752,060752
+060753,060753
+060754,060754
+060755,060755
+060756,060756
+060757,060757
+060758,060758
+060759,060759
+060760,060760
+060761,060761
+060762,060762
+060763,060763
+060764,060764
+060765,060765
+060766,060766
+060767,060767
+060768,060768
+060769,060769
+060770,060770
+060771,060771
+060772,060772
+060773,060773
+060774,060774
+060775,060775
+060776,060776
+060777,060777
+060778,060778
+060779,060779
+060780,060780
+060781,060781
+060782,060782
+060783,060783
+060784,060784
+060785,060785
+060786,060786
+060788,060788
+060789,060789
+060790,060790
+060791,060791
+060792,060792
+060793,060793
+060794,060794
+060795,060795
+060796,060796
+060797,060797
+060798,060798
+060799,060799
+06080,06080
+060800,060800
+060801,060801
+060802,060802
+060803,060803
+060804,060804
+060805,060805
+060806,060806
+060807,060807
+060808,060808
+060809,060809
+060810,060810
+060811,060811
+060812,060812
+060813,060813
+060815,060815
+060816,060816
+060817,060817
+060818,060818
+060819,060819
+060820,060820
+060821,060821
+060822,060822
+060823,060823
+060825,060825
+060826,060826
+060827,060827
+060828,060828
+060829,060829
+060830,060830
+060831,060831
+060832,060832
+060833,060833
+060834,060834
+060835,060835
+060836,060836
+060837,060837
+060838,060838
+060839,060839
+060840,060840
+060841,060841
+060842,060842
+060843,060843
+060844,060844
+060845,060845
+060846,060846
+060847,060847
+060848,060848
+060849,060849
+060850,060850
+060851,060851
+060852,060852
+060853,060853
+060854,060854
+060855,060855
+060856,060856
+060857,060857
+060858,060858
+060859,060859
+060860,060860
+060861,060861
+060862,060862
+060863,060863
+060864,060864
+060865,060865
+060866,060866
+060867,060867
+060868,060868
+060869,060869
+060870,060870
+060871,060871
+060872,060872
+060873,060873
+060874,060874
+060875,060875
+060876,060876
+060877,060877
+060878,060878
+060879,060879
+060880,060880
+060881,060881
+060882,060882
+060883,060883
+060884,060884
+060885,060885
+060886,060886
+060887,060887
+060888,060888
+060889,060889
+060891,060891
+060892,060892
+060893,060893
+060894,060894
+060895,060895
+060896,060896
+060897,060897
+060898,060898
+060899,060899
+06090,06090
+060900,060900
+060901,060901
+060902,060902
+060903,060903
+060904,060904
+060905,060905
+060906,060906
+060907,060907
+060908,060908
+060909,060909
+060910,060910
+060911,060911
+060912,060912
+060913,060913
+060914,060914
+060915,060915
+060916,060916
+060917,060917
+060918,060918
+060919,060919
+060920,060920
+060921,060921
+060922,060922
+060923,060923
+060924,060924
+060925,060925
+060926,060926
+060927,060927
+060928,060928
+060929,060929
+060930,060930
+060931,060931
+060932,060932
+060933,060933
+060934,060934
+060935,060935
+060936,060936
+060937,060937
+060938,060938
+060939,060939
+060940,060940
+060941,060941
+060942,060942
+060943,060943
+060944,060944
+060945,060945
+060946,060946
+060947,060947
+060948,060948
+060949,060949
+060950,060950
+060951,060951
+060952,060952
+060953,060953
+060954,060954
+060955,060955
+060956,060956
+060957,060957
+060958,060958
+060959,060959
+060960,060960
+060961,060961
+060962,060962
+060963,060963
+060964,060964
+060965,060965
+060966,060966
+060967,060967
+060968,060968
+060969,060969
+060970,060970
+060971,060971
+060972,060972
+060973,060973
+060974,060974
+060975,060975
+060976,060976
+060977,060977
+060978,060978
+060979,060979
+060980,060980
+060981,060981
+060982,060982
+060983,060983
+060984,060984
+060985,060985
+060986,060986
+060987,060987
+060988,060988
+060989,060989
+060990,060990
+060991,060991
+060992,060992
+060993,060993
+060994,060994
+060995,060995
+060996,060996
+060997,060997
+060998,060998
+060999,060999
+06100,06100
+061000,061000
+061001,061001
+061002,061002
+061003,061003
+061004,061004
+061005,061005
+061006,061006
+061007,061007
+061008,061008
+061009,061009
+061010,061010
+061011,061011
+061012,061012
+061013,061013
+061014,061014
+061015,061015
+061016,061016
+061017,061017
+061018,061018
+061019,061019
+061020,061020
+061021,061021
+061022,061022
+061023,061023
+061024,061024
+061025,061025
+061026,061026
+061027,061027
+061028,061028
+061029,061029
+061030,061030
+061031,061031
+061032,061032
+061033,061033
+061034,061034
+061035,061035
+061036,061036
+061037,061037
+061038,061038
+061039,061039
+061040,061040
+061041,061041
+061042,061042
+061043,061043
+061044,061044
+061045,061045
+061046,061046
+061047,061047
+061048,061048
+061049,061049
+061050,061050
+061051,061051
+061052,061052
+061053,061053
+061054,061054
+061055,061055
+061056,061056
+061057,061057
+061058,061058
+061059,061059
+061060,061060
+061061,061061
+061062,061062
+061063,061063
+061064,061064
+061065,061065
+061066,061066
+061067,061067
+061068,061068
+061069,061069
+061070,061070
+061071,061071
+061072,061072
+061073,061073
+061074,061074
+061075,061075
+061076,061076
+061077,061077
+061078,061078
+061079,061079
+061080,061080
+061081,061081
+061082,061082
+061083,061083
+061084,061084
+061085,061085
+061086,061086
+061087,061087
+061089,061089
+061090,061090
+061091,061091
+061092,061092
+061093,061093
+061094,061094
+061095,061095
+061096,061096
+061097,061097
+061098,061098
+061099,061099
+06110,06110
+061101,061101
+061102,061102
+061103,061103
+061104,061104
+061105,061105
+061106,061106
+061107,061107
+061108,061108
+061110,061110
+061111,061111
+061112,061112
+061113,061113
+061114,061114
+061115,061115
+061116,061116
+061117,061117
+061118,061118
+061119,061119
+061120,061120
+061121,061121
+061122,061122
+061123,061123
+061124,061124
+061125,061125
+061126,061126
+061127,061127
+061128,061128
+061129,061129
+061130,061130
+061131,061131
+061132,061132
+061133,061133
+061134,061134
+061135,061135
+061136,061136
+061137,061137
+061138,061138
+061139,061139
+061140,061140
+061141,061141
+061142,061142
+061143,061143
+061144,061144
+061145,061145
+061146,061146
+061147,061147
+061148,061148
+061149,061149
+061150,061150
+061151,061151
+061152,061152
+061153,061153
+061154,061154
+061155,061155
+061156,061156
+061157,061157
+061158,061158
+061159,061159
+061160,061160
+061161,061161
+061162,061162
+061163,061163
+061164,061164
+061165,061165
+061166,061166
+061167,061167
+061168,061168
+061169,061169
+061170,061170
+061171,061171
+061172,061172
+061173,061173
+061174,061174
+061175,061175
+061176,061176
+061177,061177
+061178,061178
+061179,061179
+061180,061180
+061181,061181
+061182,061182
+061183,061183
+061184,061184
+061185,061185
+061186,061186
+061187,061187
+061188,061188
+061189,061189
+061190,061190
+061191,061191
+061192,061192
+061193,061193
+061194,061194
+061195,061195
+061196,061196
+061197,061197
+061198,061198
+061199,061199
+06120,06120
+061200,061200
+061201,061201
+061202,061202
+061203,061203
+061204,061204
+061205,061205
+061206,061206
+061207,061207
+061208,061208
+061209,061209
+061210,061210
+061211,061211
+061212,061212
+061213,061213
+061214,061214
+061215,061215
+061216,061216
+061217,061217
+061218,061218
+061219,061219
+061220,061220
+061221,061221
+061222,061222
+061223,061223
+061224,061224
+061225,061225
+061226,061226
+061227,061227
+061228,061228
+061229,061229
+061230,061230
+061231,061231
+061232,061232
+061233,061233
+061234,061234
+061235,061235
+061236,061236
+061237,061237
+061238,061238
+061239,061239
+061240,061240
+061241,061241
+061242,061242
+061243,061243
+061244,061244
+061245,061245
+061246,061246
+061247,061247
+061248,061248
+061250,061250
+061251,061251
+061252,061252
+061253,061253
+061254,061254
+061255,061255
+061256,061256
+061257,061257
+061258,061258
+061259,061259
+061260,061260
+061261,061261
+061262,061262
+061263,061263
+061264,061264
+061265,061265
+061266,061266
+061267,061267
+061268,061268
+061269,061269
+061270,061270
+061271,061271
+061272,061272
+061273,061273
+061274,061274
+061275,061275
+061276,061276
+061277,061277
+061278,061278
+061279,061279
+061280,061280
+061281,061281
+061282,061282
+061283,061283
+061284,061284
+061285,061285
+061286,061286
+061287,061287
+061288,061288
+061289,061289
+061291,061291
+061292,061292
+061293,061293
+061294,061294
+061295,061295
+061296,061296
+061297,061297
+061298,061298
+061299,061299
+06130,06130
+061300,061300
+061301,061301
+061302,061302
+061303,061303
+061304,061304
+061305,061305
+061306,061306
+061307,061307
+061308,061308
+061309,061309
+061310,061310
+061311,061311
+061312,061312
+061313,061313
+061314,061314
+061315,061315
+061316,061316
+061317,061317
+061318,061318
+061319,061319
+061320,061320
+061321,061321
+061322,061322
+061323,061323
+061324,061324
+061325,061325
+061326,061326
+061327,061327
+061328,061328
+061329,061329
+061330,061330
+061331,061331
+061332,061332
+061333,061333
+061334,061334
+061335,061335
+061336,061336
+061337,061337
+061338,061338
+061339,061339
+061340,061340
+061341,061341
+061342,061342
+061343,061343
+061344,061344
+061345,061345
+061346,061346
+061347,061347
+061348,061348
+061349,061349
+061350,061350
+061351,061351
+061352,061352
+061353,061353
+061354,061354
+061355,061355
+061356,061356
+061357,061357
+061358,061358
+061359,061359
+061360,061360
+061361,061361
+061362,061362
+061363,061363
+061364,061364
+061365,061365
+061366,061366
+061367,061367
+061368,061368
+061369,061369
+061370,061370
+061371,061371
+061372,061372
+061373,061373
+061374,061374
+061375,061375
+061376,061376
+061377,061377
+061378,061378
+061379,061379
+061380,061380
+061381,061381
+061382,061382
+061383,061383
+061384,061384
+061385,061385
+061386,061386
+061387,061387
+061388,061388
+061389,061389
+061390,061390
+061391,061391
+061392,061392
+061393,061393
+061394,061394
+061395,061395
+061396,061396
+061397,061397
+061398,061398
+061399,061399
+06140,06140
+061400,061400
+061401,061401
+061402,061402
+061403,061403
+061404,061404
+061405,061405
+061406,061406
+061407,061407
+061408,061408
+061409,061409
+061410,061410
+061411,061411
+061412,061412
+061413,061413
+061414,061414
+061415,061415
+061416,061416
+061417,061417
+061418,061418
+061419,061419
+061420,061420
+061421,061421
+061422,061422
+061423,061423
+061424,061424
+061425,061425
+061426,061426
+061427,061427
+061428,061428
+061429,061429
+061430,061430
+061431,061431
+061432,061432
+061433,061433
+061434,061434
+061435,061435
+061436,061436
+061437,061437
+061438,061438
+061439,061439
+061440,061440
+061441,061441
+061442,061442
+061443,061443
+061444,061444
+061445,061445
+061446,061446
+061447,061447
+061448,061448
+061449,061449
+061450,061450
+061451,061451
+061452,061452
+061453,061453
+061454,061454
+061455,061455
+061456,061456
+061457,061457
+061458,061458
+061459,061459
+061460,061460
+061461,061461
+061462,061462
+061463,061463
+061464,061464
+061465,061465
+061466,061466
+061467,061467
+061468,061468
+061469,061469
+061470,061470
+061471,061471
+061472,061472
+061473,061473
+061474,061474
+061475,061475
+061476,061476
+061477,061477
+061478,061478
+061479,061479
+061480,061480
+061481,061481
+061482,061482
+061483,061483
+061484,061484
+061485,061485
+061486,061486
+061487,061487
+061488,061488
+061489,061489
+061490,061490
+061491,061491
+061492,061492
+061493,061493
+061494,061494
+061495,061495
+061496,061496
+061497,061497
+061498,061498
+061499,061499
+061500,061500
+061501,061501
+061502,061502
+061503,061503
+061504,061504
+061505,061505
+061506,061506
+061507,061507
+061508,061508
+061509,061509
+061510,061510
+061511,061511
+061512,061512
+061513,061513
+061514,061514
+061515,061515
+061516,061516
+061517,061517
+061518,061518
+061519,061519
+061521,061521
+061522,061522
+061523,061523
+061524,061524
+061525,061525
+061526,061526
+061527,061527
+061528,061528
+061529,061529
+061530,061530
+061531,061531
+061532,061532
+061533,061533
+061534,061534
+061535,061535
+061536,061536
+061537,061537
+061538,061538
+061539,061539
+061540,061540
+061541,061541
+061542,061542
+061543,061543
+061544,061544
+061545,061545
+061546,061546
+061547,061547
+061548,061548
+061549,061549
+061550,061550
+061551,061551
+061552,061552
+061553,061553
+061554,061554
+061555,061555
+061556,061556
+061557,061557
+061558,061558
+061559,061559
+061560,061560
+061561,061561
+061562,061562
+061563,061563
+061564,061564
+061565,061565
+061566,061566
+061567,061567
+061568,061568
+061569,061569
+061570,061570
+061571,061571
+061572,061572
+061573,061573
+061574,061574
+061575,061575
+061576,061576
+061577,061577
+061578,061578
+061579,061579
+061580,061580
+061581,061581
+061582,061582
+061583,061583
+061584,061584
+061585,061585
+061586,061586
+061587,061587
+061589,061589
+061590,061590
+061591,061591
+061592,061592
+061593,061593
+061594,061594
+061595,061595
+061596,061596
+061597,061597
+061598,061598
+061599,061599
+06160,06160
+061600,061600
+061601,061601
+061602,061602
+061603,061603
+061604,061604
+061605,061605
+061606,061606
+061607,061607
+061608,061608
+061609,061609
+061610,061610
+061611,061611
+061612,061612
+061613,061613
+061614,061614
+061615,061615
+061616,061616
+061617,061617
+061618,061618
+061619,061619
+061620,061620
+061621,061621
+061622,061622
+061623,061623
+061624,061624
+061625,061625
+061626,061626
+061627,061627
+061628,061628
+061629,061629
+061630,061630
+061631,061631
+061632,061632
+061633,061633
+061634,061634
+061635,061635
+061636,061636
+061637,061637
+061638,061638
+061639,061639
+061640,061640
+061641,061641
+061642,061642
+061643,061643
+061644,061644
+061645,061645
+061646,061646
+061647,061647
+061648,061648
+061649,061649
+061650,061650
+061651,061651
+061652,061652
+061653,061653
+061654,061654
+061655,061655
+061656,061656
+061657,061657
+061658,061658
+061659,061659
+061660,061660
+061661,061661
+061662,061662
+061663,061663
+061664,061664
+061665,061665
+061666,061666
+061667,061667
+061668,061668
+061669,061669
+061670,061670
+061671,061671
+061672,061672
+061673,061673
+061674,061674
+061675,061675
+061676,061676
+061677,061677
+061678,061678
+061679,061679
+061680,061680
+061681,061681
+061682,061682
+061683,061683
+061684,061684
+061685,061685
+061686,061686
+061687,061687
+061688,061688
+061689,061689
+061690,061690
+061691,061691
+061692,061692
+061693,061693
+061694,061694
+061695,061695
+061696,061696
+061697,061697
+061698,061698
+061699,061699
+06170,06170
+061700,061700
+061701,061701
+061702,061702
+061703,061703
+061704,061704
+061705,061705
+061706,061706
+061707,061707
+061708,061708
+061709,061709
+061710,061710
+061711,061711
+061712,061712
+061713,061713
+061714,061714
+061715,061715
+061716,061716
+061717,061717
+061719,061719
+061720,061720
+061721,061721
+061722,061722
+061723,061723
+061724,061724
+061725,061725
+061726,061726
+061727,061727
+061728,061728
+061729,061729
+061730,061730
+061731,061731
+061732,061732
+061733,061733
+061734,061734
+061735,061735
+061736,061736
+061737,061737
+061738,061738
+061739,061739
+061740,061740
+061741,061741
+061742,061742
+061743,061743
+061744,061744
+061745,061745
+061746,061746
+061747,061747
+061748,061748
+061749,061749
+061750,061750
+061752,061752
+061753,061753
+061754,061754
+061755,061755
+061756,061756
+061757,061757
+061758,061758
+061759,061759
+061760,061760
+061761,061761
+061762,061762
+061763,061763
+061764,061764
+061765,061765
+061766,061766
+061767,061767
+061768,061768
+061769,061769
+061770,061770
+061771,061771
+061772,061772
+061773,061773
+061774,061774
+061775,061775
+061776,061776
+061777,061777
+061778,061778
+061779,061779
+061780,061780
+061781,061781
+061782,061782
+061783,061783
+061784,061784
+061785,061785
+061786,061786
+061787,061787
+061788,061788
+061789,061789
+061790,061790
+061791,061791
+061792,061792
+061793,061793
+061794,061794
+061795,061795
+061796,061796
+061797,061797
+061798,061798
+061799,061799
+06180,06180
+061800,061800
+061801,061801
+061802,061802
+061803,061803
+061804,061804
+061805,061805
+061806,061806
+061807,061807
+061808,061808
+061809,061809
+061810,061810
+061811,061811
+061812,061812
+061813,061813
+061814,061814
+061816,061816
+061817,061817
+061818,061818
+061819,061819
+061820,061820
+061821,061821
+061823,061823
+061824,061824
+061825,061825
+061826,061826
+061827,061827
+061828,061828
+061829,061829
+061830,061830
+061831,061831
+061832,061832
+061833,061833
+061834,061834
+061835,061835
+061836,061836
+061837,061837
+061838,061838
+061839,061839
+061840,061840
+061841,061841
+061842,061842
+061843,061843
+061844,061844
+061845,061845
+061846,061846
+061847,061847
+061848,061848
+061850,061850
+061851,061851
+061852,061852
+061853,061853
+061854,061854
+061855,061855
+061856,061856
+061857,061857
+061858,061858
+061859,061859
+061860,061860
+061861,061861
+061862,061862
+061863,061863
+061864,061864
+061865,061865
+061866,061866
+061867,061867
+061868,061868
+061869,061869
+061870,061870
+061871,061871
+061872,061872
+061873,061873
+061874,061874
+061875,061875
+061876,061876
+061877,061877
+061878,061878
+061879,061879
+061880,061880
+061881,061881
+061882,061882
+061883,061883
+061884,061884
+061885,061885
+061886,061886
+061887,061887
+061888,061888
+061889,061889
+061890,061890
+061891,061891
+061892,061892
+061893,061893
+061894,061894
+061895,061895
+061896,061896
+061897,061897
+061898,061898
+061899,061899
+061900,061900
+061901,061901
+061902,061902
+061903,061903
+061904,061904
+061905,061905
+061906,061906
+061907,061907
+061908,061908
+061909,061909
+061910,061910
+061911,061911
+061912,061912
+061913,061913
+061914,061914
+061915,061915
+061916,061916
+061917,061917
+061918,061918
+061919,061919
+061920,061920
+061921,061921
+061922,061922
+061923,061923
+061924,061924
+061925,061925
+061926,061926
+061927,061927
+061928,061928
+061929,061929
+061930,061930
+061931,061931
+061932,061932
+061933,061933
+061934,061934
+061935,061935
+061936,061936
+061937,061937
+061938,061938
+061939,061939
+061940,061940
+061941,061941
+061942,061942
+061943,061943
+061944,061944
+061945,061945
+061946,061946
+061947,061947
+061948,061948
+061949,061949
+061950,061950
+061951,061951
+061952,061952
+061953,061953
+061954,061954
+061955,061955
+061956,061956
+061957,061957
+061958,061958
+061959,061959
+061960,061960
+061961,061961
+061962,061962
+061963,061963
+061964,061964
+061965,061965
+061966,061966
+061967,061967
+061968,061968
+061969,061969
+061970,061970
+061971,061971
+061972,061972
+061973,061973
+061974,061974
+061975,061975
+061976,061976
+061977,061977
+061978,061978
+061979,061979
+061980,061980
+061981,061981
+061982,061982
+061983,061983
+061984,061984
+061985,061985
+061986,061986
+061987,061987
+061988,061988
+061989,061989
+061990,061990
+061991,061991
+061992,061992
+061993,061993
+061994,061994
+061995,061995
+061996,061996
+061997,061997
+061998,061998
+061999,061999
+2020100152,2020100152
+062000,062000
+062001,062001
+062002,062002
+062003,062003
+062004,062004
+062005,062005
+062006,062006
+062007,062007
+062008,062008
+062009,062009
+062010,062010
+062011,062011
+062012,062012
+062013,062013
+062014,062014
+062015,062015
+062016,062016
+062017,062017
+062018,062018
+062019,062019
+062020,062020
+062021,062021
+062022,062022
+062023,062023
+062024,062024
+062025,062025
+062026,062026
+062027,062027
+062028,062028
+062029,062029
+062030,062030
+062031,062031
+062032,062032
+062033,062033
+062034,062034
+062035,062035
+062036,062036
+062037,062037
+062038,062038
+062039,062039
+062040,062040
+062041,062041
+062042,062042
+062043,062043
+062044,062044
+062045,062045
+062046,062046
+062047,062047
+062048,062048
+062049,062049
+062050,062050
+062051,062051
+062052,062052
+062053,062053
+062054,062054
+062055,062055
+062056,062056
+062057,062057
+062058,062058
+062059,062059
+062060,062060
+062061,062061
+062062,062062
+062063,062063
+062064,062064
+062065,062065
+062066,062066
+062067,062067
+062068,062068
+062069,062069
+062070,062070
+062071,062071
+062072,062072
+062073,062073
+062074,062074
+062075,062075
+062076,062076
+062077,062077
+062078,062078
+062079,062079
+062080,062080
+062081,062081
+062082,062082
+062083,062083
+062084,062084
+062085,062085
+062086,062086
+062087,062087
+062088,062088
+062089,062089
+062090,062090
+062091,062091
+062092,062092
+062093,062093
+062094,062094
+062095,062095
+062096,062096
+062097,062097
+062098,062098
+062099,062099
+062100,062100
+062101,062101
+062102,062102
+062103,062103
+062104,062104
+062105,062105
+062106,062106
+062107,062107
+062108,062108
+062109,062109
+062110,062110
+062111,062111
+062112,062112
+062113,062113
+062114,062114
+062115,062115
+062116,062116
+062117,062117
+062118,062118
+062119,062119
+062120,062120
+062121,062121
+062122,062122
+062123,062123
+062124,062124
+062125,062125
+062126,062126
+062127,062127
+062128,062128
+062129,062129
+062130,062130
+062131,062131
+062132,062132
+062134,062134
+062135,062135
+062136,062136
+062137,062137
+062138,062138
+062139,062139
+062140,062140
+062141,062141
+062142,062142
+062143,062143
+062144,062144
+062145,062145
+062146,062146
+062147,062147
+062148,062148
+062149,062149
+062150,062150
+062151,062151
+062152,062152
+062153,062153
+062154,062154
+062155,062155
+062156,062156
+062157,062157
+062158,062158
+062159,062159
+062160,062160
+062161,062161
+062162,062162
+062163,062163
+062164,062164
+062165,062165
+062166,062166
+062167,062167
+062168,062168
+062169,062169
+062170,062170
+062171,062171
+062172,062172
+062173,062173
+062174,062174
+062175,062175
+062176,062176
+062177,062177
+062178,062178
+062179,062179
+062180,062180
+062181,062181
+062182,062182
+062183,062183
+062184,062184
+062185,062185
+062186,062186
+062187,062187
+062188,062188
+062189,062189
+062190,062190
+062191,062191
+062192,062192
+062193,062193
+062194,062194
+062195,062195
+062196,062196
+062197,062197
+062198,062198
+062199,062199
+062200,062200
+062201,062201
+062202,062202
+062203,062203
+062204,062204
+062205,062205
+062206,062206
+062207,062207
+062208,062208
+062209,062209
+062210,062210
+062211,062211
+062212,062212
+062213,062213
+062214,062214
+062215,062215
+062216,062216
+062217,062217
+062218,062218
+062219,062219
+062220,062220
+062221,062221
+062222,062222
+062223,062223
+062224,062224
+062225,062225
+062226,062226
+062227,062227
+062228,062228
+062229,062229
+062230,062230
+062231,062231
+062232,062232
+062233,062233
+062234,062234
+062235,062235
+062236,062236
+062237,062237
+062238,062238
+062239,062239
+062240,062240
+062241,062241
+062242,062242
+062243,062243
+062244,062244
+062245,062245
+062246,062246
+062247,062247
+062248,062248
+062249,062249
+062250,062250
+062251,062251
+062252,062252
+062253,062253
+062254,062254
+062255,062255
+062256,062256
+062257,062257
+062258,062258
+062259,062259
+062260,062260
+062261,062261
+062262,062262
+062263,062263
+062264,062264
+062265,062265
+062266,062266
+062267,062267
+062268,062268
+062269,062269
+062270,062270
+062271,062271
+062272,062272
+062273,062273
+062274,062274
+062275,062275
+062276,062276
+062277,062277
+062278,062278
+062279,062279
+062280,062280
+062281,062281
+062282,062282
+062283,062283
+062284,062284
+062285,062285
+062286,062286
+062287,062287
+062288,062288
+062289,062289
+062290,062290
+062291,062291
+062292,062292
+062293,062293
+062294,062294
+062295,062295
+062296,062296
+062297,062297
+062298,062298
+062299,062299
+062300,062300
+062301,062301
+062302,062302
+062303,062303
+062304,062304
+062305,062305
+062306,062306
+062307,062307
+062308,062308
+062309,062309
+062310,062310
+062311,062311
+062312,062312
+062313,062313
+062314,062314
+062315,062315
+062316,062316
+062317,062317
+062318,062318
+062319,062319
+062320,062320
+062321,062321
+062322,062322
+062323,062323
+062324,062324
+062325,062325
+062326,062326
+062327,062327
+062328,062328
+062329,062329
+062330,062330
+062331,062331
+062332,062332
+062333,062333
+062334,062334
+062335,062335
+062336,062336
+062337,062337
+062338,062338
+062339,062339
+062340,062340
+062341,062341
+062342,062342
+062343,062343
+062344,062344
+062345,062345
+062346,062346
+062347,062347
+062348,062348
+062349,062349
+062350,062350
+062351,062351
+062352,062352
+062353,062353
+062354,062354
+062355,062355
+062356,062356
+062357,062357
+062358,062358
+062359,062359
+062360,062360
+062361,062361
+062362,062362
+062363,062363
+062364,062364
+062365,062365
+062366,062366
+062367,062367
+062368,062368
+062369,062369
+062370,062370
+062371,062371
+062372,062372
+062373,062373
+062374,062374
+062375,062375
+062376,062376
+062377,062377
+062378,062378
+062379,062379
+062380,062380
+062381,062381
+062383,062383
+062384,062384
+062385,062385
+062386,062386
+062387,062387
+062388,062388
+062389,062389
+062390,062390
+062391,062391
+062392,062392
+062393,062393
+062394,062394
+062395,062395
+062396,062396
+062397,062397
+062398,062398
+062399,062399
+062400,062400
+062401,062401
+062402,062402
+062404,062404
+062405,062405
+062406,062406
+062407,062407
+062408,062408
+062409,062409
+062410,062410
+062411,062411
+062412,062412
+062413,062413
+062414,062414
+062415,062415
+062416,062416
+062417,062417
+062418,062418
+062419,062419
+062420,062420
+062421,062421
+062422,062422
+062423,062423
+062424,062424
+062425,062425
+062426,062426
+062427,062427
+062428,062428
+062429,062429
+062430,062430
+062431,062431
+062432,062432
+062433,062433
+062434,062434
+062435,062435
+062436,062436
+062437,062437
+062438,062438
+062439,062439
+062440,062440
+062441,062441
+062442,062442
+062443,062443
+062444,062444
+062445,062445
+062446,062446
+062447,062447
+062448,062448
+062449,062449
+062450,062450
+062451,062451
+062452,062452
+062453,062453
+062454,062454
+062455,062455
+062456,062456
+062458,062458
+062459,062459
+062460,062460
+062462,062462
+062463,062463
+062464,062464
+062465,062465
+062466,062466
+062467,062467
+062468,062468
+062470,062470
+062471,062471
+062472,062472
+062473,062473
+062474,062474
+062475,062475
+062476,062476
+062477,062477
+062478,062478
+062479,062479
+062480,062480
+062481,062481
+062482,062482
+062483,062483
+062484,062484
+062485,062485
+062486,062486
+062487,062487
+062488,062488
+062489,062489
+062490,062490
+062491,062491
+062492,062492
+062493,062493
+062494,062494
+062495,062495
+062496,062496
+062497,062497
+062498,062498
+062499,062499
+062500,062500
+062501,062501
+062502,062502
+062503,062503
+062504,062504
+062505,062505
+062506,062506
+062507,062507
+062508,062508
+062509,062509
+062510,062510
+062511,062511
+062512,062512
+062513,062513
+062514,062514
+062515,062515
+062516,062516
+062517,062517
+062518,062518
+062519,062519
+062520,062520
+062521,062521
+062522,062522
+062523,062523
+062524,062524
+062525,062525
+062526,062526
+062527,062527
+062528,062528
+062529,062529
+062530,062530
+062531,062531
+062532,062532
+062533,062533
+062534,062534
+062535,062535
+062536,062536
+062537,062537
+062538,062538
+062539,062539
+062540,062540
+062541,062541
+062542,062542
+062543,062543
+062544,062544
+062545,062545
+062546,062546
+062547,062547
+062548,062548
+062549,062549
+062550,062550
+062551,062551
+062552,062552
+062553,062553
+062554,062554
+062555,062555
+062556,062556
+062557,062557
+062558,062558
+062559,062559
+062560,062560
+062561,062561
+062562,062562
+062563,062563
+062564,062564
+062565,062565
+062566,062566
+062567,062567
+062568,062568
+062569,062569
+062570,062570
+062571,062571
+062572,062572
+062573,062573
+062574,062574
+062575,062575
+062576,062576
+062577,062577
+062578,062578
+062579,062579
+062580,062580
+062581,062581
+062582,062582
+062583,062583
+062584,062584
+062585,062585
+062586,062586
+062587,062587
+062588,062588
+062589,062589
+062590,062590
+062591,062591
+062592,062592
+062593,062593
+062594,062594
+062595,062595
+062596,062596
+062597,062597
+062598,062598
+062599,062599
+062600,062600
+062601,062601
+062602,062602
+062603,062603
+062604,062604
+062605,062605
+062606,062606
+062607,062607
+062608,062608
+062609,062609
+062610,062610
+062611,062611
+062612,062612
+062613,062613
+062614,062614
+062615,062615
+062616,062616
+062617,062617
+062618,062618
+062619,062619
+062620,062620
+062621,062621
+062622,062622
+062623,062623
+062624,062624
+062625,062625
+062626,062626
+062628,062628
+062629,062629
+062630,062630
+062631,062631
+062632,062632
+062633,062633
+062635,062635
+062636,062636
+062637,062637
+062638,062638
+062639,062639
+062640,062640
+062641,062641
+062642,062642
+062643,062643
+062644,062644
+062645,062645
+062646,062646
+062647,062647
+062648,062648
+062649,062649
+062650,062650
+062651,062651
+062652,062652
+062653,062653
+062654,062654
+062655,062655
+062656,062656
+062657,062657
+062658,062658
+062659,062659
+062660,062660
+062661,062661
+062662,062662
+062663,062663
+062664,062664
+062665,062665
+062666,062666
+062667,062667
+062668,062668
+062669,062669
+062670,062670
+062671,062671
+062672,062672
+062673,062673
+062674,062674
+062675,062675
+062676,062676
+062677,062677
+062678,062678
+062679,062679
+062680,062680
+062681,062681
+062682,062682
+062683,062683
+062684,062684
+062685,062685
+062686,062686
+062687,062687
+062688,062688
+062689,062689
+062690,062690
+062691,062691
+062692,062692
+062693,062693
+062694,062694
+062695,062695
+062696,062696
+062697,062697
+062698,062698
+062699,062699
+062701,062701
+062702,062702
+062703,062703
+062704,062704
+062705,062705
+062706,062706
+062707,062707
+062708,062708
+062709,062709
+062710,062710
+062711,062711
+062712,062712
+062713,062713
+062714,062714
+062715,062715
+062716,062716
+062717,062717
+062718,062718
+062719,062719
+062720,062720
+062721,062721
+062722,062722
+062723,062723
+062724,062724
+062725,062725
+062726,062726
+062727,062727
+062728,062728
+062729,062729
+062730,062730
+062731,062731
+062732,062732
+062733,062733
+062734,062734
+062735,062735
+062736,062736
+062737,062737
+062738,062738
+062739,062739
+062740,062740
+062741,062741
+062742,062742
+062743,062743
+062744,062744
+062745,062745
+062746,062746
+062747,062747
+062748,062748
+062749,062749
+062750,062750
+062751,062751
+062752,062752
+062753,062753
+062754,062754
+062755,062755
+062756,062756
+062757,062757
+062758,062758
+062759,062759
+062760,062760
+062761,062761
+062762,062762
+062763,062763
+062764,062764
+062765,062765
+062766,062766
+062767,062767
+062768,062768
+062769,062769
+062770,062770
+062771,062771
+062772,062772
+062773,062773
+062774,062774
+062775,062775
+062776,062776
+062777,062777
+062778,062778
+062779,062779
+062780,062780
+062781,062781
+062782,062782
+062783,062783
+062784,062784
+062785,062785
+062786,062786
+062787,062787
+062788,062788
+062789,062789
+062790,062790
+062791,062791
+062792,062792
+062793,062793
+062794,062794
+062795,062795
+062796,062796
+062797,062797
+062798,062798
+062799,062799
+062800,062800
+062801,062801
+062802,062802
+062803,062803
+062804,062804
+062805,062805
+062806,062806
+062807,062807
+062808,062808
+062809,062809
+062810,062810
+062811,062811
+062812,062812
+062813,062813
+062814,062814
+062815,062815
+062816,062816
+062817,062817
+062818,062818
+062819,062819
+062820,062820
+062821,062821
+062822,062822
+062823,062823
+062824,062824
+062825,062825
+062826,062826
+062827,062827
+062828,062828
+062829,062829
+062830,062830
+062831,062831
+062832,062832
+062833,062833
+062834,062834
+062835,062835
+062836,062836
+062837,062837
+062838,062838
+062840,062840
+062841,062841
+062842,062842
+062843,062843
+062844,062844
+062845,062845
+062846,062846
+062847,062847
+062848,062848
+062849,062849
+062850,062850
+062851,062851
+062852,062852
+062853,062853
+062854,062854
+062855,062855
+062856,062856
+062857,062857
+062858,062858
+062859,062859
+062860,062860
+062861,062861
+062862,062862
+062863,062863
+062864,062864
+062865,062865
+062866,062866
+062867,062867
+062868,062868
+062869,062869
+062870,062870
+062871,062871
+062872,062872
+062873,062873
+062874,062874
+062875,062875
+062876,062876
+062877,062877
+062878,062878
+062879,062879
+062880,062880
+062881,062881
+062882,062882
+062883,062883
+062884,062884
+062885,062885
+062886,062886
+062887,062887
+062888,062888
+062889,062889
+062890,062890
+062891,062891
+062892,062892
+062893,062893
+062894,062894
+062895,062895
+062896,062896
+062897,062897
+062898,062898
+062899,062899
+062900,062900
+062901,062901
+062902,062902
+062903,062903
+062904 ,062904
+062905,062905
+062906,062906
+062907,062907
+062908,062908
+062909,062909
+062910,062910
+062911,062911
+062912,062912
+062913,062913
+062914,062914
+062915,062915
+062916,062916
+062917,062917
+062918,062918
+062919,062919
+062920,062920
+062921,062921
+062922,062922
+062923,062923
+062924,062924
+062925,062925
+062926,062926
+062927,062927
+062928,062928
+062929,062929
+062930,062930
+062931,062931
+062932,062932
+062933,062933
+062934,062934
+062935,062935
+062936,062936
+062937,062937
+062938,062938
+062939,062939
+062940,062940
+062941,062941
+062942,062942
+062943,062943
+062944,062944
+062945,062945
+062946,062946
+062947,062947
+062948,062948
+062949,062949
+062950,062950
+062951,062951
+062952,062952
+062953,062953
+062954,062954
+062955,062955
+062956,062956
+062957,062957
+062958,062958
+062959,062959
+062960,062960
+062961,062961
+062962,062962
+062963,062963
+062964,062964
+062965,062965
+062966,062966
+062967,062967
+062968,062968
+062969,062969
+062970,062970
+062971,062971
+062972,062972
+062973,062973
+062974,062974
+062975,062975
+062976,062976
+062977,062977
+062978,062978
+062979,062979
+062980,062980
+062981,062981
+062982,062982
+062983,062983
+062984,062984
+062985,062985
+062986,062986
+062987,062987
+062988,062988
+062989,062989
+062990,062990
+062991,062991
+062992,062992
+062993,062993
+062994,062994
+062995,062995
+062996,062996
+062997,062997
+062998,062998
+062999,062999
+063000,063000
+063001,063001
+063002,063002
+063003,063003
+063004,063004
+063005,063005
+063006,063006
+063007,063007
+063008,063008
+063009,063009
+063010,063010
+063011,063011
+063012,063012
+063013,063013
+063014,063014
+063015,063015
+063016,063016
+063017,063017
+063018,063018
+063019,063019
+063020,063020
+063021,063021
+063022,063022
+063023,063023
+063024,063024
+063025,063025
+063026,063026
+063027,063027
+063028,063028
+063029,063029
+063030,063030
+063031,063031
+063032,063032
+063033,063033
+063034,063034
+063035,063035
+063036,063036
+063037,063037
+063038,063038
+063039,063039
+063040,063040
+063041,063041
+063042,063042
+063043,063043
+063044,063044
+063045,063045
+063046,063046
+063047,063047
+063048,063048
+063049,063049
+063050,063050
+063051,063051
+063052,063052
+063053,063053
+063054,063054
+063055,063055
+063056,063056
+063057,063057
+063058,063058
+063059,063059
+063060,063060
+063061,063061
+063062,063062
+063063,063063
+063065,063065
+063066,063066
+063067,063067
+063068,063068
+063069,063069
+063070,063070
+063071,063071
+063072,063072
+063073,063073
+063074,063074
+063075,063075
+063076,063076
+063077,063077
+063078,063078
+063079,063079
+063080,063080
+063081,063081
+063082,063082
+063083 ,063083
+063084,063084
+063085,063085
+063086,063086
+063087,063087
+063088,063088
+063089,063089
+063090,063090
+063091,063091
+063092,063092
+063093,063093
+063094,063094
+063095,063095
+063096,063096
+063097,063097
+063098,063098
+063099,063099
+063100,063100
+063101,063101
+063102,063102
+063103,063103
+063104,063104
+063105,063105
+063106,063106
+063107,063107
+063108,063108
+063109,063109
+063110,063110
+063111,063111
+063112,063112
+063113,063113
+063114,063114
+063115,063115
+063116,063116
+063117,063117
+063118,063118
+063119,063119
+063120,063120
+063121,063121
+063122,063122
+063123,063123
+063124,063124
+063125,063125
+063126,063126
+063127,063127
+063128,063128
+063129,063129
+063130,063130
+063131,063131
+063132,063132
+063133,063133
+063134,063134
+063135,063135
+063136,063136
+063138,063138
+063139,063139
+063140,063140
+063141,063141
+063142,063142
+063143,063143
+063144,063144
+063145,063145
+063146,063146
+063147,063147
+063148,063148
+063149,063149
+063150,063150
+063151,063151
+063152,063152
+063153,063153
+063154,063154
+063155,063155
+063156,063156
+063157,063157
+063158,063158
+063159,063159
+063160,063160
+063161,063161
+063162,063162
+063163,063163
+063164,063164
+063165,063165
+063166,063166
+063167,063167
+063169,063169
+063170,063170
+063171,063171
+063172,063172
+063173,063173
+063174,063174
+063175,063175
+063176,063176
+063177,063177
+063178,063178
+063179,063179
+063180,063180
+063181,063181
+063182,063182
+063184,063184
+063185,063185
+063186,063186
+063187,063187
+063188,063188
+063189,063189
+063190,063190
+063191,063191
+063192,063192
+063193,063193
+063194,063194
+063195,063195
+063196,063196
+063197,063197
+063198,063198
+063199,063199
+063200,063200
+063201,063201
+063202,063202
+063203,063203
+063204,063204
+063205,063205
+063206,063206
+063207,063207
+063208,063208
+063209,063209
+063210,063210
+063211,063211
+063212,063212
+063213,063213
+063214,063214
+063215,063215
+063216,063216
+063217,063217
+063218,063218
+063219,063219
+063220,063220
+063221,063221
+063222,063222
+063223,063223
+063224,063224
+063225,063225
+063226,063226
+063227,063227
+063228,063228
+063229,063229
+063230,063230
+063231,063231
+063232,063232
+063233,063233
+063234,063234
+063235,063235
+063236,063236
+063237,063237
+063238,063238
+063239,063239
+063240,063240
+063241,063241
+063242,063242
+063243,063243
+063244,063244
+063245,063245
+063246,063246
+063247,063247
+063248,063248
+063249,063249
+063250,063250
+063251,063251
+063252,063252
+063253,063253
+063254,063254
+063255,063255
+063256,063256
+063257,063257
+063258,063258
+063259,063259
+063260,063260
+063261,063261
+063262,063262
+063263,063263
+063264,063264
+063265,063265
+063266,063266
+063267,063267
+063268,063268
+063269,063269
+063270,063270
+063271,063271
+063272,063272
+063273,063273
+063274,063274
+063275,063275
+063276,063276
+063277,063277
+063278,063278
+063279,063279
+063280,063280
+063281,063281
+063282,063282
+063283,063283
+063284,063284
+063285,063285
+063286,063286
+063287,063287
+063288,063288
+063289,063289
+063290,063290
+063291,063291
+063292,063292
+063293,063293
+063294,063294
+063295,063295
+063296,063296
+063297,063297
+063298,063298
+063299,063299
+063300,063300
+063301,063301
+063302,063302
+063303,063303
+063304,063304
+063305,063305
+063306,063306
+063307,063307
+063308,063308
+063309,063309
+063310,063310
+063311,063311
+063312,063312
+063313,063313
+063314,063314
+063315,063315
+063316,063316
+063317,063317
+063318,063318
+063319,063319
+063320,063320
+063321,063321
+063322,063322
+063323,063323
+063324,063324
+063325,063325
+063326,063326
+063327,063327
+063328,063328
+063329,063329
+063330,063330
+063331,063331
+063332,063332
+063333,063333
+063334,063334
+063335,063335
+063336,063336
+063337,063337
+063338,063338
+063339,063339
+063340,063340
+063341,063341
+063342,063342
+063343,063343
+063344,063344
+063345,063345
+063346,063346
+063347,063347
+063348,063348
+063349,063349
+063350,063350
+063351,063351
+063352,063352
+063353,063353
+063354,063354
+063355,063355
+063356,063356
+063357,063357
+063358,063358
+063359,063359
+063360,063360
+063361,063361
+063362,063362
+063363,063363
+063364,063364
+063365,063365
+063366,063366
+063367,063367
+063368,063368
+063369,063369
+063370,063370
+063371,063371
+063372,063372
+063373,063373
+063374,063374
+063375,063375
+063376,063376
+063377,063377
+063378,063378
+063379,063379
+063380,063380
+063381,063381
+063382,063382
+063383,063383
+063384,063384
+063385,063385
+063386,063386
+063387,063387
+063388,063388
+063389,063389
+063390,063390
+063391,063391
+063392,063392
+063393,063393
+063394,063394
+063395,063395
+063396,063396
+063397,063397
+063398,063398
+063399,063399
+063400,063400
+063401,063401
+063402,063402
+063403,063403
+063404,063404
+063405,063405
+063406,063406
+063407,063407
+063408,063408
+063409,063409
+063410,063410
+063411,063411
+063412,063412
+063413,063413
+063414,063414
+063415,063415
+063416,063416
+063417,063417
+063418,063418
+063419,063419
+063420,063420
+063421,063421
+063422,063422
+063423,063423
+063424,063424
+063425,063425
+063426,063426
+063427,063427
+063428,063428
+063429,063429
+063430,063430
+063431,063431
+063432,063432
+063433,063433
+063434,063434
+063435,063435
+063436,063436
+063437,063437
+063438,063438
+063439,063439
+063440,063440
+063441,063441
+063442,063442
+063443,063443
+063444,063444
+063445,063445
+063446,063446
+063447,063447
+063448,063448
+063449,063449
+063450,063450
+063451,063451
+063452,063452
+063453,063453
+063454,063454
+063455,063455
+063456,063456
+063457,063457
+063458,063458
+063459,063459
+063460,063460
+063461,063461
+063462,063462
+063463,063463
+063464,063464
+063465,063465
+063466,063466
+063467,063467
+063468,063468
+063469,063469
+063470,063470
+063471,063471
+063472,063472
+063473,063473
+063474,063474
+063475,063475
+063476,063476
+063477,063477
+063478,063478
+063479,063479
+063480,063480
+063481,063481
+063482,063482
+063483,063483
+063484,063484
+063485,063485
+063486,063486
+063487,063487
+063488,063488
+063489,063489
+063490,063490
+063491,063491
+063492,063492
+063493,063493
+063494,063494
+063495,063495
+063496,063496
+063497,063497
+063498,063498
+063499,063499
+063500,063500
+063501 ,063501
+063502,063502
+063503,063503
+063504,063504
+063505,063505
+063506,063506
+063507,063507
+063508,063508
+063509,063509
+063510,063510
+063511,063511
+063512,063512
+063513,063513
+063514,063514
+063515,063515
+063516,063516
+063517,063517
+063518,063518
+063519,063519
+063520,063520
+063521,063521
+063522,063522
+063523,063523
+063524,063524
+063525,063525
+063526,063526
+063527,063527
+063528,063528
+20200P0368,20200P0368
+06391,06391
+06401,06401
+06410,06410
+06420,06420
+06430,06430
+066010001,066010001
+066010002,066010002
+066010003,066010003
+066010004,066010004
+066010005,066010005
+066010006,066010006
+066010007,066010007
+066010008,066010008
+066010009,066010009
+066010010,066010010
+066010011,066010011
+066010012,066010012
+066010013,066010013
+066010014,066010014
+066010015,066010015
+066010016,066010016
+066010017,066010017
+066010018,066010018
+066010019,066010019
+066010020,066010020
+066010021,066010021
+066010022,066010022
+066010023,066010023
+066010024,066010024
+066010025,066010025
+066010026,066010026
+066010027,066010027
+066010028,066010028
+066010029,066010029
+066010030,066010030
+066010031,066010031
+066010032,066010032
+066010033,066010033
+066010034,066010034
+066010035,066010035
+066010036,066010036
+066010037,066010037
+066010038,066010038
+066010039,066010039
+066010040,066010040
+066010041,066010041
+066010042,066010042
+066010043,066010043
+066010044,066010044
+066010045,066010045
+066010046,066010046
+066010047,066010047
+066010048,066010048
+066010049,066010049
+066010050,066010050
+066010051,066010051
+066010052,066010052
+066010053,066010053
+066010054,066010054
+066010055,066010055
+066010056,066010056
+066010057,066010057
+066010058,066010058
+066010059,066010059
+066010060,066010060
+066010061,066010061
+066010062,066010062
+066010063,066010063
+066010064,066010064
+066010065,066010065
+066010066,066010066
+066010067,066010067
+066010068,066010068
+066010069,066010069
+066010070,066010070
+066010071,066010071
+066010072,066010072
+066010073,066010073
+066010074,066010074
+066010075,066010075
+066010076,066010076
+066010077,066010077
+066010078,066010078
+066010079,066010079
+066010080,066010080
+066010081,066010081
+066010082,066010082
+066010083,066010083
+066010084,066010084
+066014001,066014001
+066014002,066014002
+066014003,066014003
+066014004,066014004
+066014005,066014005
+066014006,066014006
+066014007,066014007
+066014008,066014008
+066015001,066015001
+066016001,066016001
+066016002,066016002
+066016003,066016003
+066016004,066016004
+066016005,066016005
+066016006,066016006
+066016007,066016007
+066016008,066016008
+066016009,066016009
+066016010,066016010
+066016011,066016011
+066016012,066016012
+066016013,066016013
+066016014,066016014
+066016015,066016015
+066016016,066016016
+066016017,066016017
+066016018,066016018
+066016019,066016019
+066016020,066016020
+066016021,066016021
+066016022,066016022
+066016023,066016023
+066016024,066016024
+066016025,066016025
+066016026,066016026
+066016027,066016027
+066016028,066016028
+066016029,066016029
+066016030,066016030
+066016031,066016031
+066016032,066016032
+066016033,066016033
+066016034,066016034
+066016035,066016035
+066016036,066016036
+066016037,066016037
+066016038,066016038
+066016039,066016039
+066016040,066016040
+066016041,066016041
+066016042,066016042
+066016043,066016043
+066016044,066016044
+066016045,066016045
+066016046,066016046
+066016047,066016047
+066016048,066016048
+066017053,066017053
+066018040,066018040
+066018041,066018041
+066018042,066018042
+066018110,066018110
+066018111,066018111
+066018112,066018112
+066018113,066018113
+066018114,066018114
+066018115,066018115
+066018116,066018116
+066018117,066018117
+066019001,066019001
+066019002,066019002
+066019003,066019003
+066019004,066019004
+066019005,066019005
+066019006,066019006
+066019007,066019007
+066019008,066019008
+066019009,066019009
+066019010,066019010
+066019011,066019011
+066019012,066019012
+066019013,066019013
+066019014,066019014
+066019015,066019015
+066019016,066019016
+066019017,066019017
+066019018,066019018
+066019019,066019019
+066019020,066019020
+066019021,066019021
+066019022,066019022
+066019023,066019023
+066019024,066019024
+066019025,066019025
+066019026,066019026
+066019027,066019027
+066019028,066019028
+066019029,066019029
+066019030,066019030
+06601G037,06601G037
+06601G038,06601G038
+06601G039,06601G039
+06601G040,06601G040
+06601G041,06601G041
+06601G042,06601G042
+06601G043,06601G043
+06601G044,06601G044
+06601G045,06601G045
+06601G046,06601G046
+06601G047,06601G047
+06601G048,06601G048
+06601G049,06601G049
+06601G050,06601G050
+06601G051,06601G051
+06601G052,06601G052
+06601G053,06601G053
+06601G054,06601G054
+06601G055,06601G055
+06601G056,06601G056
+06601G057,06601G057
+06601G058,06601G058
+06601G059,06601G059
+06601G060,06601G060
+06601G061,06601G061
+06601G062,06601G062
+06601G063,06601G063
+06601G064,06601G064
+06601G065,06601G065
+06601G066,06601G066
+06601G067,06601G067
+06601G068,06601G068
+06601G069,06601G069
+06601G070,06601G070
+06601G071,06601G071
+06601G072,06601G072
+06601G073,06601G073
+06601G074,06601G074
+06601G075,06601G075
+06601G076,06601G076
+06601G077,06601G077
+06601G078,06601G078
+06601G079,06601G079
+06601G080,06601G080
+06601G081,06601G081
+06601G082,06601G082
+06601G083,06601G083
+06601G084,06601G084
+066020085,066020085
+066020086,066020086
+066020087,066020087
+066020088,066020088
+066020089,066020089
+066020090,066020090
+066020091,066020091
+066020092,066020092
+066020093,066020093
+066020094,066020094
+066020095,066020095
+066020096,066020096
+066020097,066020097
+066020098,066020098
+066020099,066020099
+066020100,066020100
+066020101,066020101
+066020102,066020102
+066020103,066020103
+066020104,066020104
+066020105,066020105
+066020106,066020106
+066020107,066020107
+066020108,066020108
+066020109,066020109
+066020110,066020110
+066020111,066020111
+066020112,066020112
+066020113,066020113
+066020114,066020114
+066020115,066020115
+066020116,066020116
+066020117,066020117
+066020118,066020118
+066024009,066024009
+066024010,066024010
+066024011,066024011
+066024012,066024012
+066024013,066024013
+066024014,066024014
+066024015,066024015
+066024016,066024016
+066024017,066024017
+066024018,066024018
+066024019,066024019
+066024020,066024020
+066024021,066024021
+066024022,066024022
+066024023,066024023
+066025002,066025002
+066025003,066025003
+066025004,066025004
+066025005,066025005
+066025006,066025006
+066025007,066025007
+066025008,066025008
+066025009,066025009
+066026049,066026049
+066026050,066026050
+066026051,066026051
+066026052,066026052
+066026053,066026053
+066026054,066026054
+066026055,066026055
+066026056,066026056
+066026057,066026057
+066026058,066026058
+066026059,066026059
+066026060,066026060
+066026061,066026061
+066026062,066026062
+066026063,066026063
+066026064,066026064
+066026065,066026065
+066026066,066026066
+066026067,066026067
+066026068,066026068
+066026069,066026069
+066026070,066026070
+066026071,066026071
+066026072,066026072
+066026073,066026073
+066026074,066026074
+066026075,066026075
+066026076,066026076
+066026077,066026077
+066026078,066026078
+066026079,066026079
+066026080,066026080
+066026081,066026081
+066026082,066026082
+066026083,066026083
+066026084,066026084
+066026085,066026085
+066026086,066026086
+066026087,066026087
+066026088,066026088
+066026089,066026089
+066026090,066026090
+066026091,066026091
+066026092,066026092
+066026093,066026093
+066026094,066026094
+066026095,066026095
+066029031,066029031
+066029032,066029032
+066029033,066029033
+066029034,066029034
+066029035,066029035
+066029036,066029036
+066029037,066029037
+066029038,066029038
+066029039,066029039
+066029040,066029040
+066029041,066029041
+066029042,066029042
+066029043,066029043
+066029044,066029044
+066029045,066029045
+066029046,066029046
+06602G085,06602G085
+06602G086,06602G086
+06602G087,06602G087
+06602G088,06602G088
+06602G089,06602G089
+06602G090,06602G090
+06602G091,06602G091
+06602G092,06602G092
+06602G093,06602G093
+06602G094,06602G094
+06602G095,06602G095
+06602G096,06602G096
+06602G097,06602G097
+06602G098,06602G098
+06602G099,06602G099
+06602G100,06602G100
+06602G101,06602G101
+06602G102,06602G102
+06602G103,06602G103
+06602G104,06602G104
+06602G105,06602G105
+06602G106,06602G106
+06602G107,06602G107
+06602G108,06602G108
+06602G109,06602G109
+06602G110,06602G110
+06602G111,06602G111
+06602G112,06602G112
+06602G113,06602G113
+06602G114,06602G114
+06602G115,06602G115
+06602G116,06602G116
+06602G117,06602G117
+06602G118,06602G118
+06602G119,06602G119
+06602G120,06602G120
+06602G121,06602G121
+06602G122,06602G122
+06602G123,06602G123
+06602G124,06602G124
+06602G125,06602G125
+06602G126,06602G126
+06602G127,06602G127
+06602G128,06602G128
+06602G129,06602G129
+06602G130,06602G130
+06602G131,06602G131
+06602G132,06602G132
+06602G133,06602G133
+06602G134,06602G134
+06602G135,06602G135
+06602G136,06602G136
+06602G137,06602G137
+06602G138,06602G138
+06602G139,06602G139
+066030119,066030119
+066030120,066030120
+066030121,066030121
+066030122,066030122
+066030123,066030123
+066030124,066030124
+066030125,066030125
+066030126,066030126
+066030127,066030127
+066030128,066030128
+066030129,066030129
+066030130,066030130
+066030131,066030131
+066030132,066030132
+066030133,066030133
+066030134,066030134
+066030135,066030135
+066030136,066030136
+066030137,066030137
+066030138,066030138
+066030139,066030139
+066030140,066030140
+066030141,066030141
+066030142,066030142
+066030143,066030143
+066030144,066030144
+066030145,066030145
+066030146,066030146
+066030147,066030147
+066030148,066030148
+066030149,066030149
+066030150,066030150
+066030151,066030151
+066030152,066030152
+066030153,066030153
+066030154,066030154
+066030155,066030155
+066030156,066030156
+066030157,066030157
+066030158,066030158
+066030159,066030159
+066030160,066030160
+066030161,066030161
+066030162,066030162
+066030163,066030163
+066030164,066030164
+066030165,066030165
+066030166,066030166
+066030167,066030167
+066030168,066030168
+066030169,066030169
+066030170,066030170
+066030171,066030171
+066030172,066030172
+066030173,066030173
+066030174,066030174
+066030175,066030175
+066030176,066030176
+066030177,066030177
+066030178,066030178
+066030179,066030179
+066030180,066030180
+066030181,066030181
+066030182,066030182
+066030183,066030183
+066034024,066034024
+066034025,066034025
+066034026,066034026
+066034027,066034027
+066034028,066034028
+066034029,066034029
+066034030,066034030
+066034031,066034031
+066034032,066034032
+066034033,066034033
+066035010,066035010
+066036096,066036096
+066036097,066036097
+066036098,066036098
+066036099,066036099
+066036100,066036100
+066036101,066036101
+066036102,066036102
+066036103,066036103
+066036104,066036104
+066036105,066036105
+066036106,066036106
+066036107,066036107
+066036108,066036108
+066036109,066036109
+066036110,066036110
+066036111,066036111
+066036112,066036112
+066036113,066036113
+066036114,066036114
+066036115,066036115
+066036116,066036116
+066036117,066036117
+066036118,066036118
+066036119,066036119
+066036120,066036120
+066036121,066036121
+066036122,066036122
+066036123,066036123
+066036124,066036124
+066036125,066036125
+066036126,066036126
+066036127,066036127
+066036128,066036128
+066036129,066036129
+066036130,066036130
+066036131,066036131
+066036132,066036132
+066036133,066036133
+066036134,066036134
+066036135,066036135
+066036136,066036136
+066036137,066036137
+066036138,066036138
+066036139,066036139
+066036140,066036140
+066036141,066036141
+066036142,066036142
+066036143,066036143
+066036144,066036144
+066036145,066036145
+066036146,066036146
+066036147,066036147
+066036148,066036148
+066036149,066036149
+066036150,066036150
+066036151,066036151
+066036152,066036152
+066036153,066036153
+066036154,066036154
+066036155,066036155
+066036156,066036156
+066036157,066036157
+066036158,066036158
+066036159,066036159
+066036160,066036160
+066036161,066036161
+066036162,066036162
+066036163,066036163
+066036164,066036164
+066036165,066036165
+066036166,066036166
+066038001,066038001
+066038050,066038050
+066039047,066039047
+066039048,066039048
+066039049,066039049
+066039050,066039050
+066039051,066039051
+066039052,066039052
+066039053,066039053
+066039054,066039054
+066039055,066039055
+06603G140,06603G140
+06603G141,06603G141
+06603G142,06603G142
+06603G143,06603G143
+06603G144,06603G144
+06603G145,06603G145
+06603G146,06603G146
+06603G147,06603G147
+06603G148,06603G148
+06603G149,06603G149
+06603G150,06603G150
+06603G151,06603G151
+06603G152,06603G152
+06603G153,06603G153
+06603G154,06603G154
+066040184,066040184
+066040185,066040185
+066040186,066040186
+066040187,066040187
+066040188,066040188
+066040189,066040189
+066040190,066040190
+066040191,066040191
+066040192,066040192
+066040193,066040193
+066040194,066040194
+066040195,066040195
+066040196,066040196
+066040197,066040197
+066040198,066040198
+066040199,066040199
+066040200,066040200
+066040201,066040201
+066040202,066040202
+066040203,066040203
+066040204,066040204
+066040205,066040205
+066040206,066040206
+066040207,066040207
+066040208,066040208
+066040209,066040209
+066040210,066040210
+066040211,066040211
+066040212,066040212
+066040213,066040213
+066040214,066040214
+066040215,066040215
+066040216,066040216
+066040217,066040217
+066040218,066040218
+066040219,066040219
+066040220,066040220
+066040221,066040221
+066040222,066040222
+066040223,066040223
+066040224,066040224
+066040225,066040225
+066040226,066040226
+066040227,066040227
+066040228,066040228
+066040229,066040229
+066040230,066040230
+066040231,066040231
+066040232,066040232
+066040233,066040233
+066040234,066040234
+066040235,066040235
+066040236,066040236
+066040237,066040237
+066040238,066040238
+066040239,066040239
+066040240,066040240
+066040241,066040241
+066040242,066040242
+066040243,066040243
+066040244,066040244
+066044034,066044034
+066044035,066044035
+066045011,066045011
+066045012,066045012
+066045013,066045013
+066046167,066046167
+066046168,066046168
+066046169,066046169
+066046170,066046170
+066046171,066046171
+066046172,066046172
+066046173,066046173
+066046174,066046174
+066046175,066046175
+066046176,066046176
+066046177,066046177
+066046178,066046178
+066046179,066046179
+066046180,066046180
+066046181,066046181
+066046182,066046182
+066046183,066046183
+066046184,066046184
+066046185,066046185
+066046186,066046186
+066046187,066046187
+066046188,066046188
+066046189,066046189
+066046190,066046190
+066046191,066046191
+066046192,066046192
+066046193,066046193
+066046194,066046194
+066046195,066046195
+066046196,066046196
+066046197,066046197
+066046198,066046198
+066046199,066046199
+066046200,066046200
+066046201,066046201
+066046202,066046202
+066046203,066046203
+066046204,066046204
+066046205,066046205
+066046206,066046206
+066046207,066046207
+066046208,066046208
+066046209,066046209
+066046210,066046210
+066046211,066046211
+066046212,066046212
+066046213,066046213
+066046214,066046214
+066046215,066046215
+066046216,066046216
+066046217,066046217
+066046218,066046218
+066046219,066046219
+066046220,066046220
+066046221,066046221
+066046222,066046222
+066046223,066046223
+066046224,066046224
+066046225,066046225
+066046226,066046226
+066046227,066046227
+066046228,066046228
+066046229,066046229
+066046230,066046230
+066046231,066046231
+066046232,066046232
+066046233,066046233
+066046234,066046234
+066046235,066046235
+066046236,066046236
+066046237,066046237
+066046238,066046238
+066046239,066046239
+066046240,066046240
+066046241,066046241
+066046242,066046242
+066046243,066046243
+066046244,066046244
+066046245,066046245
+066046246,066046246
+066046247,066046247
+066046248,066046248
+066046249,066046249
+066046250,066046250
+066046251,066046251
+066046252,066046252
+066046253,066046253
+066046254,066046254
+066046255,066046255
+066046256,066046256
+066046257,066046257
+066046258,066046258
+066046259,066046259
+066046260,066046260
+066046261,066046261
+066046262,066046262
+066046263,066046263
+066046264,066046264
+066046265,066046265
+066046266,066046266
+066046267,066046267
+066046268,066046268
+066048037,066048037
+066048044,066048044
+066049056,066049056
+066049057,066049057
+066049058,066049058
+066049059,066049059
+066049141,066049141
+066050245,066050245
+066050246,066050246
+066050247,066050247
+066050248,066050248
+066050249,066050249
+066050250,066050250
+066050251,066050251
+066050252,066050252
+066050253,066050253
+066050254,066050254
+066050255,066050255
+066050256,066050256
+066050257,066050257
+066050258,066050258
+066050259,066050259
+066050260,066050260
+066050261,066050261
+066050262,066050262
+066050263,066050263
+066050264,066050264
+066050265,066050265
+066050266,066050266
+066050267,066050267
+066050268,066050268
+066050269,066050269
+066050270,066050270
+066050271,066050271
+066050272,066050272
+066050273,066050273
+066050274,066050274
+066050275,066050275
+066050276,066050276
+066050277,066050277
+066050278,066050278
+066050279,066050279
+066050280,066050280
+066050281,066050281
+066050282,066050282
+066050283,066050283
+066050284,066050284
+066050285,066050285
+066050286,066050286
+066050287,066050287
+066050288,066050288
+066050289,066050289
+066050290,066050290
+066050291,066050291
+066050292,066050292
+066050293,066050293
+066050294,066050294
+066050295,066050295
+066050296,066050296
+066050297,066050297
+066050298,066050298
+066050299,066050299
+066050300,066050300
+066050301,066050301
+066050302,066050302
+066050303,066050303
+066050304,066050304
+066050305,066050305
+066050306,066050306
+066050307,066050307
+066050308,066050308
+066050309,066050309
+066050310,066050310
+066050311,066050311
+066050312,066050312
+066050313,066050313
+066050314,066050314
+066050315,066050315
+066050316,066050316
+066050317,066050317
+066050318,066050318
+066050319,066050319
+066050320,066050320
+066050321,066050321
+066050322,066050322
+066050323,066050323
+066050324,066050324
+066050325,066050325
+066050326,066050326
+066050327,066050327
+066050328,066050328
+066050329,066050329
+066050330,066050330
+066050331,066050331
+066050332,066050332
+066054036,066054036
+066054037,066054037
+066054038,066054038
+066054039,066054039
+066054040,066054040
+066054071,066054071
+066055014,066055014
+066055015,066055015
+066055016,066055016
+066055017,066055017
+066055018,066055018
+066056269,066056269
+066056270,066056270
+066056271,066056271
+066056272,066056272
+066056273,066056273
+066056274,066056274
+066056275,066056275
+066056276,066056276
+066056277,066056277
+066056278,066056278
+066056279,066056279
+066056280,066056280
+066056281,066056281
+066056282,066056282
+066056283,066056283
+066056284,066056284
+066056285,066056285
+066056286,066056286
+066056287,066056287
+066056288,066056288
+066056289,066056289
+066056290,066056290
+066056291,066056291
+066056292,066056292
+066056293,066056293
+066056294,066056294
+066056295,066056295
+066056296,066056296
+066056297,066056297
+066056298,066056298
+066056299,066056299
+066056300,066056300
+066056301,066056301
+066056302,066056302
+066056303,066056303
+066056304,066056304
+066056305,066056305
+066056306,066056306
+066056307,066056307
+066056308,066056308
+066056309,066056309
+066056310,066056310
+066056311,066056311
+066056312,066056312
+066056313,066056313
+066056314,066056314
+066056315,066056315
+066056316,066056316
+066056317,066056317
+066056318,066056318
+066056319,066056319
+066056320,066056320
+066056321,066056321
+066056322,066056322
+066056323,066056323
+066056324,066056324
+066056325,066056325
+066056326,066056326
+066056327,066056327
+066056328,066056328
+066056329,066056329
+066056330,066056330
+066056331,066056331
+066056332,066056332
+066056333,066056333
+066056334,066056334
+066056335,066056335
+066056336,066056336
+066056337,066056337
+066056338,066056338
+066056339,066056339
+066056340,066056340
+066056341,066056341
+066056342,066056342
+066056343,066056343
+066056344,066056344
+066056345,066056345
+066056346,066056346
+066056347,066056347
+066056348,066056348
+066056349,066056349
+066056350,066056350
+066056351,066056351
+066056352,066056352
+066056353,066056353
+066056354,066056354
+066056355,066056355
+066056356,066056356
+066056357,066056357
+066056358,066056358
+066056359,066056359
+066056360,066056360
+066056361,066056361
+066056362,066056362
+066056363,066056363
+066056364,066056364
+066056365,066056365
+066056366,066056366
+066056367,066056367
+066056368,066056368
+066056369,066056369
+066056370,066056370
+066056371,066056371
+066056372,066056372
+066056373,066056373
+066056374,066056374
+066056375,066056375
+066056376,066056376
+066056377,066056377
+066056378,066056378
+066056379,066056379
+066056380,066056380
+066056381,066056381
+066056382,066056382
+066056383,066056383
+066056384,066056384
+066056385,066056385
+066056386,066056386
+066056387,066056387
+066056388,066056388
+066056389,066056389
+066056390,066056390
+066056391,066056391
+066056392,066056392
+066056393,066056393
+066056394,066056394
+066056395,066056395
+066056396,066056396
+066056397,066056397
+066056398,066056398
+066056399,066056399
+066056400,066056400
+066056401,066056401
+066056402,066056402
+066056403,066056403
+066056404,066056404
+066056405,066056405
+066056406,066056406
+066056407,066056407
+066056408,066056408
+066059060,066059060
+066059061,066059061
+066059138,066059138
+066059139,066059139
+06605G155,06605G155
+06605G156,06605G156
+06605G157,06605G157
+06605G158,06605G158
+06605G159,06605G159
+06605G160,06605G160
+06605G161,06605G161
+06605G162,06605G162
+06605G163,06605G163
+06605G164,06605G164
+06605G165,06605G165
+06605G166,06605G166
+06605G167,06605G167
+06605G168,06605G168
+06605G169,06605G169
+06605G170,06605G170
+06605G171,06605G171
+06605G172,06605G172
+06605G173,06605G173
+06605G174,06605G174
+06605G175,06605G175
+06605G176,06605G176
+06605G177,06605G177
+06605G178,06605G178
+06605G179,06605G179
+06605G180,06605G180
+06605G181,06605G181
+06605G182,06605G182
+06605G183,06605G183
+06605G184,06605G184
+06605G185,06605G185
+06605G186,06605G186
+06605G187,06605G187
+06605G188,06605G188
+06605G189,06605G189
+06605G190,06605G190
+06605G191,06605G191
+06605G192,06605G192
+06605G193,06605G193
+06605G194,06605G194
+06605G195,06605G195
+06605G196,06605G196
+06605G197,06605G197
+06605G198,06605G198
+06605G199,06605G199
+06605G200,06605G200
+066060333,066060333
+066060334,066060334
+066060335,066060335
+066060336,066060336
+066060337,066060337
+066060338,066060338
+066060339,066060339
+066060340,066060340
+066060341,066060341
+066060342,066060342
+066060343,066060343
+066060344,066060344
+066060345,066060345
+066060346,066060346
+066060347,066060347
+066060348,066060348
+066060349,066060349
+066060350,066060350
+066060351,066060351
+066060352,066060352
+066060353,066060353
+066060354,066060354
+066060355,066060355
+066060356,066060356
+066060357,066060357
+066060358,066060358
+066060359,066060359
+066060360,066060360
+066060361,066060361
+066064041,066064041
+066064042,066064042
+066064043,066064043
+066064044,066064044
+066066409,066066409
+066066410,066066410
+066066411,066066411
+066066412,066066412
+066066413,066066413
+066066414,066066414
+066066415,066066415
+066068004,066068004
+066068005,066068005
+066068006,066068006
+066068007,066068007
+066068008,066068008
+066068009,066068009
+066068010,066068010
+066068011,066068011
+066068012,066068012
+066068013,066068013
+066068014,066068014
+066068015,066068015
+066068016,066068016
+066068017,066068017
+066068018,066068018
+066068019,066068019
+066068020,066068020
+066068021,066068021
+066068022,066068022
+066068023,066068023
+066068024,066068024
+066068025,066068025
+066068026,066068026
+066068051,066068051
+066068052,066068052
+066068053,066068053
+066068054,066068054
+066068055,066068055
+066068056,066068056
+066068057,066068057
+066068058,066068058
+066068059,066068059
+066068060,066068060
+066068061,066068061
+066068062,066068062
+066068063,066068063
+066068064,066068064
+066068065,066068065
+066068066,066068066
+066068067,066068067
+066068068,066068068
+066068069,066068069
+066068070,066068070
+066068071,066068071
+066068072,066068072
+066068073,066068073
+066068118,066068118
+066068119,066068119
+066068120,066068120
+066068121,066068121
+066068122,066068122
+066068123,066068123
+066068124,066068124
+066068125,066068125
+066068126,066068126
+066068127,066068127
+06606G201,06606G201
+06606G202,066068021
+06606G203,066068059
+06606G204,06606G204
+06606G205,066068051
+06606G206,066068017
+06606G207,066068013
+06606G208,06606G208
+06606G209,066068010
+06606G210,066068012
+06606G211,06606G211
+06606G212,066068006
+06606G213,066068019
+06606G214,066068016
+06606G215,066068014
+06606G216,06606G216
+06606G217,066068026
+066070362,066070362
+066070363,066070363
+066070364,066070364
+066070365,066070365
+066070366,066070366
+066070367,066070367
+066070368,066070368
+066070369,066070369
+066070370,066070370
+066070371,066070371
+066070372,066070372
+066070373,066070373
+066070374,066070374
+066070375,066070375
+066070376,066070376
+066070377,066070377
+066070378,066070378
+066070379,066070379
+066070380,066070380
+066070381,066070381
+066070382,066070382
+066070383,066070383
+066070384,066070384
+066070385,066070385
+066070386,066070386
+066070387,066070387
+066070388,066070388
+066070389,066070389
+066070390,066070390
+066070391,066070391
+066070392,066070392
+066070393,066070393
+066070394,066070394
+066074045,066074045
+066074046,066074046
+066074047,066074047
+066074048,066074048
+066075019,066075019
+066075020,066075020
+066076416,066076416
+066076417,066076417
+066076418,066076418
+066076419,066076419
+066076420,066076420
+066076421,066076421
+066076422,066076422
+066076423,066076423
+066076424,066076424
+066076425,066076425
+066076426,066076426
+066076427,066076427
+066076428,066076428
+066076429,066076429
+066076430,066076430
+066076431,066076431
+066076432,066076432
+066076433,066076433
+066076434,066076434
+066076435,066076435
+066076436,066076436
+066076437,066076437
+066076438,066076438
+066076439,066076439
+066076440,066076440
+066076441,066076441
+066076442,066076442
+066076443,066076443
+066076444,066076444
+066076445,066076445
+066076446,066076446
+066076447,066076447
+066076448,066076448
+066078027,066078027
+066078028,066078028
+066078029,066078029
+066078030,066078030
+066078031,066078031
+066078032,066078032
+066078033,066078033
+066078034,066078034
+066078035,066078035
+066078036,066078036
+066078043,066078043
+066078108,066078108
+066078109,066078109
+066079062,066079062
+066079063,066079063
+066079064,066079064
+066079065,066079065
+066079066,066079066
+066079067,066079067
+066079068,066079068
+066079069,066079069
+066079070,066079070
+066079071,066079071
+066079072,066079072
+066079073,066079073
+066079074,066079074
+066079075,066079075
+066079076,066079076
+06607G218,06607G218
+06607G219,06607G219
+06607G220,06607G220
+06607G221,06607G221
+06607G222,06607G222
+06607G223,06607G223
+06607G224,06607G224
+06607G225,06607G225
+06607G226,06607G226
+06607G227,06607G227
+06607G228,06607G228
+06607G229,06607G229
+06607G230,06607G230
+06607G231,06607G231
+06607G232,06607G232
+06607J001,06607J001
+06607J002,06607J002
+06607J003,06607J003
+066080395,066080395
+066080396,066080396
+066080397,066080397
+066080398,066080398
+066080399,066080399
+066080400,066080400
+066080401,066080401
+066080402,066080402
+066080403,066080403
+066080404,066080404
+066080405,066080405
+066080406,066080406
+066080407,066080407
+066080408,066080408
+066080409,066080409
+066080410,066080410
+066080411,066080411
+066080412,066080412
+066080413,066080413
+066080414,066080414
+066080415,066080415
+066080416,066080416
+066080417,066080417
+066080418,066080418
+066080419,066080419
+066080420,066080420
+066080421,066080421
+066080422,066080422
+066080423,066080423
+066080424,066080424
+066080425,066080425
+066080426,066080426
+066080427,066080427
+066080428,066080428
+066080429,066080429
+066080430,066080430
+066080431,066080431
+066080432,066080432
+066080433,066080433
+066080434,066080434
+066080435,066080435
+066080436,066080436
+066080437,066080437
+066080438,066080438
+066080439,066080439
+066080440,066080440
+066080441,066080441
+066080442,066080442
+066080443,066080443
+066080444,066080444
+066080445,066080445
+066080446,066080446
+066080447,066080447
+066080448,066080448
+066080449,066080449
+066080450,066080450
+066080451,066080451
+066080452,066080452
+066080453,066080453
+066080454,066080454
+066080455,066080455
+066080456,066080456
+066080457,066080457
+066080458,066080458
+066080459,066080459
+066080460,066080460
+066080461,066080461
+066080462,066080462
+066080463,066080463
+066080464,066080464
+066080465,066080465
+066080466,066080466
+066080467,066080467
+066080468,066080468
+066080469,066080469
+066080470,066080470
+066080471,066080471
+066080472,066080472
+066080473,066080473
+066080474,066080474
+066084049,066084049
+066084050,066084050
+066084051,066084051
+066084052,066084052
+066084053,066084053
+066084054,066084054
+066084055,066084055
+066084056,066084056
+066085021,066085021
+066085022,066085022
+066085023,066085023
+066085024,066085024
+066086449,066086449
+066086450,066086450
+066086451,066086451
+066086452,066086452
+066086453,066086453
+066086454,066086454
+066086455,066086455
+066086456,066086456
+066086457,066086457
+066086458,066086458
+066086459,066086459
+066086460,066086460
+066086461,066086461
+066086462,066086462
+066086463,066086463
+066086464,066086464
+066086465,066086465
+066086466,066086466
+066086467,066086467
+066086468,066086468
+066086469,066086469
+066086470,066086470
+066086471,066086471
+066086472,066086472
+066086473,066086473
+066086474,066086474
+066086475,066086475
+066086476,066086476
+066086477,066086477
+066086478,066086478
+066086479,066086479
+066086480,066086480
+066086481,066086481
+066086482,066086482
+066086483,066086483
+066086484,066086484
+066086485,066086485
+066086486,066086486
+066086487,066086487
+066086488,066086488
+066086489,066086489
+066086490,066086490
+066086491,066086491
+066086492,066086492
+066086493,066086493
+066086494,066086494
+066086495,066086495
+066086496,066086496
+066086497,066086497
+066086498,066086498
+066086499,066086499
+066086500,066086500
+066086501,066086501
+066086502,066086502
+066086503,066086503
+066086504,066086504
+066086505,066086505
+066086506,066086506
+066086507,066086507
+066086508,066086508
+066086509,066086509
+066086510,066086510
+066086511,066086511
+066086512,066086512
+066086513,066086513
+066086514,066086514
+066086515,066086515
+066086516,066086516
+066086517,066086517
+066086518,066086518
+066086519,066086519
+066086520,066086520
+066086521,066086521
+066086522,066086522
+066086523,066086523
+066086524,066086524
+066086525,066086525
+066086526,066086526
+066086527,066086527
+066086528,066086528
+066086529,066086529
+066086530,066086530
+066086531,066086531
+066086532,066086532
+066086533,066086533
+066086534,066086534
+066086535,066086535
+066086536,066086536
+066086537,066086537
+066086538,066086538
+066086539,066086539
+066086540,066086540
+066088045,066088045
+066089077,066089077
+066089078,066089078
+066089079,066089079
+066089080,066089080
+066089081,066089081
+06608G233,06608G233
+06608G234,06608G234
+06608G235,06608G235
+06608G236,06608G236
+06608G237,06608G237
+06608G238,06608G238
+06608G239,06608G239
+066090475,066090475
+066090476,066090476
+066090477,066090477
+066090478,066090478
+066090479,066090479
+066090480,066090480
+066090481,066090481
+066090482,066090482
+066090483,066090483
+066090484,066090484
+066090485,066090485
+066090486,066090486
+066090487,066090487
+066090488,066090488
+066090489,066090489
+066090490,066090490
+066090491,066090491
+066090492,066090492
+066090493,066090493
+066090494,066090494
+066090495,066090495
+066090496,066090496
+066090497,066090497
+066090498,066090498
+066090499,066090499
+066090500,066090500
+066090501,066090501
+066090502,066090502
+066090503,066090503
+066090504,066090504
+066090505,066090505
+066090506,066090506
+066090507,066090507
+066090508,066090508
+066090509,066090509
+066090510,066090510
+066090511,066090511
+066090512,066090512
+066090513,066090513
+066090514,066090514
+066090515,066090515
+066090516,066090516
+066090517,066090517
+066090518,066090518
+066090519,066090519
+066090520,066090520
+066090521,066090521
+066090522,066090522
+066090523,066090523
+066090524,066090524
+066090525,066090525
+066090526,066090526
+066090527,066090527
+066090528,066090528
+066090529,066090529
+066090530,066090530
+066090531,066090531
+066090532,066090532
+066090533,066090533
+066090534,066090534
+066090535,066090535
+066090536,066090536
+066090537,066090537
+066090538,066090538
+066090539,066090539
+066090540,066090540
+066090541,066090541
+066090542,066090542
+066090543,066090543
+066090544,066090544
+066090545,066090545
+066090546,066090546
+066090547,066090547
+066090548,066090548
+066090549,066090549
+066090550,066090550
+066090551,066090551
+066090552,066090552
+066090553,066090553
+066090554,066090554
+066090555,066090555
+066090556,066090556
+066090557,066090557
+066090558,066090558
+066090559,066090559
+066090560,066090560
+066090561,066090561
+066090562,066090562
+066090563,066090563
+066090564,066090564
+066090565,066090565
+066090566,066090566
+066090567,066090567
+066090568,066090568
+066090569,066090569
+066094057,066094057
+066094058,066094058
+066094059,066094059
+066094060,066094060
+066094061,066094061
+066094062,066094062
+066094063,066094063
+066094064,066094064
+066094065,066094065
+066094066,066094066
+066094067,066094067
+066094068,066094068
+066095025,066095025
+066095026,066095026
+066095027,066095027
+066095028,066095028
+066095029,066095029
+066095030,066095030
+066095031,066095031
+066095032,066095032
+066096541,066096541
+066096542,066096542
+066096543,066096543
+066096544,066096544
+066096545,066096545
+066096546,066096546
+066096547,066096547
+066096548,066096548
+066096549,066096549
+066096550,066096550
+066096551,066096551
+066096552,066096552
+066096553,066096553
+066096554,066096554
+066096555,066096555
+066096556,066096556
+066096557,066096557
+066096558,066096558
+066096559,066096559
+066096560,066096560
+066096561,066096561
+066096562,066096562
+066096563,066096563
+066096564,066096564
+066096565,066096565
+066096566,066096566
+066096567,066096567
+066096568,066096568
+066096569,066096569
+066096570,066096570
+066096571,066096571
+066096572,066096572
+066096573,066096573
+066096574,066096574
+066096575,066096575
+066096576,066096576
+066096577,066096577
+066096578,066096578
+066096579,066096579
+066096580,066096580
+066096581,066096581
+066096582,066096582
+066096583,066096583
+066096584,066096584
+066096585,066096585
+066096586,066096586
+066096587,066096587
+066096588,066096588
+066096589,066096589
+066096590,066096590
+066096591,066096591
+066096592,066096592
+066096593,066096593
+066096594,066096594
+066096595,066096595
+066096596,066096596
+066096597,066096597
+066096598,066096598
+066096599,066096599
+066096600,066096600
+066096601,066096601
+066096602,066096602
+066096603,066096603
+066096604,066096604
+066096605,066096605
+066096606,066096606
+066096607,066096607
+066096608,066096608
+066096609,066096609
+066096610,066096610
+066096611,066096611
+066096612,066096612
+066096613,066096613
+066096614,066096614
+066096615,066096615
+066096616,066096616
+066096617,066096617
+066096618,066096618
+066096619,066096619
+066096620,066096620
+066096621,066096621
+066096622,066096622
+066096623,066096623
+066096624,066096624
+066096625,066096625
+066096626,066096626
+066096627,066096627
+066096628,066096628
+066096629,066096629
+066096630,066096630
+066096631,066096631
+066096632,066096632
+066096633,066096633
+066096634,066096634
+066096635,066096635
+066096636,066096636
+066096637,066096637
+066096638,066096638
+066096639,066096639
+066096640,066096640
+066096641,066096641
+066096642,066096642
+066096643,066096643
+066096644,066096644
+066096645,066096645
+066096646,066096646
+066096647,066096647
+066096648,066096648
+066096649,066096649
+066096650,066096650
+066096651,066096651
+066096652,066096652
+066096653,066096653
+066096654,066096654
+066096655,066096655
+066096656,066096656
+066096657,066096657
+066096658,066096658
+066096659,066096659
+066096660,066096660
+066096661,066096661
+066096662,066096662
+066096663,066096663
+066096664,066096664
+066096665,066096665
+066096666,066096666
+066096667,066096667
+066099082,066099082
+066099083,066099083
+066099084,066099084
+066099085,066099085
+066099086,066099086
+066099087,066099087
+066099088,066099088
+066099089,066099089
+066099090,066099090
+066099091,066099091
+066099092,066099092
+066099093,066099093
+066099094,066099094
+066099095,066099095
+066099096,066099096
+066099097,066099097
+066099098,066099098
+066099099,066099099
+066099100,066099100
+066099101,066099101
+066099102,066099102
+066099103,066099103
+066099104,066099104
+066099105,066099105
+066099106,066099106
+066099107,066099107
+066099108,066099108
+066099109,066099109
+066099137,066099137
+066099140,066099140
+06609G240,06609G240
+06609G241,06609G241
+06609G242,06609G242
+06609G243,06609G243
+06609G244,06609G244
+06609G245,06609G245
+06609G246,06609G246
+06609G247,06609G247
+06609G248,06609G248
+06609G249,06609G249
+06609G250,06609G250
+06609G251,06609G251
+06609G252,06609G252
+06609G253,06609G253
+06609G254,06609G254
+06609G255,06609G255
+06609G256,06609G256
+06609G257,06609G257
+06609G258,06609G258
+06609G259,06609G259
+06609G260,06609G260
+06609G261,06609G261
+06609G262,06609G262
+06609G263,06609G263
+06609G264,06609G264
+06609G265,06609G265
+066100570,066100570
+066100571,066100571
+066100572,066100572
+066100573,066100573
+066100574,066100574
+066100575,066100575
+066100576,066100576
+066100577,066100577
+066100578,066100578
+066100579,066100579
+066100580,066100580
+066100581,066100581
+066100582,066100582
+066100583,066100583
+066100584,066100584
+066100585,066100585
+066100586,066100586
+066100587,066100587
+066100588,066100588
+066100589,066100589
+066100590,066100590
+066100591,066100591
+066100592,066100592
+066100593,066100593
+066100594,066100594
+066100595,066100595
+066100596,066100596
+066100597,066100597
+066100598,066100598
+066100599,066100599
+066100600,066100600
+066100601,066100601
+066100602,066100602
+066100603,066100603
+066100604,066100604
+066100605,066100605
+066100606,066100606
+066100607,066100607
+066100608,066100608
+066100609,066100609
+066100610,066100610
+066100611,066100611
+066100612,066100612
+066100613,066100613
+066100614,066100614
+066100615,066100615
+066100616,066100616
+066100617,066100617
+066100618,066100618
+066100619,066100619
+066100620,066100620
+066100621,066100621
+066100622,066100622
+066100623,066100623
+066100624,066100624
+066100625,066100625
+066100626,066100626
+066100627,066100627
+066100628,066100628
+066100629,066100629
+066100630,066100630
+066100631,066100631
+066100632,066100632
+066100633,066100633
+066100634,066100634
+066100635,066100635
+066100636,066100636
+066100637,066100637
+066104069,066104069
+066104070,066104070
+066104072,066104072
+066104073,066104073
+066104074,066104074
+066104075,066104075
+066104076,066104076
+066104077,066104077
+066104078,066104078
+066104079,066104079
+066104080,066104080
+066104081,066104081
+066104082,066104082
+066104083,066104083
+066104084,066104084
+066104085,066104085
+066104086,066104086
+066104087,066104087
+066104088,066104088
+066105033,066105033
+066105034,066105034
+066105035,066105035
+066105036,066105036
+066105037,066105037
+066105038,066105038
+066106668,066106668
+066106669,066106669
+066106670,066106670
+066106671,066106671
+066106672,066106672
+066106673,066106673
+066106674,066106674
+066106675,066106675
+066106676,066106676
+066106677,066106677
+066106678,066106678
+066106679,066106679
+066106680,066106680
+066106681,066106681
+066106682,066106682
+066106683,066106683
+066106684,066106684
+066106685,066106685
+066106686,066106686
+066106687,066106687
+066106688,066106688
+066106689,066106689
+066106690,066106690
+066106691,066106691
+066106692,066106692
+066106693,066106693
+066106694,066106694
+066106695,066106695
+066106696,066106696
+066106697,066106697
+066106698,066106698
+066106699,066106699
+066106700,066106700
+066106701,066106701
+066106702,066106702
+066106703,066106703
+066106704,066106704
+066106705,066106705
+066106706,066106706
+066106707,066106707
+066106708,066106708
+066106709,066106709
+066106710,066106710
+066106711,066106711
+066106712,066106712
+066106713,066106713
+066106714,066106714
+066106715,066106715
+066106716,066106716
+066106717,066106717
+066106718,066106718
+066106719,066106719
+066106720,066106720
+066106721,066106721
+066106722,066106722
+066106723,066106723
+066106724,066106724
+066106725,066106725
+066106726,066106726
+066106727,066106727
+066106728,066106728
+066106729,066106729
+066106730,066106730
+066106731,066106731
+066106732,066106732
+066106733,066106733
+066106734,066106734
+066106735,066106735
+066106736,066106736
+066106737,066106737
+066109110,066109110
+066109111,066109111
+066109112,066109112
+066109113,066109113
+066109114,066109114
+066109115,066109115
+066109116,066109116
+066109117,066109117
+066110638,066110638
+066110639,066110639
+066110640,066110640
+066110641,066110641
+066110642,066110642
+066110643,066110643
+066110644,066110644
+066110645,066110645
+066110646,066110646
+066110647,066110647
+066110648,066110648
+066110649,066110649
+066110650,066110650
+066110651,066110651
+066110652,066110652
+066110653,066110653
+066110654,066110654
+066110655,066110655
+066110656,066110656
+066110657,066110657
+066110658,066110658
+066110659,066110659
+066110660,066110660
+066110661,066110661
+066110662,066110662
+066110663,066110663
+066110664,066110664
+066110665,066110665
+066110666,066110666
+066110667,066110667
+066110668,066110668
+066110669,066110669
+066110670,066110670
+066110671,066110671
+066110672,066110672
+066110673,066110673
+066110674,066110674
+066110675,066110675
+066110676,066110676
+066110677,066110677
+066110678,066110678
+066110679,066110679
+066110680,066110680
+066110681,066110681
+066110682,066110682
+066110683,066110683
+066110684,066110684
+066110685,066110685
+066110686,066110686
+066110687,066110687
+066110688,066110688
+066110689,066110689
+066110690,066110690
+066110691,066110691
+066110692,066110692
+066110693,066110693
+066110694,066110694
+066110695,066110695
+066110696,066110696
+066110697,066110697
+066110698,066110698
+066110699,066110699
+066110700,066110700
+066110701,066110701
+066110702,066110702
+066110703,066110703
+066110704,066110704
+066110705,066110705
+066110706,066110706
+066110707,066110707
+066110708,066110708
+066110709,066110709
+066110710,066110710
+066110711,066110711
+066110712,066110712
+066110713,066110713
+066110714,066110714
+066114089,066114089
+066114090,066114090
+066114091,066114091
+066114092,066114092
+066114093,066114093
+066114103,066114103
+066116738,066116738
+066116739,066116739
+066116740,066116740
+066116741,066116741
+066116742,066116742
+066116743,066116743
+066116744,066116744
+066116745,066116745
+066116746,066116746
+066116747,066116747
+066116748,066116748
+066116749,066116749
+066116750,066116750
+066116751,066116751
+066116752,066116752
+066116753,066116753
+066116754,066116754
+066116755,066116755
+066116756,066116756
+066116757,066116757
+066116758,066116758
+066116759,066116759
+066116760,066116760
+066116761,066116761
+066116762,066116762
+066116763,066116763
+066116764,066116764
+066116765,066116765
+066116766,066116766
+066116767,066116767
+066116768,066116768
+066116769,066116769
+066116770,066116770
+066116771,066116771
+066116772,066116772
+066116773,066116773
+066116774,066116774
+066116775,066116775
+066116776,066116776
+066116777,066116777
+066116778,066116778
+066116779,066116779
+066116780,066116780
+066116781,066116781
+066116782,066116782
+066116783,066116783
+066116784,066116784
+066116785,066116785
+066116786,066116786
+066116787,066116787
+066116788,066116788
+066116789,066116789
+066116790,066116790
+066116791,066116791
+066116792,066116792
+066116793,066116793
+066116794,066116794
+066116795,066116795
+066116796,066116796
+066116797,066116797
+066116798,066116798
+066116799,066116799
+066116800,066116800
+066118078,066118078
+066118079,066118079
+066118080,066118080
+066118081,066118081
+066118082,066118082
+066118083,066118083
+066118084,066118084
+066118085,066118085
+066118086,066118086
+066118087,066118087
+066118088,066118088
+066118089,066118089
+066118090,066118090
+066118091,066118091
+066118092,066118092
+066118093,066118093
+066118094,066118094
+066118095,066118095
+066118096,066118096
+066118097,066118097
+066118098,066118098
+066118099,066118099
+066118100,066118100
+066118101,066118101
+066118102,066118102
+066118103,066118103
+066118104,066118104
+066119118,066119118
+066119119,066119119
+066119120,066029038
+066119121,066119121
+066119122,066119122
+066119123,066119123
+066119124,066119124
+066119125,066119125
+066119126,066119126
+066119127,066119127
+066119128,066119128
+066119129,066119129
+066119130,066119130
+066119131,066119131
+066119132,066119132
+066119133,066119133
+066119134,066119134
+066119135,066119135
+066119136,066119136
+06611G266,06611G266
+06611G267,06611G267
+06611G268,06611G268
+06611G269,06611G269
+06611G270,06611G270
+06611G271,06611G271
+06611G272,06611G272
+06611G273,06611G273
+06611G274,06611G274
+06611G275,06611G275
+06611G276,06611G276
+06611J004,06611J004
+06611J005,06611J005
+06611J006,06611J006
+06611J007,06611J007
+06611J008,06611J008
+06611J009,06611J009
+06611J010,06611J010
+06611J011,06611J011
+066120715,066120715
+066120716,066120716
+066120717,066120717
+066120718,066120718
+066120719,066120719
+066120720,066120720
+066120721,066120721
+066120722,066120722
+066120723,066120723
+066120724,066120724
+066120725,066120725
+066120726,066120726
+066120727,066120727
+066120728,066120728
+066120729,066120729
+066120730,066120730
+066120731,066120731
+066120732,066120732
+066120733,066120733
+066120734,066120734
+066124094,066124094
+066125039,066125039
+066126801,066126801
+066126802,066126802
+066126803,066126803
+066126804,066126804
+066126805,066126805
+066126806,066126806
+066126807,066126807
+066126808,066126808
+066126809,066126809
+066126810,066126810
+066126811,066126811
+066126812,066126812
+066126813,066126813
+066126814,066126814
+066126815,066126815
+066126816,066126816
+066126817,066126817
+066126818,066126818
+066126819,066126819
+066126820,066126820
+066126821,066126821
+066126822,066126822
+066126823,066126823
+066126824,066126824
+066126825,066126825
+066126826,066126826
+066126827,066126827
+066126828,066126828
+066126829,066126829
+066126830,066126830
+066126831,066126831
+066126832,066126832
+066126833,066126833
+066126834,066126834
+066126835,066126835
+066126836,066126836
+066126837,066126837
+066126838,066126838
+066126839,066126839
+066126840,066126840
+066126841,066126841
+066126842,066126842
+066126843,066126843
+066126844,066126844
+066126845,066126845
+066126846,066126846
+066126847,066126847
+066126848,066126848
+066126849,066126849
+066126850,066126850
+066126851,066126851
+066126852,066126852
+066126853,066126853
+066126854,066126854
+066126855,066126855
+066126856,066126856
+066126857,066126857
+066126858,066126858
+066126859,066126859
+066126860,066126860
+066126861,066126861
+066126862,066126862
+066126863,066126863
+066126864,066126864
+066126865,066126865
+066126866,066126866
+066126867,066126867
+066126868,066126868
+066126869,066126869
+066126870,066126870
+066126871,066126871
+066126872,066126872
+066126873,066126873
+066126874,066126874
+066126875,066126875
+066126876,066126876
+066126877,066126877
+066126878,066126878
+066126879,066126879
+066126880,066126880
+066126881,066126881
+066126882,066126882
+066126883,066126883
+066126884,066126884
+066126885,066126885
+066126886,066126886
+066126887,066126887
+066126888,066126888
+066126889,066126889
+066126890,066126890
+066126891,066126891
+066126892,066126892
+066126893,066126893
+066126894,066126894
+066126895,066126895
+066126896,066126896
+066126897,066126897
+066126898,066126898
+066126899,066126899
+066126900,066126900
+066126901,066126901
+066126902,066126902
+066126903,066126903
+066126904,066126904
+066126905,066126905
+066126906,066126906
+066126907,066126907
+066126908,066126908
+066126909,066126909
+066126910,066126910
+066126911,066126911
+066126912,066126912
+066126913,066126913
+066126914,066126914
+066126915,066126915
+066126916,066126916
+066126917,066126917
+066126918,066126918
+066126919,066126919
+066126920,066126920
+066126921,066126921
+066126922,066126922
+066126923,066126923
+066126924,066126924
+066126925,066126925
+066126926,066126926
+066126927,066126927
+066126928,066126928
+066126929,066126929
+066126930,066126930
+066126931,066126931
+066126932,05612E016
+066126933,066126933
+066126934,066126934
+066126935,066126935
+066126936,066126936
+066126937,066126937
+066126938,066126938
+066126939,066126939
+066126940,066126940
+066126941,066126941
+066128002,066128002
+066128003,066128003
+066128038,066128038
+066128039,066128039
+066128046,066128046
+066128047,066128047
+066128048,066128048
+066128075,066128075
+066128076,066128076
+066128077,066128077
+066128105,066128105
+066128106,066128106
+066128107,066128107
+06612E001,06612E001
+06612E002,06612E002
+06612E003,06612E003
+06612E004,06612E004
+06612E005,06612E005
+06612E006,06612E006
+06612E007,06612E007
+06612E008,06612E008
+06612G277,06612G277
+06612G278,06612G278
+06612G279,06612G279
+06612G280,06612G280
+06612G281,06612G281
+06612G282,06612G282
+06612G283,06612G283
+06612G284,06612G284
+06612G285,06612G285
+06612G286,06612G286
+06612G287,06612G287
+06612G288,06612G288
+06612G289,06612G289
+06612G290,06612G290
+06612G291,06612G291
+06612G292,06612G292
+06612G293,06612G293
+06612G294,06612G294
+06612G295,06612G295
+06612G296,06612G296
+06612G297,06612G297
+06612G298,06612G298
+06612G299,06612G299
+06612G300,06612G300
+06612G301,06612G301
+06612G302,06612G302
+06612G303,06612G303
+06612G304,06612G304
+06612G305,06612G305
+06612G306,06612G306
+06612G307,06612G307
+06612G308,06612G308
+06612G309,06612G309
+06612G310,06612G310
+06612G311,06612G311
+06612G312,06612G312
+06612G313,06612G313
+06612G314,06612G314
+06612G315,06612G315
+06612G316,06612G316
+06612G317,06612G317
+06612G318,06612G318
+06612G319,06612G319
+06612G320,06612G320
+06612G321,06612G321
+06612G322,06612G322
+06612G323,06612G323
+06612G324,06612G324
+06612G325,06612G325
+06612G326,06612G326
+06612G327,06612G327
+06612G328,06612G328
+06612G329,06612G329
+06612G330,06612G330
+06612G331,06612G331
+06612G332,06612G332
+06612G333,06612G333
+06612G334,06612G334
+06612G335,06612G335
+06612G336,06612G336
+06612G337,06612G337
+06612G338,06612G338
+06612G339,06612G339
+06612J012,06612J012
+06612J013,06612J013
+066130735,066130735
+066130736,066130736
+066130737,066130737
+066130738,066130738
+066130739,066130739
+066130740,066130740
+066130741,066130741
+066130742,066130742
+066130743,066130743
+066130744,066130744
+066130745,066130745
+066130746,066130746
+066130747,066130747
+066130748,066130748
+066130749,066130749
+066130750,066130750
+066130751,066130751
+066130752,066130752
+066130753,066130753
+066130754,066130754
+066130755,066130755
+066130756,066130756
+066130757,066130757
+066130758,066130758
+066130759,066130759
+066130760,066130760
+066130761,066130761
+066130762,066130762
+066130763,066130763
+066130764,066130764
+066130765,066130765
+066130766,066130766
+066130767,066130767
+066130768,066130768
+066134095,066134095
+066134096,066134096
+066134097,066134097
+066134098,066134098
+066134099,066134099
+066134100,066134100
+066134101,066134101
+066134102,066134102
+066135040,066135040
+066135041,066135041
+066136942,066136942
+066136943,066136943
+066136944,066136944
+066136945,066136945
+066136946,066136946
+066136947,066136947
+066136948,066136948
+066136949,066136949
+066136950,066136950
+066136951,066136951
+066136952,066136952
+066136953,066136953
+066136954,066136954
+066136955,066136955
+066136956,066136956
+066136957,066136957
+066136958,066136958
+066136959,066136959
+066136960,066136960
+066136961,066136961
+066136962,066136962
+066136963,066136963
+066136964,066136964
+066136965,066136965
+066136966,066136966
+066136967,066136967
+066136968,066136968
+066136969,066136969
+066136970,066136970
+066136971,066136971
+066136972,066136972
+066136973,066136973
+066136974,066136974
+066136975,066136975
+066136976,066136976
+066136977,066136977
+066136978,066136978
+06613P001,06613P001
+06613P002,06613P002
+06613P003,06613P003
+06613P004,06613P004
+06613P005,06613P005
+06613P006,06613P006
+06613P007,06613P007
+066145042,066145042
+066145043,066145043
+066145044,066145044
+066146979,066146979
+066146980,066146980
+066146981,066146981
+066146982,066146982
+066146983,066146983
+066146984,066146984
+066146985,066146985
+066146986,066146986
+066146987,066146987
+066146988,066146988
+066146989,066146989
+066146990,066146990
+066146991,066146991
+066146992,066146992
+066146993,066146993
+066146994,066146994
+066146995,066146995
+066146996,066146996
+066146997,066146997
+066146998,066146998
+066146999,066146999
+066147000,066147000
+066147001,066147001
+066147002,066147002
+066147003,066147003
+066147004,066147004
+066147005,066147005
+066147006,066147006
+066147007,066147007
+066147008,066147008
+066147009,066147009
+066147010,066147010
+066147011,066147011
+066147012,066147012
+066147013,066147013
+066147014,066147014
+066147015,066147015
+066147016,066147016
+066147017,066147017
+066147018,066147018
+066147019,066147019
+066147020,066147020
+066147021,066147021
+066147022,066147022
+066147023,066147023
+066147024,066147024
+066147025,066147025
+066147026,066147026
+066147027,066147027
+066147028,066147028
+066147029,066147029
+066147030,066147030
+066147031,066147031
+066147032,066147032
+066147033,066147033
+066147034,066147034
+066147035,066147035
+066147036,066147036
+066147037,066147037
+066147038,066147038
+066147039,066147039
+066147040,066147040
+066147041,066147041
+066147042,066147042
+066147043,066147043
+066147044,066147044
+066147045,066147045
+06614G001,06614G001
+06614G002,06614G002
+06614G003,06614G003
+06614G004,06614G004
+06614G005,06614G005
+06614G006,06614G006
+06614G007,06614G007
+06614G008,06614G008
+06614G009,06614G009
+06614G010,06614G010
+06614G011,06614G011
+06614G012,06614G012
+06614G013,06614G013
+06614G014,06614G014
+06614G015,06614G015
+06614G016,06614G016
+06614G017,06614G017
+06614G018,06614G018
+06614G019,06614G019
+06614G020,06614G020
+06614G021,06614G021
+06614G022,06614G022
+06614G023,06614G023
+06614G024,06614G024
+06614G025,06614G025
+06614G026,06614G026
+06614G027,06614G027
+06614G028,06614G028
+06614G029,06614G029
+06614G030,06614G030
+06614G031,06614G031
+06614G032,06614G032
+06614G033,06614G033
+06614G034,06614G034
+06614G035,06614G035
+06614G036,06614G036
+06614G340,06614G340
+06614G341,06614G341
+06614G342,06614G342
+06614G343,06614G343
+06614G344,06614G344
+066180769,066180769
+066180770,066180770
+066180771,066180771
+066180772,066180772
+066180773,066180773
+066180774,066180774
+066180775,066180775
+066180776,066180776
+066180777,066180777
+066180778,066180778
+066180779,066180779
+066187046,066187046
+066187047,066187047
+066187048,066187048
+066187049,066187049
+066187050,066187050
+066187051,066187051
+066187052,066187052
+067010001,067010001
+067010002,067010002
+067010003,067010003
+067010004,067010004
+067010005,067010005
+067010006,067010006
+067010007,067010007
+067010008,067010008
+067010009,067010009
+067010010,067010010
+067010011,067010011
+067010204,067010204
+067010205,067010205
+067010206,046010040
+067010207,067010207
+067010208,067010208
+067010209,046010054
+067010210,046016032
+067010211,046010071
+067010212,046010075
+067010213,046010074
+067010214,067010214
+067010215,067010215
+067010216,046010067
+067010217,046010069
+067010218,067010218
+067010219,046010026
+067010220,046010009
+067010221,046010008
+067010222,056010019
+067010223,067010223
+067010224,067010224
+067010225,056010018
+067010226,046010025
+067010227,046116712
+067010228,067010228
+067014012,067014012
+067014013,067014013
+067014014,067014014
+067014015,067014015
+067014229,046014015
+067014230,067014230
+067014231,067014231
+067014232,046014004
+067014233,067014233
+067014234,067014234
+067015016,067015016
+067015017,067015017
+067015018,067015018
+067015019,067015019
+067015235,067015235
+067015236,067015236
+067015237,067015237
+067015238,067015238
+067015239,067015239
+067015240,067015240
+067015241,067015241
+067016020,067010228
+067020021,067020021
+067020022,067020022
+067020023,067020023
+067020024,067020024
+067020025,067020025
+067020242,067020242
+067020243,067020243
+067020244,056020074
+067020245,046020107
+067020246,056020087
+067020247,056020089
+067020248,046020095
+067020249,046026044
+067020250,067020250
+067020251,067020251
+067020252,046020096
+067020253,046020090
+067020254,046056242
+067020255,056020110
+067020256,046020120
+067020257,046020111
+067020258,067020258
+067020259,046020119
+067020260,046020118
+067020261,046020113
+067020262,067020262
+067020263,046010060
+067020264,046020122
+067020265,067020265
+067020266,067020266
+067020267,046074058
+067020268,067020268
+067020269,067020269
+067024026,067024026
+067024027,067024027
+067024028,067024028
+067024029,067024029
+067024030,067024030
+067024031,067024031
+067024270,067024270
+067024271,046084076
+067024272,067024272
+067025032,067025032
+067025033,067025033
+067025034,067025034
+067025035,067025035
+067025036,067025036
+067025037,067025037
+067025038,067025038
+067025039,067025039
+067025040,067025040
+067025041,067025041
+067025042,067025042
+067025043,067025043
+067025044,067025044
+067025045,067025045
+067025046,067025046
+067025047,067025047
+067025048,067025048
+067025049,067025049
+067025050,067025050
+067025051,067025051
+067025052,067025052
+067025053,067025053
+067025054,067025054
+067025055,067025055
+067025056,067025056
+067025057,067025057
+067025058,067025058
+067025059,067025059
+067025060,067025060
+067025061,067025061
+067025273,067025273
+067025274,067025274
+067025275,067025275
+067025276,067025276
+067025277,067025277
+067025278,067025278
+067025279,057025036
+067026062,067026062
+067026063,067026063
+067029001,067029001
+067029002,067029002
+067029006,067029006
+067030064,067030064
+067030065,067030065
+067030280,046030148
+067030281,046036132
+067030282,056030169
+067030283,067030283
+067030284,046080458
+067030285,067030285
+067030286,067030286
+067030287,056030138
+067030288,046030206
+067030289,056030140
+067030290,046030167
+067030291,067030291
+067030292,067030292
+067030293,046090549
+067030294,067030294
+067030295,067030295
+067030296,046036116
+067030297,046036090
+067030298,046036118
+067030299,046030196
+067034066,067034066
+067034300,067034300
+067034301,067034301
+067034302,067034302
+067035067,067035067
+067035068,067035068
+067035069,067035069
+067035070,067035070
+067035071,067035071
+067035303,067035303
+067035304,067035304
+067035305,067035305
+067036072,067036072
+067040073,067040073
+067040074,067040074
+067040075,067040075
+067040306,056046191
+067040307,056040234
+067040308,067040308
+067040309,056046163
+067040310,067040310
+067040311,067040311
+067040312,046040258
+067040313,046046217
+067040314,046046195
+067040315,046046207
+067040316,056046194
+067040317,046066359
+067040318,067040318
+067040319,046046191
+067040320,046046185
+067040321,056040233
+067040322,067040322
+067040323,056040223
+067040324,067040324
+067040325,056046162
+067040326,067040326
+067040327,067040327
+067040328,067040328
+067040329,067040329
+067040330,056040209
+067040331,067040331
+067040332,046046177
+067040333,067040333
+067040334,067040334
+067040335,046040241
+067040336,056046119
+067040337,046040217
+067040338,046046155
+067040339,067040339
+067040340,046046165
+067040341,046046149
+067040342,046046173
+067040343,056040179
+067040344,046046134
+067040345,056046154
+067040346,067040346
+067040347,046040211
+067040348,056040189
+067040349,067040349
+067040350,067040350
+067040351,056040184
+067040352,056040239
+067044076,067044076
+067044077,067044077
+067044353,046114114
+067044354,067044354
+067044355,067044355
+067045078,067045078
+067045079,067045079
+067045080,067045080
+067045356,067045356
+067045357,067045357
+067046081,067046081
+067050082,067050082
+067050083,067050083
+067050358,056050323
+067050359,046056339
+067050360,046056340
+067050361,046090529
+067050362,046050325
+067050363,056050305
+067050364,056050307
+067050365,067050365
+067050366,067050366
+067050367,046050338
+067050368,046050335
+067050369,046056303
+067050370,056050314
+067050371,056050321
+067050372,056050245
+067050373,056050246
+067050374,067050374
+067050375,046050269
+067050376,067050376
+067050377,067050377
+067050378,067050378
+067050379,{SHA-256}{erjizGgG3omLwXMO9Ze3UAYbPAAPbKB4cEsqfzc0K9E=}5829d1dc77a4d6c4a56dd57fc8bd190d236529c43a32059e223a68a3ead10101
+067050380,046056253
+067050381,046050306
+067050382,056056221
+067050383,046056257
+067050384,067050384
+067050385,056050273
+067050386,067050386
+067050387,067050387
+067050388,067050388
+067050389,067050389
+067050390,046050290
+067050391,046050278
+067054084,067054084
+067054085,067054085
+067054086,067054086
+067054087,067054087
+067054088,067054088
+067054089,067054089
+067054090,067054090
+067054091,067054091
+067054092,067054092
+067054093,067054093
+067054094,067054094
+067054095,067054095
+067054392,067054392
+067054393,046054052
+067054394,067054394
+067054395,067054395
+067054396,046054045
+067054397,067054397
+067054398,067054398
+067054399,067054399
+067054400,067054400
+067055096,067055096
+067055097,067055097
+067055098,067055098
+067055099,067055099
+067055100,067055100
+067055101,067055101
+067055102,067055102
+067055103,067055103
+067055104,067055104
+067055105,067055105
+067055106,067055106
+067055107,067055107
+067055401,067055401
+067055402,067055402
+067055403,067055403
+067055404,067055404
+067055405,067055405
+067055406,067055406
+067055407,067055407
+067055408,067055408
+067055409,067055409
+067055410,067055410
+067055411,067055411
+067055412,067055412
+067055413,067055413
+067056108,067056108
+067060109,067060109
+067060110,067060110
+067060111,067060111
+067060414,056060365
+067060415,046060374
+067060416,067060416
+067060417,046060372
+067060418,046060379
+067064112,067064112
+067064419,056064072
+067064420,067064420
+067064421,056064066
+067069004,067069004
+067070113,067070113
+067070422,067070422
+067070423,046070401
+067070424,046076377
+067070425,046076378
+067070426,046070408
+067070427,067070427
+067070428,046076381
+067070429,056070374
+067070430,067070430
+067070431,046070396
+067070432,046070406
+067070433,067070433
+067070434,067070434
+067070435,046076379
+067074114,067074114
+067074115,067074115
+067074436,056074078
+067074437,067074437
+067075438,067075438
+067075439,067075439
+067075440,067075440
+067075441,067075441
+067075442,067075442
+067075443,067075443
+067075444,067075444
+067075445,067075445
+067075446,067075446
+067075447,067075447
+067075448,067075448
+067075449,067075449
+067075450,067075450
+067075451,067075451
+067075452,067075452
+067080116,067080116
+067080117,067080117
+067080118,067080118
+067080119,067080119
+067080120,067080120
+067080453,067080453
+067080454,067080454
+067080455,046086418
+067080456,067080456
+067080457,046080493
+067080458,046080489
+067080459,046086484
+067080460,046080499
+067080461,046086466
+067080462,067080462
+067080463,056080467
+067080464,067080464
+067080465,056086415
+067080466,046080469
+067084121,067084121
+067084122,067084122
+067084123,067084123
+067084124,067084124
+067084125,057085055
+067084126,067084126
+067084467,067084467
+067084468,067084468
+067084469,067084469
+067084470,067084470
+067085127,067085127
+067085128,067085128
+067085129,067085129
+067085130,067085130
+067085131,067085131
+067085132,067085132
+067085133,067085133
+067085134,067085134
+067085135,067085135
+067085136,067085136
+067085471,067085471
+067085660,067085660
+067086137,067086137
+067086138,067086138
+067086139,067086139
+067086472,067086472
+067086473,067086473
+067090140,067090140
+067090141,067090141
+067090142,067090142
+067090143,067090143
+067090144,067090144
+067090145,067090145
+067090474,046096552
+067090475,046090561
+067090476,056090515
+067090477,056096446
+067090478,046090504
+067090479,046090508
+067090480,046090502
+067090481,046096596
+067090482,046096610
+067090483,046090557
+067090484,067090484
+067090485,046090576
+067090486,046090563
+067090487,046090589
+067090488,067090488
+067090489,046090513
+067090490,046090517
+067090491,067090491
+067090492,067090492
+067090493,056090540
+067090494,046090577
+067090495,046096588
+067090496,067090496
+067090497,046090543
+067090498,046090570
+067090499,046090571
+067090500,046090554
+067090501,056090523
+067090502,046090553
+067090503,056096558
+067090504,046116715
+067094146,067094146
+067094147,067094147
+067094148,067094148
+067094149,067094149
+067094150,067094150
+067094151,067094151
+067094152,067094152
+067094153,067094153
+067094154,067094154
+067094155,067094155
+067094156,067094156
+067094505,067094505
+067094506,067094506
+067094507,067094507
+067094508,046014001
+067094509,046090587
+067094510,046115079
+067095157,067095157
+067095158,067095158
+067095159,067095159
+067095160,067095160
+067095161,067095161
+067095162,067095162
+067095163,067095163
+067095164,067095164
+067095165,067095165
+067095511,067095511
+067095512,067095512
+067095513,067095513
+067095514,067095514
+067095515,067095515
+067095516,067095516
+067095517,067095517
+067095518,067095518
+067095519,067095519
+067095520,067095520
+067095521,067095521
+067095522,067095522
+067095523,067095523
+067095524,067095524
+067095525,067095525
+067095526,067095526
+067095527,067095527
+067095528,067095528
+067095529,067095529
+067096166,067096166
+067096167,067096167
+067096168,067096168
+067096169,067096169
+067099005,067099005
+067100170,067100170
+067100171,067100171
+067100172,067100172
+067100530,067100530
+067100531,046106676
+067100532,046100662
+067100533,046106671
+067100534,046106677
+067100535,067100535
+067100536,046100652
+067100537,046100616
+067100538,046106631
+067100539,046100654
+067100540,046100634
+067100541,046100598
+067100542,046100610
+067100543,046100667
+067100544,046106650
+067100545,067100545
+067100546,046100664
+067104173,067104173
+067104174,067104174
+067104175,067104175
+067104176,067104176
+067104547,067104547
+067104548,056104108
+067104549,046084069
+067104550,046104101
+067104551,067104551
+067104552,067104552
+067104553,067104553
+067104554,067104554
+067104555,067104555
+067105556,067105556
+067105557,067105557
+067106177,067106177
+067110178,067110178
+067110179,067110179
+067110180,067110180
+067110181,067110181
+067110558,067110558
+067110559,056116707
+067110560,067110560
+067110561,067110561
+067110562,067110562
+067110563,056110714
+067110564,067110564
+067110565,046110766
+067110566,046110758
+067110567,046110760
+067110568,056110690
+067110569,067110569
+067110570,067110570
+067110571,067110571
+067110572,056110666
+067110573,046116695
+067110574,046116694
+067110575,056110681
+067110576,046116697
+067110577,046110700
+067110578,056110683
+067110579,067110579
+067114182,057115074
+067114183,067114183
+067114184,067114184
+067114185,067114185
+067114186,067114186
+067114187,067114187
+067114188,067114188
+067114189,067114189
+067114580,067114580
+067114581,067114581
+067114582,046114124
+067114583,046114118
+067114584,067114584
+067114585,046114123
+067114586,046114122
+067114587,067114587
+067114588,046114119
+067114589,046114108
+067114590,046114110
+067114591,046114112
+067114592,046114109
+067114593,067114593
+067114594,067114594
+067114595,046114111
+067114596,046114107
+067114597,046114106
+067115190,067115190
+067115191,067115191
+067115598,067115598
+067116192,067116192
+067119003,067119003
+067120599,067120599
+067120600,067120600
+067120601,067120601
+067120602,067120602
+067120603,056120755
+067120604,046120786
+067120605,046050275
+067120606,046120788
+067120607,046120781
+067124193,067124193
+067124194,067124194
+067124195,067124195
+067124196,067124196
+067124197,067124197
+067124198,067124198
+067124199,067124199
+067124608,067124608
+067124609,067124609
+067124610,067124610
+067124611,067124611
+067124612,067124612
+067124613,046134130
+067124614,067124614
+067124615,067124615
+067125200,067125200
+067125616,067125616
+067125617,067125617
+067134201,067134201
+067134618,067134618
+067135619,067135619
+067135620,067135620
+067135621,067135621
+067135622,067135622
+067135623,067135623
+067180202,057076007
+067180203,067180203
+067180624,067180624
+067180625,067180625
+067180626,067180626
+067180627,067180627
+2015302915f,2015302915f
+07190,07190
+07191,07191
+076038001,076038001
+2020070017,2020070017
+077010001,046010070
+077010002,046010001
+077010003,067010004
+077010004,046016007
+077014005,046014011
+077014006,046014007
+077014007,046096563
+077014008,046014008
+077015009,077015009
+077020010,077020010
+077020011,077020011
+077020012,046026050
+077020013,077020013
+077024014,077024014
+077024015,077024015
+077024016,077024016
+077024017,077024017
+077024018,077024018
+077025019,077025019
+077026020,046020088
+077030021,077030021
+077030022,077030022
+077030023,077030023
+077030024,077030024
+077034025,077034025
+077034026,077034026
+077034027,077034027
+077034028,077034028
+077034029,077034029
+077034030,077034030
+077035031,077035031
+077035032,077035032
+077035033,077035033
+077035034,077035034
+077035035,077035035
+077035036,077035036
+077036037,077036037
+077036038,077036038
+077040039,077040039
+077040040,077040040
+077040041,077040041
+077040042,077040042
+077040043,077040043
+077040044,077040044
+077044045,077044045
+077044046,077044046
+077044047,077044047
+077044048,077044048
+077045049,077045049
+077045050,077045050
+077045051,077045051
+077046052,077046052
+077046053,077046053
+077046054,046046192
+077050055,077050055
+077054056,077054056
+077054057,077054057
+077054058,077054058
+077054059,077054059
+077054060,077054060
+077054061,077054061
+077054062,077054062
+077054063,077054063
+077054064,077054064
+077054065,077054065
+077055066,077055066
+077055067,077055067
+077055068,077055068
+077055069,077055069
+077055070,077055070
+077055071,077055071
+077056072,077056072
+077056073,077056073
+077056074,077056074
+077060075,077060075
+077074076,077074076
+077074077,077074077
+077074078,077074078
+077080079,077080079
+077080080,046086400
+077080081,046086487
+077080082,077080082
+077080083,046010079
+077080084,077080084
+077080666,077080666
+077084085,077084085
+077084086,077084086
+077084087,077084087
+077084088,046084080
+077084089,077084089
+077085090,077085090
+077085091,077085091
+077085092,077085092
+077086093,077086093
+077086094,046086435
+077090095,046026045
+077090096,077090096
+077090097,077090097
+077090098,077090098
+077090099,046100659
+077090100,077090100
+077094101,077094101
+077094102,077094102
+077094103,077094103
+077094104,077094104
+077094105,077094105
+077094106,077094106
+077094107,077094107
+077094108,077094108
+077094109,077094109
+077094110,077094110
+077095111,077095111
+077095112,077095112
+077095113,077095113
+077096114,046090569
+077096115,046090591
+077100116,077100116
+077100117,077100117
+077100118,077100118
+077100119,077100119
+077100120,077100120
+077100121,077100121
+077100122,046100669
+077104123,077104123
+077104124,077104124
+077104125,077104125
+077104126,077104126
+077105127,077105127
+077110128,077110128
+077110129,077110129
+077114130,077114130
+077114131,077114131
+077114132,077114132
+077114133,077114133
+077114134,077114134
+077114135,077114135
+077115136,077115136
+077115137,077115137
+077115138,077115138
+077116139,046110727
+077124140,077124140
+077124141,077124141
+077124142,077124142
+077124143,077124143
+077126144,046126900
+077134145,077134145
+077134146,077134146
+077134147,077134147
+077134148,077134148
+077134149,077134149
+077184150,077184150
+077186151,077186151
+2020100322,2020100322
+2015301626f,2015301626f
+20200P0193,20200P0193
+08010,08010
+2015303418f,2015303418f
+2020100008,2020100008
+2020100397,2020100397
+2020100082,2020100082
+2020100164,2020100164
+2019070190,2019070190
+2020100183,2020100183
+2020100206,2020100206
+2020100007,2020100007
+2020100493,2020100493
+2018301978f,2018301978f
+2020100390,2020100390
+2020100210,2020100210
+2020100377,2020100377
+2018300263f,2018300263f
+2020100168,2020100168
+2016301374f,2016301374f
+2015301514f,2015301514f
+2020100416,2020100416
+2020100492,2020100492
+2015301071f,2015301071f
+2020070019,2020070019
+2015301680f,2015301680f
+2020100301,2020100301
+smartadmin,smartadmin
+2020100111,2020100111
+2020100130,2020100130
+2015300463f,2015300463f
+2018300214f,2018300214f
+20200P0189,20200P0189
+2019070179,2019070179
+2020100538,2020100538
+00100004,00100004
+2020100255,2020100255
+2018300002f,2018300002f
+2020100070,2020100070
+2020100245,2020100245
+2020100202,2020100202
+2020100012,2020100012
+2015301948f,2015301948f
+2020100079,2020100079
+2020100058,2020100058
+2020100185,2020100185
+2020100339,2020100339
+2020100242,2020100242
+2015301481f,2015301481f
+2020100035,2020100035
+2020100373,2020100373
+2020100285,2020100285
+2018300068f,2018300068f
+2018301040f,2018301040f
+2016300135f,2016300135f
+2015302013f,2015302013f
+2020100154,2020100154
+2020100099,2020100099
+2020100287,2020100287
+2020100045,2020100045
+2020100351,2020100351
+2020100215,2020100215
+2020100144,2020100144
+2020100304,2020100304
+2020100292,2020100292
+2016301379f,2016301379f
+2020100071,2020100071
+2018303588f,2018303588f
+1949000001,1949000001
+1957000001,1957000001
+2020100131,2020100131
+2020100048,2020100048
+2015301049f,2015301049f
+1969000001,1969000001
+1971000074,1971000074
+1972000004,1972000004
+1972000025,1972000025
+1972000027,1972000027
+1972000035,1972000035
+1972000049,1972000049
+1973000051,1973000051
+1974000010,1974000010
+1975000007,1975000007
+1975000015,1975000015
+1976000054,1976000054
+1977000008,1977000008
+1977000010,1977000010
+1977000032,1977000032
+1977000038,1977000038
+1977000047,1977000047
+1977000058,1977000058
+1977000060,1977000060
+1977000062,1977000062
+1978000003,1978000003
+1978000009,1978000009
+1978000010,1978000010
+1978000013,1978000013
+1978000038,1978000038
+1978000050,1978000050
+1978000052,1978000052
+1978000058,1978000058
+1979000027,1979000027
+1979000029,1979000029
+1979000044,1979000044
+1979000046,1979000046
+1979000052,1979000052
+1979000056,1979000056
+1979000057,1979000057
+1979000058,1979000058
+1979000064,1979000064
+1979000065,1979000065
+1979000068,1979000068
+1979000070,1979000070
+1979000075,1979000075
+1979000076,1979000076
+1979000082,1979000082
+1979000083,1979000083
+1979000084,1979000084
+1980000004,1980000004
+1980000020,1980000020
+1980000023,1980000023
+1980000036,1980000036
+1980000038,1980000038
+1980000039,1980000039
+1980000040,1980000040
+1980000042,1980000042
+1980000046,1980000046
+1980000047,1980000047
+1980000048,1980000048
+1981000001,1981000001
+1981000007,1981000007
+1981000009,1981000009
+1981000014,1981000014
+1981000015,1981000015
+1981000016,1981000016
+1981000018,1981000018
+1981000020,1981000020
+1981000021,1981000021
+1981000022,1981000022
+1981000023,1981000023
+1981000027,1981000027
+1981000028,1981000028
+1981000031,1981000031
+1981000035,1981000035
+1981000036,1981000036
+1981000037,1981000037
+1981000038,1981000038
+1981000039,1981000039
+1981000041,1981000041
+1981000048,1981000048
+1981000049,1981000049
+1981000051,1981000051
+1981000052,1981000052
+1981000057,1981000057
+1981000059,1981000059
+1981000063,1981000063
+1981000065,1981000065
+1981000067,1981000067
+1981000068,1981000068
+1981000072,1981000072
+1981000078,1981000078
+1981000081,1981000081
+1981000087,1981000087
+1981000088,1981000088
+1981000089,1981000089
+1981000090,1981000090
+1981000095,1981000095
+1981000099,1981000099
+1981000100,1981000100
+1981000101,1981000101
+1981000102,1981000102
+1981000103,1981000103
+1981000105,1981000105
+1981000106,1981000106
+1981000107,1981000107
+1981000109,1981000109
+1981000110,1981000110
+1981000114,1981000114
+1981000115,1981000115
+1981000116,1981000116
+1981000117,1981000117
+1981000119,1981000119
+1981000121,1981000121
+1981000124,1981000124
+1981000125,1981000125
+1981000128,1981000128
+1981000131,1981000131
+1981000133,1981000133
+1981000136,1981000136
+1981000140,1981000140
+1981000147,1981000147
+1981000148,1981000148
+1981000151,1981000151
+1981000152,1981000152
+1981000153,1981000153
+1981000155,1981000155
+1981000158,1981000158
+1981000159,1981000159
+1981000178,1981000178
+1981000187,1981000187
+1981000190,1981000190
+1981000194,1981000194
+1981000204,1981000204
+1981000209,1981000209
+1981000215,1981000215
+1981000216,1981000216
+1981000217,1981000217
+1981000220,1981000220
+1981000222,1981000222
+1981000228,1981000228
+1982000005,1982000005
+1982000008,1982000008
+1982000010,1982000010
+1982000013,1982000013
+1982000014,1982000014
+1982000021,1982000021
+1982000025,1982000025
+1982000028,1982000028
+1982000029,1982000029
+1982000031,1982000031
+1982000037,1982000037
+1982000038,1982000038
+1982000039,1982000039
+1982000040,1982000040
+1982000041,1982000041
+1982000044,1982000044
+1982000045,1982000045
+1982000046,1982000046
+1982000050,1982000050
+1982000052,1982000052
+1982000053,1982000053
+1982000055,1982000055
+1982000057,1982000057
+1982000058,1982000058
+1982000059,1982000059
+1982000060,1982000060
+1982000063,1982000063
+1982000065,1982000065
+1982000066,1982000066
+1982000067,1982000067
+1982000068,1982000068
+1982000069,1982000069
+1982000070,1982000070
+1982000072,1982000072
+1982000073,1982000073
+1982000075,1982000075
+1982000078,1982000078
+1982000080,1982000080
+1982000081,1982000081
+1982000083,1982000083
+1982000085,1982000085
+1982000087,1982000087
+1982000088,1982000088
+1983000001,1983000001
+1983000003,1983000003
+1983000008,1983000008
+1983000009,1983000009
+1983000011,1983000011
+1983000012,1983000012
+1983000014,1983000014
+1983000015,1983000015
+1983000016,1983000016
+1983000017,1983000017
+1983000018,1983000018
+1983000019,1983000019
+1983000021,1983000021
+1983000022,1983000022
+1983000023,1983000023
+1983000024,1983000024
+1983000026,1983000026
+1983000028,1983000028
+1983000030,1983000030
+1983000031,1983000031
+1983000032,1983000032
+1983000033,1983000033
+1983000035,1983000035
+1983000039,1983000039
+1983000040,1983000040
+1983000041,1983000041
+1983000043,1983000043
+1983000048,1983000048
+1983000051,1983000051
+1983000052,1983000052
+1983000053,1983000053
+1983000059,1983000059
+1983000060,1983000060
+1983000065,1983000065
+1983000066,1983000066
+1983000067,1983000067
+1983000068,1983000068
+1983000069,1983000069
+1983000070,1983000070
+1984000007,1984000007
+1984000009,1984000009
+1984000011,1984000011
+1984000012,1984000012
+1984000015,1984000015
+1984000017,1984000017
+1984000018,1984000018
+1984000019,1984000019
+1984000020,1984000020
+1984000021,1984000021
+1984000022,1984000022
+1984000023,1984000023
+1984000025,1984000025
+1984000026,1984000026
+1984000029,1984000029
+1984000030,1984000030
+1984000032,1984000032
+1984000038,1984000038
+1984000039,1984000039
+1984000040,1984000040
+1984000041,1984000041
+1984000042,1984000042
+1984000043,1984000043
+1984000044,1984000044
+1984000046,1984000046
+1984000047,1984000047
+1984000049,1984000049
+1984000050,1984000050
+1984000051,1984000051
+1984000052,1984000052
+1984000053,1984000053
+1984000054,047094202
+1984000055,1984000055
+1984000056,1984000056
+1984000057,1984000057
+1984000059,1984000059
+1984000060,1984000060
+1984000061,1984000061
+1984000062,1984000062
+1984000063,1984000063
+1984000065,1984000065
+1984000067,1984000067
+1984000076,1984000076
+1984000078,1984000078
+1984000079,1984000079
+1984000080,1984000080
+1984000082,1984000082
+1984000083,1984000083
+1984000084,1984000084
+1984000085,1984000085
+1984000089,1984000089
+1984000091,1984000091
+1984000092,1984000092
+1984000093,1984000093
+1984000097,1984000097
+1984000100,1984000100
+1984000101,1984000101
+1984000104,1984000104
+1984000105,1984000105
+1984000106,1984000106
+1984010001,1984010001
+1984010002,1984010002
+1984010003,1984010003
+1984010004,1984010004
+1984010008,1984010008
+1984010013,1984010013
+1984010069,1984010069
+1984010070,1984010070
+1984010075,1984010075
+1984010102,1984010102
+1984010108,1984010108
+1985000001,1985000001
+1985000005,1985000005
+1985000007,1985000007
+1985000008,1985000008
+1985000010,1985000010
+1985000012,1985000012
+1985000013,1985000013
+1985000015,1985000015
+1985000016,1985000016
+1985000017,1985000017
+1985000018,1985000018
+1985000019,1985000019
+1985000021,1985000021
+1985000022,1985000022
+1985000023,1985000023
+1985000024,1985000024
+1985000026,1985000026
+1985000029,1985000029
+1985000030,1985000030
+1985000032,1985000032
+1985000033,1985000033
+1985000034,1985000034
+1985000035,1985000035
+1985000036,1985000036
+1985000037,1985000037
+1985000038,1985000038
+1985000039,1985000039
+1985000040,1985000040
+1985000041,1985000041
+1985000042,1985000042
+1985000043,1985000043
+1985000044,1985000044
+1985000045,1985000045
+1985000046,1985000046
+1985000047,1985000047
+1985000048,1985000048
+1985000049,1985000049
+1985000050,1985000050
+1985000051,1985000051
+1985000052,1985000052
+1985000053,1985000053
+1985000054,1985000054
+1985000055,1985000055
+1985000056,1985000056
+1985000057,1985000057
+1985000058,1985000058
+1985000059,1985000059
+1985000060,1985000060
+1985000061,1985000061
+1985000062,1985000062
+1985000063,1985000063
+1985000064,057124104
+1985000065,1985000065
+1985000067,1985000067
+1985000068,1985000068
+1985000071,1985000071
+1985000072,1985000072
+1985000073,1985000073
+1985000075,1985000075
+1985000081,1985000081
+1985000082,1985000082
+1985000084,1985000084
+1985000088,1985000088
+1985000093,1985000093
+1985000096,1985000096
+1985000097,1985000097
+1985000098,1985000098
+1985010014,1985010014
+1985010066,1985010066
+1985010083,1985010083
+1985010090,1985010090
+1985010092,1985010092
+1985010094,1985010094
+1985010099,1985010099
+1986000001,1986000001
+1986000004,1986000004
+1986000005,1986000005
+1986000007,1986000007
+1986000010,1986000010
+1986000012,1986000012
+1986000019,1986000019
+1986000020,1986000020
+1986000021,1986000021
+1986000022,1986000022
+1986000023,1986000023
+1986000025,1986000025
+1986000026,1986000026
+1986000028,1986000028
+1986000029,1986000029
+1986000030,1986000030
+1986000031,1986000031
+1986000032,1986000032
+1986000033,1986000033
+1986000034,1986000034
+1986000035,1986000035
+1986000036,1986000036
+1986000037,1986000037
+1986000038,1986000038
+1986000039,1986000039
+1986000040,1986000040
+1986000041,1986000041
+1986000042,1986000042
+1986000044,1986000044
+1986000045,1986000045
+1986000046,1986000046
+1986000047,1986000047
+1986000050,1986000050
+1986000051,1986000051
+1986000052,1986000052
+1986000053,1986000053
+1986000054,057054164
+1986000055,1986000055
+1986000056,077054060
+1986000057,1986000057
+1986000058,1986000058
+1986000059,1986000059
+1986000060,1986000060
+1986000061,1986000061
+1986000063,1986000063
+1986000064,1986000064
+1986000065,1986000065
+1986000066,1986000066
+1986000067,1986000067
+1986000069,1986000069
+1986000070,1986000070
+1986000071,1986000071
+1986000072,1986000072
+1986000073,1986000073
+1986000074,1986000074
+1986000075,1986000075
+1986000076,1986000076
+1986000078,1986000078
+1986000079,1986000079
+1986000080,1986000080
+1986000081,1986000081
+1986000082,1986000082
+1986000083,1986000083
+1986000085,1986000085
+1986000086,1986000086
+1986000087,1986000087
+1986000088,1986000088
+1986000089,1986000089
+1986000090,1986000090
+1986000091,1986000091
+1986000092,1986000092
+1986000094,1986000094
+1986000095,1986000095
+1986000096,1986000096
+1986000097,1986000097
+1986000098,1986000098
+1986000102,1986000102
+1986000133,1986000133
+1986000134,057054040
+1986010104,1986010104
+1986010106,1986010106
+1986010109,1986010109
+1986010110,1986010110
+1986010114,1986010114
+1986010115,1986010115
+1986010118,1986010118
+1986010119,1986010119
+1986010121,1986010121
+1986010123,1986010123
+1986010130,1986010130
+1986010135,1986010135
+1987000001,1987000001
+1987000003,1987000003
+1987000004,1987000004
+1987000008,1987000008
+1987000011,1987000011
+1987000013,1987000013
+1987000014,1987000014
+1987000016,1987000016
+1987000017,1987000017
+1987000018,1987000018
+1987000019,1987000019
+1987000020,1987000020
+1987000021,1987000021
+1987000022,1987000022
+1987000023,1987000023
+1987000024,1987000024
+1987000025,1987000025
+1987000026,1987000026
+1987000027,1987000027
+1987000028,1987000028
+1987000030,1987000030
+1987000032,1987000032
+1987000033,1987000033
+1987000034,1987000034
+1987000035,1987000035
+1987000036,1987000036
+1987000037,1987000037
+1987000038,1987000038
+1987000039,1987000039
+1987000040,1987000040
+1987000041,1987000041
+1987000042,047054135
+1987000043,1987000043
+1987000044,1987000044
+1987000045,1987000045
+1987000046,1987000046
+1987000048,1987000048
+1987000049,1987000049
+1987000050,1987000050
+1987000051,1987000051
+1987000052,1987000052
+1987000053,1987000053
+1987000054,1987000054
+1987000055,1987000055
+1987000056,1987000056
+1987000057,1987000057
+1987000058,1987000058
+1987000059,1987000059
+1987000060,1987000060
+1987000061,1987000061
+1987000062,1987000062
+1987000063,1987000063
+1987000064,1987000064
+1987000065,1987000065
+1987000066,1987000066
+1987000067,1987000067
+1987000070,1987000070
+1987000071,1987000071
+1987000072,1987000072
+1987000073,1987000073
+1987000074,1987000074
+1987000075,1987000075
+1987000076,1987000076
+1987000077,1987000077
+1987000078,1987000078
+1987000079,1987000079
+1987000080,1987000080
+1987000083,1987000083
+1987000084,1987000084
+1987000085,1987000085
+1987000087,1987000087
+1987010029,1987010029
+1987010031,1987010031
+1988000004,1988000004
+1988000008,1988000008
+1988000024,1988000024
+1988000026,1988000026
+1988000027,1988000027
+1988000028,1988000028
+1988000029,1988000029
+1988000030,1988000030
+1988000031,1988000031
+1988000032,1988000032
+1988000033,1988000033
+1988000034,1988000034
+1988000035,1988000035
+1988000036,1988000036
+1988000037,1988000037
+1988000038,1988000038
+1988000039,1988000039
+1988000040,1988000040
+1988000041,1988000041
+1988000042,1988000042
+1988000043,1988000043
+1988000044,1988000044
+1988000045,1988000045
+1988000047,1988000047
+1988000048,1988000048
+1988000049,1988000049
+1988000050,1988000050
+1988000051,1988000051
+1988000053,1988000053
+1988000054,1988000054
+1988000058,1988000058
+1988000059,1988000059
+1988000060,1988000060
+1988000061,1988000061
+1988000062,1988000062
+1988000063,1988000063
+1988000064,1988000064
+1988000066,1988000066
+1988000070,1988000070
+1988000071,1988000071
+1988000072,1988000072
+1988000073,1988000073
+1988000074,1988000074
+1988000077,1988000077
+1988000078,1988000078
+1988000079,1988000079
+1988000080,1988000080
+1988000081,1988000081
+1988000082,1988000082
+1988000083,1988000083
+1988000084,1988000084
+1988000085,1988000085
+1988000086,046055033
+1988000087,1988000087
+1988000088,1988000088
+1988000089,1988000089
+1988000090,1988000090
+1988000091,1988000091
+1988000092,1988000092
+1988000093,1988000093
+1988000094,1988000094
+1988000095,1988000095
+1988000096,1988000096
+1988000097,1988000097
+1988000098,1988000098
+1988000099,1988000099
+1988000101,1988000101
+1988000104,1988000104
+1988000106,1988000106
+1988000108,1988000108
+1988000114,1988000114
+1988000115,1988000115
+1988000116,1988000116
+1988000118,1988000118
+1988000119,1988000119
+1988000120,1988000120
+1988000121,1988000121
+1988000123,1988000123
+1988000124,1988000124
+1988000125,1988000125
+1988000126,1988000126
+1988000127,1988000127
+1988000129,1988000129
+1988000130,1988000130
+1988000131,1988000131
+1988000132,1988000132
+1988010001,1988010001
+1988010003,1988010003
+1988010005,1988010005
+1988010010,1988010010
+1988010013,1988010013
+1988010015,1988010015
+1988010128,1988010128
+1989000002,1989000002
+1989000003,1989000003
+1989000004,1989000004
+1989000005,1989000005
+1989000006,1989000006
+1989000008,1989000008
+1989000010,1989000010
+1989000011,1989000011
+1989000012,1989000012
+1989000013,1989000013
+1989000014,1989000014
+1989000015,1989000015
+1989000016,1989000016
+1989000017,1989000017
+1989000018,1989000018
+1989000022,1989000022
+1989000023,1989000023
+1989000025,1989000025
+1989000027,1989000027
+1989000028,1989000028
+1989000029,1989000029
+1989000030,1989000030
+1989000031,1989000031
+1989000032,1989000032
+1989000034,1989000034
+1989000035,1989000035
+1989000036,1989000036
+1989000037,1989000037
+1989000038,1989000038
+1989000039,1989000039
+1989000040,1989000040
+1989000042,1989000042
+1989000043,1989000043
+1989000044,1989000044
+1989000045,1989000045
+1989000046,1989000046
+1989000047,056018008
+1989000048,1989000048
+1989000049,1989000049
+1989000050,1989000050
+1989000051,1989000051
+1989000052,1989000052
+1989000054,1989000054
+1989000055,1989000055
+1989000056,1989000056
+1989000060,1989000060
+1989000061,1989000061
+1989000066,1989000066
+1989000067,1989000067
+1989000074,1989000074
+1989000076,1989000076
+1989000078,1989000078
+1989000082,1989000082
+1989000083,1989000083
+1989000084,1989000084
+1989000085,1989000085
+1989000110,1989000110
+1989000113,1989000113
+1989000114,1989000114
+1989000115,1989000115
+1989000116,1989000116
+1989000117,1989000117
+1989000118,1989000118
+1989000119,1989000119
+1989010063,1989010063
+1989010064,1989010064
+1989010068,1989010068
+1989010069,1989010069
+1989010072,1989010072
+1989010073,1989010073
+1989010079,1989010079
+1989010081,1989010081
+1989010089,1989010089
+1989010093,1989010093
+1989010094,1989010094
+1989010095,1989010095
+1989010096,1989010096
+1989010097,1989010097
+1989010098,1989010098
+1989010100,1989010100
+1989010103,1989010103
+1989010104,1989010104
+1989010105,1989010105
+1989010106,1989010106
+1989010107,1989010107
+1989010108,1989010108
+1989010112,1989010112
+1989010120,1989010120
+1990000003,1990000003
+1990000011,1990000011
+1990000012,1990000012
+1990000013,1990000013
+1990000014,1990000014
+1990000016,1990000016
+1990000017,1990000017
+1990000018,1990000018
+1990000019,1990000019
+1990000020,1990000020
+1990000021,1990000021
+1990000022,1990000022
+1990000023,1990000023
+1990000024,1990000024
+1990000025,1990000025
+1990000026,1990000026
+1990000027,1990000027
+1990000028,1990000028
+1990000029,1990000029
+1990000030,1990000030
+1990000031,1990000031
+1990000032,1990000032
+1990000033,1990000033
+1990000034,1990000034
+1990000035,1990000035
+1990000037,1990000037
+1990000039,1990000039
+1990000040,1990000040
+1990000041,1990000041
+1990000042,1990000042
+1990000043,1990000043
+1990000044,1990000044
+1990000045,1990000045
+1990000046,1990000046
+1990000047,1990000047
+1990000048,1990000048
+1990000051,1990000051
+1990000052,1990000052
+1990000053,1990000053
+1990000054,1990000054
+1990000055,1990000055
+1990000056,1990000056
+1990000057,1990000057
+1990000058,1990000058
+1990000059,1990000059
+1990000060,1990000060
+1990000061,1990000061
+1990000063,1990000063
+1990000064,1990000064
+1990000065,1990000065
+1990000066,1990000066
+1990000067,1990000067
+1990000068,1990000068
+1990000069,1990000069
+1990000070,1990000070
+1990000072,1990000072
+1990000073,1990000073
+1990000075,1990000075
+1990000078,1990000078
+1990000079,1990000079
+1990000080,1990000080
+1990000081,1990000081
+1990000082,1990000082
+1990000083,1990000083
+1990010004,1990010004
+1990010005,1990010005
+1990010006,1990010006
+1990010009,1990010009
+1990010038,1990010038
+1990010049,1990010049
+1991000001,1991000001
+1991000002,1991000002
+1991000003,1991000003
+1991000004,1991000004
+1991000005,1991000005
+1991000006,1991000006
+1991000007,1991000007
+1991000008,1991000008
+1991000009,1991000009
+1991000010,1991000010
+1991000011,1991000011
+1991000012,1991000012
+1991000014,1991000014
+1991000015,1991000015
+1991000016,1991000016
+1991000017,1991000017
+1991000018,1991000018
+1991000019,1991000019
+1991000020,1991000020
+1991000021,1991000021
+1991000022,1991000022
+1991000023,1991000023
+1991000024,1991000024
+1991000025,1991000025
+1991000026,1991000026
+1991000027,1991000027
+1991000028,1991000028
+1991000029,1991000029
+1991000030,1991000030
+1991000031,1991000031
+1991000032,1991000032
+1991000033,1991000033
+1991000034,1991000034
+1991000035,1991000035
+1991000036,1991000036
+1991000037,1991000037
+1991000038,1991000038
+1991000039,1991000039
+1991000040,1991000040
+1991000041,1991000041
+1991000042,047014124
+1991000043,1991000043
+1991000044,1991000044
+1991000046,1991000046
+1991000047,046134125
+1991000048,1991000048
+1991000051,1991000051
+1991000052,1991000052
+1991000053,1991000053
+1991000054,1991000054
+1991000055,1991000055
+1991000057,1991000057
+1991000058,1991000058
+1991000062,1991000062
+1991000064,1991000064
+1991000065,1991000065
+1991000066,1991000066
+1991000068,1991000068
+1991010013,1991010013
+1991010059,1991010059
+1992000020,1992000020
+1992000021,1992000021
+1992000023,1992000023
+1992000024,1992000024
+1992000025,1992000025
+1992000026,1992000026
+1992000027,1992000027
+1992000028,1992000028
+1992000029,1992000029
+1992000030,1992000030
+1992000031,1992000031
+1992000032,1992000032
+1992000033,057054170
+1992000034,1992000034
+1992000035,1992000035
+1992000036,1992000036
+1992000037,1992000037
+1992000038,1992000038
+1992000039,1992000039
+1992000040,1992000040
+1992000041,1992000041
+1992000045,1992000045
+1992000046,1992000046
+1992000047,1992000047
+1992000048,1992000048
+1992000049,1992000049
+1992000050,1992000050
+1992000051,1992000051
+1992000052,1992000052
+1992000053,1992000053
+1992000054,1992000054
+1992000055,1992000055
+1992000056,1992000056
+1992000057,1992000057
+1992000058,1992000058
+1992000059,057104093
+1992000060,1992000060
+1992000061,1992000061
+1992000063,1992000063
+1992000065,1992000065
+1992000066,1992000066
+1992000067,1992000067
+1992000074,1992000074
+1992000075,1992000075
+1992000076,1992000076
+1992000077,067014015
+1992000078,1992000078
+1992000079,1992000079
+1992000080,1992000080
+1992000081,1992000081
+1992000082,1992000082
+1992000083,1992000083
+1992000084,1992000084
+1992000085,1992000085
+1992000086,1992000086
+1992000087,1992000087
+1992000088,1992000088
+1992000089,1992000089
+1992000090,057054112
+1992000091,046075046
+1992000092,047134189
+1992000093,1992000093
+1992000094,1992000094
+1992000095,1992000095
+1992000096,1992000096
+1992000097,1992000097
+1992000098,1992000098
+1992000099,1992000099
+1992000100,1992000100
+1992000101,1992000101
+1992000102,1992000102
+1992000105,1992000105
+1992000106,1992000106
+1992000108,1992000108
+1992000109,1992000109
+1992000114,1992000114
+1992000115,1992000115
+1992000116,1992000116
+1992000117,1992000117
+1992000118,1992000118
+1992000119,1992000119
+1992000120,057094201
+1992000121,1992000121
+1992000122,1992000122
+1992000124,1992000124
+1992000128,1992000128
+1992000129,1992000129
+1992000134,1992000134
+1992000135,1992000135
+1992000138,1992000138
+1992000139,1992000139
+1992000140,1992000140
+1992000143,1992000143
+1992000144,1992000144
+1992000145,1992000145
+1992000146,1992000146
+1992000147,1992000147
+1992000148,1992000148
+1992000150,066105038
+1992000152,1992000152
+1992000153,1992000153
+1992000158,1992000158
+1992000159,1992000159
+1992010001,1992010001
+1992010003,1992010003
+1992010005,1992010005
+1992010006,1992010006
+1992010007,1992010007
+1992010009,1992010009
+1992010010,1992010010
+1992010011,1992010011
+1992010013,1992010013
+1992010014,1992010014
+1992010015,1992010015
+1992010016,1992010016
+1992010017,1992010017
+1992010019,1992010019
+1992010044,1992010044
+1992010069,1992010069
+1992010071,1992010071
+1992010072,1992010072
+1992010110,1992010110
+1992010125,1992010125
+1992010133,1992010133
+1992010136,1992010136
+1992010141,1992010141
+1992010149,06612G331
+1992010151,1992010151
+1992010156,1992010156
+1992010157,1992010157
+1993000003,067054399
+1993000004,1993000004
+1993000005,1993000005
+1993000007,1993000007
+1993000008,1993000008
+1993000009,1993000009
+1993000010,1993000010
+1993000011,1993000011
+1993000012,1993000012
+1993000013,1993000013
+1993000014,1993000014
+1993000015,1993000015
+1993000016,1993000016
+1993000017,1993000017
+1993000018,1993000018
+1993000019,1993000019
+1993000020,1993000020
+1993000022,1993000022
+1993000023,1993000023
+1993000024,1993000024
+1993000025,1993000025
+1993000026,1993000026
+1993000027,1993000027
+1993000028,1993000028
+1993000029,1993000029
+1993000030,1993000030
+1993000031,1993000031
+1993000032,1993000032
+1993000033,1993000033
+1993000035,1993000035
+1993000036,1993000036
+1993000038,1993000038
+1993000039,1993000039
+1993000040,1993000040
+1993000041,1993000041
+1993000042,1993000042
+1993000043,1993000043
+1993000044,1993000044
+1993000045,1993000045
+1993000046,1993000046
+1993000047,1993000047
+1993000048,1993000048
+1993000049,1993000049
+1993000050,1993000050
+1993000051,1993000051
+1993000052,1993000052
+1993000054,1993000054
+1993000055,1993000055
+1993000056,1993000056
+1993000057,1993000057
+1993000058,056025013
+1993000059,1993000059
+1993000060,1993000060
+1993000061,1993000061
+1993000062,1993000062
+1993000063,1993000063
+1993000064,1993000064
+1993000065,1993000065
+1993000066,1993000066
+1993000067,1993000067
+1993000068,1993000068
+1993000069,1993000069
+1993000070,1993000070
+1993000071,1993000071
+1993000072,1993000072
+1993000073,1993000073
+1993000074,1993000074
+1993000075,05614G027
+1993000076,1993000076
+1993000077,067134201
+1993000078,1993000078
+1993000079,1993000079
+1993000080,1993000080
+1993000081,1993000081
+1993000082,1993000082
+1993000083,1993000083
+1993000084,1993000084
+1993000085,1993000085
+1993000086,1993000086
+1993000087,1993000087
+1993000088,1993000088
+1993000089,1993000089
+1993000090,1993000090
+1993000091,1993000091
+1993000093,06612G284
+1993000094,057034027
+1993000095,1993000095
+1993000096,1993000096
+1993000097,1993000097
+1993000100,1993000100
+1993000104,1993000104
+1993000105,1993000105
+1993000109,1993000109
+1993000110,1993000110
+1993000111,1993000111
+1993000113,1993000113
+1993000114,1993000114
+1993000115,1993000115
+1993010001,1993010001
+1993010006,1993010006
+1993010099,1993010099
+1993010108,1993010108
+1994000002,1994000002
+1994000007,1994000007
+1994000008,1994000008
+1994000009,1994000009
+1994000010,1994000010
+1994000011,1994000011
+1994000012,1994000012
+1994000013,1994000013
+1994000014,1994000014
+1994000015,1994000015
+1994000016,1994000016
+1994000017,1994000017
+1994000018,1994000018
+1994000019,1994000019
+1994000020,1994000020
+1994000021,1994000021
+1994000022,1994000022
+1994000023,1994000023
+1994000024,1994000024
+1994000025,1994000025
+1994000027,1994000027
+1994000029,1994000029
+1994000030,1994000030
+1994000031,1994000031
+1994000032,046135092
+1994000033,1994000033
+1994000034,1994000034
+1994000035,1994000035
+1994000036,1994000036
+1994000037,1994000037
+1994000038,1994000038
+1994000039,1994000039
+1994000040,1994000040
+1994000041,1994000041
+1994000042,1994000042
+1994000043,1994000043
+1994000044,1994000044
+1994000045,1994000045
+1994000046,1994000046
+1994000047,1994000047
+1994000048,1994000048
+1994000049,1994000049
+1994000050,1994000050
+1994000051,1994000051
+1994000052,1994000052
+1994000053,1994000053
+1994000054,1994000054
+1994000056,1994000056
+1994000057,1994000057
+1994000058,1994000058
+1994000059,1994000059
+1994000060,1994000060
+1994000061,1994000061
+1994000062,1994000062
+1994000063,1994000063
+1994000064,1994000064
+1994000065,1994000065
+1994000066,1994000066
+1994000067,1994000067
+1994000068,1994000068
+1994000069,1994000069
+1994000070,1994000070
+1994000071,1994000071
+1994000072,1994000072
+1994000073,046095071
+1994000074,1994000074
+1994000075,1994000075
+1994000076,1994000076
+1994000077,1994000077
+1994000078,1994000078
+1994000079,1994000079
+1994000080,1994000080
+1994000081,1994000081
+1994000082,1994000082
+1994000083,1994000083
+1994000084,1994000084
+1994000087,1994000087
+1994000088,1994000088
+1994000089,1994000089
+1994000091,1994000091
+1994000092,1994000092
+1994000094,1994000094
+1994000097,1994000097
+1994000098,1994000098
+1994000103,1994000103
+1994010093,1994010093
+1994010102,1994010102
+1995000001,1995000001
+1995000002,1995000002
+1995000003,1995000003
+1995000004,1995000004
+1995000007,1995000007
+1995000008,1995000008
+1995000011,1995000011
+1995000013,1995000013
+1995000015,1995000015
+1995000016,1995000016
+1995000020,1995000020
+1995000023,1995000023
+1995000024,1995000024
+1995000025,1995000025
+1995000029,1995000029
+1995000030,1995000030
+1995000031,1995000031
+1995000032,1995000032
+1995000033,057094077
+1995000034,1995000034
+1995000035,1995000035
+1995000036,1995000036
+1995000038,1995000038
+1995000039,1995000039
+1995000040,1995000040
+1995000041,1995000041
+1995000042,1995000042
+1995000043,1995000043
+1995000044,1995000044
+1995000045,1995000045
+1995000047,1995000047
+1995000048,1995000048
+1995000049,1995000049
+1995000050,1995000050
+1995000052,1995000052
+1995000054,1995000054
+1995000055,1995000055
+1995000056,1995000056
+1995000057,1995000057
+1995000059,1995000059
+1995000060,1995000060
+1995000061,047074153
+1995000062,1995000062
+1995000063,1995000063
+1995000064,1995000064
+1995000065,1995000065
+1995000066,1995000066
+1995000067,1995000067
+1995000068,1995000068
+1995000069,1995000069
+1995000070,1995000070
+1995000071,1995000071
+1995000072,1995000072
+1995000073,1995000073
+1995000074,056065049
+1995000075,1995000075
+1995000076,1995000076
+1995000077,1995000077
+1995000078,1995000078
+1995000079,1995000079
+1995000081,1995000081
+1995000082,05612G338
+1995000083,1995000083
+1995000084,1995000084
+1995000085,047024090
+1995000086,056134119
+1995000087,1995000087
+1995000088,1995000088
+1995000089,1995000089
+1995000090,1995000090
+1995000091,1995000091
+1995000092,1995000092
+1995000093,1995000093
+1995000094,1995000094
+1995000095,1995000095
+1995000096,1995000096
+1995000097,1995000097
+1995000098,1995000098
+1995000099,1995000099
+1995000100,1995000100
+1995000101,1995000101
+1995000102,1995000102
+1995000103,1995000103
+1995000105,1995000105
+1995000106,1995000106
+1995000107,1995000107
+1995000108,1995000108
+1995000109,1995000109
+1995000110,1995000110
+1995000111,1995000111
+1995000112,1995000112
+1995000113,1995000113
+1995000114,1995000114
+1995000115,1995000115
+1995000116,1995000116
+1995000117,1995000117
+1995000118,1995000118
+1995000119,1995000119
+1995000120,1995000120
+1995000121,1995000121
+1995000122,1995000122
+1995000123,1995000123
+1995000124,1995000124
+1995000125,1995000125
+1995000127,1995000127
+1995000128,1995000128
+1995000130,1995000130
+1995000131,1995000131
+1995000132,1995000132
+1995000133,1995000133
+1995000135,1995000135
+1995000137,1995000137
+1995000139,1995000139
+1995000140,1995000140
+1995000142,1995000142
+1995000143,056135085
+1995000145,1995000145
+1995000146,1995000146
+1995000147,1995000147
+1995010012,1995010012
+1995010017,1995010017
+1995010018,1995010018
+1995010019,1995010019
+1995010021,1995010021
+1995010026,1995010026
+1995010027,1995010027
+1995010028,1995010028
+1995010046,1995010046
+1995010134,1995010134
+1995010136,1995010136
+1996000001,1996000001
+1996000002,1996000002
+1996000003,1996000003
+1996000005,1996000005
+1996000006,1996000006
+1996000008,1996000008
+1996000009,1996000009
+1996000010,1996000010
+1996000011,1996000011
+1996000012,1996000012
+1996000013,1996000013
+1996000014,1996000014
+1996000015,1996000015
+1996000016,1996000016
+1996000017,1996000017
+1996000018,1996000018
+1996000019,1996000019
+1996000020,1996000020
+1996000021,1996000021
+1996000022,1996000022
+1996000025,1996000025
+1996000026,1996000026
+1996000027,1996000027
+1996000028,1996000028
+1996000029,1996000029
+1996000030,1996000030
+1996000032,1996000032
+1996000033,1996000033
+1996000034,1996000034
+1996000035,1996000035
+1996000036,1996000036
+1996000037,1996000037
+1996000038,1996000038
+1996000039,1996000039
+1996000040,1996000040
+1996000041,1996000041
+1996000042,1996000042
+1996000043,1996000043
+1996000044,1996000044
+1996000045,1996000045
+1996000046,1996000046
+1996000047,1996000047
+1996000048,1996000048
+1996000049,1996000049
+1996000050,1996000050
+1996000051,1996000051
+1996000052,1996000052
+1996000053,1996000053
+1996000054,046085049
+1996000055,1996000055
+1996000056,1996000056
+1996000057,1996000057
+1996000058,1996000058
+1996000059,1996000059
+1996000060,057114213
+1996000062,1996000062
+1996000063,1996000063
+1996000064,1996000064
+1996000065,1996000065
+1996000066,1996000066
+1996000067,1996000067
+1996000068,1996000068
+1996000069,1996000069
+1996000070,1996000070
+1996000071,1996000071
+1996000072,077054061
+1996000073,1996000073
+1996000074,1996000074
+1996000075,1996000075
+1996000079,1996000079
+1996000080,1996000080
+1996000081,1996000081
+1996000082,1996000082
+1996000083,1996000083
+1996000084,1996000084
+1996000086,1996000086
+1996000087,1996000087
+1996000088,1996000088
+1996000091,1996000091
+1996000092,1996000092
+1996000093,1996000093
+1996000094,1996000094
+1996000100,1996000100
+1996000101,1996000101
+1996000102,1996000102
+1996000104,1996000104
+1996000105,1996000105
+1996000107,1996000107
+1996000108,1996000108
+1996000110,1996000110
+1996000111,1996000111
+1996000112,1996000112
+1996010076,1996010076
+1996010077,1996010077
+1996010078,1996010078
+1996010085,1996010085
+1996010089,1996010089
+1996010097,1996010097
+1996010098,1996010098
+1996010103,1996010103
+1996010106,1996010106
+1996010109,1996010109
+1997000001,1997000001
+1997000002,1997000002
+1997000003,1997000003
+1997000004,1997000004
+1997000005,1997000005
+1997000006,1997000006
+1997000007,1997000007
+1997000009,1997000009
+1997000010,1997000010
+1997000012,1997000012
+1997000013,1997000013
+1997000014,1997000014
+1997000015,1997000015
+1997000016,1997000016
+1997000017,1997000017
+1997000018,1997000018
+1997000019,1997000019
+1997000023,1997000023
+1997000026,1997000026
+1997000028,1997000028
+1997000029,1997000029
+1997000030,1997000030
+1997000031,047064151
+1997000032,1997000032
+1997000033,1997000033
+1997000034,1997000034
+1997000035,1997000035
+1997000036,1997000036
+1997000038,1997000038
+1997000039,1997000039
+1997000040,1997000040
+1997000041,1997000041
+1997000042,1997000042
+1997000043,1997000043
+1997000044,1997000044
+1997000045,1997000045
+1997000046,1997000046
+1997000047,1997000047
+1997000048,1997000048
+1997000050,1997000050
+1997000052,1997000052
+1997000054,1997000054
+1997000055,057094075
+1997000056,056134122
+1997000057,067124196
+1997000058,06606G201
+1997000060,1997000060
+1997000061,1997000061
+1997000062,1997000062
+1997000063,1997000063
+1997000064,06612G323
+1997000066,1997000066
+1997000067,1997000067
+1997000068,1997000068
+1997000069,1997000069
+1997000070,1997000070
+1997000071,1997000071
+1997000072,1997000072
+1997000073,1997000073
+1997000075,1997000075
+1997000076,1997000076
+1997000079,1997000079
+1997000080,1997000080
+1997000081,1997000081
+1997000082,1997000082
+1997000083,1997000083
+1997000084,1997000084
+1997000085,1997000085
+1997000086,1997000086
+1997000088,1997000088
+1997000089,1997000089
+1997000090,1997000090
+1997000091,1997000091
+1997000092,1997000092
+1997000093,1997000093
+1997000095,1997000095
+1997000096,1997000096
+1997000097,1997000097
+1997000098,1997000098
+1997000099,1997000099
+1997000100,1997000100
+1997000101,1997000101
+1997000106,1997000106
+1997000107,1997000107
+1997010022,047094200
+1997010024,1997010024
+1997010053,1997010053
+1997010065,1997010065
+1997010074,1997010074
+1997010077,1997010077
+1997010078,1997010078
+1997010102,1997010102
+1997010103,1997010103
+1997010104,1997010104
+1997010105,1997010105
+1997010108,1997010108
+1997010109,1997010109
+1998000001,05614G036
+1998000003,1998000003
+1998000005,1998000005
+1998000007,1998000007
+1998000008,1998000008
+1998000009,1998000009
+1998000010,1998000010
+1998000011,1998000011
+1998000012,1998000012
+1998000013,1998000013
+1998000014,1998000014
+1998000015,1998000015
+1998000016,1998000016
+1998000017,1998000017
+1998000018,1998000018
+1998000019,1998000019
+1998000020,1998000020
+1998000021,1998000021
+1998000022,1998000022
+1998000023,1998000023
+1998000024,1998000024
+1998000025,1998000025
+1998000026,1998000026
+1998000027,1998000027
+1998000028,1998000028
+1998000029,1998000029
+1998000030,1998000030
+1998000031,1998000031
+1998000032,1998000032
+1998000033,1998000033
+1998000034,1998000034
+1998000035,1998000035
+1998000036,1998000036
+1998000037,1998000037
+1998000038,1998000038
+1998000039,057094073
+1998000040,1998000040
+1998000041,1998000041
+1998000042,077114132
+1998000043,1998000043
+1998000044,1998000044
+1998000045,1998000045
+1998000047,1998000047
+1998000048,1998000048
+1998000049,1998000049
+1998000050,1998000050
+1998000051,1998000051
+1998000052,1998000052
+1998000055,1998000055
+1998000059,1998000059
+1998010054,1998010054
+1998010058,1998010058
+1999000001,1999000001
+1999000002,1999000002
+1999000004,1999000004
+1999000005,1999000005
+1999000006,1999000006
+1999000007,1999000007
+1999000008,1999000008
+1999000009,1999000009
+1999000010,1999000010
+1999000011,1999000011
+1999000012,1999000012
+1999000013,1999000013
+1999000015,1999000015
+1999000016,1999000016
+1999000017,1999000017
+1999000018,1999000018
+1999000019,1999000019
+1999000020,066025002
+1999000021,057094072
+1999000022,067104552
+1999000023,1999000023
+1999000024,1999000024
+1999000025,1999000025
+1999000026,1999000026
+1999000027,1999000027
+1999000028,1999000028
+1999000029,1999000029
+1999000030,1999000030
+1999000031,1999000031
+1999000032,1999000032
+1999000033,1999000033
+1999000034,06612G316
+1999000035,1999000035
+1999000036,1999000036
+1999000037,1999000037
+1999000038,1999000038
+1999000039,067055106
+1999000040,047054133
+1999000041,1999000041
+1999000042,046010002
+1999000043,1999000043
+1999000044,1999000044
+1999000045,1999000045
+1999000046,1999000046
+1999000047,1999000047
+1999000048,1999000048
+1999000049,1999000049
+1999000050,1999000050
+1999000051,1999000051
+1999000052,1999000052
+1999000053,1999000053
+1999000054,1999000054
+1999000055,1999000055
+1999000056,1999000056
+1999000057,1999000057
+1999000058,1999000058
+1999000059,1999000059
+1999000060,1999000060
+1999000061,1999000061
+2015301795f,2015301795f
+2020100413,2020100413
+2020100437,2020100437
+20200P0188,20200P0188
+7070,7070
+2020100065,2020100065
+20200P0736,20200P0736
+2020100050,2020100050
+2018303417f,2018303417f
+2020100468,2020100468
+2020100038,2020100038
+2020100508,2020100508
+2020100379,2020100379
+2020100516,2020100516
+2000000001,2000000001
+2000000003,2000000003
+2000000004,2000000004
+2000000005,2000000005
+2000000006,2000000006
+2000000007,2000000007
+2000000010,2000000010
+2000000011,2000000011
+2000000012,2000000012
+2000000013,2000000013
+2000000014,2000000014
+2000000015,2000000015
+2000000016,2000000016
+2000000017,2000000017
+2000000018,2000000018
+2000000019,2000000019
+2000000020,2000000020
+2000000021,2000000021
+2000000022,2000000022
+2000000023,2000000023
+2000000024,2000000024
+2000000025,2000000025
+2000000026,2000000026
+2000000027,2000000027
+2000000028,2000000028
+2000000029,2000000029
+2000000030,2000000030
+2000000031,2000000031
+2000000032,2000000032
+2000000033,2000000033
+2000000034,2000000034
+2000000035,2000000035
+2000000036,2000000036
+2000000037,2000000037
+2000000038,2000000038
+2000000039,047054130
+2000000041,2000000041
+2000000042,2000000042
+2000000043,057084061
+2000000044,047084173
+2000000045,2000000045
+2000000046,047104208
+2000000047,2000000047
+2000000048,2000000048
+2000000049,2000000049
+2000000050,2000000050
+2000000051,047124231
+2000000052,2000000052
+2000000053,046055032
+2000000054,2000000054
+2000000055,2000000055
+2000000056,2000000056
+2000000057,2000000057
+2000000058,2000000058
+2000000059,056135086
+2000000060,2000000060
+2000000061,2000000061
+2000000063,2000000063
+2000000064,2000000064
+2000000065,2000000065
+2000000066,077124140
+2000000068,2000000068
+2000000069,2000000069
+2000000070,2000000070
+2000000071,2000000071
+2000000072,2000000072
+2000000073,2000000073
+2000000074,2000000074
+2000000075,2000000075
+2000000076,2000000076
+2000000077,047114222
+2000000078,2000000078
+2000000080,2000000080
+2000000081,2000000081
+2000000082,2000000082
+2000010009,2000010009
+2000060101,2000060101
+20010,20010
+2001000001,2001000001
+2001000002,2001000002
+2001000003,2001000003
+2001000004,2001000004
+2001000005,2001000005
+2001000006,2001000006
+2001000007,2001000007
+2001000010,2001000010
+2001000011,2001000011
+2001000012,2001000012
+2001000013,2001000013
+2001000014,2001000014
+2001000015,067114581
+2001000016,067114185
+2001000017,067114183
+2001000018,2001000018
+2001000019,057104095
+2001000020,2001000020
+2001000021,2001000021
+2001000022,057094071
+2001000023,2001000023
+2001000024,2001000024
+2001000025,2001000025
+2001000026,2001000026
+2001000027,057084183
+2001000028,2001000028
+2001000029,2001000029
+2001000030,2001000030
+2001000031,2001000031
+2001000032,2001000032
+2001000033,2001000033
+2001000034,2001000034
+2001000035,2001000035
+2001000037,2001000037
+2001000038,2001000038
+2001000040,2001000040
+2001000042,2001000042
+2001000043,2001000043
+2001000044,2001000044
+2001000045,2001000045
+2001000046,2001000046
+2001000048,2001000048
+2001000050,2001000050
+2001000051,2001000051
+2001000052,2001000052
+2001000053,2001000053
+2001000054,2001000054
+2001000057,2001000057
+2001000059,2001000059
+2001000060,2001000060
+2001000062,2001000062
+2001000063,2001000063
+2001000064,2001000064
+2001000065,2001000065
+2001000066,2001000066
+2001000067,2001000067
+2001000068,2001000068
+2001000069,2001000069
+2001000070,2001000070
+2001000071,2001000071
+2001000072,2001000072
+2001000073,2001000073
+2001000074,2001000074
+2001000075,2001000075
+2001000076,066134102
+2001000077,2001000077
+2001000078,2001000078
+2001000079,2001000079
+2001000080,05612G353
+2001000081,2001000081
+2001000082,2001000082
+2001000083,2001000083
+2001000084,2001000084
+2001000085,2001000085
+2001000086,2001000086
+2001000088,2001000088
+2001000089,2001000089
+2001000090,2001000090
+2001000091,2001000091
+2001000092,2001000092
+2001000093,2001000093
+2001000094,2001000094
+2001000095,2001000095
+2001000096,2001000096
+2001000100,2001000100
+2001000101,2001000101
+2001020008,2001020008
+2001020039,046126817
+2001020047,06612G313
+2001020049,2001020049
+2001020055,2001020055
+2001020056,2001020056
+2001020058,2001020058
+2001020061,2001020061
+2001020097,066095029
+2001020098,2001020098
+2001030127,2001030127
+2001060129,2001060129
+2002000003,2002000003
+2002000004,2002000004
+2002000005,2002000005
+2002000007,067095157
+2002000008,2002000008
+2002000009,2002000009
+2002000010,2002000010
+2002000011,2002000011
+2002000015,2002000015
+2002000016,2002000016
+2002000017,2002000017
+2002000018,2002000018
+2002000019,06612G278
+2002000020,2002000020
+2002000021,2002000021
+2002000022,2002000022
+2002000023,2002000023
+2002000024,2002000024
+2002000025,2002000025
+2002000026,2002000026
+2002000027,2002000027
+2002000028,2002000028
+2002000029,2002000029
+2002000030,2002000030
+2002000031,2002000031
+2002000032,046104104
+2002000033,2002000033
+2002000034,2002000034
+2002000035,2002000035
+2002000036,2002000036
+2002000037,2002000037
+2002000038,2002000038
+2002000039,056124118
+2002000040,2002000040
+2002000041,2002000041
+2002000042,2002000042
+2002000043,2002000043
+2002000044,056048002
+2002000045,2002000045
+2002000046,2002000046
+2002000047,2002000047
+2002000048,2002000048
+2002000049,2002000049
+2002000050,056035020
+2002000051,046115076
+2002000052,2002000052
+2002000054,056095067
+2002000055,2002000055
+2002000058,2002000058
+2002000060,2002000060
+2002000061,2002000061
+2002000062,2002000062
+2002000063,047084167
+2002000064,057094196
+2002000067,2002000067
+2002020001,2002020001
+2002020002,063193
+2002020012,2002020012
+2002020013,2002020013
+2002020053,06612G319
+2002020056,2002020056
+2002020057,05614G023
+2002020065,2002020065
+2002020066,2002020066
+2002030006,2002030006
+2002060088,2002060088
+2003000001,057124103
+2003000002,2003000002
+2003000004,2003000004
+2003000005,2003000005
+2003000006,2003000006
+2003000007,2003000007
+2003000009,2003000009
+2003000010,2003000010
+2003000011,2003000011
+2003000012,2003000012
+2003000013,2003000013
+2003000014,2003000014
+2003000015,2003000015
+2003000016,2003000016
+2003000017,2003000017
+2003000018,2003000018
+2003000019,2003000019
+2003000020,057074052
+2003000021,2003000021
+2003000022,2003000022
+2003000023,2003000023
+2003000024,2003000024
+2003000025,2003000025
+2003000026,047084160
+2003000027,2003000027
+2003000028,2003000028
+2003000029,2003000029
+2003000030,2003000030
+2003000031,2003000031
+2003000032,2003000032
+2003000033,2003000033
+2003000034,2003000034
+2003000035,057105016
+2003000036,2003000036
+2003000037,2003000037
+2003000038,2003000038
+2003000039,2003000039
+2003000040,2003000040
+2003000041,2003000041
+2003000042,2003000042
+2003000043,2003000043
+2003000044,2003000044
+2003000046,2003000046
+2003000047,2003000047
+2003000048,2003000048
+2003000049,2003000049
+2003000050,2003000050
+2003000051,057104207
+2003000052,2003000052
+2003000053,057104092
+2003000054,2003000054
+2003000055,2003000055
+2003000056,2003000056
+2003000057,047014072
+2003000058,2003000058
+2003000060,2003000060
+2003000061,2003000061
+2003000062,2003000062
+2003000063,2003000063
+2003000064,067094154
+2003000065,2003000065
+2003000067,2003000067
+2003000068,2003000068
+2003000069,2003000069
+2003000070,2003000070
+2003000071,066134100
+2003000072,066134101
+2003000073,2003000073
+2003000074,2003000074
+2003000075,2003000075
+2003000076,2003000076
+2003000090,2003000090
+2003000091,2003000091
+2003000092,067124197
+2003000093,2003000093
+2003000094,057104096
+2003000095,047104214
+2003000096,066124094
+2003000097,066104079
+2003000098,2003000098
+2003000099,056055030
+2003000100,2003000100
+2003000101,2003000101
+2003000102,2003000102
+2003000103,2003000103
+2003000104,2003000104
+2003000105,057054169
+2003000106,2003000106
+2003000107,066074048
+2003000108,046080833
+2003000109,2003000109
+2003000110,2003000110
+2003000111,2003000111
+2003000112,2003000112
+2003000113,2003000113
+2003000114,2003000114
+2003000115,047114223
+2003000116,2003000116
+2003000118,2003000118
+2003000119,2003000119
+2003000120,2003000120
+2003000121,047074158
+2003000123,2003000123
+2003000124,2003000124
+2003000125,2003000125
+2003000126,057115074
+2003000129,2003000129
+2003000130,057105067
+2003000131,2003000131
+2003000132,2003000132
+2003000133,2003000133
+2003010161,2003010161
+2003020008,2003020008
+2003020045,2003020045
+2003020059,2003020059
+2003020077,2003020077
+2003020078,2003020078
+2003020079,2003020079
+2003020080,2003020080
+2003020081,2003020081
+2003020082,066145042
+2003020083,2003020083
+2003020084,2003020084
+2003020085,2003020085
+2003020086,2003020086
+2003020087,2003020087
+2003020088,2003020088
+2003020089,2003020089
+2003020127,2003020127
+2003020134,2003020134
+2003030066,2003030066
+2003030117,2003030117
+2003030128,2003030128
+2004000002,2004000002
+2004000003,2004000003
+2004000005,2004000005
+2004000006,2004000006
+2004000007,047094180
+2004000008,2004000008
+2004000009,2004000009
+2004000010,2004000010
+2004000011,2004000011
+2004000012,2004000012
+2004000013,2004000013
+2004000014,2004000014
+2004000015,2004000015
+2004000016,077105127
+2004000017,2004000017
+2004000018,2004000018
+2004000019,067115598
+2004000020,2004000020
+2004000021,2004000021
+2004000022,2004000022
+2004000023,2004000023
+2004000024,2004000024
+2004000025,2004000025
+2004000026,2004000026
+2004000027,2004000027
+2004000028,2004000028
+2004000029,2004000029
+2004000030,2004000030
+2004000031,2004000031
+2004000032,2004000032
+2004000033,2004000033
+2004000034,2004000034
+2004000035,2004000035
+2004000036,2004000036
+2004000037,2004000037
+2004000039,2004000039
+2004000040,2004000040
+2004000041,2004000041
+2004000042,2004000042
+2004000043,2004000043
+2004000044,047014123
+2004000045,2004000045
+2004000046,2004000046
+2004000047,2004000047
+2004000048,2004000048
+2004000049,2004000049
+2004000050,057024122
+2004000051,2004000051
+2004000052,2004000052
+2004000053,2004000053
+2004000054,2004000054
+2004000055,057034030
+2004000056,2004000056
+2004000057,2004000057
+2004000058,2004000058
+2004000059,057054044
+2004000060,2004000060
+2004000061,2004000061
+2004000062,2004000062
+2004000063,2004000063
+2004000064,2004000064
+2004000065,2004000065
+2004000066,047084162
+2004000067,2004000067
+2004000068,2004000068
+2004000069,2004000069
+2004000070,2004000070
+2004000071,057084185
+2004000072,057084184
+2004000073,2004000073
+2004000074,057084064
+2004000075,2004000075
+2004000076,2004000076
+2004000077,2004000077
+2004000079,2004000079
+2004000080,2004000080
+2004000081,2004000081
+2004000082,2004000082
+2004000083,2004000083
+2004000084,2004000084
+2004000085,2004000085
+2004000087,067124612
+2004000088,2004000088
+2004000089,2004000089
+2004000091,2004000091
+2004000101,066034029
+2004000102,2004000102
+2004000103,066054071
+2004000104,2004000104
+2004000105,066104069
+2004000106,066014007
+2004000107,066044035
+2004000108,066104070
+2004000111,2004000111
+2004000112,2004000112
+2004000113,2004000113
+2004000114,066114103
+2004000115,067114184
+2004000116,2004000116
+2004000117,077134148
+2004000118,067124199
+2004000119,066134095
+2004000122,2004000122
+2004000126,2004000126
+2004000127,2004000127
+2004000129,2004000129
+2004000132,2004000132
+2004000135,2004000135
+2004000137,2004000137
+2004000139,2004000139
+2004000140,2004000140
+2004000143,2004000143
+2004000144,2004000144
+2004000145,2004000145
+2004000146,2004000146
+2004000147,2004000147
+2004000149,2004000149
+2004000150,2004000150
+2004020001,2004020001
+2004020038,2004020038
+2004020078,077084086
+2004020090,2004020090
+2004020092,2004020092
+2004020093,2004020093
+2004020094,2004020094
+2004020095,2004020095
+2004020096,2004020096
+2004020097,2004020097
+2004020098,2004020098
+2004020099,2004020099
+2004020100,2004020100
+2004020109,2004020109
+2004020110,2004020110
+2004020120,2004020120
+2004020121,2004020121
+2004020128,2004020128
+2004020130,2004020130
+2004020133,2004020133
+2004020136,2004020136
+2004020138,063149
+2004030004,2004030004
+2004030086,2004030086
+2004030123,2004030123
+2004030124,2004030124
+2004030125,2004030125
+2004030131,2004030131
+2004030134,2004030134
+2004030141,2004030141
+2004030142,2004030142
+2004030148,2004030148
+2005000001,2005000001
+2005000005,2005000005
+2005000006,2005000006
+2005000007,2005000007
+2005000012,2005000012
+2005000013,2005000013
+2005000015,2005000015
+2005000016,2005000016
+2005000017,2005000017
+2005000018,2005000018
+2005000019,2005000019
+2005000020,2005000020
+2005000021,2005000021
+2005000022,2005000022
+2005000023,2005000023
+2005000024,2005000024
+2005000025,047034108
+2005000026,047034107
+2005000027,2005000027
+2005000028,2005000028
+2005000029,2005000029
+2005000030,2005000030
+2005000031,2005000031
+2005000032,047054149
+2005000033,047054142
+2005000034,047054143
+2005000035,2005000035
+2005000036,057084057
+2005000037,2005000037
+2005000038,047084163
+2005000039,047084165
+2005000040,047084176
+2005000041,2005000041
+2005000042,2005000042
+2005000043,2005000043
+2005000044,2005000044
+2005000045,047104211
+2005000046,2005000046
+2005000047,047104210
+2005000048,2005000048
+2005000049,047114229
+2005000050,047114225
+2005000051,2005000051
+2005000052,2005000052
+2005000053,2005000053
+2005000054,047114219
+2005000055,077115138
+2005000056,2005000056
+2005000057,2005000057
+2005000058,077054063
+2005000060,2005000060
+2005000061,2005000061
+2005000062,2005000062
+2005000063,2005000063
+2005000076,057024130
+2005000077,047014079
+2005000080,2005000080
+2005000082,2005000082
+2005000083,2005000083
+2005000084,2005000084
+2005000086,2005000086
+2005000087,2005000087
+2005000088,2005000088
+2005000092,2005000092
+2005000095,2005000095
+2005000096,2005000096
+2005000097,2005000097
+2005000100,2005000100
+2005000101,2005000101
+2005000104,2005000104
+2005000105,2005000105
+2005000107,2005000107
+2005000108,2005000108
+2005000113,2005000113
+2005000114,2005000114
+2005000115,2005000115
+2005000119,2005000119
+2005000120,2005000120
+2005000123,2005000123
+2005000126,2005000126
+2005000128,2005000128
+2005000130,2005000130
+2005000133,2005000133
+2005000134,2005000134
+2005000136,2005000136
+2005000137,2005000137
+2005000141,2005000141
+2005000142,2005000142
+2005000145,2005000145
+2005000146,2005000146
+2005000148,2005000148
+2005000149,2005000149
+2005000152,2005000152
+2005000155,2005000155
+2005000156,2005000156
+2005020008,2005020008
+2005020010,2005020010
+2005020064,2005020064
+2005020065,2005020065
+2005020066,2005020066
+2005020067,2005020067
+2005020068,2005020068
+2005020069,2005020069
+2005020070,2005020070
+2005020071,2005020071
+2005020072,2005020072
+2005020073,2005020073
+2005020074,2005020074
+2005020075,2005020075
+2005020078,2005020078
+2005020081,2005020081
+2005020090,2005020090
+2005020102,2005020102
+2005020103,2005020103
+2005020106,2005020106
+2005020109,2005020109
+2005020110,2005020110
+2005020111,2005020111
+2005020112,2005020112
+2005020117,2005020117
+2005020118,2005020118
+2005020121,2005020121
+2005020124,2005020124
+2005020127,2005020127
+2005020129,2005020129
+2005020131,2005020131
+2005020132,2005020132
+2005020140,2005020140
+2005020150,2005020150
+2005020151,2005020151
+2005020153,2005020153
+2005020154,2005020154
+2005020157,2005020157
+2005020158,2005020158
+2005020159,2005020159
+2005030003,2005030003
+2005030004,2005030004
+2005030011,2005030011
+2005030014,2005030014
+2005030059,2005030059
+2005030079,2005030079
+2005030085,2005030085
+2005030089,2005030089
+2005030091,2005030091
+2005030093,2005030093
+2005030094,2005030094
+2005030098,2005030098
+2005030099,2005030099
+2005030122,2005030122
+2005030125,2005030125
+2005030135,2005030135
+2005030138,2005030138
+2005030139,2005030139
+2005030143,2005030143
+2005030144,2005030144
+2006000001,2006000001
+2006000002,2006000002
+2006000003,2006000003
+2006000004,2006000004
+2006000005,2006000005
+2006000006,2006000006
+2006000007,2006000007
+2006000008,2006000008
+2006000009,2006000009
+2006000011,2006000011
+2006000012,2006000012
+2006000013,2006000013
+2006000014,2006000014
+2006000015,2006000015
+2006000016,2006000016
+2006000021,057054165
+2006000022,2006000022
+2006000023,057064173
+2006000024,057074179
+2006000025,2006000025
+2006000026,057080251
+2006000027,057104210
+2006000028,2006000028
+2006000029,057114227
+2006000030,057114230
+2006000031,057114226
+2006000032,067115191
+2006000033,2006000033
+2006000034,057114222
+2006000035,2006000035
+2006000036,057124233
+2006000037,2006000037
+2006000038,2006000038
+2006000039,2006000039
+2006000040,2006000040
+2006000041,2006000041
+2006000050,2006000050
+2006000051,2006000051
+2006000053,2006000053
+2006000054,2006000054
+2006000055,2006000055
+2006000056,2006000056
+2006000057,2006000057
+2006000058,2006000058
+2006000061,2006000061
+2006000062,2006000062
+2006000063,2006000063
+2006000064,2006000064
+2006000065,2006000065
+2006000066,2006000066
+2006000067,057014116
+2006000068,057014117
+2006000069,057094195
+2006000070,057014118
+2006000071,057024131
+2006000072,047024095
+2006000073,057024120
+2006000074,2006000074
+2006000075,2006000075
+2006000076,2006000076
+2006000077,2006000077
+2006000079,2006000079
+2006000080,2006000080
+2006000084,2006000084
+2006000085,2006000085
+2006000086,2006000086
+2006000087,2006000087
+2006000088,2006000088
+2006000090,2006000090
+2006000091,2006000091
+2006000094,2006000094
+2006000095,2006000095
+2006000096,2006000096
+2006000098,2006000098
+2006000099,2006000099
+2006000100,2006000100
+2006000101,2006000101
+2006000102,2006000102
+2006000103,2006000103
+2006000115,2006000115
+2006000116,2006000116
+2006000117,2006000117
+2006000118,2006000118
+2006000119,2006000119
+2006000120,2006000120
+2006000123,2006000123
+2006000125,2006000125
+2006000127,2006000127
+2006000128,2006000128
+2006000136,2006000136
+2006000138,2006000138
+2006000140,2006000140
+2006000141,2006000141
+2006000145,2006000145
+2006000146,2006000146
+2006000147,2006000147
+2006000149,2006000149
+2006000151,2006000151
+2006000152,2006000152
+2006000154,2006000154
+2006000156,2006000156
+2006000158,2006000158
+2006000159,2006000159
+2006020042,2006020042
+2006020043,2006020043
+2006020044,2006020044
+2006020045,2006020045
+2006020046,2006020046
+2006020047,2006020047
+2006020081,2006020081
+2006020082,2006020082
+2006020083,2006020083
+2006020097,2006020097
+2006020104,2006020104
+2006020105,2006020105
+2006020106,2006020106
+2006020107,2006020107
+2006020108,2006020108
+2006020109,2006020109
+2006020110,2006020110
+2006020111,2006020111
+2006020122,2006020122
+2006020124,2006020124
+2006020132,2006020132
+2006020137,2006020137
+2006020142,2006020142
+2006020143,2006020143
+2006020150,047050174
+2006020160,2006020160
+2006020161,2006020161
+2006030010,2006030010
+2006030017,2006030017
+2006030018,2006030018
+2006030019,2006030019
+2006030020,2006030020
+2006030048,2006030048
+2006030049,2006030049
+2006030052,2006030052
+2006030059,2006030059
+2006030060,2006030060
+2006030078,2006030078
+2006030089,2006030089
+2006030092,2006030092
+2006030093,2006030093
+2006030112,2006030112
+2006030121,2006030121
+2006030126,2006030126
+2006030129,2006030129
+2006030130,2006030130
+2006030131,2006030131
+2006030133,2006030133
+2006030134,2006030134
+2006030135,2006030135
+2006030139,2006030139
+2006030144,2006030144
+2006030148,2006030148
+2006030153,2006030153
+2006030155,2006030155
+2006030157,2006030157
+2006060214,2006060214
+2007010003,2007010003
+2007010008,2007010008
+2007010009,057030101
+2007010010,2007010010
+2007010011,2007010011
+2007010012,2007010012
+2007010013,2007010013
+2007010014,2007010014
+2007010015,2007010015
+2007010016,2007010016
+2007010017,2007010017
+2007010018,046016016
+2007010019,067014231
+2007010020,046014011
+2007010021,046014001
+2007010022,046014015
+2007010023,046020129
+2007010024,2007010024
+2007010025,2007010025
+2007010026,046030155
+2007010027,2007010027
+2007010028,2007010028
+2007010029,046046184
+2007010030,046046218
+2007010031,2007010031
+2007010034,2007010034
+2007010035,2007010035
+2007010036,046054045
+2007010037,2007010037
+2007010038,046056354
+2007010039,2007010039
+2007010040,046054042
+2007010041,2007010041
+2007010042,2007010042
+2007010043,046030166
+2007010044,2007010044
+2007010045,046084069
+2007010046,046114122
+2007010047,046114118
+2007010048,046114123
+2007010049,046114119
+2007010050,046114110
+2007010051,046114111
+2007010052,2007010052
+2007010053,046114106
+2007010054,046114108
+2007010055,046114107
+2007010056,046114113
+2007010057,2007010057
+2007010058,046130825
+2007010059,046134130
+2007010060,046134129
+2007010061,2007010061
+2007010062,046136904
+2007010063,2007010063
+2007010064,046104101
+2007010065,046076370
+2007010066,2007010066
+2007010067,046100677
+2007010068,2007010068
+2007010069,046014004
+2007010070,2007010070
+2007010071,2007010071
+2007010073,2007010073
+2007010074,046110712
+2007010075,2007010075
+2007010076,046096551
+2007010077,046116738
+2007010079,046130823
+2007010080,2007010080
+2007010081,2007010081
+2007010084,2007010084
+2007010085,2007010085
+2007010086,2007010086
+2007010088,2007010088
+2007010089,077030024
+2007010090,2007010090
+2007010091,2007010091
+2007010092,2007010092
+2007010093,2007010093
+2007010094,2007010094
+2007010095,2007010095
+2007010096,2007010096
+2007010097,2007010097
+2007010098,2007010098
+2007010099,2007010099
+2007010100,2007010100
+2007010101,2007010101
+2007010104,2007010104
+2007010106,2007010106
+2007010107,2007010107
+2007010108,2007010108
+2007010109,2007010109
+2007010110,2007010110
+2007010111,2007010111
+2007010114,2007010114
+2007010115,2007010115
+2007010116,2007010116
+2007010117,2007010117
+2007010118,2007010118
+2007010120,2007010120
+2007010124,2007010124
+2007010125,2007010125
+2007010126,046110727
+2007010127,2007010127
+2007010128,2007010128
+2007010129,047060202
+2007010130,2007010130
+2007010131,2007010131
+2007010133,2007010133
+2007010134,2007010134
+2007010161,2007010161
+2007010162,047060200
+2007010163,2007010163
+2007010164,2007010164
+2007010165,2007010165
+2007010166,2007010166
+2007010167,2007010167
+2007010195,2007010195
+2007020004,2007020004
+2007020005,2007020005
+2007020006,2007020006
+2007020007,2007020007
+2007030001,2007030001
+2007030002,2007030002
+2007030032,2007030032
+2007030033,2007030033
+2007030082,2007030082
+2007030083,2007030083
+2007030087,2007030087
+2007030102,2007030102
+2007030103,2007030103
+2007030105,2007030105
+2007030112,2007030112
+2007030113,2007030113
+2007030121,2007030121
+2007030122,2007030122
+2007030123,2007030123
+2007030132,2007030132
+2007030135,2007030135
+2007030136,2007030136
+2007030160,2007030160
+2007030168,2007030168
+2007030169,2007030169
+2007030170,047060197
+2007030171,2007030171
+2007030224,2007030224
+2007030225,2007030225
+2007100001,2007100001
+2007100002,066014001
+2007100003,2007100003
+2007100004,2007100004
+2007100005,2007100005
+2007100006,2007100006
+2007100007,056010051
+2007100008,2007100008
+2007100009,2007100009
+2007100010,056010054
+2007100011,056010046
+2007100012,056010043
+2007100013,2007100013
+2007100014,2007100014
+2007100015,056010042
+2007100016,046135093
+2007100017,2007100017
+2007100018,2007100018
+2007100019,2007100019
+2007100020,066010058
+2007100021,056010061
+2007100022,2007100022
+2007100023,2007100023
+2007100024,2007100024
+2007100025,2007100025
+2007100026,2007100026
+2007100027,1997000043
+2007100028,056010027
+2007100029,046015001
+2007100030,2007100030
+2007100031,2007100031
+2007100032,046026043
+2007100033,2007100033
+2007100034,056020078
+2007100035,056020080
+2007100036,046025013
+2007100037,046026047
+2007100038,066020097
+2007100039,2007100039
+2007100040,077024015
+2007100041,2007100041
+2007100042,046026042
+2007100043,066020098
+2007100044,056020077
+2007100045,056020076
+2007100046,056026036
+2007100047,046024021
+2007100048,2007100048
+2007100049,2007100049
+2007100050,2007100050
+2007100051,2007100051
+2007100052,2007100052
+2007100053,046025017
+2007100054,2007100054
+2007100055,066026068
+2007100056,056026056
+2007100057,2007100057
+2007100058,056020093
+2007100059,066026076
+2007100060,2007100060
+2007100061,2007100061
+2007100062,066020115
+2007100063,2007100063
+2007100064,2007100064
+2007100065,046020128
+2007100066,2007100066
+2007100067,066026088
+2007100068,2007100068
+2007100069,2007100069
+2007100070,056020107
+2007100071,2007100071
+2007100072,066026085
+2007100073,2007100073
+2007100074,2007100074
+2007100075,2007100075
+2007100076,2007100076
+2007100077,2007100077
+2007100078,066036115
+2007100079,056036117
+2007100080,2007100080
+2007100081,2007100081
+2007100082,066034029
+2007100083,2007100083
+2007100084,2007100084
+2007100085,2007100085
+2007100086,066036147
+2007100087,2007100087
+2007100088,2007100088
+2007100089,2007100089
+2007100090,056030158
+2007100091,2007100091
+2007100092,066030168
+2007100093,2007100093
+2007100094,2007100094
+2007100095,2007100095
+2007100096,2007100096
+2007100097,2000000036
+2007100098,2007100098
+2007100099,066030175
+2007100100,2007100100
+2007100101,2007100101
+2007100102,056046187
+2007100103,056040235
+2007100104,046145096
+2007100105,066046172
+2007100106,056040213
+2007100107,2007100107
+2007100108,066040186
+2007100109,2007100109
+2007100110,2007100110
+2007100111,2007100111
+2007100112,2007100112
+2007100113,066040191
+2007100114,056040225
+2007100115,2007100115
+2007100116,2007100116
+2007100117,066040195
+2007100118,056040226
+2007100119,2007100119
+2007100120,077044047
+2007100121,2007100121
+2007100122,2007100122
+2007100123,2007100123
+2007100124,056040216
+2007100125,056040217
+2007100126,066046193
+2007100127,066040200
+2007100128,056040222
+2007100129,056040207
+2007100130,2007100130
+2007100131,077046052
+2007100132,066040193
+2007100133,046046192
+2007100134,066040204
+2007100135,2007100135
+2007100136,066040207
+2007100137,2007100137
+2007100138,2007100138
+2007100139,2007100139
+2007100140,056046128
+2007100141,2007100141
+2007100142,066040211
+2007100143,056040237
+2007100144,066046219
+2007100145,2007100145
+2007100146,2007100146
+2007100147,2007100147
+2007100148,2007100148
+2007100149,056040193
+2007100150,056040191
+2007100151,066046249
+2007100152,066040234
+2007100153,2007100153
+2007100154,066040236
+2007100155,2007100155
+2007100156,2007100156
+2007100157,2007100157
+2007100158,066046260
+2007100159,056040197
+2007100160,066046268
+2007100161,066056298
+2007100162,2007100162
+2007100163,2007100163
+2007100164,056056311
+2007100165,2007100165
+2007100166,2007100166
+2007100167,2007100167
+2007100168,2007100168
+2007100169,2007100169
+2007100170,2007100170
+2007100171,2007100171
+2007100172,056050299
+2007100173,2007100173
+2007100174,066050283
+2007100175,056050322
+2007100176,066050292
+2007100177,2007100177
+2007100178,2007100178
+2007100179,2007100179
+2007100180,2007100180
+2007100181,2006000022
+2007100182,2007100182
+2007100183,056055044
+2007100184,2007100184
+2007100185,2007100185
+2007100186,066056368
+2007100187,2007100187
+2007100188,056054052
+2007100189,2007100189
+2007100190,066056373
+2007100191,2007100191
+2007100192,2007100192
+2007100193,046050301
+2007100194,066056379
+2007100195,2007100195
+2007100196,056056229
+2007100197,2007100197
+2007100198,056050270
+2007100199,056050275
+2007100200,2007100200
+2007100201,066050320
+2007100202,2007100202
+2007100203,2007100203
+2007100204,066050325
+2007100205,2007100205
+2007100206,2007100206
+2007100207,2007100207
+2007100208,2007100208
+2007100209,1995000090
+2007100210,2007100210
+2007100211,2007100211
+2007100212,2007100212
+2007100213,066060335
+2007100214,056116683
+2007100215,2007100215
+2007100216,066060337
+2007100217,2007100217
+2007100218,2007100218
+2007100219,046060383
+2007100220,2007100220
+2007100221,2007100221
+2007100222,2007100222
+2007100223,2007100223
+2007100224,2007100224
+2007100225,066070381
+2007100226,2007100226
+2007100227,2007100227
+2007100228,2007100228
+2007100229,066076433
+2007100230,2007100230
+2007100231,056070377
+2007100232,2007100232
+2007100233,2007100233
+2007100234,2007100234
+2007100235,066076438
+2007100236,2007100236
+2007100237,056070378
+2007100238,2007100238
+2007100239,2007100239
+2007100240,2007100240
+2007100241,2007100241
+2007100242,2007100242
+2007100243,056080417
+2007100244,046080440
+2007100245,2007100245
+2007100246,046140827
+2007100247,1987000057
+2007100248,2007100248
+2007100249,2007100249
+2007100250,056086406
+2007100251,056080441
+2007100252,056080438
+2007100253,056080460
+2007100254,2007100254
+2007100255,066086530
+2007100256,067085135
+2007100257,077086093
+2007100258,2007100258
+2007100259,2007100259
+2007100260,2007100260
+2007100261,056080446
+2007100262,066090479
+2007100263,067096166
+2007100264,2007100264
+2007100265,2003000030
+2007100266,2007100266
+2007100267,2007100267
+2007100268,2007100268
+2007100269,2007100269
+2007100270,056090478
+2007100271,056090479
+2007100272,056090476
+2007100273,056096454
+2007100274,066090504
+2007100275,2007100275
+2007100276,066090547
+2007100277,056096546
+2007100278,2007100278
+2007100279,2007100279
+2007100280,066090506
+2007100281,2007100281
+2007100282,2007100282
+2007100283,2007100283
+2007100284,066090516
+2007100285,056090563
+2007100286,2007100286
+2007100287,056090529
+2007100288,056090564
+2007100289,2007100289
+2007100290,046090591
+2007100291,056096443
+2007100292,056090532
+2007100293,066090556
+2007100294,056090579
+2007100295,2007100295
+2007100296,066096631
+2007100297,077090098
+2007100298,2007100298
+2007100299,2007100299
+2007100300,1998000025
+2007100301,056090543
+2007100302,066090559
+2007100303,056036088
+2007100304,056090539
+2007100305,056090502
+2007100306,2007100306
+2007100307,2007100307
+2007100308,2007100308
+2007100309,077094110
+2007100310,056090507
+2007100311,056090513
+2007100312,2007100312
+2007100313,2004000012
+2007100314,2007100314
+2007100315,066106672
+2007100316,056106612
+2007100317,056100608
+2007100318,056100609
+2007100319,2007100319
+2007100320,2007100320
+2007100321,2007100321
+2007100322,066100580
+2007100323,056100630
+2007100324,077104126
+2007100325,056100633
+2007100326,056100631
+2007100327,2007100327
+2007100328,2007100328
+2007100329,046147020
+2007100330,2007100330
+2007100331,056140808
+2007100332,2005000043
+2007100333,2007100333
+2007100334,056110746
+2007100335,2007100335
+2007100336,2007100336
+2007100337,2007100337
+2007100338,2007100338
+2007100339,2007100339
+2007100340,077115136
+2007100341,056110747
+2007100342,2007100342
+2007100343,2007100343
+2007100344,056110750
+2007100345,077035033
+2007100346,2007100346
+2007100347,2007100347
+2007100348,2007100348
+2007100349,056110696
+2007100350,2007100350
+2007100351,046110727
+2007100352,2007100352
+2007100353,2007100353
+2007100354,066110696
+2007100355,2007100355
+2007100356,056116696
+2007100357,056116660
+2007100358,2007100358
+2007100359,046114113
+2007100360,2000000050
+2007100361,046116734
+2007100362,056120756
+2007100363,046147002
+2007100364,046135092
+2007100365,2007100365
+2007100366,2007100366
+2007100367,2007100367
+2007100368,2007100368
+2007100369,2007100369
+2007100370,2007100370
+2007150001,2007150001
+2007150002,2007150002
+2007150003,2007150003
+2007150004,2007150004
+2007150005,2007150005
+2007150006,2007150006
+2007150007,2007150007
+2007150008,2007150008
+2007150009,2007150009
+2007150010,2007150010
+2007150011,2007150011
+2007150012,2007150012
+2007150013,2007150013
+2007200001,2007200001
+2007200002,2007200002
+2007200003,2007200003
+2007200004,2007200004
+2007200005,2007200005
+2007200006,2007200006
+2007200007,2007200007
+2007200008,2007200008
+2007200009,2007200009
+2007200010,2007200010
+2007200011,2007200011
+2007200012,2003020085
+2007200013,2007200013
+2007200014,2007200014
+2007200015,2007200015
+2007200016,2007200016
+2007200017,2007200017
+2007200018,2007200018
+2007200019,2007200019
+2007200020,2007200020
+2007200021,2007200021
+2007200022,2007200022
+2007200023,2007200023
+2007200024,2007200024
+2007200025,2007200025
+2007200026,2007200026
+2007200027,2007200027
+2007200028,2007200028
+2007200029,2007200029
+2007200030,2007200030
+2007200031,2007200031
+2007200032,2007200032
+2007200033,2007200033
+2007200034,2007200034
+2007200035,2007200035
+2007200036,2007200036
+2007200037,2007200037
+2007200038,2007200038
+2007200039,2007200039
+2007200040,2007200040
+2007200041,2007200041
+2007200042,2007200042
+2007200043,2007200043
+2007200044,2007200044
+2007200045,2007200045
+2007200046,2007200046
+2007200047,2007200047
+2007200048,2007200048
+2007200049,2007200049
+2007200050,2007200050
+2007200051,2007200051
+2007200052,2007200052
+2007200053,2007200053
+2007200054,2007200054
+2007200055,2007200055
+2007200056,2007200056
+2007200057,2007200057
+2007200058,2007200058
+2007200059,2007200059
+2007200060,2007200060
+2007200061,2007200061
+2007200062,2007200062
+2007200063,2007200063
+2007200064,2007200064
+2007200065,2007200065
+2007200066,2007200066
+2007200067,2007200067
+2007200068,2007200068
+2007200069,2007200069
+2007200070,066018042
+2007200071,2007200071
+2007200072,2007200072
+2007200073,2007200073
+2007200074,2007200074
+2007200075,2007200075
+2007200076,2007200076
+2007200077,2007200077
+2007200078,2007200078
+2007200079,2007200079
+2007200080,2007200080
+2007200081,2007200081
+2007200082,2007200082
+2007200083,2007200083
+2007200084,2007200084
+2007200085,2007200085
+2007200086,2007200086
+2007200087,2007200087
+2007200088,2007200088
+2007200089,2007200089
+2007200090,2007200090
+2007200091,2007200091
+2007200092,2007200092
+2007200093,2007200093
+2007200094,2007200094
+2007200095,2007200095
+2007200096,2007200096
+2007200097,2007200097
+2007200098,2007200098
+2007200099,2007200099
+2007200100,2007200100
+2007200101,2007200101
+2007200102,2007200102
+2007200103,2007200103
+2007200104,2007200104
+2007200105,2007200105
+2007200106,2007200106
+2007200107,2007200107
+2007200108,2007200108
+2007200109,2007200109
+2007200110,2007200110
+2007200111,2007200111
+2007200112,2007200112
+2007200113,2007200113
+2007200114,2007200114
+2007200115,2007200115
+2007200116,2007200116
+2007200117,2007200117
+2007200118,2007200118
+2007200119,2007200119
+2007200120,2007200120
+2007200121,2007200121
+2007200122,2007200122
+2007200123,2007200123
+2007200124,2007200124
+2007200125,2007200125
+2007200126,2007200126
+2007200127,2007200127
+2007200128,2007200128
+2007200129,2007200129
+2007200130,2007200130
+2007200131,2007200131
+2007200132,2007200132
+2007200133,2007200133
+2007200134,2007200134
+2007200135,2007200135
+2007200136,2007200136
+2007200137,2007200137
+2007200138,2007200138
+2007200139,2007200139
+2007200140,2007200140
+2007200141,2007200141
+2007200142,2007200142
+2007200143,2007200143
+2007200144,2007200144
+2007200145,2007200145
+2007200146,2007200146
+2007200147,2007200147
+2007200148,2007200148
+2007200149,2007200149
+2007200150,2007200150
+2007200151,2007200151
+2007200152,2007200152
+2007200153,2007200153
+2007200154,2007200154
+2007200155,2007200155
+2007200156,2007200156
+2007200157,2007200157
+2007200158,2007200158
+2007200159,2007200159
+2007200160,2007200160
+2007200161,2007200161
+2007200162,2007200162
+2007200163,2007200163
+2007200164,2007200164
+2007200165,2007200165
+2007200166,2007200166
+2007200167,2007200167
+2007200168,2007200168
+2007200169,2007200169
+2007200170,2007200170
+2007200171,2007200171
+2007200172,2007200172
+2007200173,2007200173
+2007200174,2007200174
+2007200175,2007200175
+2007200176,2007200176
+2007200177,2007200177
+2007200178,2007200178
+2007200179,2007200179
+2007200180,2007200180
+2007200181,2007200181
+2007200182,2007200182
+2007200183,2007200183
+2007200184,2007200184
+2007200185,2007200185
+2007200186,2007200186
+2007200187,2007200187
+2007200188,2007200188
+2007200189,2007200189
+2007200190,2007200190
+2007200191,2007200191
+2007200192,2007200192
+2007200193,2007200193
+2007200194,2007200194
+2007200195,2007200195
+2007200196,2007200196
+2007200197,2007200197
+2007200198,2007200198
+2007200199,2007200199
+2007200200,2007200200
+2007200201,2007200201
+2007200202,2007200202
+2007200203,2007200203
+2007200204,2007200204
+2007200205,2007200205
+2007200206,2007200206
+2007200207,2007200207
+2007200208,2007200208
+2007200209,2007200209
+2007200210,2007200210
+2007200211,2007200211
+2007200212,2005020132
+2007200213,2007200213
+2007200214,2007200214
+2007200215,2007200215
+2007200216,2007200216
+2007200217,2007200217
+2007200218,2007200218
+2007200219,2007200219
+2007200220,2007200220
+2007200221,2007200221
+2007200222,2007200222
+2007200223,2007200223
+2007200224,2007200224
+2007200225,2007200225
+2007200226,2007200226
+2007200227,2007200227
+2007200228,2007200228
+2007200229,2007200229
+2007200230,2007200230
+2007200231,2007200231
+2007200232,2007200232
+2007200233,2007200233
+2007200234,2007200234
+2007200235,2007200235
+2007200236,2007200236
+2007200237,2007200237
+2007200238,2007200238
+2007200239,2007200239
+2007200240,2007200240
+2007200241,2007200241
+2007200242,2007200242
+2007200243,2007200243
+2007200244,2007200244
+2007200245,2007200245
+2007200246,2007200246
+2007200247,2007200247
+2007200248,2007200248
+2007200249,2007200249
+2007200250,2007200250
+2007200251,2007200251
+2007200252,2007200252
+2007200253,2007200253
+2007200254,2007200254
+2007200255,2007200255
+2007200256,2007200256
+2007200257,2007200257
+2007200258,2007200258
+2007200259,2007200259
+2007200260,2007200260
+2007200261,2007200261
+2007200262,2007200262
+2007200263,2007200263
+2007200264,2007200264
+2007200265,2007200265
+2007200266,2007200266
+2007200267,2007200267
+2007200268,2007200268
+2007200269,2007200269
+2007200270,2007200270
+2007200271,2007200271
+2007200272,2007200272
+2007200273,2007200273
+2007200274,2007200274
+2007200275,2007200275
+2007200276,2007200276
+2007200277,2007200277
+2007200278,2007200278
+2007200279,2007200279
+2007200280,2007200280
+2007200281,2007200281
+2007200282,2007200282
+2007200283,2007200283
+2007200284,2007200284
+2007200285,2007200285
+2007200286,2007200286
+2007200287,2007200287
+2007200288,2007200288
+2007200289,2007200289
+2007200290,2007200290
+2007200291,2007200291
+2007200292,2007200292
+2007200293,2007200293
+2007200294,2007200294
+2007200295,2007200295
+2007200296,2007200296
+2007200297,2007200297
+2007200298,2007200298
+2007200299,2007200299
+2007200300,2007200300
+2007200301,2007200301
+2007200302,2007200302
+2007200303,2007200303
+2007200304,2007200304
+2007200305,2007200305
+2007200306,2007200306
+2007200307,2007200307
+2007200308,2007200308
+2007200309,2007200309
+2007200310,2007200310
+2007200311,2007200311
+2007200312,2007200312
+2007200313,2007200313
+2007200314,2007200314
+2007200315,2007200315
+2007200316,2007200316
+2007200317,2007200317
+2007200318,2007200318
+2007200319,2007200319
+2007200320,2007200320
+2007200321,2007200321
+2007200322,2007200322
+2007200323,2007200323
+2007200324,2007200324
+2007200325,2007200325
+2007200326,2007200326
+2007200327,2007200327
+2007200328,2007200328
+2007200329,2007200329
+2007200330,2007200330
+2007200331,2007200331
+2007200332,2007200332
+2007200333,2007200333
+2007200334,2007200334
+2007200335,2007200335
+2007200336,2007200336
+2007200337,2007200337
+2007200338,2007200338
+2007200339,2007200339
+2007200340,2007200340
+2007200341,2007200341
+2007200342,2007200342
+2007200343,2007200343
+2007200344,2007200344
+2007200345,2007200345
+2007200346,2007200346
+2007200347,2007200347
+2007200348,2007200348
+2007200349,2007200349
+2007200350,2007200350
+2007200351,2007200351
+2007200352,2007200352
+2007200353,2007200353
+2007200354,2007200354
+2007200355,2007200355
+2007200356,2007200356
+2007200357,2007200357
+2007200358,2007200358
+2007200359,2007200359
+2007200360,2007200360
+2007200361,2007200361
+2007200362,2007200362
+2007200363,2007200363
+2007200364,2007200364
+2007200365,2007200365
+2007200366,2007200366
+2007200367,2007200367
+2007200368,2007200368
+2007200369,2007200369
+2007200370,2007200370
+2007200371,2007200371
+2007200372,2007200372
+2007200373,2007200373
+2007200374,2007200374
+2007200375,2007200375
+2007200376,2007200376
+2007200377,2007200377
+2007200378,2007200378
+2007200379,2007200379
+2007200380,2007200380
+2007200381,2007200381
+2007200382,2007200382
+2007200383,2007200383
+2007200384,2007200384
+2007200385,2007200385
+2007200386,2007200386
+2007200387,2007200387
+2007200388,2007200388
+2007200389,2007200389
+2007200390,2007200390
+2007200391,2007200391
+2007200392,2007200392
+2007200393,2007200393
+2007200394,2007200394
+2007200395,2007200395
+2007200396,2007200396
+2007200397,2007200397
+2007200398,2007200398
+2007200399,2007200399
+2007200400,2007200400
+2007200401,2007200401
+2007200402,2007200402
+2007200403,2007200403
+2007200404,2007200404
+2007200405,2007200405
+2007200406,2007200406
+2007200407,2007200407
+2007200408,2007200408
+2007200409,2007200409
+2007200410,2007200410
+2007200411,2007200411
+2007200412,2007200412
+2007200413,2007200413
+2007200414,2007200414
+2007200415,2007200415
+2007200416,2007200416
+2007200417,2007200417
+2007200418,2007200418
+2007200419,2007200419
+2007200420,2007200420
+2007200421,2007200421
+2007200422,2007200422
+2007200423,2007200423
+2007200424,2007200424
+2007200425,2007200425
+2007200426,2007200426
+2007200427,2007200427
+2007200428,2007200428
+2007200429,2007200429
+2007200430,2007200430
+2007200431,2007200431
+2007200432,2007200432
+2007200433,2007200433
+2007200434,2007200434
+2007200435,2007200435
+2007200436,2007200436
+2007200437,2007200437
+2007200438,2007200438
+2007200439,2007200439
+2007200440,2007200440
+2007200441,2007200441
+2007200442,2007200442
+2007200443,2007200443
+2007200444,2007200444
+2007200445,2007200445
+2007200446,2007200446
+2007200447,2007200447
+2007200448,2007200448
+2007200449,2007200449
+2007200450,2007200450
+2007200451,2007200451
+2007200452,2007200452
+2007200453,2007200453
+2007200454,2007200454
+2007200455,2007200455
+2007200456,2007200456
+2007200457,2007200457
+2007200458,2007200458
+2007200459,2007200459
+2007200460,2007200460
+2007200461,2007200461
+2007200462,2007200462
+2007200463,2007200463
+2007200464,2007200464
+2007200465,2007200465
+2007200466,2007200466
+2007200467,2007200467
+2007200468,2007200468
+2007200469,2007200469
+2007200470,2007200470
+2007200471,2007200471
+2007200472,2007200472
+2007200473,2007200473
+2007200474,2007200474
+2007200475,2007200475
+2007200476,2007200476
+2007200477,2007200477
+2007200478,2007200478
+2007200479,2007200479
+2007200480,2007200480
+2007200481,2007200481
+2007200482,2007200482
+2007200483,2007200483
+2007200484,2007200484
+2007200485,2007200485
+2007200486,2007200486
+2007200487,2007200487
+2007200488,2007200488
+2007200489,2007200489
+2007200490,2007200490
+2007200491,2007200491
+2007200492,2007200492
+2007200493,2007200493
+2007200494,2007200494
+2007200495,2007200495
+2007200496,2007200496
+2007200497,2007200497
+2007200498,2007200498
+2007200499,2007200499
+2007200500,2007200500
+2007200501,2007200501
+2007200502,2007200502
+2007200503,2007200503
+2007200504,2007200504
+2007200505,2007200505
+2007200506,2007200506
+2007200507,2007200507
+2007200508,2007200508
+2007200509,2007200509
+2007200510,2007200510
+2007200511,2007200511
+2007200512,2007200512
+2007200513,2007200513
+2007200514,2007200514
+2007200515,2007200515
+2007200516,2007200516
+2007200517,2007200517
+2007200518,2007200518
+2007200519,2007200519
+2007200520,2007200520
+2007200521,2007200521
+2007200522,2007200522
+2007200523,2007200523
+2007200524,2007200524
+2007200525,2007200525
+2007200526,2007200526
+2007200527,2007200527
+2007200528,2007200528
+2007200529,2007200529
+2007200530,2007200530
+2007200531,2007200531
+2007200532,2007200532
+2007200533,2007200533
+2007200534,2007200534
+2007200535,2007200535
+2007200536,2007200536
+2007200537,2007200537
+2007200538,2007200538
+2007200539,2007200539
+2007200540,2007200540
+2007200541,2007200541
+2007200542,2007200542
+2007200543,2007200543
+2007200544,2007200544
+2007200545,2007200545
+2007200546,2007200546
+2007200547,2007200547
+2007200548,2007200548
+2007200549,2007200549
+2007200550,2007200550
+2007200551,2007200551
+2007200552,2007200552
+2007200553,2007200553
+2007200554,2007200554
+2007200555,2007200555
+2007200556,2007200556
+2007200557,2007200557
+2007200558,2007200558
+2007200559,2007200559
+2007200560,2007200560
+2007200561,2007200561
+2007200562,2007200562
+2007200563,2007200563
+2007200564,2007200564
+2007200565,2007200565
+2007200566,2007200566
+2007200567,2007200567
+2007200568,2007200568
+2007200569,2007200569
+2007200570,2007200570
+2007200571,2007200571
+2007200572,2007200572
+2007200573,2007200573
+2007200574,2007200574
+2007200575,2007200575
+2007200576,2007200576
+2007200577,2007200577
+2007200578,2007200578
+2007200579,2007200579
+2007200580,2007200580
+2007200581,2007200581
+2007200582,2007200582
+2007200583,2007200583
+2007200584,2007200584
+2007200585,2007200585
+2007200586,2007200586
+2007200587,2007200587
+2007200588,2007200588
+2007200589,2007200589
+2007200590,2007200590
+2007200591,2007200591
+2007200592,2007200592
+2007200593,2007200593
+2007200594,2007200594
+2007200595,2007200595
+2007200596,2007200596
+2007200597,2007200597
+2007200598,2007200598
+2007200599,2007200599
+2007200600,2007200600
+2007200601,2007200601
+2007200602,2007200602
+2007200603,2007200603
+2007200604,2007200604
+2007200605,2007200605
+2007200606,2007200606
+2007200607,2007200607
+2007200608,2007200608
+2007200609,2007200609
+2007200610,2007200610
+2007200611,2007200611
+2007200612,2007200612
+2007200613,2007200613
+2007200614,2007200614
+2007200615,2007200615
+2007200616,2007200616
+2007200617,2007200617
+2007200618,2007200618
+2007200619,2007200619
+2007200620,2007200620
+2007200621,2007200621
+2007200622,2007200622
+2007200623,2007200623
+2007200624,2007200624
+2007200625,2007200625
+2007200626,2007200626
+2007200627,2007200627
+2007200628,2007200628
+2007200629,2007200629
+2007200630,2007200630
+2007200631,2007200631
+2007200632,2007200632
+2007200633,2007200633
+2007200634,2007200634
+2007200635,2007200635
+2007200636,2007200636
+2007200637,2007200637
+2007200638,2007200638
+2007200639,2007200639
+2007200640,2007200640
+2007200641,2007200641
+2007200642,2007200642
+2007200643,2007200643
+2007200644,2007200644
+2007200645,2007200645
+2007200646,2007200646
+2007200647,2007200647
+2007200648,2007200648
+2007200649,2007200649
+2007200650,2007200650
+2007200651,2007200651
+2007200652,2007200652
+2007200653,2007200653
+2007200654,2007200654
+2007200655,2007200655
+2007200656,2007200656
+2007200657,2007200657
+2007200658,2007200658
+2007200659,2007200659
+2007200660,2007200660
+2007200661,2007200661
+2007200662,2007200662
+2007200663,2007200663
+2007200664,2007200664
+2007200665,2007200665
+2007200666,2007200666
+2007200667,2007200667
+2007200668,2007200668
+2007200669,2007200669
+2007200670,2007200670
+2007200671,2007200671
+2007200672,2007200672
+2007200673,2007200673
+2007200674,2007200674
+2007200675,2007200675
+2007200676,2007200676
+2007200677,2007200677
+2007200678,2007200678
+2007200679,2007200679
+2007200680,2007200680
+2007200681,2007200681
+2007200682,2007200682
+2007200683,2007200683
+2007200684,2007200684
+2007200685,2007200685
+2007200686,2007200686
+2007200687,2007200687
+2007200688,2007200688
+2007200689,2007200689
+2007200690,2007200690
+2007200691,2007200691
+2007200692,2007200692
+2007200693,2007200693
+2007200694,2007200694
+2007200695,2007200695
+2007200696,2007200696
+2007200697,2007200697
+2007200698,2007200698
+2007200699,2007200699
+2007200700,2007200700
+2007200701,2007200701
+2007200702,2007200702
+2007200703,2007200703
+2007200704,2007200704
+2007200705,2007200705
+2007200706,2007200706
+2007200707,2007200707
+2007200708,2007200708
+2007200709,2007200709
+2007200710,2007200710
+2007200711,2007200711
+2007200712,2007200712
+2007200713,2007200713
+2007200714,2007200714
+2007200715,2007200715
+2007200716,2007200716
+2007200717,2007200717
+2007200718,2007200718
+2007200719,2007200719
+2007200720,2007200720
+2007200721,2007200721
+2007200722,2007200722
+2007200723,2007200723
+2007200724,2007200724
+2007200725,2007200725
+2007200726,2007200726
+2007200727,2007200727
+2007200728,2007200728
+2007200729,2007200729
+2007200730,2007200730
+2007200731,2007200731
+2007200732,2007200732
+2007200733,2007200733
+2007200734,2007200734
+2007200735,2007200735
+2007200736,2007200736
+2007200737,2007200737
+2007200738,2007200738
+2007200739,2007200739
+2007200740,2007200740
+2007200741,2007200741
+2007200742,2007200742
+2007200743,2007200743
+2007200744,2007200744
+2007200745,2007200745
+2007200746,2007200746
+2007200747,2007200747
+2007200748,2007200748
+2007200749,2007200749
+2007200750,2007200750
+2007200751,2007200751
+2007200752,2007200752
+2007200753,2007200753
+2007200754,2007200754
+2007200755,2007200755
+2007200756,2007200756
+2007200757,2007200757
+2007200758,2007200758
+2007200759,2007200759
+2007200760,2007200760
+2007200761,2007200761
+2007200762,2007200762
+2007200763,2007200763
+2007200764,2007200764
+2007200765,2007200765
+2007200766,2007200766
+2007200767,2007200767
+2007200768,2007200768
+2007200769,2007200769
+2007200770,2007200770
+2007200771,2007200771
+2007200772,2007200772
+2007200773,2007200773
+2007200774,2007200774
+2007200775,2007200775
+2007200776,2007200776
+2007200777,2007200777
+2007200778,2007200778
+2007200779,2007200779
+2007200780,2007200780
+2007200781,2007200781
+2007200782,2007200782
+2007200783,2007200783
+2007200784,2007200784
+2007200785,2007200785
+2007200786,2007200786
+2007200787,2007200787
+2007200788,2007200788
+2007200789,2007200789
+2007200790,2007200790
+2007200791,2007200791
+2007200792,2007200792
+2007200793,2007200793
+2007200794,2007200794
+2007200795,2007200795
+2007200796,2007200796
+2007200797,2007200797
+2007200798,2007200798
+2007200799,2007200799
+2007200800,2007200800
+2007200801,2007200801
+2007200802,2007200802
+2007200803,2005020124
+2007200804,2007200804
+2007200805,2007200805
+2007200806,2007200806
+2007200807,2007200807
+2007200808,2007200808
+2007200809,2007200809
+2007200810,2007200810
+2007200811,2007200811
+2007200812,2007200812
+2007200813,2007200813
+2007200814,2007200814
+2007200815,2007200815
+2007200816,2007200816
+2007200817,2007200817
+2007200818,2007200818
+2007200819,2007200819
+2007200820,2007200820
+2007200821,2007200821
+2007200822,2007200822
+2007200823,2007200823
+2007200824,2007200824
+2007200825,2007200825
+2007200826,2007200826
+2007200827,2007200827
+2007200828,2007200828
+2007200829,2007200829
+2007200830,2007200830
+2007200831,2007200831
+2007200832,2007200832
+2007200833,2007200833
+2007200834,2007200834
+2007200835,2007200835
+2007200836,2007200836
+2007200837,2007200837
+2007200838,2007200838
+2007200839,2007200839
+2007200840,2007200840
+2007200841,2007200841
+2007200842,2007200842
+2007200843,2007200843
+2007200844,2007200844
+2007200845,2007200845
+2007200846,2007200846
+2007200847,2007200847
+2007200848,2007200848
+2007200849,2007200849
+2007200850,2007200850
+2007200851,2007200851
+2007200852,2007200852
+2007200853,2007200853
+2007200854,2007200854
+2007200855,2007200855
+2007200856,2007200856
+2007200857,2007200857
+2007200858,2007200858
+2007200859,2007200859
+2007200860,2007200860
+2007200861,2007200861
+2007200862,066078043
+2007200863,2007200863
+2007200864,2007200864
+2007200865,2007200865
+2007200866,2007200866
+2007200867,2007200867
+2007200868,2007200868
+2007200869,2007200869
+2007200870,2007200870
+2007200871,2007200871
+2007200872,2007200872
+2007200873,2007200873
+2007200874,2007200874
+2007200875,2007200875
+2007200876,2007200876
+2007200877,2007200877
+2007200878,2007200878
+2007200879,2007200879
+2007200880,2007200880
+2007200881,2007200881
+2007200882,2007200882
+2007200883,2007200883
+2007200884,2007200884
+2007200885,2007200885
+2007200886,2007200886
+2007200887,2007200887
+2007200888,2007200888
+2007200889,2007200889
+2007200890,2007200890
+2007200891,2007200891
+2007200892,2007200892
+2007200893,2007200893
+2007200894,2007200894
+2007200895,2007200895
+2007200896,2007200896
+2007200897,2007200897
+2007200898,2007200898
+2007200899,2007200899
+2007200900,2007200900
+2007200901,2007200901
+2007200902,2007200902
+2007200903,2007200903
+2007200904,2007200904
+2007200905,2007200905
+2007200906,2007200906
+2007200907,2007200907
+2007200908,2007200908
+2007200909,2007200909
+2007200910,2007200910
+2007200911,2007200911
+2007200912,2007200912
+2007200913,2007200913
+2007200914,2007200914
+2007200915,2007200915
+2007200916,2007200916
+2007200917,2007200917
+2007200918,2007200918
+2007200919,2007200919
+2007200920,2007200920
+2007200921,2007200921
+2007200922,2007200922
+2007200923,2007200923
+2007200924,2007200924
+2007200925,2007200925
+2007200926,2007200926
+2007200927,2007200927
+2007200928,2007200928
+2007200929,2007200929
+2007200930,2007200930
+2007200931,2007200931
+2007200932,2007200932
+2007200933,2007200933
+2007200934,2007200934
+2007200935,2007200935
+2007200936,2007200936
+2007200937,2007200937
+2007200938,2007200938
+2007200939,2007200939
+2007200940,2007200940
+2007200941,2007200941
+2007200942,2007200942
+2007200943,2007200943
+2007200944,2007200944
+2007200945,2007200945
+2007200946,2007200946
+2007200947,2007200947
+2007200948,2007200948
+2007200949,2007200949
+2007200950,2007200950
+2007200951,2007200951
+2007200952,2007200952
+2007200953,2007200953
+2007200954,2007200954
+2007200955,2007200955
+2007200956,2007200956
+2007200957,2007200957
+2007200958,2007200958
+2007200959,2007200959
+2007200960,2007200960
+2007200961,2007200961
+2007200962,2007200962
+2007200963,2007200963
+2007200964,2007200964
+2007200965,2007200965
+2007200966,2007200966
+2007200967,2007200967
+2007200968,2007200968
+2007200969,2007200969
+2007200970,2007200970
+2007200971,2007200971
+2007200972,2007200972
+2007200973,2007200973
+2007200974,2007200974
+2007200975,2007200975
+2007200976,2007200976
+2007200977,2007200977
+2007200978,2007200978
+2007200979,2007200979
+2007200980,2007200980
+2007200981,2007200981
+2007200982,2007200982
+2007200983,2007200983
+2007200984,2007200984
+2007200985,2007200985
+2007200986,2007200986
+2007200987,2007200987
+2007200988,2007200988
+2007200989,2007200989
+2007200990,2007200990
+2007200991,2007200991
+2007200992,2007200992
+2007200993,2007200993
+2007200994,2007200994
+2007200995,2007200995
+2007200996,2007200996
+2007200997,2007200997
+2007200998,2007200998
+2007200999,2007200999
+2007201000,2007201000
+2007201001,2007201001
+2007201002,2007201002
+2007201003,2007201003
+2007201004,2007201004
+2007201005,2007201005
+2007201006,2007201006
+2007201007,2007201007
+2007201008,2007201008
+2007201009,2007201009
+2007201010,2007201010
+2007201011,2007201011
+2007201012,2007201012
+2007201013,2007201013
+2007201014,2007201014
+2007201015,2007201015
+2007201016,2007201016
+2007201017,2007201017
+2007201018,2007201018
+2007201019,2007201019
+2007201020,2007201020
+2007201021,2007201021
+2007201022,2007201022
+2007201023,2007201023
+2007201024,2007201024
+2007201025,2007201025
+2007201026,2007201026
+2007201027,2007201027
+2007201028,2007201028
+2007201029,2007201029
+2007201030,2007201030
+2007201031,2007201031
+2007201032,2007201032
+2007201033,2007201033
+2007201034,2007201034
+2007201035,2007201035
+2007201036,2007201036
+2007201037,2007201037
+2007201038,2007201038
+2007201039,2007201039
+2007201040,2007201040
+2007201041,2007201041
+2007201042,2007201042
+2007201043,2007201043
+2007201044,2007201044
+2007201045,2007201045
+2007201046,2007201046
+2007201047,2007201047
+2007201048,2007201048
+2007201049,2007201049
+2007201050,2007201050
+2007201051,2007201051
+2007201052,2007201052
+2007201053,2007201053
+2007201054,2007201054
+2007201055,2007201055
+2007201056,2007201056
+2007201057,2007201057
+2007201058,2007201058
+2007201059,2007201059
+2007201060,2007201060
+2007201061,2007201061
+2007201062,2007201062
+2007201063,2007201063
+2007201064,2007201064
+2007201065,2007201065
+2007201066,2007201066
+2007201067,2007201067
+2007201068,2007201068
+2007201069,2007201069
+2007201070,2007201070
+2007201071,2007201071
+2007201072,2007201072
+2007201073,2007201073
+2007201074,2007201074
+2007201075,2007201075
+2007201076,2007201076
+2007201077,2007201077
+2007201078,2007201078
+2007201079,2007201079
+2007201080,2007201080
+2007201081,2007201081
+2007201082,2007201082
+2007201083,2007201083
+2007201084,2007201084
+2007201085,2007201085
+2007201086,2007201086
+2007201087,2007201087
+2007201088,2007201088
+2007201089,2007201089
+2007201090,2007201090
+2007201091,2007201091
+2007201092,2007201092
+2007201093,2007201093
+2007201094,2007201094
+2007201095,2007201095
+2007201096,2007201096
+2007201097,2007201097
+2007201098,2007201098
+2007201099,2007201099
+2007201100,2007201100
+2007201101,2007201101
+2007201102,2007201102
+2007201103,2007201103
+2007201104,2007201104
+2007201105,2007201105
+2007201106,2007201106
+2007201107,2007201107
+2007201108,2007201108
+2007201109,2007201109
+2007201110,2007201110
+2007201111,2007201111
+2007201112,2007201112
+2007201113,2007201113
+2007201114,2007201114
+2007201115,2007201115
+2007201116,2007201116
+2007201117,2007201117
+2007201118,2007201118
+2007201119,2007201119
+2007201120,2007201120
+2007201121,2007201121
+2007201122,2007201122
+2007201123,2007201123
+2007201124,2007201124
+2007201125,2007201125
+2007201126,2007201126
+2007201127,2007201127
+2007201128,2007201128
+2007201129,2007201129
+2007201130,2007201130
+2007201131,2007201131
+2007201132,2007201132
+2007201133,2007201133
+2007201134,2007201134
+2007201135,2007201135
+2007201136,2007201136
+2007201137,2007201137
+2007201138,2007201138
+2007201139,2007201139
+2007201140,2007201140
+2007201141,2007201141
+2007201142,2007201142
+2007201143,2007201143
+2007201144,2007201144
+2007201145,2007201145
+2007201146,2007201146
+2007201147,2007201147
+2007201148,2007201148
+2007201149,2007201149
+2007201150,2007201150
+2007201151,2007201151
+2007201152,2007201152
+2007201153,2007201153
+2007201154,2007201154
+2007201155,2007201155
+2007201156,2007201156
+2007201157,2007201157
+2007201158,2007201158
+2007201159,032353
+2007201160,2007201160
+2007201161,2007201161
+2007201162,2007201162
+2007201163,2007201163
+2007201164,2007201164
+2007201165,2007201165
+2007201166,2007201166
+2007201167,2007201167
+2007201168,2007201168
+2007201169,2007201169
+2007201170,2007201170
+2007201171,2007201171
+2007201172,2007201172
+2007201173,2007201173
+2007201174,2007201174
+2007201175,2007201175
+2007201176,2007201176
+2007201177,2007201177
+2007201178,2007201178
+2007201179,2007201179
+2007201180,2007201180
+2007201181,2007201181
+2007201182,2007201182
+2007201183,2007201183
+2007201184,2007201184
+2007201185,2007201185
+2007201186,2007201186
+2007201187,2007201187
+2007201188,2007201188
+2007201189,2007201189
+2007201190,2007201190
+2007201191,2007201191
+2007201192,2007201192
+2007201193,2007201193
+2007201194,2007201194
+2007201195,2007201195
+2007201196,2007201196
+2007201197,2007201197
+2007201198,2007201198
+2007201199,2007201199
+2007201200,2007201200
+2007201201,2007201201
+2007201202,2007201202
+2007201203,2007201203
+2007201204,2007201204
+2007201205,2007201205
+2007201206,2007201206
+2007201207,2007201207
+2007201208,2007201208
+2007201209,2002000052
+2007201210,1996000034
+2007201211,2007201211
+2007201212,2007201212
+2007201213,2007201213
+2007201214,2007201214
+2007201215,2007201215
+2007201216,2007201216
+2007201217,2007201217
+2007201218,2007201218
+2007201219,2007201219
+2007201220,2007201220
+2007201221,2007201221
+2007201222,2007201222
+2007201223,2007201223
+2007201224,2007201224
+2007201225,2007201225
+2007201226,2007201226
+2007201227,2007201227
+2007201228,2007201228
+2007201229,2007201229
+2007201230,2007201230
+2007201231,2007201231
+2007201232,2007201232
+2007201233,2007201233
+2007201234,2007201234
+2007201235,2007201235
+2007201236,2007201236
+2007201237,2007201237
+2007201238,2007201238
+2007201239,2007201239
+2007201240,2007201240
+2007201241,2007201241
+2007201242,2007201242
+2007201243,2007201243
+2007201244,2007201244
+2007201245,2007201245
+2007201246,2007201246
+2007201247,2007201247
+2007201248,2007201248
+2007201249,2007201249
+2007201250,2007201250
+2007201251,2007201251
+2007201252,2007201252
+2007201253,2007201253
+2007201254,2007201254
+2007201255,2007201255
+2007201256,2007201256
+2007201257,2007201257
+2007201258,2007201258
+2007201259,2007201259
+2007201260,2007201260
+2007201261,2007201261
+2007201262,2007201262
+2007201263,2007201263
+2007201264,2007201264
+2007201265,2007201265
+2007201266,2007201266
+2007201267,2007201267
+2007201268,2007201268
+2007201269,2007201269
+2007201270,2007201270
+2007201271,2007201271
+2007201272,2007201272
+2007201273,2007201273
+2007201274,2007201274
+2007201275,2007201275
+2007201276,2007201276
+2007201277,2007201277
+2007201278,2007201278
+2007201279,2007201279
+2007201280,2007201280
+2007201281,2007201281
+2007201282,2007201282
+2007201283,2007201283
+2007201284,2007201284
+2007201285,2007201285
+2007201286,2007201286
+2007201287,2007201287
+2007201288,2007201288
+2007201289,2007201289
+2007201290,2007201290
+2007201291,2007201291
+2007201292,2007201292
+2007201293,2007201293
+2007201294,2007201294
+2007201295,2007201295
+2007201296,2007201296
+2007201297,2007201297
+2007201298,2007201298
+2007201299,2007201299
+2007201300,2007201300
+2007201301,2007201301
+2007201302,2007201302
+2007201303,2007201303
+2007201304,2007201304
+2007201305,2007201305
+2007201306,2007201306
+2007201307,2007201307
+2007201308,2007201308
+2007201309,2007201309
+2007201310,2007201310
+2007201311,2007201311
+2007201312,2007201312
+2007201313,2007201313
+2007201314,2007201314
+2007201315,2007201315
+2007201316,2007201316
+2007201317,2007201317
+2007201318,2007201318
+2007201319,2007201319
+2007201320,2007201320
+2007201321,2007201321
+2007201322,2007201322
+2007201323,2007201323
+2007201324,2007201324
+2007201325,2007201325
+2007201326,2007201326
+2007201327,2007201327
+2007201328,2007201328
+2007201329,2007201329
+2007201330,2007201330
+2007201331,2007201331
+2007201332,2007201332
+2007201333,2007201333
+2007201334,2007201334
+2007201335,2007201335
+2007201336,2007201336
+2007201337,2007201337
+2007201338,2007201338
+2007201339,2007201339
+2007201340,2007201340
+2007201341,2007201341
+2007201342,2007201342
+2007201343,2007201343
+2007201344,2007201344
+2007201345,2007201345
+2007201346,2007201346
+2007201347,2007201347
+2007201348,2007201348
+2007201349,2007201349
+2007201350,2007201350
+2007201351,2007201351
+2007201352,2007201352
+2007201353,2007201353
+2007201354,2007201354
+2007201355,2007201355
+2007201356,2007201356
+2007201357,2007201357
+2007201358,2007201358
+2007201359,2007201359
+2007201360,2007201360
+2007201361,2007201361
+2007201362,2007201362
+2007201363,2007201363
+2007201364,2007201364
+2007201365,2007201365
+2007201366,2007201366
+2007201367,2007201367
+2007201368,2007201368
+2007201369,2007201369
+2007201370,2007201370
+2007201371,2007201371
+2007201372,2007201372
+2007201373,2007201373
+2007201374,2007201374
+2007201375,2007201375
+2007201376,2007201376
+2007201377,2007201377
+2007201378,2007201378
+2007201379,2007201379
+2007201380,2007201380
+2007201381,2007201381
+2007201382,2007201382
+2007201383,2007201383
+2007201384,2007201384
+2007201385,2007201385
+2007201386,2007201386
+2007201387,2007201387
+2007201388,2007201388
+2007201389,2007201389
+2007201390,2007201390
+2007201391,2007201391
+2007201392,2007201392
+2007201393,2007201393
+2007201394,2007201394
+2007201395,2007201395
+2007201396,2007201396
+2007201397,2007201397
+2007201398,2007201398
+2007201399,2007201399
+2007201400,2007201400
+2007201401,2007201401
+2007201402,2005020127
+2007201403,2007201403
+2007201404,2007201404
+2007201405,2007201405
+2007201406,2007201406
+2007201407,2007201407
+2007201408,2007201408
+2007201409,2007201409
+2007201410,2007201410
+2007201411,2007201411
+2007201412,2007201412
+2007201413,2007201413
+2007201414,2007201414
+2007201415,2007201415
+2007201416,2007201416
+2007201417,2007201417
+2007201418,2007201418
+2007201419,2007201419
+2007201420,2007201420
+2007201421,2007201421
+2007201422,2007201422
+2007201423,2007201423
+2007201424,2007201424
+2007201425,2007201425
+2007201426,2007201426
+2007201427,2007201427
+2007201428,2007201428
+2007201429,2007201429
+2007201430,2007201430
+2007201431,2007201431
+2007201432,2007201432
+2007201433,2007201433
+2007201434,2007201434
+2007201435,2007201435
+2007201436,2007201436
+2007201437,2007201437
+2007201438,2007201438
+2007201439,2007201439
+2007201440,2007201440
+2007201441,2007201441
+2007201442,2007201442
+2007201443,2007201443
+2007201444,2007201444
+2007201445,2007201445
+2007201446,2007201446
+2007201447,2007201447
+2007201448,2007201448
+2007201449,2007201449
+2007201450,2007201450
+2007201451,2007201451
+2007201452,2007201452
+2007201453,2007201453
+2007201454,2007201454
+2007201455,2007201455
+2007201456,2007201456
+2007201457,2007201457
+2007201458,2007201458
+2007201459,2007201459
+2007201460,2007201460
+2007201461,2007201461
+2007201462,2007201462
+2007201463,2007201463
+2007201464,2007201464
+2007201465,2007201465
+2007201466,2007201466
+2007201467,2007201467
+2007201468,2007201468
+2007201469,2007201469
+2007201470,2007201470
+2007201471,2007201471
+2007201472,2007201472
+2007201473,2007201473
+2007201474,2007201474
+2007201475,2007201475
+2007201476,2007201476
+2007201477,2007201477
+2007201478,2007201478
+2007201479,2007201479
+2007201480,2007201480
+2007201481,2007201481
+2007201482,2007201482
+2007201483,2007201483
+2007201484,2007201484
+2007201485,2007201485
+2007201486,2007201486
+2007201487,2007201487
+2007201488,2007201488
+2007201489,2007201489
+2007201490,2007201490
+2007201491,2007201491
+2007201492,2007201492
+2007201493,2007201493
+2007201494,2007201494
+2007201495,2007201495
+2007201496,2007201496
+2007201497,2007201497
+2007201498,2007201498
+2007201499,2007201499
+2007201500,2007201500
+2007201501,2007201501
+2007201502,2007201502
+2007201503,2007201503
+2007201504,2007201504
+2007201505,2007201505
+2007201506,2007201506
+2007201507,2007201507
+2007201508,2007201508
+2007201509,2007201509
+2007201510,2007201510
+2007201511,2007201511
+2007201512,2007201512
+2007201513,2007201513
+2007201514,2007201514
+2007201515,2007201515
+2007201516,2007201516
+2007201517,2007201517
+2007201518,2007201518
+2007201519,2007201519
+2007201520,2007201520
+2007201521,2007201521
+2007201522,2007201522
+2007201523,2007201523
+2007201524,2007201524
+2007201525,2007201525
+2007201526,2007201526
+2007201527,2007201527
+2007201528,2007201528
+2007201529,2007201529
+2007201530,2007201530
+2007201531,2007201531
+2007201532,2007201532
+2007201533,2007201533
+2007201534,2007201534
+2007201535,2007201535
+2007201536,2007201536
+2007201537,2007201537
+2007201538,2007201538
+2007201539,2007201539
+2007201540,2007201540
+2007201541,2007201541
+2007201542,2007201542
+2007201543,2007201543
+2007201544,2007201544
+2007201545,2007201545
+2007201546,2007201546
+2007201547,2007201547
+2007201548,2007201548
+2007201549,2007201549
+2007201550,2007201550
+2007201551,2007201551
+2007201552,2007201552
+2007201553,2007201553
+2007201554,2007201554
+2007201555,2007201555
+2007201556,2007201556
+2007201557,2007201557
+2007201558,2007201558
+2007201559,2007201559
+2007201560,2007201560
+2007201561,2007201561
+2007201562,2007201562
+2007201563,2005020131
+2007201564,2007201564
+2007201565,2007201565
+2007201566,2007201566
+2007201567,2007201567
+2007201568,2007201568
+2007201569,2007201569
+2007201570,2007201570
+2007201571,2007201571
+2007201572,2007201572
+2007201573,2007201573
+2007201574,2007201574
+2007201575,2005020103
+2007201576,2007201576
+2007201577,2007201577
+2007201578,2007201578
+2007201579,2007201579
+2007201580,2007201580
+2007201581,2007201581
+2007201582,2007201582
+2007201583,2007201583
+2007201584,2007201584
+2007201585,2007201585
+2007201586,2007201586
+2007201587,2007201587
+2007201588,2007201588
+2007201589,2007201589
+2007201590,2007201590
+2007201591,2003000093
+2007201592,2007201592
+2007201593,2007201593
+2007201594,2007201594
+2007201595,2007201595
+2007201596,2007201596
+2007201597,2007201597
+2007201598,2007201598
+2007201599,2007201599
+2007201600,2007201600
+2007201601,2007201601
+2007201602,2007201602
+2007201603,2007201603
+2007201604,2007201604
+2007201605,2007201605
+2007201606,2007201606
+2007201607,2007201607
+2007201608,2007201608
+2007201609,2007201609
+2007201610,2007201610
+2007201611,2007201611
+2007201612,2007201612
+2007201613,2007201613
+2007201614,2007201614
+2007201615,2007201615
+2007201616,2007201616
+2007201617,2007201617
+2007201618,2007201618
+2007201619,2007201619
+2007201620,2007201620
+2007201621,2007201621
+2007201622,2007201622
+2007201623,2007201623
+2007201624,06612E005
+2007201625,2007201625
+2007201626,2007201626
+2007201627,2007201627
+2007201628,2007201628
+2007201629,2007201629
+2007201630,2007201630
+2007201631,2007201631
+2007201632,2007201632
+2007201633,2007201633
+2007201634,2007201634
+2007201635,2007201635
+2007201636,2007201636
+2007201637,2007201637
+2007201638,2007201638
+2007201639,2007201639
+2007201640,2007201640
+2007201641,2007201641
+2007201642,2007201642
+2007201643,2007201643
+2007201644,2007201644
+2007201645,2007201645
+2007201646,2007201646
+2007201647,2007201647
+2007201648,2007201648
+2007201649,2007201649
+2007201650,2007201650
+2007201651,2007201651
+2007201652,2007201652
+2007201653,2007201653
+2007201654,2007201654
+2007201655,2007201655
+2007201656,2007201656
+2007201657,2007201657
+2007201658,2007201658
+2007201659,2007201659
+2007201660,2007201660
+2007201661,2007201661
+2007201662,2007201662
+2007201663,2007201663
+2007201664,2007201664
+2007201665,2007201665
+2007201666,2007201666
+2007201667,2007201667
+2007201668,2007201668
+2007201669,2007201669
+2007201670,2007201670
+2007201671,2007201671
+2007201672,2007201672
+2007201673,2007201673
+2007201674,2007201674
+2007201675,2007201675
+2007201676,2007201676
+2007201677,2007201677
+2007201678,2007201678
+2007201679,2007201679
+2007201680,2007201680
+2007201681,2007201681
+2007201682,2007201682
+2007201683,2007201683
+2007201684,2007201684
+2007201685,2007201685
+2007201686,2007201686
+2007201687,2007201687
+2007201688,2007201688
+2007201689,2007201689
+2007201690,2007201690
+2007201691,2007201691
+2007201692,2007201692
+2007201693,2007201693
+2007201694,2007201694
+2007201695,2007201695
+2007201696,2007201696
+2007201697,2007201697
+2007201698,2007201698
+2007201699,2007201699
+2007201700,2007201700
+2007201701,2007201701
+2007201702,2007201702
+2007201703,2007201703
+2007201704,2007201704
+2007201705,2007201705
+2007201706,2007201706
+2007201707,2007201707
+2007201708,2007201708
+2007201709,2007201709
+2007201710,2007201710
+2007201711,2007201711
+2007201712,2007201712
+2007201713,2007201713
+2007201714,2007201714
+2007201715,2007201715
+2007201716,2007201716
+2007201717,2007201717
+2007201718,2007201718
+2007201719,2007201719
+2007201720,2007201720
+2007201721,2007201721
+2007201722,2007201722
+2007201723,2007201723
+2007201724,2007201724
+2007201725,2007201725
+2007201726,2007201726
+2007201727,2007201727
+2007201728,2007201728
+2007201729,2007201729
+2007201730,2007201730
+2007201731,2007201731
+2007201732,2007201732
+2007201733,2007201733
+2007201734,2007201734
+2007201735,2007201735
+2007201736,2007201736
+2007201737,2007201737
+2007201738,2007201738
+2007201739,2007201739
+2007201740,2007201740
+2007201741,2007201741
+2007201742,2007201742
+2007201743,2007201743
+2007201744,2007201744
+2007201745,2007201745
+2007201746,2007201746
+2007201747,2007201747
+2007201748,2007201748
+2007201749,2007201749
+2007201750,2007201750
+2007201751,2007201751
+2007201752,2007201752
+2007201753,2007201753
+2007201754,2007201754
+2007201755,2007201755
+2007201756,2007201756
+2007201757,2007201757
+2007201758,2003000076
+2007201759,2007201759
+2007201760,2007201760
+2007201761,2007201761
+2007201762,2007201762
+2007201763,2007201763
+2007201764,2007201764
+2007201765,2007201765
+2007201766,2007201766
+2007201767,2007201767
+2007201768,2007201768
+2007201769,2007201769
+2007201770,2007201770
+2007201771,2007201771
+2007201772,2004020090
+2007201773,2007201773
+2007201774,2007201774
+2007201775,2007201775
+2007201776,2007201776
+2007201777,2007201777
+2007201778,2007201778
+2007201779,2007201779
+2007201780,2007201780
+2007201781,2007201781
+2007201782,2007201782
+2007201783,2007201783
+2007201784,2007201784
+2007201785,2007201785
+2007201786,2007201786
+2007201787,2007201787
+2007201788,2007201788
+2007201789,2007201789
+2007201790,2007201790
+2007201791,2007201791
+2007201792,2007201792
+2007201793,2007201793
+2007201794,2007201794
+2007201795,2007201795
+2007201796,2007201796
+2007201797,2007201797
+2007201798,2007201798
+2007201799,2007201799
+2007201800,2007201800
+2007201801,2007201801
+2007201802,2007201802
+2007201803,2007201803
+2007201804,2007201804
+2007201805,2007201805
+2007201806,2007201806
+2007201807,2007201807
+2007201808,2007201808
+2007201809,2007201809
+2007201810,2007201810
+2007201811,2007201811
+2007201812,2007201812
+2007201813,2007201813
+2007201814,2007201814
+2007201815,2007201815
+2007201816,2007201816
+2007201817,2007201817
+2007201818,2007201818
+2007201819,2007201819
+2007201820,2007201820
+2007201821,2007201821
+2007201822,2007201822
+2007201823,2007201823
+2007201824,2007201824
+2007201825,2007201825
+2007201826,2007201826
+2007201827,2007201827
+2007201828,2007201828
+2007201829,2007201829
+2007201830,2007201830
+2007201831,2007201831
+2007201832,2007201832
+2007201833,2007201833
+2007201834,2007201834
+2007201835,2007201835
+2007201836,2007201836
+2007201837,2007201837
+2007201838,2007201838
+2007201839,2007201839
+2007201840,2007201840
+2007201841,2007201841
+2007201842,2007201842
+2007201843,2007201843
+2007201844,2007201844
+2007201845,2007201845
+2007201846,2007201846
+2007201847,2007201847
+2007201848,2007201848
+2007201849,2007201849
+2007201850,2007201850
+2007201851,2007201851
+2007201852,2007201852
+2007201853,2007201853
+2007201854,2007201854
+2007201855,2007201855
+2007201856,2007201856
+2007201857,2007201857
+2007201858,2007201858
+2007201859,2007201859
+2007201860,2007201860
+2007201861,2007201861
+2007201862,2007201862
+2007201863,2007201863
+2007201864,2007201864
+2007201865,2007201865
+2007201866,2007201866
+2007201867,2007201867
+2007201868,2007201868
+2007201869,2007201869
+2007201870,2007201870
+2007201871,2007201871
+2007201872,2007201872
+2007201873,2007201873
+2007201874,2007201874
+2007201875,2007201875
+2007201876,2007201876
+2007210001,2007210001
+2007210002,2007210002
+2007210003,2007210003
+2007210004,2007210004
+2007210005,2007210005
+2007210006,2007210006
+2007210007,2007210007
+2007210008,2007210008
+2007210009,2007210009
+2007210010,2007210010
+2007210011,2007210011
+2007210012,2007210012
+2007210013,2007210013
+2007210014,2007210014
+2007210015,2007210015
+2007210016,2007210016
+2007210017,2007210017
+2007210018,2007210018
+2007210019,2003000110
+2007210020,2007210020
+2007210021,2007210021
+2007210022,2007210022
+2007210023,2007210023
+2007210024,2007210024
+2007210025,2007210025
+2007210026,2007210026
+2007210027,2007210027
+2007210028,2007210028
+2007210029,2007210029
+2007210030,2007210030
+2007210031,2007210031
+2007210032,2007210032
+2007210033,2007210033
+2007210034,2007210034
+2007210035,2007210035
+2007210036,2007210036
+2007210037,2007210037
+2007210038,2007210038
+2007210039,2007210039
+2007210040,2007210040
+2007210041,2007210041
+2007210042,2007210042
+2007210043,2007210043
+2007210044,2007210044
+2007210045,2007210045
+2007210046,2007210046
+2007210047,2007210047
+2007210048,2007210048
+2007210049,2007210049
+2007210050,2007210050
+2007210051,2007210051
+2007210052,2007210052
+2007210053,2007210053
+2007210054,2007210054
+2007210055,2007210055
+2007210056,2007210056
+2007210057,2007210057
+2007210058,2007210058
+2007210059,2007210059
+2007210060,2007210060
+2007210061,2007210061
+2007210062,2007210062
+2007210063,2007210063
+2007210064,2007210064
+2007210065,2007210065
+2007210066,2007210066
+2007210067,2007210067
+2007210068,2007210068
+2007210069,2007210069
+2007210070,2007210070
+2007210071,2007210071
+2007210072,2007210072
+2007210073,2007210073
+2007210074,2007210074
+2007210075,2007210075
+2007210076,2007210076
+2007210077,2007210077
+2007210078,2007210078
+2007210079,2007210079
+2007210080,2007210080
+2007210081,2007210081
+2007210082,2007210082
+2007210083,2007210083
+2007210084,2007210084
+2007210085,2007210085
+2007210086,2007210086
+2007210087,2007210087
+2007210088,2007210088
+2007210089,2007210089
+2007210090,2007210090
+2007210091,2007210091
+2007210092,2007210092
+2007210093,2007210093
+2007210094,2007210094
+2007210095,2007210095
+2007210096,2007210096
+2007210097,2007210027
+2007210098,2007210031
+2007210099,2007210099
+2007210100,2007210100
+2007210101,2007210101
+2007210102,2007210102
+2007210103,2007210103
+2007210104,2007210104
+2007210105,2007210105
+2007210106,2007210106
+2007210107,2007210107
+2007210108,2007210108
+2007210109,2007210109
+2007210110,2007210110
+2007210111,2007210111
+2007210112,2007210112
+2007210113,2007210113
+2007210114,2007210114
+2007210115,2007210115
+2007210116,2007210116
+2007210117,2007210117
+2007210118,2007210118
+2007210119,2007210119
+2007210120,2007210120
+2007210121,2004020099
+2007210122,2007210122
+2007210123,2007210123
+2007210124,2007210124
+2007210125,2007210125
+2007210126,2007210126
+2007210127,2007210127
+2007210128,2007210128
+2007210129,2007210129
+2007210130,2007210130
+2007210131,2007210131
+2007210132,2007210132
+2007210133,2007210133
+2007210134,2007210134
+2007210135,2007210135
+2007210136,2007210136
+2007210137,2007210137
+2007210138,2007210138
+2007210139,2007210139
+2007210140,2007210140
+2007210141,2007210141
+2007210142,2007210142
+2007210143,2007210143
+2007210144,2007210144
+2007210145,2007210145
+2007210146,2007210146
+2007210147,2007210147
+2007210148,2007210148
+2007210149,2007210149
+2007210150,2007210150
+2007210151,2007210151
+2007210152,2007210152
+2007210153,2007210153
+2007210154,2007210154
+2007210155,2007210155
+2007210156,2007210156
+2007210157,2007210157
+2007210158,2007210158
+2007210159,2007210159
+2007210160,2007210160
+2007210161,2007210161
+2007210162,2007210162
+2007210163,2007210163
+2007210164,2007210164
+2007210165,2007210165
+2007210166,2007210166
+2007210167,2007210167
+2007210168,2007210168
+2007210169,2007210169
+2007210170,2007210170
+2007210171,2007210171
+2007210172,2007210172
+2007210173,2007210173
+2007210174,2007210174
+2007210175,2007210175
+2007210176,2007210176
+2007210177,2007210177
+2007210178,2007210178
+2007210179,2007210179
+2007210180,2007210180
+2007210181,2007210181
+2007210182,2007210182
+2007210183,2007210183
+2007210184,2007210184
+2007210185,2007210185
+2007210186,2007210186
+2007210187,2007210187
+2007210188,2007210188
+2007210189,2007210189
+2007210190,2007210190
+2007210191,2007210191
+2007210192,2007210192
+2007210193,2007210193
+2007210194,2007210194
+2007210195,2007210195
+2007210196,2007210196
+2007210197,2007210197
+2007210198,2007210198
+2007210199,2007210199
+2007210200,2007210200
+2007210201,2007210201
+2007210202,2007210202
+2007210203,2007210203
+2007210204,2007210204
+2007210205,2007210205
+2007210206,2007210206
+2007210207,2003000106
+2007210208,2007210208
+2007210209,1995000075
+2007210210,2007210210
+2007210211,2007210211
+2007210212,2007210212
+2007210213,2007210213
+2007210214,066068053
+2007210215,2007210215
+2007210216,2007210216
+2007210217,066068061
+2007210218,066068060
+2007210219,2007210219
+2007210220,2007210220
+2007210221,2007210221
+2007210222,2007210222
+2007210223,066068008
+2007210224,066068015
+2007210225,066068020
+2007210226,2007210226
+2007210227,2007210227
+2007210228,2007210228
+2007210229,2007210229
+2007210230,2007210230
+2007210231,2007210231
+2007210232,2007210232
+2007210233,2007210233
+2007210234,2007210234
+2007210235,2007210235
+2007210236,2007210236
+2007210237,2007210237
+2007210238,2007210238
+2007210239,2007210239
+2007210240,1994000061
+2007210241,2007210241
+2007210242,2007210242
+2007210243,2007210243
+2007210244,2007210244
+2007210245,2007210245
+2007210246,2007210246
+2007210247,2007210247
+2007210248,2007210248
+2007210249,2007210249
+2007210250,2007210250
+2007210251,2007210251
+2007210252,2007210252
+2007210253,2007210253
+2007210254,2007210254
+2007210255,2007210255
+2007210256,2007210256
+2007210257,2007210257
+2007210258,2007210258
+2007210259,2007210259
+2007210260,2007210260
+2007210261,2007210261
+2007210262,2007210262
+2007210263,2007210263
+2007210264,2007210264
+2007210265,2007210265
+2007210266,2007210266
+2007210267,2007210267
+2007210268,2007210268
+2007210269,2007210269
+2007210270,2007210270
+2007210271,2007210271
+2007210272,2007210272
+2007210273,2007210273
+2007210274,2007210274
+2007210275,2007210275
+2007210276,2007210276
+2007210277,2007210277
+2007210278,2007210278
+2007210279,2007210279
+2007210280,2007210280
+2007210281,05607G206
+2007210282,2007210282
+2007210283,2007210283
+2007210284,2007210284
+2007210285,2007210285
+2007210286,2007210286
+2007210287,2007210287
+2007210288,2007210288
+2007210289,2007210289
+2007210290,2007210290
+2007210291,2007210291
+2007210292,2007210292
+2007210293,2007210293
+2007210294,2007210294
+2007210295,2007210295
+2007210296,2007210296
+2007210297,2007210297
+2007210298,2007210298
+2007210299,2007210299
+2007210300,2007210300
+2007210301,2007210301
+2007210302,2007210302
+2007210303,2007210303
+2007210304,2007210304
+2007210305,2007210305
+2007210306,2007210306
+2007210307,2007210307
+2007210308,2007210308
+2007210309,2007210309
+2007210310,2007210310
+2007210311,2007210311
+2007210312,2007210312
+2007210313,2007210313
+2007210314,2007210314
+2007210315,2007210315
+2007210316,2007210316
+2007210317,2007210317
+2007210318,2007210318
+2007210319,2007210319
+2007210320,2007210320
+2007210321,2007210321
+2007210322,2007210322
+2007210323,2007210323
+2007210324,2007210324
+2007210325,2007210325
+2007210326,2007210326
+2007210327,2007210327
+2007210328,2007210328
+2007210329,2007210329
+2007210330,2007210330
+2007210331,2007210331
+2007210332,2007210332
+2007210333,2007210333
+2007210334,2007210334
+2007210335,2007210335
+2007210336,2007210336
+2007210337,2007210337
+2007210338,2007210338
+2007210339,2003020077
+2007210340,2007210340
+2007210341,2007210341
+2007210342,2007210342
+2007210343,2007210343
+2007210344,2007210344
+2007210345,2007210345
+2007210346,2007210346
+2007210347,2007210347
+2007210348,2007210348
+2007210349,2007210349
+2007210350,1999000061
+2007210351,1991000046
+2007210352,2007210352
+2007210353,2007210353
+2007210354,2007210354
+2007210355,2007210355
+2007210356,2007210356
+2007210357,2007210357
+2007210358,2007210358
+2007210359,2007210359
+2007210360,2007210360
+2007210361,2007210361
+2007210362,2007210362
+2007210363,2007210363
+2007210364,2007210364
+2007210365,2007210365
+2007210366,2007210366
+2007210367,2007210367
+2007210368,2007210368
+2007210369,2007210369
+2007210370,2007210370
+2007210371,2007210371
+2007210372,2007210372
+2007210373,2007210373
+2007210374,2007210374
+2007210375,2002020001
+2007210376,2007210376
+2007210377,2007210377
+2007210378,2007210378
+2007210379,2007210379
+2007210380,2007210380
+2007210381,2007210381
+2007210382,2007210382
+2007210383,2007210383
+2007210384,2007210384
+2007210385,2007210385
+2007210386,2007210386
+2007210387,2007210387
+2007210388,2007210388
+2007210389,2007210389
+2007210390,2007210390
+2007210391,2007210391
+2007210392,2007210392
+2007210393,2007210393
+2007210394,2007210394
+2007210395,2007210395
+2007210396,2007210396
+2007210397,2007210397
+2007210398,2007210398
+2007210399,2007210399
+2007210400,2007210400
+2007210401,2007210401
+2007210402,2007210402
+2007210403,2007210403
+2007210404,2007210404
+2007210405,2007210405
+2007210407,2007210407
+2007210408,2007210408
+2007210409,2007210409
+2007210410,2004020130
+2007210411,2007210411
+2007210412,2007210412
+2007210413,2007210413
+2007210414,2007210414
+2007210415,2007210415
+2007210416,2007210416
+2007210417,2007210417
+2007210418,2007210418
+2007210419,2007210419
+2007210420,2007210420
+2007210421,2007210421
+2007210422,2007210422
+2007210423,2007210423
+2007210424,2007210424
+2007210425,2007210425
+2007210426,2007210426
+2007210427,2007210427
+2007210428,2007210428
+2007210429,2007210429
+2007210430,2007210430
+2007210431,2007210431
+2007210432,2007210432
+2007210433,2007210433
+2007210434,2007210434
+2007210435,2007210435
+2007210436,2007210436
+2007210437,2007210437
+2007210438,2007210438
+2007210439,2007210439
+2007210440,2007210440
+2007210441,2007210441
+2007210442,2007210442
+2007210443,2007210443
+2007210444,2007210444
+2007210445,2007210445
+2007210446,2007210446
+2007210447,2007210447
+2007210448,2007210448
+2007210449,2007210449
+2007210450,2007210450
+2007210451,2003020089
+2007210452,2007210452
+2007210453,2007210453
+2007210454,2007210454
+2007210455,2007210455
+2007210456,2004020110
+2007210457,2007210457
+2007210458,2007210458
+2007210459,2007210459
+2007210460,2007210460
+2007210461,2007210461
+2007210462,2007210462
+2007210463,2007210463
+2007210464,2007210464
+2007210466,2007210466
+2007210467,2007210467
+2007210468,2007210468
+2007210469,2007210469
+2007210470,2007210470
+2007210471,2007210471
+2007210472,2007210472
+2007210473,2007210473
+2007210474,2007210474
+2007210475,2007210475
+2007210476,2007210476
+2007210477,2007210477
+2007210478,2007210478
+2007210479,2007210479
+2007210480,2007210480
+2007210481,2007210481
+2007210482,2007210482
+2007210483,2007210483
+2007210484,2007210484
+2007210485,2007210485
+2007210486,2007210486
+2007210487,2007210487
+2007210488,2007210488
+2007210489,2007210489
+2007210490,2007210490
+2007210491,2007210491
+2007210492,2007210492
+2007210493,2007210493
+2007210494,2007210494
+2007210495,2007210495
+2007210496,2007210496
+2007210497,2007210497
+2007210498,2007210498
+2007210499,2007210499
+2007210500,2007210500
+2007210501,2007210501
+2007210502,2007210502
+2007210503,2007210503
+2007210504,2007210504
+2007210505,2007210505
+2007210506,2007210506
+2007210507,2007210507
+2007210508,2007210508
+2007210509,2007210509
+2007210510,2007210510
+2007210511,2007210511
+2007210512,2007210512
+2007210513,2007210513
+2007210514,2007210514
+2007210515,2007210515
+2007210516,2007210516
+2007210517,2007210517
+2007210518,2007210518
+2007210519,2007210519
+2007210520,2007210520
+2007210521,2007210521
+2007210522,2007210522
+2007210523,2007210523
+2007210524,2007210524
+2007210525,2007210525
+2007210526,2007210526
+2007210527,2007210527
+2007210528,2007210528
+2007210529,2007210529
+2007210530,2007210530
+2007210531,2007210531
+2007210532,2007210532
+2007210533,2007210533
+2007210534,2007210534
+2007210535,2007210535
+2007210536,2007210536
+2007210537,2007210537
+2007210538,2007210538
+2007210539,2007210539
+2007210540,2007210540
+2007210541,2007210541
+2007210542,2007210542
+2007210543,2007210543
+2007210544,2007210544
+2007210545,2007210545
+2007210546,2007210546
+2007210547,2007210547
+2007210548,2007210548
+2007210549,2007210549
+2007210550,2007210550
+2007210551,2007210551
+2007210552,2007210552
+2007210553,2007210553
+2007210554,2007210554
+2007210555,2007210555
+2007210556,2007210556
+2007210557,2007210557
+2007210558,2007210558
+2007210559,2007210559
+2007210560,2007210560
+2007210561,2007210561
+2007210562,2007210562
+2007210563,2007210563
+2007210564,2007210564
+2007210565,2007210565
+2007210566,2007210566
+2007210567,2007210567
+2007210568,2007210568
+2007210569,2007210569
+2007210570,2007210570
+2007210571,2007210571
+2007210572,2007210572
+2007210573,2007210573
+2007210574,2007210574
+2007210575,2007210575
+2007210576,2007210576
+2007210577,2007210577
+2007210578,2007210578
+2007210579,2007210579
+2007210580,2007210580
+2007210581,2007210581
+2007210582,2007210582
+2007210583,2007210583
+2007210584,2007210584
+2007210585,2007210585
+2007210586,2007210586
+2007210587,2007210587
+2007210588,2007210588
+2007210589,2007210589
+2007210590,2007210590
+2007210591,2007210591
+2007210592,2007210592
+2007210593,2007210593
+2007210594,2007210594
+2007210595,2007210595
+2007210596,2007210596
+2007210597,2007210597
+2007210598,2007210598
+2007210599,2007210599
+2007210600,2007210600
+2007210601,2007210601
+2007210602,2007210602
+2007210603,2007210603
+2007210604,2007210604
+2007210605,2007210605
+2007210606,2007210606
+2007210607,2007210607
+2007210608,2007210608
+2007210609,2007210609
+2007210610,2007210610
+2007210611,2007210611
+2007210612,2007210612
+2007210613,2007210613
+2007210614,2007210614
+2007210615,2007210615
+2007210616,2007210616
+2007210617,2007210617
+2007210618,2007210618
+2007210619,2007210619
+2007210620,2007210620
+2007210621,2007210621
+2007210622,2007210622
+2007210623,2007210623
+2007210624,2007210624
+2007210625,2007210625
+2007210626,2007210626
+2007210627,2007210627
+2007210628,2007210628
+2007210629,2007210629
+2007210630,2007210630
+2007210631,2007210631
+2007210632,2007210632
+2007210633,2007210633
+2007210634,2007210634
+2007210635,2007210635
+2007210636,2007210636
+2007210637,2007210637
+2007210638,2007210638
+2007210639,2007210639
+2007210640,2007210640
+2007210641,2007210641
+2007210642,2007210642
+2007210643,2007210643
+2007210644,043797
+2007210645,2007210645
+2007210646,2007210646
+2007210647,2007210647
+2007210648,2007210648
+2007210649,2007210649
+2007210650,2007210650
+2007210651,2007210651
+2007210652,2007210652
+2007210653,2007210653
+2007210654,2007210654
+2007210655,2007210655
+2007210656,2007210656
+2007210657,2007210657
+2007210658,2007210658
+2007210659,2007210659
+2007210660,2007210660
+2007210661,2007210661
+2007210662,2007210662
+2007210663,2007210663
+2007210664,2007210664
+2007210665,2007210665
+2007210666,2007210666
+2007210667,2007210667
+2007210668,2007210668
+2007210669,2007210669
+2007210670,2007210670
+2007210671,2007210671
+2007210672,2007210672
+2007210673,2007210089
+2007210674,2007210674
+2007210675,2007210675
+2007210676,2007210676
+2007210677,2007210068
+2007210678,2007210678
+2007210679,2007210679
+2007210680,2007210680
+2007210681,2007210681
+2007210682,2007210682
+2007210683,2007210683
+2007210684,2007210684
+2007210685,2007210685
+2007210686,2007210686
+2007210687,2007210687
+2007210688,2007210688
+2007210689,2007210689
+2007210690,2007210690
+2007210691,2007210691
+2007210692,2007210692
+2007210693,2007210693
+2007210694,2007210694
+2007210695,2007210695
+2007210696,2007210696
+2007210697,2007210697
+2007210698,2007210698
+2007210699,2007210699
+2007210700,2007210700
+2007210701,2007210701
+2007210702,2007210702
+2007210703,2007210703
+2007210704,2007210704
+2007210705,2007210705
+2007210706,2007210706
+2007210707,2007210707
+2007210708,2007210708
+2007210709,2007210709
+2007210710,2007210710
+2007210711,2007210711
+2007210712,2007210712
+2007210713,2007210713
+2007220001,2007220001
+2007220002,066018041
+2007230001,2007230001
+2007230002,2007230002
+2007230003,2007230003
+2007230004,2007230004
+2007230005,2007230005
+2007230006,2007230006
+2007230007,2007230007
+2007230008,2007230008
+2007230009,2007230009
+2007230010,2007230010
+2007230011,2007230011
+2007230012,2007230012
+2007230013,2007230013
+2007230014,2007230014
+2007230015,2007230015
+2007230016,2007230016
+2007230017,2007230017
+2007230018,2007230018
+2007230019,2007230019
+2007230020,2007230020
+2007230021,2007230021
+2007230022,2007230022
+2007230023,2007230023
+2007230024,2007230024
+2007230025,2007230025
+2007240001,2007240001
+2007240002,2007240002
+2007240003,2007240003
+2007240004,2007240004
+2007240005,2007240005
+2007240006,2007240006
+2007240007,2007240007
+2007240008,2007240008
+2007240009,2007240009
+2007240010,2007240010
+2007240011,2007240011
+2007240012,2007240012
+2007240013,2007240013
+2007240014,2007240014
+2007240016,2007240016
+2007240017,2007240017
+2007240018,2007240018
+2007240019,2007240019
+2007240020,2007240020
+2007240021,2007240021
+2007240022,2007240022
+2007240023,2007240023
+2007240024,2007210186
+2007240025,2007240025
+2007240026,2007240026
+2007240027,2007240027
+2007240028,2007240028
+2007240029,2007240029
+2007240030,2007240030
+2007240031,2007240031
+2007240032,2007240032
+2007240033,2007240033
+2007240034,2007240034
+2007240035,2007240035
+2007240036,2007240036
+2007240037,2007240037
+2007240038,2007240038
+2007240039,2007240039
+2007250001,2007250001
+2007250002,2007250002
+2007250003,2007250003
+2007250004,2007250004
+2007250005,2007250005
+2007250006,2007250006
+2007250007,2007250007
+2007250008,2007250008
+2007250009,2007250009
+2007250010,2007250010
+2007250011,2007250011
+2007250012,2007250012
+2007250013,2007250013
+2007250014,2007250014
+2007250015,2007250015
+2007250016,2007250016
+2007250017,2007250017
+2007250018,2007250018
+2007250019,2007250019
+2007250020,2007250020
+2007250021,2007250021
+2007250022,2007250022
+2007250023,2007250023
+2007250024,2007250024
+2007250025,2007250025
+2007250026,2007250026
+2007250027,2007250027
+2007250028,2007250028
+2007250029,2007250029
+2007250030,2007250030
+2007250031,2007250031
+2007250032,2007250032
+2007250033,2007250033
+2007250034,2007250034
+2007250035,2007250035
+2007250036,2007250036
+2007250037,2007250037
+2007250038,2007250038
+2007250039,2007250039
+2007250040,2007250040
+2007250041,2007250041
+2007250042,2007250042
+2007250043,2007250043
+2007250044,2007250044
+2007250045,2007250045
+2007250046,2007250046
+2007250047,2007250047
+2007250048,2007250048
+2007250049,2007250049
+2007250050,2007250050
+2007250051,2007250051
+2007250052,2007250052
+2007250053,2007250053
+2007250054,2007250054
+2007250055,2007250055
+2007250056,2007250056
+2007250057,2007250057
+2007250058,2007250058
+2007250059,2007250059
+2007250060,2007250060
+2007250061,2007250061
+2007250062,2007250062
+2007250063,2007250063
+2007250064,2007250064
+2007250065,2007250065
+2007250066,2007250066
+2007250067,2007250067
+2007250068,2007250068
+2007250069,2007250069
+2007250070,2007250070
+2007250071,2007250071
+2007250072,2007250072
+2007250073,2007250073
+2007250074,2007250074
+2007250075,2007250075
+2007250076,2007250076
+2007250077,2007250077
+2007250078,2007250078
+2007250079,2007250079
+2007250080,2007250080
+2007250081,2007250081
+2007250082,2007250082
+2007250083,2007250083
+2007250084,2007250084
+2007250085,2007250085
+2007250086,2007250086
+2007250087,2007250087
+2007250088,2007250088
+2007250089,2007250089
+2007250090,2007250090
+2007250091,2007250091
+2007250092,2007250092
+2007250093,2007250093
+2007250094,2007250094
+2007250095,2007250095
+2007250096,2007250096
+2007250097,2007250097
+2007250098,2007250098
+2007250099,2007250099
+2007250100,2007250100
+2007250101,2007250101
+2007250102,2007250102
+2007250103,2007250103
+2007250104,2007250104
+2007250105,2007250105
+2007250106,2007250106
+2007250107,2007250107
+2007250108,2007250108
+2007250109,2007250109
+2007250110,2007250110
+2007250111,2007250111
+2007250112,2007250112
+2007250113,2007250113
+2007250114,2007250114
+2007250115,2007250115
+2007250116,2007250116
+2007250117,2007250117
+2007250118,2007250118
+2007250119,2007250119
+2007250120,2007250120
+2007250121,2007250121
+2007250122,2007250122
+2007250123,2007250123
+2007250124,2007250124
+2007250125,2007250125
+2007250126,2007250126
+2007250127,2007250127
+2007250128,2007250128
+2007250129,2007250129
+2007250130,2007250130
+2007250131,2007250131
+2007250132,2007250132
+2007250133,2007250133
+2007250134,2007250134
+2007250135,2007250135
+2007250136,2007250136
+2007250137,2007250137
+2007250138,2007250138
+2007250139,2007250139
+2007250140,2007250140
+2007250141,2007250141
+2007250142,2007250142
+2007250143,2007250143
+2007250144,2007250144
+2007250145,2007250145
+2007250146,2007250146
+2007250147,2007250147
+2007250148,2007250148
+2007250149,2007250149
+2007250150,2007250150
+2007250151,2007250151
+2007250152,2007250152
+2007250153,2007250153
+2007260001,2007260001
+2007260002,2007260002
+2007260003,2007260003
+2007270001,2007270001
+2007270002,2007270002
+2007270003,2007270003
+2007270004,2007270004
+2007270005,2007270005
+2007270007,2007270007
+2007270008,2007270008
+2007270009,2007270009
+2007270010,2007270010
+2007270011,2007270011
+2007270012,2007270012
+2007270013,2007270013
+2007270014,2007270014
+2007270015,2007270015
+2007270016,2007270016
+2007270017,2007270017
+2007270018,2007270018
+2007270019,2007270019
+2007270020,2007270020
+2007270021,2007270021
+2007270022,2007270022
+2007270023,2007270023
+2007270024,2007270024
+2007270025,2007270025
+2007270026,2007270026
+2007270027,2007270027
+2007270028,2007270028
+2007270029,2007270029
+2007270030,2007270030
+2007270031,2007270031
+2007270032,2007270032
+2007270033,2007270033
+2007270034,2007270034
+2007270035,2007270035
+2007270036,2007270036
+2007270037,2007270037
+2007270038,2007240038
+2007270039,2007270039
+2007270040,2007270040
+2007270041,2007270041
+2007270042,2007270042
+2007270043,2007270043
+2007270044,2007210629
+2007270045,2007270045
+2007270046,2007270046
+2007270047,2007270047
+2007270048,2007270048
+2007270049,2007270049
+2007270050,2007270050
+2007270051,2007210686
+2007270052,2007270052
+2007270053,2007270053
+2007270054,2007270054
+2007270055,2007270055
+2007270056,2007270056
+2007270057,2007270057
+2007270058,2007270058
+2007270059,2007270059
+2007270060,2007270060
+2007270061,2007270061
+2007270062,2007270062
+2007270063,2007270063
+2007270064,2007270064
+2007270065,2007270065
+2007270066,2007270066
+2007270067,2007270067
+2007270068,2007270068
+2007270069,2007270069
+2007270070,2007270070
+2007270071,2007270071
+2007270072,2007270072
+2007270073,2007270073
+2007270074,2007270074
+2007270075,2007270075
+2007270076,2007270076
+2007270077,2007270077
+2007270078,2007270078
+2007270079,2007270079
+2007270080,2007270080
+2007270081,2007270081
+2007270082,2007270082
+2007270083,2007270083
+2007270084,2007270084
+2007270086,2007270086
+2007270087,2007270087
+2007270089,2007270089
+2007270091,2007270091
+2007270103,2007270103
+2007270104,2007270104
+2007270108,2007270108
+2007300001,2007300001
+2007300002,2007300002
+2007300003,2007300003
+2007300004,2007300004
+2007300005,2007300005
+2007300006,2007300006
+2007300007,2007300007
+2007300008,2007300008
+2007300009,2007300009
+2007300010,2007300010
+2007300011,2007300011
+2007300012,2007300012
+2007300013,2007300013
+2007300014,2007300014
+2007300015,2007300015
+2007300016,2007300016
+2007300017,2007300017
+2007300018,2007300018
+2007300019,2007300019
+2007300020,2007300020
+2007300021,2007300021
+2007300022,2007300022
+2007300023,2007300023
+2007300024,2007300024
+2007300025,2007300025
+2007300026,2007300026
+2007300027,2007300027
+2007300028,2007300028
+2007300029,2007300029
+2007300030,2007300030
+2007300031,2007300031
+2007300032,2007300032
+2007300033,2007300033
+2007300034,2007300034
+2007300035,2007300035
+2007300036,2007300036
+2007300037,2007300037
+2007300038,2007300038
+2007300039,2007300039
+2007300040,2007300040
+2007300041,2007300041
+2007300042,2007300042
+2007300043,2007300043
+2007300044,2007300044
+2007300045,2007300045
+2007300046,2007300046
+2007300047,2007300047
+2007300048,2007300048
+2007300049,2007300049
+2007300050,2007300050
+2007300051,2007300051
+2007300052,2007300052
+2007300053,2007300053
+2007300054,2007300054
+2007300055,2007300055
+2007300056,2007300056
+2007300057,2007300057
+2007300058,2007300058
+2007300059,2007300059
+2007300060,2007300060
+2007300061,2007300061
+2007300062,2007300062
+2007300063,2007300063
+2007300064,2007300064
+2007300065,2007300065
+2007300066,2007300066
+2007300067,2007300067
+2007300068,2007300068
+2007300069,2007300069
+2007300070,2007300070
+2007300071,2007300071
+2007300072,2007300072
+2007300073,2007300073
+2007300074,2007300074
+2007300075,2007300075
+2007300076,2007300076
+2007300077,2007300077
+2007300078,2007300078
+2007300079,2007300079
+2007300080,2007300080
+2007300081,2007300081
+2007300082,2007300082
+2007300083,2007300083
+2007300084,2007300084
+2007300085,2007300085
+2007300086,2007300086
+2007300087,2007300087
+2007300088,2007300088
+2007300089,2007300089
+2007300090,2007300090
+2007300091,2007300091
+2007300092,2007300092
+2007300093,2007300093
+2007300094,2007300094
+2007300095,2007300095
+2007300096,2007300096
+2007300097,2007300097
+2007300098,2007300098
+2007300099,2007300099
+2007300100,2007300100
+2007300101,2007300101
+2007300102,2007300102
+2007300103,2007300103
+2007300104,2007300104
+2007300105,2007300105
+2007300106,2007300106
+2007300107,2007300107
+2007300108,2007300108
+2007300109,2007300109
+2007300110,2007300110
+2007300111,2007300111
+2007300112,2007300112
+2007300113,2007300113
+2007300114,2007300114
+2007300115,2007300115
+2007300116,2007300116
+2007300117,2007300117
+2007300118,2007300118
+2007300119,2007300119
+2007300120,2007300120
+2007300121,2007300121
+2007300122,2007300122
+2007300123,2007300123
+2007300124,2007300124
+2007300125,2007300125
+2007300126,2007300126
+2007300127,2007300127
+2007300128,2007300128
+2007300129,2007300129
+2007300130,2007300130
+2007300131,2007300131
+2007300132,2007300132
+2007300133,2007300133
+2007300134,2007300134
+2007300135,2007300135
+2007300136,2007300136
+2007300137,2007300137
+2007300138,2007300138
+2007300139,2007300139
+2007300140,2007300140
+2007300141,2007300141
+2007300142,2007300142
+2007300143,2007300143
+2007300144,2007300144
+2007300145,2007300145
+2007300146,2007300146
+2007300147,2007300147
+2007300148,2007300148
+2007300149,2007300149
+2007300150,2007300150
+2007300151,2007300151
+2007300152,2007300152
+2007300153,2007300153
+2007300154,2007300154
+2007300155,2007300155
+2007300156,2007300156
+2007300157,2007300157
+2007300158,2007300158
+2007300159,2007300159
+2007300160,2007300160
+2007300161,2007300161
+2007300162,2007300162
+2007300163,2007300163
+2007300164,2007300164
+2007300165,2007300165
+2007300166,2007300166
+2007300167,2007300167
+2007300168,2007300168
+2007300169,2007300169
+2007300170,2007300170
+2007300171,2007300171
+2007300172,2007300172
+2007300173,2007300173
+2007300174,2007300174
+2007300175,2007300175
+2007300176,2007300176
+2007300177,2007300177
+2007300178,2007300178
+2007300179,2007300179
+2007300180,2007300180
+2007300181,2007300181
+2007300182,2007300182
+2007300183,2007300183
+2007300184,2007300184
+2007300185,2007300185
+2007300186,2007300186
+2007300187,2007300187
+2007300188,2007300188
+2007300189,2007300189
+2007300190,2007300190
+2007300191,2007300191
+2007300192,2007300192
+2007300193,2007300193
+2007300194,2007300194
+2007300195,2007300195
+2007300196,2007300196
+2007300197,2007300197
+2007300198,2007300198
+2007300200,2007300200
+2007300201,2007300201
+2007300202,2007300202
+2007300203,2007300203
+2007300204,2007300204
+2007300205,2007300205
+2007300206,2007300206
+2007300207,2007300207
+2007300208,2007300208
+2007300209,2007300209
+2007300210,2007300210
+2007300211,2007300211
+2007300212,2007300212
+2007300213,2007300213
+2007300215,2007300215
+2007300216,2007300216
+2007300217,2007300217
+2007300218,2007300218
+2007300219,2007300219
+2007300220,2007300220
+2007300221,2007300221
+2007300222,2007300222
+2007300223,2007300223
+2007300224,2007300224
+2007300225,2007300225
+2007300226,2007300226
+2007300227,2007300227
+2007300228,2007300228
+2007300229,2007300229
+2007300230,2007300230
+2007300231,2007300231
+2007300232,2007300232
+2007300233,2007300233
+2007300234,2007300234
+2007300235,2007300235
+2007300236,2007300236
+2007300237,2007300237
+2007300238,2007300238
+2007300239,2007300239
+2007300240,2007300240
+2007300241,2007300241
+2007300242,2007300242
+2007300243,2007300243
+2007300244,2007300244
+2007300245,2007300245
+2007300246,2007300246
+2007300247,2007300247
+2007300248,2007300248
+2007300249,2007300249
+2007300250,2007300250
+2007300251,2007300251
+2007300252,2007300252
+2007300253,2007300253
+2007300254,2007300254
+2007300255,2007300255
+2007300256,2007300256
+2007300257,2007300257
+2007300258,2007300258
+2007300259,2007300259
+2007300260,2007300260
+2007300261,2007300261
+2007300262,2007300262
+2007300263,2007300263
+2007300264,2007300264
+2007300265,2007300265
+2007300266,2007300266
+2007300267,2007300267
+2007300268,2007300268
+2007300269,2007300269
+2007300270,2007300270
+2007300271,2007300271
+2007300272,2007300272
+2007300273,2007300273
+2007300274,2007300274
+2007300275,2007300275
+2007300276,2007300276
+2007300277,2007300277
+2007300278,2007300278
+2007300279,2007300279
+2007300280,2007300280
+2007300281,2007300281
+2007300282,2007300282
+2007300283,2007300283
+2007300284,2007300284
+2007300285,2007300285
+2007300286,2007300286
+2007300287,2007300287
+2007300288,2007300288
+2007300289,2007300289
+2007300290,2007300290
+2007300291,2007300291
+2007300292,2007300292
+2007300293,2007300293
+2007300294,2007300294
+2007300295,2007300295
+2007300296,2007300296
+2007300297,2007300297
+2007300298,2007300298
+2007300299,2007300299
+2007300301,2007300301
+2007300302,2007300302
+2007300303,2007300303
+2007300304,2007300304
+2007300305,2007300305
+2007300306,2007300306
+2007300307,2007300307
+2007300309,2007300309
+2007300310,2007300310
+2007300311,2007300311
+2007300312,2007300312
+2007300313,2007300313
+2007300314,2007300314
+2007300315,2007300315
+2007300316,2007300316
+2007300317,2007300317
+2007300318,2007300318
+2007300319,2007300319
+2007300320,2007300320
+2007300321,2007300321
+2007300322,2007300322
+2007300323,2007300323
+2007300324,2007300324
+2007300325,2007300325
+2007300326,2007300326
+2007300327,2007300327
+2007300328,2007300328
+2007300329,2007300329
+2007300330,2007300330
+2007300331,2007300331
+2007300332,2007300332
+2007300333,2007300333
+2007300334,2007300334
+2007300335,2007300335
+2007300336,2007300336
+2007300337,2007300337
+2007300338,2007300338
+2007300339,2007300339
+2007300340,2007300340
+2007300341,2007300341
+2007300342,2007300342
+2007300343,2007300343
+2007300344,2007300344
+2007300345,2007300345
+2007300346,2007300346
+2007300347,2007300347
+2007300348,2007300348
+2007300349,2007300349
+2007300350,2007300350
+2007300351,2007300351
+2007300352,2007300352
+2007300353,2007300353
+2007300354,2007300354
+2007300355,2007300355
+2007300356,2007300356
+2007300357,2007300357
+2007300358,2007300358
+2007300359,2007300359
+2007300360,2007300360
+2007300361,2007300361
+2007300362,2007300362
+2007300363,2007300363
+2007300364,2007300364
+2007300365,2007300365
+2007300366,2007300366
+2007300367,2007300367
+2007300368,2007300368
+2007300369,2007300369
+2007300370,2007300370
+2007300371,2007300371
+2007300372,2007300372
+2007300373,2007300373
+2007300374,2007300374
+2007300375,2007300375
+2007300377,2007300377
+2007300378,2007300378
+2007300379,2007300379
+2007300380,2007300380
+2007300381,2007300381
+2007300382,2007300382
+2007300383,2007300383
+2007300384,2007300384
+2007300385,2007300385
+2007300386,2007300386
+2007300387,2007300387
+2007300388,2007300388
+2007300389,2007300389
+2007300390,2007300390
+2007300391,2007300391
+2007300392,2007300392
+2007300393,2007300393
+2007300394,2007300394
+2007300395,2007300395
+2007300396,2007300396
+2007300397,2007300397
+2007300398,2007300398
+2007300399,2007300399
+2007300400,2007300400
+2007300401,2007300401
+2007300402,2007300402
+2007300403,2007300403
+2007300404,2007300404
+2007300405,2007300405
+2007300406,2007300406
+2007300407,2007300407
+2007300408,2007300408
+2007300409,2007300409
+2007300410,2007300410
+2007300411,2007300411
+2007300412,2007300412
+2007300413,2007300413
+2007300414,2007300414
+2007300415,2007300415
+2007300416,2007300416
+2007300417,2007300417
+2007300418,2007300418
+2007300419,2007300419
+2007300420,2007300420
+2007300421,2007300421
+2007300422,2007300422
+2007300423,2007300423
+2007300424,2007300424
+2007300425,2007300425
+2007300426,2007300426
+2007300427,2007300427
+2007300428,2007300428
+2007300429,2007300429
+2007300430,2007300430
+2007300431,2007300431
+2007300432,2007300432
+2007300433,2007300433
+2007300434,2007300434
+2007300435,2007300435
+2007300436,2007300436
+2007300437,2007300437
+2007300438,2007300438
+2007300439,2007300439
+2007300440,2007300440
+2007300441,2007300441
+2007300442,2007300442
+2007300443,2007300443
+2007300445,2007300445
+2007300446,2007300446
+2007300447,2007300447
+2007300448,2007300448
+2007300449,2007300449
+2007300450,2007300450
+2007300451,2007300451
+2007300452,2007300452
+2007300453,2007300453
+2007300454,2007300454
+2007300455,2007300455
+2007300456,2007300456
+2007300457,2007300457
+2007300458,2007300458
+2007300459,2007300459
+2007300460,2007300460
+2007300461,2007300461
+2007300462,2007300462
+2007300463,2007300463
+2007300464,2007300464
+2007300465,2007300465
+2007300466,2007300466
+2007300467,2007300467
+2007300468,2007300468
+2007300469,2007300469
+2007300470,2007300470
+2007300471,2007300471
+2007300472,2007300472
+2007300473,2007300473
+2007300474,2007300474
+2007300475,2007300475
+2007300476,2007300476
+2007300477,2007300477
+2007300478,2007300478
+2007300479,2007300479
+2007300480,2007300480
+2007300481,2007300481
+2007300482,2007300482
+2007300483,2007300483
+2007300484,2007300484
+2007300485,2007300485
+2007300486,2007300486
+2007300487,2007300487
+2007300488,2007300488
+2007300489,2007300489
+2007300490,2007300490
+2007300491,2007300491
+2007300492,2007300492
+2007300493,2007300493
+2007300494,2007300494
+2007300495,2007300495
+2007300496,2007300496
+2007300497,2007300497
+2007300498,2007300498
+2007300499,2007300499
+2007300500,2007300500
+2007300501,2007300501
+2007300502,2007300502
+2007300503,2007300503
+2007300504,2007300504
+2007300506,2007300506
+2007300507,2007300507
+2007300508,2007300508
+2007300509,2007300509
+2007300510,2007300510
+2007300511,2007300511
+2007300512,2007300512
+2007300513,2007300513
+2007300514,2007300514
+2007300515,2007300515
+2007300516,2007300516
+2007300517,2007300517
+2007300518,2007300518
+2007300519,2007300519
+2007300520,2007300520
+2007300521,2007300521
+2007300522,2007300522
+2007300523,2007300523
+2007300524,2007300524
+2007300525,2007300525
+2007300526,2007300526
+2007300527,2007300527
+2007300529,2007300529
+2007300531,2007300531
+2007300532,2007300532
+2007300533,2007300533
+2007300534,2007300534
+2007300535,2007300535
+2007300536,2007300536
+2007300537,2007300537
+2007300538,2007300538
+2007300539,2007300539
+2007300540,2007300540
+2007300541,2007300541
+2007300542,2007300542
+2007300543,2007300543
+2007300544,2007300544
+2007300545,2007300545
+2007300546,2007300546
+2007300547,2007300547
+2007300548,2007300548
+2007300549,2007300549
+2007300550,2007300550
+2007300551,2007300551
+2007300552,2007300552
+2007300553,2007300553
+2007300554,2007300554
+2007300555,2007300555
+2007300557,2007300557
+2007300558,2007300558
+2007300559,2007300559
+2007300560,2007300560
+2007300561,2007300561
+2007300562,2007300562
+2007300563,2007300563
+2007300564,2007300564
+2007300565,2007300565
+2007300566,2007300566
+2007300567,2007300567
+2007300568,2007300568
+2007300569,2007300569
+2007300570,2007300570
+2007300571,2007300571
+2007300572,2007300572
+2007300573,2007300573
+2007300574,2007300574
+2007300575,2007300575
+2007300576,2007300576
+2007300577,2007300577
+2007300578,2007300578
+2007300579,2007300579
+2007300580,2007300580
+2007300581,2007300581
+2007300582,2007300582
+2007300583,2007300583
+2007300584,2007300584
+2007300585,2007300585
+2007300586,2007300586
+2007300587,2007300587
+2007300588,2007300588
+2007300589,2007300589
+2007300590,2007300590
+2007300591,2007300591
+2007300592,2007300592
+2007300593,2007300593
+2007300594,2007300594
+2007300595,2007300595
+2007300596,2007300596
+2007300597,2007300597
+2007300598,2007300598
+2007300599,2007300599
+2007300600,2007300600
+2007300601,2007300601
+2007300602,2007300602
+2007300603,2007300603
+2007300604,2007300604
+2007300605,2007300605
+2007300606,2007300606
+2007300607,2007300607
+2007300608,2007300608
+2007300609,2007300609
+2007300610,2007300610
+2007300611,2007300611
+2007300612,2007300612
+2007300613,2007300613
+2007300614,2007300614
+2007300615,2007300615
+2007300616,2007300616
+2007300617,2007300617
+2007300618,2007300618
+2007300619,2007300619
+2007300620,2007300620
+2007300621,2007300621
+2007300622,2007300622
+2007300623,2007300623
+2007300624,2007300624
+2007300625,2007300625
+2007300626,2007300626
+2007300627,2007300627
+2007300628,2007300628
+2007300629,2007300629
+2007300630,2007300630
+2007300631,2007300631
+2007300632,2007300632
+2007300633,2007300633
+2007300634,2007300634
+2007300635,2007300635
+2007300636,2007300636
+2007300637,2007300637
+2007300638,2007300638
+2007300639,2007300639
+2007300640,2007300640
+2007300641,2007300641
+2007300642,2007300642
+2007300643,2007300643
+2007300644,2007300644
+2007300645,2007300645
+2007300646,2007300646
+2007300647,2007300647
+2007300648,2007300648
+2007300649,2007300649
+2007300650,2007300650
+2007300651,2007300651
+2007300652,2007300652
+2007300653,2007300653
+2007300654,2007300654
+2007300655,2007300655
+2007300656,2007300656
+2007300657,2007300657
+2007300659,2007300659
+2007300660,2007300660
+2007300661,2007300661
+2007300662,2007300662
+2007300663,2007300663
+2007300664,2007300664
+2007300665,2007300665
+2007300666,2007300666
+2007300667,2007300667
+2007300668,2007300668
+2007300669,2007300669
+2007300670,2007300670
+2007300671,2007300671
+2007300672,2007300672
+2007300673,2007300673
+2007300674,2007300674
+2007300675,2007300675
+2007300676,2007300676
+2007300677,2007300677
+2007300678,2007300678
+2007300679,2007300679
+2007300680,2007300680
+2007300681,2007300681
+2007300682,2007300682
+2007300683,2007300683
+2007300684,2007300684
+2007300685,2007300685
+2007300686,2007300686
+2007300687,2007300687
+2007300688,2007300688
+2007300689,2007300689
+2007300690,2007300690
+2007300691,2007300691
+2007300692,2007300692
+2007300693,2007300693
+2007300694,2007300694
+2007300695,2007300695
+2007300696,2007300696
+2007300697,2007300697
+2007300698,2007300698
+2007300699,2007300699
+2007300700,2007300700
+2007300701,2007300701
+2007300702,2007300702
+2007300703,2007300703
+2007300704,2007300704
+2007300705,2007300705
+2007300706,2007300706
+2007300707,2007300707
+2007300708,2007300708
+2007300709,2007300709
+2007300710,2007300710
+2007300711,2007300711
+2007300712,2007300712
+2007300713,2007300713
+2007300714,2007300714
+2007300715,2007300715
+2007300716,2007300716
+2007300717,2007300717
+2007300718,2007300718
+2007300719,2007300719
+2007300720,2007300720
+2007300721,2007300721
+2007300722,2007300722
+2007300723,2007300723
+2007300724,2007300724
+2007300725,2007300725
+2007300726,2007300726
+2007300727,2007300727
+2007300728,2007300728
+2007300729,2007300729
+2007300730,2007300730
+2007300731,2007300731
+2007300732,2007300732
+2007300733,2007300733
+2007300734,2007300734
+2007300735,2007300735
+2007300736,2007300736
+2007300737,2007300737
+2007300738,2007300738
+2007300739,2007300739
+2007300740,2007300740
+2007300741,2007300741
+2007300742,2007300742
+2007300743,2007300743
+2007300744,2007300744
+2007300745,2007300745
+2007300746,2007300746
+2007300747,2007300747
+2007300748,2007300748
+2007300749,2007300749
+2007300750,2007300750
+2007300751,2007300751
+2007300752,2007300752
+2007300753,2007300753
+2007300754,2007300754
+2007300755,2007300755
+2007300756,2007300756
+2007300757,2007300757
+2007300758,2007300758
+2007300759,2007300759
+2007300760,2007300760
+2007300761,2007300761
+2007300762,2007300762
+2007300763,2007300763
+2007300764,2007300764
+2007300765,2007300765
+2007300766,2007300766
+2007300767,2007300767
+2007300768,2007300768
+2007300769,2007300769
+2007300770,2007300770
+2007300771,2007300771
+2007300772,2007300772
+2007300773,2007300773
+2007300774,2007300774
+2007300775,2007300775
+2007300776,2007300776
+2007300777,2007300777
+2007300778,2007300778
+2007300779,2007300779
+2007300780,2007300780
+2007300781,2007300781
+2007300782,2007300782
+2007300783,2007300783
+2007300784,2007300784
+2007300785,2007300785
+2007300786,2007300786
+2007300787,2007300787
+2007300788,2007300788
+2007300789,2007300789
+2007300790,2007300790
+2007300791,2007300791
+2007300792,2007300792
+2007300793,2007300793
+2007300794,2007300794
+2007300795,2007300795
+2007300796,2007300796
+2007300797,2007300797
+2007300798,2007300798
+2007300799,2007300799
+2007300800,2007300800
+2007300801,2007300801
+2007300802,2007300802
+2007300803,2007300803
+2007300804,2007300804
+2007300805,2007300805
+2007300806,2007300806
+2007300807,2007300807
+2007300808,2007300808
+2007300809,2007300809
+2007300810,2007300810
+2007300811,2007300811
+2007300812,2007300812
+2007300814,2007300814
+2007300815,2007300815
+2007300816,2007300816
+2007300817,2007300817
+2007300818,2007300818
+2007300819,2007300819
+2007300820,2007300820
+2007300821,2007300821
+2007300822,2007300822
+2007300823,2007300823
+2007300824,2007300824
+2007300825,2007300825
+2007300826,2007300826
+2007300827,2007300827
+2007300828,2007300828
+2007300829,2007300829
+2007300830,2007300830
+2007300831,2007300831
+2007300832,2007300832
+2007300833,2007300833
+2007300834,2007300834
+2007300835,2007300835
+2007300836,2007300836
+2007300837,2007300837
+2007300838,2007300838
+2007300839,2007300839
+2007300840,2007300840
+2007300841,2007300841
+2007300842,2007300842
+2007300843,2007300843
+2007300844,2007300844
+2007300845,2007300845
+2007300846,2007300846
+2007300847,2007300847
+2007300848,2007300848
+2007300849,2007300849
+2007300850,2007300850
+2007300851,2007300851
+2007300852,2007300852
+2007300853,2007300853
+2007300854,2007300854
+2007300855,2007300855
+2007300856,2007300856
+2007300857,2007300857
+2007300858,2007300858
+2007300859,2007300859
+2007300860,2007300860
+2007300861,2007300861
+2007300862,2007300862
+2007300863,2007300863
+2007300864,2007300864
+2007300865,2007300865
+2007300866,2007300866
+2007300867,2007300867
+2007300868,2007300868
+2007300869,2007300869
+2007300870,2007300870
+2007300871,2007300871
+2007300872,2007300872
+2007300873,2007300873
+2007300874,2007300874
+2007300875,2007300875
+2007300876,2007300876
+2007300877,2007300877
+2007300878,2007300878
+2007300879,2007300879
+2007300880,2007300880
+2007300881,2007300881
+2007300882,2007300882
+2007300883,2007300883
+2007300884,2007300884
+2007300885,2007300885
+2007300886,2007300886
+2007300887,2007300887
+2007300888,2007300888
+2007300889,2007300889
+2007300890,2007300890
+2007300891,2007300891
+2007300892,2007300892
+2007300893,2007300893
+2007300894,2007300894
+2007300895,2007300895
+2007300896,2007300896
+2007300897,2007300897
+2007300898,2007300898
+2007300899,2007300899
+2007300900,2007300900
+2007300901,2007300901
+2007300902,2007300902
+2007300903,2007300903
+2007300904,2007300904
+2007300905,2007300905
+2007300906,2007300906
+2007300907,2007300907
+2007300908,2007300908
+2007300909,2007300909
+2007300910,2007300910
+2007300911,2007300911
+2007300912,2007300912
+2007300913,2007300913
+2007300914,2007300914
+2007300915,2007300915
+2007300916,2007300916
+2007300917,2007300917
+2007300918,2007300918
+2007300919,2007300919
+2007300920,2007300920
+2007300921,2007300921
+2007300922,2007300922
+2007300923,2007300923
+2007300924,2007300924
+2007300925,2007300925
+2007300926,2007300926
+2007300927,2007300927
+2007300928,2007300928
+2007300929,2007300929
+2007300930,2007300930
+2007300931,2007300931
+2007300932,2007300932
+2007300933,2007300933
+2007300934,2007300934
+2007300935,2007300935
+2007300936,2007300936
+2007300937,2007300937
+2007300938,2007300938
+2007300939,2007300939
+2007300940,2007300940
+2007300941,2007300941
+2007300942,2007300942
+2007300943,2007300943
+2007300944,2007300944
+2007300945,2007300945
+2007300946,2007300946
+2007300947,2007300947
+2007300948,2007300948
+2007300949,2007300949
+2007300950,2007300950
+2007300951,2007300951
+2007300952,2007300952
+2007300953,2007300953
+2007300954,2007300954
+2007300955,2007300955
+2007300956,2007300956
+2007300957,2007300957
+2007300958,2007300958
+2007300959,2007300959
+2007300960,2007300960
+2007300961,2007300961
+2007300963,2007300963
+2007300964,2007300964
+2007300965,2007300965
+2007300966,2007300966
+2007300967,2007300967
+2007300968,2007300968
+2007300969,2007300969
+2007300970,2007300970
+2007300971,2007300971
+2007300972,2007300972
+2007300973,2007300973
+2007300974,2007300974
+2007300975,2007300975
+2007300976,2007300976
+2007300977,2007300977
+2007300978,2007300978
+2007300979,2007300979
+2007300980,2007300980
+2007300981,2007300981
+2007300982,2007300982
+2007300983,2007300983
+2007300984,2007300984
+2007300985,2007300985
+2007300986,2007300986
+2007300988,2007300988
+2007300989,2007300989
+2007300990,2007300990
+2007300991,2007300991
+2007300992,2007300992
+2007300993,2007300993
+2007300994,2007300994
+2007300995,2007300995
+2007300996,2007300996
+2007300997,2007300997
+2007300998,2007300998
+2007300999,2007300999
+2007301000,2007301000
+2007301001,2007301001
+2007301002,2007301002
+2007301003,2007301003
+2007301004,2007301004
+2007301005,2007301005
+2007301006,2007301006
+2007301007,2007301007
+2007301008,2007301008
+2007301009,2007301009
+2007301010,2007301010
+2007301011,2007301011
+2007301012,2007301012
+2007301013,2007301013
+2007301014,2007301014
+2007301015,2007301015
+2007301016,2007301016
+2007301017,2007301017
+2007301018,2007301018
+2007301019,2007301019
+2007301020,2007301020
+2007301021,2007301021
+2007301022,2007301022
+2007301023,2007301023
+2007301024,2007301024
+2007301025,2007301025
+2007301026,2007301026
+2007301027,2007301027
+2007301028,2007301028
+2007301029,2007301029
+2007301030,2007301030
+2007301031,2007301031
+2007301032,2007301032
+2007301033,2007301033
+2007301034,2007301034
+2007301035,2007301035
+2007301036,2007301036
+2007301037,2007301037
+2007301038,2007301038
+2007301040,2007301040
+2007301041,2007301041
+2007301042,2007301042
+2007301043,2007301043
+2007301044,2007301044
+2007301045,2007301045
+2007301046,2007301046
+2007301047,2007301047
+2007301048,2007301048
+2007301049,2007301049
+2007301050,2007301050
+2007301051,2007301051
+2007301052,2007301052
+2007301053,2007301053
+2007301054,2007301054
+2007301055,2007301055
+2007301056,2007301056
+2007301057,2007301057
+2007301058,2007301058
+2007301059,2007301059
+2007301060,2007301060
+2007301061,2007301061
+2007301062,2007301062
+2007301063,2007301063
+2007301064,2007301064
+2007301065,2007301065
+2007301066,2007301066
+2007301067,2007301067
+2007301068,2007301068
+2007301069,2007301069
+2007301070,2007301070
+2007301071,2007301071
+2007301072,2007301072
+2007301073,2007301073
+2007301074,2007301074
+2007301075,2007301075
+2007301076,2007301076
+2007301077,2007301077
+2007301078,2007301078
+2007301079,2007301079
+2007301080,2007301080
+2007301081,2007301081
+2007301082,2007301082
+2007301083,2007301083
+2007301084,2007301084
+2007301085,2007301085
+2007301086,2007301086
+2007301087,2007301087
+2007301088,2007301088
+2007301089,2007301089
+2007301090,2007301090
+2007301091,2007301091
+2007301092,2007301092
+2007301093,2007301093
+2007301094,2007301094
+2007301095,2007301095
+2007301096,2007301096
+2007301097,2007301097
+2007301098,2007301098
+2007301099,2007301099
+2007301100,2007301100
+2007301101,2007301101
+2007301102,2007301102
+2007301103,2007301103
+2007301104,2007301104
+2007301105,2007301105
+2007301106,2007301106
+2007301107,2007301107
+2007301108,2007301108
+2007301109,2007301109
+2007301110,2007301110
+2007301111,2007301111
+2007301112,2007301112
+2007301113,2007301113
+2007301114,2007301114
+2007301115,2007301115
+2007301116,2007301116
+2007301117,2007301117
+2007301118,2007301118
+2007301119,2007301119
+2007301120,2007301120
+2007301121,2007301121
+2007301122,2007301122
+2007301123,2007301123
+2007301124,2007301124
+2007301125,2007301125
+2007301126,2007301126
+2007301127,2007301127
+2007301128,2007301128
+2007301129,2007301129
+2007301130,2007301130
+2007301131,2007301131
+2007301132,2007301132
+2007301133,2007301133
+2007301134,2007301134
+2007301135,2007301135
+2007301136,2007301136
+2007301137,2007301137
+2007301138,2007301138
+2007301139,2007301139
+2007301140,2007301140
+2007301141,2007301141
+2007301142,2007301142
+2007301143,2007301143
+2007301144,2007301144
+2007301145,2007301145
+2007301146,2007301146
+2007301147,2007301147
+2007301148,2007301148
+2007301149,2007301149
+2007301150,2007301150
+2007301151,2007301151
+2007301152,2007301152
+2007301153,2007301153
+2007301154,2007301154
+2007301155,2007301155
+2007301156,2007301156
+2007301157,2007301157
+2007301158,2007301158
+2007301159,2007301159
+2007301160,2007301160
+2007301161,2007301161
+2007301162,2007301162
+2007301163,2007301163
+2007301164,2007301164
+2007301165,2007301165
+2007301166,2007301166
+2007301167,2007301167
+2007301168,2007301168
+2007301169,2007301169
+2007301170,2007301170
+2007301171,2007301171
+2007301172,2007301172
+2007301173,2007301173
+2007301174,2007301174
+2007301175,2007301175
+2007301176,2007301176
+2007301177,2007301177
+2007301178,2007301178
+2007301179,2007301179
+2007301180,2007301180
+2007301181,2007301181
+2007301182,2007301182
+2007301183,2007301183
+2007301184,2007301184
+2007301186,2007301186
+2007301187,2007301187
+2007301188,2007301188
+2007301189,2007301189
+2007301190,2007301190
+2007301191,2007301191
+2007301192,2007301192
+2007301193,2007301193
+2007301194,2007301194
+2007301195,2007301195
+2007301196,2007301196
+2007301197,2007301197
+2007301198,2007301198
+2007301199,2007301199
+2007301200,2007301200
+2007301201,2007301201
+2007301202,2007301202
+2007301203,2007301203
+2007301204,2007301204
+2007301205,2007301205
+2007301206,2007301206
+2007301207,2007301207
+2007301208,2007301208
+2007301209,2007301209
+2007301210,2007301210
+2007301211,2007301211
+2007301212,2007301212
+2007301213,2007301213
+2007301214,2007301214
+2007301215,2007301215
+2007301216,2007301216
+2007301217,2007301217
+2007301218,2007301218
+2007301219,2007301219
+2007301220,2007301220
+2007301221,2007301221
+2007301222,2007301222
+2007301223,2007301223
+2007301224,2007301224
+2007301225,2007301225
+2007301226,2007301226
+2007301227,2007301227
+2007301228,2007301228
+2007301229,2007301229
+2007301230,2007301230
+2007301231,2007301231
+2007301232,2007301232
+2007301233,2007301233
+2007301234,2007301234
+2007301235,2007301235
+2007301236,2007301236
+2007301237,2007301237
+2007301238,2007301238
+2007301239,2007301239
+2007301240,2007301240
+2007301241,2007301241
+2007301242,2007301242
+2007301243,2007301243
+2007301244,2007301244
+2007301245,2007301245
+2007301246,2007301246
+2007301247,2007301247
+2007301248,2007301248
+2007301249,2007301249
+2007301250,2007301250
+2007301251,2007301251
+2007301252,2007301252
+2007301253,2007301253
+2007301254,2007301254
+2007301255,2007301255
+2007301256,2007301256
+2007301257,2007301257
+2007301258,2007301258
+2007301259,2007301259
+2007301260,2007301260
+2007301261,2007301261
+2007301262,2007301262
+2007301263,2007301263
+2007301264,2007301264
+2007301265,2007301265
+2007301266,2007301266
+2007301267,2007301267
+2007301268,2007301268
+2007301269,2007301269
+2007301270,2007301270
+2007301271,2007301271
+2007301272,2007301272
+2007301273,2007301273
+2007301274,2007301274
+2007301275,2007301275
+2007301276,2007301276
+2007301277,2007301277
+2007301278,2007301278
+2007301279,2007301279
+2007301281,2007301281
+2007301282,2007301282
+2007301283,2007301283
+2007301284,2007301284
+2007301285,2007301285
+2007301286,2007301286
+2007301287,2007301287
+2007301288,2007301288
+2007301289,2007301289
+2007301290,2007301290
+2007301291,2007301291
+2007301292,2007301292
+2007301293,2007301293
+2007301294,2007301294
+2007301295,2007301295
+2007301296,2007301296
+2007301297,2007301297
+2007301298,2007301298
+2007301299,2007301299
+2007301300,2007301300
+2007301301,2007301301
+2007301302,2007301302
+2007301303,2007301303
+2007301304,2007301304
+2007301305,2007301305
+2007301306,2007301306
+2007301307,2007301307
+2007301309,2007301309
+2007301310,2007301310
+2007301311,2007301311
+2007301312,2007301312
+2007301313,2007301313
+2007301314,2007301314
+2007301315,2007301315
+2007301316,2007301316
+2007301317,2007301317
+2007301318,2007301318
+2007301319,2007301319
+2007301320,2007301320
+2007301321,2007301321
+2007301322,2007301322
+2007301323,2007301323
+2007301324,2007301324
+2007301325,2007301325
+2007301326,2007301326
+2007301327,2007301327
+2007301328,2007301328
+2007301329,2007301329
+2007301330,2007301330
+2007301331,2007301331
+2007301332,2007301332
+2007301333,2007301333
+2007301334,2007301334
+2007301335,2007301335
+2007301336,2007301336
+2007301337,2007301337
+2007301338,2007301338
+2007301339,2007301339
+2007301340,2007301340
+2007301341,2007301341
+2007301342,2007301342
+2007301343,2007301343
+2007301344,2007301344
+2007301345,2007301345
+2007301346,2007301346
+2007301347,2007301347
+2007301348,2007301348
+2007301349,2007301349
+2007301350,2007301350
+2007301351,2007301351
+2007301352,2007301352
+2007301353,2007301353
+2007301354,2007301354
+2007301355,2007301355
+2007301356,2007301356
+2007301357,2007301357
+2007301358,2007301358
+2007301359,2007301359
+2007301360,2007301360
+2007301361,2007301361
+2007301362,2007301362
+2007301363,2007301363
+2007301364,2007301364
+2007301365,2007301365
+2007301366,2007301366
+2007301367,2007301367
+2007301368,2007301368
+2007301369,2007301369
+2007301370,2007301370
+2007301371,2007301371
+2007301372,2007301372
+2007301373,2007301373
+2007301374,2007301374
+2007301375,2007301375
+2007301376,2007301376
+2007301377,2007301377
+2007301378,2007301378
+2007301379,2007301379
+2007301380,2007301380
+2007301381,2007301381
+2007301382,2007301382
+2007301383,2007301383
+2007301384,2007301384
+2007301385,2007301385
+2007301386,2007301386
+2007301387,2007301387
+2007301388,2007301388
+2007301389,2007301389
+2007301390,2007301390
+2007301391,2007301391
+2007301392,2007301392
+2007301393,2007301393
+2007301394,2007301394
+2007301395,2007301395
+2007301396,2007301396
+2007301397,2007301397
+2007301398,2007301398
+2007301399,2007301399
+2007301400,2007301400
+2007301401,2007301401
+2007301402,2007301402
+2007301403,2007301403
+2007301404,2007301404
+2007301406,2007301406
+2007301407,2007301407
+2007301408,2007301408
+2007301409,2007301409
+2007301410,2007301410
+2007301411,2007301411
+2007301412,2007301412
+2007301413,2007301413
+2007301414,2007301414
+2007301415,2007301415
+2007301416,2007301416
+2007301417,2007301417
+2007301418,2007301418
+2007301419,2007301419
+2007301420,2007301420
+2007301421,2007301421
+2007301422,2007301422
+2007301423,2007301423
+2007301424,2007301424
+2007301425,2007301425
+2007301426,2007301426
+2007301427,2007301427
+2007301428,2007301428
+2007301429,2007301429
+2007301430,2007301430
+2007301431,2007301431
+2007301432,2007301432
+2007301433,2007301433
+2007301434,2007301434
+2007301435,2007301435
+2007301436,2007301436
+2007301437,2007301437
+2007301438,2007301438
+2007301439,2007301439
+2007301440,2007301440
+2007301441,2007301441
+2007301442,2007301442
+2007301443,2007301443
+2007301444,2007301444
+2007301445,2007301445
+2007301446,2007301446
+2007301447,2007301447
+2007301448,2007301448
+2007301449,2007301449
+2007301450,2007301450
+2007301451,2007301451
+2007301452,2007301452
+2007301453,2007301453
+2007301454,2007301454
+2007301455,2007301455
+2007301456,2007301456
+2007301457,2007301457
+2007301458,2007301458
+2007301459,2007301459
+2007301460,2007301460
+2007301461,2007301461
+2007301462,2007301462
+2007301463,2007301463
+2007301464,2007301464
+2007301465,2007301465
+2007301466,2007301466
+2007301467,2007301467
+2007301468,2007301468
+2007301469,2007301469
+2007301470,2007301470
+2007301471,2007301471
+2007301472,2007301472
+2007301473,2007301473
+2007301474,2007301474
+2007301475,2007301475
+2007301476,2007301476
+2007301477,2007301477
+2007301478,2007301478
+2007301479,2007301479
+2007301480,2007301480
+2007301481,2007301481
+2007301482,2007301482
+2007301483,2007301483
+2007301484,2007301484
+2007301485,2007301485
+2007301486,2007301486
+2007301487,2007301487
+2007301488,2007301488
+2007301489,2007301489
+2007301490,2007301490
+2007301491,2007301491
+2007301492,2007301492
+2007301493,2007301493
+2007301494,2007301494
+2007301495,2007301495
+2007301496,2007301496
+2007301497,2007301497
+2007301498,2007301498
+2007301499,2007301499
+2007301500,2007301500
+2007301501,2007301501
+2007301502,2007301502
+2007301503,2007301503
+2007301504,2007301504
+2007301505,2007301505
+2007301506,2007301506
+2007301507,2007301507
+2007301508,2007301508
+2007301509,2007301509
+2007301510,2007301510
+2007301511,2007301511
+2007301512,2007301512
+2007301513,2007301513
+2007301514,2007301514
+2007301515,2007301515
+2007301516,2007301516
+2007301517,2007301517
+2007301518,2007301518
+2007301519,2007301519
+2007301520,2007301520
+2007301521,2007301521
+2007301522,2007301522
+2007301523,2007301523
+2007301524,2007301524
+2007301526,2007301526
+2007301527,2007301527
+2007301528,2007301528
+2007301529,2007301529
+2007301530,2007301530
+2007301531,2007301531
+2007301532,2007301532
+2007301533,2007301533
+2007301534,2007301534
+2007301535,2007301535
+2007301536,2007301536
+2007301537,2007301537
+2007301538,2007301538
+2007301539,2007301539
+2007301540,2007301540
+2007301541,2007301541
+2007301542,2007301542
+2007301543,2007301543
+2007301544,2007301544
+2007301545,2007301545
+2007301546,2007301546
+2007301547,2007301547
+2007301548,2007301548
+2007301549,2007301549
+2007301550,2007301550
+2007301551,2007301551
+2007301552,2007301552
+2007301553,2007301553
+2007301554,2007301554
+2007301555,2007301555
+2007301556,2007301556
+2007301557,2007301557
+2007301558,2007301558
+2007301559,2007301559
+2007301560,2007301560
+2007301561,2007301561
+2007301562,2007301562
+2007301563,2007301563
+2007301564,2007301564
+2007301565,2007301565
+2007301566,2007301566
+2007301567,2007301567
+2007301568,2007301568
+2007301569,2007301569
+2007301570,2007301570
+2007301571,2007301571
+2007301572,2007301572
+2007301573,2007301573
+2007301574,2007301574
+2007301575,2007301575
+2007301576,2007301576
+2007301577,2007301577
+2007301578,2007301578
+2007301579,2007301579
+2007301580,2007301580
+2007301581,2007301581
+2007301582,2007301582
+2007301583,2007301583
+2007301584,2007301584
+2007301585,2007301585
+2007301586,2007301586
+2007301587,2007301587
+2007301588,2007301588
+2007301589,2007301589
+2007301590,2007301590
+2007301591,2007301591
+2007301592,2007301592
+2007301593,2007301593
+2007301594,2007301594
+2007301595,2007301595
+2007301596,2007301596
+2007301597,2007301597
+2007301598,2007301598
+2007301599,2007301599
+2007301600,2007301600
+2007301601,2007301601
+2007301602,2007301602
+2007301603,2007301603
+2007301604,2007301604
+2007301605,2007301605
+2007301606,2007301606
+2007301607,2007301607
+2007301608,2007301608
+2007301609,2007301609
+2007301610,2007301610
+2007301611,2007301611
+2007301612,2007301612
+2007301613,2007301613
+2007301614,2007301614
+2007301615,2007301615
+2007301616,2007301616
+2007301617,2007301617
+2007301618,2007301618
+2007301619,2007301619
+2007301620,2007301620
+2007301621,2007301621
+2007301622,2007301622
+2007301623,2007301623
+2007301624,2007301624
+2007301625,2007301625
+2007301626,2007301626
+2007301627,2007301627
+2007301628,2007301628
+2007301629,2007301629
+2007301630,2007301630
+2007301631,2007301631
+2007301632,2007301632
+2007301633,2007301633
+2007301634,2007301634
+2007301635,2007301635
+2007301636,2007301636
+2007301637,2007301637
+2007301638,2007301638
+2007301639,2007301639
+2007301640,2007301640
+2007301641,2007301641
+2007301642,2007301642
+2007301643,2007301643
+2007301644,2007301644
+2007301645,2007301645
+2007301646,2007301646
+2007301648,2007301648
+2007301649,2007301649
+2007301650,2007301650
+2007301651,2007301651
+2007301652,2007301652
+2007301653,2007301653
+2007301654,2007301654
+2007301656,2007301656
+2007301657,2007301657
+2007301658,2007301658
+2007301659,2007301659
+2007301660,2007301660
+2007301661,2007301661
+2007301662,2007301662
+2007301663,2007301663
+2007301664,2007301664
+2007301665,2007301665
+2007301666,2007301666
+2007301667,2007301667
+2007301668,2007301668
+2007301669,2007301669
+2007301670,2007301670
+2007301671,2007301671
+2007301672,2007301672
+2007301673,2007301673
+2007301674,2007301674
+2007301675,2007301675
+2007301676,2007301676
+2007301677,2007301677
+2007301678,2007301678
+2007301679,2007301679
+2007301680,2007301680
+2007301681,2007301681
+2007301682,2007301682
+2007301683,2007301683
+2007301684,2007301684
+2007301685,2007301685
+2007301686,2007301686
+2007301687,2007301687
+2007301688,2007301688
+2007301689,2007301689
+2007301690,2007301690
+2007301691,2007301691
+2007301692,2007301692
+2007301693,2007301693
+2007301694,2007301694
+2007301695,2007301695
+2007301696,2007301696
+2007301697,2007301697
+2007301698,2007301698
+2007301699,2007301699
+2007301700,2007301700
+2007301701,2007301701
+2007301702,2007301702
+2007301703,2007301703
+2007301704,2007301704
+2007301705,2007301705
+2007301706,2007301706
+2007301707,2007301707
+2007301708,2007301708
+2007301709,2007301709
+2007301710,2007301710
+2007301711,2007301711
+2007301712,2007301712
+2007301713,2007301713
+2007301714,2007301714
+2007301715,2007301715
+2007301716,2007301716
+2007301717,2007301717
+2007301718,2007301718
+2007301719,2007301719
+2007301720,2007301720
+2007301721,2007301721
+2007301722,2007301722
+2007301723,2007301723
+2007301724,2007301724
+2007301725,2007301725
+2007301726,2007301726
+2007301727,2007301727
+2007301728,2007301728
+2007301729,2007301729
+2007301730,2007301730
+2007301731,2007301731
+2007301732,2007301732
+2007301733,2007301733
+2007301734,2007301734
+2007301735,2007301735
+2007301736,2007301736
+2007301737,2007301737
+2007301738,2007301738
+2007301739,2007301739
+2007301740,2007301740
+2007301741,2007301741
+2007301742,2007301742
+2007301743,2007301743
+2007301744,2007301744
+2007301745,2007301745
+2007301746,2007301746
+2007301747,2007301747
+2007301748,2007301748
+2007301749,2007301749
+2007301750,2007301750
+2007301751,2007301751
+2007301752,2007301752
+2007301753,2007301753
+2007301754,2007301754
+2007301755,2007301755
+2007301756,2007301756
+2007301757,2007301757
+2007301758,2007301758
+2007301759,2007301759
+2007301760,2007301760
+2007301761,2007301761
+2007301762,2007301762
+2007301763,2007301763
+2007301764,2007301764
+2007301765,2007301765
+2007301766,2007301766
+2007301767,2007301767
+2007301768,2007301768
+2007301769,2007301769
+2007301770,2007301770
+2007301771,2007301771
+2007301772,2007301772
+2007301773,2007301773
+2007301774,2007301774
+2007301775,2007301775
+2007301776,2007301776
+2007301777,2007301777
+2007301778,2007301778
+2007301779,2007301779
+2007301780,2007301780
+2007301781,2007301781
+2007301782,2007301782
+2007301783,2007301783
+2007301784,2007301784
+2007301785,2007301785
+2007301786,2007301786
+2007301787,2007301787
+2007301788,2007301788
+2007301789,2007301789
+2007301790,2007301790
+2007301791,2007301791
+2007301792,2007301792
+2007301793,2007301793
+2007301794,2007301794
+2007301795,2007301795
+2007301796,2007301796
+2007301797,2007301797
+2007301798,2007301798
+2007301799,2007301799
+2007301800,2007301800
+2007301801,2007301801
+2007301802,2007301802
+2007301803,2007301803
+2007301804,2007301804
+2007301805,2007301805
+2007301806,2007301806
+2007301807,2007301807
+2007301808,2007301808
+2007301809,2007301809
+2007301810,2007301810
+2007301811,2007301811
+2007301812,2007301812
+2007301813,2007301813
+2007301814,2007301814
+2007301815,2007301815
+2007301816,2007301816
+2007301817,2007301817
+2007301818,2007301818
+2007301819,2007301819
+2007301820,2007301820
+2007301821,2007301821
+2007301822,2007301822
+2007301823,2007301823
+2007301824,2007301824
+2007301825,2007301825
+2007301826,2007301826
+2007301827,2007301827
+2007301828,2007301828
+2007301829,2007301829
+2007301830,2007301830
+2007301831,2007301831
+2007301832,2007301832
+2007301833,2007301833
+2007301834,2007301834
+2007301835,2007301835
+2007301836,2007301836
+2007301837,2007301837
+2007301838,2007301838
+2007301839,2007301839
+2007301840,2007301840
+2007301841,2007301841
+2007301842,2007301842
+2007301843,2007301843
+2007301844,2007301844
+2007301845,2007301845
+2007301846,2007301846
+2007301847,2007301847
+2007301848,2007301848
+2007301850,2007301850
+2007301851,2007301851
+2007301852,2007301852
+2007301853,2007301853
+2007301854,2007301854
+2007301855,2007301855
+2007301856,2007301856
+2007301857,2007301857
+2007301858,2007301858
+2007301859,2007301859
+2007301860,2007301860
+2007301861,2007301861
+2007301862,2007301862
+2007301863,2007301863
+2007301864,2007301864
+2007301865,2007301865
+2007301866,2007301866
+2007301867,2007301867
+2007301868,2007301868
+2007301869,2007301869
+2007301870,2007301870
+2007301871,2007301871
+2007301872,2007301872
+2007301873,2007301873
+2007301874,2007301874
+2007301875,2007301875
+2007301876,2007301876
+2007301877,2007301877
+2007301878,2007301878
+2007301879,2007301879
+2007301880,2007301880
+2007301881,2007301881
+2007301882,2007301882
+2007301883,2007301883
+2007301884,2007301884
+2007301885,2007301885
+2007301886,2007301886
+2007301887,2007301887
+2007301888,2007301888
+2007301889,2007301889
+2007301890,2007301890
+2007301891,2007301891
+2007301892,2007301892
+2007301893,2007301893
+2007301894,2007301894
+2007301895,2007301895
+2007301896,2007301896
+2007301897,2007301897
+2007301898,2007301898
+2007301899,2007301899
+2007301900,2007301900
+2007301901,2007301901
+2007301902,2007301902
+2007301903,2007301903
+2007301904,2007301904
+2007301905,2007301905
+2007301906,2007301906
+2007301907,2007301907
+2007301908,2007301908
+2007301909,2007301909
+2007301910,2007301910
+2007301911,2007301911
+2007301912,2007301912
+2007301913,2007301913
+2007301914,2007301914
+2007301915,2007301915
+2007301916,2007301916
+2007301917,2007301917
+2007301919,2007301919
+2007301920,2007301920
+2007301921,2007301921
+2007301922,2007301922
+2007301923,2007301923
+2007301924,2007301924
+2007301925,2007301925
+2007301926,2007301926
+2007301927,2007301927
+2007301928,2007301928
+2007301929,2007301929
+2007301930,2007301930
+2007301931,2007301931
+2007301932,2007301932
+2007301933,2007301933
+2007301934,2007301934
+2007301935,2007301935
+2007301936,2007301936
+2007301937,2007301937
+2007301938,2007301938
+2007301939,2007301939
+2007301940,2007301940
+2007301941,2007301941
+2007301942,2007301942
+2007301943,2007301943
+2007301944,2007301944
+2007301945,2007301945
+2007301946,2007301946
+2007301947,2007301947
+2007301948,2007301948
+2007301949,2007301949
+2007301950,2007301950
+2007301951,2007301951
+2007301952,2007301952
+2007301953,2007301953
+2007301954,2007301954
+2007301955,2007301955
+2007301956,2007301956
+2007301957,2007301957
+2007301958,2007301958
+2007301959,2007301959
+2007301960,2007301960
+2007301961,2007301961
+2007301962,2007301962
+2007301963,2007301963
+2007301965,2007301965
+2007301966,2007301966
+2007301967,2007301967
+2007301968,2007301968
+2007301969,2007301969
+2007301970,2007301970
+2007301971,2007301971
+2007301972,2007301972
+2007301973,2007301973
+2007301974,2007301974
+2007301975,2007301975
+2007301976,2007301976
+2007301977,2007301977
+2007301978,2007301978
+2007301979,2007301979
+2007301980,2007301980
+2007301981,2007301981
+2007301982,2007301982
+2007301983,2007301983
+2007301984,2007301984
+2007301985,2007301985
+2007301986,2007301986
+2007301987,2007301987
+2007301988,2007301988
+2007301989,2007301989
+2007301991,2007301991
+2007301992,2007301992
+2007301993,2007301993
+2007301994,2007301994
+2007301995,2007301995
+2007301996,2007301996
+2007301997,2007301997
+2007301998,2007301998
+2007301999,2007301999
+2007302000,2007302000
+2007302001,2007302001
+2007302002,2007302002
+2007302003,2007302003
+2007302004,2007302004
+2007302005,2007302005
+2007302006,2007302006
+2007302007,2007302007
+2007302008,2007302008
+2007302009,2007302009
+2007302010,2007302010
+2007302011,2007302011
+2007302012,2007302012
+2007302013,2007302013
+2007302014,2007302014
+2007302015,2007302015
+2007302016,2007302016
+2007302017,2007302017
+2007302018,2007302018
+2007302019,2007302019
+2007302020,2007302020
+2007302021,2007302021
+2007302022,2007302022
+2007302023,2007302023
+2007302024,2007302024
+2007302025,2007302025
+2007302026,2007302026
+2007302027,2007302027
+2007302028,2007302028
+2007302030,2007302030
+2007302031,2007302031
+2007302032,2007302032
+2007302034,2007302034
+2007302035,2007302035
+2007302036,2007302036
+2007302037,2007302037
+2007302038,2007302038
+2007302039,2007302039
+2007302040,2007302040
+2007302041,2007302041
+2007302042,2007302042
+2007302043,2007302043
+2007302044,2007302044
+2007302046,2007302046
+2007302047,2007302047
+2007302048,2007302048
+2007302049,2007302049
+2007302050,2007302050
+2007302051,2007302051
+2007302052,2007302052
+2007302053,2007302053
+2007302054,2007302054
+2007302055,2007302055
+2007302056,2007302056
+2007302057,2007302057
+2007302058,2007302058
+2007302059,2007302059
+2007302060,2007302060
+2007302061,2007302061
+2007302062,2007302062
+2007302063,2007302063
+2007302064,2007302064
+2007302066,2007302066
+2007302067,2007302067
+2007302068,2007302068
+2007302069,2007302069
+2007302070,2007302070
+2007302071,2007302071
+2007302072,2007302072
+2007302073,2007302073
+2007302074,2007302074
+2007302075,2007302075
+2007302076,2007302076
+2007302077,2007302077
+2007302078,2007302078
+2007302079,2007302079
+2007302080,2007302080
+2007302081,2007302081
+2007302082,2007302082
+2007302083,2007302083
+2007302084,2007302084
+2007302085,2007302085
+2007302086,2007302086
+2007302087,2007302087
+2007302088,2007302088
+2007302089,2007302089
+2007302090,2007302090
+2007302091,2007302091
+2007302092,2007302092
+2007302093,2007302093
+2007302094,2007302094
+2007302095,2007302095
+2007302096,2007302096
+2007302097,2007302097
+2007302098,2007302098
+2007302099,2007302099
+2007302100,2007302100
+2007302101,2007302101
+2007302102,2007302102
+2007302103,2007302103
+2007302104,2007302104
+2007302105,2007302105
+2007302106,2007302106
+2007302107,2007302107
+2007302108,2007302108
+2007302109,2007302109
+2007302110,2007302110
+2007302111,2007302111
+2007302112,2007302112
+2007302113,2007302113
+2007302114,2007302114
+2007302115,2007302115
+2007302116,2007302116
+2007302117,2007302117
+2007302118,2007302118
+2007302119,2007302119
+2007302120,2007302120
+2007302121,2007302121
+2007302122,2007302122
+2007302123,2007302123
+2007302124,2007302124
+2007302125,2007302125
+2007302126,2007302126
+2007302127,2007302127
+2007302128,2007302128
+2007302129,2007302129
+2007302130,2007302130
+2007302131,2007302131
+2007302132,2007302132
+2007302133,2007302133
+2007302134,2007302134
+2007302135,2007302135
+2007302136,2007302136
+2007302137,2007302137
+2007302138,2007302138
+2007302139,2007302139
+2007302140,2007302140
+2007302141,2007302141
+2007302142,2007302142
+2007302143,2007302143
+2007302144,2007302144
+2007302145,2007302145
+2007302146,2007302146
+2007302147,2007302147
+2007302148,2007302148
+2007302149,2007302149
+2007302150,2007302150
+2007302151,2007302151
+2007302152,2007302152
+2007302153,2007302153
+2007302154,2007302154
+2007302155,2007302155
+2007302156,2007302156
+2007302157,2007302157
+2007302158,2007302158
+2007302159,2007302159
+2007302160,2007302160
+2007302161,2007302161
+2007302162,2007302162
+2007302163,2007302163
+2007302164,2007302164
+2007302165,2007302165
+2007302166,2007302166
+2007302167,2007302167
+2007302168,2007302168
+2007302169,2007302169
+2007302170,2007302170
+2007302171,2007302171
+2007302172,2007302172
+2007302173,2007302173
+2007302174,2007302174
+2007302175,2007302175
+2007302176,2007302176
+2007302177,2007302177
+2007302178,2007302178
+2007302179,2007302179
+2007302180,2007302180
+2007302181,2007302181
+2007302182,2007302182
+2007302183,2007302183
+2007302184,2007302184
+2007302185,2007302185
+2007302186,2007302186
+2007302187,2007302187
+2007302189,2007302189
+2007302190,2007302190
+2007302191,2007302191
+2007302192,2007302192
+2007302193,2007302193
+2007302194,2007302194
+2007302195,2007302195
+2007302196,2007302196
+2007302197,2007302197
+2007302198,2007302198
+2007302199,2007302199
+2007302200,2007302200
+2007302201,2007302201
+2007302202,2007302202
+2007302203,2007302203
+2007302204,2007302204
+2007302205,2007302205
+2007302206,2007302206
+2007302207,2007302207
+2007302208,2007302208
+2007302209,2007302209
+2007302210,2007302210
+2007302211,2007302211
+2007302212,2007302212
+2007302213,2007302213
+2007302214,2007302214
+2007302215,2007302215
+2007302216,2007302216
+2007302217,2007302217
+2007302218,2007302218
+2007302219,2007302219
+2007302220,2007302220
+2007302221,2007302221
+2007302222,2007302222
+2007302223,2007302223
+2007302224,2007302224
+2007302225,2007302225
+2007302226,2007302226
+2007302227,2007302227
+2007302228,2007302228
+2007302229,2007302229
+2007302230,2007302230
+2007302231,2007302231
+2007302232,2007302232
+2007302233,2007302233
+2007302234,2007302234
+2007302235,2007302235
+2007302236,2007302236
+2007302237,2007302237
+2007302238,2007302238
+2007302239,2007302239
+2007302240,2007302240
+2007302241,2007302241
+2007302243,2007302243
+2007302244,2007302244
+2007302245,2007302245
+2007302246,2007302246
+2007302247,2007302247
+2007302248,2007302248
+2007302249,2007302249
+2007302250,2007302250
+2007302251,2007302251
+2007302252,2007302252
+2007302253,2007302253
+2007302254,2007302254
+2007302255,2007302255
+2007302256,2007302256
+2007302257,2007302257
+2007302258,2007302258
+2007302259,2007302259
+2007302260,2007302260
+2007302261,2007302261
+2007302262,2007302262
+2007302263,2007302263
+2007302264,2007302264
+2007302265,2007302265
+2007302266,2007302266
+2007302267,2007302267
+2007302268,2007302268
+2007302269,2007302269
+2007302270,2007302270
+2007302271,2007302271
+2007302272,2007302272
+2007302273,2007302273
+2007302274,2007302274
+2007302275,2007302275
+2007302276,2007302276
+2007302277,2007302277
+2007302278,2007302278
+2007302279,2007302279
+2007302280,2007302280
+2007302281,2007302281
+2007302282,2007302282
+2007302283,2007302283
+2007302284,2007302284
+2007302285,2007302285
+2007302286,2007302286
+2007302287,2007302287
+2007302288,2007302288
+2007302289,2007302289
+2007302290,2007302290
+2007302291,2007302291
+2007302292,2007302292
+2007302293,2007302293
+2007302294,2007302294
+2007302295,2007302295
+2007302296,2007302296
+2007302297,2007302297
+2007302298,2007302298
+2007302299,2007302299
+2007302300,2007302300
+2007302301,2007302301
+2007302302,2007302302
+2007302303,2007302303
+2007302304,2007302304
+2007302305,2007302305
+2007302306,2007302306
+2007302307,2007302307
+2007302308,2007302308
+2007302309,2007302309
+2007302310,2007302310
+2007302311,2007302311
+2007302312,2007302312
+2007302313,2007302313
+2007302314,2007302314
+2007302315,2007302315
+2007302316,2007302316
+2007302317,2007302317
+2007302318,2007302318
+2007302319,2007302319
+2007302320,2007302320
+2007302321,2007302321
+2007302322,2007302322
+2007302323,2007302323
+2007302324,2007302324
+2007302325,2007302325
+2007302326,2007302326
+2007302327,2007302327
+2007302328,2007302328
+2007302329,2007302329
+2007302330,2007302330
+2007302331,2007302331
+2007302332,2007302332
+2007302333,2007302333
+2007302334,2007302334
+2007302335,2007302335
+2007302336,2007302336
+2007302337,2007302337
+2007302338,2007302338
+2007302339,2007302339
+2007302340,2007302340
+2007302341,2007302341
+2007302342,2007302342
+2007302343,2007302343
+2007302344,2007302344
+2007302345,2007302345
+2007302346,2007302346
+2007302347,2007302347
+2007302348,2007302348
+2007302349,2007302349
+2007302350,2007302350
+2007302351,2007302351
+2007302352,2007302352
+2007302353,2007302353
+2007302354,2007302354
+2007302355,2007302355
+2007302356,2007302356
+2007302357,2007302357
+2007302358,2007302358
+2007302359,2007302359
+2007302360,2007302360
+2007302362,2007302362
+2007302363,2007302363
+2007302364,2007302364
+2007302365,2007302365
+2007302366,2007302366
+2007302367,2007302367
+2007302368,2007302368
+2007302369,2007302369
+2007302370,2007302370
+2007302371,2007302371
+2007302372,2007302372
+2007302373,2007302373
+2007302374,2007302374
+2007302375,2007302375
+2007302376,2007302376
+2007302378,2007302378
+2007302379,2007302379
+2007302380,2007302380
+2007302381,2007302381
+2007302382,2007302382
+2007302383,2007302383
+2007302384,2007302384
+2007302385,2007302385
+2007302386,2007302386
+2007302387,2007302387
+2007302388,2007302388
+2007302389,2007302389
+2007302390,2007302390
+2007302391,2007302391
+2007302392,2007302392
+2007302393,2007302393
+2007302394,2007302394
+2007302395,2007302395
+2007302396,2007302396
+2007302397,2007302397
+2007302398,2007302398
+2007302399,2007302399
+2007302400,2007302400
+2007302401,2007302401
+2007302402,2007302402
+2007302403,2007302403
+2007302404,2007302404
+2007302405,2007302405
+2007302406,2007302406
+2007302407,2007302407
+2007302408,2007302408
+2007302409,2007302409
+2007302410,2007302410
+2007302411,2007302411
+2007302412,2007302412
+2007302413,2007302413
+2007302414,2007302414
+2007302415,2007302415
+2007302416,2007302416
+2007302417,2007302417
+2007302418,2007302418
+2007302419,2007302419
+2007302420,2007302420
+2007302421,2007302421
+2007302422,2007302422
+2007302423,2007302423
+2007302424,2007302424
+2007302425,2007302425
+2007302426,2007302426
+2007302427,2007302427
+2007302428,2007302428
+2007302429,2007302429
+2007302430,2007302430
+2007302431,2007302431
+2007302432,2007302432
+2007302433,2007302433
+2007302434,2007302434
+2007302435,2007302435
+2007302436,2007302436
+2007302437,2007302437
+2007302438,2007302438
+2007302439,2007302439
+2007302440,2007302440
+2007302441,2007302441
+2007302442,2007302442
+2007302443,2007302443
+2007302444,2007302444
+2007302445,2007302445
+2007302446,2007302446
+2007302447,2007302447
+2007302448,2007302448
+2007302449,2007302449
+2007302450,2007302450
+2007302451,2007302451
+2007302452,2007302452
+2007302453,2007302453
+2007302454,2007302454
+2007302455,2007302455
+2007302456,2007302456
+2007302458,2007302458
+2007302459,2007302459
+2007302460,2007302460
+2007302461,2007302461
+2007302462,2007302462
+2007302463,2007302463
+2007302464,2007302464
+2007302465,2007302465
+2007302466,2007302466
+2007302467,2007302467
+2007302468,2007302468
+2007302469,2007302469
+2007302470,2007302470
+2007302471,2007302471
+2007302472,2007302472
+2007302473,2007302473
+2007302474,2007302474
+2007302475,2007302475
+2007302476,2007302476
+2007302477,2007302477
+2007302478,2007302478
+2007302479,2007302479
+2007302480,2007302480
+2007302481,2007302481
+2007302482,2007302482
+2007302483,2007302483
+2007302484,2007302484
+2007302485,2007302485
+2007302486,2007302486
+2007302487,2007302487
+2007302488,2007302488
+2007302489,2007302489
+2007302490,2007302490
+2007302491,2007302491
+2007302492,2007302492
+2007302493,2007302493
+2007302494,2007302494
+2007302495,2007302495
+2007302496,2007302496
+2007302497,2007302497
+2007302498,2007302498
+2007302499,2007302499
+2007302500,2007302500
+2007302501,2007302501
+2007302502,2007302502
+2007302503,2007302503
+2007302504,2007302504
+2007302505,2007302505
+2007302506,2007302506
+2007302507,2007302507
+2007302508,2007302508
+2007302509,2007302509
+2007302510,2007302510
+2007302511,2007302511
+2007302512,2007302512
+2007302513,2007302513
+2007302514,2007302514
+2007302515,2007302515
+2007302516,2007302516
+2007302517,2007302517
+2007302518,2007302518
+2007302519,2007302519
+2007302520,2007302520
+2007302521,2007302521
+2007302522,2007302522
+2007302523,2007302523
+2007302524,2007302524
+2007302525,2007302525
+2007302526,2007302526
+2007302527,2007302527
+2007302528,2007302528
+2007302529,2007302529
+2007302530,2007302530
+2007302531,2007302531
+2007302532,2007302532
+2007302533,2007302533
+2007302534,2007302534
+2007302535,2007302535
+2007302536,2007302536
+2007302537,2007302537
+2007302538,2007302538
+2007302539,2007302539
+2007302540,2007302540
+2007302541,2007302541
+2007302542,2007302542
+2007302543,2007302543
+2007302544,2007302544
+2007302545,2007302545
+2007302546,2007302546
+2007302547,2007302547
+2007302548,2007302548
+2007302549,2007302549
+2007302550,2007302550
+2007302551,2007302551
+2007302552,2007302552
+2007302553,2007302553
+2007302554,2007302554
+2007302555,2007302555
+2007302556,2007302556
+2007302557,2007302557
+2007302558,2007302558
+2007302560,2007302560
+2007302561,2007302561
+2007302562,2007302562
+2007302563,2007302563
+2007302564,2007302564
+2007302565,2007302565
+2007302566,2007302566
+2007302567,2007302567
+2007302568,2007302568
+2007302569,2007302569
+2007302570,2007302570
+2007302571,2007302571
+2007302572,2007302572
+2007302573,2007302573
+2007302574,2007302574
+2007302575,2007302575
+2007302576,2007302576
+2007302577,2007302577
+2007302578,2007302578
+2007302579,2007302579
+2007302580,2007302580
+2007302581,2007302581
+2007302583,2007302583
+2007302584,2007302584
+2007302585,2007302585
+2007302586,2007302586
+2007302587,2007302587
+2007302588,2007302588
+2007302589,2007302589
+2007302590,2007302590
+2007302591,2007302591
+2007302592,2007302592
+2007302593,2007302593
+2007302594,2007302594
+2007302595,2007302595
+2007302596,2007302596
+2007302597,2007302597
+2007302598,2007302598
+2007302599,2007302599
+2007302600,2007302600
+2007302601,2007302601
+2007302602,2007302602
+2007302603,2007302603
+2007302604,2007302604
+2007302605,2007302605
+2007302606,2007302606
+2007302607,2007302607
+2007302608,2007302608
+2007302609,2007302609
+2007302610,2007302610
+2007302611,2007302611
+2007302612,2007302612
+2007302613,2007302613
+2007302614,2007302614
+2007302615,2007302615
+2007302616,2007302616
+2007302617,2007302617
+2007302618,2007302618
+2007302619,2007302619
+2007302620,2007302620
+2007302621,2007302621
+2007302622,2007302622
+2007302623,2007302623
+2007302624,2007302624
+2007302625,2007302625
+2007302626,2007302626
+2007302627,2007302627
+2007302628,2007302628
+2007302629,2007302629
+2007302630,2007302630
+2007302631,2007302631
+2007302632,2007302632
+2007302633,2007302633
+2007302634,2007302634
+2007302635,2007302635
+2007302636,2007302636
+2007302637,2007302637
+2007302638,2007302638
+2007302639,2007302639
+2007302640,2007302640
+2007302641,2007302641
+2007302642,2007302642
+2007302643,2007302643
+2007302644,2007302644
+2007302645,2007302645
+2007302646,2007302646
+2007302647,2007302647
+2007302648,2007302648
+2007302649,2007302649
+2007302650,2007302650
+2007302651,2007302651
+2007302652,2007302652
+2007302653,2007302653
+2007302654,2007302654
+2007302655,2007302655
+2007302656,2007302656
+2007302657,2007302657
+2007302658,2007302658
+2007302659,2007302659
+2007302660,2007302660
+2007302661,2007302661
+2007302662,2007302662
+2007302663,2007302663
+2007302665,2007302665
+2007302666,2007302666
+2007302667,2007302667
+2007302668,2007302668
+2007302669,2007302669
+2007302670,2007302670
+2007302671,2007302671
+2007302672,2007302672
+2007302674,2007302674
+2007302675,2007302675
+2007302676,2007302676
+2007302677,2007302677
+2007302678,2007302678
+2007302679,2007302679
+2007302680,2007302680
+2007302681,2007302681
+2007302682,2007302682
+2007302683,2007302683
+2007302684,2007302684
+2007302685,2007302685
+2007302686,2007302686
+2007302687,2007302687
+2007302688,2007302688
+2007302689,2007302689
+2007302690,2007302690
+2007302691,2007302691
+2007302692,2007302692
+2007302693,2007302693
+2007302694,2007302694
+2007302695,2007302695
+2007302696,2007302696
+2007302697,2007302697
+2007302698,2007302698
+2007302699,2007302699
+2007302700,2007302700
+2007302701,2007302701
+2007302702,2007302702
+2007302703,2007302703
+2007302704,2007302704
+2007302705,2007302705
+2007302706,2007302706
+2007302707,2007302707
+2007302708,2007302708
+2007302709,2007302709
+2007302710,2007302710
+2007302711,2007302711
+2007302712,2007302712
+2007302713,2007302713
+2007302714,2007302714
+2007302715,2007302715
+2007302716,2007302716
+2007302717,2007302717
+2007302718,2007302718
+2007302719,2007302719
+2007302720,2007302720
+2007302721,2007302721
+2007302722,2007302722
+2007302723,2007302723
+2007302724,2007302724
+2007302725,2007302725
+2007302726,2007302726
+2007302727,2007302727
+2007302728,2007302728
+2007302729,2007302729
+2007302730,2007302730
+2007302731,2007302731
+2007302732,2007302732
+2007302734,2007302734
+2007302735,2007302735
+2007302736,2007302736
+2007302737,2007302737
+2007302738,2007302738
+2007302739,2007302739
+2007302740,2007302740
+2007302741,2007302741
+2007302742,2007302742
+2007302743,2007302743
+2007302744,2007302744
+2007302745,2007302745
+2007302746,2007302746
+2007302747,2007302747
+2007302748,2007302748
+2007302749,2007302749
+2007302750,2007302750
+2007302751,2007302751
+2007302752,2007302752
+2007302753,2007302753
+2007302754,2007302754
+2007302755,2007302755
+2007302756,2007302756
+2007302757,2007302757
+2007302758,2007302758
+2007302759,2007302759
+2007302760,2007302760
+2007302761,2007302761
+2007302762,2007302762
+2007302763,2007302763
+2007302764,2007302764
+2007302765,2007302765
+2007302766,2007302766
+2007302767,2007302767
+2007302768,2007302768
+2007302769,2007302769
+2007302770,2007302770
+2007302771,2007302771
+2007302772,2007302772
+2007302773,2007302773
+2007302774,2007302774
+2007302775,2007302775
+2007302776,2007302776
+2007302777,2007302777
+2007302778,2007302778
+2007302779,2007302779
+2007302780,2007302780
+2007302781,2007302781
+2007302782,2007302782
+2007302783,2007302783
+2007302784,2007302784
+2007302785,2007302785
+2007302786,2007302786
+2007302787,2007302787
+2007302788,2007302788
+2007302789,2007302789
+2007302790,2007302790
+2007302791,2007302791
+2007302792,2007302792
+2007302793,2007302793
+2007302794,2007302794
+2007302795,2007302795
+2007302796,2007302796
+2007302797,2007302797
+2007302798,2007302798
+2007302799,2007302799
+2007302800,2007302800
+2007302801,2007302801
+2007302802,2007302802
+2007302803,2007302803
+2007302804,2007302804
+2007302805,2007302805
+2007302806,2007302806
+2007302807,2007302807
+2007302808,2007302808
+2007302809,2007302809
+2007302810,2007302810
+2007302811,2007302811
+2007302812,2007302812
+2007302813,2007302813
+2007302814,2007302814
+2007302815,2007302815
+2007302816,2007302816
+2007302817,2007302817
+2007302818,2007302818
+2007302819,2007302819
+2007302821,2007302821
+2007302822,2007302822
+2007302823,2007302823
+2007302824,2007302824
+2007302825,2007302825
+2007302826,2007302826
+2007302827,2007302827
+2007302828,2007302828
+2007302829,2007302829
+2007302830,2007302830
+2007302831,2007302831
+2007302832,2007302832
+2007302833,2007302833
+2007302834,2007302834
+2007302835,2007302835
+2007302836,2007302836
+2007302837,2007302837
+2007302838,2007302838
+2007302839,2007302839
+2007302840,2007302840
+2007302841,2007302841
+2007302842,2007302842
+2007302843,2007302843
+2007302844,2007302844
+2007302845,2007302845
+2007302846,2007302846
+2007302847,2007302847
+2007302848,2007302848
+2007302849,2007302849
+2007302850,2007302850
+2007302851,2007302851
+2007302852,2007302852
+2007302853,2007302853
+2007302854,2007302854
+2007302855,2007302855
+2007302856,2007302856
+2007302857,2007302857
+2007302858,2007302858
+2007302859,2007302859
+2007302860,2007302860
+2007302861,2007302861
+2007302862,2007302862
+2007302863,2007302863
+2007302864,2007302864
+2007302865,2007302865
+2007302866,2007302866
+2007302867,2007302867
+2007302869,2007302869
+2007302870,2007302870
+2007302871,2007302871
+2007302872,2007302872
+2007302873,2007302873
+2007302874,2007302874
+2007302875,2007302875
+2007302876,2007302876
+2007302877,2007302877
+2007302878,2007302878
+2007302879,2007302879
+2007302880,2007302880
+2007302881,2007302881
+2007302882,2007302882
+2007302883,2007302883
+2007302884,2007302884
+2007302885,2007302885
+2007302886,2007302886
+2007302887,2007302887
+2007302888,2007302888
+2007302889,2007302889
+2007302890,2007302890
+2007302891,2007302891
+2007302892,2007302892
+2007302893,2007302893
+2007302894,2007302894
+2007302895,2007302895
+2007302897,2007302897
+2007302898,2007302898
+2007302899,2007302899
+2007302900,2007302900
+2007302901,2007302901
+2007302902,2007302902
+2007302903,2007302903
+2007302904,2007302904
+2007302905,2007302905
+2007302906,2007302906
+2007302907,2007302907
+2007302908,2007302908
+2007302909,2007302909
+2007302910,2007302910
+2007302911,2007302911
+2007302912,2007302912
+2007302913,2007302913
+2007302914,2007302914
+2007302915,2007302915
+2007302916,2007302916
+2007302917,2007302917
+2007302918,2007302918
+2007302919,2007302919
+2007302920,2007302920
+2007302921,2007302921
+2007302922,2007302922
+2007302923,2007302923
+2007302924,2007302924
+2007302925,2007302925
+2007302926,2007302926
+2007302927,2007302927
+2007302928,2007302928
+2007302929,2007302929
+2007302930,2007302930
+2007302931,2007302931
+2007302932,2007302932
+2007302933,2007302933
+2007302934,2007302934
+2007302935,2007302935
+2007302936,2007302936
+2007302937,2007302937
+2007302938,2007302938
+2007302939,2007302939
+2007302940,2007302940
+2007302941,2007302941
+2007302942,2007302942
+2007302943,2007302943
+2007302944,2007302944
+2007302945,2007302945
+2007302946,2007302946
+2007302947,2007302947
+2007302948,2007302948
+2007302949,2007302949
+2007302950,2007302950
+2007302951,2007302951
+2007302952,2007302952
+2007302953,2007302953
+2007302954,2007302954
+2007302955,2007302955
+2007302956,2007302956
+2007302957,2007302957
+2007302958,2007302958
+2007302959,2007302959
+2007302960,2007302960
+2007302961,2007302961
+2007302962,2007302962
+2007302963,2007302963
+2007302964,2007302964
+2007302965,2007302965
+2007302966,2007302966
+2007302967,2007302967
+2007302968,2007302968
+2007302970,2007302970
+2007302971,2007302971
+2007302972,2007302972
+2007302973,2007302973
+2007302974,2007302974
+2007302975,2007302975
+2007302976,2007302976
+2007302977,2007302977
+2007302978,2007302978
+2007302979,2007302979
+2007302980,2007302980
+2007302981,2007302981
+2007302982,2007302982
+2007302983,2007302983
+2007302984,2007302984
+2007302985,2007302985
+2007302986,2007302986
+2007302987,2007302987
+2007302988,2007302988
+2007302989,2007302989
+2007302990,2007302990
+2007302991,2007302991
+2007302992,2007302992
+2007302993,2007302993
+2007302994,2007302994
+2007302995,2007302995
+2007302996,2007302996
+2007302997,2007302997
+2007302998,2007302998
+2007302999,2007302999
+2007303000,2007303000
+2007303001,2007303001
+2007303002,2007303002
+2007303003,2007303003
+2007303004,2007303004
+2007303005,2007303005
+2007303006,2007303006
+2007303007,2007303007
+2007303008,2007303008
+2007303009,2007303009
+2007303010,2007303010
+2007303011,2007303011
+2007303012,2007303012
+2007303013,2007303013
+2007303014,2007303014
+2007303015,2007303015
+2007303016,2007303016
+2007303017,2007303017
+2007303018,2007303018
+2007303019,2007303019
+2007303020,2007303020
+2007303021,2007303021
+2007303022,2007303022
+2007303023,2007303023
+2007303024,2007303024
+2007303025,2007303025
+2007303026,2007303026
+2007303027,2007303027
+2007303028,2007303028
+2007303029,2007303029
+2007303030,2007303030
+2007303031,2007303031
+2007303032,2007303032
+2007303033,2007303033
+2007303034,2007303034
+2007303035,2007303035
+2007303036,2007303036
+2007303037,2007303037
+2007303038,2007303038
+2007303039,2007303039
+2007303040,2007303040
+2007303041,2007303041
+2007303042,2007303042
+2007303043,2007303043
+2007303044,2007303044
+2007303045,2007303045
+2007303046,2007303046
+2007303047,2007303047
+2007303048,2007303048
+2007303049,2007303049
+2007303050,2007303050
+2007303051,2007303051
+2007303052,2007303052
+2007303053,2007303053
+2007303054,2007303054
+2007303055,2007303055
+2007303056,2007303056
+2007303057,2007303057
+2007303058,2007303058
+2007303059,2007303059
+2007303060,2007303060
+2007303061,2007303061
+2007303062,2007303062
+2007303063,2007303063
+2007303064,2007303064
+2007303065,2007303065
+2007303066,2007303066
+2007303067,2007303067
+2007303068,2007303068
+2007303069,2007303069
+2007303070,2007303070
+2007303071,2007303071
+2007303072,2007303072
+2007303073,2007303073
+2007303074,2007303074
+2007303075,2007303075
+2007303076,2007303076
+2007303077,2007303077
+2007303078,2007303078
+2007303079,2007303079
+2007303080,2007303080
+2007303081,2007303081
+2007303082,2007303082
+2007303083,2007303083
+2007303084,2007303084
+2007303085,2007303085
+2007303086,2007303086
+2007303087,2007303087
+2007303088,2007303088
+2007303089,2007303089
+2007303090,2007303090
+2007303091,2007303091
+2007303092,2007303092
+2007303093,2007303093
+2007303094,2007303094
+2007303095,2007303095
+2007303096,2007303096
+2007303097,2007303097
+2007303098,2007303098
+2007303099,2007303099
+2007303100,2007303100
+2007303101,2007303101
+2007303102,2007303102
+2007303103,2007303103
+2007303104,2007303104
+2007303105,2007303105
+2007303106,2007303106
+2007303107,2007303107
+2007303108,2007303108
+2007303109,2007303109
+2007303110,2007303110
+2007303111,2007303111
+2007303112,2007303112
+2007303113,2007303113
+2007303114,2007303114
+2007303115,2007303115
+2007303116,2007303116
+2007303117,2007303117
+2007303118,2007303118
+2007303119,2007303119
+2007303120,2007303120
+2007303121,2007303121
+2007303122,2007303122
+2007303123,2007303123
+2007303124,2007303124
+2007303125,2007303125
+2007303126,2007303126
+2007303127,2007303127
+2007303128,2007303128
+2007303129,2007303129
+2007303130,2007303130
+2007303131,2007303131
+2007303132,2007303132
+2007303133 ,2007303133
+2007303134,2007303134
+2007303135,2007303135
+2007303136,2007303136
+2007303137,2007303137
+2007303138,2007303138
+2007303139,2007303139
+2007303140,2007303140
+2007303141,2007303141
+2007303142,2007303142
+2007303143,2007303143
+2007303144,2007303144
+2007303145,2007303145
+2007303146,2007303146
+2007303147,2007303147
+2007303148,2007303148
+2007303149,2007303149
+2007303150,2007303150
+2007303151,2007303151
+2007303152,2007303152
+2007303153,2007303153
+2007303154,2007303154
+2007303155,2007303155
+2007303156,2007303156
+2007303157,2007303157
+2007303158,2007303158
+2007303159,2007303159
+2007303160,2007303160
+2007303161,2007303161
+2007303162,2007303162
+2007303163,2007303163
+2007303164,2007303164
+2007303165,2007303165
+2007303166,2007303166
+2007303167,2007303167
+2007303168,2007303168
+2007303169,2007303169
+2007303170,2007303170
+2007303171,2007303171
+2007303172,2007303172
+2007303173,2007303173
+2007303174,2007303174
+2007303175,2007303175
+2007303176,2007303176
+2007303177,2007303177
+2007303178,2007303178
+2007303179,2007303179
+2007303180,2007303180
+2007303181,2007303181
+2007303182,2007303182
+2007303183,2007303183
+2007303184,2007303184
+2007303185,2007303185
+2007303186,2007303186
+2007303187,2007303187
+2007303188,2007303188
+2007303189,2007303189
+2007303190,2007303190
+2007303191,2007303191
+2007303192,2007303192
+2007303193,2007303193
+2007303194,2007303194
+2007303195,2007303195
+2007303196,2007303196
+2007303197,2007303197
+2007303198,2007303198
+2007303199,2007303199
+2007303200,2007303200
+2007303201,2007303201
+2007303202,2007303202
+2007303203,2007303203
+2007303204,2007303204
+2007303205,2007303205
+2007303206,2007303206
+2007303207,2007303207
+2007303208,2007303208
+2007303209,2007303209
+2007303210,2007303210
+2007303211,2007303211
+2007303212,2007303212
+2007303213,2007303213
+2007303214,2007303214
+2007303215,2007303215
+2007303216,2007303216
+2007303217,2007303217
+2007303218,2007303218
+2007303219,2007303219
+2007303220,2007303220
+2007303221,2007303221
+2007303222,2007303222
+2007303223,2007303223
+2007303224,2007303224
+2007303225,2007303225
+2007303226,2007303226
+2007303227,2007303227
+2007303228,2007303228
+2007303229,2007303229
+2007303230,2007303230
+2007303231,2007303231
+2007303232,2007303232
+2007303233,2007303233
+2007303234,2007303234
+2007303235,2007303235
+2007303236,2007303236
+2007303237,2007303237
+2007303238,2007303238
+2007303239,2007303239
+2007303240,2007303240
+2007303241,2007303241
+2007303242,2007303242
+2007303243,2007303243
+2007303244,2007303244
+2007303245,2007303245
+2007303246,2007303246
+2007303247,2007303247
+2007303248,2007303248
+2007303249,2007303249
+2007303250,2007303250
+2007303251,2007303251
+2007303252,2007303252
+2007303253,2007303253
+2007303254,2007303254
+2007303255,2007303255
+2007303257,2007303257
+2007303258,2007303258
+2007303259,2007303259
+2007303260,2007303260
+2007303261,2007303261
+2007303262,2007303262
+2007303263,2007303263
+2007303264,2007303264
+2007303265,2007303265
+2007303266,2007303266
+2007303267,2007303267
+2007303268,2007303268
+2007303269,2007303269
+2007303270,2007303270
+2007303271,2007303271
+2007303272,2007303272
+2007303273,2007303273
+2007303274,2007303274
+2007303275,2007303275
+2007303276,2007303276
+2007303277,2007303277
+2007303278,2007303278
+2007303279,2007303279
+2007303280,2007303280
+2007303281,2007303281
+2007303282,2007303282
+2007303283,2007303283
+2007303284,2007303284
+2007303285,2007303285
+2007303286,2007303286
+2007303287,2007303287
+2007303288,2007303288
+2007303289,2007303289
+2007303290,2007303290
+2007303291,2007303291
+2007303292,2007303292
+2007303293,2007303293
+2007303294,2007303294
+2007303295,2007303295
+2007303296,2007303296
+2007303297,2007303297
+2007303298,2007303298
+2007303299,2007303299
+2007303300,2007303300
+2007303301,2007303301
+2007303302,2007303302
+2007303303,2007303303
+2007303304,2007303304
+2007303305,2007303305
+2007303306,2007303306
+2007303307,2007303307
+2007303308,2007303308
+2007303309,2007303309
+2007303310,2007303310
+2007303311,2007303311
+2007303312,2007303312
+2007303313,2007303313
+2007303314,2007303314
+2007303315,2007303315
+2007303317,2007303317
+2007303318,2007303318
+2007303319,2007303319
+2007303320,2007303320
+2007303321,2007303321
+2007303322,2007303322
+2007303323,2007303323
+2007303324,2007303324
+2007303325,2007303325
+2007303326,2007303326
+2007303327,2007303327
+2007303328,2007303328
+2007303329,2007303329
+2007303330,2007303330
+2007303331,2007303331
+2007303332,2007303332
+2007303333,2007303333
+2007303334,2007303334
+2007303335,2007303335
+2007303336,2007303336
+2007303337,2007303337
+2007303338,2007303338
+2007303339,2007303339
+2007303340,2007303340
+2007303341,2007303341
+2007303342,2007303342
+2007303343,2007303343
+2007303344,2007303344
+2007303345,2007303345
+2007303346,2007303346
+2007303347,2007303347
+2007303348,2007303348
+2007303349,2007303349
+2007303350,2007303350
+2007303351,2007303351
+2007303352,2007303352
+2007303353,2007303353
+2007303354,2007303354
+2007303355,2007303355
+2007303356,2007303356
+2007303357,2007303357
+2007303358,2007303358
+2007303359,2007303359
+2007303360,2007303360
+2007303361,2007303361
+2007303362,2007303362
+2007303363,2007303363
+2007303364,2007303364
+2007303365,2007303365
+2007303366,2007303366
+2007303367,2007303367
+2007303368,2007303368
+2007303369,2007303369
+2007303370,2007303370
+2007303371,2007303371
+2007303372,2007303372
+2007303373,2007303373
+2007303374,2007303374
+2007303375,2007303375
+2007303376,2007303376
+2007303377,2007303377
+2007303378,2007303378
+2007303379,2007303379
+2007303380,2007303380
+2007303381,2007303381
+2007303382,2007303382
+2007303383,2007303383
+2007303384,2007303384
+2007303385,2007303385
+2007303386,2007303386
+2007303387,2007303387
+2007303388,2007303388
+2007303389,2007303389
+2007303390,2007303390
+2007303391,2007303391
+2007303392,2007303392
+2007303393,2007303393
+2007303394,2007303394
+2007303395,2007303395
+2007303396,2007303396
+2007303397,2007303397
+2007303398,2007303398
+2007303399,2007303399
+2007303400,2007303400
+2007303401,2007303401
+2007303402,2007303402
+2007303403,2007303403
+2007303404,2007303404
+2007303405,2007303405
+2007303406,2007303406
+2007303407,2007303407
+2007303408,2007303408
+2007303409,2007303409
+2007303410,2007303410
+2007303411,2007303411
+2007303412,2007303412
+2007303413,2007303413
+2007303414,2007303414
+2007303415,2007303415
+2007303416,2007303416
+2007303417,2007303417
+2007303418,2007303418
+2007303419,2007303419
+2007303420,2007303420
+2007303421,2007303421
+2007304050,2007304050
+2007430002,2007430002
+2007430003,2007430003
+2007430004,2007430004
+2007430006,2007430006
+2007430007,2007430007
+2007430008,2007430008
+2007430010,2007430010
+2007430011,2007430011
+2007430012,2007430012
+2007430013,2007430013
+2007430021,2007430021
+2008010010,2008010010
+2008010016,2008010016
+2008010017,2008010017
+2008010019,2008010019
+2008010020,2008010020
+2008010022,047060198
+2008010025,2008010025
+2008010027,2008010027
+2008010028,2008010028
+2008010029,2008010029
+2008010031,2008010031
+2008010032,2008010032
+2008010033,2008010033
+2008010035,2008010035
+2008010036,056046121
+2008010037,056130798
+2008010040,2008010040
+2008010041,2008010041
+2008010042,056096520
+2008010043,056086411
+2008010044,056080437
+2008010045,056036080
+2008010048,056110706
+2008010049,056046148
+2008010050,056030150
+2008010051,2008010051
+2008010052,056056275
+2008010053,056116657
+2008010054,056026057
+2008010055,056126837
+2008010056,2008010056
+2008010057,056046136
+2008010059,2008010059
+2008010060,067045078
+2008010061,056090581
+2008010062,2008010062
+2008010063,2008010063
+2008010064,2008010064
+2008010066,2008010066
+2008010067,2008010067
+2008010068,2008010068
+2008010069,2008010069
+2008010071,2008010071
+2008010072,2008010072
+2008010073,047090255
+2008010074,2008010074
+2008010075,2008010075
+2008010078,2008010078
+2008010079,2008010079
+2008010080,2008010080
+2008010081,2008010081
+2008010083,2008010083
+2008010084,2008010084
+2008010085,2008010085
+2008010087,2008010087
+2008010088,2008010088
+2008010089,2008010089
+2008010090,043375
+2008010091,2008010091
+2008010093,2008010093
+2008010094,047020082
+2008010095,2008010095
+2008010096,2008010096
+2008010098,047120303
+2008010100,2008010100
+2008010101,2008010101
+2008010102,047050171
+2008010104,2008010104
+2008010105,2008010105
+2008010108,2008010108
+2008010110,2008010110
+2008010111,2008010111
+2008010113,2008010113
+2008010114,2008010114
+2008010117,2008010117
+2008010119,2008010119
+2008010120,2008010120
+2008010121,2008010121
+2008010123,047010070
+2008010124,2008010124
+2008010125,047100270
+2008010128,2008010128
+2008010132,2008010132
+2008010133,2008010133
+2008010134,2008010134
+2008010135,047090258
+2008010136,2008010136
+2008010137,047030104
+2008010139,2008010139
+2008010140,047040113
+2008010141,057050204
+2008030018,2008030018
+2008030021,2008030021
+2008030023,2008030023
+2008030024,2008030024
+2008030026,2008030026
+2008030030,2008030030
+2008030034,2008030034
+2008030038,2008030038
+2008030039,2008030039
+2008030046,2008030046
+2008030047,047040115
+2008030058,2008030058
+2008030065,047080219
+2008030070,2008030070
+2008030082,2008030082
+2008030086,057040159
+2008030092,2008030092
+2008030097,047040140
+2008030099,2008030099
+2008030103,047040156
+2008030106,2008030106
+2008030107,2008030107
+2008030109,2008030109
+2008030115,2008030115
+2008030116,057040018
+2008030118,2008030118
+2008030122,2008030122
+2008030127,057060209
+2008030129,047070212
+2008030130,2008030130
+2008030131,047030098
+2008030138,2008030138
+2008100001,2008100001
+2008100002,2008100002
+2008100003,2008100003
+2008100004,056010055
+2008100005,056016024
+2008100006,2008100006
+2008100007,056016022
+2008100008,2008100008
+2008100009,2008100009
+2008100010,056110715
+2008100011,2008100011
+2008100012,2008100012
+2008100013,2008100013
+2008100014,056026038
+2008100015,056024026
+2008100016,2008100016
+2008100017,2008100017
+2008100018,2008100018
+2008100019,2008100019
+2008100020,2008100020
+2008100021,2008100021
+2008100022,2008100022
+2008100023,2008100023
+2008100024,2008100024
+2008100025,2008100025
+2008100026,2008100026
+2008100027,2008100027
+2008100028,2008100028
+2008100029,2008100029
+2008100030,056036106
+2008100031,2008100031
+2008100032,056030157
+2008100033,056036082
+2008100034,2008100034
+2008100035,056036102
+2008100036,056030121
+2008100037,056030112
+2008100038,056040238
+2008100039,056040204
+2008100040,2008100040
+2008100041,2008100041
+2008100042,2008100042
+2008100043,2008100043
+2008100044,2008100044
+2008100045,2008100045
+2008100046,2008100046
+2008100047,2008100047
+2008100048,2008100048
+2008100049,2008100049
+2008100050,046046138
+2008100051,2000000035
+2008100052,2008100052
+2008100053,056046143
+2008100054,2008100054
+2008100055,2008100055
+2008100056,046116731
+2008100057,2006020043
+2008100058,056056309
+2008100059,2008100059
+2008100060,2008100060
+2008100061,2008100061
+2008100062,2008100062
+2008100063,056056330
+2008100064,056056296
+2008100065,2008100065
+2008100066,2007100308
+2008100067,046050346
+2008100068,2008100068
+2008100069,056050255
+2008100071,2008100071
+2008100073,2008100073
+2008100075,2008100075
+2008100076,2008100076
+2008100077,2008100077
+2008100078,2008100078
+2008100079,2008100079
+2008100080,2008100080
+2008100081,2002000046
+2008100082,2008100082
+2008100083,2008100083
+2008100084,2008100084
+2008100085,2008100085
+2008100086,056060362
+2008100087,2008100087
+2008100088,2008100088
+2008100089,2008100089
+2008100090,056070370
+2008100091,2008100091
+2008100092,2008100092
+2008100093,056100598
+2008100094,2008100094
+2008100095,2008100095
+2008100096,2008100096
+2008100097,2008100097
+2008100098,2008100098
+2008100099,2008100099
+2008100100,2008100100
+2008100101,2003020083
+2008100102,2008100102
+2008100103,2008100103
+2008100104,2008100104
+2008100105,2008100105
+2008100106,2008100106
+2008100107,2008100107
+2008100108,046095060
+2008100109,2008100109
+2008100110,056090477
+2008100111,2008100111
+2008100112,2008100112
+2008100113,2008100113
+2008100114,056090560
+2008100115,2008100115
+2008100116,2008100116
+2008100117,056096559
+2008100118,2008100118
+2008100119,2008100119
+2008100120,2008100120
+2008100121,2008100121
+2008100122,2008100122
+2008100123,2008100123
+2008100124,2008100124
+2008100125,046114121
+2008100126,2008100126
+2008100128,2008100128
+2008100129,2008100129
+2008100130,056106572
+2008100131,2008100131
+2008100132,2008100132
+2008100133,2008100133
+2008100134,056116704
+2008100135,2008100135
+2008100136,2004000116
+2008100137,056110702
+2008100138,056110695
+2008100139,2008100139
+2008100140,2008100140
+2008100141,2008100141
+2008100142,2008100142
+2008100143,2008100143
+2008100144,2008100144
+2008100145,056116677
+2008100146,2008100146
+2008100148,2008100148
+2008100149,046116693
+2008100151,046120776
+2008100152,2008100152
+2008100154,2008100154
+2008100155,046120780
+2008100156,2006000035
+2008100157,2008100157
+2008100158,2004000028
+2008100159,2008100159
+2008100160,056134122
+2008100161,2008100161
+2008100162,2008100162
+2008100163,056130775
+2008100164,2008100164
+2008100165,066016004
+2008100166,066016001
+2008100167,040423
+2008100168,066010015
+2008100169,040294
+2008100170,066010020
+2008100171,066010022
+2008100172,066010023
+2008100173,2008100173
+2008100174,040398
+2008100175,066016024
+2008100176,066010031
+2008100177,040392
+2008100178,040383
+2008100179,056010025
+2008100180,2008100180
+2008100181,066010061
+2008100182,066010071
+2008100183,066010044
+2008100184,2008100184
+2008100185,066020103
+2008100186,066010057
+2008100187,2008100187
+2008100188,066026049
+2008100189,2007200203
+2008100190,066020096
+2008100191,066020092
+2008100192,2007200199
+2008100193,2008100193
+2008100194,2008100194
+2008100195,066020091
+2008100196,066026053
+2008100197,2008100197
+2008100198,2008100198
+2008100199,040495
+2008100200,040504
+2008100201,2008100201
+2008100202,066020104
+2008100203,040466
+2008100204,2007200214
+2008100205,2008100205
+2008100206,066026062
+2008100207,2008100207
+2008100208,2007200227
+2008100209,2007200233
+2008100210,066020109
+2008100211,066020114
+2008100212,046074064
+2008100213,066020117
+2008100214,040605
+2008100215,2007200248
+2008100216,066020116
+2008100217,2008100217
+2008100218,040530
+2008100219,2008100219
+2008100220,2008100220
+2008100221,2008100221
+2008100222,2008100222
+2008100223,066036138
+2008100224,2008100224
+2008100225,2007200297
+2008100226,066036150
+2008100227,066030151
+2008100228,040744
+2008100229,066030157
+2008100230,040800
+2008100231,2007200340
+2008100232,2008100232
+2008100233,2008100233
+2008100234,066030160
+2008100235,2008100235
+2008100236,2008100236
+2008100237,2008100237
+2008100238,2008100238
+2008100239,066110639
+2008100240,2008100240
+2008100241,040658
+2008100242,066030132
+2008100243,040731
+2008100244,2008100244
+2008100245,2008100245
+2008100246,2007200383
+2008100247,040012
+2008100248,2008100248
+2008100249,2008100249
+2008100250,066046173
+2008100251,2007200402
+2008100252,040003
+2008100253,2008100253
+2008100254,066040194
+2008100255,040878
+2008100256,066040202
+2008100257,2008100257
+2008100258,066046180
+2008100259,2008100259
+2008100260,2007200421
+2008100261,066040187
+2008100262,2008100262
+2008100263,2008100263
+2008100264,2007200429
+2008100265,066040203
+2008100266,2007200520
+2008100267,066046210
+2008100268,046045025
+2008100269,2008100269
+2008100270,2008100270
+2008100271,2007200456
+2008100272,056048002
+2008100273,066046217
+2008100274,2007200465
+2008100275,2008100275
+2008100276,2007200480
+2008100277,040980
+2008100278,2007200503
+2008100279,2007200518
+2008100280,056040174
+2008100281,2008100281
+2008100282,066046267
+2008100283,066046266
+2008100284,2007200531
+2008100285,066050248
+2008100286,066056277
+2008100287,2007200545
+2008100288,066056285
+2008100289,2008100289
+2008100290,066056304
+2008100291,2008100291
+2008100292,2008100292
+2008100293,066056322
+2008100294,066056338
+2008100295,066056329
+2008100296,2008100296
+2008100297,066110642
+2008100298,2008100298
+2008100299,2008100299
+2008100300,2008100300
+2008100301,2007200686
+2008100302,041353
+2008100303,066050306
+2008100304,2007200683
+2008100305,2007200693
+2008100306,041199
+2008100307,066050309
+2008100308,066050308
+2008100309,2007200724
+2008100310,2008100310
+2008100311,2008100311
+2008100312,2007200705
+2008100313,2007200710
+2008100314,1993000064
+2008100315,2008100315
+2008100316,2007200733
+2008100317,2007200740
+2008100318,066050324
+2008100319,2008100319
+2008100320,2003020081
+2008100321,042868
+2008100322,066060351
+2008100323,066066412
+2008100324,2007200762
+2008100325,066060347
+2008100326,2008100326
+2008100327,2007200776
+2008100328,2007200777
+2008100329,041454
+2008100330,041419
+2008100331,2008100331
+2008100332,2008100332
+2008100333,2007200815
+2008100334,066070379
+2008100335,041771
+2008100336,041609
+2008100337,066070383
+2008100338,2007200859
+2008100339,2007200868
+2008100340,066086462
+2008100341,066086515
+2008100342,2008100342
+2008100343,2008100343
+2008100344,066086464
+2008100345,066080405
+2008100346,066085022
+2008100347,2008100347
+2008100348,2007200934
+2008100349,2007200945
+2008100350,2008100350
+2008100351,2008100351
+2008100352,2007200988
+2008100353,066080447
+2008100354,2008100354
+2008100355,2008100355
+2008100356,066086503
+2008100357,066080432
+2008100358,2008100358
+2008100359,066086506
+2008100360,2007201032
+2008100361,2007201042
+2008100362,2008100362
+2008100363,2008100363
+2008100364,066096545
+2008100365,2008100365
+2008100366,2007201104
+2008100367,2008100367
+2008100368,066096579
+2008100369,2007201074
+2008100370,066090569
+2008100371,066090530
+2008100372,2007201213
+2008100373,066100617
+2008100374,066090507
+2008100375,066096653
+2008100376,2008100376
+2008100377,2008100377
+2008100378,066026071
+2008100379,2008100379
+2008100380,2008100380
+2008100381,2008100381
+2008100382,066096629
+2008100383,066090552
+2008100384,2008100384
+2008100385,066096608
+2008100386,056090531
+2008100387,2007201233
+2008100388,066090523
+2008100389,2002000015
+2008100390,2007201161
+2008100391,066096647
+2008100392,2008100392
+2008100393,2008100393
+2008100394,066096633
+2008100395,2008100395
+2008100396,066096625
+2008100397,2007201179
+2008100398,066096649
+2008100399,066090553
+2008100400,066096618
+2008100401,056096517
+2008100402,046096574
+2008100403,066090563
+2008100404,066100610
+2008100405,066100585
+2008100406,066106673
+2008100407,066100613
+2008100408,2007201275
+2008100409,066106704
+2008100410,2008100410
+2008100411,2008100411
+2008100412,2007201308
+2008100413,066100602
+2008100414,066104079
+2008100415,2008100415
+2008100416,066100590
+2008100417,2007201375
+2008100418,2008100418
+2008100419,066100631
+2008100420,2008100420
+2008100421,042958
+2008100422,066110638
+2008100423,2008100423
+2008100424,2008100424
+2008100425,2008100425
+2008100426,066114091
+2008100427,066110665
+2008100428,2007201452
+2008100429,2008100429
+2008100430,2007201454
+2008100431,043071
+2008100432,043151
+2008100433,066116797
+2008100434,066110710
+2008100435,066110671
+2008100436,066110684
+2008100437,2008100437
+2008100438,2008100438
+2008100439,2008100439
+2008100440,043001
+2008100441,2007201517
+2008100442,2008100442
+2008100443,066110700
+2008100444,056055030
+2008100445,066120731
+2008100446,2008100446
+2008100447,066120727
+2008100448,066120715
+2008100449,2007201556
+2008100450,046146991
+2008100451,066136956
+2008100452,2008100452
+2008100453,2008100453
+2008100454,1988000098
+2008100455,2008100455
+2008100456,2008100456
+2008100457,2008100457
+2008150001,2008150001
+2008150002,2008150002
+2008150003,2008150003
+2008150004,2008150004
+2008150005,2008150005
+2008150006,2008150006
+2008200001,2008200001
+2008200002,040425
+2008200003,040422
+2008200004,2008200004
+2008200005,2008200005
+2008200006,2008200006
+2008200007,040160
+2008200008,040232
+2008200009,040302
+2008200010,2008200010
+2008200011,2008200011
+2008200012,040002
+2008200013,2008200013
+2008200014,040421
+2008200015,2008200015
+2008200016,2008200016
+2008200017,040199
+2008200018,2008200018
+2008200019,030315
+2008200020,040431
+2008200021,040437
+2008200022,2008200022
+2008200023,040439
+2008200024,040434
+2008200025,040164
+2008200026,040296
+2008200027,040311
+2008200028,040427
+2008200029,040428
+2008200030,040290
+2008200031,2008200031
+2008200032,040212
+2008200033,040156
+2008200034,2008200034
+2008200035,040307
+2008200036,2008200036
+2008200037,2008200037
+2008200038,2008200038
+2008200039,040438
+2008200040,040394
+2008200041,040166
+2008200042,2008200042
+2008200043,2008200043
+2008200044,040261
+2008200045,042194
+2008200046,2008200046
+2008200047,040216
+2008200048,040201
+2008200049,040190
+2008200050,2008200050
+2008200051,2008200051
+2008200052,040328
+2008200053,040430
+2008200054,2008200054
+2008200055,2008200055
+2008200056,040229
+2008200057,040072
+2008200058,040435
+2008200059,2008200059
+2008200060,040169
+2008200061,040230
+2008200062,040247
+2008200063,040181
+2008200064,2008200064
+2008200065,2008200065
+2008200066,040256
+2008200067,040246
+2008200068,040155
+2008200069,040094
+2008200070,040262
+2008200071,2008200071
+2008200072,040309
+2008200073,040221
+2008200074,040387
+2008200075,040384
+2008200076,040270
+2008200077,040280
+2008200078,2008200078
+2008200079,040870
+2008200080,2008200080
+2008200081,2008200081
+2008200082,2008200082
+2008200083,2008200083
+2008200084,040405
+2008200085,040460
+2008200086,2008200086
+2008200087,2008200087
+2008200088,040319
+2008200089,040456
+2008200090,2008200090
+2008200091,2008200091
+2008200092,040375
+2008200093,2008200093
+2008200094,040353
+2008200095,040365
+2008200096,040346
+2008200097,040356
+2008200098,040376
+2008200099,2008200099
+2008200100,040017
+2008200101,040145
+2008200102,040269
+2008200103,2008200103
+2008200104,2008200104
+2008200105,2008200105
+2008200106,2008200106
+2008200107,2007240010
+2008200108,040146
+2008200109,040130
+2008200110,040389
+2008200111,2008200111
+2008200112,2008200112
+2008200113,2008200113
+2008200114,040334
+2008200115,2008200115
+2008200116,2008200116
+2008200117,2008200117
+2008200118,2008200118
+2008200119,040419
+2008200120,040159
+2008200121,2008200121
+2008200122,2008200122
+2008200123,040174
+2008200124,040110
+2008200125,040096
+2008200126,2008200126
+2008200127,040194
+2008200128,040180
+2008200129,040227
+2008200130,040243
+2008200131,040248
+2008200132,040238
+2008200133,040209
+2008200134,040222
+2008200135,2008200135
+2008200136,2008200136
+2008200137,2008200137
+2008200138,040266
+2008200139,040200
+2008200140,2008200140
+2008200141,040391
+2008200142,2008200142
+2008200143,040153
+2008200144,2008200144
+2008200145,2007210095
+2008200146,040322
+2008200147,2008200147
+2008200148,2008200148
+2008200149,040195
+2008200150,2008200150
+2008200151,040220
+2008200152,040191
+2008200153,040170
+2008200154,040312
+2008200155,040189
+2008200156,041404
+2008200157,2008200157
+2008200158,2008200158
+2008200159,040162
+2008200160,040286
+2008200161,040173
+2008200162,2008200162
+2008200163,040342
+2008200164,040332
+2008200165,040388
+2008200166,040404
+2008200167,040412
+2008200168,040379
+2008200169,040555
+2008200170,040564
+2008200171,040089
+2008200172,040035
+2008200173,2008200173
+2008200174,040070
+2008200175,2008200175
+2008200176,2008200176
+2008200177,2008200177
+2008200178,2008200178
+2008200179,2008200179
+2008200180,2008200180
+2008200181,2008200181
+2008200182,2008200182
+2008200183,2008200183
+2008200184,2008200184
+2008200185,2008200185
+2008200186,040543
+2008200187,2008200187
+2008200188,2008200188
+2008200189,040536
+2008200190,2008200190
+2008200191,2008200191
+2008200192,040141
+2008200193,2008200193
+2008200194,040097
+2008200195,040546
+2008200196,2008200196
+2008200197,040539
+2008200198,040540
+2008200199,2008200199
+2008200200,2008200200
+2008200201,042207
+2008200202,2008200202
+2008200203,2008200203
+2008200204,2008200204
+2008200205,2008200205
+2008200206,040112
+2008200207,040527
+2008200208,040049
+2008200209,040068
+2008200210,040046
+2008200211,2007240008
+2008200212,040045
+2008200213,040556
+2008200214,2008200214
+2008200215,2008200215
+2008200216,2008200216
+2008200217,2008200217
+2008200218,2008200218
+2008200219,040512
+2008200220,040516
+2008200221,040474
+2008200222,040472
+2008200223,041157
+2008200224,040521
+2008200225,040545
+2008200226,2008200226
+2008200227,040055
+2008200228,040507
+2008200229,040477
+2008200230,2008200230
+2008200231,040494
+2008200232,2008200232
+2008200233,040468
+2008200234,2008200234
+2008200235,040471
+2008200236,2008200236
+2008200237,040470
+2008200238,040476
+2008200239,2008200239
+2008200240,040086
+2008200241,2007240007
+2008200242,2008200242
+2008200243,2008200243
+2008200244,2008200244
+2008200245,040519
+2008200246,040520
+2008200247,040464
+2008200248,040484
+2008200249,040483
+2008200250,040525
+2008200251,042282
+2008200252,040513
+2008200253,040498
+2008200254,2008200254
+2008200255,2008200255
+2008200256,2008200256
+2008200257,040500
+2008200258,040518
+2008200259,040589
+2008200260,2008200260
+2008200261,2008200261
+2008200262,040136
+2008200263,040603
+2008200264,2008200264
+2008200265,2008200265
+2008200266,2008200266
+2008200267,2008200267
+2008200268,040592
+2008200269,040606
+2008200270,2008200270
+2008200271,040583
+2008200272,040604
+2008200273,2008200273
+2008200274,040608
+2008200275,2008200275
+2008200276,2008200276
+2008200277,2008200277
+2008200278,2008200278
+2008200279,040551
+2008200280,2008200280
+2008200281,2008200281
+2008200282,2008200282
+2008200283,040594
+2008200284,2008200284
+2008200285,2008200285
+2008200286,2008200286
+2008200287,2008200287
+2008200288,2008200288
+2008200289,2008200289
+2008200290,040834
+2008200291,2008200291
+2008200292,040823
+2008200293,040832
+2008200294,040061
+2008200295,040647
+2008200296,2008200296
+2008200297,2008200297
+2008200298,040699
+2008200299,2008200299
+2008200300,040657
+2008200301,040653
+2008200302,2008200302
+2008200303,2008200303
+2008200304,2008200304
+2008200305,2008200305
+2008200306,040626
+2008200307,040623
+2008200308,040630
+2008200309,2008200309
+2008200310,2008200310
+2008200311,2008200311
+2008200312,040678
+2008200313,2008200313
+2008200314,040709
+2008200315,040770
+2008200316,2008200316
+2008200317,2008200317
+2008200318,040738
+2008200319,040687
+2008200320,2008200320
+2008200321,040725
+2008200322,2008200322
+2008200323,040761
+2008200324,2008200324
+2008200325,040723
+2008200326,2008200326
+2008200327,2008200327
+2008200328,040740
+2008200329,2008200329
+2008200330,040784
+2008200331,2008200331
+2008200332,2008200332
+2008200333,040067
+2008200334,040119
+2008200335,040030
+2008200336,2008200336
+2008200337,040781
+2008200338,040775
+2008200339,2008200339
+2008200340,040728
+2008200341,2008200341
+2008200342,040001
+2008200343,040715
+2008200344,040767
+2008200345,040783
+2008200346,040691
+2008200347,040685
+2008200348,040696
+2008200349,040705
+2008200350,2008200350
+2008200351,040686
+2008200352,040704
+2008200353,2008200353
+2008200354,040666
+2008200355,2008200355
+2008200356,040060
+2008200357,042530
+2008200358,040090
+2008200359,2008200359
+2008200360,2008200360
+2008200361,2008200361
+2008200362,040672
+2008200363,2008200363
+2008200364,040667
+2008200365,2008200365
+2008200366,2008200366
+2008200367,040683
+2008200368,2008200368
+2008200369,040727
+2008200370,2008200370
+2008200371,2008200371
+2008200372,040701
+2008200373,040762
+2008200374,040755
+2008200375,2008200375
+2008200376,040631
+2008200377,040617
+2008200378,040814
+2008200379,2008200379
+2008200380,2008200380
+2008200381,040807
+2008200382,2008200382
+2008200383,040808
+2008200384,2008200384
+2008200385,040075
+2008200386,040139
+2008200387,040821
+2008200388,040050
+2008200389,2008200389
+2008200390,040787
+2008200391,040820
+2008200392,2008200392
+2008200393,2008200393
+2008200394,2008200394
+2008200395,2008200395
+2008200396,2008200396
+2008200397,042144
+2008200398,040785
+2008200399,2008200399
+2008200400,2008200400
+2008200401,040713
+2008200402,2008200402
+2008200403,2008200403
+2008200404,040625
+2008200405,2008200405
+2008200406,2008200406
+2008200407,040743
+2008200408,040690
+2008200409,042989
+2008200410,040694
+2008200411,2008200411
+2008200412,040655
+2008200413,2008200413
+2008200414,2008200414
+2008200415,040638
+2008200416,2008200416
+2008200417,040621
+2008200418,2008200418
+2008200419,040033
+2008200420,040027
+2008200421,040757
+2008200422,2008200422
+2008200423,040660
+2008200424,040697
+2008200425,2008200425
+2008200426,2008200426
+2008200427,042884
+2008200428,040642
+2008200429,040619
+2008200430,040614
+2008200431,040669
+2008200432,2008200432
+2008200433,2008200433
+2008200434,040636
+2008200435,040815
+2008200436,040826
+2008200437,2008200437
+2008200438,040824
+2008200439,040851
+2008200440,2008200440
+2008200441,040884
+2008200442,040855
+2008200443,2008200443
+2008200444,2008200444
+2008200445,041006
+2008200446,2008200446
+2008200447,041016
+2008200448,2008200448
+2008200449,2008200449
+2008200450,2008200450
+2008200451,2008200451
+2008200452,2008200452
+2008200453,2008200453
+2008200454,040940
+2008200455,040854
+2008200456,041507
+2008200457,040942
+2008200458,2008200458
+2008200459,2008200459
+2008200460,2008200460
+2008200461,2008200461
+2008200462,2008200462
+2008200463,2008200463
+2008200464,040916
+2008200465,040929
+2008200466,2008200466
+2008200467,2008200467
+2008200468,040880
+2008200469,2008200469
+2008200470,040877
+2008200471,040997
+2008200472,040941
+2008200473,041010
+2008200474,2008200474
+2008200475,2008200475
+2008200476,040845
+2008200477,040841
+2008200478,2008200478
+2008200479,2008200479
+2008200480,2008200480
+2008200481,2008200481
+2008200482,041001
+2008200483,040915
+2008200484,043119
+2008200485,2008200485
+2008200486,040994
+2008200487,040840
+2008200488,040849
+2008200489,2008200489
+2008200490,2008200490
+2008200491,2008200491
+2008200492,2008200492
+2008200493,2008200493
+2008200494,040044
+2008200495,2008200495
+2008200496,2008200496
+2008200497,041011
+2008200498,2008200498
+2008200499,2007200397
+2008200500,2008200500
+2008200501,2008200501
+2008200502,2008200502
+2008200503,2008200503
+2008200504,2008200504
+2008200505,2008200505
+2008200506,040993
+2008200507,2008200507
+2008200508,041007
+2008200509,040853
+2008200510,2008200510
+2008200511,2008200511
+2008200512,040839
+2008200513,043009
+2008200514,2008200514
+2008200515,2008200515
+2008200516,041000
+2008200517,2008200517
+2008200518,2008200518
+2008200519,2008200519
+2008200520,040914
+2008200521,040958
+2008200522,2008200522
+2008200523,2008200523
+2008200524,040836
+2008200525,2008200525
+2008200526,2008200526
+2008200527,040913
+2008200528,2008200528
+2008200529,2008200529
+2008200530,2008200530
+2008200531,040868
+2008200532,2008200532
+2008200533,2008200533
+2008200534,2008200534
+2008200535,040862
+2008200536,040876
+2008200537,040933
+2008200538,2008200538
+2008200539,040838
+2008200540,2008200540
+2008200541,2008200541
+2008200542,2008200542
+2008200543,2008200543
+2008200544,2008200544
+2008200545,2008200545
+2008200546,040863
+2008200547,040907
+2008200548,2008200548
+2008200549,2008200549
+2008200550,2008200550
+2008200551,2008200551
+2008200552,2008200552
+2008200553,2008200553
+2008200554,040138
+2008200555,2008200555
+2008200556,040921
+2008200557,040908
+2008200558,2008200558
+2008200559,2008200559
+2008200560,2008200560
+2008200561,040967
+2008200562,040973
+2008200563,2008200563
+2008200564,2008200564
+2008200565,040982
+2008200566,2008200566
+2008200567,2008200567
+2008200568,2008200568
+2008200569,2008200569
+2008200570,040955
+2008200571,2008200571
+2008200572,2008200572
+2008200573,2008200573
+2008200574,2008200574
+2008200575,2008200575
+2008200576,040952
+2008200577,2008200577
+2008200578,2008200578
+2008200579,2008200579
+2008200580,2008200580
+2008200581,2008200581
+2008200582,2008200582
+2008200583,2008200583
+2008200584,2008200584
+2008200585,2008200585
+2008200586,2008200586
+2008200587,2008200587
+2008200588,2008200588
+2008200589,2008200589
+2008200590,2008200590
+2008200591,2008200591
+2008200592,040978
+2008200593,2008200593
+2008200594,040888
+2008200595,2008200595
+2008200596,2008200596
+2008200597,2008200597
+2008200598,040937
+2008200599,2008200599
+2008200600,2008200600
+2008200601,2008200601
+2008200602,2008200602
+2008200603,2008200603
+2008200604,2008200604
+2008200605,040984
+2008200606,2008200606
+2008200607,2008200607
+2008200608,040887
+2008200609,040906
+2008200610,2008200610
+2008200611,2008200611
+2008200612,2008200612
+2008200613,2008200613
+2008200614,040987
+2008200615,040927
+2008200616,2008200616
+2008200617,040943
+2008200618,2008200618
+2008200619,040895
+2008200620,2008200620
+2008200621,2008200621
+2008200622,2008200622
+2008200623,041124
+2008200624,2008200624
+2008200625,041188
+2008200626,2008200626
+2008200627,041114
+2008200628,2008200628
+2008200629,2008200629
+2008200630,2008200630
+2008200631,041256
+2008200632,2008200632
+2008200633,041128
+2008200634,2008200634
+2008200635,2008200635
+2008200636,2008200636
+2008200637,041270
+2008200638,2008200638
+2008200639,2008200639
+2008200640,2008200640
+2008200641,2008200641
+2008200642,2008200642
+2008200643,2008200643
+2008200644,041193
+2008200645,2008200645
+2008200646,2008200646
+2008200647,2008200647
+2008200648,041134
+2008200649,2008200649
+2008200650,2008200650
+2008200651,2008200651
+2008200652,041190
+2008200653,2007201201
+2008200654,2008200654
+2008200655,041202
+2008200656,2008200656
+2008200657,041187
+2008200658,2008200658
+2008200659,2008200659
+2008200660,041242
+2008200661,2008200661
+2008200662,2008200662
+2008200663,041211
+2008200664,2008200664
+2008200665,041343
+2008200666,041305
+2008200667,2008200667
+2008200668,2008200668
+2008200669,2008200669
+2008200670,2008200670
+2008200671,2008200671
+2008200672,041224
+2008200673,041205
+2008200674,2008200674
+2008200675,041195
+2008200676,2008200676
+2008200677,2008200677
+2008200678,041186
+2008200679,041258
+2008200680,2008200680
+2008200681,041143
+2008200682,2008200682
+2008200683,056050301
+2008200684,041220
+2008200685,2008200685
+2008200686,2008200686
+2008200687,2008200687
+2008200688,041191
+2008200689,2008200689
+2008200690,2008200690
+2008200691,041237
+2008200692,041160
+2008200693,2008200693
+2008200694,2008200694
+2008200695,2008200695
+2008200696,2008200696
+2008200697,2008200697
+2008200698,041233
+2008200699,041219
+2008200700,2008200700
+2008200701,2008200701
+2008200702,2008200702
+2008200703,2008200703
+2008200704,2008200704
+2008200705,2008200705
+2008200706,2008200706
+2008200707,041273
+2008200708,2008200708
+2008200709,2008200709
+2008200710,041245
+2008200711,041110
+2008200712,2008200712
+2008200713,2008200713
+2008200714,041840
+2008200715,041998
+2008200716,041262
+2008200717,040105
+2008200718,041287
+2008200719,2008200719
+2008200720,2008200720
+2008200721,041796
+2008200722,2008200722
+2008200723,041325
+2008200724,041297
+2008200725,2008200725
+2008200726,2008200726
+2008200727,041315
+2008200728,040088
+2008200729,2008200729
+2008200730,2008200730
+2008200731,041138
+2008200732,041375
+2008200733,2008200733
+2008200734,2008200734
+2008200735,2008200735
+2008200736,2008200736
+2008200737,2008200737
+2008200738,2008200738
+2008200739,2008200739
+2008200740,041038
+2008200741,2008200741
+2008200742,041052
+2008200743,042897
+2008200744,2008200744
+2008200745,2008200745
+2008200746,2008200746
+2008200747,041040
+2008200748,2008200748
+2008200749,2008200749
+2008200750,2008200750
+2008200751,2008200751
+2008200752,2008200752
+2008200753,041263
+2008200754,041311
+2008200755,042861
+2008200756,041018
+2008200757,2008200757
+2008200758,043346
+2008200759,2008200759
+2008200760,041028
+2008200761,041032
+2008200762,2008200762
+2008200763,2008200763
+2008200764,041045
+2008200765,041046
+2008200766,041162
+2008200767,042913
+2008200768,041021
+2008200769,041020
+2008200770,2008200770
+2008200771,041019
+2008200772,041027
+2008200773,040080
+2008200774,041167
+2008200775,041077
+2008200776,2008200776
+2008200777,041063
+2008200778,041043
+2008200779,2008200779
+2008200780,2008200780
+2008200781,2008200781
+2008200782,041071
+2008200783,2008200783
+2008200784,2008200784
+2008200785,041049
+2008200786,041062
+2008200787,2008200787
+2008200788,041039
+2008200789,2008200789
+2008200790,041041
+2008200791,041024
+2008200792,2008200792
+2008200793,041125
+2008200794,2008200794
+2008200795,2008200795
+2008200796,041044
+2008200797,041166
+2008200798,041042
+2008200799,2008200799
+2008200800,042950
+2008200801,2008200801
+2008200802,2008200802
+2008200803,041078
+2008200804,2007240025
+2008200805,2008200805
+2008200806,2008200806
+2008200807,2008200807
+2008200808,040131
+2008200809,040118
+2008200810,041095
+2008200811,041102
+2008200812,2008200812
+2008200813,2008200813
+2008200814,040115
+2008200815,040078
+2008200816,041132
+2008200817,040004
+2008200818,2008200818
+2008200819,2008200819
+2008200820,2008200820
+2008200821,2008200821
+2008200822,2008200822
+2008200823,041172
+2008200824,041086
+2008200825,2008200825
+2008200826,2008200826
+2008200827,2008200827
+2008200828,041358
+2008200829,2008200829
+2008200830,041344
+2008200831,2006020104
+2008200832,041354
+2008200833,041348
+2008200834,2008200834
+2008200835,041557
+2008200836,041501
+2008200837,041397
+2008200838,041416
+2008200839,041553
+2008200840,2008200840
+2008200841,041402
+2008200842,2008200842
+2008200843,2008200843
+2008200844,040368
+2008200845,040063
+2008200846,2008200846
+2008200847,2008200847
+2008200848,041399
+2008200849,2008200849
+2008200850,2008200850
+2008200851,041406
+2008200852,041409
+2008200853,041398
+2008200854,041421
+2008200855,041408
+2008200856,041420
+2008200857,042229
+2008200858,2008200858
+2008200859,041476
+2008200860,2008200860
+2008200861,2008200861
+2008200862,041407
+2008200863,041415
+2008200864,041413
+2008200865,2008200865
+2008200866,2008200866
+2008200867,031624
+2008200868,031638
+2008200869,033934
+2008200870,2008200870
+2008200871,2008200871
+2008200872,2008200872
+2008200873,041451
+2008200874,041528
+2008200875,041485
+2008200876,041443
+2008200877,041483
+2008200878,041480
+2008200879,041742
+2008200880,2008200880
+2008200881,2008200881
+2008200882,041647
+2008200883,2008200883
+2008200884,2008200884
+2008200885,041705
+2008200886,041701
+2008200887,2008200887
+2008200888,2008200888
+2008200889,041704
+2008200890,2007240009
+2008200891,2008200891
+2008200892,041702
+2008200893,2008200893
+2008200894,2008200894
+2008200895,041615
+2008200896,2008200896
+2008200897,041752
+2008200898,041751
+2008200899,2008200899
+2008200900,041379
+2008200901,2008200901
+2008200902,041753
+2008200903,2008200903
+2008200904,041764
+2008200905,2008200905
+2008200906,041686
+2008200907,041631
+2008200908,041602
+2008200909,2008200909
+2008200910,2008200910
+2008200911,040021
+2008200912,041716
+2008200913,041670
+2008200914,2008200914
+2008200915,041755
+2008200916,2008200916
+2008200917,041380
+2008200918,041773
+2008200919,041766
+2008200920,041678
+2008200921,2008200921
+2008200922,2008200922
+2008200923,041596
+2008200924,2008200924
+2008200925,2008200925
+2008200926,040954
+2008200927,041685
+2008200928,041604
+2008200929,2008200929
+2008200930,2008200930
+2008200931,041681
+2008200932,041630
+2008200933,040816
+2008200934,2008200934
+2008200935,040014
+2008200936,041610
+2008200937,2008200937
+2008200938,2008200938
+2008200939,040099
+2008200940,041634
+2008200941,2008200941
+2008200942,2008200942
+2008200943,2008200943
+2008200944,041605
+2008200945,041611
+2008200946,2008200946
+2008200947,041721
+2008200948,2008200948
+2008200949,2008200949
+2008200950,2008200950
+2008200951,2007240005
+2008200952,041683
+2008200953,041386
+2008200954,2008200954
+2008200955,2008200955
+2008200956,2008200956
+2008200957,2008200957
+2008200958,2008200958
+2008200959,2008200959
+2008200960,2008200960
+2008200961,2008200961
+2008200962,2008200962
+2008200963,2008200963
+2008200964,2008200964
+2008200965,041777
+2008200966,2008200966
+2008200967,2008200967
+2008200968,2008200968
+2008200969,2008200969
+2008200970,2008200970
+2008200971,041855
+2008200972,2008200972
+2008200973,2008200973
+2008200974,2008200974
+2008200975,2008200975
+2008200976,2008200976
+2008200977,2008200977
+2008200978,2008200978
+2008200979,041896
+2008200980,2008200980
+2008200981,042528
+2008200982,2008200982
+2008200983,2008200983
+2008200984,2008200984
+2008200985,2008200985
+2008200986,041780
+2008200987,041973
+2008200988,041976
+2008200989,041944
+2008200990,041975
+2008200991,2008200991
+2008200992,041991
+2008200993,041888
+2008200994,042182
+2008200995,042124
+2008200996,2008200996
+2008200997,042163
+2008200998,2008200998
+2008200999,2008200999
+2008201000,2008201000
+2008201001,2008201001
+2008201002,2008201002
+2008201003,2008201003
+2008201004,2008201004
+2008201005,2008201005
+2008201006,2008201006
+2008201007,2008201007
+2008201008,2008201008
+2008201009,041800
+2008201010,041812
+2008201011,2008201011
+2008201012,041918
+2008201013,041806
+2008201014,2008201014
+2008201015,041916
+2008201016,041988
+2008201017,042148
+2008201018,042167
+2008201019,2008201019
+2008201020,042090
+2008201021,042107
+2008201022,041851
+2008201023,042105
+2008201024,042014
+2008201025,2008201025
+2008201026,040084
+2008201027,041994
+2008201028,041925
+2008201029,042156
+2008201030,2008201030
+2008201031,041920
+2008201032,041913
+2008201033,2008201033
+2008201034,2008201034
+2008201035,2008201035
+2008201036,2008201036
+2008201037,2008201037
+2008201038,2008201038
+2008201039,2008201039
+2008201040,040818
+2008201041,041878
+2008201042,040123
+2008201043,2008201043
+2008201044,041891
+2008201045,040062
+2008201046,2008201046
+2008201047,041866
+2008201048,2008201048
+2008201049,2008201049
+2008201050,2008201050
+2008201051,042091
+2008201052,042157
+2008201053,041892
+2008201054,2008201054
+2008201055,2008201055
+2008201056,2008201056
+2008201057,2008201057
+2008201058,2008201058
+2008201059,041887
+2008201060,2008201060
+2008201061,2008201061
+2008201062,040095
+2008201063,2008201063
+2008201064,2008201064
+2008201065,041837
+2008201066,2008201066
+2008201067,2008201067
+2008201068,2008201068
+2008201069,040742
+2008201070,2008201070
+2008201071,041961
+2008201072,042175
+2008201073,040006
+2008201074,041843
+2008201075,2008201075
+2008201076,042138
+2008201077,2008201077
+2008201078,042132
+2008201079,2008201079
+2008201080,2008201080
+2008201081,2008201081
+2008201082,2008201082
+2008201083,2008201083
+2008201084,2008201084
+2008201085,042081
+2008201086,2008201086
+2008201087,2008201087
+2008201088,2008201088
+2008201089,2008201089
+2008201090,040144
+2008201091,2008201091
+2008201092,042141
+2008201093,2008201093
+2008201094,2008201094
+2008201095,2008201095
+2008201096,042004
+2008201097,041940
+2008201098,2008201098
+2008201099,2008201099
+2008201100,2008201100
+2008201101,2008201101
+2008201102,2008201102
+2008201103,040087
+2008201104,040074
+2008201105,2008201105
+2008201106,2008201106
+2008201107,041890
+2008201108,041853
+2008201109,2008201109
+2008201110,2008201110
+2008201111,2008201111
+2008201112,2008201112
+2008201113,2008201113
+2008201114,2008201114
+2008201115,041982
+2008201116,041981
+2008201117,2008201117
+2008201118,041903
+2008201119,2008201119
+2008201120,042102
+2008201121,041865
+2008201122,2008201122
+2008201123,042009
+2008201124,042458
+2008201125,041889
+2008201126,2008201126
+2008201127,2008201127
+2008201128,2008201128
+2008201129,2008201129
+2008201130,041825
+2008201131,2008201131
+2008201132,2008201132
+2008201133,041914
+2008201134,2008201134
+2008201135,041870
+2008201136,2008201136
+2008201137,041858
+2008201138,2008201138
+2008201139,2008201139
+2008201140,041833
+2008201141,2008201141
+2008201142,042022
+2008201143,042038
+2008201144,2008201144
+2008201145,042077
+2008201146,042992
+2008201147,042020
+2008201148,2008201148
+2008201149,042078
+2008201150,042039
+2008201151,040135
+2008201152,040142
+2008201153,2008201153
+2008201154,042069
+2008201155,2008201155
+2008201156,042019
+2008201157,2008201157
+2008201158,042068
+2008201159,042044
+2008201160,042059
+2008201161,042021
+2008201162,2008201162
+2008201163,2008201163
+2008201164,2008201164
+2008201165,042054
+2008201166,042031
+2008201167,042050
+2008201168,2008201168
+2008201169,2008201169
+2008201170,041912
+2008201171,2008201171
+2008201172,2008201172
+2008201173,2008201173
+2008201174,2008201174
+2008201175,2008201175
+2008201176,2008201176
+2008201177,042568
+2008201178,042271
+2008201179,2008201179
+2008201180,042559
+2008201181,042196
+2008201182,2008201182
+2008201183,042300
+2008201184,040042
+2008201185,040054
+2008201186,040038
+2008201187,2008201187
+2008201188,2008201188
+2008201189,2008201189
+2008201190,2008201190
+2008201191,042572
+2008201192,042567
+2008201193,042523
+2008201194,2008201194
+2008201195,2008201195
+2008201196,040372
+2008201197,042421
+2008201198,2008201198
+2008201199,042367
+2008201200,042419
+2008201201,2008201201
+2008201202,042440
+2008201203,2008201203
+2008201204,042353
+2008201205,042410
+2008201206,2008201206
+2008201207,042387
+2008201208,042404
+2008201209,042366
+2008201210,042345
+2008201211,042338
+2008201212,2008201212
+2008201213,040093
+2008201214,2008201214
+2008201215,2008201215
+2008201216,042314
+2008201217,2008201217
+2008201218,040114
+2008201219,042328
+2008201220,042428
+2008201221,2008201221
+2008201222,042446
+2008201223,042400
+2008201224,042329
+2008201225,2008201225
+2008201226,040344
+2008201227,042235
+2008201228,2008201228
+2008201229,042368
+2008201230,042351
+2008201231,042391
+2008201232,042417
+2008201233,2008201233
+2008201234,042408
+2008201235,2008201235
+2008201236,042442
+2008201237,2008201237
+2008201238,042331
+2008201239,2008201239
+2008201240,042439
+2008201241,2008201241
+2008201242,2008201242
+2008201243,2008201243
+2008201244,2008201244
+2008201245,042424
+2008201246,042372
+2008201247,2008201247
+2008201248,2008201248
+2008201249,042377
+2008201250,042354
+2008201251,2008201251
+2008201252,042519
+2008201253,2008201253
+2008201254,2008201254
+2008201255,2008201255
+2008201256,2008201256
+2008201257,2008201257
+2008201258,2008201258
+2008201259,042318
+2008201260,2008201260
+2008201261,2008201261
+2008201262,2008201262
+2008201263,042475
+2008201264,040058
+2008201265,033444
+2008201266,2008201266
+2008201267,2008201267
+2008201268,2008201268
+2008201269,042563
+2008201270,042536
+2008201271,042312
+2008201272,2008201272
+2008201273,040011
+2008201274,042287
+2008201275,042193
+2008201276,042467
+2008201277,042274
+2008201278,042246
+2008201279,042316
+2008201280,2008201280
+2008201281,2008201281
+2008201282,2008201282
+2008201283,042570
+2008201284,2008201284
+2008201285,042451
+2008201286,042217
+2008201287,042244
+2008201288,042270
+2008201289,2008201289
+2008201290,042520
+2008201291,042406
+2008201292,040665
+2008201293,042456
+2008201294,042303
+2008201295,2008201295
+2008201296,041387
+2008201297,2008201297
+2008201298,042278
+2008201299,2008201299
+2008201300,042223
+2008201301,040100
+2008201302,2008201302
+2008201303,040032
+2008201304,040005
+2008201305,040018
+2008201306,040059
+2008201307,042474
+2008201308,042546
+2008201309,040024
+2008201310,2008201310
+2008201311,042251
+2008201312,2008201312
+2008201313,2008201313
+2008201314,2008201314
+2008201315,042309
+2008201316,2008201316
+2008201317,040020
+2008201318,040031
+2008201319,2008201319
+2008201320,040127
+2008201321,040016
+2008201322,040124
+2008201323,2008201323
+2008201324,2008201324
+2008201325,2008201325
+2008201326,042308
+2008201327,042236
+2008201328,042319
+2008201329,042310
+2008201330,2008201330
+2008201331,2008201331
+2008201332,042258
+2008201333,042272
+2008201334,042241
+2008201335,042209
+2008201336,042906
+2008201337,042201
+2008201338,042202
+2008201339,2008201339
+2008201340,040098
+2008201341,2008201341
+2008201342,042479
+2008201343,2008201343
+2008201344,2008201344
+2008201345,042453
+2008201346,042492
+2008201347,2008201347
+2008201348,042267
+2008201349,2008201349
+2008201350,2008201350
+2008201351,042482
+2008201352,2008201352
+2008201353,042301
+2008201354,2008201354
+2008201355,2008201355
+2008201356,042470
+2008201357,2008201357
+2008201358,2008201358
+2008201359,042549
+2008201360,040064
+2008201361,2008201361
+2008201362,040015
+2008201363,2008201363
+2008201364,042477
+2008201365,042253
+2008201366,2008201366
+2008201367,2008201367
+2008201368,042221
+2008201369,040126
+2008201370,042885
+2008201371,2008201371
+2008201372,042227
+2008201373,2008201373
+2008201374,2008201374
+2008201375,042484
+2008201376,042237
+2008201377,041941
+2008201378,2008201378
+2008201379,2008201379
+2008201380,2008201380
+2008201381,2008201381
+2008201382,2008201382
+2008201383,2008201383
+2008201384,042208
+2008201385,2008201385
+2008201386,042494
+2008201387,2008201387
+2008201388,2008201388
+2008201389,2008201389
+2008201390,2008201390
+2008201391,2008201391
+2008201392,2008201392
+2008201393,2008201393
+2008201394,2008201394
+2008201395,042535
+2008201396,2008201396
+2008201397,042505
+2008201398,2008201398
+2008201399,2008201399
+2008201400,2008201400
+2008201401,042508
+2008201402,042521
+2008201403,2008201403
+2008201404,042531
+2008201405,2008201405
+2008201406,042516
+2008201407,041482
+2008201408,042232
+2008201409,2008201409
+2008201410,2007240001
+2008201411,2008201411
+2008201412,2008201412
+2008201413,2008201413
+2008201414,042646
+2008201415,042731
+2008201416,042713
+2008201417,2008201417
+2008201418,043812
+2008201419,042794
+2008201420,2008201420
+2008201421,042808
+2008201422,042662
+2008201423,2008201423
+2008201424,2008201424
+2008201425,2008201425
+2008201426,042648
+2008201427,042691
+2008201428,2008201428
+2008201429,042831
+2008201430,042820
+2008201431,042637
+2008201432,042777
+2008201433,042738
+2008201434,2008201434
+2008201435,043705
+2008201436,2008201436
+2008201437,043884
+2008201438,2008201438
+2008201439,042685
+2008201440,2008201440
+2008201441,043684
+2008201442,042630
+2008201443,2008201443
+2008201444,043770
+2008201445,2008201445
+2008201446,043678
+2008201447,043717
+2008201448,042697
+2008201449,2008201449
+2008201450,2008201450
+2008201451,2008201451
+2008201452,042669
+2008201453,042671
+2008201454,2008201454
+2008201455,042960
+2008201456,2008201456
+2008201457,043816
+2008201458,042628
+2008201459,040076
+2008201460,043651
+2008201461,042698
+2008201462,042755
+2008201463,042668
+2008201464,2008201464
+2008201465,2008201465
+2008201466,2008201466
+2008201467,042945
+2008201468,043778
+2008201469,042638
+2008201470,042665
+2008201471,040447
+2008201472,2008201472
+2008201473,2008201473
+2008201474,042742
+2008201475,042600
+2008201476,043755
+2008201477,2008201477
+2008201478,042661
+2008201479,2008201479
+2008201480,043891
+2008201481,2008201481
+2008201482,2008201482
+2008201483,2008201483
+2008201484,2008201484
+2008201485,2008201485
+2008201486,042710
+2008201487,042736
+2008201488,2008201488
+2008201489,2008201489
+2008201490,2008201490
+2008201491,2008201491
+2008201492,2008201492
+2008201493,2008201493
+2008201494,2008201494
+2008201495,042687
+2008201496,042786
+2008201497,042810
+2008201498,2008201498
+2008201499,2008201499
+2008201500,042674
+2008201501,042635
+2008201502,042667
+2008201503,042762
+2008201504,042663
+2008201505,042795
+2008201506,043701
+2008201507,2008201507
+2008201508,2008201508
+2008201509,043748
+2008201510,043775
+2008201511,042683
+2008201512,042655
+2008201513,042608
+2008201514,2008201514
+2008201515,042711
+2008201516,042832
+2008201517,2008201517
+2008201518,2008201518
+2008201519,042619
+2008201520,2008201520
+2008201521,040117
+2008201522,040039
+2008201523,040028
+2008201524,2008201524
+2008201525,2008201525
+2008201526,042785
+2008201527,042761
+2008201528,2008201528
+2008201529,2008201529
+2008201530,2008201530
+2008201531,042650
+2008201532,2008201532
+2008201533,043821
+2008201534,040137
+2008201535,043799
+2008201536,043892
+2008201537,2008201537
+2008201538,042825
+2008201539,042828
+2008201540,2008201540
+2008201541,2008201541
+2008201542,2008201542
+2008201543,040125
+2008201544,2008201544
+2008201545,042719
+2008201546,2008201546
+2008201547,2008201547
+2008201548,042816
+2008201549,042817
+2008201550,042499
+2008201551,2008201551
+2008201552,043785
+2008201553,042916
+2008201554,2008201554
+2008201555,042834
+2008201556,2008201556
+2008201557,2008201557
+2008201558,2008201558
+2008201559,2008201559
+2008201560,042892
+2008201561,042844
+2008201562,2008201562
+2008201563,2008201563
+2008201564,2008201564
+2008201565,042943
+2008201566,042870
+2008201567,042942
+2008201568,2008201568
+2008201569,042859
+2008201570,042887
+2008201571,2006020107
+2008201572,042937
+2008201573,042959
+2008201574,042914
+2008201575,042919
+2008201576,2008201576
+2008201577,2008201577
+2008201578,2008201578
+2008201579,2008201579
+2008201580,2008201580
+2008201581,2008201581
+2008201582,042912
+2008201583,042858
+2008201584,042837
+2008201585,042931
+2008201586,2008201586
+2008201587,2008201587
+2008201588,042911
+2008201589,042847
+2008201590,2008201590
+2008201591,2008201591
+2008201592,042851
+2008201593,2008201593
+2008201594,042862
+2008201595,042836
+2008201596,042852
+2008201597,2008201597
+2008201598,042902
+2008201599,2008201599
+2008201600,2008201600
+2008201601,042888
+2008201602,2008201602
+2008201603,2008201603
+2008201604,042917
+2008201605,043040
+2008201606,043068
+2008201607,043073
+2008201608,2008201608
+2008201609,2008201609
+2008201610,2008201610
+2008201611,042979
+2008201612,2008201612
+2008201613,2008201613
+2008201614,042968
+2008201615,2008201615
+2008201616,2008201616
+2008201617,2008201617
+2008201618,2008201618
+2008201619,2008201619
+2008201620,043099
+2008201621,043084
+2008201622,043094
+2008201623,2008201623
+2008201624,2008201624
+2008201625,043176
+2008201626,043169
+2008201627,2008201627
+2008201628,043161
+2008201629,2008201629
+2008201630,2008201630
+2008201631,043139
+2008201632,043110
+2008201633,043127
+2008201634,2008201634
+2008201635,2008201635
+2008201636,2008201636
+2008201637,2008201637
+2008201638,2008201638
+2008201639,2008201639
+2008201640,2008201640
+2008201641,043117
+2008201642,2008201642
+2008201643,2008201643
+2008201644,2008201644
+2008201645,042944
+2008201646,2008201646
+2008201647,043048
+2008201648,043090
+2008201649,042977
+2008201650,042993
+2008201651,043088
+2008201652,2007240006
+2008201653,2008201653
+2008201654,043086
+2008201655,043051
+2008201656,043093
+2008201657,043067
+2008201658,043023
+2008201659,2008201659
+2008201660,2008201660
+2008201661,2008201661
+2008201662,2008201662
+2008201663,2008201663
+2008201664,2008201664
+2008201665,2008201665
+2008201666,2008201666
+2008201667,043008
+2008201668,043075
+2008201669,043014
+2008201670,2008201670
+2008201671,043021
+2008201672,043003
+2008201673,043123
+2008201674,043142
+2008201675,043165
+2008201676,2008201676
+2008201677,043154
+2008201678,2008201678
+2008201679,043150
+2008201680,043157
+2008201681,2008201681
+2008201682,2008201682
+2008201683,043137
+2008201684,2008201684
+2008201685,043126
+2008201686,043177
+2008201687,043103
+2008201688,2008201688
+2008201689,043106
+2008201690,2008201690
+2008201691,2008201691
+2008201692,2008201692
+2008201693,2008201693
+2008201694,2008201694
+2008201695,2008201695
+2008201696,2008201696
+2008201697,043125
+2008201698,2008201698
+2008201699,2008201699
+2008201700,2008201700
+2008201701,2008201701
+2008201702,043118
+2008201703,2008201703
+2008201704,2008201704
+2008201705,2008201705
+2008201706,2008201706
+2008201707,2008201707
+2008201708,2008201708
+2008201709,043104
+2008201710,2008201710
+2008201711,2008201711
+2008201712,2008201712
+2008201713,2008201713
+2008201714,2008201714
+2008201715,043168
+2008201716,2008201716
+2008201717,2008201717
+2008201718,2006020108
+2008201719,2008201719
+2008201720,043196
+2008201721,2008201721
+2008201722,043255
+2008201723,043228
+2008201724,2008201724
+2008201725,043247
+2008201726,2008201726
+2008201727,2008201727
+2008201728,043244
+2008201729,2008201729
+2008201730,2008201730
+2008201731,2008201731
+2008201732,2008201732
+2008201733,2008201733
+2008201734,2008201734
+2008201735,043226
+2008201736,2008201736
+2008201737,2008201737
+2008201738,2008201738
+2008201739,2008201739
+2008201740,2008201740
+2008201741,043198
+2008201742,2008201742
+2008201743,2008201743
+2008201744,2008201744
+2008201745,2008201745
+2008201746,2008201746
+2008201747,2008201747
+2008201748,2008201748
+2008201749,2008201749
+2008201750,2006020106
+2008201751,2008201751
+2008201752,2008201752
+2008201753,043272
+2008201754,2008201754
+2008201755,043203
+2008201756,2008201756
+2008201757,2008201757
+2008201758,2008201758
+2008201759,2008201759
+2008201760,042842
+2008201761,2008201761
+2008201762,2008201762
+2008201763,043249
+2008201764,2008201764
+2008201765,2008201765
+2008201766,043291
+2008201767,2008201767
+2008201768,2008201768
+2008201769,2008201769
+2008201770,2008201770
+2008201771,2008201771
+2008201772,2008201772
+2008201773,2008201773
+2008201774,2008201774
+2008201775,2007201593
+2008201776,2008201776
+2008201777,2008201777
+2008201778,2008201778
+2008201779,2008201779
+2008201780,2008201780
+2008201781,2008201781
+2008201782,2008201782
+2008201783,2008201783
+2008201784,2008201784
+2008201785,2008201785
+2008201786,2008201786
+2008201787,2008201787
+2008201788,2008201788
+2008201789,2008201789
+2008201790,2008201790
+2008201791,2008201791
+2008201792,2008201792
+2008201793,2008201793
+2008201794,2008201794
+2008201795,2008201795
+2008201796,2008201796
+2008201797,2008201797
+2008201798,2008201798
+2008201799,2008201799
+2008201800,2008201800
+2008201801,2008201801
+2008201802,2008201802
+2008201803,2008201803
+2008201804,2008201804
+2008201805,2008201805
+2008201806,2008201806
+2008201807,2008201807
+2008201808,2008201808
+2008201809,2008201809
+2008201810,2008201810
+2008201811,2008201811
+2008201812,2008201812
+2008201813,2008201813
+2008201814,2008201814
+2008201815,2008201815
+2008201816,2008201816
+2008201817,2008201817
+2008201818,2008201818
+2008201819,2008201819
+2008201820,2008201820
+2008201821,2008201821
+2008201822,2008201822
+2008201823,2008201823
+2008201824,2008201824
+2008201825,2008201825
+2008201826,2008201826
+2008201827,2008201827
+2008201828,2008201828
+2008201829,2008201829
+2008201830,2008201830
+2008201831,2008201831
+2008201832,2008201832
+2008201833,2008201833
+2008201834,2008201834
+2008201835,2008201835
+2008201836,2008201836
+2008201837,2008201837
+2008201838,2008201838
+2008201839,2008201839
+2008201840,2008201840
+2008201841,2008201841
+2008201842,2008201842
+2008201843,2008201843
+2008201844,2008201844
+2008201845,2008201845
+2008201846,2008201846
+2008201847,2008201847
+2008201848,2008201848
+2008201849,2008201849
+2008201850,2008201850
+2008201851,2008201851
+2008201852,2008201852
+2008201853,2008201853
+2008201854,2008201854
+2008201855,2008201855
+2008201856,2008201856
+2008201857,2008201857
+2008201858,2008201858
+2008201859,2008201859
+2008201860,2008201860
+2008201861,2008201861
+2008201862,2007210468
+2008201863,2008201863
+2008201864,2008201864
+2008201865,2008201865
+2008201866,2008201866
+2008201867,2008201867
+2008201868,2008201868
+2008201869,2008201869
+2008201870,2008201870
+2008201871,2008201871
+2008201872,2008201872
+2008201873,2008201873
+2008201874,2008201874
+2008201875,2008201875
+2008201876,2008201876
+2008201877,2008201877
+2008201878,2008201878
+2008201879,2008201879
+2008201880,2008201880
+2008201881,2008201881
+2008201882,2008201882
+2008201883,2008201883
+2008201884,2008201884
+2008201885,2008201885
+2008201886,2008201886
+2008201887,2008201887
+2008201888,2008201888
+2008201889,2008201889
+2008201890,2008201890
+2008201891,2008201891
+2008201892,2008201892
+2008201893,2008201893
+2008201894,2008201894
+2008201895,2008201895
+2008201896,2008201896
+2008201897,2008201897
+2008201898,2008201898
+2008201899,043394
+2008201900,2008201900
+2008201901,043369
+2008201902,2008201902
+2008201903,043392
+2008201904,2008201904
+2008201905,043366
+2008201906,2008201906
+2008201907,043379
+2008201908,2008201908
+2008201909,2008201909
+2008201910,043416
+2008201911,2008201911
+2008201912,043402
+2008201913,2008201913
+2008201914,2003020080
+2008201915,043584
+2008201916,043582
+2008201917,043580
+2008201918,2008201918
+2008201919,043581
+2008201920,2008201920
+2008201921,043579
+2008201922,2008201922
+2008201923,2008201923
+2008201924,2008201924
+2008201925,2008201925
+2008201926,2008201926
+2008201927,043571
+2008201928,2008201928
+2008201929,043574
+2008201930,2008201930
+2008201931,043576
+2008201932,2008201932
+2008201933,2008201933
+2008201934,043573
+2008201935,2008201935
+2008201936,2008201936
+2008201937,2008201937
+2008201938,2008201938
+2008201939,2008201939
+2008201940,043421
+2008201941,043419
+2008201942,2008201942
+2008201943,2008201943
+2008201944,2008201944
+2008201945,043305
+2008201946,2008201946
+2008201947,2008201947
+2008201948,2008201948
+2008201949,043299
+2008201950,2008201950
+2008201951,043298
+2008201952,2008201952
+2008201953,2008201953
+2008201954,043326
+2008201955,043331
+2008201956,2008201956
+2008201957,2008201957
+2008201958,2008201958
+2008201959,2008201959
+2008201960,2008201960
+2008201961,043616
+2008201962,2008201962
+2008201963,2008201963
+2008201964,2007201793
+2008201965,2008201965
+2008201966,2008201966
+2008201967,2008201967
+2008201968,2008201968
+2008201969,2008201969
+2008201970,2008201970
+2008201971,2008201971
+2008201972,2008201972
+2008201973,2008201973
+2008201974,2008201974
+2008201975,2008201975
+2008201976,2008201976
+2008201977,2008201977
+2008201978,2008201978
+2008201979,2008201979
+2008201980,043808
+2008201981,2008201981
+2008201982,2008201982
+2008201983,2008201983
+2008201984,2008201984
+2008201985,2008201985
+2008201986,2008201986
+2008201987,043672
+2008201988,2008201988
+2008201989,2008201989
+2008201990,2008201990
+2008201991,2008201991
+2008201992,2008201992
+2008201993,2008201993
+2008201994,2008201994
+2008201995,2008201995
+2008201996,2008201996
+2008201997,2008201997
+2008201998,2008201998
+2008201999,2008201999
+2008202000,2008202000
+2008202001,2008202001
+2008202002,2008202002
+2008202003,2005020102
+2008202004,032910
+2008202005,2008202005
+2008202006,2008202006
+2008202007,043878
+2008202008,2008202008
+2008202009,042342
+2008202010,2008202010
+2008202011,2008202011
+2008202012,2008202012
+2008202013,2008202013
+2008202014,2008202014
+2008202015,2008202015
+2008202016,2008202016
+2008202017,2008202017
+2008202018,043840
+2008202019,043781
+2008202020,2007210021
+2008202021,043829
+2008202022,2008202022
+2008202023,2008202023
+2008202024,043746
+2008202025,2008202025
+2008202026,2008202026
+2008202027,2008202027
+2008202028,043794
+2008202029,2008202029
+2008202030,2008202030
+2008202031,2008202031
+2008202032,2008202032
+2008202033,2008202033
+2008202034,2008202034
+2008202035,2008202035
+2008202036,2008202036
+2008202037,2008202037
+2008202038,2008202038
+2008202039,2008202039
+2008202040,2008202040
+2008202041,2008202041
+2008202042,2008202042
+2008202043,2008202043
+2008202044,043677
+2008202045,2008202045
+2008202046,2008202046
+2008202047,2008202047
+2008202048,2008202048
+2008202049,2008202049
+2008202050,2008202050
+2008202051,2008202051
+2008202052,2008202052
+2008202053,2008202053
+2008202054,040886
+2008202055,041373
+2008202056,040871
+2008202057,2008202057
+2008202058,2008202058
+2008202059,2008202059
+2008202060,2008202060
+2008202061,2008202061
+2008202062,2008202062
+2008202063,2008202063
+2008202064,2008202064
+2008202065,2008202065
+2008202066,2008202066
+2008202067,2008202067
+2008202068,043152
+2008210001,2008210001
+2008210002,2008210002
+2008210003,2008210003
+2008210004,2007270069
+2008210005,2007270066
+2008210006,2007270068
+2008210007,2007240030
+2008210008,2007240027
+2008210009,2008210009
+2008210010,2007270065
+2008210011,2007270064
+2008210012,2008210012
+2008210013,2008210013
+2008210014,2008210014
+2008210015,2008210015
+2008210016,2008210016
+2008210017,2008210017
+2008210018,2008210018
+2008210019,2008210019
+2008210020,2008210020
+2008210021,2008210021
+2008210022,2008210022
+2008210023,2008210023
+2008210024,2008210024
+2008210025,2008210025
+2008210026,2008210026
+2008210027,2008210027
+2008210028,2008210028
+2008210029,2008210029
+2008210030,2008210030
+2008210031,2008210031
+2008210032,2008210032
+2008210033,2008210033
+2008210034,2008210034
+2008210035,2008210035
+2008210036,2008210036
+2008210037,2008210037
+2008210038,2008210038
+2008210039,2008210039
+2008210040,2008210040
+2008210041,2008210041
+2008210042,2008210042
+2008210043,2008210043
+2008210044,2008210044
+2008210045,2008210045
+2008210046,2008210046
+2008210047,2008210047
+2008210048,2008210048
+2008210049,2008210049
+2008210050,2008210050
+2008210051,2008210051
+2008210052,2008210052
+2008210053,2004020100
+2008210054,2008210054
+2008210055,2008210055
+2008210056,2008210056
+2008210057,2008210057
+2008210058,2008210058
+2008210059,2008210059
+2008210060,2008210060
+2008210061,2008210061
+2008210062,2008210062
+2008210063,2008210063
+2008210064,2008210064
+2008210065,2008210065
+2008210066,2008210066
+2008210067,2008210067
+2008210068,2008210068
+2008210069,2008210069
+2008210070,2008210070
+2008210071,2008210071
+2008210072,2008210072
+2008210073,2008210073
+2008210074,2008210074
+2008210075,2007240019
+2008210076,2007240023
+2008210077,2008210077
+2008210078,2007210191
+2008210079,2007210190
+2008210080,2007270024
+2008210082,2007270072
+2008210084,2007210204
+2008210085,2007210195
+2008210086,2007210205
+2008210087,2007270010
+2008210088,2007270019
+2008210089,2007270025
+2008210090,2008210090
+2008210091,2008210091
+2008210092,2007270052
+2008210093,2008210093
+2008210094,2008210094
+2008210095,2008210095
+2008210096,2008210096
+2008210097,2008210097
+2008210098,2008210098
+2008210099,2008210099
+2008210100,2008210100
+2008210101,2008210101
+2008210102,2008210102
+2008210103,2008210103
+2008210104,2008210104
+2008210105,2008210105
+2008210106,2008210106
+2008210107,2008210107
+2008210108,2008210108
+2008210109,2008210109
+2008210110,2008210110
+2008210111,2008210111
+2008210112,2008210112
+2008210113,2008210113
+2008210114,2008210114
+2008210115,2008210115
+2008210116,2008210116
+2008210117,2008210117
+2008210118,2008210118
+2008210119,2008210119
+2008210120,2008210120
+2008210121,2008210121
+2008210122,2007270077
+2008210123,2008210123
+2008210124,2008210124
+2008210125,066068009
+2008210126,2007270079
+2008210127,2008210127
+2008210128,2008210128
+2008210129,2008210129
+2008210130,2007270080
+2008210131,2007270081
+2008210132,2007270083
+2008210133,2008210133
+2008210134,2008210134
+2008210135,2008210135
+2008210136,2008210136
+2008210137,2008210137
+2008210138,2008210138
+2008210139,1996000038
+2008210140,2008210140
+2008210141,2008210141
+2008210142,2008210142
+2008210143,2008210143
+2008210144,2008210144
+2008210145,2008210145
+2008210146,2008210146
+2008210147,2008210147
+2008210148,2008210148
+2008210149,2008210149
+2008210150,2008210150
+2008210151,2008210151
+2008210152,2008210152
+2008210153,2008210153
+2008210154,2008210154
+2008210155,2008210155
+2008210156,2008210156
+2008210157,2008210157
+2008210158,2008210158
+2008210159,2008210159
+2008210160,2008210160
+2008210161,2008210161
+2008210162,2008210162
+2008210163,2008210163
+2008210164,2008210164
+2008210165,2008210165
+2008210166,2008210166
+2008210167,2008210167
+2008210168,2008210168
+2008210169,2008210169
+2008210170,2008210170
+2008210171,2008210171
+2008210172,2008210172
+2008210173,2008210173
+2008210174,2008210174
+2008210175,2008210175
+2008210176,2007270030
+2008210177,2008210177
+2008210178,2008210178
+2008210179,2008210179
+2008210180,2007270002
+2008210181,2007270003
+2008210182,2008210182
+2008210183,2008210183
+2008210184,2007270041
+2008210185,2008210185
+2008210186,2008210186
+2008210187,2007270036
+2008210188,2008210188
+2008210189,2008210189
+2008210190,2007270005
+2008210191,2008210191
+2008210192,2008210192
+2008210193,2008210193
+2008210194,2008210194
+2008210196,2008210196
+2008210197,2008210197
+2008210198,2008210198
+2008210199,2008210199
+2008210200,2008210200
+2008210201,2008210201
+2008210202,2008210202
+2008210203,2008210203
+2008210204,2008210204
+2008210205,2008210205
+2008210206,2008210206
+2008210207,2008210207
+2008210208,2008210208
+2008210209,2008210209
+2008210210,2008210210
+2008210211,2008210211
+2008210212,2008210212
+2008210213,2008210213
+2008210214,2008210214
+2008210215,2008210215
+2008210216,2008210216
+2008210217,2008210217
+2008210218,2008210218
+2008210219,2008210219
+2008210220,2008210220
+2008210221,2008210221
+2008210222,2008210222
+2008210223,2008210223
+2008210224,2008210224
+2008210225,2007270062
+2008210226,2008210226
+2008210227,2008210227
+2008210228,2008210228
+2008210229,2008210229
+2008210230,2007270050
+2008210231,2008210231
+2008210232,2008210232
+2008210233,2008210233
+2008210234,2008210234
+2008210235,2008210235
+2008210236,2008210236
+2008210237,2008210237
+2008210238,2008210238
+2008210239,2008210239
+2008210240,2008210240
+2008210241,2008210241
+2008210242,2008210242
+2008210243,2008210243
+2008210244,2008210244
+2008210245,2008210245
+2008210246,2008210246
+2008210247,2008210247
+2008210248,2008210248
+2008210249,2008210249
+2008210250,2008210250
+2008210251,2008210251
+2008210252,2008210252
+2008210253,2008210253
+2008210254,2008210254
+2008210255,2008210255
+2008210256,2008210256
+2008210257,2008210257
+2008210258,2008210258
+2008210259,2008210259
+2008210260,2008210260
+2008210261,2008210261
+2008210262,2008210262
+2008210263,2008210263
+2008210264,2008210264
+2008210265,2008210265
+2008210266,2008210266
+2008210267,2008210267
+2008210268,2008210268
+2008210269,2008210269
+2008210270,2008210270
+2008210271,2008210271
+2008210272,2008210272
+2008210273,2008210273
+2008210274,2008210274
+2008210275,2008210275
+2008210276,2008210276
+2008210277,2007270058
+2008210278,2008210278
+2008210279,2008210279
+2008210280,2008210280
+2008210281,2008210281
+2008210282,2008210282
+2008210283,2008210283
+2008210284,2008210284
+2008210286,2008210286
+2008210287,2008210287
+2008210288,2008210288
+2008210289,2008210289
+2008210290,2008210290
+2008210291,2008210291
+2008210292,2008210292
+2008210293,2008210293
+2008210294,2008210294
+2008210295,2008210295
+2008210296,2008210296
+2008210297,2008210297
+2008210298,2008210298
+2008210299,2008210299
+2008210300,2008210300
+2008210301,2008210301
+2008210302,2008210302
+2008210303,2008210303
+2008210304,2008210304
+2008210305,1985000038
+2008210306,2008210306
+2008210307,2008210307
+2008210308,2008210308
+2008210309,2008210309
+2008210310,2006020083
+2008210311,2008210311
+2008210312,2008210312
+2008210313,2008210313
+2008210314,2008210314
+2008210315,2008210315
+2008210316,2008210316
+2008210317,2008210317
+2008210318,2008210318
+2008210319,2008210319
+2008210320,2008210320
+2008210321,2008210321
+2008210322,2007270057
+2008210323,2008210323
+2008210324,2008210324
+2008210325,2008210325
+2008210326,2008210326
+2008210327,2008210327
+2008210328,2008210328
+2008210329,2008210329
+2008210330,2008210330
+2008210331,2008210331
+2008210332,2008210332
+2008210333,2008210333
+2008210334,066128077
+2008210335,2008210335
+2008210336,2008210336
+2008210337,2008210337
+2008210338,2008210338
+2008210339,2008210339
+2008210340,2008210340
+2008210341,2008210341
+2008210342,2008210342
+2008210343,2008210343
+2008210344,2008210344
+2008210345,2008210345
+2008210346,2008210346
+2008210347,2008210347
+2008210348,2008210348
+2008210349,2008210349
+2008210350,2008210350
+2008210351,2008210351
+2008210352,2008210352
+2008210353,2008210353
+2008210354,2008210354
+2008210355,2008210355
+2008210356,2008210356
+2008210357,2008210357
+2008210358,2008210358
+2008210359,2008210359
+2008210360,2008210360
+2008210361,2008210361
+2008210362,2008210362
+2008210363,2008210363
+2008210364,2008210364
+2008210365,2008210365
+2008210366,2008210366
+2008210367,2008210367
+2008210368,2008210368
+2008210369,2008210369
+2008210370,2008210370
+2008210371,2008210371
+2008210372,2008210372
+2008210373,2008210373
+2008210374,2008210374
+2008210375,2008210375
+2008210376,2008210376
+2008210377,2008210377
+2008210378,2008210378
+2008210379,2008210379
+2008210380,2008210380
+2008210381,2008210381
+2008210382,2008210382
+2008210383,2008210383
+2008210384,2008210384
+2008210385,2008210385
+2008210386,2008210386
+2008210387,2008210387
+2008210388,2008210388
+2008210389,2008210389
+2008210390,2008210390
+2008210391,2008210391
+2008210392,2008210392
+2008210393,2008210393
+2008210394,2008210394
+2008210395,2008210395
+2008210396,2008210396
+2008210397,2008210397
+2008210398,2008210398
+2008210399,2008210399
+2008210400,2008210400
+2008210401,2008210401
+2008210402,2008210402
+2008210403,2008210403
+2008210404,2008210404
+2008210405,2008210405
+2008210406,2008210406
+2008210407,2008210407
+2008210408,2008210408
+2008210409,2008210409
+2008210410,2008210410
+2008210411,2008210411
+2008210412,2008210412
+2008210413,2008210413
+2008210414,2008210414
+2008210415,2008210415
+2008210416,2008210416
+2008210417,2008210417
+2008210418,2008210418
+2008210419,2008210419
+2008210420,2008210420
+2008210421,2008210421
+2008210422,2008210422
+2008210423,2008210423
+2008210424,2008210424
+2008210425,2008210425
+2008210426,2008210426
+2008210427,2008210427
+2008210428,2008210428
+2008210429,2008210429
+2008210430,2008210430
+2008210431,2008210431
+2008210432,2007270047
+2008210433,2008210433
+2008210434,2007270043
+2008210435,2008210435
+2008210436,2008210436
+2008210437,2007270045
+2008210438,2008210438
+2008210439,2008210439
+2008210440,2008210440
+2008210441,2008210441
+2008210442,2008210442
+2008210443,2008210443
+2008210444,2008210444
+2008210445,2008210445
+2008210446,2008210446
+2008210447,2008210447
+2008210448,2008210448
+2008210449,2008210449
+2008210450,2008210450
+2008210451,2008210451
+2008210452,2008210452
+2008210453,2007270054
+2008210454,2008210454
+2008210455,2008210455
+2008210456,2008210456
+2008210457,2008210457
+2008210458,2008210458
+2008210459,2008210459
+2008210460,2008210460
+2008210461,2008210461
+2008210462,2008210462
+2008210463,2008210463
+2008210464,2008210464
+2008210465,2008210465
+2008210466,2007270046
+2008210467,2008210467
+2008210468,2008210468
+2008210469,2008210469
+2008210470,2008210470
+2008210471,2008210471
+2008210472,2008210472
+2008210473,2008210473
+2008210474,2008210474
+2008210475,2008210475
+2008210476,2008210476
+2008210477,2008210477
+2008210478,2008210478
+2008210479,2008210479
+2008210480,2008210480
+2008210481,2008210481
+2008210482,2008210482
+2008210483,2008210483
+2008210484,2008210484
+2008210485,2008210485
+2008210486,2008210486
+2008210487,2008210487
+2008210488,2008210488
+2008210489,2008210489
+2008210490,2008210490
+2008210491,2008210491
+2008210492,2008210492
+2008210493,2008210493
+2008210494,2008210494
+2008210495,2008210495
+2008210496,2008210496
+2008210497,2008210497
+2008210498,2008210498
+2008210499,2008210499
+2008210500,2008210500
+2008210501,2008210501
+2008210502,2008210502
+2008210503,2008210503
+2008210504,2008210504
+2008210505,2008210505
+2008210506,2008210506
+2008210507,2008210507
+2008210508,2008210508
+2008210509,2008210509
+2008210510,2008210510
+2008210511,2008210511
+2008210512,2008210512
+2008210513,2008210513
+2008210514,2008210514
+2008210515,2008210515
+2008210516,2007010106
+2008210517,2008210517
+2008210518,2008210518
+2008210519,2008210519
+2008210520,2008210520
+2008210521,2008210521
+2008210522,2008210522
+2008210523,2008210523
+2008210524,2008210524
+2008210525,2008210525
+2008210526,2008210526
+2008210527,2008210527
+2008210528,2008210528
+2008210529,2008210529
+2008210530,2008210530
+2008210531,2008210531
+2008210532,2008210532
+2008210533,2008210533
+2008210534,2008210534
+2008210535,2008210535
+2008210536,2008210536
+2008210537,2008210537
+2008210538,2008210538
+2008210539,2008210539
+2008210540,2008210540
+2008210541,2008210541
+2008210542,2008210542
+2008210543,2008210543
+2008210544,2008210544
+2008210545,2008210545
+2008210546,2008210546
+2008210547,2008210547
+2008210548,2008210548
+2008210549,2008210549
+2008210550,2008210550
+2008210551,2008210551
+2008210552,2008210552
+2008210553,2008210553
+2008210554,2008210554
+2008210555,2008210555
+2008210556,2008210556
+2008210557,2008210557
+2008210558,2008210558
+2008210559,2008210559
+2008220001,2008220001
+2008220002,2008220002
+2008240001,041239
+2008240002,2008240002
+2008240003,2008240003
+2008250001,2008250001
+2008250002,2008250002
+2008250003,2008250003
+2008250004,2008250004
+2008250005,2008250005
+2008250006,2008250006
+2008250007,040919
+2008250008,2008250008
+2008250009,040966
+2008250010,2008250010
+2008250011,040552
+2008250012,2008250012
+2008250013,2008250013
+2008250014,2008250014
+2008250015,2008250015
+2008250016,2008250016
+2008250017,2008250017
+2008250018,2008250018
+2008250019,2008250019
+2008250020,2008250020
+2008250021,2008250021
+2008250022,2008250022
+2008250023,2008250023
+2008250024,2008250024
+2008250025,2008250025
+2008250026,2008250026
+2008250027,2008250027
+2008250028,2008250028
+2008250029,2008250029
+2008250030,2008250030
+2008250031,2008250031
+2008250032,2008250032
+2008250033,2008250033
+2008250034,2008250034
+2008250035,2008250035
+2008250036,2008250036
+2008250037,2008250037
+2008250038,2008250038
+2008250039,2008250039
+2008250040,2008250040
+2008250041,2008250041
+2008250042,2008250042
+2008250043,040298
+2008250044,2008250044
+2008250045,2008250045
+2008250046,2008250046
+2008250047,2008250047
+2008250048,040275
+2008250049,2008250049
+2008250050,2008250050
+2008250051,2008250051
+2008250052,2008250052
+2008250053,2008250053
+2008250054,2008250054
+2008250055,2008250055
+2008250056,2008250056
+2008250057,2008250057
+2008250058,2008250058
+2008250059,2008250059
+2008250060,2008250060
+2008250061,2008250061
+2008250062,2008250062
+2008250063,2008250063
+2008250064,2008250064
+2008250065,2008250065
+2008250066,2008250066
+2008250067,2008250067
+2008250068,2008250068
+2008250069,2008250069
+2008250070,2008250070
+2008250071,2008250071
+2008250072,2008250072
+2008250073,2008250073
+2008250074,2008250074
+2008250075,2008250075
+2008250076,2008250076
+2008250077,2008250077
+2008250078,2008250078
+2008250079,2008250079
+2008250080,2008250080
+2008250081,2008250081
+2008250082,042633
+2008250083,2008250083
+2008250084,2008250084
+2008250085,2008250085
+2008250086,2008250086
+2008250087,2008250087
+2008250088,2008250088
+2008250089,2008250089
+2008250090,2008250090
+2008250091,2008250091
+2008250092,2008250092
+2008250093,2008250093
+2008250094,2008250094
+2008250095,041750
+2008250096,2008250096
+2008250097,2008250097
+2008250098,2008250098
+2008250099,040754
+2008250100,2008250100
+2008250101,2008250101
+2008250102,2008250102
+2008250103,2008250103
+2008250104,2008250104
+2008250105,2008250105
+2008250106,2008250106
+2008250107,2008250107
+2008250108,2008250108
+2008250109,2008250109
+2008250110,2008250110
+2008250111,041624
+2008250112,2008250112
+2008250113,2008250113
+2008250114,2008250114
+2008250115,2008250115
+2008250116,2008250116
+2008250117,2008250117
+2008250118,2008250118
+2008250119,2008250119
+2008250120,2008250120
+2008250121,2008250121
+2008250122,2008250122
+2008250123,040482
+2008250124,2008250124
+2008250125,2008250125
+2008250126,2008250126
+2008250127,2008250127
+2008250128,2008250128
+2008250129,042279
+2008250130,2008250130
+2008250131,2008250131
+2008250132,2008250132
+2008250133,2008250133
+2008250134,2008250134
+2008250135,2008250135
+2008250136,2008250136
+2008250137,2008250137
+2008250138,2008250138
+2008250139,2008250139
+2008250140,041688
+2008250141,2008250141
+2008250142,2008250142
+2008250143,2008250143
+2008250144,2008250144
+2008250145,2008250145
+2008250146,2008250146
+2008250147,2008250147
+2008250148,2008250148
+2008250149,2008250149
+2008270001,2008270001
+2008270002,2008270002
+2008270003,2008210476
+2008270004,2008270004
+2008270005,2008270005
+2008270006,2008210491
+2008270007,2008270007
+2008270008,2008270008
+2008270009,2008210460
+2008270010,2008210482
+2008270011,2008210449
+2008270012,2008210479
+2008270013,2008210489
+2008270014,2008270014
+2008270015,2008270015
+2008270016,2008270016
+2008270017,2008270017
+2008270018,2008270018
+2008270019,2008270019
+2008270020,2008270020
+2008270021,2008270021
+2008270022,2008270022
+2008270023,2008270023
+2008270024,2008270024
+2008270025,2008270025
+2008270026,2008270026
+2008270027,2008270027
+2008270028,2008270028
+2008270029,2008270029
+2008270030,2008270030
+2008270031,2008270031
+2008270032,2008270032
+2008270033,2008270033
+2008270034,2008270034
+2008270035,2008270035
+2008270036,2008270036
+2008270037,2008270037
+2008270038,2008270038
+2008270039,2008270039
+2008270040,2008270040
+2008270041,2008270041
+2008270042,2008270042
+2008270043,2008270043
+2008270044,2008270044
+2008270045,2008270045
+2008270046,2008270046
+2008270047,2008270047
+2008270048,2008270048
+2008270049,2008270049
+2008270050,041141
+2008270051,2008270051
+2008270052,2008270052
+2008270053,2008270053
+2008270054,2008270054
+2008270055,2008270055
+2008270056,2008270056
+2008270057,2008270057
+2008270058,2008270058
+2008270059,2008270059
+2008270060,2008270060
+2008270061,2008270061
+2008270062,2008270062
+2008270063,2008270063
+2008270064,2008270064
+2008270065,2008270065
+2008270066,2008270066
+2008270067,2008270067
+2008270068,2008270068
+2008270069,2008270069
+2008270070,2008270070
+2008270071,2008270071
+2008270072,2008270072
+2008270073,2008270073
+2008270074,2008270074
+2008270075,2008270075
+2008270076,2008270076
+2008300001,2008300001
+2008300002,2008300002
+2008300003,2008300003
+2008300004,2008300004
+2008300005,2008300005
+2008300006,2008300006
+2008300007,2008300007
+2008300008,2008300008
+2008300009,2008300009
+2008300010,2008300010
+2008300011,2008300011
+2008300012,2008300012
+2008300013,2008300013
+2008300014,2008300014
+2008300015,2008300015
+2008300016,2008300016
+2008300017,2008300017
+2008300018,2008300018
+2008300019,2008300019
+2008300020,2008300020
+2008300021,2008300021
+2008300022,2008300022
+2008300023,2008300023
+2008300024,2008300024
+2008300025,2008300025
+2008300026,2008300026
+2008300027,2008300027
+2008300028,2008300028
+2008300029,2008300029
+2008300030,2008300030
+2008300031,2008300031
+2008300032,2008300032
+2008300033,2008300033
+2008300034,2008300034
+2008300035,2008300035
+2008300036,2008300036
+2008300037,2008300037
+2008300038,2008300038
+2008300039,2008300039
+2008300040,2008300040
+2008300041,2008300041
+2008300042,2008300042
+2008300043,2008300043
+2008300044,2008300044
+2008300045,2008300045
+2008300046,2008300046
+2008300047,2008300047
+2008300048,2008300048
+2008300049,2008300049
+2008300050,2008300050
+2008300051,2008300051
+2008300052,2008300052
+2008300053,2008300053
+2008300054,2008300054
+2008300055,2008300055
+2008300056,2008300056
+2008300057,2008300057
+2008300058,2008300058
+2008300059,2008300059
+2008300060,2008300060
+2008300061,2008300061
+2008300062,2008300062
+2008300063,2008300063
+2008300064,2008300064
+2008300065,2008300065
+2008300066,2008300066
+2008300067,2008300067
+2008300068,2008300068
+2008300069,2008300069
+2008300070,2008300070
+2008300071,2008300071
+2008300072,2008300072
+2008300073,2008300073
+2008300074,2008300074
+2008300075,2008300075
+2008300076,2008300076
+2008300077,2008300077
+2008300078,2008300078
+2008300079,2008300079
+2008300080,2008300080
+2008300081,2008300081
+2008300082,2008300082
+2008300083,2008300083
+2008300084,2008300084
+2008300085,2008300085
+2008300086,2008300086
+2008300087,2008300087
+2008300088,2008300088
+2008300089,2008300089
+2008300090,2008300090
+2008300091,2008300091
+2008300092,2008300092
+2008300093,2008300093
+2008300094,2008300094
+2008300095,2008300095
+2008300096,2008300096
+2008300097,2008300097
+2008300098,2008300098
+2008300099,2008300099
+2008300100,2008300100
+2008300101,2008300101
+2008300102,2008300102
+2008300103,2008300103
+2008300104,2008300104
+2008300105,2008300105
+2008300106,2008300106
+2008300107,2008300107
+2008300108,2008300108
+2008300109,2008300109
+2008300110,2008300110
+2008300111,2008300111
+2008300112,2008300112
+2008300113,2008300113
+2008300114,2008300114
+2008300115,2008300115
+2008300116,2008300116
+2008300117,2008300117
+2008300118,2008300118
+2008300119,2008300119
+2008300120,2008300120
+2008300121,2008300121
+2008300122,2008300122
+2008300123,2008300123
+2008300124,2008300124
+2008300125,2008300125
+2008300126,2008300126
+2008300127,2008300127
+2008300128,2008300128
+2008300129,2008300129
+2008300130,2008300130
+2008300131,2008300131
+2008300132,2008300132
+2008300133,2008300133
+2008300134,2008300134
+2008300135,2008300135
+2008300136,2008300136
+2008300137,2008300137
+2008300138,2008300138
+2008300139,2008300139
+2008300140,2008300140
+2008300141,2008300141
+2008300142,2008300142
+2008300143,2008300143
+2008300144,2008300144
+2008300145,2008300145
+2008300146,2008300146
+2008300147,2008300147
+2008300148,2008300148
+2008300149,2008300149
+2008300150,2008300150
+2008300151,2008300151
+2008300152,2008300152
+2008300153,2008300153
+2008300154,2008300154
+2008300155,2008300155
+2008300156,2008300156
+2008300157,2008300157
+2008300158,2008300158
+2008300159,2008300159
+2008300160,2008300160
+2008300161,2008300161
+2008300162,2008300162
+2008300163,2008300163
+2008300164,2008300164
+2008300165,2008300165
+2008300166,2008300166
+2008300167,2008300167
+2008300168,2008300168
+2008300169,2008300169
+2008300170,2008300170
+2008300171,2008300171
+2008300172,2008300172
+2008300173,2008300173
+2008300174,2008300174
+2008300175,2008300175
+2008300176,2008300176
+2008300177,2008300177
+2008300178,2008300178
+2008300179,2008300179
+2008300180,2008300180
+2008300181,2008300181
+2008300182,2008300182
+2008300183,2008300183
+2008300184,2008300184
+2008300185,2008300185
+2008300186,2008300186
+2008300187,2008300187
+2008300188,2008300188
+2008300189,2008300189
+2008300190,2008300190
+2008300191,2008300191
+2008300192,2008300192
+2008300193,2008300193
+2008300194,2008300194
+2008300195,2008300195
+2008300196,2008300196
+2008300197,2008300197
+2008300198,2008300198
+2008300199,2008300199
+2008300200,2008300200
+2008300201,2008300201
+2008300202,2008300202
+2008300203,2008300203
+2008300204,2008300204
+2008300205,2008300205
+2008300206,2008300206
+2008300207,2008300207
+2008300208,2008300208
+2008300209,2008300209
+2008300210,2008300210
+2008300211,2008300211
+2008300212,2008300212
+2008300213,2008300213
+2008300214,2008300214
+2008300215,2008300215
+2008300216,2008300216
+2008300217,2008300217
+2008300218,2008300218
+2008300219,2008300219
+2008300220,2008300220
+2008300221,2008300221
+2008300222,2008300222
+2008300223,2008300223
+2008300224,2008300224
+2008300225,2008300225
+2008300226,2008300226
+2008300227,2008300227
+2008300228,2008300228
+2008300229,2008300229
+2008300230,2008300230
+2008300231,2008300231
+2008300232,2008300232
+2008300233,2008300233
+2008300234,2008300234
+2008300235,2008300235
+2008300236,2008300236
+2008300237,2008300237
+2008300238,2008300238
+2008300239,2008300239
+2008300240,2008300240
+2008300241,2008300241
+2008300242,2008300242
+2008300243,2008300243
+2008300244,2008300244
+2008300245,2008300245
+2008300246,2008300246
+2008300247,2008300247
+2008300248,2008300248
+2008300249,2008300249
+2008300250,2008300250
+2008300251,2008300251
+2008300252,2008300252
+2008300253,2008300253
+2008300254,2008300254
+2008300255,2008300255
+2008300256,2008300256
+2008300257,2008300257
+2008300258,2008300258
+2008300259,2008300259
+2008300260,2008300260
+2008300261,2008300261
+2008300262,2008300262
+2008300263,2008300263
+2008300264,2008300264
+2008300265,2008300265
+2008300266,2008300266
+2008300267,2008300267
+2008300268,2008300268
+2008300269,2008300269
+2008300270,2008300270
+2008300271,2008300271
+2008300272,2008300272
+2008300273,2008300273
+2008300274,2008300274
+2008300275,2008300275
+2008300276,2008300276
+2008300277,2008300277
+2008300278,2008300278
+2008300279,2008300279
+2008300280,2008300280
+2008300281,2008300281
+2008300282,2008300282
+2008300283,2008300283
+2008300284,2008300284
+2008300285,2008300285
+2008300286,2008300286
+2008300287,2008300287
+2008300288,2008300288
+2008300289,2008300289
+2008300290,2008300290
+2008300291,2008300291
+2008300292,2008300292
+2008300293,2008300293
+2008300294,2008300294
+2008300295,2008300295
+2008300296,2008300296
+2008300297,2008300297
+2008300298,2008300298
+2008300299,2008300299
+2008300300,2008300300
+2008300301,2008300301
+2008300302,2008300302
+2008300303,2008300303
+2008300304,2008300304
+2008300305,2008300305
+2008300306,2008300306
+2008300307,2008300307
+2008300308,2008300308
+2008300309,2008300309
+2008300310,2008300310
+2008300311,2008300311
+2008300312,2008300312
+2008300313,2008300313
+2008300314,2008300314
+2008300315,2008300315
+2008300316,2008300316
+2008300317,2008300317
+2008300318,2008300318
+2008300319,2008300319
+2008300320,2008300320
+2008300321,2008300321
+2008300322,2008300322
+2008300323,2008300323
+2008300324,2008300324
+2008300325,2008300325
+2008300326,2008300326
+2008300327,2008300327
+2008300328,2008300328
+2008300329,2008300329
+2008300330,2008300330
+2008300331,2008300331
+2008300332,2008300332
+2008300333,2008300333
+2008300334,2008300334
+2008300335,2008300335
+2008300336,2008300336
+2008300337,2008300337
+2008300338,2008300338
+2008300339,2008300339
+2008300340,2008300340
+2008300341,2008300341
+2008300342,2008300342
+2008300343,2008300343
+2008300344,2008300344
+2008300345,2008300345
+2008300346,2008300346
+2008300347,2008300347
+2008300348,2008300348
+2008300349,2008300349
+2008300350,2008300350
+2008300351,2008300351
+2008300352,2008300352
+2008300353,2008300353
+2008300354,2008300354
+2008300355,2008300355
+2008300356,2008300356
+2008300357,2008300357
+2008300358,2008300358
+2008300359,2008300359
+2008300360,2008300360
+2008300361,2008300361
+2008300362,2008300362
+2008300363,2008300363
+2008300364,2008300364
+2008300365,2008300365
+2008300366,2008300366
+2008300367,2008300367
+2008300368,2008300368
+2008300369,2008300369
+2008300370,2008300370
+2008300371,2008300371
+2008300372,2008300372
+2008300373,2008300373
+2008300374,2008300374
+2008300375,2008300375
+2008300376,2008300376
+2008300377,2008300377
+2008300378,2008300378
+2008300379,2008300379
+2008300380,2008300380
+2008300381,2008300381
+2008300382,2008300382
+2008300383,2008300383
+2008300384,2008300384
+2008300385,2008300385
+2008300386,2008300386
+2008300387,2008300387
+2008300388,2008300388
+2008300389,2008300389
+2008300390,2008300390
+2008300391,2008300391
+2008300392,2008300392
+2008300393,2008300393
+2008300394,2008300394
+2008300395,2008300395
+2008300396,2008300396
+2008300397,2008300397
+2008300398,2008300398
+2008300399,2008300399
+2008300400,2008300400
+2008300401,2008300401
+2008300402,2008300402
+2008300403,2008300403
+2008300404,2008300404
+2008300405,2008300405
+2008300406,2008300406
+2008300407,2008300407
+2008300408,2008300408
+2008300409,2008300409
+2008300410,2008300410
+2008300411,2008300411
+2008300412,2008300412
+2008300413,2008300413
+2008300414,2008300414
+2008300415,2008300415
+2008300416,2008300416
+2008300417,2008300417
+2008300418,2008300418
+2008300419,2008300419
+2008300420,2008300420
+2008300421,2008300421
+2008300422,2008300422
+2008300423,2008300423
+2008300424,2008300424
+2008300425,2008300425
+2008300426,2008300426
+2008300427,2008300427
+2008300428,2008300428
+2008300429,2008300429
+2008300430,2008300430
+2008300431,2008300431
+2008300432,2008300432
+2008300433,2008300433
+2008300434,2008300434
+2008300435,2008300435
+2008300436,2008300436
+2008300437,2008300437
+2008300438,2008300438
+2008300439,2008300439
+2008300440,2008300440
+2008300441,2008300441
+2008300442,2008300442
+2008300443,2008300443
+2008300444,2008300444
+2008300445,2008300445
+2008300446,2008300446
+2008300447,2008300447
+2008300448,2008300448
+2008300449,2008300449
+2008300450,2008300450
+2008300451,2008300451
+2008300452,2008300452
+2008300453,2008300453
+2008300454,2008300454
+2008300455,2008300455
+2008300456,2008300456
+2008300457,2008300457
+2008300458,2008300458
+2008300459,2008300459
+2008300460,2008300460
+2008300461,2008300461
+2008300462,2008300462
+2008300463,2008300463
+2008300464,2008300464
+2008300465,2008300465
+2008300466,2008300466
+2008300467,2008300467
+2008300468,2008300468
+2008300469,2008300469
+2008300470,2008300470
+2008300471,2008300471
+2008300472,2008300472
+2008300473,2008300473
+2008300474,2008300474
+2008300475,2008300475
+2008300476,2008300476
+2008300477,2008300477
+2008300478,2008300478
+2008300479,2008300479
+2008300480,2008300480
+2008300481,2008300481
+2008300482,2008300482
+2008300483,2008300483
+2008300484,2008300484
+2008300485,2008300485
+2008300486,2008300486
+2008300487,2008300487
+2008300488,2008300488
+2008300489,2008300489
+2008300490,2008300490
+2008300491,2008300491
+2008300492,2008300492
+2008300493,2008300493
+2008300494,2008300494
+2008300495,2008300495
+2008300496,2008300496
+2008300497,2008300497
+2008300498,2008300498
+2008300499,2008300499
+2008300500,2008300500
+2008300501,2008300501
+2008300502,2008300502
+2008300503,2008300503
+2008300504,2008300504
+2008300505,2008300505
+2008300506,2008300506
+2008300507,2008300507
+2008300508,2008300508
+2008300509,2008300509
+2008300510,2008300510
+2008300511,2008300511
+2008300512,2008300512
+2008300513,2008300513
+2008300514,2008300514
+2008300515,2008300515
+2008300516,2008300516
+2008300517,2008300517
+2008300518,2008300518
+2008300519,2008300519
+2008300520,2008300520
+2008300521,2008300521
+2008300522,2008300522
+2008300523,2008300523
+2008300524,2008300524
+2008300525,2008300525
+2008300526,2008300526
+2008300527,2008300527
+2008300528,2008300528
+2008300529,2008300529
+2008300530,2008300530
+2008300531,2008300531
+2008300532,2008300532
+2008300533,2008300533
+2008300534,2008300534
+2008300535,2008300535
+2008300536,2008300536
+2008300537,2008300537
+2008300538,2008300538
+2008300539,2008300539
+2008300540,2008300540
+2008300541,2008300541
+2008300542,2008300542
+2008300543,2008300543
+2008300544,2020100464
+2008300545,2008300545
+2008300546,2008300546
+2008300547,2008300547
+2008300548,2008300548
+2008300549,2008300549
+2008300550,2008300550
+2008300551,2008300551
+2008300552,2008300552
+2008300553,2008300553
+2008300554,2008300554
+2008300555,2008300555
+2008300556,2008300556
+2008300557,2008300557
+2008300558,2008300558
+2008300559,2008300559
+2008300560,2008300560
+2008300561,2008300561
+2008300562,2008300562
+2008300563,2008300563
+2008300564,2008300564
+2008300565,2008300565
+2008300566,2008300566
+2008300567,2008300567
+2008300568,2008300568
+2008300569,2008300569
+2008300570,2008300570
+2008300571,2008300571
+2008300572,2008300572
+2008300573,2008300573
+2008300574,2008300574
+2008300575,2008300575
+2008300576,2008300576
+2008300577,2008300577
+2008300578,2008300578
+2008300579,2008300579
+2008300580,2008300580
+2008300581,2008300581
+2008300582,2008300582
+2008300583,2008300583
+2008300584,2008300584
+2008300585,2008300585
+2008300586,2008300586
+2008300587,2008300587
+2008300588,2008300588
+2008300589,2008300589
+2008300590,2008300590
+2008300591,2008300591
+2008300592,2008300592
+2008300593,2008300593
+2008300594,2008300594
+2008300595,2008300595
+2008300596,2008300596
+2008300597,2008300597
+2008300598,2008300598
+2008300599,2008300599
+2008300600,2008300600
+2008300601,2008300601
+2008300602,2008300602
+2008300603,2008300603
+2008300604,2008300604
+2008300605,2008300605
+2008300606,2008300606
+2008300607,2008300607
+2008300608,2008300608
+2008300609,2008300609
+2008300610,2008300610
+2008300611,2008300611
+2008300612,2008300612
+2008300613,2008300613
+2008300614,2008300614
+2008300615,2008300615
+2008300616,2008300616
+2008300617,2008300617
+2008300618,2008300618
+2008300619,2008300619
+2008300620,2008300620
+2008300621,2008300621
+2008300622,2008300622
+2008300623,2008300623
+2008300624,2008300624
+2008300625,2008300625
+2008300626,2008300626
+2008300627,2008300627
+2008300628,2008300628
+2008300629,2008300629
+2008300630,2008300630
+2008300631,2008300631
+2008300632,2008300632
+2008300633,2008300633
+2008300634,2008300634
+2008300635,2008300635
+2008300636,2008300636
+2008300637,2008300637
+2008300638,2008300638
+2008300639,2008300639
+2008300640,2008300640
+2008300641,2008300641
+2008300642,2008300642
+2008300643,2008300643
+2008300644,2008300644
+2008300645,2008300645
+2008300646,2008300646
+2008300647,2008300647
+2008300648,2008300648
+2008300649,2008300649
+2008300650,2008300650
+2008300651,2008300651
+2008300652,2008300652
+2008300653,2008300653
+2008300654,2008300654
+2008300655,2008300655
+2008300656,2008300656
+2008300657,2008300657
+2008300658,2008300658
+2008300659,2008300659
+2008300660,2008300660
+2008300661,2008300661
+2008300662,2008300662
+2008300663,2008300663
+2008300664,2008300664
+2008300665,2008300665
+2008300666,2008300666
+2008300667,2008300667
+2008300668,2008300668
+2008300669,2008300669
+2008300670,2008300670
+2008300671,2008300671
+2008300672,2008300672
+2008300673,2008300673
+2008300674,2008300674
+2008300675,2008300675
+2008300676,2008300676
+2008300677,2008300677
+2008300678,2008300678
+2008300679,2008300679
+2008300680,2008300680
+2008300681,2008300681
+2008300682,2008300682
+2008300683,2008300683
+2008300684,2008300684
+2008300685,2008300685
+2008300686,2008300686
+2008300687,2008300687
+2008300688,2008300688
+2008300689,2008300689
+2008300690,2008300690
+2008300691,2008300691
+2008300692,2008300692
+2008300693,2008300693
+2008300694,2008300694
+2008300695,2008300695
+2008300696,2008300696
+2008300697,2008300697
+2008300698,2008300698
+2008300699,2008300699
+2008300700,2008300700
+2008300701,2008300701
+2008300702,2008300702
+2008300703,2008300703
+2008300704,2008300704
+2008300705,2008300705
+2008300706,2008300706
+2008300707,2008300707
+2008300708,2008300708
+2008300709,2008300709
+2008300710,2008300710
+2008300711,2008300711
+2008300712,2008300712
+2008300713,2008300713
+2008300714,2008300714
+2008300715,2008300715
+2008300716,2008300716
+2008300717,2008300717
+2008300718,2008300718
+2008300719,2008300719
+2008300720,2008300720
+2008300721,2008300721
+2008300722,2008300722
+2008300723,2008300723
+2008300724,2008300724
+2008300725,2008300725
+2008300726,2008300726
+2008300727,2008300727
+2008300728,2008300728
+2008300729,2008300729
+2008300730,2008300730
+2008300731,2008300731
+2008300732,2008300732
+2008300733,2008300733
+2008300734,2008300734
+2008300735,2008300735
+2008300736,2008300736
+2008300737,2008300737
+2008300738,2008300738
+2008300739,2008300739
+2008300740,2008300740
+2008300741,2008300741
+2008300742,2008300742
+2008300743,2008300743
+2008300744,2008300744
+2008300745,2008300745
+2008300746,2008300746
+2008300747,2008300747
+2008300748,2008300748
+2008300749,2008300749
+2008300750,2008300750
+2008300751,2008300751
+2008300752,2008300752
+2008300753,2008300753
+2008300754,2008300754
+2008300755,2008300755
+2008300756,2008300756
+2008300757,2008300757
+2008300758,2008300758
+2008300759,2008300759
+2008300760,2008300760
+2008300761,2008300761
+2008300762,2008300762
+2008300763,2008300763
+2008300764,2008300764
+2008300765,2008300765
+2008300766,2008300766
+2008300767,2008300767
+2008300768,2008300768
+2008300769,2008300769
+2008300770,2008300770
+2008300771,2008300771
+2008300772,2008300772
+2008300773,2008300773
+2008300774,2008300774
+2008300775,2008300775
+2008300776,2008300776
+2008300777,2008300777
+2008300778,2008300778
+2008300779,2008300779
+2008300780,2008300780
+2008300781,2008300781
+2008300782,2008300782
+2008300783,2008300783
+2008300784,2008300784
+2008300785,2008300785
+2008300786,2008300786
+2008300787,2008300787
+2008300788,2008300788
+2008300789,2008300789
+2008300790,2008300790
+2008300791,2008300791
+2008300792,2008300792
+2008300793,2008300793
+2008300794,2008300794
+2008300795,2008300795
+2008300796,2008300796
+2008300797,2008300797
+2008300798,2008300798
+2008300799,2008300799
+2008300800,2008300800
+2008300801,2008300801
+2008300802,2008300802
+2008300803,2008300803
+2008300804,2008300804
+2008300805,2008300805
+2008300806,2008300806
+2008300807,2008300807
+2008300808,2008300808
+2008300809,2008300809
+2008300810,2008300810
+2008300811,2008300811
+2008300812,2008300812
+2008300813,2008300813
+2008300814,2008300814
+2008300815,2008300815
+2008300816,2008300816
+2008300817,2008300817
+2008300818,2008300818
+2008300819,2008300819
+2008300820,2008300820
+2008300821,2008300821
+2008300822,2008300822
+2008300823,2008300823
+2008300824,2008300824
+2008300825,2008300825
+2008300826,2008300826
+2008300827,2008300827
+2008300828,2008300828
+2008300829,2008300829
+2008300830,2008300830
+2008300831,2008300831
+2008300832,2008300832
+2008300833,2008300833
+2008300834,2008300834
+2008300835,2008300835
+2008300836,2008300836
+2008300837,2008300837
+2008300838,2008300838
+2008300839,2008300839
+2008300840,2008300840
+2008300841,2008300841
+2008300842,2008300842
+2008300843,2008300843
+2008300844,2008300844
+2008300845,2008300845
+2008300846,2008300846
+2008300847,2008300847
+2008300848,2008300848
+2008300849,2008300849
+2008300850,2008300850
+2008300851,2008300851
+2008300852,2008300852
+2008300853,2008300853
+2008300854,2008300854
+2008300855,2008300855
+2008300856,2008300856
+2008300857,2008300857
+2008300858,2008300858
+2008300859,2008300859
+2008300860,2008300860
+2008300861,2008300861
+2008300862,2008300862
+2008300863,2008300863
+2008300864,2008300864
+2008300865,2008300865
+2008300866,2008300866
+2008300867,2008300867
+2008300868,2008300868
+2008300869,2008300869
+2008300870,2008300870
+2008300871,2008300871
+2008300872,2008300872
+2008300873,2008300873
+2008300874,2008300874
+2008300875,2008300875
+2008300876,2008300876
+2008300877,2008300877
+2008300878,2008300878
+2008300879,2008300879
+2008300880,2008300880
+2008300881,2008300881
+2008300882,2008300882
+2008300883,2008300883
+2008300884,2008300884
+2008300885,2008300885
+2008300886,2008300886
+2008300887,2008300887
+2008300888,2008300888
+2008300889,2008300889
+2008300890,2008300890
+2008300891,2008300891
+2008300892,2008300892
+2008300893,2008300893
+2008300894,2008300894
+2008300895,2008300895
+2008300896,2008300896
+2008300897,2008300897
+2008300898,2008300898
+2008300899,2008300899
+2008300900,2008300900
+2008300901,2008300901
+2008300902,2008300902
+2008300903,2008300903
+2008300904,2008300904
+2008300905,2008300905
+2008300906,2008300906
+2008300907,2008300907
+2008300908,2008300908
+2008300909,2008300909
+2008300910,2008300910
+2008300911,2008300911
+2008300912,2008300912
+2008300913,2008300913
+2008300914,2008300914
+2008300915,2008300915
+2008300916,2008300916
+2008300917,2008300917
+2008300918,2008300918
+2008300919,2008300919
+2008300920,2008300920
+2008300921,2008300921
+2008300922,2008300922
+2008300923,2008300923
+2008300924,2008300924
+2008300925,2008300925
+2008300926,2008300926
+2008300927,2008300927
+2008300928,2008300928
+2008300929,2008300929
+2008300930,2008300930
+2008300931,2008300931
+2008300932,2008300932
+2008300933,2008300933
+2008300934,2008300934
+2008300935,2008300935
+2008300936,2008300936
+2008300937,2008300937
+2008300938,2008300938
+2008300939,2008300939
+2008300940,2008300940
+2008300941,2008300941
+2008300942,2008300942
+2008300943,2008300943
+2008300944,2008300944
+2008300945,2008300945
+2008300946,2008300946
+2008300947,2008300947
+2008300948,2008300948
+2008300949,2008300949
+2008300950,2008300950
+2008300951,2008300951
+2008300952,2008300952
+2008300953,2008300953
+2008300954,2008300954
+2008300955,2008300955
+2008300956,2008300956
+2008300957,2008300957
+2008300958,2008300958
+2008300959,2008300959
+2008300960,2008300960
+2008300961,2008300961
+2008300962,2008300962
+2008300963,2008300963
+2008300964,2008300964
+2008300965,2008300965
+2008300966,2008300966
+2008300967,2008300967
+2008300968,2008300968
+2008300969,2008300969
+2008300970,2008300970
+2008300971,2008300971
+2008300972,2008300972
+2008300973,2008300973
+2008300974,2008300974
+2008300975,2008300975
+2008300976,2008300976
+2008300977,2008300977
+2008300978,2008300978
+2008300979,2008300979
+2008300980,2008300980
+2008300981,2008300981
+2008300982,2008300982
+2008300983,2008300983
+2008300984,2008300984
+2008300985,2008300985
+2008300986,2008300986
+2008300987,2008300987
+2008300988,2008300988
+2008300989,2008300989
+2008300990,2008300990
+2008300991,2008300991
+2008300992,2008300992
+2008300993,2008300993
+2008300994,2008300994
+2008300995,2008300995
+2008300996,2008300996
+2008300997,2008300997
+2008300998,2008300998
+2008300999,2008300999
+2008301000,2008301000
+2008301001,2008301001
+2008301002,2008301002
+2008301003,2008301003
+2008301004,2008301004
+2008301005,2008301005
+2008301006,2008301006
+2008301007,2008301007
+2008301008,2008301008
+2008301009,2008301009
+2008301010,2008301010
+2008301011,2008301011
+2008301012,2008301012
+2008301013,2008301013
+2008301014,2008301014
+2008301015,2008301015
+2008301016,2008301016
+2008301017,2008301017
+2008301018,2008301018
+2008301019,2008301019
+2008301020,2008301020
+2008301021,2008301021
+2008301022,2008301022
+2008301023,2008301023
+2008301024,2008301024
+2008301025,2008301025
+2008301026,2008301026
+2008301027,2008301027
+2008301028,2008301028
+2008301029,2008301029
+2008301030,2008301030
+2008301031,2008301031
+2008301032,2008301032
+2008301033,2008301033
+2008301034,2008301034
+2008301035,2008301035
+2008301036,2008301036
+2008301037,2008301037
+2008301038,2008301038
+2008301039,2008301039
+2008301040,2008301040
+2008301041,2008301041
+2008301042,2008301042
+2008301043,2008301043
+2008301044,2008301044
+2008301045,2008301045
+2008301046,2008301046
+2008301047,2008301047
+2008301048,2008301048
+2008301049,2008301049
+2008301050,2008301050
+2008301051,2008301051
+2008301052,2008301052
+2008301053,2008301053
+2008301054,2008301054
+2008301055,2008301055
+2008301056,2008301056
+2008301057,2008301057
+2008301058,2008301058
+2008301059,2008301059
+2008301060,2008301060
+2008301061,2008301061
+2008301062,2008301062
+2008301063,2008301063
+2008301064,2008301064
+2008301065,2008301065
+2008301066,2008301066
+2008301067,2008301067
+2008301068,2008301068
+2008301069,2008301069
+2008301070,2008301070
+2008301071,2008301071
+2008301072,2008301072
+2008301073,2008301073
+2008301074,2008301074
+2008301075,2008301075
+2008301076,2008301076
+2008301077,2008301077
+2008301078,2008301078
+2008301079,2008301079
+2008301080,2008301080
+2008301081,2008301081
+2008301082,2008301082
+2008301083,2008301083
+2008301084,2008301084
+2008301085,2008301085
+2008301086,2008301086
+2008301087,2008301087
+2008301088,2008301088
+2008301089,2008301089
+2008301090,2008301090
+2008301091,2008301091
+2008301092,2008301092
+2008301093,2008301093
+2008301094,2008301094
+2008301095,2008301095
+2008301096,2008301096
+2008301097,2008301097
+2008301098,2008301098
+2008301099,2008301099
+2008301100,2008301100
+2008301101,2008301101
+2008301102,2008301102
+2008301103,2008301103
+2008301104,2008301104
+2008301105,2008301105
+2008301106,2008301106
+2008301107,2008301107
+2008301108,2008301108
+2008301109,2008301109
+2008301110,2008301110
+2008301111,2008301111
+2008301112,2008301112
+2008301113,2008301113
+2008301114,2008301114
+2008301115,2008301115
+2008301116,2008301116
+2008301117,2008301117
+2008301118,2008301118
+2008301119,2008301119
+2008301120,2008301120
+2008301121,2008301121
+2008301122,2008301122
+2008301123,2008301123
+2008301124,2008301124
+2008301125,2008301125
+2008301126,2008301126
+2008301127,2008301127
+2008301128,2008301128
+2008301129,2008301129
+2008301130,2008301130
+2008301131,2008301131
+2008301132,2008301132
+2008301133,2008301133
+2008301134,2008301134
+2008301135,2008301135
+2008301136,2008301136
+2008301137,2008301137
+2008301138,2008301138
+2008301139,2008301139
+2008301140,2008301140
+2008301141,2008301141
+2008301142,2008301142
+2008301143,2008301143
+2008301144,2008301144
+2008301145,2008301145
+2008301146,2008301146
+2008301147,2008301147
+2008301148,2008301148
+2008301149,2008301149
+2008301150,2008301150
+2008301151,2008301151
+2008301152,2008301152
+2008301153,2008301153
+2008301154,2008301154
+2008301155,2008301155
+2008301156,2008301156
+2008301157,2008301157
+2008301158,2008301158
+2008301159,2008301159
+2008301160,2008301160
+2008301161,2008301161
+2008301162,2008301162
+2008301163,2008301163
+2008301164,2008301164
+2008301165,2008301165
+2008301166,2008301166
+2008301167,2008301167
+2008301168,2008301168
+2008301169,2008301169
+2008301170,2008301170
+2008301171,2008301171
+2008301172,2008301172
+2008301173,2008301173
+2008301174,2008301174
+2008301175,2008301175
+2008301176,2008301176
+2008301177,2008301177
+2008301178,2008301178
+2008301179,2008301179
+2008301180,2008301180
+2008301181,2008301181
+2008301182,2008301182
+2008301183,2008301183
+2008301184,2008301184
+2008301185,2008301185
+2008301186,2008301186
+2008301187,2008301187
+2008301188,2008301188
+2008301189,2008301189
+2008301190,2008301190
+2008301191,2008301191
+2008301192,2008301192
+2008301193,2008301193
+2008301194,2008301194
+2008301195,2008301195
+2008301196,2008301196
+2008301197,2008301197
+2008301198,2008301198
+2008301199,2008301199
+2008301200,2008301200
+2008301201,2008301201
+2008301202,2008301202
+2008301203,2008301203
+2008301204,2008301204
+2008301205,2008301205
+2008301206,2008301206
+2008301207,2008301207
+2008301208,2008301208
+2008301209,2008301209
+2008301210,2008301210
+2008301211,2008301211
+2008301212,2008301212
+2008301213,2008301213
+2008301214,2008301214
+2008301215,2008301215
+2008301216,2008301216
+2008301217,2008301217
+2008301218,2008301218
+2008301219,2008301219
+2008301220,2008301220
+2008301221,2008301221
+2008301222,2008301222
+2008301223,2008301223
+2008301224,2008301224
+2008301225,2008301225
+2008301226,2008301226
+2008301227,2008301227
+2008301228,2008301228
+2008301229,2008301229
+2008301230,2008301230
+2008301231,2008301231
+2008301232,2008301232
+2008301233,2008301233
+2008301234,2008301234
+2008301235,2008301235
+2008301236,2008301236
+2008301237,2008301237
+2008301238,2008301238
+2008301239,2008301239
+2008301240,2008301240
+2008301241,2008301241
+2008301242,2008301242
+2008301243,2008301243
+2008301244,2008301244
+2008301245,2008301245
+2008301246,2008301246
+2008301247,2008301247
+2008301248,2008301248
+2008301249,2008301249
+2008301250,2008301250
+2008301251,2008301251
+2008301252,2008301252
+2008301253,2008301253
+2008301254,2008301254
+2008301255,2008301255
+2008301256,2008301256
+2008301257,2008301257
+2008301258,2008301258
+2008301259,2008301259
+2008301260,2008301260
+2008301261,2008301261
+2008301262,2008301262
+2008301263,2008301263
+2008301264,2008301264
+2008301265,2008301265
+2008301266,2008301266
+2008301267,2008301267
+2008301268,2008301268
+2008301269,2008301269
+2008301270,2008301270
+2008301271,2008301271
+2008301272,2008301272
+2008301273,2008301273
+2008301274,2008301274
+2008301275,2008301275
+2008301276,2008301276
+2008301277,2008301277
+2008301278,2008301278
+2008301279,2008301279
+2008301280,2008301280
+2008301281,2008301281
+2008301282,2008301282
+2008301283,2008301283
+2008301284,2008301284
+2008301285,2008301285
+2008301286,2008301286
+2008301287,2008301287
+2008301288,2008301288
+2008301289,2008301289
+2008301290,2008301290
+2008301291,2008301291
+2008301292,2008301292
+2008301293,2008301293
+2008301294,2008301294
+2008301295,2008301295
+2008301296,2008301296
+2008301297,2008301297
+2008301298,2008301298
+2008301299,2008301299
+2008301300,2008301300
+2008301301,2008301301
+2008301302,2008301302
+2008301303,2008301303
+2008301304,2008301304
+2008301305,2008301305
+2008301306,2008301306
+2008301307,2008301307
+2008301308,2008301308
+2008301309,2008301309
+2008301310,2008301310
+2008301311,2008301311
+2008301312,2008301312
+2008301313,2008301313
+2008301314,2008301314
+2008301315,2008301315
+2008301316,2008301316
+2008301317,2008301317
+2008301318,2008301318
+2008301319,2008301319
+2008301320,2008301320
+2008301321,2008301321
+2008301322,2008301322
+2008301323,2008301323
+2008301324,2008301324
+2008301325,2008301325
+2008301326,2008301326
+2008301327,2008301327
+2008301328,2008301328
+2008301329,2008301329
+2008301330,2008301330
+2008301331,2008301331
+2008301332,2008301332
+2008301333,2008301333
+2008301334,2008301334
+2008301335,2008301335
+2008301336,2008301336
+2008301337,2008301337
+2008301338,2008301338
+2008301339,2008301339
+2008301340,2008301340
+2008301341,2008301341
+2008301342,2008301342
+2008301343,2008301343
+2008301344,2008301344
+2008301345,2008301345
+2008301346,2008301346
+2008301347,2008301347
+2008301348,2008301348
+2008301349,2008301349
+2008301350,2008301350
+2008301351,2008301351
+2008301352,2008301352
+2008301353,2008301353
+2008301354,2008301354
+2008301355,2008301355
+2008301356,2008301356
+2008301357,2008301357
+2008301358,2008301358
+2008301359,2008301359
+2008301360,2008301360
+2008301361,2008301361
+2008301362,2008301362
+2008301363,2008301363
+2008301364,2008301364
+2008301365,2008301365
+2008301366,2008301366
+2008301367,2008301367
+2008301368,2008301368
+2008301369,2008301369
+2008301370,2008301370
+2008301371,2008301371
+2008301372,2008301372
+2008301373,2008301373
+2008301374,2008301374
+2008301375,2008301375
+2008301376,2008301376
+2008301377,2008301377
+2008301378,2008301378
+2008301379,2008301379
+2008301380,2008301380
+2008301381,2008301381
+2008301382,2008301382
+2008301383,2008301383
+2008301384,2008301384
+2008301385,2008301385
+2008301386,2008301386
+2008301387,2008301387
+2008301388,2008301388
+2008301389,2008301389
+2008301390,2008301390
+2008301392,2008301392
+2008301393,2008301393
+2008301394,2008301394
+2008301395,2008301395
+2008301396,2008301396
+2008301397,2008301397
+2008301398,2008301398
+2008301399,2008301399
+2008301400,2008301400
+2008301401,2008301401
+2008301402,2008301402
+2008301403,2008301403
+2008301404,2008301404
+2008301405,2008301405
+2008301406,2008301406
+2008301407,2008301407
+2008301408,2008301408
+2008301409,2008301409
+2008301410,2008301410
+2008301411,2008301411
+2008301412,2008301412
+2008301413,2008301413
+2008301414,2008301414
+2008301415,2008301415
+2008301416,2008301416
+2008301417,2008301417
+2008301418,2008301418
+2008301419,2008301419
+2008301420,2008301420
+2008301421,2008301421
+2008301422,2008301422
+2008301423,2008301423
+2008301424,2008301424
+2008301425,2008301425
+2008301426,2008301426
+2008301427,2008301427
+2008301428,2008301428
+2008301429,2008301429
+2008301430,2008301430
+2008301431,2008301431
+2008301432,2008301432
+2008301433,2008301433
+2008301434,2008301434
+2008301435,2008301435
+2008301436,2008301436
+2008301437,2008301437
+2008301438,2008301438
+2008301439,2008301439
+2008301440,2008301440
+2008301441,2008301441
+2008301442,2008301442
+2008301443,2008301443
+2008301444,2008301444
+2008301445,2008301445
+2008301446,2008301446
+2008301447,2008301447
+2008301448,2008301448
+2008301449,2008301449
+2008301450,2008301450
+2008301451,2008301451
+2008301452,2008301452
+2008301453,2008301453
+2008301454,2008301454
+2008301455,2008301455
+2008301456,2008301456
+2008301457,2008301457
+2008301458,2008301458
+2008301459,2008301459
+2008301460,2008301460
+2008301461,2008301461
+2008301462,2008301462
+2008301463,2008301463
+2008301464,2008301464
+2008301465,2008301465
+2008301466,2008301466
+2008301467,2008301467
+2008301468,2008301468
+2008301469,2008301469
+2008301470,2008301470
+2008301471,2008301471
+2008301472,2008301472
+2008301473,2008301473
+2008301474,2008301474
+2008301475,2008301475
+2008301476,2008301476
+2008301477,2008301477
+2008301478,2008301478
+2008301479,2008301479
+2008301480,2008301480
+2008301481,2008301481
+2008301482,2008301482
+2008301483,2008301483
+2008301484,2008301484
+2008301485,2008301485
+2008301486,2008301486
+2008301487,2008301487
+2008301488,2008301488
+2008301489,2008301489
+2008301490,2008301490
+2008301491,2008301491
+2008301492,2008301492
+2008301493,2008301493
+2008301494,2008301494
+2008301495,2008301495
+2008301496,2008301496
+2008301497,2008301497
+2008301498,2008301498
+2008301499,2008301499
+2008301500,2008301500
+2008301501,2008301501
+2008301502,2008301502
+2008301503,2008301503
+2008301504,2008301504
+2008301505,2008301505
+2008301506,2008301506
+2008301507,2008301507
+2008301508,2008301508
+2008301509,2008301509
+2008301510,2008301510
+2008301511,2008301511
+2008301512,2008301512
+2008301513,2008301513
+2008301514,2008301514
+2008301515,2008301515
+2008301516,2008301516
+2008301517,2008301517
+2008301518,2008301518
+2008301519,2008301519
+2008301520,2008301520
+2008301521,2008301521
+2008301522,2008301522
+2008301523,2008301523
+2008301524,2008301524
+2008301525,2008301525
+2008301526,2008301526
+2008301527,2008301527
+2008301528,2008301528
+2008301529,2008301529
+2008301530,2008301530
+2008301531,2008301531
+2008301532,2008301532
+2008301533,2008301533
+2008301534,2008301534
+2008301535,2008301535
+2008301536,2008301536
+2008301537,2008301537
+2008301538,2008301538
+2008301539,2008301539
+2008301540,2008301540
+2008301541,2008301541
+2008301542,2008301542
+2008301543,2008301543
+2008301544,2008301544
+2008301545,2008301545
+2008301546,2008301546
+2008301547,2008301547
+2008301548,2008301548
+2008301549,2008301549
+2008301550,2008301550
+2008301551,2008301551
+2008301552,2008301552
+2008301553,2008301553
+2008301554,2008301554
+2008301555,2008301555
+2008301556,2008301556
+2008301557,2008301557
+2008301558,2008301558
+2008301559,2008301559
+2008301560,2008301560
+2008301561,2008301561
+2008301562,2008301562
+2008301563,2008301563
+2008301564,2008301564
+2008301565,2008301565
+2008301566,2008301566
+2008301567,2008301567
+2008301568,2008301568
+2008301569,2008301569
+2008301570,2008301570
+2008301571,2008301571
+2008301572,2008301572
+2008301573,2008301573
+2008301574,2008301574
+2008301575,2008301575
+2008301576,2008301576
+2008301577,2008301577
+2008301578,2008301578
+2008301579,2008301579
+2008301580,2008301580
+2008301581,2008301581
+2008301582,2008301582
+2008301583,2008301583
+2008301584,2008301584
+2008301585,2008301585
+2008301586,2008301586
+2008301587,2008301587
+2008301588,2008301588
+2008301589,2008301589
+2008301590,2008301590
+2008301591,2008301591
+2008301592,2008301592
+2008301593,2008301593
+2008301594,2008301594
+2008301595,2008301595
+2008301596,2008301596
+2008301597,2008301597
+2008301598,2008301598
+2008301599,2008301599
+2008301600,2008301600
+2008301601,2008301601
+2008301602,2008301602
+2008301603,2008301603
+2008301604,2008301604
+2008301605,2008301605
+2008301606,2008301606
+2008301607,2008301607
+2008301608,2008301608
+2008301609,2008301609
+2008301610,2008301610
+2008301611,2008301611
+2008301612,2008301612
+2008301613,2008301613
+2008301614,2008301614
+2008301615,2008301615
+2008301616,2008301616
+2008301617,2008301617
+2008301618,2008301618
+2008301619,2008301619
+2008301620,2008301620
+2008301621,2008301621
+2008301622,2008301622
+2008301623,2008301623
+2008301624,2008301624
+2008301625,2008301625
+2008301626,2008301626
+2008301627,2008301627
+2008301628,2008301628
+2008301629,2008301629
+2008301630,2008301630
+2008301631,2008301631
+2008301632,2008301632
+2008301633,2008301633
+2008301634,2008301634
+2008301635,2008301635
+2008301636,2008301636
+2008301637,2008301637
+2008301638,2008301638
+2008301639,2008301639
+2008301640,2008301640
+2008301641,2008301641
+2008301642,2008301642
+2008301643,2008301643
+2008301644,2008301644
+2008301645,2008301645
+2008301646,2008301646
+2008301647,2008301647
+2008301648,2008301648
+2008301649,2008301649
+2008301650,2008301650
+2008301651,2008301651
+2008301652,2008301652
+2008301653,2008301653
+2008301654,2008301654
+2008301655,2008301655
+2008301656,2008301656
+2008301657,2008301657
+2008301658,2008301658
+2008301659,2008301659
+2008301660,2008301660
+2008301661,2008301661
+2008301662,2008301662
+2008301663,2008301663
+2008301664,2008301664
+2008301665,2008301665
+2008301666,2008301666
+2008301667,2008301667
+2008301668,2008301668
+2008301669,2008301669
+2008301670,2008301670
+2008301671,2008301671
+2008301672,2008301672
+2008301673,2008301673
+2008301674,2008301674
+2008301675,2008301675
+2008301676,2008301676
+2008301677,2008301677
+2008301678,2008301678
+2008301679,2008301679
+2008301680,2008301680
+2008301681,2008301681
+2008301682,2008301682
+2008301683,2008301683
+2008301684,2008301684
+2008301685,2008301685
+2008301686,2008301686
+2008301687,2008301687
+2008301688,2008301688
+2008301689,2008301689
+2008301690,2008301690
+2008301691,2008301691
+2008301692,2008301692
+2008301693,2008301693
+2008301694,2008301694
+2008301695,2008301695
+2008301696,2008301696
+2008301697,2008301697
+2008301698,2008301698
+2008301699,2008301699
+2008301700,2008301700
+2008301701,2008301701
+2008301702,2008301702
+2008301703,2008301703
+2008301704,2008301704
+2008301705,2008301705
+2008301706,2008301706
+2008301707,2008301707
+2008301708,2008301708
+2008301709,2008301709
+2008301710,2008301710
+2008301711,2008301711
+2008301712,2008301712
+2008301713,2008301713
+2008301714,2008301714
+2008301715,2008301715
+2008301716,2008301716
+2008301717,2008301717
+2008301718,2008301718
+2008301719,2008301719
+2008301720,2008301720
+2008301721,2008301721
+2008301722,2008301722
+2008301723,2008301723
+2008301724,2008301724
+2008301725,2008301725
+2008301726,2008301726
+2008301727,2008301727
+2008301728,2008301728
+2008301729,2008301729
+2008301730,2008301730
+2008301731,2008301731
+2008301732,2008301732
+2008301733,2008301733
+2008301734,2008301734
+2008301735,2008301735
+2008301736,2008301736
+2008301737,2008301737
+2008301738,2008301738
+2008301739,2008301739
+2008301740,2008301740
+2008301741,2008301741
+2008301742,2008301742
+2008301743,2008301743
+2008301744,2008301744
+2008301745,2008301745
+2008301746,2008301746
+2008301747,2008301747
+2008301748,2008301748
+2008301749,2008301749
+2008301750,2008301750
+2008301751,2008301751
+2008301752,2008301752
+2008301753,2008301753
+2008301754,2008301754
+2008301755,2008301755
+2008301756,2008301756
+2008301757,2008301757
+2008301758,2008301758
+2008301759,2008301759
+2008301760,2008301760
+2008301761,2008301761
+2008301762,2008301762
+2008301763,2008301763
+2008301764,2008301764
+2008301765,2008301765
+2008301766,2008301766
+2008301767,2008301767
+2008301768,2008301768
+2008301769,2008301769
+2008301770,2008301770
+2008301771,2008301771
+2008301772,2008301772
+2008301773,2008301773
+2008301774,2008301774
+2008301775,2008301775
+2008301776,2008301776
+2008301777,2008301777
+2008301778,2008301778
+2008301779,2008301779
+2008301780,2008301780
+2008301782,2008301782
+2008301783,2008301783
+2008301784,2008301784
+2008301785,2008301785
+2008301786,2008301786
+2008301787,2008301787
+2008301788,2008301788
+2008301789,2008301789
+2008301790,2008301790
+2008301791,2008301791
+2008301792,2008301792
+2008301793,2008301793
+2008301794,2008301794
+2008301795,2008301795
+2008301796,2008301796
+2008301797,2008301797
+2008301798,2008301798
+2008301799,2008301799
+2008301800,2008301800
+2008301801,2008301801
+2008301802,2008301802
+2008301803,2008301803
+2008301804,2008301804
+2008301805,2008301805
+2008301806,2008301806
+2008301807,2008301807
+2008301808,2008301808
+2008301809,2008301809
+2008301810,2008301810
+2008301811,2008301811
+2008301812,2008301812
+2008301813,2008301813
+2008301814,2008301814
+2008301815,2008301815
+2008301816,2008301816
+2008301817,2008301817
+2008301818,2008301818
+2008301819,2008301819
+2008301820,2008301820
+2008301821,2008301821
+2008301822,2008301822
+2008301823,2008301823
+2008301824,2008301824
+2008301825,2008301825
+2008301826,2008301826
+2008301827,2008301827
+2008301828,2008301828
+2008301829,2008301829
+2008301830,2008301830
+2008301831,2008301831
+2008301832,2008301832
+2008301833,2008301833
+2008301834,2008301834
+2008301835,2008301835
+2008301836,2008301836
+2008301837,2008301837
+2008301838,2008301838
+2008301839,2008301839
+2008301840,2008301840
+2008301841,2008301841
+2008301842,2008301842
+2008301843,2008301843
+2008301844,2008301844
+2008301845,2008301845
+2008301846,2008301846
+2008301847,2008301847
+2008301848,2008301848
+2008301849,2008301849
+2008301850,2008301850
+2008301851,2008301851
+2008301852,2008301852
+2008301853,2008301853
+2008301854,2008301854
+2008301855,2008301855
+2008301856,2008301856
+2008301857,2008301857
+2008301858,2008301858
+2008301859,2008301859
+2008301860,2008301860
+2008301861,2008301861
+2008301862,2008301862
+2008301863,2008301863
+2008301864,2008301864
+2008301865,2008301865
+2008301866,2008301866
+2008301867,2008301867
+2008301868,2008301868
+2008301869,2008301869
+2008301870,2008301870
+2008301871,2008301871
+2008301872,2008301872
+2008301873,2008301873
+2008301874,2008301874
+2008301875,2008301875
+2008301876,2008301876
+2008301877,2008301877
+2008301878,2008301878
+2008301879,2008301879
+2008301880,2008301880
+2008301881,2008301881
+2008301882,2008301882
+2008301883,2008301883
+2008301884,2008301884
+2008301885,2008301885
+2008301886,2008301886
+2008301887,2008301887
+2008301888,2008301888
+2008301889,2008301889
+2008301890,2008301890
+2008301891,2008301891
+2008301892,2008301892
+2008301893,2008301893
+2008301894,2008301894
+2008301895,2008301895
+2008301896,2008301896
+2008301897,2008301897
+2008301898,2008301898
+2008301899,2008301899
+2008301900,2008301900
+2008301901,2008301901
+2008301902,2008301902
+2008301903,2008301903
+2008301904,2008301904
+2008301905,2008301905
+2008301906,2008301906
+2008301907,2008301907
+2008301908,2008301908
+2008301909,2008301909
+2008301910,2008301910
+2008301911,2008301911
+2008301912,2008301912
+2008301913,2008301913
+2008301914,2008301914
+2008301915,2008301915
+2008301916,2008301916
+2008301917,2008301917
+2008301918,2008301918
+2008301919,2008301919
+2008301920,2008301920
+2008301921,2008301921
+2008301922,2008301922
+2008301923,2008301923
+2008301924,2008301924
+2008301925,2008301925
+2008301926,2008301926
+2008301927,2008301927
+2008301928,2008301928
+2008301929,2008301929
+2008301930,2008301930
+2008301931,2008301931
+2008301932,2008301932
+2008301933,2008301933
+2008301934,2008301934
+2008301935,2008301935
+2008301936,2008301936
+2008301937,2008301937
+2008301938,2008301938
+2008301939,2008301939
+2008301940,2008301940
+2008301941,2008301941
+2008301942,2008301942
+2008301943,2008301943
+2008301944,2008301944
+2008301945,2008301945
+2008301946,2008301946
+2008301947,2008301947
+2008301948,2008301948
+2008301949,2008301949
+2008301950,2008301950
+2008301951,2008301951
+2008301952,2008301952
+2008301953,2008301953
+2008301954,2008301954
+2008301955,2008301955
+2008301956,2008301956
+2008301957,2008301957
+2008301958,2008301958
+2008301959,2008301959
+2008301960,2008301960
+2008301961,2008301961
+2008301962,2008301962
+2008301963,2008301963
+2008301964,2008301964
+2008301965,2008301965
+2008301966,2008301966
+2008301967,2008301967
+2008301968,2008301968
+2008301969,2008301969
+2008301970,2008301970
+2008301971,2008301971
+2008301972,2008301972
+2008301973,2008301973
+2008301974,2008301974
+2008301975,2008301975
+2008301976,2008301976
+2008301977,2008301977
+2008301978,2008301978
+2008301979,2008301979
+2008301980,2008301980
+2008301981,2008301981
+2008301982,2008301982
+2008301983,2008301983
+2008301984,2008301984
+2008301985,2008301985
+2008301986,2008301986
+2008301987,2008301987
+2008301988,2008301988
+2008301989,2008301989
+2008301990,2008301990
+2008301991,2008301991
+2008301992,2008301992
+2008301993,2008301993
+2008301994,2008301994
+2008301995,2008301995
+2008301996,2008301996
+2008301997,2008301997
+2008301998,2008301998
+2008301999,2008301999
+2008302000,2008302000
+2008302001,2008302001
+2008302002,2008302002
+2008302003,2008302003
+2008302004,2008302004
+2008302005,2008302005
+2008302006,2008302006
+2008302007,2008302007
+2008302008,2008302008
+2008302009,2008302009
+2008302010,2008302010
+2008302011,2008302011
+2008302012,2008302012
+2008302013,2008302013
+2008302014,2008302014
+2008302015,2008302015
+2008302016,2008302016
+2008302017,2008302017
+2008302018,2008302018
+2008302019,2008302019
+2008302020,2008302020
+2008302021,2008302021
+2008302022,2008302022
+2008302023,2008302023
+2008302024,2008302024
+2008302025,2008302025
+2008302026,2008302026
+2008302027,2008302027
+2008302028,2008302028
+2008302029,2008302029
+2008302030,2008302030
+2008302031,2008302031
+2008302032,2008302032
+2008302033,2008302033
+2008302034,2008302034
+2008302035,2008302035
+2008302036,2008302036
+2008302037,2008302037
+2008302038,2008302038
+2008302039,2008302039
+2008302040,2008302040
+2008302041,2008302041
+2008302042,2008302042
+2008302043,2008302043
+2008302044,2008302044
+2008302045,2008302045
+2008302046,2008302046
+2008302047,2008302047
+2008302048,2008302048
+2008302049,2008302049
+2008302050,2008302050
+2008302051,2008302051
+2008302052,2008302052
+2008302053,2008302053
+2008302054,2008302054
+2008302055,2008302055
+2008302056,2008302056
+2008302057,2008302057
+2008302058,2008302058
+2008302059,2008302059
+2008302060,2008302060
+2008302061,2008302061
+2008302062,2008302062
+2008302063,2008302063
+2008302064,2008302064
+2008302065,2008302065
+2008302066,2008302066
+2008302067,2008302067
+2008302068,2008302068
+2008302069,2008302069
+2008302070,2008302070
+2008302071,2008302071
+2008302072,2008302072
+2008302073,2008302073
+2008302074,2008302074
+2008302075,2008302075
+2008302076,2008302076
+2008302077,2008302077
+2008302078,2008302078
+2008302079,2008302079
+2008302080,2008302080
+2008302081,2008302081
+2008302082,2008302082
+2008302083,2008302083
+2008302084,2008302084
+2008302085,2008302085
+2008302086,2008302086
+2008302087,2008302087
+2008302088,2008302088
+2008302089,2008302089
+2008302090,2008302090
+2008302091,2008302091
+2008302092,2008302092
+2008302093,2008302093
+2008302094,2008302094
+2008302095,2008302095
+2008302096,2008302096
+2008302097,2008302097
+2008302098,2008302098
+2008302099,2008302099
+2008302100,2008302100
+2008302101,2008302101
+2008302102,2008302102
+2008302103,2008302103
+2008302104,2008302104
+2008302105,2008302105
+2008302106,2008302106
+2008302107,2008302107
+2008302108,2008302108
+2008302109,2008302109
+2008302110,2008302110
+2008302111,2008302111
+2008302112,2008302112
+2008302113,2008302113
+2008302114,2008302114
+2008302115,2008302115
+2008302116,2008302116
+2008302117,2008302117
+2008302118,2008302118
+2008302119,2008302119
+2008302120,2008302120
+2008302121,2008302121
+2008302122,2008302122
+2008302123,2008302123
+2008302124,2008302124
+2008302125,2008302125
+2008302126,2008302126
+2008302127,2008302127
+2008302128,2008302128
+2008302129,2008302129
+2008302130,2008302130
+2008302131,2008302131
+2008302132,2008302132
+2008302133,2008302133
+2008302134,2008302134
+2008302135,2008302135
+2008302136,2008302136
+2008302137,2008302137
+2008302138,2008302138
+2008302139,2008302139
+2008302140,2008302140
+2008302141,2008302141
+2008302142,2008302142
+2008302143,2008302143
+2008302144,2008302144
+2008302145,2008302145
+2008302146,2008302146
+2008302147,2008302147
+2008302148,2008302148
+2008302149,2008302149
+2008302150,2008302150
+2008302151,2008302151
+2008302152,2008302152
+2008302153,2008302153
+2008302154,2008302154
+2008302155,2008302155
+2008302156,2008302156
+2008302157,2008302157
+2008302158,2008302158
+2008302159,2008302159
+2008302160,2008302160
+2008302161,2008302161
+2008302162,2008302162
+2008302163,2008302163
+2008302164,2008302164
+2008302165,2008302165
+2008302166,2008302166
+2008302167,2008302167
+2008302168,2008302168
+2008302169,2008302169
+2008302170,2008302170
+2008302171,2008302171
+2008302172,2008302172
+2008302173,2008302173
+2008302174,2008302174
+2008302175,2008302175
+2008302176,2008302176
+2008302177,2008302177
+2008302178,2008302178
+2008302179,2008302179
+2008302180,2008302180
+2008302181,2008302181
+2008302182,2008302182
+2008302183,2008302183
+2008302184,2008302184
+2008302185,2008302185
+2008302186,2008302186
+2008302187,2008302187
+2008302188,2008302188
+2008302189,2008302189
+2008302190,2008302190
+2008302191,2008302191
+2008302192,2008302192
+2008302193,2008302193
+2008302194,2008302194
+2008302195,2008302195
+2008302196,2008302196
+2008302197,2008302197
+2008302198,2008302198
+2008302199,2008302199
+2008302200,2008302200
+2008302201,2008302201
+2008302202,2008302202
+2008302203,2008302203
+2008302204,2008302204
+2008302205,2008302205
+2008302206,2008302206
+2008302207,2008302207
+2008302208,2008302208
+2008302209,2008302209
+2008302210,2008302210
+2008302211,2008302211
+2008302212,2008302212
+2008302213,2008302213
+2008302214,2008302214
+2008302215,2008302215
+2008302216,2008302216
+2008302217,2008302217
+2008302218,2008302218
+2008302219,2008302219
+2008302220,2008302220
+2008302221,2008302221
+2008302222,2008302222
+2008302223,2008302223
+2008302224,2008302224
+2008302225,2008302225
+2008302226,2008302226
+2008302227,2008302227
+2008302228,2008302228
+2008302229,2008302229
+2008302230,2008302230
+2008302231,2008302231
+2008302232,2008302232
+2008302233,2008302233
+2008302234,2008302234
+2008302235,2008302235
+2008302236,2008302236
+2008302237,2008302237
+2008302238,2008302238
+2008302239,2008302239
+2008302240,2008302240
+2008302241,2008302241
+2008302242,2008302242
+2008302243,2008302243
+2008302244,2008302244
+2008302245,2008302245
+2008302246,2008302246
+2008302247,2008302247
+2008302248,2008302248
+2008302249,2008302249
+2008302250,2008302250
+2008302251,2008302251
+2008302252,2008302252
+2008302253,2008302253
+2008302254,2008302254
+2008302255,2008302255
+2008302256,2008302256
+2008302257,2008302257
+2008302258,2008302258
+2008302259,2008302259
+2008302260,2008302260
+2008302261,2008302261
+2008302262,2008302262
+2008302263,2008302263
+2008302264,2008302264
+2008302265,2008302265
+2008302266,2008302266
+2008302267,2008302267
+2008302268,2008302268
+2008302269,2008302269
+2008302270,2008302270
+2008302271,2008302271
+2008302272,2008302272
+2008302273,2008302273
+2008302274,2008302274
+2008302275,2008302275
+2008302276,2008302276
+2008302277,2008302277
+2008302278,2008302278
+2008302279,2008302279
+2008302280,2008302280
+2008302281,2008302281
+2008302282,2008302282
+2008302283,2008302283
+2008302284,2008302284
+2008302285,2008302285
+2008302286,2008302286
+2008302287,2008302287
+2008302288,2008302288
+2008302289,2008302289
+2008302290,2008302290
+2008302291,2008302291
+2008302292,2008302292
+2008302293,2008302293
+2008302294,2008302294
+2008302295,2008302295
+2008302296,2008302296
+2008302297,2008302297
+2008302298,2008302298
+2008302299,2008302299
+2008302300,2008302300
+2008302301,2008302301
+2008302302,2008302302
+2008302303,2008302303
+2008302304,2008302304
+2008302305,2008302305
+2008302306,2008302306
+2008302307,2008302307
+2008302308,2008302308
+2008302309,2008302309
+2008302310,2008302310
+2008302311,2008302311
+2008302312,2008302312
+2008302313,2008302313
+2008302314,2008302314
+2008302315,2008302315
+2008302317,2008302317
+2008302318,2008302318
+2008302319,2008302319
+2008302320,2008302320
+2008302321,2008302321
+2008302322,2008302322
+2008302323,2008302323
+2008302324,2008302324
+2008302325,2008302325
+2008302326,2008302326
+2008302327,2008302327
+2008302328,2008302328
+2008302329,2008302329
+2008302330,2008302330
+2008302331,2008302331
+2008302332,2008302332
+2008302333,2008302333
+2008302334,2008302334
+2008302335,2008302335
+2008302336,2008302336
+2008302337,2008302337
+2008302338,2008302338
+2008302339,2008302339
+2008302340,2008302340
+2008302341,2008302341
+2008302342,2008302342
+2008302343,2008302343
+2008302344,2008302344
+2008302345,2008302345
+2008302346,2008302346
+2008302347,2008302347
+2008302348,2008302348
+2008302349,2008302349
+2008302350,2008302350
+2008302351,2008302351
+2008302352,2008302352
+2008302353,2008302353
+2008302354,2008302354
+2008302355,2008302355
+2008302356,2008302356
+2008302357,2008302357
+2008302358,2008302358
+2008302359,2008302359
+2008302360,2008302360
+2008302361,2008302361
+2008302362,2008302362
+2008302363,2008302363
+2008302364,2008302364
+2008302365,2008302365
+2008302366,2008302366
+2008302367,2008302367
+2008302368,2008302368
+2008302369,2008302369
+2008302370,2008302370
+2008302371,2008302371
+2008302372,2008302372
+2008302373,2008302373
+2008302374,2008302374
+2008302375,2008302375
+2008302376,2008302376
+2008302377,2008302377
+2008302378,2008302378
+2008302379,2008302379
+2008302380,2008302380
+2008302381,2008302381
+2008302382,2008302382
+2008302383,2008302383
+2008302384,2008302384
+2008302385,2008302385
+2008302386,2008302386
+2008302387,2008302387
+2008302388,2008302388
+2008302389,2008302389
+2008302390,2008302390
+2008302391,2008302391
+2008302392,2008302392
+2008302393,2008302393
+2008302394,2008302394
+2008302395,2008302395
+2008302396,2008302396
+2008302397,2008302397
+2008302398,2008302398
+2008302399,2008302399
+2008302400,2008302400
+2008302401,2008302401
+2008302402,2008302402
+2008302403,2008302403
+2008302404,2008302404
+2008302405,2008302405
+2008302406,2008302406
+2008302407,2008302407
+2008302408,2008302408
+2008302409,2008302409
+2008302410,2008302410
+2008302411,2008302411
+2008302412,2008302412
+2008302413,2008302413
+2008302414,2008302414
+2008302415,2008302415
+2008302416,2008302416
+2008302417,2008302417
+2008302418,2008302418
+2008302419,2008302419
+2008302420,2008302420
+2008302421,2008302421
+2008302422,2008302422
+2008302423,2008302423
+2008302424,2008302424
+2008302425,2008302425
+2008302426,2008302426
+2008302427,2008302427
+2008302428,2008302428
+2008302429,2008302429
+2008302430,2008302430
+2008302431,2008302431
+2008302432,2008302432
+2008302433,2008302433
+2008302434,2008302434
+2008302435,2008302435
+2008302436,2008302436
+2008302437,2008302437
+2008302438,2008302438
+2008302439,2008302439
+2008302440,2008302440
+2008302441,2008302441
+2008302442,2008302442
+2008302443,2008302443
+2008302444,2008302444
+2008302445,2008302445
+2008302446,2008302446
+2008302447,2008302447
+2008302448,2008302448
+2008302449,2008302449
+2008302450,2008302450
+2008302451,2008302451
+2008302452,2008302452
+2008302453,2008302453
+2008302454,2008302454
+2008302455,2008302455
+2008302456,2008302456
+2008302457,2008302457
+2008302458,2008302458
+2008302459,2008302459
+2008302460,2008302460
+2008302461,2008302461
+2008302462,2008302462
+2008302463,2008302463
+2008302464,2008302464
+2008302465,2008302465
+2008302466,2008302466
+2008302467,2008302467
+2008302468,2008302468
+2008302469,2008302469
+2008302470,2008302470
+2008302471,2008302471
+2008302472,2008302472
+2008302473,2008302473
+2008302474,2008302474
+2008302475,2008302475
+2008302476,2008302476
+2008302477,2008302477
+2008302478,2008302478
+2008302479,2008302479
+2008302480,2008302480
+2008302481,2008302481
+2008302482,2008302482
+2008302483,2008302483
+2008302484,2008302484
+2008302485,2008302485
+2008302486,2008302486
+2008302487,2008302487
+2008302488,2008302488
+2008302489,2008302489
+2008302490,2008302490
+2008302491,2008302491
+2008302492,2008302492
+2008302493,2008302493
+2008302494,2008302494
+2008302495,2008302495
+2008302496,2008302496
+2008302497,2008302497
+2008302498,2008302498
+2008302499,2008302499
+2008302500,2008302500
+2008302502,2008302502
+2008302503,2008302503
+2008302504,2008302504
+2008302505,2008302505
+2008302506,2008302506
+2008302507,2008302507
+2008302508,2008302508
+2008302509,2008302509
+2008302510,2008302510
+2008302511,2008302511
+2008302512,2008302512
+2008302513,2008302513
+2008302514,2008302514
+2008302515,2008302515
+2008302516,2008302516
+2008302517,2008302517
+2008302518,2008302518
+2008302519,2008302519
+2008302520,2008302520
+2008302521,2008302521
+2008302522,2008302522
+2008302523,2008302523
+2008302524,2008302524
+2008302525,2008302525
+2008302526,2008302526
+2008302527,2008302527
+2008302528,2008302528
+2008302529,2008302529
+2008302530,2008302530
+2008302531,2008302531
+2008302532,2008302532
+2008302533,2008302533
+2008302534,2008302534
+2008302535,2008302535
+2008302536,2008302536
+2008302537,2008302537
+2008302538,2008302538
+2008302539,2008302539
+2008302540,2008302540
+2008302541,2008302541
+2008302542,2008302542
+2008302543,2008302543
+2008302544,2008302544
+2008302545,2008302545
+2008302546,2008302546
+2008302547,2008302547
+2008302548,2008302548
+2008302549,2008302549
+2008302550,2008302550
+2008302551,2008302551
+2008302552,2008302552
+2008302553,2008302553
+2008302554,2008302554
+2008302555,2008302555
+2008302556,2008302556
+2008302557,2008302557
+2008302558,2008302558
+2008302559,2008302559
+2008302560,2008302560
+2008302561,2008302561
+2008302562,2008302562
+2008302563,2008302563
+2008302564,2008302564
+2008302565,2008302565
+2008302566,2008302566
+2008302567,2008302567
+2008302568,2008302568
+2008302569,2008302569
+2008302570,2008302570
+2008302571,2008302571
+2008302572,2008302572
+2008302573,2008302573
+2008302574,2008302574
+2008302575,2008302575
+2008302576,2008302576
+2008302577,2008302577
+2008302578,2008302578
+2008302579,2008302579
+2008302580,2008302580
+2008302581,2008302581
+2008302582,2008302582
+2008302583,2008302583
+2008302584,2008302584
+2008302585,2008302585
+2008302586,2008302586
+2008302587,2008302587
+2008302588,2008302588
+2008302589,2008302589
+2008302590,2008302590
+2008302591,2008302591
+2008302592,2008302592
+2008302593,2008302593
+2008302594,2008302594
+2008302595,2008302595
+2008302596,2008302596
+2008302597,2008302597
+2008302598,2008302598
+2008302599,2008302599
+2008302600,2008302600
+2008302601,2008302601
+2008302602,2008302602
+2008302603,2008302603
+2008302604,2008302604
+2008302605,2008302605
+2008302606,2008302606
+2008302607,2008302607
+2008302608,2008302608
+2008302609,2008302609
+2008302610,2008302610
+2008302611,2008302611
+2008302612,2008302612
+2008302613,2008302613
+2008302614,2008302614
+2008302615,2008302615
+2008302616,2008302616
+2008302617,2008302617
+2008302618,2008302618
+2008302619,2008302619
+2008302620,2008302620
+2008302621,2008302621
+2008302622,2008302622
+2008302623,2008302623
+2008302624,2008302624
+2008302625,2008302625
+2008302626,2008302626
+2008302627,2008302627
+2008302628,2008302628
+2008302629,2008302629
+2008302630,2008302630
+2008302631,2008302631
+2008302632,2008302632
+2008302633,2008302633
+2008302634,2008302634
+2008302635,2008302635
+2008302636,2008302636
+2008302637,2008302637
+2008302638,2008302638
+2008302639,2008302639
+2008302640,2008302640
+2008302641,2008302641
+2008302642,2008302642
+2008302643,2008302643
+2008302644,2008302644
+2008302645,2008302645
+2008302646,2008302646
+2008302647,2008302647
+2008302648,2008302648
+2008302649,2008302649
+2008302650,2008302650
+2008302651,2008302651
+2008302652,2008302652
+2008302653,2008302653
+2008302654,2008302654
+2008302655,2008302655
+2008302656,2008302656
+2008302657,2008302657
+2008302658,2008302658
+2008302659,2008302659
+2008302660,2008302660
+2008302661,2008302661
+2008302662,2008302662
+2008302663,052466
+2008302664,2008302664
+2008302665,2008302665
+2008302666,2008302666
+2008302667,2008302667
+2008302668,2008302668
+2008302669,2008302669
+2008302670,2008302670
+2008302671,2008302671
+2008302672,2008302672
+2008302673,2008302673
+2008302674,2008302674
+2008302675,2008302675
+2008302676,2008302676
+2008302677,2008302677
+2008302678,2008302678
+2008302679,2008302679
+2008302680,2008302680
+2008302681,2008302681
+2008302682,2008302682
+2008302683,2008302683
+2008302684,2008302684
+2008302685,2008302685
+2008302686,2008302686
+2008302687,2008302687
+2008302688,2008302688
+2008302689,2008302689
+2008302690,2008302690
+2008302691,2008302691
+2008302692,2008302692
+2008302693,2008302693
+2008302694,2008302694
+2008302695,2008302695
+2008302696,2008302696
+2008302697,2008302697
+2008302698,2008302698
+2008302699,2008302699
+2008302700,2008302700
+2008302701,2008302701
+2008302702,2008302702
+2008302703,2008302703
+2008302704,2008302704
+2008302705,2008302705
+2008302706,2008302706
+2008302707,2008302707
+2008302708,2008302708
+2008302709,2008302709
+2008302710,2008302710
+2008302711,2008302711
+2008302712,2008302712
+2008302713,2008302713
+2008302714,2008302714
+2008302715,2008302715
+2008302716,2008302716
+2008302717,2008302717
+2008302718,2008302718
+2008302719,2008302719
+2008302720,2008302720
+2008302721,2008302721
+2008302722,2008302722
+2008302723,2008302723
+2008302724,2008302724
+2008302725,2008302725
+2008302726,2008302726
+2008302727,2008302727
+2008302728,2008302728
+2008302729,2008302729
+2008302730,2008302730
+2008302731,2008302731
+2008302732,2008302732
+2008302733,2008302733
+2008302734,2008302734
+2008302735,2008302735
+2008302736,2008302736
+2008302737,2008302737
+2008302738,2008302738
+2008302739,2008302739
+2008302740,2008302740
+2008302741,2008302741
+2008302742,2008302742
+2008302743,2008302743
+2008302744,2008302744
+2008302745,2008302745
+2008302746,2008302746
+2008302747,2008302747
+2008302748,2008302748
+2008302749,2008302749
+2008302750,2008302750
+2008302751,2008302751
+2008302752,2008302752
+2008302753,2008302753
+2008302754,2008302754
+2008302755,2008302755
+2008302756,2008302756
+2008302757,2008302757
+2008302758,2008302758
+2008302759,2008302759
+2008302760,2008302760
+2008302761,2008302761
+2008302762,2008302762
+2008302763,2008302763
+2008302764,2008302764
+2008302765,2008302765
+2008302766,2008302766
+2008302767,2008302767
+2008302768,2008302768
+2008302770,2008302770
+2008302771,2008302771
+2008302772,2008302772
+2008302773,2008302773
+2008302774,2008302774
+2008302775,2008302775
+2008302776,2008302776
+2008302777,2008302777
+2008302778,2008302778
+2008302779,2008302779
+2008302780,2008302780
+2008302781,2008302781
+2008302782,2008302782
+2008302783,2008302783
+2008302784,2008302784
+2008302785,2008302785
+2008302786,2008302786
+2008302787,2008302787
+2008302788,2008302788
+2008302789,2008302789
+2008302790,2008302790
+2008302791,2008302791
+2008302792,2008302792
+2008302793,2008302793
+2008302794,2008302794
+2008302795,2008302795
+2008302796,2008302796
+2008302797,2008302797
+2008302798,2008302798
+2008302799,2008302799
+2008302800,2008302800
+2008302801,2008302801
+2008302802,2008302802
+2008302803,2008302803
+2008302804,2008302804
+2008302805,2008302805
+2008302806,2008302806
+2008302807,2008302807
+2008302808,2008302808
+2008302809,2008302809
+2008302810,2008302810
+2008302811,2008302811
+2008302812,2008302812
+2008302813,2008302813
+2008302814,2008302814
+2008302815,2008302815
+2008302816,2008302816
+2008302817,2008302817
+2008302818,2008302818
+2008302819,2008302819
+2008302820,2008302820
+2008302821,2008302821
+2008302822,2008302822
+2008302823,2008302823
+2008302824,2008302824
+2008302825,2008302825
+2008302826,2008302826
+2008302827,2008302827
+2008302828,2008302828
+2008302829,2008302829
+2008302830,2008302830
+2008302831,2008302831
+2008302832,2008302832
+2008302833,2008302833
+2008302834,2008302834
+2008302835,2008302835
+2008302836,2008302836
+2008302837,2008302837
+2008302838,2008302838
+2008302839,2008302839
+2008302840,2008302840
+2008302841,2008302841
+2008302842,2008302842
+2008302843,2008302843
+2008302844,2008302844
+2008302845,2008302845
+2008302846,2008302846
+2008302847,2008302847
+2008302848,2008302848
+2008302849,2008302849
+2008302850,2008302850
+2008302851,2008302851
+2008302852,2008302852
+2008302853,2008302853
+2008302854,2008302854
+2008302855,2008302855
+2008302856,2008302856
+2008302857,2008302857
+2008302858,2008302858
+2008302859,2008302859
+2008302860,2008302860
+2008302861,2008302861
+2008302862,2008302862
+2008302863,2008302863
+2008302864,2008302864
+2008302865,2008302865
+2008302866,2008302866
+2008302867,2008302867
+2008302868,2008302868
+2008302869,2008302869
+2008302870,2008302870
+2008302871,2008302871
+2008302872,2008302872
+2008302873,2008302873
+2008302874,2008302874
+2008302875,2008302875
+2008302876,2008302876
+2008302877,2008302877
+2008302878,2008302878
+2008302879,2008302879
+2008302880,2008302880
+2008302881,2008302881
+2008302882,2008302882
+2008302883,2008302883
+2008302884,2008302884
+2008302885,2008302885
+2008302886,2008302886
+2008302887,2008302887
+2008302888,2008302888
+2008302889,2008302889
+2008302890,2008302890
+2008302891,2008302891
+2008302892,2008302892
+2008302893,2008302893
+2008302894,2008302894
+2008302895,2008302895
+2008302896,2008302896
+2008302897,2008302897
+2008302898,2008302898
+2008302899,2008302899
+2008302900,2008302900
+2008302901,2008302901
+2008302902,2008302902
+2008302903,2008302903
+2008302904,2008302904
+2008302905,2008302905
+2008302906,2008302906
+2008302907,2008302907
+2008302908,2008302908
+2008302909,2008302909
+2008302910,2008302910
+2008302911,2008302911
+2008302912,2008302912
+2008302913,2008302913
+2008302914,2008302914
+2008302915,2008302915
+2008302916,2008302916
+2008302917,2008302917
+2008302918,2008302918
+2008302919,2008302919
+2008302920,2008302920
+2008302921,2008302921
+2008302922,2008302922
+2008302923,2008302923
+2008302924,2008302924
+2008302925,2008302925
+2008302926,2008302926
+2008302927,2008302927
+2008302928,2008302928
+2008302929,2008302929
+2008302930,2008302930
+2008302931,2008302931
+2008302932,2008302932
+2008302933,2008302933
+2008302934,2008302934
+2008302935,2008302935
+2008302936,2008302936
+2008302937,2008302937
+2008302938,2008302938
+2008302939,2008302939
+2008302940,2008302940
+2008302941,2008302941
+2008302942,2008302942
+2008302943,2008302943
+2008302944,2008302944
+2008302945,2008302945
+2008302946,2008302946
+2008302947,2008302947
+2008302948,2008302948
+2008302949,2008302949
+2008302950,2008302950
+2008302951,2008302951
+2008302952,2008302952
+2008302953,2008302953
+2008302954,2008302954
+2008302955,2008302955
+2008302956,2008302956
+2008302957,2008302957
+2008302958,2008302958
+2008302959,2008302959
+2008302960,2008302960
+2008302961,2008302961
+2008302962,2008302962
+2008302963,2008302963
+2008302964,2008302964
+2008302965,2008302965
+2008302966,2008302966
+2008302967,2008302967
+2008302968,2008302968
+2008302969,2008302969
+2008302970,2008302970
+2008302971,2008302971
+2008302972,2008302972
+2008302973,2008302973
+2008302974,2008302974
+2008302975,2008302975
+2008302976,2008302976
+2008302977,2008302977
+2008302978,2008302978
+2008302979,2008302979
+2008302980,2008302980
+2008302981,2008302981
+2008302982,2008302982
+2008302983,2008302983
+2008302984,2008302984
+2008302985,2008302985
+2008302986,2008302986
+2008302987,2008302987
+2008302988,2008302988
+2008302989,2008302989
+2008302990,2008302990
+2008302991,2008302991
+2008302992,2008302992
+2008302993,2008302993
+2008302994,2008302994
+2008302995,2008302995
+2008302996,2008302996
+2008302997,2008302997
+2008302998,2008302998
+2008302999,2008302999
+2008303000,2008303000
+2008303001,2008303001
+2008303002,2008303002
+2008303003,2008303003
+2008303004,2008303004
+2008303005,2008303005
+2008303006,2008303006
+2008303007,2008303007
+2008303008,2008303008
+2008303009,2008303009
+2008303010,2008303010
+2008303011,2008303011
+2008303012,2008303012
+2008303013,2008303013
+2008303014,2008303014
+2008303015,2008303015
+2008303016,2008303016
+2008303017,2008303017
+2008303018,2008303018
+2008303019,2008303019
+2008303021,2008303021
+2008303022,2008303022
+2008303024,2008303024
+2008303025,2008303025
+2008303026,2008303026
+2008303027,2008303027
+2008303028,2008303028
+2008303029,2008303029
+2008303031,2008303031
+2008303032,2008303032
+2008303033,2008303033
+2008303034,2008303034
+2008303035,2008303035
+2008303036,2008303036
+2008303037,2008303037
+2008303038,2008303038
+2008303039,2008303039
+2008303040,2008303040
+2008303041,2008303041
+2008303042,2008303042
+2008303043,2008303043
+2008303044,2008303044
+2008303045,2008303045
+2008303046,2008303046
+2008303047,2008303047
+2008303048,2008303048
+2008303049,2008303049
+2008303050,2008303050
+2008303051,2008303051
+2008303052,2008303052
+2008303053,2008303053
+2008303054,2008303054
+2008303055,2008303055
+2008303056,2008303056
+2008303057,2008303057
+2008303058,2008303058
+2008303059,2008303059
+2008303060,2008303060
+2008303061,2008303061
+2008303062,2008303062
+2008303063,2008303063
+2008303064,2008303064
+2008303065,2008303065
+2008303066,2008303066
+2008303067,2008303067
+2008303068,2008303068
+2008303069,2008303069
+2008303070,2008303070
+2008303071,2008303071
+2008303072,2008303072
+2008303073,2008303073
+2008303074,2008303074
+2008303075,2008303075
+2008303076,2008303076
+2008303077,2008303077
+2008303078,2008303078
+2008303079,2008303079
+2008303080,2008303080
+2008303081,2008303081
+2008303082,2008303082
+2008303083,2008303083
+2008303084,2008303084
+2008303085,2008303085
+2008303086,2008303086
+2008303087,2008303087
+2008303088,2008303088
+2008303089,2008303089
+2008303090,2008303090
+2008303091,2008303091
+2008303092,2008303092
+2008303093,2008303093
+2008303094,2008303094
+2008303095,2008303095
+2008303096,2008303096
+2008303097,2008303097
+2008303098,2008303098
+2008303099,2008303099
+2008303100,2008303100
+2008303101,2008303101
+2008303102,2008303102
+2008303103,2008303103
+2008303104,2008303104
+2008303105,2008303105
+2008303106,2008303106
+2008303107,2008303107
+2008303108,2008303108
+2008303109,2008303109
+2008303110,2008303110
+2008303111,2008303111
+2008303112,2008303112
+2008303113,2008303113
+2008303114,2008303114
+2008303115,2008303115
+2008303116,2008303116
+2008303117,2008303117
+2008303118,2008303118
+2008303119,2008303119
+2008303120,2008303120
+2008303121,2008303121
+2008303122,2008303122
+2008303123,2008303123
+2008303124,2008303124
+2008303125,2008303125
+2008303126,2008303126
+2008303127,2008303127
+2008303128,2008303128
+2008303129,2008303129
+2008303130,2008303130
+2008303132,2008303132
+2008303133,2008303133
+2008303134,2008303134
+2008303135,2008303135
+2008303136,2008303136
+2008303137,2008303137
+2008303138,2008303138
+2008303139,2008303139
+2008303140,2008303140
+2008303141,2008303141
+2008303142,2008303142
+2008303143,2008303143
+2008303144,2008303144
+2008303145,2008303145
+2008303146,2008303146
+2008303147,2008303147
+2008303148,2008303148
+2008303149,2008303149
+2008303150,2008303150
+2008303151,2008303151
+2008303152,2008303152
+2008303153,2008303153
+2008303154,2008303154
+2008303155,2008303155
+2008303156,2008303156
+2008303157,2008303157
+2008303158,2008303158
+2008303159,2008303159
+2008303160,2008303160
+2008303161,2008303161
+2008303162,2008303162
+2008303163,2008303163
+2008303164,2008303164
+2008303165,2008303165
+2008303166,2008303166
+2008303167,2008303167
+2008303168,2008303168
+2008303169,2008303169
+2008303170,2008303170
+2008303171,2008303171
+2008303172,2008303172
+2008303173,2008303173
+2008303174,2008303174
+2008303175,2008303175
+2008303176,2008303176
+2008303177,2008303177
+2008303178,2008303178
+2008303179,2008303179
+2008303180,2008303180
+2008303181,2008303181
+2008303182,2008303182
+2008303183,2008303183
+2008303184,2008303184
+2008303185,2008303185
+2008303186,2008303186
+2008303187,2008303187
+2008303188,2008303188
+2008303189,2008303189
+2008303190,2020100513
+2008303191,2008303191
+2008303192,2008303192
+2008303193,2008303193
+2008303194,2008303194
+2008303195,2008303195
+2008303196,2008303196
+2008303197,2008303197
+2008303198,2008303198
+2008303199,2008303199
+2008303200,2008303200
+2008303201,2008303201
+2008303202,2008303202
+2008303203,2008303203
+2008303204,2008303204
+2008303205,2008303205
+2008303206,2008303206
+2008303207,2008303207
+2008303208,2008303208
+2008303209,2008303209
+2008303210,2008303210
+2008303211,2008303211
+2008303212,2008303212
+2008303213,2008303213
+2008303214,2008303214
+2008303215,2008303215
+2008303216,2008303216
+2008303217,2008303217
+2008303218,2008303218
+2008303219,2008303219
+2008303220,2008303220
+2008303221,2008303221
+2008303222,2008303222
+2008303223,2008303223
+2008303224,2008303224
+2008303225,2008303225
+2008303226,2008303226
+2008303227,2008303227
+2008303228,2008303228
+2008303229,2008303229
+2008303230,2008303230
+2008303231,2008303231
+2008303232,2008303232
+2008303233,2008303233
+2008303234,2008303234
+2008303235,2008303235
+2008303236,2008303236
+2008303237,2008303237
+2008303238,2008303238
+2008303239,2008303239
+2008303240,2008303240
+2008303241,2008303241
+2008303242,2008303242
+2008303243,2008303243
+2008303244,2008303244
+2008303245,2008303245
+2008303246,2008303246
+2008303247,2008303247
+2008303248,2008303248
+2008303249,2008303249
+2008303250,2008303250
+2008303251,2008303251
+2008303252,2008303252
+2008303253,2008303253
+2008303254,2008303254
+2008303255,2008303255
+2008303256,2008303256
+2008303257,2008303257
+2008303258,2008303258
+2008303259,2008303259
+2008303260,2008303260
+2008303261,2008303261
+2008303262,2008303262
+2008303263,2008303263
+2008303264,2008303264
+2008303265,2008303265
+2008303266,2008303266
+2008303267,2008303267
+2008303268,2008303268
+2008303269,2008303269
+2008303270,2008303270
+2008303271,2008303271
+2008303272,2008303272
+2008303273,2008303273
+2008303274,2008303274
+2008303275,2008303275
+2008303276,2008303276
+2008303277,2008303277
+2008303278,2008303278
+2008303279,2008303279
+2008303280,2008303280
+2008303281,2008303281
+2008303282,2008303282
+2008303283,2008303283
+2008303284,2008303284
+2008303285,2008303285
+2008303286,2008303286
+2008303287,2008303287
+2008303288,2008303288
+2008303289,2008303289
+2008303290,2008303290
+2008303291,2008303291
+2008303292,2008303292
+2008303293,2008303293
+2008303294,2008303294
+2008303295,2008303295
+2008303296,2008303296
+2008303297,2008303297
+2008303298,2008303298
+2008303299,2008303299
+2008303300,2008303300
+2008303301,2008303301
+2008303302,2008303302
+2008303303,2008303303
+2008303304,2008303304
+2008303305,2008303305
+2008303306,2008303306
+2008303307,2008303307
+2008303308,2008303308
+2008303309,2008303309
+2008303310,2008303310
+2008303311,2008303311
+2008303312,2008303312
+2008303313,2008303313
+2008303314,2008303314
+2008303315,2008303315
+2008303316,2008303316
+2008303317,2008303317
+2008303318,2008303318
+2008303319,2008303319
+2008303320,2008303320
+2008303321,2008303321
+2008303322,2008303322
+2008303323,2008303323
+2008303324,2008303324
+2008303325,2008303325
+2008303326,2008303326
+2008303327,2008303327
+2008303328,2008303328
+2008303329,2008303329
+2008303330,2008303330
+2008303331,2008303331
+2008303332,2008303332
+2008303334,2008303334
+2008303335,2008303335
+2008303336,2008303336
+2008303337,2008303337
+2008303338,2008303338
+2008303339,2008303339
+2008303340,2008303340
+2008303341,2008303341
+2008303342,2008303342
+2008303343,2008303343
+2008303344,2008303344
+2008303345,2008303345
+2008303346,2008303346
+2008303347,2008303347
+2008303348,2008303348
+2008303349,2008303349
+2008303350,2008303350
+2008303351,2008303351
+2008303352,2008303352
+2008303353,2008303353
+2008303354,2008303354
+2008303355,2008303355
+2008303356,2008303356
+2008303357,2008303357
+2008303358,2008303358
+2008303359,2008303359
+2008303360,2008303360
+2008303361,2008303361
+2008303362,2008303362
+2008303363,2008303363
+2008303364,2008303364
+2008303365,2008303365
+2008303366,2008303366
+2008303367,2008303367
+2008303368,2008303368
+2008303369,2008303369
+2008303370,2008303370
+2008303371,2008303371
+2008303372,2008303372
+2008303373,2008303373
+2008303374,2008303374
+2008303375,2008303375
+2008303376,2008303376
+2008303377,2008303377
+2008303378,2008303378
+2008303379,2008303379
+2008303380,2008303380
+2008303381,2008303381
+2008303382,2008303382
+2008303383,2008303383
+2008303384,2008303384
+2008303385,2008303385
+2008303386,2008303386
+2008303387,2008303387
+2008303388,2008303388
+2008303389,2008303389
+2008303390,2008303390
+2008303391,2008303391
+2008303392,2008303392
+2008303393,2008303393
+2008303394,2008303394
+2008303395,2008303395
+2008303396,2008303396
+2008303397,2008303397
+2008303398,2008303398
+2008303399,2008303399
+2008303400,2008303400
+2008303401,2008303401
+2008303402,2008303402
+2008303403,2008303403
+2008303404,2008303404
+2008303405,2008303405
+2008303407,2008303407
+2008303408,2008303408
+2008303409,2008303409
+2008303410,2008303410
+2008303411,2008303411
+2008303412,2008303412
+2008303413,2008303413
+2008303414,2008303414
+2008303415,2008303415
+2008303416,2008303416
+2008303417,2008303417
+2008303418,2008303418
+2008303419,2008303419
+2008303420,2008303420
+2008303421,2008303421
+2008303422,2008303422
+2008303423,2008303423
+2008303424,2008303424
+2008303425,2008303425
+2008303426,2008303426
+2008303427,2008303427
+2008303428,2008303428
+2008303429,2008303429
+2008303430,2008303430
+2008303431,2008303431
+2008303432,2008303432
+2008303433,2008303433
+2008303434,2008303434
+2008303435,2008303435
+2008303436,2008303436
+2008303437,2008303437
+2008303438,2008303438
+2008303439,2008303439
+2008303440,2008303440
+2008303441,2008303441
+2008303442,2008303442
+2008303443,2008303443
+2008303444,2008303444
+2008303445,2008303445
+2008303446,2008303446
+2008303447,2008303447
+2008303448,2008303448
+2008303449,2008303449
+2008303450,2008303450
+2008303451,2008303451
+2008303452,2008303452
+2008303453,2008303453
+2008303454,2008303454
+2008303455,2008303455
+2008303456,2008303456
+2008303457,2008303457
+2008303458,2008303458
+2008303459,2008303459
+2008303460,2008303460
+2008303461,2008303461
+2008303462,2008303462
+2008303463,2008303463
+2008303464,2008303464
+2008303465,2008303465
+2008303466,2008303466
+2008303467,2008303467
+2008303468,2008303468
+2008303469,2008303469
+2008303470,2008303470
+2008303471,2008303471
+2008303472,2008303472
+2008303473,2008303473
+2008303474,2008303474
+2008303475,2008303475
+2008303476,2008303476
+2008303477,2008303477
+2008303478,2008303478
+2008303479,2008303479
+2008303480,2008303480
+2008303481,2008303481
+2008303482,2008303482
+2008303483,2008303483
+2008303484,2008303484
+2008303485,2008303485
+2008303486,2008303486
+2008303487,2008303487
+2008303488,2008303488
+2008303489,2008303489
+2008303490,2008303490
+2008303491,2008303491
+2008303492,2008303492
+2008303493,2008303493
+2008303494,2008303494
+2008303495,2008303495
+2008303496,2008303496
+2008303497,2008303497
+2008303498,2008303498
+2008303499,2008303499
+2008303500,2008303500
+2008303501,2008303501
+2008303502,2008303502
+2008303503,2008303503
+2008303504,2008303504
+2008303505,2008303505
+2008303506,2008303506
+2008303507,2008303507
+2008303508,2008303508
+2008303509,2008303509
+2008303510,2008303510
+2008303511,2008303511
+2008303512,2008303512
+2008303513,2008303513
+2008303514,2008303514
+2008303515,2008303515
+2008303516,2008303516
+2008303517,2008303517
+2008303518,2008303518
+2008303519,2008303519
+2008303520,2008303520
+2008303521,2008303521
+2008303522,2008303522
+2008303523,2008303523
+2008303524,2008303524
+2008303525,2008303525
+2008303526,2008303526
+2008303527,2008303527
+2008303528,2008303528
+2008303529,2008303529
+2008303530,2008303530
+2008303531,2008303531
+2008303532,2008303532
+2008303533,2008303533
+2008303534,2008303534
+2008303535,2008303535
+2008303536,2008303536
+2008303537,2008303537
+2008303538,2008303538
+2008303539,2008303539
+2008303540,2008303540
+2008303541,2008303541
+2008303542,2008303542
+2008303543,2008303543
+2008303544,2008303544
+2008303545,2008303545
+2008303546,2008303546
+2008303547,2008303547
+2008303548,2008303548
+2008303549,2008303549
+2008303550,2008303550
+2008303551,2008303551
+2008303552,2008303552
+2008303553,2008303553
+2008303554,2008303554
+2008303555,2008303555
+2008303556,2008303556
+2008303557,2008303557
+2008303558,2008303558
+2008303559,2008303559
+2008303560,2008303560
+2008303561,2008303561
+2008303562,2008303562
+2008303563,2008303563
+2008303564,2008303564
+2008303565,2008303565
+2008303566,2008303566
+2008303567,2008303567
+2008303568,2008303568
+2008303569,2008303569
+2008303570,2008303570
+2008303571,2008303571
+2008303572,2008303572
+2008303573,2008303573
+2008303574,2008303574
+2008303575,2008303575
+2008303576,2008303576
+2008303577,2008303577
+2008303578,2008303578
+2008303579,2008303579
+2008303580,2008303580
+2008303581,2008303581
+2008303582,2008303582
+2008303583,2008303583
+2008303584,2008303584
+2008303585,2008303585
+2008303586,2008303586
+2008303587,2008303587
+2008303588,2008303588
+2008303589,2008303589
+2008303590,2008303590
+2008303591,2008303591
+2008304000,2008304000
+2008304001,2008304001
+2008304002,2008304002
+2008304003,2008304003
+2008304004,2008304004
+2008304005,2008304005
+2008304006,2008304006
+2008304007,2008304007
+2008304008,2008304008
+2008304009,2008304009
+2008304010,2008304010
+2008304011,2008304011
+2008304012,2008304012
+2008304013,2008304013
+2008304014,2008304014
+2008304015,2008304015
+2008410014,2008410014
+2008410027,2008410027
+2008410028,2008410028
+2008410031,2008410031
+2008410033,2008410033
+2008410042,2008410042
+2008410074,2008410074
+2008410076,2008410076
+2008410079,2008410079
+2008410080,2008410080
+2008410096,2008410096
+2008410097,2008410097
+2008410098,2008410098
+2008420026,2008420026
+2008420029,2008420029
+2008420030,2008420030
+2008420032,2008420032
+2008420034,2008420034
+2008420035,2008420035
+2008420036,2008420036
+2008420037,2008420037
+2008420038,2008420038
+2008420039,2008420039
+2008420040,2008420040
+2008420041,2008420041
+2008420043,2008420043
+2008420044,2008420044
+2008420045,2008420045
+2008420067,2008420067
+2008420068,2008420068
+2008420071,2008420071
+2008420072,2008420072
+2008420073,2008420073
+2008420075,2008420075
+2008420081,2008420081
+2008420082,2008420082
+2008420099,2008420099
+2008420123,2008420123
+2008430004,2008430004
+2008430046,2008430046
+2008430047,2008430047
+2008430048,2008430048
+2008430049,2008430049
+2008430052,2008430052
+2008430053,2008430053
+2008430054,2008430054
+2008430055,2008430055
+2008430056,2008430056
+2008430057,2008430057
+2008430058,2008430058
+2008430062,2008430062
+2008430063,2008430063
+2008430064,2008430064
+2008430065,2008430065
+2008430066,2008430066
+2008430077,2008430077
+2009000114,2009000114
+2009000115,2009000115
+2009010001,2009010001
+2009010002,047050177
+2009010003,2009010003
+2009010004,047090244
+2009010008,2009010008
+2009010009,2009010009
+2009010010,2009010010
+2009010011,2009010011
+2009010012,057030013
+2009010013,2009010013
+2009010016,2009010016
+2009010020,057110335
+2009010023,2009010023
+2009010024,057060216
+2009010025,066126816
+2009010026,066090491
+2009010027,066136968
+2009010028,066090540
+2009010029,066086450
+2009010030,056100599
+2009010031,066030146
+2009010032,2009010032
+2009010033,057026002
+2009010034,066056353
+2009010035,066050282
+2009010036,2009010036
+2009010037,2009010037
+2009010038,066036141
+2009010043,066050304
+2009010044,046030197
+2009010045,047040157
+2009010046,2009010046
+2009010047,2009010047
+2009010048,2009010048
+2009010049,2009010049
+2009010053,2009010053
+2009010055,066066412
+2009010056,2009010056
+2009010061,2009010061
+2009010062,2009010062
+2009010063,2009010063
+2009010064,2009010064
+2009010066,2009010066
+2009010067,2009010067
+2009010068,2009010068
+2009010069,2009010069
+2009010070,066110713
+2009010071,057110332
+2009010073,057040116
+2009010077,2009010077
+2009010078,2009010078
+2009010079,066130765
+2009010080,2009010080
+2009010081,2009010081
+2009010082,2009010082
+2009010083,066090492
+2009010084,053429
+2009010085,053118
+2009010086,053164
+2009010089,2009010089
+2009010090,2009010090
+2009010092,047014076
+2009010093,2009010093
+2009010094,057090276
+2009010095,2009010095
+2009010096,046090502
+2009010097,2009010097
+2009010098,2009010098
+2009010099,057010068
+2009010100,047020090
+2009010101,047070214
+2009010102,066030128
+2009010103,2009010103
+2009010108,2009010108
+2009010109,2009010109
+2009010110,2009010110
+2009010117,2009010117
+2009010119,057110327
+2009010120,047030111
+2009010121,057090272
+2009010122,2009010122
+2009010123,057114215
+2009010124,2009010124
+2009010125,2009010125
+2009010126,2009010126
+2009010130,2009010130
+2009010131,2009010131
+2009010132,046090577
+2009010133,046106643
+2009010134,2009010134
+2009010135,2009010135
+2009010136,2009010136
+2009030005,057070218
+2009030006,047010063
+2009030007,2009030007
+2009030014,2009030014
+2009030015,047040146
+2009030017,2009030017
+2009030018,047010062
+2009030019,2009030019
+2009030021,046060379
+2009030022,2009030022
+2009030039,2009030039
+2009030040,047090238
+2009030041,2009030041
+2009030042,2009030042
+2009030050,2009030050
+2009030052,046030132
+2009030065,057110312
+2009030072,067010003
+2009030074,067010003
+2009030075,057090270
+2009030076,2009030076
+2009030087,047070203
+2009030088,2009030088
+2009030091,047080227
+2009030112,047080223
+2009030113,057070229
+2009030116,047020092
+2009030118,2009030118
+2009030127,057070221
+2009030128,2009030128
+2009030129,046090570
+2009100001,2009100001
+2009100002,2009100002
+2009100003,066016008
+2009100004,2005000048
+2009100005,066010018
+2009100006,2009100006
+2009100007,2009100007
+2009100008,2009100008
+2009100009,2009100009
+2009100010,2009100010
+2009100011,2009100011
+2009100012,2009100012
+2009100013,05614G002
+2009100014,2009100014
+2009100015,056026046
+2009100016,2009100016
+2009100017,066020100
+2009100018,2009100018
+2009100019,066026073
+2009100020,066026082
+2009100021,2009100021
+2009100022,2009100022
+2009100023,2009100023
+2009100024,066086514
+2009100025,2009100025
+2009100026,2009100026
+2009100027,2009100027
+2009100028,2009100028
+2009100029,2009100029
+2009100030,2009100030
+2009100031,2009100031
+2009100032,2009100032
+2009100033,2009100033
+2009100034,2009100034
+2009100035,2009100035
+2009100036,066016035
+2009100037,2009100037
+2009100038,2009100038
+2009100039,2009100039
+2009100040,046116001
+2009100041,2009100041
+2009100042,2009100042
+2009100043,2009100043
+2009100044,066046229
+2009100045,2009100045
+2009100046,2009100046
+2009100047,046056288
+2009100048,2009100048
+2009100049,2009100049
+2009100050,2009100050
+2009100051,2009100051
+2009100052,2009100052
+2009100053,2009100053
+2009100054,2009100054
+2009100055,066056271
+2009100056,046054042
+2009100057,066056397
+2009100058,2009100058
+2009100059,2009100059
+2009100060,2009100060
+2009100061,066050317
+2009100062,2009100062
+2009100063,2009100063
+2009100064,2009100064
+2009100065,066066415
+2009100066,2009100066
+2009100067,2009100067
+2009100068,2009100068
+2009100069,2009100069
+2009100070,2009100070
+2009100071,2009100071
+2009100072,2009100072
+2009100073,2009100073
+2009100074,2009100074
+2009100075,2009100075
+2009100076,2009100076
+2009100077,2009100077
+2009100078,2009100078
+2009100079,2009100079
+2009100080,2003020083
+2009100081,2009100081
+2009100082,1998000037
+2009100083,2009100083
+2009100084,2009100084
+2009100085,2009100085
+2009100086,2009100086
+2009100087,2009100087
+2009100088,2009100088
+2009100089,2004000006
+2009100090,2009100090
+2009100091,2009100091
+2009100092,2009100092
+2009100093,2009100093
+2009100094,2009100094
+2009100095,2009100095
+2009100096,2009100096
+2009100097,2009100097
+2009100098,2009100098
+2009100099,2001000020
+2009100100,2009100100
+2009100101,2009100101
+2009100102,2009100102
+2009100103,2009100103
+2009100104,2009100104
+2009100105,066100599
+2009100106,2009100106
+2009100107,2009100107
+2009100108,066116739
+2009100109,2009100109
+2009100110,2009100110
+2009100111,056115074
+2009100112,2009100112
+2009100113,2009100113
+2009100114,2008100438
+2009100115,2009100115
+2009100116,2009100116
+2009100117,2009100117
+2009100118,1996000083
+2009100119,2009100119
+2009100120,2009100120
+2009100121,2003000067
+2009100122,2009100122
+2009100123,2009100123
+2009100124,066100612
+2009100125,2009100125
+2009100126,2009100126
+2009100127,2009100127
+2009100128,2009100128
+2009100129,2009100129
+2009100130,2009100130
+2009100131,2009100131
+2009100132,066180776
+2009100133,066187048
+2009100134,066180773
+2009100135,066180774
+2009100136,2009100136
+2009100137,2008200013
+2009100138,050282
+2009100139,040412
+2009100140,2009100140
+2009100141,2007200015
+2009100142,050246
+2009100143,066016015
+2009100144,066090492
+2009100145,050049
+2009100146,2007200043
+2009100147,066016014
+2009100148,2007200049
+2009100149,2007200047
+2009100150,2009100150
+2009100151,066116742
+2009100152,050077
+2009100153,050016
+2009100154,040280
+2009100155,2009100155
+2009100156,066015001
+2009100157,2007200210
+2009100158,2007200101
+2009100159,2007200110
+2009100160,2007200109
+2009100161,2007200159
+2009100162,050032
+2009100163,2007200121
+2009100164,2007200106
+2009100165,040096
+2009100166,2009100166
+2009100167,056014017
+2009100168,050148
+2009100169,2007200128
+2009100170,2009100170
+2009100171,066014007
+2009100172,040110
+2009100173,2007200125
+2009100174,2007200215
+2009100175,050247
+2009100176,2009100176
+2009100177,2009100177
+2009100178,2009100178
+2009100179,2007200193
+2009100180,2007200166
+2009100181,066056310
+2009100182,040521
+2009100183,2007200218
+2009100184,040507
+2009100185,050328
+2009100186,2009100186
+2009100187,2008200243
+2009100188,040525
+2009100189,040513
+2009100190,051132
+2009100191,2007200247
+2009100192,2007200252
+2009100193,050432
+2009100194,051155
+2009100195,040823
+2009100196,050676
+2009100197,040832
+2009100198,066036166
+2009100199,2009100199
+2009100200,2007201012
+2009100201,2007200296
+2009100202,042530
+2009100203,040807
+2009100204,050675
+2009100205,040821
+2009100206,050643
+2009100207,2008200389
+2009100208,2007200342
+2009100209,2006000074
+2009100210,2009100210
+2009100211,056030149
+2009100212,2009100212
+2009100213,2009100213
+2009100214,042989
+2009100215,053491
+2009100216,2009100216
+2009100217,2009100217
+2009100218,2009100218
+2009100219,2007200363
+2009100220,050592
+2009100221,2009100221
+2009100222,056090517
+2009100223,2007201413
+2009100224,2007200963
+2009100225,050550
+2009100226,2007200276
+2009100227,040647
+2009100228,2007200433
+2009100229,2007200439
+2009100230,2008200446
+2009100231,2007200472
+2009100232,2009100232
+2009100233,050749
+2009100234,2008200448
+2009100235,2009100235
+2009100236,2009100236
+2009100237,2007200403
+2009100238,050738
+2009100239,2009100239
+2009100240,053544
+2009100241,2008200534
+2009100242,046046218
+2009100243,2009100243
+2009100244,2009100244
+2009100245,2007200452
+2009100246,2008200479
+2009100247,2007200417
+2009100248,2007200419
+2009100249,2007201537
+2009100250,050735
+2009100251,040849
+2009100252,2009100252
+2009100253,066116758
+2009100254,2008200462
+2009100255,2009100255
+2009100256,2009100256
+2009100257,2009100257
+2009100258,2007200448
+2009100259,2007200397
+2009100260,2007200449
+2009100261,2007200437
+2009100262,2009100262
+2009100263,046046141
+2009100264,2009100264
+2009100265,2009100265
+2009100266,2009100266
+2009100267,2007200425
+2009100268,040838
+2009100269,2007200532
+2009100270,040854
+2009100271,2009100271
+2009100272,2009100272
+2009100273,2007200468
+2009100274,2009100274
+2009100275,2009100275
+2009100276,040921
+2009100277,2009100277
+2009100278,2007200440
+2009100279,040955
+2009100280,2008200568
+2009100281,2007200513
+2009100282,050836
+2009100283,2005020132
+2009100284,2009100284
+2009100285,2008200587
+2009100286,2008200590
+2009100287,040044
+2009100288,2009100288
+2009100289,2009100289
+2009100290,2008200607
+2009100291,050868
+2009100292,2009100292
+2009100293,2009100293
+2009100294,040927
+2009100295,2007200526
+2009100296,2008200485
+2009100297,2009100297
+2009100298,2007200514
+2009100299,2007201423
+2009100300,2009100300
+2009100301,2007200742
+2009100302,051098
+2009100303,041507
+2009100304,2009100304
+2009100305,041143
+2009100306,066050247
+2009100307,2009100307
+2009100308,2009100308
+2009100309,2007200575
+2009100310,2007200578
+2009100311,066056300
+2009100312,051094
+2009100313,2008200668
+2009100314,066054071
+2009100315,051056
+2009100316,2009100316
+2009100317,2009100317
+2009100318,2007200612
+2009100319,051178
+2009100320,2008200645
+2009100321,066056325
+2009100322,2007200621
+2009100323,051014
+2009100324,2009100324
+2009100325,2009100325
+2009100326,051214
+2009100327,2009100327
+2009100328,046056354
+2009100329,066056399
+2009100330,2009100330
+2009100331,2009100331
+2009100332,2009100332
+2009100333,2009100333
+2009100334,2009100334
+2009100335,2009100335
+2009100336,2007200680
+2009100337,2009100337
+2009100338,051018
+2009100339,2007200581
+2009100340,2009100340
+2009100341,2009100341
+2009100342,2008200784
+2009100343,050927
+2009100344,2008200795
+2009100345,2007200720
+2009100346,2007200579
+2009100347,2007200538
+2009100348,2009100348
+2009100349,041095
+2009100350,040115
+2009100351,2007200626
+2009100352,2007201490
+2009100353,2007200751
+2009100354,052826
+2009100355,2009100355
+2009100356,051311
+2009100357,2007200758
+2009100358,2008200843
+2009100359,2009100359
+2009100360,2007200761
+2009100361,2007200773
+2009100362,2007200764
+2009100363,041409
+2009100364,2009100364
+2009100365,2009100365
+2009100366,2007200774
+2009100367,051300
+2009100368,2009100368
+2009100369,2007200768
+2009100370,2007200772
+2009100371,051315
+2009100372,2009100372
+2009100373,2007200784
+2009100374,2007200813
+2009100375,2007200843
+2009100376,2007200866
+2009100377,2007200840
+2009100378,066070366
+2009100379,041670
+2009100380,041716
+2009100381,051581
+2009100382,2007200842
+2009100383,2008200916
+2009100384,2007240005
+2009100385,2009100385
+2009100386,041681
+2009100387,051624
+2009100388,2009100388
+2009100389,2007200821
+2009100390,051685
+2009100391,2008200949
+2009100392,2007200810
+2009100393,2008200887
+2009100394,2009100394
+2009100395,2007200896
+2009100396,2007201001
+2009100397,2009100397
+2009100398,2008201006
+2009100399,2003020086
+2009100400,2007200908
+2009100401,041855
+2009100402,2007201055
+2009100403,2009100403
+2009100404,2009100404
+2009100405,2009100405
+2009100406,2007201316
+2009100407,2009100407
+2009100408,2009100408
+2009100409,2007200936
+2009100410,2007200922
+2009100411,2009100411
+2009100412,2007200956
+2009100413,2009100413
+2009100414,2009100414
+2009100415,2007200095
+2009100416,2009100416
+2009100417,042719
+2009100418,046086485
+2009100419,042078
+2009100420,2009100420
+2009100421,040054
+2009100422,2009100422
+2009100423,042519
+2009100424,2008201390
+2009100425,2009100425
+2009100426,2007201225
+2009100427,2008201400
+2009100428,2007200316
+2009100429,066090555
+2009100430,2007200186
+2009100431,2007201022
+2009100432,2007201152
+2009100433,2009100433
+2009100434,2007201158
+2009100435,042241
+2009100436,066110645
+2009100437,2007201136
+2009100438,2007201232
+2009100439,2007201195
+2009100440,2006000037
+2009100441,2009100441
+2009100442,2009100442
+2009100443,2009100443
+2009100444,2009100444
+2009100445,066135040
+2009100446,2009100446
+2009100447,2009100447
+2009100448,2007201262
+2009100449,2009100449
+2009100450,2007200219
+2009100451,2009100451
+2009100452,2009100452
+2009100453,066096642
+2009100454,2008201405
+2009100455,2009100455
+2009100456,2007201253
+2009100457,2009100457
+2009100458,2008201473
+2009100459,2008201973
+2009100460,042697
+2009100461,2009100461
+2009100462,2007201363
+2009100463,2009100463
+2009100464,2009100464
+2009100465,2007201823
+2009100466,043821
+2009100467,2007201385
+2009100468,2009100468
+2009100469,2006000028
+2009100470,052792
+2009100471,2008201587
+2009100472,2007201445
+2009100473,2007201444
+2009100474,042834
+2009100475,2007201453
+2009100476,2007201455
+2009100477,2009100477
+2009100478,2007201460
+2009100479,2009100479
+2009100480,2009100480
+2009100481,052850
+2009100482,2007201467
+2009100483,052941
+2009100484,053051
+2009100485,2009100485
+2009100486,2009100486
+2009100487,2009100487
+2009100488,2009100488
+2009100489,053014
+2009100490,043117
+2009100491,2009100491
+2009100492,2007201496
+2009100493,043086
+2009100494,043084
+2009100495,2007201473
+2009100496,043093
+2009100497,052846
+2009100498,2009100498
+2009100499,2007201507
+2009100500,052909
+2009100501,2009100501
+2009100502,2007201519
+2009100503,2007201520
+2009100504,043118
+2009100505,053050
+2009100506,2007201524
+2009100507,2009100507
+2009100508,2007201543
+2009100509,2007201576
+2009100510,2007201553
+2009100511,2009100511
+2009100512,2009100512
+2009100513,2007201557
+2009100514,2009100514
+2009100515,2009100515
+2009100516,2003000093
+2009100517,066056403
+2009100518,2009100518
+2009100519,2007201571
+2009100520,2005020131
+2009100521,2007201566
+2009100522,2009100522
+2009100523,066130760
+2009100524,2008202050
+2009100525,2007201863
+2009100526,066180777
+2009100527,066187047
+2009100528,2008010033
+2009100529,066187049
+2009140001,2009140001
+2009140002,1988000043
+2009140003,2009140003
+2009150001,2009150001
+2009150002,2009150002
+2009150003,2009150003
+2009150004,2008150003
+2009150005,2009150005
+2009150006,2009150006
+2009150007,2009150007
+2009150008,2009150008
+2009150009,2009150009
+2009150010,2009150010
+2009150011,2009150011
+2009150012,2009150012
+2009150013,2009150013
+2009200001,050001
+2009200002,050280
+2009200003,040318
+2009200004,050267
+2009200005,050186
+2009200006,2009200006
+2009200007,050161
+2009200008,2009200008
+2009200009,050143
+2009200010,050122
+2009200011,2009200011
+2009200012,050025
+2009200013,050116
+2009200014,040233
+2009200015,050110
+2009200016,050113
+2009200017,2009200017
+2009200018,053514
+2009200019,053511
+2009200020,050270
+2009200021,2009200021
+2009200022,2009200022
+2009200023,2009200023
+2009200024,050093
+2009200025,050090
+2009200026,2009200026
+2009200027,2009200027
+2009200028,050279
+2009200029,2009200029
+2009200030,050284
+2009200031,051308
+2009200032,050121
+2009200033,050158
+2009200034,050146
+2009200035,050130
+2009200036,050010
+2009200037,050184
+2009200038,2009200038
+2009200039,2009200039
+2009200040,050107
+2009200041,050272
+2009200042,2009200042
+2009200043,2009200043
+2009200044,2009200044
+2009200045,050173
+2009200046,050291
+2009200047,2009200047
+2009200048,2009200048
+2009200049,050289
+2009200050,050071
+2009200051,2009200051
+2009200052,2009200052
+2009200053,050139
+2009200054,2009200054
+2009200055,050117
+2009200056,050150
+2009200057,2009200057
+2009200058,050123
+2009200059,050128
+2009200060,040215
+2009200061,2009200061
+2009200062,2009200062
+2009200063,050287
+2009200064,050371
+2009200065,050101
+2009200066,050288
+2009200067,050017
+2009200068,050285
+2009200069,2009200069
+2009200070,053507
+2009200071,050081
+2009200072,2009200072
+2009200073,050241
+2009200074,050178
+2009200075,2009200075
+2009200076,050106
+2009200077,040102
+2009200078,050014
+2009200079,053578
+2009200080,050085
+2009200081,050171
+2009200082,2009200082
+2009200083,050235
+2009200084,2009200084
+2009200085,050140
+2009200086,050036
+2009200087,050179
+2009200088,2009200088
+2009200089,2009200089
+2009200090,050011
+2009200091,040875
+2009200092,2009200092
+2009200093,2009200093
+2009200094,2009200094
+2009200095,050249
+2009200096,050263
+2009200097,040463
+2009200098,050296
+2009200099,050293
+2009200100,050306
+2009200101,050212
+2009200102,040352
+2009200103,2009200103
+2009200104,2009200104
+2009200105,2009200105
+2009200106,050311
+2009200107,2009200107
+2009200108,050191
+2009200109,2009200109
+2009200110,050195
+2009200111,050295
+2009200112,050037
+2009200113,2009200113
+2009200114,2009200114
+2009200115,2009200115
+2009200116,050092
+2009200117,050044
+2009200118,2009200118
+2009200119,2009200119
+2009200120,2009200120
+2009200121,050153
+2009200122,050254
+2009200123,040330
+2009200124,050070
+2009200125,053549
+2009200126,053554
+2009200127,053495
+2009200128,2009200128
+2009200129,050239
+2009200130,050181
+2009200131,050138
+2009200132,2009200132
+2009200133,2009200133
+2009200134,2009200134
+2009200135,2009200135
+2009200136,2009200136
+2009200137,050245
+2009200138,050109
+2009200139,050220
+2009200140,2009200140
+2009200141,050064
+2009200142,050108
+2009200143,050175
+2009200144,2009200144
+2009200145,050068
+2009200146,053551
+2009200147,053467
+2009200148,053577
+2009200149,050200
+2009200150,053477
+2009200151,2009200151
+2009200152,050102
+2009200153,050160
+2009200154,050129
+2009200155,050136
+2009200156,053589
+2009200157,050027
+2009200158,2009200158
+2009200159,050163
+2009200160,2009200160
+2009200161,050009
+2009200162,2009200162
+2009200163,051263
+2009200164,2009200164
+2009200165,050238
+2009200166,050180
+2009200167,2009200167
+2009200168,2009200168
+2009200169,2009200169
+2009200170,2009200170
+2009200171,2009200171
+2009200172,2009200172
+2009200173,050075
+2009200174,2009200174
+2009200175,2009200175
+2009200176,050035
+2009200177,050133
+2009200178,2009200178
+2009200179,2009200179
+2009200180,2009200180
+2009200181,050103
+2009200182,050240
+2009200183,050115
+2009200184,050124
+2009200185,050166
+2009200186,050002
+2009200187,050100
+2009200188,2009200188
+2009200189,050048
+2009200190,050087
+2009200191,2009200191
+2009200192,050141
+2009200193,040205
+2009200194,2009200194
+2009200195,050266
+2009200197,040533
+2009200198,050387
+2009200199,050395
+2009200200,053488
+2009200201,2009200201
+2009200202,050386
+2009200203,2009200203
+2009200204,050389
+2009200205,050377
+2009200206,052167
+2009200207,050392
+2009200208,2009200208
+2009200209,2009200209
+2009200210,2009200210
+2009200211,050381
+2009200212,052449
+2009200213,2009200213
+2009200214,2009200214
+2009200215,050415
+2009200216,050408
+2009200217,040547
+2009200218,2009200218
+2009200219,050398
+2009200220,040554
+2009200221,040542
+2009200222,050374
+2009200223,2009200223
+2009200224,050399
+2009200225,050388
+2009200226,2009200226
+2009200227,050376
+2009200228,2009200228
+2009200229,050396
+2009200230,2009200230
+2009200231,052156
+2009200232,2009200232
+2009200233,2009200233
+2009200234,040565
+2009200235,053556
+2009200236,053584
+2009200237,053572
+2009200238,053552
+2009200239,050352
+2009200240,040505
+2009200241,050367
+2009200242,2009200242
+2009200243,050375
+2009200244,053510
+2009200245,053505
+2009200246,040478
+2009200247,2009200247
+2009200248,040514
+2009200249,050358
+2009200250,050317
+2009200251,050355
+2009200252,050349
+2009200253,2009200253
+2009200254,050353
+2009200255,050369
+2009200256,050348
+2009200257,050357
+2009200258,050338
+2009200259,2009200259
+2009200260,050350
+2009200261,050351
+2009200262,040465
+2009200263,2009200263
+2009200264,050343
+2009200265,050344
+2009200266,050325
+2009200267,050324
+2009200268,040489
+2009200269,050322
+2009200270,050333
+2009200271,053528
+2009200272,040486
+2009200273,050318
+2009200274,050342
+2009200275,040535
+2009200276,051508
+2009200277,053570
+2009200278,050347
+2009200279,040553
+2009200280,040502
+2009200281,2009200281
+2009200282,2009200282
+2009200283,2009200283
+2009200284,050433
+2009200285,050437
+2009200286,053502
+2009200287,2009200287
+2009200288,050439
+2009200289,050424
+2009200290,050430
+2009200291,050443
+2009200292,2009200292
+2009200293,2009200293
+2009200294,050447
+2009200295,2009200295
+2009200296,051666
+2009200297,050446
+2009200298,2009200298
+2009200299,050442
+2009200300,050428
+2009200301,2009200301
+2009200302,050473
+2009200303,052852
+2009200304,2009200304
+2009200305,2009200305
+2009200306,050434
+2009200307,2009200307
+2009200308,050567
+2009200309,053517
+2009200310,040827
+2009200311,053543
+2009200312,053545
+2009200313,050663
+2009200314,050666
+2009200315,040833
+2009200316,050596
+2009200317,050480
+2009200318,040635
+2009200319,052191
+2009200320,2009200320
+2009200321,2009200321
+2009200322,050494
+2009200323,050511
+2009200324,2009200324
+2009200325,2009200325
+2009200326,2009200326
+2009200327,050642
+2009200328,050498
+2009200329,050452
+2009200330,050457
+2009200331,050465
+2009200332,050458
+2009200333,2009200333
+2009200334,050526
+2009200335,2009200335
+2009200336,2009200336
+2009200337,2009200337
+2009200338,050553
+2009200339,050539
+2009200340,2009200340
+2009200341,050570
+2009200342,050594
+2009200343,050578
+2009200344,2009200344
+2009200345,2009200345
+2009200346,2009200346
+2009200347,050623
+2009200348,2009200348
+2009200349,050565
+2009200350,050540
+2009200351,050588
+2009200352,050537
+2009200353,050587
+2009200354,2009200354
+2009200355,2009200355
+2009200356,050561
+2009200357,053562
+2009200358,2009200358
+2009200359,2009200359
+2009200360,2009200360
+2009200361,2009200361
+2009200362,2009200362
+2009200363,050579
+2009200364,050571
+2009200365,050538
+2009200366,050554
+2009200367,050612
+2009200368,050615
+2009200369,2009200369
+2009200370,051280
+2009200371,053509
+2009200372,2009200372
+2009200373,050522
+2009200374,2009200374
+2009200375,2009200375
+2009200376,2009200376
+2009200377,2009200377
+2009200378,050515
+2009200379,2009200379
+2009200380,053503
+2009200381,053500
+2009200382,050533
+2009200383,2009200383
+2009200384,2009200384
+2009200385,2009200385
+2009200386,2009200386
+2009200387,050558
+2009200388,050653
+2009200389,2009200389
+2009200390,2009200390
+2009200391,050484
+2009200392,2009200392
+2009200393,2009200393
+2009200394,2009200394
+2009200395,050674
+2009200396,2009200396
+2009200397,2009200397
+2009200398,2009200398
+2009200399,053530
+2009200400,053531
+2009200401,052406
+2009200402,053533
+2009200403,053590
+2009200404,050640
+2009200405,050664
+2009200406,050645
+2009200407,040798
+2009200408,2009200408
+2009200409,2009200409
+2009200410,2009200410
+2009200411,2009200411
+2009200412,2009200412
+2009200413,050630
+2009200414,050624
+2009200415,2009200415
+2009200416,050626
+2009200417,050510
+2009200418,2009200418
+2009200419,050542
+2009200420,2009200420
+2009200421,2009200421
+2009200422,050524
+2009200423,050461
+2009200424,050572
+2009200425,2009200425
+2009200426,2009200426
+2009200427,2009200427
+2009200428,040664
+2009200429,050519
+2009200430,050464
+2009200431,050503
+2009200432,050482
+2009200433,053527
+2009200434,053521
+2009200435,050483
+2009200436,050506
+2009200437,2009200437
+2009200438,2009200438
+2009200439,2009200439
+2009200440,2009200440
+2009200441,2009200441
+2009200442,050502
+2009200443,050513
+2009200444,2009200444
+2009200445,2009200445
+2009200446,2009200446
+2009200447,2009200447
+2009200448,050512
+2009200449,050501
+2009200450,2009200450
+2009200451,050455
+2009200452,050453
+2009200453,050523
+2009200454,050505
+2009200455,2009200455
+2009200456,050658
+2009200457,050659
+2009200458,050668
+2009200459,050662
+2009200460,050665
+2009200461,2009200461
+2009200462,050655
+2009200470,2009200470
+2009200471,2009200471
+2009200472,050861
+2009200473,2009200473
+2009200474,050757
+2009200475,2009200475
+2009200476,2009200476
+2009200477,2009200477
+2009200478,2009200478
+2009200479,050889
+2009200480,050895
+2009200481,2009200481
+2009200482,2009200482
+2009200483,2009200483
+2009200484,2009200484
+2009200485,2009200485
+2009200486,2009200486
+2009200487,2009200487
+2009200488,2009200488
+2009200489,2009200489
+2009200490,2009200490
+2009200491,2009200491
+2009200492,050680
+2009200493,050890
+2009200494,2009200494
+2009200495,2009200495
+2009200496,2009200496
+2009200497,050748
+2009200498,050873
+2009200499,2009200499
+2009200500,2009200500
+2009200501,2009200501
+2009200502,050739
+2009200503,2009200503
+2009200504,2009200504
+2009200505,040866
+2009200506,2009200506
+2009200507,050708
+2009200508,050891
+2009200509,050882
+2009200510,050706
+2009200511,2009200511
+2009200512,2009200512
+2009200513,2009200513
+2009200514,2009200514
+2009200515,2009200515
+2009200516,050687
+2009200517,050758
+2009200518,2009200518
+2009200519,2009200519
+2009200520,053083
+2009200521,053074
+2009200522,2009200522
+2009200523,2009200523
+2009200524,050705
+2009200525,2009200525
+2009200526,2009200526
+2009200527,050837
+2009200528,2009200528
+2009200529,2009200529
+2009200530,2009200530
+2009200531,053092
+2009200532,2009200532
+2009200533,2009200533
+2009200534,050677
+2009200535,050733
+2009200536,2009200536
+2009200537,2009200537
+2009200538,050874
+2009200539,2009200539
+2009200540,2009200540
+2009200541,050714
+2009200542,2009200542
+2009200543,2009200543
+2009200544,2009200544
+2009200545,2009200545
+2009200546,2009200546
+2009200547,050879
+2009200548,2009200548
+2009200549,2009200549
+2009200550,2009200550
+2009200551,2009200551
+2009200552,2009200552
+2009200553,2009200553
+2009200554,2009200554
+2009200555,2009200555
+2009200556,2009200556
+2009200557,2009200557
+2009200558,2009200558
+2009200559,2009200559
+2009200560,2009200560
+2009200561,050736
+2009200562,2009200562
+2009200563,050745
+2009200564,2009200564
+2009200565,2009200565
+2009200566,2009200566
+2009200567,2009200567
+2009200568,2009200568
+2009200569,2009200569
+2009200570,2009200570
+2009200571,2009200571
+2009200572,2009200572
+2009200573,2009200573
+2009200574,2009200574
+2009200575,050802
+2009200576,050810
+2009200577,2009200577
+2009200578,2009200578
+2009200579,2009200579
+2009200580,050782
+2009200581,050862
+2009200582,2009200582
+2009200583,2009200583
+2009200584,2009200584
+2009200585,2009200585
+2009200586,2009200586
+2009200587,2009200587
+2009200588,2009200588
+2009200589,050846
+2009200590,050764
+2009200591,050842
+2009200592,2009200592
+2009200593,050860
+2009200594,2009200594
+2009200595,2009200595
+2009200596,2009200596
+2009200597,2009200597
+2009200598,2009200598
+2009200599,2009200599
+2009200600,2009200600
+2009200601,2009200601
+2009200602,2009200602
+2009200603,2009200603
+2009200604,050834
+2009200605,2009200605
+2009200606,2009200606
+2009200607,2009200607
+2009200608,2009200608
+2009200609,052927
+2009200610,050690
+2009200611,2009200611
+2009200612,2009200612
+2009200613,2009200613
+2009200614,050803
+2009200615,2009200615
+2009200616,2009200616
+2009200617,2009200617
+2009200618,2009200618
+2009200619,2009200619
+2009200620,050815
+2009200621,2009200621
+2009200622,2009200622
+2009200623,050775
+2009200624,050847
+2009200625,2009200625
+2009200626,2009200626
+2009200627,050785
+2009200628,050813
+2009200629,2009200629
+2009200630,2009200630
+2009200631,2009200631
+2009200632,2009200632
+2009200633,2009200633
+2009200634,2009200634
+2009200635,2009200635
+2009200636,2009200636
+2009200637,2009200637
+2009200638,2009200638
+2009200639,053232
+2009200640,050843
+2009200641,2009200641
+2009200642,2009200642
+2009200643,2009200643
+2009200644,2009200644
+2009200645,050812
+2009200646,2009200646
+2009200647,2009200647
+2009200648,2009200648
+2009200649,050859
+2009200650,050799
+2009200651,2009200651
+2009200652,2009200652
+2009200653,2009200653
+2009200654,2009200654
+2009200655,050856
+2009200656,2009200656
+2009200657,2009200657
+2009200658,2009200658
+2009200659,2009200659
+2009200660,2009200660
+2009200661,2009200661
+2009200662,2009200662
+2009200663,050761
+2009200688,2009200688
+2009200689,2009200689
+2009200690,051174
+2009200691,2009200691
+2009200692,052916
+2009200693,2009200693
+2009200694,051064
+2009200695,051086
+2009200696,2009200696
+2009200697,2009200697
+2009200698,2009200698
+2009200699,2009200699
+2009200700,2009200700
+2009200701,2009200701
+2009200702,2009200702
+2009200703,051068
+2009200704,2009200704
+2009200705,051187
+2009200706,2009200706
+2009200707,2009200707
+2009200708,2009200708
+2009200709,041140
+2009200710,2009200710
+2009200711,2009200711
+2009200712,2009200712
+2009200713,2009200713
+2009200714,2009200714
+2009200715,051074
+2009200716,051051
+2009200717,050489
+2009200718,2009200718
+2009200719,2009200719
+2009200720,051079
+2009200721,2009200721
+2009200722,051287
+2009200723,053575
+2009200724,053566
+2009200725,051099
+2009200726,041189
+2009200727,2009200727
+2009200728,051035
+2009200729,051069
+2009200730,2009200730
+2009200731,051175
+2009200732,2009200732
+2009200733,2009200733
+2009200734,052842
+2009200735,2009200735
+2009200736,051101
+2009200737,041183
+2009200738,2009200738
+2009200739,051032
+2009200740,041182
+2009200741,051083
+2009200742,050671
+2009200743,052843
+2009200744,051162
+2009200745,053558
+2009200746,051271
+2009200747,2009200747
+2009200748,051171
+2009200749,2009200749
+2009200750,2009200750
+2009200751,2009200751
+2009200752,2009200752
+2009200753,2009200753
+2009200754,051117
+2009200755,2009200755
+2009200756,2009200756
+2009200757,2009200757
+2009200758,2009200758
+2009200759,051055
+2009200760,041136
+2009200761,2009200761
+2009200762,2009200762
+2009200763,2009200763
+2009200764,2009200764
+2009200765,2009200765
+2009200766,2009200766
+2009200767,051058
+2009200768,2009200768
+2009200769,2009200769
+2009200770,051043
+2009200771,2009200771
+2009200772,051050
+2009200773,2009200773
+2009200774,2009200774
+2009200775,2009200775
+2009200776,2009200776
+2009200777,051047
+2009200778,2009200778
+2009200779,2009200779
+2009200780,051164
+2009200781,2009200781
+2009200782,2009200782
+2009200783,041235
+2009200784,2009200784
+2009200785,2009200785
+2009200786,2009200786
+2009200787,2009200787
+2009200788,2009200788
+2009200789,2009200789
+2009200790,051062
+2009200791,051165
+2009200792,041282
+2009200793,051190
+2009200794,041289
+2009200795,041285
+2009200796,051201
+2009200797,2009200797
+2009200798,2009200798
+2009200799,051204
+2009200800,2009200800
+2009200801,041790
+2009200802,051106
+2009200803,053650
+2009200804,051025
+2009200805,051134
+2009200806,053745
+2009200807,2009200807
+2009200808,051119
+2009200809,2009200809
+2009200810,2009200810
+2009200811,051026
+2009200812,2009200812
+2009200813,2009200813
+2009200814,041239
+2009200815,2009200815
+2009200816,2009200816
+2009200817,050902
+2009200818,2009200818
+2009200819,2009200819
+2009200820,050901
+2009200821,051218
+2009200822,041312
+2009200823,2009200823
+2009200824,050910
+2009200825,051221
+2009200826,051225
+2009200827,2009200827
+2009200828,2009200828
+2009200829,051102
+2009200830,051131
+2009200831,2009200831
+2009200832,043025
+2009200833,2009200833
+2009200834,2009200834
+2009200835,051272
+2009200836,050946
+2009200837,040052
+2009200838,2009200838
+2009200839,2009200839
+2009200840,2009200840
+2009200841,051009
+2009200842,2009200842
+2009200843,041158
+2009200844,2009200844
+2009200845,051028
+2009200846,2009200846
+2009200847,2009200847
+2009200848,050985
+2009200849,051070
+2009200850,041251
+2009200851,042891
+2009200852,050979
+2009200853,050964
+2009200854,2009200854
+2009200855,041096
+2009200856,2009200856
+2009200857,050956
+2009200858,2009200858
+2009200859,050930
+2009200860,050965
+2009200861,051004
+2009200862,053484
+2009200863,050974
+2009200864,041170
+2009200865,051141
+2009200866,2009200866
+2009200867,2009200867
+2009200868,051150
+2009200869,053225
+2009200870,2009200870
+2009200871,053479
+2009200872,050952
+2009200873,053492
+2009200874,2009200874
+2009200875,2009200875
+2009200876,2009200876
+2009200877,050966
+2009200878,050987
+2009200879,050943
+2009200880,050977
+2009200881,2009200881
+2009200882,050961
+2009200883,050986
+2009200884,041060
+2009200885,050975
+2009200886,050940
+2009200887,050931
+2009200888,050944
+2009200889,050929
+2009200890,050922
+2009200891,050942
+2009200892,050989
+2009200893,050948
+2009200894,2009200894
+2009200895,2009200895
+2009200896,2009200896
+2009200897,2009200897
+2009200898,050924
+2009200899,050926
+2009200900,042905
+2009200901,053497
+2009200902,053486
+2009200903,050951
+2009200904,053534
+2009200905,053548
+2009200906,053569
+2009200907,041033
+2009200908,2007240025
+2009200909,050981
+2009200910,051006
+2009200911,052922
+2009200912,050991
+2009200913,053478
+2009200914,053508
+2009200915,053469
+2009200916,050994
+2009200917,053546
+2009200918,053493
+2009200919,053501
+2009200920,040092
+2009200921,052925
+2009200922,051258
+2009200923,2009200923
+2009200924,2009200924
+2009200925,051241
+2009200941,040480
+2009200942,052785
+2009200943,2009200943
+2009200944,2009200944
+2009200945,2009200945
+2009200946,041535
+2009200947,2009200947
+2009200948,051329
+2009200949,050885
+2009200950,051312
+2009200951,051375
+2009200952,040992
+2009200953,051310
+2009200954,051309
+2009200955,051389
+2009200956,051295
+2009200957,2009200957
+2009200958,2009200958
+2009200959,052816
+2009200960,051414
+2009200961,2009200961
+2009200962,052719
+2009200963,051316
+2009200964,051342
+2009200965,041550
+2009200966,2009200966
+2009200967,2009200967
+2009200968,051331
+2009200969,051405
+2009200970,041575
+2009200971,041589
+2009200972,2009200972
+2009200973,2009200973
+2009200974,041581
+2009200975,051401
+2009200976,051319
+2009200977,2009200977
+2009200978,051352
+2009200979,2009200979
+2009200980,041449
+2009200981,051378
+2009200982,2009200982
+2009200983,051400
+2009200984,051398
+2009200985,041504
+2009200986,051385
+2009200987,051630
+2009200988,2009200988
+2009200989,2009200989
+2009200990,051626
+2009200991,051559
+2009200992,051616
+2009200993,051601
+2009200994,2009200994
+2009200995,041682
+2009200996,051466
+2009200997,041621
+2009200998,051613
+2009200999,051479
+2009201000,051464
+2009201001,051634
+2009201002,051622
+2009201003,051450
+2009201004,051480
+2009201005,051608
+2009201006,051460
+2009201007,041595
+2009201008,2009201008
+2009201009,051687
+2009201010,2009201010
+2009201011,2009201011
+2009201012,051673
+2009201013,2009201013
+2009201014,051658
+2009201015,2007010097
+2009201016,051696
+2009201017,051690
+2009201018,051662
+2009201019,2009201019
+2009201020,041761
+2009201021,051686
+2009201022,051669
+2009201023,051481
+2009201024,041675
+2009201025,051529
+2009201026,051475
+2009201027,051478
+2009201028,041676
+2009201029,051609
+2009201030,051514
+2009201031,051593
+2009201032,051509
+2009201033,051589
+2009201034,051487
+2009201035,051492
+2009201036,2009201036
+2009201037,051683
+2009201038,2009201038
+2009201039,051528
+2009201040,041671
+2009201041,2009201041
+2009201042,051532
+2009201043,051689
+2009201044,2009201044
+2009201045,051521
+2009201046,2009201046
+2009201047,051546
+2009201048,041717
+2009201049,2009201049
+2009201050,2009201050
+2009201051,2009201051
+2009201052,051544
+2009201053,051452
+2009201054,053568
+2009201055,051618
+2009201056,051461
+2009201057,2009201057
+2009201058,051497
+2009201059,041660
+2009201060,2009201060
+2009201061,051523
+2009201062,041617
+2009201063,051538
+2009201064,041649
+2009201065,2009201065
+2009201066,051534
+2009201067,051555
+2009201068,041657
+2009201069,2009201069
+2009201070,041625
+2009201071,2009201071
+2009201072,051565
+2009201073,2009201073
+2009201074,2009201074
+2009201075,041656
+2009201076,051465
+2009201077,2009201077
+2009201078,2009201078
+2009201079,051455
+2009201080,2009201080
+2009201081,051654
+2009201082,041772
+2009201083,051674
+2009201084,051596
+2009201085,051451
+2009201086,041684
+2009201087,2009201087
+2009201088,051611
+2009201089,051488
+2009201090,2009201090
+2009201091,051606
+2009201099,2009201099
+2009201100,2009201100
+2009201101,2009201101
+2009201102,2009201102
+2009201103,2009201103
+2009201104,2009201104
+2009201105,2009201105
+2009201106,2009201106
+2009201107,2009201107
+2009201108,051735
+2009201109,2009201109
+2009201110,051730
+2009201111,041839
+2009201112,2009201112
+2009201113,2009201113
+2009201114,051819
+2009201115,051833
+2009201116,2009201116
+2009201117,2009201117
+2009201118,051796
+2009201119,2009201119
+2009201120,051705
+2009201121,2009201121
+2009201122,053542
+2009201123,051714
+2009201124,2009201124
+2009201125,052037
+2009201126,051770
+2009201127,2009201127
+2009201128,2009201128
+2009201129,051710
+2009201130,041864
+2009201131,2009201131
+2009201132,2009201132
+2009201133,2009201133
+2009201134,040443
+2009201135,051839
+2009201136,051717
+2009201137,2009201137
+2009201138,041794
+2009201139,2009201139
+2009201140,051899
+2009201141,051891
+2009201142,051970
+2009201143,051977
+2009201144,051875
+2009201145,042003
+2009201146,2009201146
+2009201147,051818
+2009201148,052008
+2009201149,041816
+2009201150,051782
+2009201151,2009201151
+2009201152,2009201152
+2009201153,051861
+2009201154,051864
+2009201155,051967
+2009201156,041962
+2009201157,051854
+2009201158,051892
+2009201159,051806
+2009201160,2009201160
+2009201161,2009201161
+2009201162,051756
+2009201163,051755
+2009201164,053559
+2009201165,053585
+2009201166,051869
+2009201167,051758
+2009201168,052899
+2009201169,051973
+2009201170,052020
+2009201171,2009201171
+2009201172,052064
+2009201173,051877
+2009201174,041899
+2009201175,2009201175
+2009201176,051999
+2009201177,051830
+2009201178,051969
+2009201179,2009201179
+2009201180,052877
+2009201181,051822
+2009201182,052019
+2009201183,2009201183
+2009201184,2009201184
+2009201185,2009201185
+2009201186,2009201186
+2009201187,2009201187
+2009201188,2009201188
+2009201189,2009201189
+2009201190,2009201190
+2009201191,041904
+2009201192,2009201192
+2009201193,051873
+2009201194,051767
+2009201195,052044
+2009201196,053515
+2009201197,053539
+2009201198,051834
+2009201199,2009201199
+2009201200,051785
+2009201201,2009201201
+2009201202,052030
+2009201203,2009201203
+2009201204,2009201204
+2009201205,052017
+2009201206,041938
+2009201207,051837
+2009201208,2009201208
+2009201209,041902
+2009201210,051994
+2009201211,052054
+2009201212,2009201212
+2009201213,2009201213
+2009201214,2009201214
+2009201215,2009201215
+2009201216,2009201216
+2009201217,2009201217
+2009201218,052810
+2009201219,053472
+2009201220,051852
+2009201221,051846
+2009201222,051815
+2009201223,2009201223
+2009201224,2009201224
+2009201225,051761
+2009201226,2009201226
+2009201227,051874
+2009201228,051781
+2009201229,042103
+2009201230,051828
+2009201231,2009201231
+2009201232,2009201232
+2009201233,052031
+2009201234,041885
+2009201235,2009201235
+2009201236,2009201236
+2009201237,2009201237
+2009201238,051699
+2009201239,2009201239
+2009201240,2009201240
+2009201241,2009201241
+2009201242,2009201242
+2009201243,2009201243
+2009201244,051763
+2009201245,2009201245
+2009201246,2009201246
+2009201247,051715
+2009201248,051708
+2009201249,2009201249
+2009201250,051808
+2009201251,051766
+2009201252,051832
+2009201253,2009201253
+2009201254,051853
+2009201255,2009201255
+2009201256,2009201256
+2009201257,041861
+2009201258,042055
+2009201259,2009201259
+2009201260,051922
+2009201261,051950
+2009201262,051938
+2009201263,2009201263
+2009201264,042074
+2009201265,051920
+2009201266,053595
+2009201267,053504
+2009201268,051957
+2009201269,051953
+2009201270,051907
+2009201271,2009201271
+2009201272,042049
+2009201273,051914
+2009201274,051679
+2009201275,053547
+2009201276,053560
+2009201277,2009201277
+2009201278,2009201278
+2009201279,051952
+2009201280,051929
+2009201281,051935
+2009201282,042051
+2009201283,051951
+2009201284,2009201284
+2009201285,051903
+2009201286,042032
+2009201287,051949
+2009201288,2009201288
+2009201289,2009201289
+2009201310,051281
+2009201311,2009201311
+2009201312,2009201312
+2009201313,2009201313
+2009201314,2009201314
+2009201315,052438
+2009201316,2009201316
+2009201317,2009201317
+2009201318,2009201318
+2009201319,2009201319
+2009201320,052444
+2009201321,052445
+2009201322,052457
+2009201323,2007010096
+2009201324,2009201324
+2009201325,2009201325
+2009201326,052430
+2009201327,2009201327
+2009201328,2009201328
+2009201329,042585
+2009201330,052418
+2009201331,2009201331
+2009201332,042413
+2009201333,042362
+2009201334,042384
+2009201335,052458
+2009201336,042330
+2009201337,052294
+2009201338,052216
+2009201339,053481
+2009201340,053482
+2009201341,052221
+2009201342,2009201342
+2009201343,052224
+2009201344,2009201344
+2009201345,052258
+2009201346,052271
+2009201347,2009201347
+2009201348,2009201348
+2009201349,052213
+2009201350,052206
+2009201351,052075
+2009201352,2009201352
+2009201353,2009201353
+2009201354,2009201354
+2009201355,052261
+2009201356,052303
+2009201357,052288
+2009201358,052198
+2009201359,052319
+2009201360,052248
+2009201361,052238
+2009201362,2009201362
+2009201363,2009201363
+2009201364,052199
+2009201365,052226
+2009201366,2009201366
+2009201367,040347
+2009201368,2009201368
+2009201369,2009201369
+2009201370,042412
+2009201371,052266
+2009201372,2009201372
+2009201373,050531
+2009201374,052211
+2009201375,2009201375
+2009201376,052274
+2009201377,052236
+2009201378,2009201378
+2009201379,2009201379
+2009201380,2009201380
+2009201381,052234
+2009201382,052220
+2009201383,052203
+2009201384,052265
+2009201385,2009201385
+2009201386,2009201386
+2009201387,052227
+2009201388,052239
+2009201389,2009201389
+2009201390,052300
+2009201391,2009201391
+2009201392,052196
+2009201393,2009201393
+2009201394,050530
+2009201395,052219
+2009201396,052299
+2009201397,052304
+2009201398,2009201398
+2009201399,042243
+2009201400,042317
+2009201401,042320
+2009201402,042248
+2009201403,042487
+2009201404,052086
+2009201405,052339
+2009201406,052341
+2009201407,052139
+2009201408,053553
+2009201409,2009201409
+2009201410,051291
+2009201411,052141
+2009201412,052343
+2009201413,052166
+2009201414,2009201414
+2009201415,2009201415
+2009201416,052112
+2009201417,052152
+2009201418,052106
+2009201419,2009201419
+2009201420,2009201420
+2009201421,052160
+2009201422,052405
+2009201423,052393
+2009201424,2009201424
+2009201425,2009201425
+2009201426,2009201426
+2009201427,052137
+2009201428,2009201428
+2009201429,2009201429
+2009201430,053550
+2009201431,042889
+2009201432,2009201432
+2009201433,052155
+2009201434,052130
+2009201435,052143
+2009201436,2009201436
+2009201437,052365
+2009201438,052174
+2009201439,053516
+2009201440,053532
+2009201441,053587
+2009201442,052154
+2009201443,2009201443
+2009201444,052103
+2009201445,042557
+2009201446,053529
+2009201447,053564
+2009201448,053518
+2009201449,2009201449
+2009201450,052287
+2009201451,2009201451
+2009201452,052074
+2009201453,2009201453
+2009201454,052748
+2009201455,2009201455
+2009201456,2009201456
+2009201457,052147
+2009201458,052132
+2009201459,052158
+2009201460,053489
+2009201461,042291
+2009201462,052177
+2009201463,050189
+2009201464,2009201464
+2009201465,2009201465
+2009201466,2009201466
+2009201467,2009201467
+2009201468,052773
+2009201469,050527
+2009201470,042263
+2009201471,2009201471
+2009201472,053574
+2009201473,052114
+2009201474,053474
+2009201475,2009201475
+2009201476,2009201476
+2009201477,2009201477
+2009201478,052183
+2009201479,2009201479
+2009201480,052076
+2009201481,052308
+2009201482,2009201482
+2009201483,052439
+2009201484,2009201484
+2009201485,2009201485
+2009201486,2009201486
+2009201487,2009201487
+2009201488,2009201488
+2009201489,052115
+2009201490,052353
+2009201491,2009201491
+2009201492,052195
+2009201493,052180
+2009201494,052417
+2009201495,052366
+2009201496,2009201496
+2009201497,050302
+2009201498,2009201498
+2009201499,052360
+2009201500,050517
+2009201501,053226
+2009201502,2009201502
+2009201503,052110
+2009201504,052400
+2009201505,052359
+2009201506,052349
+2009201507,2009201507
+2009201508,053593
+2009201509,052369
+2009201510,2009201510
+2009201511,2009201511
+2009201512,052153
+2009201513,2009201513
+2009201514,052320
+2009201515,052333
+2009201516,2009201516
+2009201517,2009201517
+2009201518,2009201518
+2009201519,052781
+2009201520,042199
+2009201521,052440
+2009201522,2009201522
+2009201523,2009201523
+2009201524,2009201524
+2009201525,2009201525
+2009201526,2009201526
+2009201527,052338
+2009201528,2009201528
+2009201529,052159
+2009201530,052176
+2009201531,052327
+2009201532,2009201532
+2009201533,2009201533
+2009201534,052129
+2009201535,052872
+2009201536,052138
+2009201537,2009201537
+2009201538,052121
+2009201539,052128
+2009201540,2009201540
+2009201541,2009201541
+2009201542,052079
+2009201543,2009201543
+2009201544,052370
+2009201545,052390
+2009201546,052399
+2009201547,2009201547
+2009201548,052386
+2009201549,052373
+2009201550,2009201550
+2009201551,2009201551
+2009201552,052089
+2009201553,052364
+2009201554,2009201554
+2009201555,2009201555
+2009201556,2009201556
+2009201557,052126
+2009201558,052127
+2009201561,052570
+2009201562,053583
+2009201563,053468
+2009201564,052635
+2009201565,052584
+2009201566,053498
+2009201567,053476
+2009201568,2009201568
+2009201569,2009201569
+2009201570,052475
+2009201571,2009201571
+2009201572,053770
+2009201573,052547
+2009201574,2009201574
+2009201575,052522
+2009201576,042678
+2009201577,2009201577
+2009201578,053681
+2009201579,2009201579
+2009201580,2009201580
+2009201581,052535
+2009201582,052581
+2009201583,053619
+2009201584,052620
+2009201585,053582
+2009201586,053656
+2009201587,2009201587
+2009201588,2009201588
+2009201589,2009201589
+2009201590,052483
+2009201591,2009201591
+2009201592,2009201592
+2009201593,053829
+2009201594,052492
+2009201595,052733
+2009201596,2009201596
+2009201597,052653
+2009201598,2009201598
+2009201599,2009201599
+2009201600,2009201600
+2009201601,052654
+2009201602,052644
+2009201603,052557
+2009201604,053490
+2009201605,052827
+2009201606,052555
+2009201607,2009201607
+2009201608,2009201608
+2009201609,2009201609
+2009201610,052559
+2009201611,052558
+2009201612,2009201612
+2009201613,052676
+2009201614,052565
+2009201615,2009201615
+2009201616,043763
+2009201617,052660
+2009201618,052662
+2009201619,2009201619
+2009201620,052496
+2009201621,2009201621
+2009201622,052682
+2009201623,052554
+2009201624,052539
+2009201625,052467
+2009201626,2009201626
+2009201627,053696
+2009201628,2009201628
+2009201629,2009201629
+2009201630,2009201630
+2009201631,2009201631
+2009201632,2009201632
+2009201633,052577
+2009201634,052560
+2009201635,2009201635
+2009201636,052706
+2009201637,2009201637
+2009201638,052656
+2009201639,052710
+2009201640,2009201640
+2009201641,2009201641
+2009201642,052579
+2009201643,052491
+2009201644,052575
+2009201645,052460
+2009201646,2009201646
+2009201647,2009201647
+2009201648,2009201648
+2009201649,2009201649
+2009201650,2009201650
+2009201651,2009201651
+2009201652,2009201652
+2009201653,2009201653
+2009201654,2009201654
+2009201655,052652
+2009201656,052638
+2009201657,052698
+2009201658,052463
+2009201659,052546
+2009201660,052701
+2009201661,2009201661
+2009201662,2009201662
+2009201663,052517
+2009201664,052633
+2009201665,053618
+2009201666,052562
+2009201667,052503
+2009201668,2009201668
+2009201669,2009201669
+2009201670,052681
+2009201671,052686
+2009201672,042763
+2009201673,051248
+2009201674,2009201674
+2009201675,052402
+2009201676,052661
+2009201677,052551
+2009201678,2009201678
+2009201679,052595
+2009201680,2009201680
+2009201681,052548
+2009201682,053535
+2009201683,053512
+2009201684,2009201684
+2009201685,2009201685
+2009201686,2009201686
+2009201687,052684
+2009201688,2009201688
+2009201689,042815
+2009201690,2009201690
+2009201691,053525
+2009201692,052525
+2009201693,053555
+2009201694,053893
+2009201695,2009201695
+2009201696,2009201696
+2009201697,2009201697
+2009201698,053765
+2009201699,053872
+2009201700,053809
+2009201701,053580
+2009201702,053687
+2009201703,053680
+2009201704,2009201704
+2009201705,2009201705
+2009201706,2007010095
+2009201721,042864
+2009201722,2009201722
+2009201723,052787
+2009201724,052769
+2009201725,053591
+2009201726,2009201726
+2009201727,052802
+2009201728,052830
+2009201729,2009201729
+2009201730,2009201730
+2009201731,2009201731
+2009201732,2009201732
+2009201733,052714
+2009201734,2009201734
+2009201735,052722
+2009201736,052811
+2009201737,2009201737
+2009201738,2009201738
+2009201739,2009201739
+2009201740,2009201740
+2009201741,052732
+2009201742,2009201742
+2009201743,2009201743
+2009201744,2009201744
+2009201745,2009201745
+2009201746,2009201746
+2009201747,2009201747
+2009201748,2009201748
+2009201749,2009201749
+2009201750,2009201750
+2009201751,052832
+2009201752,052772
+2009201753,052716
+2009201754,2009201754
+2009201755,2009201755
+2009201756,052742
+2009201757,052757
+2009201758,052799
+2009201759,2009201759
+2009201760,2009201760
+2009201761,2009201761
+2009201762,052766
+2009201763,052746
+2009201764,2009201764
+2009201765,2009201765
+2009201766,042869
+2009201767,2009201767
+2009201768,2009201768
+2009201769,2009201769
+2009201770,2009201770
+2009201771,052771
+2009201772,052875
+2009201773,052883
+2009201774,2009201774
+2009201775,053087
+2009201776,2009201776
+2009201777,2009201777
+2009201778,2009201778
+2009201779,052869
+2009201780,2009201780
+2009201781,052856
+2009201782,2009201782
+2009201783,2009201783
+2009201784,043069
+2009201785,2009201785
+2009201786,052949
+2009201787,052959
+2009201788,043049
+2009201789,053004
+2009201790,053091
+2009201791,2009201791
+2009201792,053058
+2009201793,2009201793
+2009201794,2009201794
+2009201795,2009201795
+2009201796,053080
+2009201797,053060
+2009201798,2009201798
+2009201799,053042
+2009201800,053048
+2009201801,2009201801
+2009201802,053015
+2009201803,050734
+2009201804,2009201804
+2009201805,053065
+2009201806,2009201806
+2009201807,2009201807
+2009201808,2009201808
+2009201809,2009201809
+2009201810,053013
+2009201811,2009201811
+2009201812,2009201812
+2009201813,052761
+2009201814,052758
+2009201815,2009201815
+2009201816,052847
+2009201817,2009201817
+2009201818,052967
+2009201819,052966
+2009201820,052942
+2009201821,2009201821
+2009201822,2009201822
+2009201823,2009201823
+2009201824,2009201824
+2009201825,2009201825
+2009201826,2009201826
+2009201827,052886
+2009201828,052871
+2009201829,052903
+2009201830,052912
+2009201831,052860
+2009201832,2009201832
+2009201833,2009201833
+2009201834,2009201834
+2009201835,052859
+2009201836,2009201836
+2009201837,2009201837
+2009201838,2009201838
+2009201839,052844
+2009201840,052902
+2009201841,053021
+2009201842,053070
+2009201843,053047
+2009201844,052999
+2009201845,2009201845
+2009201846,2009201846
+2009201847,2009201847
+2009201848,053023
+2009201849,2009201849
+2009201850,2009201850
+2009201851,053007
+2009201852,2009201852
+2009201853,053035
+2009201854,053029
+2009201855,2009201855
+2009201856,053018
+2009201857,053045
+2009201858,053020
+2009201859,053022
+2009201860,2009201860
+2009201861,053009
+2009201862,053006
+2009201863,053090
+2009201864,052996
+2009201865,052986
+2009201866,053005
+2009201867,2009201867
+2009201868,2009201868
+2009201869,2009201869
+2009201870,2009201870
+2009201871,052985
+2009201872,053086
+2009201873,2009201873
+2009201874,2009201874
+2009201875,053071
+2009201876,2009201876
+2009201877,053076
+2009201878,052994
+2009201879,052995
+2009201880,2009201880
+2009201881,2009201881
+2009201882,2009201882
+2009201883,2009201883
+2009201884,052987
+2009201885,053002
+2009201886,052990
+2009201887,2009201887
+2009201888,2009201888
+2009201889,2009201889
+2009201890,2009201890
+2009201897,053133
+2009201898,2009201898
+2009201899,042890
+2009201900,053212
+2009201901,053202
+2009201902,2009201902
+2009201903,2009201903
+2009201904,053211
+2009201905,2009201905
+2009201906,2009201906
+2009201907,053213
+2009201908,053100
+2009201909,2009201909
+2009201910,2009201910
+2009201911,2009201911
+2009201912,2009201912
+2009201913,2009201913
+2009201914,2009201914
+2009201915,053180
+2009201916,2009201916
+2009201917,2009201917
+2009201918,2009201918
+2009201919,2009201919
+2009201920,2009201920
+2009201921,2009201921
+2009201922,053194
+2009201923,2009201923
+2009201924,053210
+2009201925,2009201925
+2009201926,2009201926
+2009201927,2007010094
+2009201928,053199
+2009201929,2009201929
+2009201930,2009201930
+2009201931,2009201931
+2009201932,2009201932
+2009201933,2009201933
+2009201934,2009201934
+2009201935,2009201935
+2009201936,2009201936
+2009201937,053158
+2009201938,2009201938
+2009201939,053148
+2009201940,053123
+2009201941,2009201941
+2009201942,2009201942
+2009201943,053108
+2009201944,2009201944
+2009201945,2009201945
+2009201946,2009201946
+2009201947,2009201947
+2009201948,053128
+2009201949,2009201949
+2009201950,2009201950
+2009201951,2009201951
+2009201952,2009201952
+2009201953,2009201953
+2009201954,2009201954
+2009201955,2009201955
+2009201956,2009201956
+2009201957,2009201957
+2009201958,2009201958
+2009201959,2009201959
+2009201960,2009201960
+2009201961,2009201961
+2009201962,2009201962
+2009201963,2009201963
+2009201964,2009201964
+2009201965,2009201965
+2009201966,2009201966
+2009201967,2009201967
+2009201968,2009201968
+2009201969,2009201969
+2009201970,2009201970
+2009201971,2009201971
+2009201972,2009201972
+2009201973,2009201973
+2009201974,2009201974
+2009201975,2009201975
+2009201976,2009201976
+2009201977,2009201977
+2009201978,2009201978
+2009201979,2009201979
+2009201980,2009201980
+2009201981,2009201981
+2009201982,2009201982
+2009201983,2009201983
+2009201984,2009201984
+2009201985,2009201985
+2009201986,2009201986
+2009201987,2009201987
+2009201988,2009201988
+2009201989,2009201989
+2009201990,2009201990
+2009201991,2009201991
+2009201992,2009201992
+2009201993,2009201993
+2009201994,2009201994
+2009201995,2009201995
+2009201996,2009201996
+2009201997,2009201997
+2009201998,2009201998
+2009201999,2009201999
+2009202000,2009202000
+2009202001,2009202001
+2009202002,2009202002
+2009202003,2009202003
+2009202004,2009202004
+2009202005,2009202005
+2009202006,2009202006
+2009202007,2009202007
+2009202008,2009202008
+2009202009,2009202009
+2009202010,2009202010
+2009202011,2009202011
+2009202012,2009202012
+2009202013,2009202013
+2009202014,2009202014
+2009202015,2009202015
+2009202016,2009202016
+2009202017,2009202017
+2009202018,2009202018
+2009202019,2009202019
+2009202020,2009202020
+2009202021,2009202021
+2009202022,2009202022
+2009202023,2009202023
+2009202024,2009202024
+2009202025,2009202025
+2009202026,2009202026
+2009202027,2009202027
+2009202028,2009202028
+2009202029,2009202029
+2009202030,2009202030
+2009202031,2009202031
+2009202032,2009202032
+2009202033,2009202033
+2009202034,2009202034
+2009202035,2009202035
+2009202036,2009202036
+2009202037,2009202037
+2009202038,2009202038
+2009202039,2009202039
+2009202040,2009202040
+2009202041,2009202041
+2009202042,2009202042
+2009202043,2009202043
+2009202044,2009202044
+2009202045,2009202045
+2009202046,2009202046
+2009202047,2009202047
+2009202048,2009202048
+2009202049,2009202049
+2009202050,2009202050
+2009202051,2009202051
+2009202052,2009202052
+2009202053,2009202053
+2009202054,2009202054
+2009202055,2009202055
+2009202056,2009202056
+2009202057,2009202057
+2009202058,2009202058
+2009202059,2009202059
+2009202060,2009202060
+2009202061,2009202061
+2009202062,2009202062
+2009202063,2009202063
+2009202064,2009202064
+2009202065,2009202065
+2009202066,2009202066
+2009202067,2009202067
+2009202068,2009202068
+2009202069,2009202069
+2009202070,2009202070
+2009202071,2009202071
+2009202072,2009202072
+2009202073,2009202073
+2009202074,2009202074
+2009202075,2009202075
+2009202076,2009202076
+2009202077,2009202077
+2009202078,2009202078
+2009202079,2009202079
+2009202080,2009202080
+2009202081,2009202081
+2009202082,2009202082
+2009202083,2009202083
+2009202084,2009202084
+2009202085,2009202085
+2009202086,2009202086
+2009202087,2009202087
+2009202088,2009202088
+2009202089,2009202089
+2009202090,2009202090
+2009202091,2009202091
+2009202092,2009202092
+2009202093,2009202093
+2009202094,2009202094
+2009202095,2009202095
+2009202096,2009202096
+2009202097,2009202097
+2009202098,2009202098
+2009202099,2009202099
+2009202100,2009202100
+2009202101,2009202101
+2009202102,2009202102
+2009202103,2009202103
+2009202104,2009202104
+2009202105,2009202105
+2009202106,2009202106
+2009202107,2009202107
+2009202108,2009202108
+2009202109,053321
+2009202110,053352
+2009202111,2007010093
+2009202112,053330
+2009202113,2009202113
+2009202114,053316
+2009202115,052392
+2009202116,053338
+2009202117,2009202117
+2009202118,2009202118
+2009202119,042811
+2009202120,2009202120
+2009202121,2009202121
+2009202122,2009202122
+2009202123,2009202123
+2009202124,2009202124
+2009202125,2009202125
+2009202126,053425
+2009202127,2009202127
+2009202128,2009202128
+2009202129,053429
+2009202130,2009202130
+2009202131,2009202131
+2009202132,053445
+2009202133,2009202133
+2009202134,053444
+2009202135,2009202135
+2009202136,2009202136
+2009202137,2009202137
+2009202138,2009202138
+2009202139,2009202139
+2009202140,2009202140
+2009202141,051249
+2009202142,051259
+2009202143,2009202143
+2009202144,2009202144
+2009202145,053233
+2009202146,053281
+2009202147,2009202147
+2009202148,2009202148
+2009202149,2009202149
+2009202150,053269
+2009202151,2003000070
+2009202152,2009202152
+2009202153,2009202153
+2009202154,053261
+2009202155,053256
+2009202156,2009202156
+2009202157,053235
+2009202158,2008210220
+2009202159,2009202159
+2009202160,053271
+2009202161,2009202161
+2009202162,2009202162
+2009202163,050905
+2009202164,2009202164
+2009202165,2009202165
+2009202166,2009202166
+2009202167,2009202167
+2009202168,2009202168
+2009202169,053450
+2009202170,2009202170
+2009202171,2009202171
+2009202172,2009202172
+2009202173,2009202173
+2009202174,2009202174
+2009202175,2009202175
+2009202176,2009202176
+2009202177,2009202177
+2009202178,2009202178
+2009202179,2009202179
+2009202180,2009202180
+2009202181,2009202181
+2009202182,053640
+2009202183,2009202183
+2009202184,2009202184
+2009202185,021185
+2009202186,053705
+2009202187,2009202187
+2009202188,2009202188
+2009202189,2009202189
+2009202190,2009202190
+2009202191,2009202191
+2009202192,2009202192
+2009202193,2009202193
+2009202194,2009202194
+2009202195,2009202195
+2009202196,2009202196
+2009202197,2009202197
+2009202198,2009202198
+2009202199,2009202199
+2009202200,2009202200
+2009202201,2009202201
+2009202202,2009202202
+2009202203,2009202203
+2009202204,2009202204
+2009202205,2009202205
+2009202206,053677
+2009202207,2009202207
+2009202208,053804
+2009202209,2009202209
+2009202210,053702
+2009202211,2009202211
+2009202212,053867
+2009202213,2009202213
+2009202214,2009202214
+2009202215,042682
+2009202216,2009202216
+2009202217,042097
+2009202218,2009202218
+2009202219,2009202219
+2009202220,053633
+2009202221,053810
+2009202222,2009202222
+2009202223,2009202223
+2009202224,2009202224
+2009202225,2009202225
+2009202226,2009202226
+2009202227,2009202227
+2009202228,2009202228
+2009202229,2009202229
+2009202230,2009202230
+2009202231,2009202231
+2009202232,2009202232
+2009202233,050870
+2009202234,042920
+2009202235,2009202235
+2009202236,050821
+2009202237,050794
+2009202238,050816
+2009202239,2009202239
+2009202240,2009202240
+2009202241,2009202241
+2009202242,2009202242
+2009202243,2009202243
+2009202244,2009202244
+2009202245,2009202245
+2009210001,2009210001
+2009210002,2009210002
+2009210003,2009210003
+2009210004,2009210004
+2009210005,2009210005
+2009210006,2009210006
+2009210007,2009210007
+2009210008,2009210008
+2009210009,2009210009
+2009210010,2009210010
+2009210011,2009210011
+2009210012,2009210012
+2009210013,2009210013
+2009210014,2009210014
+2009210015,2009210015
+2009210016,2009210016
+2009210017,2009210017
+2009210018,2009210018
+2009210019,2009210019
+2009210020,2009210020
+2009210021,2009210021
+2009210022,2009210022
+2009210023,2009210023
+2009210024,2009210024
+2009210025,2009210025
+2009210026,2009210026
+2009210027,2009210027
+2009210028,2009210028
+2009210029,2009210029
+2009210030,2009210030
+2009210031,2009210031
+2009210032,2009210032
+2009210033,2009210033
+2009210034,2009210034
+2009210035,2009210035
+2009210036,2009210036
+2009210037,2009210037
+2009210038,2009210038
+2009210039,2009210039
+2009210040,2009210040
+2009210041,2009210041
+2009210042,2009210042
+2009210043,2009210043
+2009210044,2009210044
+2009210045,2009210045
+2009210046,2009210046
+2009210047,2009210047
+2009210048,2009210048
+2009210049,2009210049
+2009210050,2009210050
+2009210051,2009210051
+2009210052,2009210052
+2009210053,2009210053
+2009210054,2009210054
+2009210055,2009210055
+2009210056,2009210056
+2009210057,2009210057
+2009210058,2009210058
+2009210059,2009210059
+2009210060,2009210060
+2009210061,2009210061
+2009210062,2009210062
+2009210063,2009210063
+2009210064,2009210064
+2009210065,2009210065
+2009210066,2009210066
+2009210067,2009210067
+2009210068,2009210068
+2009210069,2009210069
+2009210070,2009210070
+2009210071,2009210071
+2009210072,2009210072
+2009210073,2009210073
+2009210074,2009210074
+2009210075,2009210075
+2009210076,2009210076
+2009210077,2009210077
+2009210078,2009210078
+2009210079,2009210079
+2009210080,2009210080
+2009210081,2009210081
+2009210082,2009210082
+2009210083,2009210083
+2009210084,2009210084
+2009210085,2009210085
+2009210086,2009210086
+2009210087,2009210087
+2009210088,2009210088
+2009210089,2009210089
+2009210090,2009210090
+2009210091,2009210091
+2009210092,2009210092
+2009210093,2009210093
+2009210094,2009210094
+2009210095,2009210095
+2009210096,2009210096
+2009210097,2009210097
+2009210098,2009210098
+2009210099,2009210099
+2009210100,2009210100
+2009210101,2009210101
+2009210102,2009210102
+2009210103,2009210103
+2009210104,2009210104
+2009210105,2009210105
+2009210106,2009210106
+2009210107,2009210107
+2009210108,2009210108
+2009210109,2009210109
+2009210110,2009210110
+2009210111,2009210111
+2009210112,2009210112
+2009210113,2009210113
+2009210114,04610G115
+2009210115,2009210115
+2009210116,2009210116
+2009210117,2009210117
+2009210118,2009210118
+2009210119,2009210119
+2009210120,2009210120
+2009210121,2009210121
+2009210122,2009210122
+2009210123,2009210123
+2009210124,2009210124
+2009210125,2009210125
+2009210126,2009210126
+2009210127,2009210127
+2009210128,2009210128
+2009210129,2009210129
+2009210130,2009210130
+2009210131,2009210131
+2009210132,2009210132
+2009210133,2009210133
+2009210134,2009210134
+2009210135,2009210135
+2009210136,2009210136
+2009210137,2009210137
+2009210138,2009210138
+2009210139,2009210139
+2009210140,2009210140
+2009210141,2009210141
+2009210142,2009210142
+2009210143,2009210143
+2009210144,2009210144
+2009210145,2009210145
+2009210146,2009210146
+2009210147,2009210147
+2009210148,2009210148
+2009210149,2009210149
+2009210150,2007240021
+2009210151,2007270027
+2009210152,2009210152
+2009210153,2009210153
+2009210154,2009210154
+2009210155,2009210155
+2009210156,2009210156
+2009210157,2009210157
+2009210158,2007270013
+2009210159,2007210196
+2009210160,2009210160
+2009210161,2001000064
+2009210162,2009210162
+2009210163,2009210163
+2009210164,2009210164
+2009210165,2009210165
+2009210166,2009210166
+2009210167,2009210167
+2009210168,2009210168
+2009210169,2009210169
+2009210170,2008270031
+2009210171,2008270032
+2009210172,2008270026
+2009210173,2008270024
+2009210174,2008270025
+2009210175,2008270027
+2009210176,2008270030
+2009210177,2009210177
+2009210178,2009210178
+2009210179,2009210179
+2009210180,2009210180
+2009210181,2009210181
+2009210182,2009210182
+2009210183,2009210183
+2009210184,2009210184
+2009210185,2009210185
+2009210186,2009210186
+2009210187,2009210187
+2009210188,2009210188
+2009210190,2009210190
+2009210191,2009210191
+2009210192,2009210192
+2009210193,2009210193
+2009210194,2009210194
+2009210195,2009210195
+2009210196,2009210196
+2009210197,2009210197
+2009210198,2009210198
+2009210199,2009210199
+2009210200,2009210200
+2009210201,2009210201
+2009210202,2009210202
+2009210203,2009210203
+2009210204,2009210204
+2009210205,2009210205
+2009210206,2009210206
+2009210207,2009210207
+2009210208,2009210208
+2009210209,2009210209
+2009210210,2009210210
+2009210211,2009210211
+2009210212,2009210212
+2009210213,2009210213
+2009210214,2009210214
+2009210215,2009210215
+2009210216,2009210216
+2009210217,2009210217
+2009210218,2009210218
+2009210219,2009210219
+2009210220,2009210220
+2009210221,2009210221
+2009210222,2009210222
+2009210223,2009210223
+2009210224,2009210224
+2009210225,2009210225
+2009210226,2009210226
+2009210227,2009210227
+2009210228,2009210228
+2009210229,2009210229
+2009210230,2009210230
+2009210232,2009210232
+2009210233,2009210233
+2009210234,2009210234
+2009210235,2009210235
+2009210236,2009210236
+2009210237,2008010128
+2009210238,2009210238
+2009210239,2009210239
+2009210240,2009210240
+2009210241,2009210241
+2009210242,2009210242
+2009210243,2009210243
+2009210244,2008270055
+2009210245,2008270053
+2009210246,2008270065
+2009210247,2008270056
+2009210248,2008270049
+2009210249,2009210249
+2009210250,041141
+2009210251,2008270069
+2009210252,2008270058
+2009210253,2009210253
+2009210254,2009210254
+2009210255,2009210255
+2009210256,2009210256
+2009210257,2009210257
+2009210258,2009210258
+2009210259,041798
+2009210260,042070
+2009210261,2009210261
+2009210262,2009210262
+2009210263,2009210263
+2009210264,2009210264
+2009210265,2009210265
+2009210266,2009210266
+2009210267,2009210267
+2009210268,2009210268
+2009210269,2009210269
+2009210270,2009210270
+2009210271,2009210271
+2009210272,2009210272
+2009210273,2009210273
+2009210274,2009210274
+2009210275,2009210275
+2009210276,2009210276
+2009210277,2009210277
+2009210278,2009210278
+2009210279,2009210279
+2009210280,2009210280
+2009210281,2009210281
+2009210282,2009210282
+2009210283,2009210283
+2009210284,2009210284
+2009210285,2009210285
+2009210286,2009210286
+2009210287,2009210287
+2009210288,2009210288
+2009210289,2009210289
+2009210290,2009210290
+2009210291,2009210291
+2009210292,2009210292
+2009210293,2009210293
+2009210294,2009210294
+2009210295,2009210295
+2009210296,2009210296
+2009210297,2009210297
+2009210298,2009210298
+2009210299,2009210299
+2009210300,2009210300
+2009210301,2009210301
+2009210302,2009210302
+2009210303,2009210303
+2009210304,2009210304
+2009210305,2009210305
+2009210306,2009210306
+2009210307,2009210307
+2009210308,2009210308
+2009210309,2009210309
+2009210310,2009210310
+2009210311,2009210311
+2009210312,2009210312
+2009210313,2009210313
+2009210314,2009210314
+2009210315,2009210315
+2009210316,2009210316
+2009210317,2009210317
+2009210318,2009210318
+2009210319,2007270049
+2009210320,2003020059
+2009210321,2009210321
+2009210322,2009210322
+2009210324,2009210324
+2009210325,2009210325
+2009210326,2009210326
+2009210327,2008270070
+2009210328,1994000046
+2009210329,2009210329
+2009210330,2009210330
+2009210331,2009210331
+2009210332,2009210332
+2009210333,2009210333
+2009210334,2009210334
+2009210335,2009210335
+2009210336,2009210336
+2009210337,2009210337
+2009210338,2009210338
+2009210339,2009210339
+2009210340,2009210340
+2009210341,2009210341
+2009210342,2009210342
+2009210343,2008270042
+2009210344,2008270040
+2009210345,2008270037
+2009210346,2008270038
+2009210347,2008270048
+2009210348,2009210348
+2009210349,2009210349
+2009210350,2009210350
+2009210351,2009210351
+2009210352,2009210352
+2009210353,2009210353
+2009210354,2009210354
+2009210355,2009210355
+2009210356,2009210356
+2009210357,2009210357
+2009210358,2009210358
+2009210359,2009210359
+2009210360,2009210360
+2009210361,2009210361
+2009210362,2009210362
+2009210363,2009210363
+2009210364,2009210364
+2009210365,2009210365
+2009210366,2009210366
+2009210367,2009210367
+2009210368,2009210368
+2009210369,2009210369
+2009210370,2009210370
+2009210371,2009210371
+2009210372,2009210372
+2009210373,2009210373
+2009210374,2009210374
+2009210375,2009210375
+2009210376,2009210376
+2009210377,2009210377
+2009210378,2009210378
+2009210379,2009210379
+2009210380,2009210380
+2009210381,2009210381
+2009210382,2009210382
+2009210383,2009210383
+2009210384,2009210384
+2009210385,2009210385
+2009210386,2009210386
+2009210387,2009210387
+2009210388,2009210388
+2009210389,2009210389
+2009210390,2009210390
+2009210391,2009210391
+2009210392,2009210392
+2009210393,2009210393
+2009210394,2009210394
+2009210395,2009210395
+2009210396,2009210396
+2009210397,2009210397
+2009210398,2009210398
+2009210399,2009210399
+2009210400,2009210400
+2009210401,2009210401
+2009210402,2009210402
+2009210403,2009210403
+2009210404,2009210404
+2009210405,2009210405
+2009210406,2009210406
+2009210407,2009210407
+2009210408,2009210408
+2009210409,2009210409
+2009210410,2009210410
+2009210411,2009210411
+2009210412,2009210412
+2009210413,2009210413
+2009210414,2009210414
+2009210415,2009210415
+2009210416,2009210416
+2009210417,2009210417
+2009210418,2009210418
+2009210419,2009210419
+2009210420,2009210420
+2009210421,2009210421
+2009210422,2009210422
+2009210423,2009210423
+2009210424,2009210424
+2009210425,2009210425
+2009210426,2009210426
+2009210427,2009210427
+2009210428,2009210428
+2009210429,2009210429
+2009210430,2009210430
+2009210431,2009210431
+2009210432,2009210432
+2009210433,2009210433
+2009210434,2009210434
+2009210435,2009210435
+2009210436,2009210436
+2009210437,2009210437
+2009210438,2009210438
+2009210439,2009210439
+2009210440,2009210440
+2009210441,2009210441
+2009210442,2009210442
+2009210443,2009210443
+2009210444,2009210444
+2009210445,2009210445
+2009210446,2009210446
+2009210447,2009210447
+2009210448,2009210448
+2009210449,2009210449
+2009210450,2009210450
+2009210451,2009210451
+2009210452,2009210452
+2009210453,2009210453
+2009210454,2009210454
+2009210455,2009210455
+2009210456,2009210456
+2009210457,2009210457
+2009210458,2009210458
+2009210459,2009210459
+2009210460,2009210460
+2009210461,2009210461
+2009210462,2009210462
+2009210463,2009210463
+2009210464,2009210464
+2009210465,2009210465
+2009210466,2009210466
+2009210467,2009210467
+2009210468,2009210468
+2009210469,2009210469
+2009210470,2009210470
+2009210471,2009210471
+2009210472,2009210472
+2009210473,2009210473
+2009210474,2009210474
+2009210475,2009210475
+2009210476,2009210476
+2009210477,2009210477
+2009210478,2009210478
+2009210479,2009210479
+2009210480,2009210480
+2009210481,2009210481
+2009210482,2009210482
+2009210483,2009210483
+2009210484,2009210484
+2009210485,2009210485
+2009210486,2009210486
+2009210487,2009210487
+2009210488,2009210488
+2009210489,2009210489
+2009210490,2009210490
+2009210491,2009210491
+2009210493,2009210493
+2009210494,2009210494
+2009210495,2009210495
+2009210496,2009210496
+2009210497,2009210497
+2009210499,2009210499
+2009210500,2009210500
+2009210501,2009210501
+2009210502,2009210502
+2009210503,2009210503
+2009210504,2009210504
+2009210505,2009210505
+2009210506,2009210506
+2009210507,2009210507
+2009210508,2009210508
+2009210509,2009210509
+2009210510,2009210510
+2009210511,2009210511
+2009210512,2009210512
+2009210513,2009210513
+2009210514,2009210514
+2009210515,2009210515
+2009210516,2009210516
+2009210517,2009210517
+2009210518,2009210518
+2009210519,2009210519
+2009210520,2009210520
+2009210521,2009210521
+2009210522,2009210522
+2009210523,2009210523
+2009210524,2009210524
+2009210525,2009210525
+2009210526,2009210526
+2009210527,2009210527
+2009210528,2009210528
+2009210529,2009210529
+2009210530,2009210530
+2009210532,2009210532
+2009210533,2009210533
+2009210534,2009210534
+2009210535,2009210535
+2009210536,2009210536
+2009210537,2009210537
+2009210538,2009210538
+2009210539,2009210539
+2009210540,2009210540
+2009210541,2009210541
+2009210542,2009210542
+2009210543,2009210543
+2009210544,2009210544
+2009240001,2009240001
+2009240002,2009240002
+2009240003,2009240003
+2009240004,051615
+2009240005,2009240005
+2009240006,2009240006
+2009240007,2009240007
+2009250001,2009250001
+2009250002,2009250002
+2009250003,2009250003
+2009250004,2009250004
+2009250005,2009250005
+2009250006,2009250006
+2009250007,2009250007
+2009250008,2009250008
+2009250009,2009250009
+2009250010,2009250010
+2009250011,2009250011
+2009250012,2009250012
+2009250013,2009250013
+2009250014,2009250014
+2009250015,2009250015
+2009250016,2009250016
+2009250017,2009250017
+2009250018,050364
+2009250019,2009250019
+2009250020,050031
+2009250021,2009250021
+2009250022,2009250022
+2009250023,2009250023
+2009250024,2009250024
+2009250025,2009250025
+2009250026,2009250026
+2009250027,2009250027
+2009250028,2009250028
+2009250029,2009250029
+2009250030,2009250030
+2009250031,052050
+2009250032,051933
+2009250033,2009250033
+2009250034,2009250034
+2009250035,2009250035
+2009250036,2009250036
+2009250037,2009250037
+2009250038,2009250038
+2009250039,2009250039
+2009250040,2009250040
+2009250041,2009250041
+2009250042,2009250042
+2009250043,2009250043
+2009250044,2009250044
+2009250045,2009250045
+2009250046,2009250046
+2009250047,2009250047
+2009250048,2009250048
+2009250049,2009250049
+2009250050,2009250050
+2009250051,2009250051
+2009250052,052744
+2009250053,2009250053
+2009250054,2009250054
+2009250055,2009250055
+2009250056,2009250056
+2009250057,2009250057
+2009250058,2009250058
+2009250059,2009250059
+2009250060,2009250060
+2009250061,2009250061
+2009250062,2009250062
+2009250063,2009250063
+2009250064,050372
+2009250065,2009250065
+2009250066,2009250066
+2009250067,2009250067
+2009250068,050012
+2009250069,2009250069
+2009250070,050958
+2009250071,2009250071
+2009250072,2009250072
+2009250073,2009250073
+2009250074,2009250074
+2009250075,2009250075
+2009250076,2009250076
+2009250077,2009250077
+2009250078,2009250078
+2009250079,2009250079
+2009250080,2009250080
+2009250081,2009250081
+2009250082,2009250082
+2009250083,051109
+2009250084,2009250084
+2009250085,2009250085
+2009250086,2009250086
+2009250087,2009250087
+2009250088,2009250088
+2009250089,2009250089
+2009250090,2009250090
+2009250091,2009250091
+2009250092,2009250092
+2009250093,2009250093
+2009250094,2009250094
+2009250095,2009250095
+2009250096,2009250096
+2009250097,2009250097
+2009250098,2009250098
+2009250099,2009250099
+2009250100,2009250100
+2009250101,2009250101
+2009250102,2009250102
+2009250103,2009250103
+2009250104,2009250104
+2009250105,2009250105
+2009250106,2009250106
+2009250107,050271
+2009250108,2009250108
+2009250109,2009250109
+2009250110,2009250110
+2009250111,2009250111
+2009250112,050023
+2009250119,2009250119
+2009250120,2009250120
+2009250121,2009250121
+2009250122,2009250122
+2009250123,2009250123
+2009250124,2009250124
+2009250125,2009250125
+2009250126,2009250126
+2009250127,2009250127
+2009250128,2009250128
+2009250129,2009250129
+2009250130,2009250130
+2009250131,2009250131
+2009250132,2009250132
+2009250133,2009250133
+2009250134,2009250134
+2009250135,2009250135
+2009250136,2009250136
+2009250137,2009250137
+2009250138,2009250138
+2009250139,2009250139
+2009250140,2009250140
+2009250141,2009250141
+2009250142,2009250142
+2009250143,2009250143
+2009250144,2009250144
+2009250145,2009250145
+2009250146,2009250146
+2009250147,2009250147
+2009250148,2009250148
+2009250149,2009250149
+2009250150,2009250150
+2009250151,2009250151
+2009250152,2009250152
+2009250153,2009250153
+2009250154,2009250154
+2009250155,2009250155
+2009250156,2009250156
+2009250157,2009250157
+2009250158,2009250158
+2009250159,2009250159
+2009250160,2009250160
+2009250161,2009250161
+2009250162,2009250162
+2009250163,2009250163
+2009250164,2009250164
+2009250165,2009250165
+2009250166,2009250166
+2009250167,053579
+2009250168,2009250168
+2009250169,2009250169
+2009250170,2009250170
+2009250171,051468
+2009250172,2009250172
+2009250173,2009250173
+2009250174,2009250174
+2009250175,2009250175
+2009250176,2009250176
+2009260196,2009260196
+2009260463,050607
+2009260464,2009260464
+2009260465,2009260465
+2009260466,050621
+2009260467,2009260467
+2009260468,2009260468
+2009260469,2009260469
+2009260664,2009260664
+2009260665,2009260665
+2009260666,2009260666
+2009260667,2009260667
+2009260668,2009260668
+2009260669,2009260669
+2009260670,050723
+2009260671,050726
+2009260672,050854
+2009260673,050877
+2009260674,050888
+2009260675,2009260675
+2009260676,2009260676
+2009260677,2009260677
+2009260678,2009260678
+2009260679,2009260679
+2009260680,2009260680
+2009260681,2009260681
+2009260682,2009260682
+2009260683,2009260683
+2009260684,2009260684
+2009260685,2009260685
+2009260686,2009260686
+2009260687,2009260687
+2009260926,2009260926
+2009260927,2009260927
+2009260928,2009260928
+2009260929,2009260929
+2009260930,2009260930
+2009260931,2009260931
+2009260932,2009260932
+2009260933,2009260933
+2009260934,2009260934
+2009260935,2009260935
+2009260936,2009260936
+2009260937,2009260937
+2009260938,2009260938
+2009260939,2009260939
+2009260940,2009260940
+2009261092,2009261092
+2009261093,2009261093
+2009261094,050669
+2009261095,031789
+2009261096,2009261096
+2009261097,051692
+2009261098,041633
+2009261290,2009261290
+2009261291,052001
+2009261292,2009261292
+2009261293,2009261293
+2009261294,2009261294
+2009261295,051926
+2009261296,051863
+2009261297,2009261297
+2009261298,2009261298
+2009261299,2009261299
+2009261300,2009261300
+2009261301,2009261301
+2009261302,052016
+2009261303,2009261303
+2009261304,042063
+2009261305,2009261305
+2009261306,052022
+2009261307,052061
+2009261308,2009261308
+2009261309,2009261309
+2009261559,2009261559
+2009261560,2009261560
+2009261707,2009261707
+2009261708,2009261708
+2009261709,2009261709
+2009261710,051835
+2009261711,2009261711
+2009261712,2009261712
+2009261713,052699
+2009261714,2009261714
+2009261715,052709
+2009261716,052704
+2009261717,2009261717
+2009261718,042714
+2009261719,2009261719
+2009261720,2009261720
+2009261891,043163
+2009261892,2009261892
+2009261893,2009261893
+2009261894,2009261894
+2009261895,2009261895
+2009261896,2009261896
+2009270001,2009270001
+2009270002,2009270002
+2009270003,2009270003
+2009270004,2009270004
+2009270005,2009270005
+2009270006,2009270006
+2009270007,2009270007
+2009270008,2009270008
+2009270009,2009270009
+2009270010,2009270010
+2009270011,2009270011
+2009270012,2009270012
+2009270013,2009270013
+2009270014,2009270014
+2009270015,2009270015
+2009270016,2009270016
+2009270017,2009270017
+2009270018,2009270018
+2009270019,2009270019
+2009270020,2009270020
+2009270021,2009270021
+2009270022,2009270022
+2009270023,2009270023
+2009270024,2009270024
+2009270025,2009270025
+2009270026,2009270026
+2009270027,2009270027
+2009270028,2009270028
+2009270029,2009270029
+2009270030,2009270030
+2009270031,2009270031
+2009270032,2009270032
+2009270033,2009270033
+2009270034,2009270034
+2009270035,2009270035
+2009270036,2009270036
+2009270037,2009270037
+2009270038,1997000076
+2009270039,2009270039
+2009270040,2009270040
+2009270041,2009270041
+2009270042,2009270042
+2009270043,2009270043
+2009270044,2009270044
+2009270045,2009270045
+2009270046,2009270046
+2009270047,2009270047
+2009270048,2009270048
+2009270049,2009270049
+2009270050,2009270050
+2009270051,2009270051
+2009270052,2009270052
+2009270053,2009270053
+2009270054,2009270054
+2009270055,2009270055
+2009270056,2009270056
+2009270057,2009270057
+2009270058,2009270058
+2009270059,2009270059
+2009270060,2009270060
+2009270061,2009270061
+2009270062,2009270062
+2009270063,2009270063
+2009270064,2009270064
+2009270065,2009270065
+2009270066,2009270066
+2009270067,2009270067
+2009270068,2009270068
+2009270069,2009270069
+2009270070,2009270070
+2009270071,2009270071
+2009270072,2009270072
+2009270073,2009270073
+2009270074,2009270074
+2009270075,2009270075
+2009270076,2009270076
+2009270077,2009270077
+2009270078,2009270078
+2009270079,2009270079
+2009270080,2009270080
+2009270081,2009270081
+2009270082,2009270082
+2009270083,2009270083
+2009270084,2009270084
+2009270085,2009270085
+2009270086,2009270086
+2009270087,2009270087
+2009270088,2009270088
+2009270089,2009270089
+2009270090,2009270090
+2009270091,2009270091
+2009270092,2009270092
+2009270093,2009270093
+2009270094,2009270094
+2009270096,2009270096
+2009270097,2009270097
+2009270098,2009270098
+2009270099,2009270099
+2009270100,2009270100
+2009270101,2009270101
+2009270102,2009270102
+2009270103,2009270103
+2009270104,2009270104
+2009270105,042040
+2009270106,2009270106
+2009270107,2009270107
+2009270108,2009270108
+2009270109,2009270109
+2009270110,2009270110
+2009270111,2009270111
+2009270112,2009270112
+2009270113,2009270113
+2009270114,2009270114
+2009270115,2009270115
+2009270116,2009270116
+2009270117,2009270117
+2009270118,2009270118
+2009270119,2009270119
+2009270120,2009270120
+2009270122,2009270122
+2009270123,2009270123
+2009270124,2009270124
+2009270125,2009270125
+2009270126,2009270126
+2009270127,2009270127
+2009270128,2009270128
+2009270129,2009270129
+2009270130,2009270130
+2009270131,2009270131
+2009270132,2009270132
+2009270133,2009270133
+2009270134,2009270134
+2009270136,2009270136
+2009270140,2009270140
+2009270141,2009270141
+2009270143,2009270143
+2009270146,2009270146
+2009270157,2009270157
+2009270158,2009270158
+2009270159,2009270159
+2009270160,2009270160
+2009270161,2009270161
+2009270162,2009270162
+2009270163,2009270163
+2009270164,2009270164
+2009270165,2009270165
+2009270166,2009270166
+2009270167,2009270167
+2009270168,2009270168
+2009270169,2009270169
+2009270170,2009270170
+2009270171,2009270171
+2009270172,2009270172
+2009270173,2009270173
+2009270174,2009270174
+2009270175,2009270175
+2009270176,2009270176
+2009270177,2009270177
+2009270178,2009270178
+2009270179,2009270179
+2009270180,2009270180
+2009270181,2009270181
+2009270182,2009270182
+2009270183,2009270183
+2009270184,2009270184
+2009270185,2009270185
+2009270187,2009270187
+2009300001,2009300001
+2009300002,2009300002
+2009300003,2009300003
+2009300004,2009300004
+2009300005,2009300005
+2009300006,2009300006
+2009300007,2009300007
+2009300008,2009300008
+2009300009,2009300009
+2009300010,2009300010
+2009300011,2009300011
+2009300012,2009300012
+2009300013,2009300013
+2009300014,2009300014
+2009300015,2009300015
+2009300016,2009300016
+2009300017,2009300017
+2009300018,2009300018
+2009300019,2009300019
+2009300020,2009300020
+2009300021,2009300021
+2009300022,2009300022
+2009300023,2009300023
+2009300024,2009300024
+2009300025,2009300025
+2009300026,2009300026
+2009300027,2009300027
+2009300028,2009300028
+2009300029,2009300029
+2009300030,2009300030
+2009300031,2009300031
+2009300032,2009300032
+2009300033,2009300033
+2009300034,2009300034
+2009300035,2009300035
+2009300036,2009300036
+2009300037,2009300037
+2009300038,2009300038
+2009300039,2009300039
+2009300040,2009300040
+2009300041,2009300041
+2009300042,2009300042
+2009300043,2009300043
+2009300044,2009300044
+2009300045,2009300045
+2009300046,2009300046
+2009300047,2009300047
+2009300048,2009300048
+2009300049,2009300049
+2009300050,2009300050
+2009300051,2009300051
+2009300052,2009300052
+2009300053,2009300053
+2009300054,2009300054
+2009300055,2009300055
+2009300056,2009300056
+2009300057,2009300057
+2009300058,2009300058
+2009300059,2009300059
+2009300060,2009300060
+2009300061,2009300061
+2009300062,2009300062
+2009300063,2009300063
+2009300064,2009300064
+2009300066,2009300066
+2009300067,2009300067
+2009300068,2009300068
+2009300069,2009300069
+2009300070,2009300070
+2009300071,2009300071
+2009300072,2009300072
+2009300073,2009300073
+2009300074,2009300074
+2009300075,2009300075
+2009300076,2009300076
+2009300077,2009300077
+2009300078,2009300078
+2009300079,2009300079
+2009300080,2009300080
+2009300081,2009300081
+2009300082,2009300082
+2009300083,2009300083
+2009300084,2009300084
+2009300085,2009300085
+2009300086,2009300086
+2009300087,2009300087
+2009300088,2009300088
+2009300089,2009300089
+2009300090,2009300090
+2009300091,2009300091
+2009300092,2009300092
+2009300093,2009300093
+2009300094,2009300094
+2009300095,2009300095
+2009300096,2009300096
+2009300097,2009300097
+2009300098,2009300098
+2009300099,2009300099
+2009300100,2009300100
+2009300101,2009300101
+2009300102,2009300102
+2009300103,2009300103
+2009300104,2009300104
+2009300105,2009300105
+2009300106,2009300106
+2009300107,2009300107
+2009300108,2009300108
+2009300109,2009300109
+2009300110,2009300110
+2009300111,2009300111
+2009300112,2009300112
+2009300113,2009300113
+2009300114,2009300114
+2009300115,2009300115
+2009300116,2009300116
+2009300117,2009300117
+2009300118,2009300118
+2009300119,2009300119
+2009300120,2009300120
+2009300121,2009300121
+2009300122,2009300122
+2009300123,2009300123
+2009300124,2009300124
+2009300125,2009300125
+2009300126,2009300126
+2009300127,2009300127
+2009300128,2009300128
+2009300129,2009300129
+2009300130,2009300130
+2009300131,2009300131
+2009300132,2009300132
+2009300133,2009300133
+2009300134,2009300134
+2009300135,2009300135
+2009300136,2009300136
+2009300137,2009300137
+2009300138,2009300138
+2009300139,2009300139
+2009300140,2009300140
+2009300141,2009300141
+2009300142,2009300142
+2009300143,2009300143
+2009300144,2009300144
+2009300145,2009300145
+2009300146,2009300146
+2009300147,2009300147
+2009300148,2009300148
+2009300149,2009300149
+2009300150,2009300150
+2009300151,2009300151
+2009300152,2009300152
+2009300153,2009300153
+2009300154,2009300154
+2009300155,2009300155
+2009300156,2009300156
+2009300157,2009300157
+2009300158,2009300158
+2009300159,2009300159
+2009300160,2009300160
+2009300161,2009300161
+2009300162,2009300162
+2009300163,2009300163
+2009300164,2009300164
+2009300165,2009300165
+2009300166,2009300166
+2009300167,2009300167
+2009300168,2009300168
+2009300169,2009300169
+2009300170,2009300170
+2009300171,2009300171
+2009300172,2009300172
+2009300173,2009300173
+2009300174,2009300174
+2009300175,2009300175
+2009300176,2009300176
+2009300177,2009300177
+2009300178,2009300178
+2009300179,2009300179
+2009300180,2009300180
+2009300181,2009300181
+2009300182,2009300182
+2009300183,2009300183
+2009300184,2009300184
+2009300185,2009300185
+2009300186,2009300186
+2009300187,2009300187
+2009300188,2009300188
+2009300189,2009300189
+2009300190,2009300190
+2009300191,2009300191
+2009300192,2009300192
+2009300193,2009300193
+2009300194,2009300194
+2009300195,2009300195
+2009300196,2009300196
+2009300197,2009300197
+2009300198,2009300198
+2009300199,2009300199
+2009300200,2009300200
+2009300201,2009300201
+2009300202,2009300202
+2009300203,2009300203
+2009300204,2009300204
+2009300205,2009300205
+2009300206,2009300206
+2009300207,2009300207
+2009300208,2009300208
+2009300209,2009300209
+2009300210,2009300210
+2009300211,2009300211
+2009300212,2009300212
+2009300213,2009300213
+2009300214,2009300214
+2009300215,2009300215
+2009300216,2009300216
+2009300217,2009300217
+2009300218,2009300218
+2009300219,2009300219
+2009300220,2009300220
+2009300221,2009300221
+2009300222,2009300222
+2009300223,2009300223
+2009300224,2009300224
+2009300225,2009300225
+2009300226,2009300226
+2009300227,2009300227
+2009300228,2009300228
+2009300229,2009300229
+2009300230,2009300230
+2009300231,2009300231
+2009300232,2009300232
+2009300233,2009300233
+2009300234,2009300234
+2009300235,2009300235
+2009300236,2009300236
+2009300237,2009300237
+2009300238,2009300238
+2009300239,2009300239
+2009300240,2009300240
+2009300241,2009300241
+2009300242,2009300242
+2009300243,2009300243
+2009300244,2009300244
+2009300245,2009300245
+2009300246,2009300246
+2009300247,2009300247
+2009300249,2009300249
+2009300250,2009300250
+2009300251,2009300251
+2009300252,2009300252
+2009300253,2009300253
+2009300254,2009300254
+2009300255,2009300255
+2009300256,2009300256
+2009300257,2009300257
+2009300258,2009300258
+2009300259,2009300259
+2009300260,2009300260
+2009300261,2009300261
+2009300262,2009300262
+2009300263,2009300263
+2009300264,2009300264
+2009300265,2009300265
+2009300266,2009300266
+2009300267,2009300267
+2009300268,2009300268
+2009300269,2009300269
+2009300270,2009300270
+2009300271,2009300271
+2009300272,2009300272
+2009300273,2009300273
+2009300274,2009300274
+2009300275,2009300275
+2009300276,2009300276
+2009300277,2009300277
+2009300278,2009300278
+2009300279,2009300279
+2009300280,2009300280
+2009300281,2009300281
+2009300282,2009300282
+2009300283,2009300283
+2009300284,2009300284
+2009300285,2009300285
+2009300286,2009300286
+2009300287,2009300287
+2009300288,2009300288
+2009300289,2009300289
+2009300290,2009300290
+2009300291,2009300291
+2009300292,2009300292
+2009300293,2009300293
+2009300294,2009300294
+2009300295,2009300295
+2009300296,2009300296
+2009300297,2009300297
+2009300298,2009300298
+2009300299,2009300299
+2009300300,2009300300
+2009300301,2009300301
+2009300302,2009300302
+2009300303,2009300303
+2009300304,2009300304
+2009300305,2009300305
+2009300306,2009300306
+2009300307,2009300307
+2009300308,2009300308
+2009300309,2009300309
+2009300310,2009300310
+2009300311,2009300311
+2009300312,2009300312
+2009300313,2009300313
+2009300314,2009300314
+2009300315,2009300315
+2009300316,2009300316
+2009300317,2009300317
+2009300318,2009300318
+2009300319,2009300319
+2009300320,2009300320
+2009300321,2009300321
+2009300322,2009300322
+2009300323,2009300323
+2009300324,2009300324
+2009300325,2009300325
+2009300326,2009300326
+2009300327,2009300327
+2009300328,2009300328
+2009300329,2009300329
+2009300330,2009300330
+2009300331,2009300331
+2009300332,2009300332
+2009300333,2009300333
+2009300334,2009300334
+2009300335,2009300335
+2009300336,2009300336
+2009300337,2009300337
+2009300338,2009300338
+2009300339,2009300339
+2009300340,2009300340
+2009300341,2009300341
+2009300342,2009300342
+2009300343,2009300343
+2009300344,2009300344
+2009300345,2009300345
+2009300346,2009300346
+2009300347,2009300347
+2009300348,2009300348
+2009300349,2009300349
+2009300350,2009300350
+2009300351,2009300351
+2009300352,2009300352
+2009300353,2009300353
+2009300354,2009300354
+2009300355,2009300355
+2009300356,2009300356
+2009300357,2009300357
+2009300358,2009300358
+2009300359,2009300359
+2009300360,2009300360
+2009300361,2009300361
+2009300362,2009300362
+2009300363,2009300363
+2009300364,2009300364
+2009300365,2009300365
+2009300366,2009300366
+2009300367,2009300367
+2009300368,2009300368
+2009300369,2009300369
+2009300370,2009300370
+2009300371,2009300371
+2009300372,2009300372
+2009300373,2009300373
+2009300374,2009300374
+2009300375,2009300375
+2009300376,2009300376
+2009300377,2009300377
+2009300378,2009300378
+2009300379,2009300379
+2009300380,2009300380
+2009300381,2009300381
+2009300382,2009300382
+2009300383,2009300383
+2009300384,2009300384
+2009300385,2009300385
+2009300386,2009300386
+2009300387,2009300387
+2009300388,2009300388
+2009300390,2009300390
+2009300391,2009300391
+2009300392,2009300392
+2009300393,2009300393
+2009300394,2009300394
+2009300395,2009300395
+2009300396,2009300396
+2009300397,2009300397
+2009300398,2009300398
+2009300399,2009300399
+2009300400,2009300400
+2009300401,2009300401
+2009300402,2009300402
+2009300403,2009300403
+2009300404,2009300404
+2009300405,2009300405
+2009300406,2009300406
+2009300407,2009300407
+2009300408,2009300408
+2009300409,2009300409
+2009300410,2009300410
+2009300411,2009300411
+2009300412,2009300412
+2009300413,2009300413
+2009300414,2009300414
+2009300415,2009300415
+2009300416,2009300416
+2009300417,2009300417
+2009300418,2009300418
+2009300419,2009300419
+2009300420,2009300420
+2009300421,2009300421
+2009300422,2009300422
+2009300423,2009300423
+2009300424,2009300424
+2009300425,2009300425
+2009300426,2009300426
+2009300427,2009300427
+2009300428,2009300428
+2009300429,2009300429
+2009300430,2009300430
+2009300431,2009300431
+2009300432,2009300432
+2009300433,2009300433
+2009300434,2009300434
+2009300435,2009300435
+2009300436,2009300436
+2009300437,2009300437
+2009300438,2009300438
+2009300439,2009300439
+2009300440,2009300440
+2009300441,2009300441
+2009300442,2009300442
+2009300443,2009300443
+2009300444,2009300444
+2009300445,2009300445
+2009300446,2009300446
+2009300447,2009300447
+2009300448,2009300448
+2009300449,2009300449
+2009300450,2009300450
+2009300451,2009300451
+2009300452,2009300452
+2009300453,2009300453
+2009300454,2009300454
+2009300455,2009300455
+2009300456,2009300456
+2009300457,2009300457
+2009300458,2009300458
+2009300459,2009300459
+2009300460,2009300460
+2009300461,2009300461
+2009300462,2009300462
+2009300463,2009300463
+2009300464,2009300464
+2009300465,2009300465
+2009300466,2009300466
+2009300467,2009300467
+2009300468,2009300468
+2009300469,2009300469
+2009300470,2009300470
+2009300471,2009300471
+2009300472,2009300472
+2009300473,2009300473
+2009300474,2009300474
+2009300475,2009300475
+2009300476,2009300476
+2009300477,2009300477
+2009300478,2009300478
+2009300479,2009300479
+2009300480,2009300480
+2009300481,2009300481
+2009300482,2009300482
+2009300483,2009300483
+2009300484,2009300484
+2009300485,2009300485
+2009300486,2009300486
+2009300487,2009300487
+2009300488,2009300488
+2009300489,2009300489
+2009300490,2009300490
+2009300491,2009300491
+2009300492,2009300492
+2009300493,2009300493
+2009300494,2009300494
+2009300495,2009300495
+2009300496,2009300496
+2009300497,2009300497
+2009300498,2009300498
+2009300499,2009300499
+2009300500,2009300500
+2009300501,2009300501
+2009300502,2009300502
+2009300503,2009300503
+2009300504,2009300504
+2009300505,2009300505
+2009300506,2009300506
+2009300507,2009300507
+2009300508,2009300508
+2009300509,2009300509
+2009300510,2009300510
+2009300511,2009300511
+2009300512,2009300512
+2009300513,2009300513
+2009300514,2009300514
+2009300515,2009300515
+2009300516,2009300516
+2009300517,2009300517
+2009300518,2009300518
+2009300519,2009300519
+2009300520,2009300520
+2009300521,2009300521
+2009300522,2009300522
+2009300523,2009300523
+2009300524,2009300524
+2009300525,2009300525
+2009300526,2009300526
+2009300527,2009300527
+2009300528,2009300528
+2009300529,2009300529
+2009300530,2009300530
+2009300531,2009300531
+2009300532,2009300532
+2009300533,2009300533
+2009300534,2009300534
+2009300535,2009300535
+2009300536,2009300536
+2009300537,2009300537
+2009300538,2009300538
+2009300539,2009300539
+2009300540,2009300540
+2009300541,2009300541
+2009300542,2009300542
+2009300543,2009300543
+2009300544,2009300544
+2009300545,2009300545
+2009300546,2009300546
+2009300547,2009300547
+2009300548,2009300548
+2009300549,2009300549
+2009300550,2009300550
+2009300551,2009300551
+2009300552,2009300552
+2009300553,2009300553
+2009300554,2009300554
+2009300555,2009300555
+2009300556,2009300556
+2009300557,2009300557
+2009300558,2009300558
+2009300559,2009300559
+2009300560,2009300560
+2009300561,2009300561
+2009300562,2009300562
+2009300563,2009300563
+2009300564,2009300564
+2009300565,2009300565
+2009300566,2009300566
+2009300567,2009300567
+2009300568,2009300568
+2009300569,2009300569
+2009300570,2009300570
+2009300571,2009300571
+2009300572,2009300572
+2009300573,2009300573
+2009300574,2009300574
+2009300575,2009300575
+2009300576,2009300576
+2009300577,2009300577
+2009300578,2009300578
+2009300579,2009300579
+2009300580,2009300580
+2009300581,2009300581
+2009300582,2009300582
+2009300583,2009300583
+2009300584,2009300584
+2009300585,2009300585
+2009300586,2009300586
+2009300587,2009300587
+2009300588,2009300588
+2009300589,2009300589
+2009300590,2009300590
+2009300591,2009300591
+2009300592,2009300592
+2009300593,2009300593
+2009300594,2009300594
+2009300595,2009300595
+2009300596,2009300596
+2009300597,2009300597
+2009300598,2009300598
+2009300599,2009300599
+2009300600,2009300600
+2009300601,2009300601
+2009300602,2009300602
+2009300603,2009300603
+2009300604,2009300604
+2009300605,2009300605
+2009300606,2009300606
+2009300607,2009300607
+2009300608,2009300608
+2009300609,2009300609
+2009300610,2009300610
+2009300611,2009300611
+2009300612,2009300612
+2009300613,2009300613
+2009300614,2009300614
+2009300615,2009300615
+2009300616,2009300616
+2009300617,2009300617
+2009300618,2009300618
+2009300619,2009300619
+2009300620,2009300620
+2009300621,2009300621
+2009300622,2009300622
+2009300623,2009300623
+2009300624,2009300624
+2009300625,2009300625
+2009300626,2009300626
+2009300627,2009300627
+2009300628,2009300628
+2009300629,2009300629
+2009300630,2009300630
+2009300631,2009300631
+2009300632,2009300632
+2009300633,2009300633
+2009300634,2009300634
+2009300635,2009300635
+2009300636,2009300636
+2009300637,2009300637
+2009300638,2009300638
+2009300639,2009300639
+2009300640,2009300640
+2009300641,2009300641
+2009300642,2009300642
+2009300643,2009300643
+2009300644,2009300644
+2009300645,2009300645
+2009300646,2009300646
+2009300647,2009300647
+2009300648,2009300648
+2009300649,2009300649
+2009300650,2009300650
+2009300651,2009300651
+2009300652,2009300652
+2009300653,2009300653
+2009300654,2009300654
+2009300655,2009300655
+2009300656,2009300656
+2009300657,2009300657
+2009300658,2009300658
+2009300659,2009300659
+2009300660,2009300660
+2009300661,2009300661
+2009300662,2009300662
+2009300663,2009300663
+2009300664,2009300664
+2009300665,2009300665
+2009300666,2009300666
+2009300667,2009300667
+2009300668,2009300668
+2009300669,2009300669
+2009300670,2009300670
+2009300671,2009300671
+2009300672,2009300672
+2009300673,2009300673
+2009300674,2009300674
+2009300675,2009300675
+2009300676,2009300676
+2009300677,2009300677
+2009300678,2009300678
+2009300679,2009300679
+2009300680,2009300680
+2009300681,2009300681
+2009300682,2009300682
+2009300683,2009300683
+2009300684,2009300684
+2009300685,2009300685
+2009300686,2009300686
+2009300687,2009300687
+2009300688,2009300688
+2009300689,2009300689
+2009300690,2009300690
+2009300691,2009300691
+2009300692,2009300692
+2009300693,2009300693
+2009300694,2009300694
+2009300695,2009300695
+2009300696,2009300696
+2009300697,2009300697
+2009300698,2009300698
+2009300699,2009300699
+2009300700,2009300700
+2009300701,2009300701
+2009300702,2009300702
+2009300703,2009300703
+2009300704,2009300704
+2009300705,2009300705
+2009300706,2009300706
+2009300707,2009300707
+2009300708,2009300708
+2009300709,2009300709
+2009300710,2009300710
+2009300711,2009300711
+2009300712,2009300712
+2009300713,2009300713
+2009300714,2009300714
+2009300715,2009300715
+2009300716,2009300716
+2009300717,2009300717
+2009300718,2009300718
+2009300719,2009300719
+2009300720,2009300720
+2009300721,2009300721
+2009300722,2009300722
+2009300723,2009300723
+2009300724,2009300724
+2009300725,2009300725
+2009300726,2009300726
+2009300727,2009300727
+2009300728,2009300728
+2009300729,2009300729
+2009300730,2009300730
+2009300731,2009300731
+2009300732,2009300732
+2009300733,2009300733
+2009300734,2009300734
+2009300735,2009300735
+2009300736,2009300736
+2009300737,2009300737
+2009300738,2009300738
+2009300739,2009300739
+2009300740,2009300740
+2009300741,2009300741
+2009300742,2009300742
+2009300743,2009300743
+2009300744,2009300744
+2009300745,2009300745
+2009300746,2009300746
+2009300747,2009300747
+2009300748,2009300748
+2009300749,2009300749
+2009300750,2009300750
+2009300751,2009300751
+2009300752,2009300752
+2009300753,2009300753
+2009300754,2009300754
+2009300755,2009300755
+2009300756,2009300756
+2009300757,2009300757
+2009300758,2009300758
+2009300759,2009300759
+2009300760,2009300760
+2009300761,2009300761
+2009300762,2009300762
+2009300763,2009300763
+2009300764,2009300764
+2009300765,2009300765
+2009300766,2009300766
+2009300767,2009300767
+2009300768,2009300768
+2009300769,2009300769
+2009300770,2009300770
+2009300771,2009300771
+2009300772,2009300772
+2009300773,2009300773
+2009300774,2009300774
+2009300775,2009300775
+2009300776,2009300776
+2009300777,2009300777
+2009300778,2009300778
+2009300779,2009300779
+2009300780,2009300780
+2009300781,2009300781
+2009300782,2009300782
+2009300783,2009300783
+2009300784,2009300784
+2009300785,2009300785
+2009300786,2009300786
+2009300787,2009300787
+2009300788,2009300788
+2009300789,2009300789
+2009300790,2009300790
+2009300791,2009300791
+2009300792,2009300792
+2009300793,2009300793
+2009300794,2009300794
+2009300795,2009300795
+2009300796,2009300796
+2009300797,2009300797
+2009300798,2009300798
+2009300799,2009300799
+2009300800,2009300800
+2009300801,2009300801
+2009300802,2009300802
+2009300803,2009300803
+2009300804,2009300804
+2009300805,2009300805
+2009300806,2009300806
+2009300807,2009300807
+2009300808,2009300808
+2009300809,2009300809
+2009300810,2009300810
+2009300811,2009300811
+2009300812,2009300812
+2009300813,2009300813
+2009300814,2009300814
+2009300815,2009300815
+2009300816,2009300816
+2009300817,2009300817
+2009300818,2009300818
+2009300819,2009300819
+2009300820,2009300820
+2009300821,2009300821
+2009300822,2009300822
+2009300823,2009300823
+2009300824,2009300824
+2009300825,2009300825
+2009300826,2009300826
+2009300827,2009300827
+2009300828,2009300828
+2009300829,2009300829
+2009300830,2009300830
+2009300831,2009300831
+2009300832,2009300832
+2009300833,2009300833
+2009300834,2009300834
+2009300835,2009300835
+2009300836,2009300836
+2009300837,2009300837
+2009300838,2009300838
+2009300839,2009300839
+2009300840,2009300840
+2009300841,2009300841
+2009300842,2009300842
+2009300843,2009300843
+2009300844,2009300844
+2009300845,2009300845
+2009300846,2009300846
+2009300847,2009300847
+2009300848,2009300848
+2009300849,2009300849
+2009300850,2009300850
+2009300851,2009300851
+2009300852,2009300852
+2009300853,2009300853
+2009300854,2009300854
+2009300855,2009300855
+2009300856,2009300856
+2009300857,2009300857
+2009300858,2009300858
+2009300859,2009300859
+2009300860,2009300860
+2009300861,2009300861
+2009300862,2009300862
+2009300863,2009300863
+2009300864,2009300864
+2009300865,2009300865
+2009300866,2009300866
+2009300867,2009300867
+2009300868,2009300868
+2009300869,2009300869
+2009300870,2009300870
+2009300871,2009300871
+2009300872,2009300872
+2009300873,2009300873
+2009300874,2009300874
+2009300875,2009300875
+2009300876,2009300876
+2009300877,2009300877
+2009300878,2009300878
+2009300879,2009300879
+2009300880,2009300880
+2009300881,2009300881
+2009300882,2009300882
+2009300883,2009300883
+2009300884,2009300884
+2009300885,2009300885
+2009300886,2009300886
+2009300887,2009300887
+2009300888,2009300888
+2009300889,2009300889
+2009300890,2009300890
+2009300891,2009300891
+2009300892,2009300892
+2009300893,2009300893
+2009300894,2009300894
+2009300895,2009300895
+2009300896,2009300896
+2009300897,2009300897
+2009300898,2009300898
+2009300899,2009300899
+2009300900,2009300900
+2009300901,2009300901
+2009300902,2009300902
+2009300903,2009300903
+2009300904,2009300904
+2009300905,2009300905
+2009300906,2009300906
+2009300907,2009300907
+2009300908,2009300908
+2009300909,2009300909
+2009300910,2009300910
+2009300911,2009300911
+2009300912,2009300912
+2009300913,2009300913
+2009300914,2009300914
+2009300915,2009300915
+2009300916,2009300916
+2009300917,2009300917
+2009300918,2009300918
+2009300919,2009300919
+2009300920,2009300920
+2009300921,2009300921
+2009300922,2009300922
+2009300923,2009300923
+2009300924,2009300924
+2009300925,2009300925
+2009300926,2009300926
+2009300927,2009300927
+2009300928,2009300928
+2009300929,2009300929
+2009300930,2009300930
+2009300931,2009300931
+2009300932,2009300932
+2009300933,2009300933
+2009300934,2009300934
+2009300935,2009300935
+2009300936,2009300936
+2009300937,2009300937
+2009300938,2009300938
+2009300939,2009300939
+2009300940,2009300940
+2009300941,2009300941
+2009300942,2009300942
+2009300943,2009300943
+2009300944,2009300944
+2009300945,2009300945
+2009300946,2009300946
+2009300947,2009300947
+2009300948,2009300948
+2009300949,2009300949
+2009300950,2009300950
+2009300951,2009300951
+2009300952,2009300952
+2009300953,2009300953
+2009300954,2009300954
+2009300955,2009300955
+2009300956,2009300956
+2009300957,2009300957
+2009300958,2009300958
+2009300959,2009300959
+2009300960,2009300960
+2009300961,2009300961
+2009300962,2009300962
+2009300963,2009300963
+2009300964,2009300964
+2009300965,2009300965
+2009300966,2009300966
+2009300967,2009300967
+2009300968,2009300968
+2009300969,2009300969
+2009300970,2009300970
+2009300971,2009300971
+2009300972,2009300972
+2009300973,2009300973
+2009300974,2009300974
+2009300975,2009300975
+2009300976,2009300976
+2009300977,2009300977
+2009300978,2009300978
+2009300979,2009300979
+2009300980,2009300980
+2009300981,2009300981
+2009300982,2009300982
+2009300983,2009300983
+2009300984,2009300984
+2009300985,2009300985
+2009300986,2009300986
+2009300987,2009300987
+2009300988,2009300988
+2009300989,2009300989
+2009300990,2009300990
+2009300991,2009300991
+2009300992,2009300992
+2009300993,2009300993
+2009300994,2009300994
+2009300995,2009300995
+2009300996,2009300996
+2009300997,2009300997
+2009300998,2009300998
+2009300999,2009300999
+2009301000,2009301000
+2009301001,2009301001
+2009301002,2009301002
+2009301003,2009301003
+2009301004,2009301004
+2009301005,2009301005
+2009301006,2009301006
+2009301007,2009301007
+2009301008,2009301008
+2009301009,2009301009
+2009301010,2009301010
+2009301011,2009301011
+2009301012,2009301012
+2009301013,2009301013
+2009301014,2009301014
+2009301015,2009301015
+2009301016,2009301016
+2009301017,2009301017
+2009301018,2009301018
+2009301019,2009301019
+2009301020,2009301020
+2009301021,2009301021
+2009301022,2009301022
+2009301023,2009301023
+2009301024,2009301024
+2009301025,2009301025
+2009301026,2009301026
+2009301027,2009301027
+2009301028,2009301028
+2009301029,2009301029
+2009301030,2009301030
+2009301031,2009301031
+2009301032,2009301032
+2009301033,2009301033
+2009301034,2009301034
+2009301035,2009301035
+2009301036,2009301036
+2009301037,2009301037
+2009301038,2009301038
+2009301039,2009301039
+2009301040,2009301040
+2009301041,2009301041
+2009301042,2009301042
+2009301043,2009301043
+2009301044,2009301044
+2009301045,2009301045
+2009301046,2009301046
+2009301047,2009301047
+2009301048,2009301048
+2009301049,2009301049
+2009301050,2009301050
+2009301051,2009301051
+2009301052,2009301052
+2009301053,2009301053
+2009301054,2009301054
+2009301055,2009301055
+2009301056,2009301056
+2009301057,2009301057
+2009301058,2009301058
+2009301059,2009301059
+2009301060,2009301060
+2009301061,2009301061
+2009301062,2009301062
+2009301063,2009301063
+2009301064,2009301064
+2009301065,2009301065
+2009301066,2009301066
+2009301067,2009301067
+2009301068,2009301068
+2009301069,2009301069
+2009301070,2009301070
+2009301071,2009301071
+2009301072,2009301072
+2009301073,2009301073
+2009301074,2009301074
+2009301075,2009301075
+2009301076,2009301076
+2009301077,2009301077
+2009301078,2009301078
+2009301079,2009301079
+2009301080,2009301080
+2009301081,2009301081
+2009301082,2009301082
+2009301083,2009301083
+2009301084,2009301084
+2009301085,2009301085
+2009301086,2009301086
+2009301087,2009301087
+2009301088,2009301088
+2009301089,2009301089
+2009301090,2009301090
+2009301091,2009301091
+2009301092,2009301092
+2009301093,2009301093
+2009301094,2009301094
+2009301095,2009301095
+2009301096,2009301096
+2009301097,2009301097
+2009301098,2009301098
+2009301099,2009301099
+2009301100,2009301100
+2009301101,2009301101
+2009301102,2009301102
+2009301103,2009301103
+2009301104,2009301104
+2009301105,2009301105
+2009301106,2009301106
+2009301107,2009301107
+2009301108,2009301108
+2009301109,2009301109
+2009301110,2009301110
+2009301111,2009301111
+2009301112,2009301112
+2009301113,2009301113
+2009301114,2009301114
+2009301115,2009301115
+2009301116,2009301116
+2009301117,2009301117
+2009301118,2009301118
+2009301119,2009301119
+2009301120,2009301120
+2009301121,2009301121
+2009301122,2009301122
+2009301123,2009301123
+2009301124,2009301124
+2009301125,2009301125
+2009301126,2009301126
+2009301127,2009301127
+2009301128,2009301128
+2009301129,2009301129
+2009301130,2009301130
+2009301131,2009301131
+2009301132,2009301132
+2009301133,2009301133
+2009301134,2009301134
+2009301135,2009301135
+2009301136,2009301136
+2009301137,2009301137
+2009301138,2009301138
+2009301139,2009301139
+2009301140,2009301140
+2009301141,2009301141
+2009301142,2009301142
+2009301143,2009301143
+2009301144,2009301144
+2009301145,2009301145
+2009301146,2009301146
+2009301147,2009301147
+2009301148,2009301148
+2009301149,2009301149
+2009301150,2009301150
+2009301151,2009301151
+2009301152,2009301152
+2009301153,2009301153
+2009301154,2009301154
+2009301155,2009301155
+2009301156,2009301156
+2009301157,2009301157
+2009301158,2009301158
+2009301159,2009301159
+2009301160,2009301160
+2009301161,2009301161
+2009301162,2009301162
+2009301163,2009301163
+2009301164,2009301164
+2009301165,2009301165
+2009301166,2009301166
+2009301167,2009301167
+2009301168,2009301168
+2009301169,2009301169
+2009301170,2009301170
+2009301171,2009301171
+2009301172,2009301172
+2009301173,2009301173
+2009301174,2009301174
+2009301175,2009301175
+2009301176,2009301176
+2009301177,2009301177
+2009301178,2009301178
+2009301179,2009301179
+2009301180,2009301180
+2009301181,2009301181
+2009301182,2009301182
+2009301183,2009301183
+2009301184,2009301184
+2009301185,2009301185
+2009301186,2009301186
+2009301187,2009301187
+2009301188,2009301188
+2009301189,2009301189
+2009301190,2009301190
+2009301191,2009301191
+2009301192,2009301192
+2009301193,2009301193
+2009301194,2009301194
+2009301195,2009301195
+2009301196,2009301196
+2009301197,2009301197
+2009301198,2009301198
+2009301199,2009301199
+2009301200,2009301200
+2009301201,2009301201
+2009301202,2009301202
+2009301203,2009301203
+2009301204,2009301204
+2009301205,2009301205
+2009301206,2009301206
+2009301207,2009301207
+2009301208,2009301208
+2009301209,2009301209
+2009301210,2009301210
+2009301211,2009301211
+2009301212,2009301212
+2009301213,2009301213
+2009301214,2009301214
+2009301215,2009301215
+2009301216,2009301216
+2009301217,2009301217
+2009301218,2009301218
+2009301219,2009301219
+2009301220,2009301220
+2009301221,2009301221
+2009301222,2009301222
+2009301223,2009301223
+2009301224,2009301224
+2009301225,2009301225
+2009301226,2009301226
+2009301227,2009301227
+2009301228,2009301228
+2009301229,2009301229
+2009301230,2009301230
+2009301231,2009301231
+2009301232,2009301232
+2009301233,2009301233
+2009301234,2009301234
+2009301235,2009301235
+2009301236,2009301236
+2009301237,2009301237
+2009301238,2009301238
+2009301239,2009301239
+2009301240,2009301240
+2009301241,2009301241
+2009301242,2009301242
+2009301243,2009301243
+2009301244,2009301244
+2009301245,2009301245
+2009301246,2009301246
+2009301247,2009301247
+2009301248,2009301248
+2009301249,2009301249
+2009301250,2009301250
+2009301251,2009301251
+2009301252,2009301252
+2009301253,2009301253
+2009301254,2009301254
+2009301255,2009301255
+2009301256,2009301256
+2009301257,2009301257
+2009301258,2009301258
+2009301259,2009301259
+2009301260,2009301260
+2009301261,2009301261
+2009301262,2009301262
+2009301263,2009301263
+2009301264,2009301264
+2009301265,2009301265
+2009301266,2009301266
+2009301267,2009301267
+2009301268,2009301268
+2009301269,2009301269
+2009301270,2009301270
+2009301271,2009301271
+2009301272,2009301272
+2009301273,2009301273
+2009301274,2009301274
+2009301275,2009301275
+2009301276,2009301276
+2009301277,2009301277
+2009301278,2009301278
+2009301279,2009301279
+2009301280,2009301280
+2009301281,2009301281
+2009301282,2009301282
+2009301283,2009301283
+2009301284,2009301284
+2009301285,2009301285
+2009301286,2009301286
+2009301287,2009301287
+2009301288,2009301288
+2009301289,2009301289
+2009301290,2009301290
+2009301291,2009301291
+2009301292,2009301292
+2009301293,2009301293
+2009301294,2009301294
+2009301295,2009301295
+2009301296,2009301296
+2009301297,2009301297
+2009301298,2009301298
+2009301299,2009301299
+2009301300,2009301300
+2009301301,2009301301
+2009301302,2009301302
+2009301303,2009301303
+2009301304,2009301304
+2009301305,2009301305
+2009301306,2009301306
+2009301307,2009301307
+2009301308,2009301308
+2009301309,2009301309
+2009301310,2009301310
+2009301311,2009301311
+2009301312,2009301312
+2009301313,2009301313
+2009301314,2009301314
+2009301315,2009301315
+2009301316,2009301316
+2009301317,2009301317
+2009301318,2009301318
+2009301319,2009301319
+2009301320,2009301320
+2009301321,2009301321
+2009301322,2009301322
+2009301323,2009301323
+2009301324,2009301324
+2009301325,2009301325
+2009301326,2009301326
+2009301327,2009301327
+2009301328,2009301328
+2009301329,2009301329
+2009301330,2009301330
+2009301331,2009301331
+2009301332,2009301332
+2009301333,2009301333
+2009301334,2009301334
+2009301335,2009301335
+2009301336,2009301336
+2009301337,2009301337
+2009301338,2009301338
+2009301339,2009301339
+2009301340,2009301340
+2009301341,2009301341
+2009301342,2009301342
+2009301343,2009301343
+2009301344,2009301344
+2009301345,2009301345
+2009301346,2009301346
+2009301347,2009301347
+2009301348,2009301348
+2009301349,2009301349
+2009301350,2009301350
+2009301351,2009301351
+2009301352,2009301352
+2009301353,2009301353
+2009301354,2009301354
+2009301355,2009301355
+2009301356,2009301356
+2009301357,2009301357
+2009301358,2009301358
+2009301359,2009301359
+2009301360,2009301360
+2009301361,2009301361
+2009301362,2009301362
+2009301363,2009301363
+2009301364,2009301364
+2009301365,2009301365
+2009301366,2009301366
+2009301367,2009301367
+2009301368,2009301368
+2009301369,2009301369
+2009301370,2009301370
+2009301371,2009301371
+2009301372,2009301372
+2009301373,2009301373
+2009301374,2009301374
+2009301375,2009301375
+2009301376,2009301376
+2009301377,2009301377
+2009301378,2009301378
+2009301379,2009301379
+2009301380,2009301380
+2009301381,2009301381
+2009301382,2009301382
+2009301383,2009301383
+2009301384,2009301384
+2009301385,2009301385
+2009301386,2009301386
+2009301387,2009301387
+2009301388,2009301388
+2009301389,2009301389
+2009301390,2009301390
+2009301391,2009301391
+2009301392,2009301392
+2009301393,2009301393
+2009301394,2009301394
+2009301395,2009301395
+2009301396,2009301396
+2009301397,2009301397
+2009301398,2009301398
+2009301399,2009301399
+2009301400,2009301400
+2009301401,2009301401
+2009301402,2009301402
+2009301403,2009301403
+2009301404,2009301404
+2009301405,2009301405
+2009301406,2009301406
+2009301407,2009301407
+2009301408,2009301408
+2009301409,2009301409
+2009301410,2009301410
+2009301411,2009301411
+2009301412,2009301412
+2009301413,2009301413
+2009301414,2009301414
+2009301415,2009301415
+2009301416,2009301416
+2009301417,2009301417
+2009301418,2009301418
+2009301419,2009301419
+2009301420,2009301420
+2009301421,2009301421
+2009301422,2009301422
+2009301423,2009301423
+2009301424,2009301424
+2009301425,2009301425
+2009301426,2009301426
+2009301427,2009301427
+2009301428,2009301428
+2009301429,2009301429
+2009301430,2009301430
+2009301431,2009301431
+2009301432,2009301432
+2009301433,2009301433
+2009301434,2009301434
+2009301435,2009301435
+2009301436,2009301436
+2009301437,2009301437
+2009301438,2009301438
+2009301439,2009301439
+2009301440,2009301440
+2009301441,2009301441
+2009301442,2009301442
+2009301443,2009301443
+2009301444,2009301444
+2009301445,2009301445
+2009301446,2009301446
+2009301447,2009301447
+2009301448,2009301448
+2009301449,2009301449
+2009301450,2009301450
+2009301451,2009301451
+2009301452,2009301452
+2009301453,2009301453
+2009301454,2009301454
+2009301455,2009301455
+2009301456,2009301456
+2009301457,2009301457
+2009301458,2009301458
+2009301459,2009301459
+2009301460,2009301460
+2009301461,2009301461
+2009301462,2009301462
+2009301463,2009301463
+2009301464,2009301464
+2009301465,2009301465
+2009301466,2009301466
+2009301467,2009301467
+2009301468,2009301468
+2009301469,2009301469
+2009301470,2009301470
+2009301471,2009301471
+2009301472,2009301472
+2009301473,2009301473
+2009301474,2009301474
+2009301475,2009301475
+2009301476,2009301476
+2009301477,2009301477
+2009301478,2009301478
+2009301479,2009301479
+2009301480,2009301480
+2009301481,2009301481
+2009301482,2009301482
+2009301483,2009301483
+2009301484,2009301484
+2009301485,2009301485
+2009301486,2009301486
+2009301487,2009301487
+2009301488,2009301488
+2009301489,2009301489
+2009301490,2009301490
+2009301491,2009301491
+2009301492,2009301492
+2009301493,2009301493
+2009301494,2009301494
+2009301495,2009301495
+2009301496,2009301496
+2009301497,2009301497
+2009301498,2009301498
+2009301499,2009301499
+2009301500,2009301500
+2009301501,2009301501
+2009301502,2009301502
+2009301503,2009301503
+2009301504,2009301504
+2009301505,2009301505
+2009301506,2009301506
+2009301507,2009301507
+2009301508,2009301508
+2009301509,2009301509
+2009301510,2009301510
+2009301511,2009301511
+2009301512,2009301512
+2009301513,2009301513
+2009301514,2009301514
+2009301515,2009301515
+2009301516,2009301516
+2009301517,2009301517
+2009301518,2009301518
+2009301519,2009301519
+2009301520,2009301520
+2009301521,2009301521
+2009301522,2009301522
+2009301523,2009301523
+2009301524,2009301524
+2009301525,2009301525
+2009301526,2009301526
+2009301527,2009301527
+2009301528,2009301528
+2009301529,2009301529
+2009301530,2009301530
+2009301531,2009301531
+2009301532,2009301532
+2009301533,2009301533
+2009301534,2009301534
+2009301535,2009301535
+2009301536,2009301536
+2009301537,2009301537
+2009301538,2009301538
+2009301539,2009301539
+2009301540,2009301540
+2009301541,2009301541
+2009301542,2009301542
+2009301543,2009301543
+2009301544,2009301544
+2009301545,2009301545
+2009301546,2009301546
+2009301547,2009301547
+2009301548,2009301548
+2009301549,2009301549
+2009301550,2009301550
+2009301551,2009301551
+2009301552,2009301552
+2009301553,2009301553
+2009301554,2009301554
+2009301555,2009301555
+2009301556,2009301556
+2009301557,2009301557
+2009301558,2009301558
+2009301559,2009301559
+2009301560,2009301560
+2009301561,2009301561
+2009301562,2009301562
+2009301563,2009301563
+2009301564,2009301564
+2009301565,2009301565
+2009301566,2009301566
+2009301568,2009301568
+2009301569,2009301569
+2009301570,2009301570
+2009301571,2009301571
+2009301572,2009301572
+2009301573,2009301573
+2009301574,2009301574
+2009301575,2009301575
+2009301576,2009301576
+2009301577,2009301577
+2009301578,2009301578
+2009301579,2009301579
+2009301580,2009301580
+2009301581,2009301581
+2009301582,2009301582
+2009301583,2009301583
+2009301584,2009301584
+2009301585,2009301585
+2009301586,2009301586
+2009301587,2009301587
+2009301588,2009301588
+2009301589,2009301589
+2009301590,2009301590
+2009301591,2009301591
+2009301592,2009301592
+2009301593,2009301593
+2009301594,2009301594
+2009301595,2009301595
+2009301596,2009301596
+2009301597,2009301597
+2009301598,2009301598
+2009301599,2009301599
+2009301600,2009301600
+2009301601,2009301601
+2009301602,2009301602
+2009301603,2009301603
+2009301604,2009301604
+2009301605,2009301605
+2009301606,2009301606
+2009301607,2009301607
+2009301608,2009301608
+2009301609,2009301609
+2009301610,2009301610
+2009301611,2009301611
+2009301612,2009301612
+2009301613,2009301613
+2009301614,2009301614
+2009301615,2009301615
+2009301616,2009301616
+2009301617,2009301617
+2009301618,2009301618
+2009301619,2009301619
+2009301620,2009301620
+2009301621,2009301621
+2009301622,2009301622
+2009301623,2009301623
+2009301624,2009301624
+2009301625,2009301625
+2009301626,2009301626
+2009301627,2009301627
+2009301628,2009301628
+2009301629,2009301629
+2009301630,2009301630
+2009301631,2009301631
+2009301632,2009301632
+2009301633,2009301633
+2009301634,2009301634
+2009301635,2009301635
+2009301636,2009301636
+2009301637,2009301637
+2009301638,2009301638
+2009301639,2009301639
+2009301640,2009301640
+2009301641,2009301641
+2009301642,2009301642
+2009301643,2009301643
+2009301644,2009301644
+2009301645,2009301645
+2009301646,2009301646
+2009301647,2009301647
+2009301648,2009301648
+2009301649,2009301649
+2009301650,2009301650
+2009301651,2009301651
+2009301652,2009301652
+2009301653,2009301653
+2009301654,2009301654
+2009301655,2009301655
+2009301656,2009301656
+2009301657,2009301657
+2009301658,2009301658
+2009301659,2009301659
+2009301660,2009301660
+2009301661,2009301661
+2009301662,2009301662
+2009301663,2009301663
+2009301664,2009301664
+2009301665,2009301665
+2009301666,2009301666
+2009301667,2009301667
+2009301668,2009301668
+2009301669,2009301669
+2009301670,2009301670
+2009301671,2009301671
+2009301672,2009301672
+2009301673,2009301673
+2009301674,2009301674
+2009301675,2009301675
+2009301676,2009301676
+2009301677,2009301677
+2009301678,2009301678
+2009301679,2009301679
+2009301680,2009301680
+2009301681,2009301681
+2009301682,2009301682
+2009301683,2009301683
+2009301684,2009301684
+2009301685,2009301685
+2009301686,2009301686
+2009301687,2009301687
+2009301688,2009301688
+2009301689,2009301689
+2009301690,2009301690
+2009301691,2009301691
+2009301692,2009301692
+2009301693,2009301693
+2009301694,2009301694
+2009301695,2009301695
+2009301696,2009301696
+2009301697,2009301697
+2009301698,2009301698
+2009301699,2009301699
+2009301700,2009301700
+2009301701,2009301701
+2009301702,2009301702
+2009301703,2009301703
+2009301704,2009301704
+2009301705,2009301705
+2009301706,2009301706
+2009301707,2009301707
+2009301708,2009301708
+2009301709,2009301709
+2009301710,2009301710
+2009301711,2009301711
+2009301712,2009301712
+2009301713,2009301713
+2009301714,2009301714
+2009301715,2009301715
+2009301716,2009301716
+2009301717,2009301717
+2009301718,2009301718
+2009301719,2009301719
+2009301720,2009301720
+2009301721,2009301721
+2009301722,2009301722
+2009301723,2009301723
+2009301724,2009301724
+2009301725,2009301725
+2009301726,2009301726
+2009301727,2009301727
+2009301728,2009301728
+2009301729,2009301729
+2009301730,2009301730
+2009301731,2009301731
+2009301732,2009301732
+2009301733,2009301733
+2009301734,2009301734
+2009301735,2009301735
+2009301736,2009301736
+2009301737,2009301737
+2009301738,2009301738
+2009301739,2009301739
+2009301741,2009301741
+2009301742,2009301742
+2009301743,2009301743
+2009301744,2009301744
+2009301745,2009301745
+2009301746,2009301746
+2009301747,2009301747
+2009301748,2009301748
+2009301749,2009301749
+2009301750,2009301750
+2009301751,2009301751
+2009301752,2009301752
+2009301753,2009301753
+2009301754,2009301754
+2009301755,2009301755
+2009301756,2009301756
+2009301757,2009301757
+2009301758,2009301758
+2009301759,2009301759
+2009301760,2009301760
+2009301761,2009301761
+2009301762,2009301762
+2009301763,2009301763
+2009301764,2009301764
+2009301765,2009301765
+2009301766,2009301766
+2009301767,2009301767
+2009301768,2009301768
+2009301769,2009301769
+2009301770,2009301770
+2009301771,2009301771
+2009301772,2009301772
+2009301773,2009301773
+2009301774,2009301774
+2009301775,2009301775
+2009301776,2009301776
+2009301777,2009301777
+2009301778,2009301778
+2009301779,2009301779
+2009301780,2009301780
+2009301781,2009301781
+2009301782,2009301782
+2009301783,2009301783
+2009301784,2009301784
+2009301785,2009301785
+2009301786,2009301786
+2009301787,2009301787
+2009301788,2009301788
+2009301789,2009301789
+2009301790,2009301790
+2009301791,2009301791
+2009301792,2009301792
+2009301793,2009301793
+2009301794,2009301794
+2009301795,2009301795
+2009301796,2009301796
+2009301797,2009301797
+2009301798,2009301798
+2009301799,2009301799
+2009301800,2009301800
+2009301801,2009301801
+2009301802,2009301802
+2009301803,2009301803
+2009301804,2009301804
+2009301805,2009301805
+2009301806,2009301806
+2009301807,2009301807
+2009301808,2009301808
+2009301809,2009301809
+2009301810,2009301810
+2009301811,2009301811
+2009301812,2009301812
+2009301813,2009301813
+2009301814,2009301814
+2009301815,2009301815
+2009301816,2009301816
+2009301817,2009301817
+2009301818,2009301818
+2009301819,2009301819
+2009301820,2009301820
+2009301821,2009301821
+2009301822,2009301822
+2009301823,2009301823
+2009301824,2009301824
+2009301825,2009301825
+2009301826,2009301826
+2009301827,2009301827
+2009301828,2009301828
+2009301829,2009301829
+2009301830,2009301830
+2009301831,2009301831
+2009301832,2009301832
+2009301833,2009301833
+2009301834,2009301834
+2009301835,2009301835
+2009301836,2009301836
+2009301837,2009301837
+2009301838,2009301838
+2009301839,2009301839
+2009301840,2009301840
+2009301841,2009301841
+2009301842,2009301842
+2009301843,2009301843
+2009301844,2009301844
+2009301845,2009301845
+2009301846,2009301846
+2009301847,2009301847
+2009301848,2009301848
+2009301849,2009301849
+2009301850,2009301850
+2009301851,2009301851
+2009301852,2009301852
+2009301853,2009301853
+2009301854,2009301854
+2009301855,2009301855
+2009301856,2009301856
+2009301857,2009301857
+2009301858,2009301858
+2009301859,2009301859
+2009301860,2009301860
+2009301861,2009301861
+2009301862,2009301862
+2009301863,2009301863
+2009301864,2009301864
+2009301865,2009301865
+2009301866,2009301866
+2009301867,2009301867
+2009301868,2009301868
+2009301869,2009301869
+2009301870,2009301870
+2009301871,2009301871
+2009301872,2009301872
+2009301873,2009301873
+2009301874,2009301874
+2009301875,2009301875
+2009301876,2009301876
+2009301877,2009301877
+2009301878,2009301878
+2009301879,2009301879
+2009301880,2009301880
+2009301881,2009301881
+2009301882,2009301882
+2009301883,2009301883
+2009301884,2009301884
+2009301885,2009301885
+2009301886,2009301886
+2009301887,2009301887
+2009301888,2009301888
+2009301889,2009301889
+2009301890,2009301890
+2009301891,2009301891
+2009301892,2009301892
+2009301893,2009301893
+2009301894,2009301894
+2009301895,2009301895
+2009301896,2009301896
+2009301897,2009301897
+2009301898,2009301898
+2009301899,2009301899
+2009301900,2009301900
+2009301901,2009301901
+2009301902,2009301902
+2009301903,2009301903
+2009301904,2009301904
+2009301905,2009301905
+2009301906,2009301906
+2009301907,2009301907
+2009301908,2009301908
+2009301909,2009301909
+2009301910,2009301910
+2009301911,2009301911
+2009301912,2009301912
+2009301913,2009301913
+2009301914,2009301914
+2009301915,2009301915
+2009301916,2009301916
+2009301917,2009301917
+2009301918,2009301918
+2009301919,2009301919
+2009301920,2009301920
+2009301922,2009301922
+2009301923,2009301923
+2009301924,2009301924
+2009301925,2009301925
+2009301926,2009301926
+2009301927,2009301927
+2009301928,2009301928
+2009301929,2009301929
+2009301930,2009301930
+2009301931,2009301931
+2009301932,2009301932
+2009301933,2009301933
+2009301934,2009301934
+2009301935,2009301935
+2009301936,2009301936
+2009301937,2009301937
+2009301938,2009301938
+2009301939,2009301939
+2009301940,2009301940
+2009301941,2009301941
+2009301942,2009301942
+2009301943,2009301943
+2009301944,2009301944
+2009301945,2009301945
+2009301946,2009301946
+2009301947,2009301947
+2009301948,2009301948
+2009301949,2009301949
+2009301950,2009301950
+2009301951,2009301951
+2009301952,2009301952
+2009301953,2009301953
+2009301954,2009301954
+2009301955,2009301955
+2009301956,2009301956
+2009301957,2009301957
+2009301958,2009301958
+2009301959,2009301959
+2009301960,2009301960
+2009301961,2009301961
+2009301962,2009301962
+2009301963,2009301963
+2009301964,2009301964
+2009301965,2009301965
+2009301966,2009301966
+2009301967,2009301967
+2009301968,2009301968
+2009301969,2009301969
+2009301970,2009301970
+2009301971,2009301971
+2009301972,2009301972
+2009301973,2009301973
+2009301974,2009301974
+2009301975,2009301975
+2009301976,2009301976
+2009301977,2009301977
+2009301978,2009301978
+2009301979,2009301979
+2009301980,2009301980
+2009301981,2009301981
+2009301982,2009301982
+2009301983,2009301983
+2009301984,2009301984
+2009301985,2009301985
+2009301986,2009301986
+2009301987,2009301987
+2009301988,2009301988
+2009301989,2009301989
+2009301990,2009301990
+2009301991,2009301991
+2009301992,2009301992
+2009301993,2009301993
+2009301994,2009301994
+2009301995,2009301995
+2009301996,2009301996
+2009301997,2009301997
+2009301998,2009301998
+2009301999,2009301999
+2009302000,2009302000
+2009302001,2009302001
+2009302002,2009302002
+2009302003,2009302003
+2009302004,2009302004
+2009302005,2009302005
+2009302006,2009302006
+2009302007,2009302007
+2009302008,2009302008
+2009302009,2009302009
+2009302010,2009302010
+2009302011,2009302011
+2009302012,2009302012
+2009302013,2009302013
+2009302014,2009302014
+2009302015,2009302015
+2009302016,2009302016
+2009302017,2009302017
+2009302018,2009302018
+2009302019,2009302019
+2009302020,2009302020
+2009302021,2009302021
+2009302022,2009302022
+2009302023,2009302023
+2009302024,2009302024
+2009302025,2009302025
+2009302026,2009302026
+2009302027,2009302027
+2009302028,2009302028
+2009302029,2009302029
+2009302030,2009302030
+2009302031,2009302031
+2009302032,2009302032
+2009302033,2009302033
+2009302034,2009302034
+2009302035,2009302035
+2009302036,2009302036
+2009302037,2009302037
+2009302038,2009302038
+2009302039,2009302039
+2009302040,2009302040
+2009302041,2009302041
+2009302042,2009302042
+2009302043,2009302043
+2009302044,2009302044
+2009302045,2009302045
+2009302046,2009302046
+2009302047,2009302047
+2009302048,2009302048
+2009302049,2009302049
+2009302050,2009302050
+2009302051,2009302051
+2009302052,2009302052
+2009302053,2009302053
+2009302054,2009302054
+2009302055,2009302055
+2009302056,2009302056
+2009302057,2009302057
+2009302058,2009302058
+2009302059,2009302059
+2009302060,2009302060
+2009302061,2009302061
+2009302062,2009302062
+2009302063,2009302063
+2009302064,2009302064
+2009302065,2009302065
+2009302066,2009302066
+2009302067,2009302067
+2009302068,2009302068
+2009302069,2009302069
+2009302070,2009302070
+2009302071,2009302071
+2009302072,2009302072
+2009302073,2009302073
+2009302074,2009302074
+2009302075,2009302075
+2009302076,2009302076
+2009302077,2009302077
+2009302078,2009302078
+2009302079,2009302079
+2009302080,2009302080
+2009302081,2009302081
+2009302082,2009302082
+2009302083,2009302083
+2009302084,2009302084
+2009302085,2009302085
+2009302086,2009302086
+2009302087,2009302087
+2009302088,2009302088
+2009302089,2009302089
+2009302090,2009302090
+2009302091,2009302091
+2009302092,2009302092
+2009302093,2009302093
+2009302094,2009302094
+2009302095,2009302095
+2009302096,2009302096
+2009302097,2009302097
+2009302098,2009302098
+2009302099,2009302099
+2009302100,2009302100
+2009302101,2009302101
+2009302102,2009302102
+2009302103,2009302103
+2009302104,2009302104
+2009302105,2009302105
+2009302106,2009302106
+2009302107,2009302107
+2009302108,2009302108
+2009302109,2009302109
+2009302110,2009302110
+2009302111,2009302111
+2009302112,2009302112
+2009302113,2009302113
+2009302114,2009302114
+2009302115,2009302115
+2009302116,2009302116
+2009302117,2009302117
+2009302118,2009302118
+2009302119,2009302119
+2009302120,2009302120
+2009302121,2009302121
+2009302122,2009302122
+2009302123,2009302123
+2009302124,2009302124
+2009302125,2009302125
+2009302126,2009302126
+2009302127,2009302127
+2009302128,2009302128
+2009302129,2009302129
+2009302130,2009302130
+2009302131,2009302131
+2009302132,2009302132
+2009302133,2009302133
+2009302134,2009302134
+2009302135,2009302135
+2009302136,2009302136
+2009302137,2009302137
+2009302138,2009302138
+2009302139,2009302139
+2009302140,2009302140
+2009302141,2009302141
+2009302142,2009302142
+2009302143,2009302143
+2009302144,2009302144
+2009302145,2009302145
+2009302146,2009302146
+2009302147,2009302147
+2009302148,2009302148
+2009302149,2009302149
+2009302150,2009302150
+2009302151,2009302151
+2009302152,2009302152
+2009302153,2009302153
+2009302154,2009302154
+2009302155,2009302155
+2009302156,2009302156
+2009302157,2009302157
+2009302158,2009302158
+2009302159,2009302159
+2009302160,2009302160
+2009302161,2009302161
+2009302162,2009302162
+2009302163,2009302163
+2009302164,2009302164
+2009302165,2009302165
+2009302166,2009302166
+2009302167,2009302167
+2009302168,2009302168
+2009302169,2009302169
+2009302170,2009302170
+2009302171,2009302171
+2009302172,2009302172
+2009302173,2009302173
+2009302174,2009302174
+2009302175,2009302175
+2009302176,2009302176
+2009302177,2009302177
+2009302178,2009302178
+2009302179,2009302179
+2009302180,2009302180
+2009302181,2009302181
+2009302182,2009302182
+2009302183,2009302183
+2009302184,2009302184
+2009302185,2009302185
+2009302186,2009302186
+2009302187,2009302187
+2009302188,2009302188
+2009302189,2009302189
+2009302190,2009302190
+2009302191,2009302191
+2009302192,2009302192
+2009302193,2009302193
+2009302194,2009302194
+2009302195,2009302195
+2009302196,2009302196
+2009302197,2009302197
+2009302198,2009302198
+2009302199,2009302199
+2009302200,2009302200
+2009302201,2009302201
+2009302202,2009302202
+2009302203,2009302203
+2009302204,2009302204
+2009302205,2009302205
+2009302206,2009302206
+2009302207,2009302207
+2009302208,2009302208
+2009302209,2009302209
+2009302210,2009302210
+2009302211,2009302211
+2009302212,2009302212
+2009302213,2009302213
+2009302214,2009302214
+2009302215,2009302215
+2009302216,2009302216
+2009302217,2009302217
+2009302218,2009302218
+2009302219,2009302219
+2009302220,2009302220
+2009302221,2009302221
+2009302222,2009302222
+2009302223,2009302223
+2009302224,2009302224
+2009302225,2009302225
+2009302226,2009302226
+2009302227,2009302227
+2009302228,2009302228
+2009302229,2009302229
+2009302230,2009302230
+2009302231,2009302231
+2009302232,2009302232
+2009302233,2009302233
+2009302234,2009302234
+2009302235,2009302235
+2009302236,2009302236
+2009302237,2009302237
+2009302238,2009302238
+2009302239,2009302239
+2009302240,2009302240
+2009302241,2009302241
+2009302242,2009302242
+2009302243,2009302243
+2009302244,2009302244
+2009302245,2009302245
+2009302246,2009302246
+2009302247,2009302247
+2009302248,2009302248
+2009302249,2009302249
+2009302250,2009302250
+2009302251,2009302251
+2009302252,2009302252
+2009302253,2009302253
+2009302254,2009302254
+2009302255,2009302255
+2009302256,2009302256
+2009302257,2009302257
+2009302258,2009302258
+2009302259,2009302259
+2009302260,2009302260
+2009302261,2009302261
+2009302262,2009302262
+2009302263,2009302263
+2009302264,2009302264
+2009302265,2009302265
+2009302266,2009302266
+2009302267,2009302267
+2009302268,2009302268
+2009302269,2009302269
+2009302270,2009302270
+2009302271,2009302271
+2009302272,2009302272
+2009302273,2009302273
+2009302274,2009302274
+2009302275,2009302275
+2009302276,2009302276
+2009302277,2009302277
+2009302278,2009302278
+2009302279,2009302279
+2009302280,2009302280
+2009302281,2009302281
+2009302282,2009302282
+2009302283,2009302283
+2009302284,2009302284
+2009302285,2009302285
+2009302286,2009302286
+2009302287,2009302287
+2009302288,2009302288
+2009302289,2009302289
+2009302290,2009302290
+2009302291,2009302291
+2009302292,2009302292
+2009302293,2009302293
+2009302294,2009302294
+2009302295,2009302295
+2009302296,2009302296
+2009302297,2009302297
+2009302298,2009302298
+2009302299,2009302299
+2009302300,2009302300
+2009302301,2009302301
+2009302302,2009302302
+2009302303,2009302303
+2009302304,2009302304
+2009302305,2009302305
+2009302306,2009302306
+2009302307,2009302307
+2009302308,2009302308
+2009302309,2009302309
+2009302310,2009302310
+2009302311,2009302311
+2009302312,2009302312
+2009302313,2009302313
+2009302314,2009302314
+2009302315,2009302315
+2009302316,2009302316
+2009302317,2009302317
+2009302318,2009302318
+2009302319,2009302319
+2009302320,2009302320
+2009302321,2009302321
+2009302322,2009302322
+2009302323,2009302323
+2009302324,2009302324
+2009302325,2009302325
+2009302326,2009302326
+2009302327,2009302327
+2009302328,2009302328
+2009302329,2009302329
+2009302330,2009302330
+2009302331,2009302331
+2009302332,2009302332
+2009302333,2009302333
+2009302334,2009302334
+2009302335,2009302335
+2009302336,2009302336
+2009302337,2009302337
+2009302338,2009302338
+2009302339,2009302339
+2009302340,2009302340
+2009302341,2009302341
+2009302342,2009302342
+2009302343,2009302343
+2009302344,2009302344
+2009302345,2009302345
+2009302346,2009302346
+2009302347,2009302347
+2009302348,2009302348
+2009302349,2009302349
+2009302350,2009302350
+2009302351,2009302351
+2009302352,2009302352
+2009302353,2009302353
+2009302354,2009302354
+2009302355,2009302355
+2009302356,2009302356
+2009302357,2009302357
+2009302358,2009302358
+2009302359,2009302359
+2009302360,2009302360
+2009302361,2009302361
+2009302362,2009302362
+2009302363,2009302363
+2009302364,2009302364
+2009302365,2009302365
+2009302366,2009302366
+2009302367,2009302367
+2009302368,2009302368
+2009302369,2009302369
+2009302370,2009302370
+2009302371,2009302371
+2009302372,2009302372
+2009302373,2009302373
+2009302374,2009302374
+2009302375,2009302375
+2009302376,2009302376
+2009302377,2009302377
+2009302378,2009302378
+2009302379,2009302379
+2009302380,2009302380
+2009302381,2009302381
+2009302382,2009302382
+2009302383,2009302383
+2009302384,2009302384
+2009302385,2009302385
+2009302386,2009302386
+2009302387,2009302387
+2009302388,2009302388
+2009302389,2009302389
+2009302390,2009302390
+2009302391,2009302391
+2009302392,2009302392
+2009302393,2009302393
+2009302394,2009302394
+2009302395,2009302395
+2009302396,2009302396
+2009302397,2009302397
+2009302398,2009302398
+2009302399,2009302399
+2009302400,2009302400
+2009302401,2009302401
+2009302402,2009302402
+2009302403,2009302403
+2009302404,2009302404
+2009302405,2009302405
+2009302406,2009302406
+2009302407,2009302407
+2009302408,2009302408
+2009302409,2009302409
+2009302410,2009302410
+2009302411,2009302411
+2009302412,2009302412
+2009302413,2009302413
+2009302414,2009302414
+2009302415,2009302415
+2009302416,2009302416
+2009302417,2009302417
+2009302418,2009302418
+2009302419,2009302419
+2009302420,2009302420
+2009302421,2009302421
+2009302422,2009302422
+2009302423,2009302423
+2009302424,2009302424
+2009302425,2009302425
+2009302426,2009302426
+2009302427,2009302427
+2009302428,2009302428
+2009302429,2009302429
+2009302430,2009302430
+2009302431,2009302431
+2009302432,2009302432
+2009302433,2009302433
+2009302434,2009302434
+2009302435,2009302435
+2009302436,2009302436
+2009302437,2009302437
+2009302438,2009302438
+2009302439,2009302439
+2009302440,2009302440
+2009302441,2009302441
+2009302442,2009302442
+2009302443,2009302443
+2009302444,2009302444
+2009302445,2009302445
+2009302446,2009302446
+2009302447,2009302447
+2009302448,2009302448
+2009302449,2009302449
+2009302450,2009302450
+2009302451,2009302451
+2009302452,2009302452
+2009302453,2009302453
+2009302454,2009302454
+2009302455,2009302455
+2009302456,2009302456
+2009302457,2009302457
+2009302458,2009302458
+2009302459,2009302459
+2009302460,2009302460
+2009302461,2009302461
+2009302462,2009302462
+2009302463,2009302463
+2009302464,2009302464
+2009302465,2009302465
+2009302466,2009302466
+2009302467,2009302467
+2009302468,2009302468
+2009302469,2009302469
+2009302470,2009302470
+2009302471,2009302471
+2009302472,2009302472
+2009302473,2009302473
+2009302474,2009302474
+2009302475,2009302475
+2009302476,2009302476
+2009302477,2009302477
+2009302478,2009302478
+2009302479,2009302479
+2009302480,2009302480
+2009302481,2009302481
+2009302482,2009302482
+2009302483,2009302483
+2009302484,2009302484
+2009302485,2009302485
+2009302486,2009302486
+2009302487,2009302487
+2009302488,2009302488
+2009302489,2009302489
+2009302490,2009302490
+2009302491,2009302491
+2009302492,2009302492
+2009302493,2009302493
+2009302494,2009302494
+2009302495,2009302495
+2009302496,2009302496
+2009302497,2009302497
+2009302498,2009302498
+2009302499,2009302499
+2009302500,2009302500
+2009302501,2009302501
+2009302502,2009302502
+2009302503,2009302503
+2009302504,2009302504
+2009302505,2009302505
+2009302506,2009302506
+2009302507,2009302507
+2009302508,2009302508
+2009302509,2009302509
+2009302510,2009302510
+2009302511,2009302511
+2009302512,2009302512
+2009302513,2009302513
+2009302514,2009302514
+2009302515,2009302515
+2009302516,2009302516
+2009302517,2009302517
+2009302518,2009302518
+2009302519,2009302519
+2009302520,2009302520
+2009302521,2009302521
+2009302522,2009302522
+2009302523,2009302523
+2009302524,2009302524
+2009302525,2009302525
+2009302526,2009302526
+2009302527,2009302527
+2009302528,2009302528
+2009302529,2009302529
+2009302530,2009302530
+2009302531,2009302531
+2009302532,2009302532
+2009302533,2009302533
+2009302534,2009302534
+2009302535,2009302535
+2009302536,2009302536
+2009302537,2009302537
+2009302538,2009302538
+2009302539,2009302539
+2009302540,2009302540
+2009302541,2009302541
+2009302542,2009302542
+2009302543,2009302543
+2009302544,2009302544
+2009302545,2009302545
+2009302546,2009302546
+2009302547,2009302547
+2009302548,2009302548
+2009302549,2009302549
+2009302550,2009302550
+2009302551,2009302551
+2009302552,2009302552
+2009302553,2009302553
+2009302554,2009302554
+2009302555,2009302555
+2009302556,2009302556
+2009302557,2009302557
+2009302558,2009302558
+2009302559,2009302559
+2009302560,2009302560
+2009302561,2009302561
+2009302562,2009302562
+2009302563,2009302563
+2009302564,2009302564
+2009302565,2009302565
+2009302566,2009302566
+2009302567,2009302567
+2009302568,2009302568
+2009302569,2009302569
+2009302571,2009302571
+2009302572,2009302572
+2009302573,2009302573
+2009302574,2009302574
+2009302575,2009302575
+2009302576,2009302576
+2009302578,2009302578
+2009302579,2009302579
+2009302580,2009302580
+2009302581,2009302581
+2009302582,2009302582
+2009302583,2009302583
+2009302584,2009302584
+2009302585,2009302585
+2009302586,2009302586
+2009302587,2009302587
+2009302588,2009302588
+2009302589,2009302589
+2009302590,2009302590
+2009302591,2009302591
+2009302592,2009302592
+2009302593,2009302593
+2009302594,2009302594
+2009302595,2009302595
+2009302596,2009302596
+2009302597,2009302597
+2009302598,2009302598
+2009302599,2009302599
+2009302600,2009302600
+2009302601,2009302601
+2009302602,2009302602
+2009302603,2009302603
+2009302604,2009302604
+2009302605,2009302605
+2009302606,2009302606
+2009302607,2009302607
+2009302608,2009302608
+2009302609,2009302609
+2009302610,2009302610
+2009302611,2009302611
+2009302612,2009302612
+2009302613,2009302613
+2009302614,2009302614
+2009302615,2009302615
+2009302616,2009302616
+2009302617,2009302617
+2009302618,2009302618
+2009302619,2009302619
+2009302621,2009302621
+2009302622,2009302622
+2009302623,2009302623
+2009302624,2009302624
+2009302625,2009302625
+2009302626,2009302626
+2009302627,2009302627
+2009302628,2009302628
+2009302629,2009302629
+2009302630,2009302630
+2009302631,2009302631
+2009302632,2009302632
+2009302633,2009302633
+2009302634,2009302634
+2009302635,2009302635
+2009302636,2009302636
+2009302637,2009302637
+2009302638,2009302638
+2009302639,2009302639
+2009302640,2009302640
+2009302641,2009302641
+2009302642,2009302642
+2009302643,2009302643
+2009302644,2009302644
+2009302645,2009302645
+2009302646,2009302646
+2009302647,2009302647
+2009302648,2009302648
+2009302649,2009302649
+2009302650,2009302650
+2009302651,2009302651
+2009302652,2009302652
+2009302653,2009302653
+2009302654,2009302654
+2009302655,2009302655
+2009302656,2009302656
+2009302657,2009302657
+2009302658,2009302658
+2009302659,2009302659
+2009302660,2009302660
+2009302661,2009302661
+2009302662,2009302662
+2009302663,2009302663
+2009302664,2009302664
+2009302665,2009302665
+2009302666,2009302666
+2009302667,2009302667
+2009302668,2009302668
+2009302669,2009302669
+2009302670,2009302670
+2009302671,2009302671
+2009302672,2009302672
+2009302673,2009302673
+2009302674,2009302674
+2009302675,2009302675
+2009302676,2009302676
+2009302677,2009302677
+2009302678,2009302678
+2009302679,2009302679
+2009302680,2009302680
+2009302681,2009302681
+2009302682,2009302682
+2009302683,2009302683
+2009302684,2009302684
+2009302685,2009302685
+2009302686,2009302686
+2009302687,2009302687
+2009302688,2009302688
+2009302689,2009302689
+2009302690,2009302690
+2009302691,2009302691
+2009302692,2009302692
+2009302693,2009302693
+2009302694,2009302694
+2009302695,2009302695
+2009302696,2009302696
+2009302697,2009302697
+2009302698,2009302698
+2009302699,2009302699
+2009302700,2009302700
+2009302701,2009302701
+2009302702,2009302702
+2009302703,2009302703
+2009302704,2009302704
+2009302705,2009302705
+2009302706,2009302706
+2009302707,2009302707
+2009302708,2009302708
+2009302709,2009302709
+2009302710,2009302710
+2009302711,2009302711
+2009302712,2009302712
+2009302713,2009302713
+2009302714,2009302714
+2009302715,2009302715
+2009302716,2009302716
+2009302717,2009302717
+2009302718,2009302718
+2009302719,2009302719
+2009302720,2009302720
+2009302721,2009302721
+2009302722,2009302722
+2009302723,2009302723
+2009302724,2009302724
+2009302725,2009302725
+2009302726,2009302726
+2009302727,2009302727
+2009302728,2009302728
+2009302729,2009302729
+2009302730,2009302730
+2009302731,2009302731
+2009302732,2009302732
+2009302733,2009302733
+2009302734,2009302734
+2009302735,2009302735
+2009302736,2009302736
+2009302737,2009302737
+2009302738,2009302738
+2009302739,2009302739
+2009302740,2009302740
+2009302741,2009302741
+2009302742,2009302742
+2009302743,2009302743
+2009302744,2009302744
+2009302745,2009302745
+2009302746,2009302746
+2009302747,2009302747
+2009302748,2009302748
+2009302749,2009302749
+2009302750,2009302750
+2009302751,2009302751
+2009302752,2009302752
+2009302753,2009302753
+2009302754,2009302754
+2009302755,2009302755
+2009302756,2009302756
+2009302758,2009302758
+2009302760,2009302760
+2009302761,2009302761
+2009302762,2009302762
+2009302763,2009302763
+2009302764,2009302764
+2009302765,2009302765
+2009302766,2009302766
+2009302767,2009302767
+2009302768,2009302768
+2009302769,2009302769
+2009302770,2009302770
+2009302771,2009302771
+2009302772,2009302772
+2009302773,2009302773
+2009302774,2009302774
+2009302775,2009302775
+2009302776,2009302776
+2009302777,2009302777
+2009302778,2009302778
+2009302779,2009302779
+2009302780,2009302780
+2009302781,2009302781
+2009302782,2009302782
+2009302783,2009302783
+2009302784,2009302784
+2009302785,2009302785
+2009302786,2009302786
+2009302787,2009302787
+2009302788,2009302788
+2009302789,2009302789
+2009302790,2009302790
+2009302791,2009302791
+2009302792,2009302792
+2009302793,2009302793
+2009302794,2009302794
+2009302795,2009302795
+2009302796,2009302796
+2009302797,2009302797
+2009302798,2009302798
+2009302799,2009302799
+2009302800,2009302800
+2009302801,2009302801
+2009302802,2009302802
+2009302803,2009302803
+2009302804,2009302804
+2009302805,2009302805
+2009302806,2009302806
+2009302807,2009302807
+2009302808,2009302808
+2009302809,2009302809
+2009302810,2009302810
+2009302811,2009302811
+2009302812,2009302812
+2009302813,2009302813
+2009302814,2009302814
+2009302815,2009302815
+2009302816,2009302816
+2009302817,2009302817
+2009302818,2009302818
+2009302819,2009302819
+2009302820,2009302820
+2009302821,2009302821
+2009302822,2009302822
+2009302823,2009302823
+2009302824,2009302824
+2009302825,2009302825
+2009302826,2009302826
+2009302827,2009302827
+2009302828,2009302828
+2009302829,2009302829
+2009302830,2009302830
+2009302831,2009302831
+2009302832,2009302832
+2009302833,2009302833
+2009302834,2009302834
+2009302835,2009302835
+2009302836,2009302836
+2009302837,2009302837
+2009302838,2009302838
+2009302839,2009302839
+2009302840,2009302840
+2009302841,2009302841
+2009302842,2009302842
+2009302843,2009302843
+2009302844,2009302844
+2009302845,2009302845
+2009302846,2009302846
+2009302847,2009302847
+2009302848,2009302848
+2009302849,2009302849
+2009302850,2009302850
+2009302851,2009302851
+2009302852,2009302852
+2009302853,2009302853
+2009302854,2009302854
+2009302855,2009302855
+2009302856,2009302856
+2009302857,2009302857
+2009302858,2009302858
+2009302859,2009302859
+2009302860,2009302860
+2009302861,2009302861
+2009302862,2009302862
+2009302863,2009302863
+2009302864,2009302864
+2009302865,2009302865
+2009302866,2009302866
+2009302867,2009302867
+2009302868,2009302868
+2009302869,2009302869
+2009302870,2009302870
+2009302871,2009302871
+2009302872,2009302872
+2009302873,2009302873
+2009302874,2009302874
+2009302875,2009302875
+2009302876,2009302876
+2009302877,2009302877
+2009302878,2009302878
+2009302879,2009302879
+2009302880,2009302880
+2009302881,2009302881
+2009302882,2009302882
+2009302883,2009302883
+2009302884,2009302884
+2009302885,2009302885
+2009302886,2009302886
+2009302887,2009302887
+2009302888,2009302888
+2009302889,2009302889
+2009302890,2009302890
+2009302891,2009302891
+2009302892,2009302892
+2009302893,2009302893
+2009302894,2009302894
+2009302895,2009302895
+2009302896,2009302896
+2009302897,2009302897
+2009302898,2009302898
+2009302899,2009302899
+2009302900,2009302900
+2009302901,2009302901
+2009302902,2009302902
+2009302903,2009302903
+2009302904,2009302904
+2009302905,2009302905
+2009302906,2009302906
+2009302907,2009302907
+2009302908,2009302908
+2009302909,2009302909
+2009302910,2009302910
+2009302911,2009302911
+2009302912,2009302912
+2009302913,2009302913
+2009302914,2009302914
+2009302915,2009302915
+2009302916,2009302916
+2009302917,2009302917
+2009302918,2009302918
+2009302919,2009302919
+2009302920,2009302920
+2009302921,2009302921
+2009302922,2009302922
+2009302923,2009302923
+2009302924,2009302924
+2009302925,2009302925
+2009302926,2009302926
+2009302927,2009302927
+2009302928,2009302928
+2009302929,2009302929
+2009302930,2009302930
+2009302931,2009302931
+2009302932,2009302932
+2009302933,2009302933
+2009302934,2009302934
+2009302935,2009302935
+2009302936,2009302936
+2009302937,2009302937
+2009302938,2009302938
+2009302939,2009302939
+2009302940,2009302940
+2009302941,2009302941
+2009302942,2009302942
+2009302943,2009302943
+2009302944,2009302944
+2009302945,2009302945
+2009302946,2009302946
+2009302947,2009302947
+2009302948,2009302948
+2009302949,2009302949
+2009302950,2009302950
+2009302951,2009302951
+2009302952,2009302952
+2009302953,2009302953
+2009302954,2009302954
+2009302955,2009302955
+2009302956,2009302956
+2009302957,2009302957
+2009302958,2009302958
+2009302959,2009302959
+2009302960,2009302960
+2009302962,2009302962
+2009302963,2009302963
+2009302964,2009302964
+2009302965,2009302965
+2009302966,2009302966
+2009302967,2009302967
+2009302968,2009302968
+2009302969,2009302969
+2009302970,2009302970
+2009302971,2009302971
+2009302972,2009302972
+2009302973,2009302973
+2009302974,2009302974
+2009302975,2009302975
+2009302976,2009302976
+2009302977,2009302977
+2009302978,2009302978
+2009302979,2009302979
+2009302980,2009302980
+2009302981,2009302981
+2009302982,2009302982
+2009302983,2009302983
+2009302984,2009302984
+2009302985,2009302985
+2009302986,2009302986
+2009302987,2009302987
+2009302988,2009302988
+2009302989,2009302989
+2009302990,2009302990
+2009302991,2009302991
+2009302992,2009302992
+2009302993,2009302993
+2009302994,2009302994
+2009302995,2009302995
+2009302996,2009302996
+2009302997,2009302997
+2009302998,2009302998
+2009302999,2009302999
+2009303000,2009303000
+2009303001,2009303001
+2009303002,2009303002
+2009303003,2009303003
+2009303004,2009303004
+2009303006,2009303006
+2009303008,2009303008
+2009303009,2009303009
+2009303010,2009303010
+2009303011,2009303011
+2009303012,2009303012
+2009303013,2009303013
+2009303014,2009303014
+2009303015,2009303015
+2009303016,2009303016
+2009303017,2009303017
+2009303018,2009303018
+2009303019,2009303019
+2009303020,2009303020
+2009303021,2009303021
+2009303022,2009303022
+2009303023,2009303023
+2009303024,2009303024
+2009303025,2009303025
+2009303026,2009303026
+2009303027,2009303027
+2009303028,2009303028
+2009303029,2009303029
+2009303030,2009303030
+2009303031,2009303031
+2009303032,2009303032
+2009303033,2009303033
+2009303034,2009303034
+2009303035,2009303035
+2009303036,2009303036
+2009303037,2009303037
+2009303038,2009303038
+2009303039,2009303039
+2009303040,2009303040
+2009303041,2009303041
+2009303042,2009303042
+2009303043,2009303043
+2009303044,2009303044
+2009303045,2009303045
+2009303046,2009303046
+2009303047,2009303047
+2009303048,2009303048
+2009303049,2009303049
+2009303050,2009303050
+2009303051,2009303051
+2009303052,2009303052
+2009303053,2009303053
+2009303054,2009303054
+2009303055,2009303055
+2009303056,2009303056
+2009303057,2009303057
+2009303058,2009303058
+2009303059,2009303059
+2009303060,2009303060
+2009303061,2009303061
+2009303062,2009303062
+2009303063,2009303063
+2009303064,2009303064
+2009303065,2009303065
+2009303066,2009303066
+2009303067,2009303067
+2009303068,2009303068
+2009303069,2009303069
+2009303070,2009303070
+2009303071,2009303071
+2009303072,2009303072
+2009303073,2009303073
+2009303074,2009303074
+2009303075,2009303075
+2009303076,2009303076
+2009303077,2009303077
+2009303078,2009303078
+2009303079,2009303079
+2009303080,2009303080
+2009303081,2009303081
+2009303082,2009303082
+2009303083,2009303083
+2009303084,2009303084
+2009303085,2009303085
+2009303086,2009303086
+2009303087,2009303087
+2009303088,2009303088
+2009303089,2009303089
+2009303090,2009303090
+2009303091,2009303091
+2009303092,2009303092
+2009303093,2009303093
+2009303094,2009303094
+2009303095,2009303095
+2009303096,2009303096
+2009303097,2009303097
+2009303098,2009303098
+2009303099,2009303099
+2009303100,2009303100
+2009303101,2009303101
+2009303102,2009303102
+2009303103,2009303103
+2009303104,2009303104
+2009303105,2009303105
+2009303106,2009303106
+2009303107,2009303107
+2009303108,2009303108
+2009303109,2009303109
+2009303110,2009303110
+2009303111,2009303111
+2009303112,2009303112
+2009303113,2009303113
+2009303114,2009303114
+2009303115,2009303115
+2009303116,2009303116
+2009303117,2009303117
+2009303118,2009303118
+2009303119,2009303119
+2009303120,2009303120
+2009303121,2009303121
+2009303122,2009303122
+2009303123,2009303123
+2009303124,2009303124
+2009303125,2009303125
+2009303126,2009303126
+2009303127,2009303127
+2009303128,2009303128
+2009303129,2009303129
+2009303130,2009303130
+2009303131,2009303131
+2009303132,2009303132
+2009303133,2009303133
+2009303134,2009303134
+2009303135,2009303135
+2009303136,2009303136
+2009303137,2009303137
+2009303138,2009303138
+2009303139,2009303139
+2009303140,2009303140
+2009303141,2009303141
+2009303142,2009303142
+2009303143,2009303143
+2009303144,2009303144
+2009303145,2009303145
+2009303146,2009303146
+2009303147,2009303147
+2009303148,2009303148
+2009303149,2009303149
+2009303150,2009303150
+2009303151,2009303151
+2009303152,2009303152
+2009303153,2009303153
+2009303154,2009303154
+2009303155,2009303155
+2009303156,2009303156
+2009303157,2009303157
+2009303158,2009303158
+2009303159,2009303159
+2009303160,2009303160
+2009303161,2009303161
+2009303162,2009303162
+2009303163,2009303163
+2009303164,2009303164
+2009303165,2009303165
+2009303166,2009303166
+2009303167,2009303167
+2009303168,2009303168
+2009303169,2009303169
+2009303170,2009303170
+2009303171,2009303171
+2009303172,2009303172
+2009303173,2009303173
+2009303174,2009303174
+2009303175,2009303175
+2009303176,2009303176
+2009303177,2009303177
+2009303178,2009303178
+2009303179,2009303179
+2009303180,2009303180
+2009303181,2009303181
+2009303182,2009303182
+2009303183,2009303183
+2009303184,2009303184
+2009303185,2009303185
+2009303186,2009303186
+2009303187,2009303187
+2009303188,2009303188
+2009303189,2009303189
+2009303190,2009303190
+2009303191,2009303191
+2009303192,2009303192
+2009303193,2009303193
+2009303194,2009303194
+2009303195,2009303195
+2009303196,2009303196
+2009303197,2009303197
+2009303198,2009303198
+2009303199,2009303199
+2009303200,2009303200
+2009303201,2009303201
+2009303202,2009303202
+2009303203,2009303203
+2009303204,2009303204
+2009303205,2009303205
+2009303206,2009303206
+2009303207,2009303207
+2009303208,2009303208
+2009303209,2009303209
+2009303210,2009303210
+2009303211,2009303211
+2009303212,2009303212
+2009303213,2009303213
+2009303214,2009303214
+2009303215,2009303215
+2009303216,2009303216
+2009303217,2009303217
+2009303218,2009303218
+2009303219,2009303219
+2009303220,2009303220
+2009303221,2009303221
+2009303222,2009303222
+2009303223,2009303223
+2009303224,2009303224
+2009303225,2009303225
+2009303226,2009303226
+2009303227,2009303227
+2009303228,2009303228
+2009303229,2009303229
+2009303230,2009303230
+2009303231,2009303231
+2009303232,2009303232
+2009303233,2009303233
+2009303234,2009303234
+2009303235,2009303235
+2009303236,2009303236
+2009303238,2009303238
+2009303239,2009303239
+2009303240,2009303240
+2009303241,2009303241
+2009303242,2009303242
+2009303243,2009303243
+2009303244,2009303244
+2009303245,2009303245
+2009303246,2009303246
+2009303247,2009303247
+2009303248,2009303248
+2009303249,2009303249
+2009303250,2009303250
+2009303251,2009303251
+2009303252,2009303252
+2009303253,2009303253
+2009303254,2009303254
+2009303255,2009303255
+2009303256,2009303256
+2009303257,2009303257
+2009303258,2009303258
+2009303259,2009303259
+2009303260,2009303260
+2009303261,2009303261
+2009303262,2009303262
+2009303263,2009303263
+2009303264,2009303264
+2009303265,2009303265
+2009303266,2009303266
+2009303267,2009303267
+2009303268,2009303268
+2009303269,2009303269
+2009303270,2009303270
+2009303271,2009303271
+2009303272,2009303272
+2009303273,2009303273
+2009303274,2009303274
+2009303275,2009303275
+2009303276,2009303276
+2009303277,2009303277
+2009303278,2009303278
+2009303279,2009303279
+2009303280,2009303280
+2009303281,2009303281
+2009303282,2009303282
+2009303283,2009303283
+2009303284,2009303284
+2009303285,2009303285
+2009303286,2009303286
+2009303287,2009303287
+2009303288,2009303288
+2009303289,2009303289
+2009303290,2009303290
+2009303291,2009303291
+2009303292,2009303292
+2009303293,2009303293
+2009303294,2009303294
+2009303295,2009303295
+2009303296,2009303296
+2009303297,2009303297
+2009303298,2009303298
+2009303299,2009303299
+2009303300,2009303300
+2009303301,2009303301
+2009303302,2009303302
+2009303303,2009303303
+2009303304,2009303304
+2009303305,2009303305
+2009303306,2009303306
+2009303307,2009303307
+2009303308,2009303308
+2009303309,2009303309
+2009303310,2009303310
+2009303311,2009303311
+2009303312,2009303312
+2009303313,2009303313
+2009303314,2009303314
+2009303315,2009303315
+2009303316,2009303316
+2009303317,2009303317
+2009303318,2009303318
+2009303319,2009303319
+2009303320,2009303320
+2009303321,2009303321
+2009303322,2009303322
+2009303323,2009303323
+2009303324,2009303324
+2009303325,2009303325
+2009303326,2009303326
+2009303327,2009303327
+2009303328,2009303328
+2009303329,2009303329
+2009303330,2009303330
+2009303331,2009303331
+2009303332,2009303332
+2009303333,2009303333
+2009303334,2009303334
+2009303335,2009303335
+2009303336,2009303336
+2009303337,2009303337
+2009303338,2009303338
+2009303339,2009303339
+2009303340,2009303340
+2009303341,2009303341
+2009303342,2009303342
+2009303343,2009303343
+2009303344,2009303344
+2009303345,2009303345
+2009303346,2009303346
+2009303347,2009303347
+2009303348,2009303348
+2009303349,2009303349
+2009303350,2009303350
+2009303351,2009303351
+2009303352,2009303352
+2009303353,2009303353
+2009303354,2009303354
+2009303355,2009303355
+2009303356,2009303356
+2009303357,2009303357
+2009303358,2009303358
+2009303359,2009303359
+2009303360,2009303360
+2009303361,2009303361
+2009303362,2009303362
+2009303363,2009303363
+2009303364,2009303364
+2009303365,2009303365
+2009303366,2009303366
+2009303367,2009303367
+2009303368,2009303368
+2009303369,2009303369
+2009303370,2009303370
+2009303371,2009303371
+2009303372,2009303372
+2009303373,2009303373
+2009303374,2009303374
+2009303375,2009303375
+2009303376,2009303376
+2009303377,2009303377
+2009303378,2009303378
+2009303379,2009303379
+2009303380,2009303380
+2009303381,2009303381
+2009303382,2009303382
+2009303383,2009303383
+2009303384,2009303384
+2009303385,2009303385
+2009303386,2009303386
+2009303387,2009303387
+2009303388,2009303388
+2009303389,2009303389
+2009303390,2009303390
+2009303392,2009303392
+2009303393,2009303393
+2009303394,2009303394
+2009303395,2009303395
+2009303396,2009303396
+2009303397,2009303397
+2009303398,2009303398
+2009303399,2009303399
+2009303400,2009303400
+2009303401,2009303401
+2009303402,2009303402
+2009303403,2009303403
+2009303404,2009303404
+2009303405,2009303405
+2009303406,2009303406
+2009303407,2009303407
+2009303408,2009303408
+2009303409,2009303409
+2009303410,2009303410
+2009303411,2009303411
+2009303412,2009303412
+2009303413,2009303413
+2009303414,2009303414
+2009303415,2009303415
+2009303416,2009303416
+2009303417,2009303417
+2009303418,2009303418
+2009303419,2009303419
+2009303420,2009303420
+2009303421,2009303421
+2009303422,2009303422
+2009303423,2009303423
+2009303424,2009303424
+2009303425,2009303425
+2009303426,2009303426
+2009303427,2009303427
+2009303428,2009303428
+2009303429,2009303429
+2009303430,2009303430
+2009303431,2009303431
+2009303432,2009303432
+2009303433,2009303433
+2009303434,2009303434
+2009303435,2009303435
+2009303436,2009303436
+2009303437,2009303437
+2009303438,2009303438
+2009303439,2009303439
+2009303440,2009303440
+2009303441,2009303441
+2009303442,2009303442
+2009303443,2009303443
+2009303444,2009303444
+2009303445,2009303445
+2009303446,2009303446
+2009303447,2009303447
+2009303448,2009303448
+2009303449,2009303449
+2009303450,2009303450
+2009303451,2009303451
+2009303452,2009303452
+2009303453,2009303453
+2009303454,2009303454
+2009303455,2009303455
+2009303456,2009303456
+2009303457,2009303457
+2009303458,2009303458
+2009303459,2009303459
+2009303460,2009303460
+2009303461,2009303461
+2009303462,2009303462
+2009303463,2009303463
+2009303464,2009303464
+2009303465,2009303465
+2009303466,2009303466
+2009303467,2009303467
+2009303468,2009303468
+2009303469,2009303469
+2009303470,2009303470
+2009303471,2009303471
+2009303472,2009303472
+2009303473,2009303473
+2009303474,2009303474
+2009303475,2009303475
+2009303476,2009303476
+2009303477,2009303477
+2009303478,2009303478
+2009303479,2009303479
+2009303480,2009303480
+2009303481,2009303481
+2009303482,2009303482
+2009303483,2009303483
+2009303484,2009303484
+2009303485,2009303485
+2009303486,2009303486
+2009303487,2009303487
+2009303488,2009303488
+2009303489,2009303489
+2009303490,2009303490
+2009303491,2009303491
+2009303492,2009303492
+2009303493,2009303493
+2009303494,2009303494
+2009303495,2009303495
+2009303496,2009303496
+2009303497,2009303497
+2009303499,2009303499
+2009303500,2009303500
+2009303501,2009303501
+2009303502,2009303502
+2009303503,2009303503
+2009303504,2009303504
+2009303505,2009303505
+2009303506,2009303506
+2009303507,2009303507
+2009303508,2009303508
+2009303509,2009303509
+2009303510,2009303510
+2009303511,2009303511
+2009303512,2009303512
+2009303513,2009303513
+2009303514,2009303514
+2009303515,2009303515
+2009303516,2009303516
+2009303517,2009303517
+2009303518,2009303518
+2009303519,2009303519
+2009303520,2009303520
+2009303521,2009303521
+2009303522,2009303522
+2009303523,2009303523
+2009303524,2009303524
+2009303525,2009303525
+2009303526,2009303526
+2009303527,2009303527
+2009303528,2009303528
+2009303529,2009303529
+2009303530,2009303530
+2009303531,2009303531
+2009303532,2009303532
+2009303533,2009303533
+2009303534,2009303534
+2009303535,2009303535
+2009303536,2009303536
+2009303537,2009303537
+2009303538,2009303538
+2009303539,2009303539
+2009303540,2009303540
+2009303541,2009303541
+2009303542,2009303542
+2009303543,2009303543
+2009303544,2009303544
+2009303545,2009303545
+2009303546,2009303546
+2009303547,2009303547
+2009303548,2009303548
+2009303549,2009303549
+2009303550,2009303550
+2009303551,2009303551
+2009303552,2009303552
+2009303553,2009303553
+2009303554,2009303554
+2009303555,2009303555
+2009303556,2009303556
+2009303557,2009303557
+2009303558,2009303558
+2009303559,2009303559
+2009303560,2009303560
+2009303561,2009303561
+2009303562,2009303562
+2009303563,2009303563
+2009303564,2009303564
+2009303565,2009303565
+2009303566,2009303566
+2009303567,2009303567
+2009303568,2009303568
+2009303569,2009303569
+2009303570,2009303570
+2009303571,2009303571
+2009303572,2009303572
+2009303573,2009303573
+2009303574,2009303574
+2009303575,2009303575
+2009303576,2009303576
+2009303577,2009303577
+2009303578,2009303578
+2009303579,2009303579
+2009303580,2009303580
+2009303581,2009303581
+2009303582,2009303582
+2009303583,2009303583
+2009303584,2009303584
+2009303585,2009303585
+2009303586,2009303586
+2009303587,2009303587
+2009303588,2009303588
+2009303589,2009303589
+2009303590,2009303590
+2009303591,2009303591
+2009303592,2009303592
+2009303593,2009303593
+2009303594,2009303594
+2009303595,2009303595
+2009303596,2009303596
+2009303597,2009303597
+2009303598,2009303598
+2009303599,2009303599
+2009303600,2009303600
+2009303601,2009303601
+2009303602,2009303602
+2009303603,2009303603
+2009303604,2009303604
+2009303605,2009303605
+2009303606,2009303606
+2009303607,2009303607
+2009303608,2009303608
+2009303609,2009303609
+2009303610,2009303610
+2009304001,2009304001
+2009304002,2009304002
+2009304004,2009304004
+2009304005,2009304005
+2009304006,2009304006
+2009304007,2009304007
+2009304008,2009304008
+2009304009,2009304009
+2009410028,2009410028
+2009410029,2009410029
+2009410030,2009410030
+2009410031,2009410031
+2009410124,2009410124
+2009410164,2009410164
+2009410189,2009410189
+2009410194,2009410194
+2009410202,2009410202
+2009410203,2009410203
+2009410204,2009410204
+2009420010,2009420010
+2009420011,2009420011
+2009420012,2009420012
+2009420013,2009420013
+2009420014,2009420014
+2009420015,2009420015
+2009420016,2009420016
+2009420017,2009420017
+2009420018,2009420018
+2009420019,2009420019
+2009420020,2009420020
+2009420021,2009420021
+2009420022,2009420022
+2009420023,2009420023
+2009420024,2009420024
+2009420025,2009420025
+2009420026,2009420026
+2009420027,2009420027
+2009420150,2009420150
+2009420151,2009420151
+2009420155,2009420155
+2009420156,2009420156
+2009420160,2009420160
+2009420161,2009420161
+2009420162,2009420162
+2009420163,2009420163
+2009420164,2009420164
+2009420165,2009420165
+2009420166,2009420166
+2009420193,2009420193
+2009420196,2009420196
+2009420200,2009420200
+2009420201,2009420201
+2009430001,2009430001
+2009430002,2009430002
+2009430003,2009430003
+2009430004,2009430004
+2009430005,2009430005
+2009430006,2009430006
+2009430007,2009430007
+2009430008,2009430008
+2009430009,2009430009
+2009430036,2009430036
+2009430038,2009430038
+2009430039,2009430039
+2009430040,2009430040
+2009430041,2009430041
+2009430042,2009430042
+2009430043,2009430043
+2009430044,2009430044
+2009430045,2009430045
+2009430046,2009430046
+2009430047,2009430047
+2009430048,2009430048
+2009430049,2009430049
+2009430158,2009430158
+2009430167,2009430167
+2009430171,2009430171
+2009430175,2009430175
+2009430188,2009430188
+2009430205,2009430205
+2009430206,2009430206
+2009430207,2009430207
+2009430208,2009430208
+2009430209,2009430209
+2009430218,2009430218
+2009430219,2009430219
+2009430220,2009430220
+2009430221,2009430221
+2009430223,2009430223
+2009430226,2009430226
+2009430228,2009430228
+2009430229,2009430229
+2009430230,2009430230
+2009430232,2009430232
+2009430233,2009430233
+2009430234,2009430234
+2009430235,2009430235
+2009430236,2009430236
+2010000002,2010000002
+2010010002,2010010002
+2010010006,2010010006
+2010010007,2010010007
+2010010008,2010010008
+2010010009,046120788
+2010010011,057040122
+2010010013,2010010013
+2010010014,2010010014
+2010010015,2010010015
+2010010016,2010010016
+2010010018,2010010018
+2010010019,2010010019
+2010010020,2010010020
+2010010023,2010010023
+2010010024,2010010024
+2010010025,2007201473
+2010010026,2007201466
+2010010027,2007201444
+2010010028,2007201455
+2010010029,2007201467
+2010010030,2007201507
+2010010031,057070224
+2010010032,2007201731
+2010010034,2007201746
+2010010035,2007200095
+2010010036,2010010036
+2010010037,2007201791
+2010010038,2007200184
+2010010039,2007200834
+2010010040,2007201873
+2010010041,2007201734
+2010010042,2010010042
+2010010043,2007201766
+2010010045,2007201256
+2010010046,2010010046
+2010010047,046040258
+2010010048,047020078
+2010010049,077110128
+2010010050,2010010050
+2010010051,2010010051
+2010010052,067090491
+2010010053,2010010053
+2010010054,046040216
+2010010055,046040221
+2010010061,057010066
+2010010062,2010010062
+2010010063,046020095
+2010010064,057090256
+2010010065,2007200204
+2010010066,2010010066
+2010010067,046090563
+2010010068,2010010068
+2010010069,2010010069
+2010010070,063263
+2010010071,062248
+2010010072,062273
+2010010073,2010010073
+2010010074,057050184
+2010010075,2010010075
+2010010076,057040163
+2010010077,2010010077
+2010010078,057100042
+2010010080,2010010080
+2010010081,046120781
+2010010082,047020079
+2010010083,062006
+2010010084,2010010084
+2010010085,2010010085
+2010010086,062963
+2010010087,061369
+2010010088,2010010088
+2010010090,062952
+2010010094,2007201140
+2010010097,046040234
+2010010098,2010010098
+2010010099,2010010099
+2010010101,2010010101
+2010010102,2010010102
+2010010104,047030102
+2010010105,2010010105
+2010010106,047030100
+2010010107,046010009
+2010010108,046084077
+2010010109,057030112
+2010010110,2010010110
+2010010111,2010010111
+2010010113,047010073
+2010010131,2010010131
+2010010132,2007201738
+2010010133,2010010133
+2010010134,2010010134
+2010010135,057090265
+2010010137,057110322
+2010010138,056010019
+2010010140,057020083
+2010010141,047050015
+2010010142,056086406
+2010010144,2010010144
+2010010146,2010010146
+2010010147,046020096
+2010010148,2010010148
+2010010149,2010010149
+2010010150,2010010150
+2010010151,2010010151
+2010010152,2010010152
+2010010153,2010010153
+2010010158,057010074
+2010010159,2010010159
+2010010160,056040197
+2010010161,046010048
+2010030001,057070223
+2010030003,067010001
+2010030004,057080249
+2010030010,046020089
+2010030012,057060215
+2010030017,046010008
+2010030021,2010030021
+2010030022,067086138
+2010030033,2010030033
+2010030044,047050182
+2010030056,2010030056
+2010030057,046110700
+2010030079,046010027
+2010030089,2010030089
+2010030091,046026044
+2010030092,2010030092
+2010030093,057010053
+2010030095,046046172
+2010030096,2010030096
+2010030100,2010030100
+2010030103,046090517
+2010030112,046030174
+2010030114,2010030114
+2010030136,2010030136
+2010030145,067040346
+2010030154,2010030154
+2010030155,046090569
+2010030157,046086400
+2010060139,2010060139
+2010060143,2010060143
+2010060156,2010060156
+2010100001,2010100001
+2010100002,2010100002
+2010100003,2007200052
+2010100004,2007200046
+2010100005,2010100005
+2010100006,2007200068
+2010100007,2010100007
+2010100008,2010100008
+2010100009,2007200104
+2010100010,2007200149
+2010100011,2010100011
+2010100012,2010100012
+2010100013,2010100013
+2010100014,2010100014
+2010100015,2010100015
+2010100016,2007200168
+2010100017,2010100017
+2010100018,2010100018
+2010100019,066036130
+2010100020,2010100020
+2010100021,2010100021
+2010100022,046020129
+2010100023,2007250110
+2010100024,2010100024
+2010100025,2010100025
+2010100026,2006020042
+2010100027,2007200267
+2010100028,2007200265
+2010100029,2010100029
+2010100030,2007201002
+2010100031,2010100031
+2010100032,2010100032
+2010100033,2007200268
+2010100034,2010100034
+2010100035,2007200365
+2010100036,2010100036
+2010100037,2010100037
+2010100038,2010100038
+2010100039,2010100039
+2010100040,2010100040
+2010100041,2010100041
+2010100042,2010100042
+2010100043,2010100043
+2010100044,2010100044
+2010100045,2010100045
+2010100046,2010100046
+2010100047,2010100047
+2010100048,2010100048
+2010100049,2010100049
+2010100050,2007200076
+2010100051,2010100051
+2010100052,2010100052
+2010100053,2010100053
+2010100054,2010100054
+2010100055,2010100055
+2010100056,2010100056
+2010100057,2010100057
+2010100058,2010100058
+2010100059,2010100059
+2010100060,2010100060
+2010100061,2010100061
+2010100062,2010100062
+2010100063,2010100063
+2010100064,2010100064
+2010100065,2010100065
+2010100066,2010100066
+2010100067,2007201872
+2010100068,2010100068
+2010100069,2010100069
+2010100070,2010100070
+2010100071,2010100071
+2010100072,2010100072
+2010100073,2010100073
+2010100074,2010100074
+2010100075,2010100075
+2010100076,2010100076
+2010100077,2010100077
+2010100078,2010100078
+2010100079,2007200669
+2010100080,2010100080
+2010100081,2010100081
+2010100082,2010100082
+2010100083,2010100083
+2010100084,2010100084
+2010100085,2010100085
+2010100086,2010100086
+2010100087,046055029
+2010100088,2010100088
+2010100089,2010100089
+2010100090,2010100090
+2010100091,2010100091
+2010100092,2010100092
+2010100093,046056345
+2010100094,2010100094
+2010100095,2010100095
+2010100096,2010100096
+2010100097,2010100097
+2010100098,056055032
+2010100099,2010100099
+2010100100,2010100100
+2010100101,2007200759
+2010100102,2010100102
+2010100103,066036099
+2010100104,2010100104
+2010100105,2010100105
+2010100106,2010100106
+2010100107,2007200835
+2010100108,2007200828
+2010100109,2010100109
+2010100110,2010100110
+2010100111,2010100111
+2010100112,2010100112
+2010100113,2010100113
+2010100114,2010100114
+2010100115,2007200884
+2010100116,2010100116
+2010100117,2007200883
+2010100118,2010100118
+2010100119,2010100119
+2010100120,066080452
+2010100121,2007200957
+2010100122,2010100122
+2010100123,2010100123
+2010100124,046030166
+2010100125,2010100125
+2010100126,2010100126
+2010100127,2010100127
+2010100128,2007201043
+2010100129,2010100129
+2010100130,2010100130
+2010100131,056096553
+2010100132,2010100132
+2010100133,2010100133
+2010100134,2010100134
+2010100135,2010100135
+2010100136,066096562
+2010100137,066096541
+2010100138,2010100138
+2010100139,05612G339
+2010100140,2010100140
+2010100141,056124118
+2010100142,2010100142
+2010100143,056096547
+2010100144,2010100144
+2010100145,2010100145
+2010100146,2010100146
+2010100147,2010100147
+2010100148,2010100148
+2010100149,2010100149
+2010100150,2010100150
+2010100151,2010100151
+2010100152,2007201838
+2010100153,2003000033
+2010100154,2010100154
+2010100155,2010100155
+2010100156,2010100156
+2010100157,2010100157
+2010100158,046116744
+2010100159,056115075
+2010100160,2007201438
+2010100161,2007201459
+2010100162,2010100162
+2010100163,2010100163
+2010100164,2010100164
+2010100165,2010100165
+2010100166,2010100166
+2010100167,2010100167
+2010100168,2010100168
+2010100169,2010100169
+2010100170,2010100170
+2010100171,2010100171
+2010100172,2010100172
+2010100173,2005000057
+2010100174,2010100174
+2010100175,2010100175
+2010100176,2010100176
+2010100177,2010100177
+2010100178,2004020095
+2010100179,2010100179
+2010100180,1996000070
+2010100181,2010100181
+2010100182,2010100182
+2010100183,2007201859
+2010100185,040422
+2010100186,2010100186
+2010100187,2008201578
+2010100188,060401
+2010100189,2009200194
+2010100190,2010100190
+2010100191,2008200006
+2010100192,2010100192
+2010100193,050266
+2010100194,2008201563
+2010100195,040439
+2010100196,2008201562
+2010100197,050184
+2010100198,2010100198
+2010100199,040229
+2010100200,2010100200
+2010100201,2007200029
+2010100202,2010100202
+2010100203,040072
+2010100204,2008200064
+2010100205,060227
+2010100206,060132
+2010100207,2010100207
+2010100208,040384
+2010100209,040387
+2010100210,040870
+2010100211,050179
+2010100212,040017
+2010100213,040145
+2010100214,050254
+2010100215,060014
+2010100216,040166
+2010100217,050064
+2010100218,050220
+2010100219,2007200119
+2010100220,2008200121
+2010100221,2008200115
+2010100222,053467
+2010100223,053577
+2010100224,060219
+2010100225,053477
+2010100226,046016016
+2010100227,2009200120
+2010100228,040227
+2010100229,2008200118
+2010100230,2010100230
+2010100231,2007200160
+2010100232,040498
+2010100233,040162
+2010100234,050124
+2010100235,040173
+2010100236,2010100236
+2010100237,2010100237
+2010100238,2008200178
+2010100239,060522
+2010100240,040035
+2010100241,040068
+2010100242,040049
+2010100243,2010100011
+2010100244,2008201644
+2010100245,2008200185
+2010100246,040556
+2010100247,2008200180
+2010100248,2008200182
+2010100249,2007200204
+2010100250,050381
+2010100251,2007200192
+2010100252,040546
+2010100253,053510
+2010100254,2008200181
+2010100255,2009200253
+2010100256,2010100256
+2010100257,040477
+2010100258,050351
+2010100259,040471
+2010100260,040468
+2010100261,050318
+2010100262,2007200030
+2010100263,050352
+2010100264,060487
+2010100265,2008200217
+2010100266,2010100266
+2010100267,056026066
+2010100268,050442
+2010100269,040603
+2010100270,2010100270
+2010100271,053502
+2010100272,2010100272
+2010100273,060585
+2010100274,2008200277
+2010100275,2008200270
+2010100276,2008200288
+2010100277,2010100277
+2010100278,2008200422
+2010100279,060057
+2010100280,040826
+2010100281,2010100281
+2010100282,042081
+2010100283,2010100283
+2010100284,040725
+2010100285,053500
+2010100286,053531
+2010100287,060006
+2010100288,060745
+2010100289,2010100289
+2010100290,2008200392
+2010100291,040787
+2010100292,2007010071
+2010100293,2008200396
+2010100294,2008200350
+2010100295,2008201623
+2010100296,2008200413
+2010100297,2008200368
+2010100298,2010100298
+2010100299,2010100299
+2010100300,050482
+2010100301,050505
+2010100302,042912
+2010100303,060042
+2010100304,060651
+2010100305,2010100305
+2010100306,2010100306
+2010100307,2010100307
+2010100308,2009200438
+2010100309,2009200383
+2010100310,2010100310
+2010100311,060692
+2010100312,050502
+2010100313,2009200478
+2010100314,060059
+2010100316,2010100316
+2010100317,2008200450
+2010100318,2008200451
+2010100319,060991
+2010100320,2007200426
+2010100321,040880
+2010100322,2008200467
+2010100323,2008200466
+2010100324,060072
+2010100325,040997
+2010100326,2010100326
+2010100327,040915
+2010100328,2008200481
+2010100329,2008200459
+2010100330,046046205
+2010100331,2008200491
+2010100332,2009200529
+2010100333,2007200459
+2010100334,2010100334
+2010100335,2008200560
+2010100336,2010100336
+2010100337,040839
+2010100338,2010100338
+2010100339,2010100339
+2010100340,041000
+2010100341,2008200519
+2010100342,2010100342
+2010100343,041010
+2010100344,2009200556
+2010100345,2009200555
+2010100346,2008200530
+2010100347,060050
+2010100348,2007200405
+2010100349,2010100349
+2010100350,2008200538
+2010100351,2008200540
+2010100352,2009200662
+2010100353,2009200618
+2010100354,040907
+2010100355,2008200549
+2010100356,2008200551
+2010100357,2010100357
+2010100358,2008200586
+2010100359,2010100359
+2010100360,2009200584
+2010100361,2009200588
+2010100362,2008200611
+2010100363,040973
+2010100364,040967
+2010100365,2008200567
+2010100366,2009200608
+2010100367,050690
+2010100368,2008200579
+2010100369,060844
+2010100371,2008200595
+2010100372,2010100372
+2010100373,060866
+2010100374,2010100374
+2010100375,2010100375
+2010100376,040906
+2010100377,040958
+2010100378,2010100378
+2010100379,2009200630
+2010100380,2010100380
+2010100381,2009200721
+2010100382,2010100382
+2010100383,2010100383
+2010100384,2008200661
+2010100385,041211
+2010100386,2008200664
+2010100387,2010100387
+2010100388,2010100388
+2010100389,041193
+2010100390,2008200685
+2010100391,2010100391
+2010100392,2010100392
+2010100393,2010100393
+2010100394,2008200689
+2010100395,041289
+2010100396,046055035
+2010100397,2010100397
+2010100398,041315
+2010100399,2008200866
+2010100400,051009
+2010100401,2008200748
+2010100402,2009200854
+2010100403,061054
+2010100404,051004
+2010100405,061076
+2010100406,050974
+2010100407,2010100407
+2010100408,2008200820
+2010100409,061122
+2010100410,061094
+2010100411,2008200819
+2010100412,050966
+2010100413,050942
+2010100414,050922
+2010100415,061203
+2010100416,2008200794
+2010100417,043346
+2010100418,043840
+2010100419,053534
+2010100420,053469
+2010100421,061069
+2010100422,053501
+2010100423,2006020106
+2010100424,2010100424
+2010100425,052785
+2010100426,061327
+2010100427,2008200860
+2010100428,2010100428
+2010100429,040368
+2010100430,2009200967
+2010100431,2010100431
+2010100432,2009200979
+2010100433,2008200872
+2010100434,2010100434
+2010100436,051331
+2010100437,061341
+2010100438,2010100438
+2010100439,2009200982
+2010100440,051532
+2010100441,056070368
+2010100442,2008200910
+2010100443,040021
+2010100444,041755
+2010100445,051546
+2010100446,051521
+2010100447,051618
+2010100448,2009201046
+2010100449,051452
+2010100450,041683
+2010100451,2008201591
+2010100452,2009201011
+2010100453,2009201069
+2010100454,061509
+2010100455,061552
+2010100456,2007240001
+2010100457,051596
+2010100458,046085049
+2010100459,061766
+2010100460,061853
+2010100461,2008201005
+2010100462,2009201127
+2010100463,2010100463
+2010100464,2007200904
+2010100465,2010100465
+2010100466,041920
+2010100467,042014
+2010100468,052008
+2010100469,2008201110
+2010100470,2009201107
+2010100471,061988
+2010100472,2010100472
+2010100473,042091
+2010100474,2010100474
+2010100475,2010100475
+2010100476,046086489
+2010100477,061966
+2010100478,2010100478
+2010100479,2010100479
+2010100480,061878
+2010100481,053595
+2010100482,042068
+2010100483,053560
+2010100484,2010100484
+2010100485,040042
+2010100486,042546
+2010100487,052238
+2010100488,2010100488
+2010100489,062800
+2010100490,042329
+2010100491,042446
+2010100492,062158
+2010100493,2010100493
+2010100494,040011
+2010100495,2010100495
+2010100496,2008200193
+2010100497,042278
+2010100498,042505
+2010100499,062053
+2010100500,040665
+2010100501,033444
+2010100502,053587
+2010100503,042406
+2010100504,052132
+2010100505,040126
+2010100506,2010100506
+2010100507,042404
+2010100508,2010100508
+2010100509,2010100509
+2010100510,2010100510
+2010100511,2008201343
+2010100512,1993000043
+2010100513,2010100513
+2010100514,2010100514
+2010100515,2010100515
+2010100516,2008010074
+2010100517,062240
+2010100518,062221
+2010100519,042287
+2010100520,2007201019
+2010100521,2010100521
+2010100522,2009201476
+2010100523,052086
+2010100524,2010100524
+2010100525,2010100525
+2010100526,2010100526
+2010100527,066100637
+2010100528,062326
+2010100529,2009201631
+2010100530,2010100530
+2010100531,053809
+2010100532,062328
+2010100533,062453
+2010100534,040125
+2010100535,2009261709
+2010100536,052699
+2010100537,2010100537
+2010100538,2010100538
+2010100539,2008202014
+2010100540,046110712
+2010100541,2009201686
+2010100542,040117
+2010100543,062466
+2010100544,040028
+2010100545,2008201520
+2010100546,062345
+2010100547,042650
+2010100548,2008201532
+2010100549,2010100549
+2010100550,062535
+2010100551,2008202023
+2010100552,042931
+2010100553,062655
+2010100554,2007201440
+2010100555,042942
+2010100557,042911
+2010100558,2009201745
+2010100559,2010100559
+2010100560,042887
+2010100561,2009201746
+2010100562,2006020107
+2010100563,052766
+2010100564,2010100564
+2010100565,042837
+2010100566,2008201599
+2010100567,2007201415
+2010100568,2007201458
+2010100569,042892
+2010100570,062893
+2010100571,043163
+2010100572,056116657
+2010100573,062795
+2010100574,056110684
+2010100575,053013
+2010100576,2009201808
+2010100577,043048
+2010100578,2007201472
+2010100579,2010100579
+2010100580,062730
+2010100581,2009201780
+2010100582,043003
+2010100583,053042
+2010100584,2010100584
+2010100585,2008201694
+2010100586,043154
+2010100587,043110
+2010100588,2010100588
+2010100589,2010100589
+2010100590,062860
+2010100591,2006020108
+2010100592,2008201719
+2010100593,2010100593
+2010100594,2008201762
+2010100595,2008201721
+2010100596,066126813
+2010100597,2010100597
+2010100598,2010100598
+2010100599,2008201727
+2010100600,053158
+2010100601,066120719
+2010100602,053180
+2010100603,042842
+2010100604,2008201761
+2010100605,2010100605
+2010100606,062968
+2010100607,2008201748
+2010100608,2005000029
+2010100609,046130825
+2010100610,2007201788
+2010100611,2010100611
+2010100612,2010100612
+2010100613,1996000062
+2010100614,040871
+2010100615,2009202243
+2010100616,2009202245
+2010100617,043152
+2010100618,2008202057
+2010140001,2010140001
+2010150001,2010150001
+2010150002,2010150002
+2010150003,2010150003
+2010150004,2010150004
+2010150005,2010150005
+2010150006,2010150006
+2010150007,2010150007
+2010150008,2010150008
+2010150009,2010150009
+2010150010,2010150010
+2010150011,2010150011
+2010150012,2010150012
+2010150013,2010150013
+2010150014,2010150014
+2010200001,060292
+2010200002,2010200002
+2010200003,060139
+2010200004,2010200004
+2010200005,060256
+2010200006,060242
+2010200007,050133
+2010200008,2010200008
+2010200009,060178
+2010200010,060409
+2010200011,060190
+2010200012,060418
+2010200013,2010200013
+2010200014,2010200014
+2010200015,062601
+2010200016,052749
+2010200017,063527
+2010200018,060173
+2010200019,061110
+2010200020,060385
+2010200021,060945
+2010200022,060212
+2010200023,060419
+2010200024,060314
+2010200025,060312
+2010200026,2010200026
+2010200027,060364
+2010200028,2010200028
+2010200029,2010200029
+2010200030,060400
+2010200031,050276
+2010200032,060153
+2010200033,060294
+2010200034,2010200034
+2010200035,060269
+2010200036,062580
+2010200037,060268
+2010200038,060159
+2010200039,040226
+2010200040,062365
+2010200041,2010200041
+2010200042,060222
+2010200043,060285
+2010200044,060330
+2010200045,060126
+2010200046,060305
+2010200047,060414
+2010200048,060211
+2010200049,060395
+2010200050,062417
+2010200051,060188
+2010200052,060307
+2010200053,060180
+2010200054,060310
+2010200055,060179
+2010200056,060224
+2010200057,060161
+2010200058,060156
+2010200059,060288
+2010200060,060253
+2010200061,060362
+2010200062,060125
+2010200063,060046
+2010200064,060206
+2010200065,060309
+2010200066,2010200066
+2010200067,060097
+2010200068,2010200068
+2010200069,060169
+2010200070,040218
+2010200071,060131
+2010200072,040297
+2010200073,2010200073
+2010200074,2010200074
+2010200075,2010200075
+2010200076,062735
+2010200077,2010200077
+2010200078,060789
+2010200079,060828
+2010200080,060822
+2010200081,060857
+2010200082,060127
+2010200083,060421
+2010200084,060422
+2010200085,040441
+2010200086,2010200086
+2010200087,060252
+2010200088,2010200088
+2010200089,2010200089
+2010200090,060420
+2010200091,061669
+2010200092,2010200092
+2010200093,060427
+2010200094,2010200094
+2010200095,060357
+2010200096,060348
+2010200097,061991
+2010200098,060183
+2010200099,2010200099
+2010200100,2010200100
+2010200101,062586
+2010200102,060038
+2010200103,060259
+2010200104,040278
+2010200105,060158
+2010200106,2010200106
+2010200107,2010200107
+2010200108,060250
+2010200109,060382
+2010200110,060398
+2010200111,2010200111
+2010200112,060060
+2010200113,061451
+2010200114,2010200114
+2010200115,2010200115
+2010200116,060145
+2010200117,2010200117
+2010200118,2010200118
+2010200119,060063
+2010200120,060118
+2010200121,060176
+2010200122,060221
+2010200123,062597
+2010200124,062902
+2010200125,060220
+2010200126,060047
+2010200127,060044
+2010200128,2010200128
+2010200129,2010200129
+2010200130,060160
+2010200131,060089
+2010200132,060106
+2010200133,060018
+2010200134,060295
+2010200135,060114
+2010200136,060010
+2010200137,060379
+2010200138,060037
+2010200139,060032
+2010200140,060163
+2010200141,060270
+2010200142,2010200142
+2010200143,060367
+2010200144,060381
+2010200145,060392
+2010200146,2010200146
+2010200147,060236
+2010200148,060246
+2010200149,060201
+2010200150,060397
+2010200151,061095
+2010200152,060283
+2010200153,060195
+2010200154,2010200154
+2010200155,060371
+2010200156,2010200156
+2010200157,040157
+2010200158,2010200158
+2010200159,2010200159
+2010200160,060196
+2010200161,060216
+2010200162,2010200162
+2010200163,060383
+2010200164,060287
+2010200165,2010200165
+2010200166,2010200166
+2010200167,060240
+2010200168,052718
+2010200169,061981
+2010200170,060243
+2010200171,060299
+2010200172,060372
+2010200173,060090
+2010200174,060396
+2010200175,060393
+2010200176,060600
+2010200177,060198
+2010200178,040414
+2010200179,060387
+2010200180,060182
+2010200198,2010200198
+2010200199,2010200199
+2010200200,2010200200
+2010200201,2010200201
+2010200202,060034
+2010200203,062652
+2010200204,2010200204
+2010200205,062068
+2010200206,060525
+2010200207,060523
+2010200208,2010200208
+2010200209,062037
+2010200210,2010200210
+2010200211,2010200211
+2010200212,2010200212
+2010200213,2010200213
+2010200214,2010200214
+2010200215,2010200215
+2010200216,060534
+2010200217,060529
+2010200218,060536
+2010200219,060526
+2010200220,060524
+2010200221,060540
+2010200222,040023
+2010200223,2010200223
+2010200224,060537
+2010200225,061317
+2010200226,060366
+2010200227,060520
+2010200228,2010200228
+2010200229,060560
+2010200230,060549
+2010200231,2010200231
+2010200232,060105
+2010200233,060571
+2010200234,2010200234
+2010200235,061224
+2010200236,060545
+2010200237,060026
+2010200238,060102
+2010200239,2010200239
+2010200240,060482
+2010200241,2010200241
+2010200242,060514
+2010200243,060481
+2010200244,060293
+2010200245,060447
+2010200246,060005
+2010200247,2010200247
+2010200248,2010200248
+2010200249,060490
+2010200250,060506
+2010200251,060484
+2010200252,2010200252
+2010200253,2019010248
+2010200254,060502
+2010200255,060109
+2010200256,060515
+2010200257,060025
+2010200258,2010200258
+2010200259,060031
+2010200260,060509
+2010200261,060111
+2010200262,060500
+2010200263,2010200263
+2010200264,060453
+2010200265,062596
+2010200266,2010200266
+2010200267,060511
+2010200268,060504
+2010200269,2010200269
+2010200270,2010200270
+2010200271,060493
+2010200272,060467
+2010200273,060445
+2010200274,050340
+2010200275,2010200275
+2010200276,2010200276
+2010200277,060231
+2010200278,060510
+2010200279,040082
+2010200280,060495
+2010200281,2010200281
+2010200282,060449
+2010200283,060478
+2010200284,060461
+2010200285,060446
+2010200286,060066
+2010200287,060076
+2010200288,060116
+2010200289,060020
+2010200290,060507
+2010200291,060470
+2010200292,2010200292
+2010200293,060477
+2010200294,060496
+2010200295,060588
+2010200296,062437
+2010200297,060578
+2010200298,2010200298
+2010200299,060572
+2010200300,060068
+2010200301,060579
+2010200302,2010200302
+2010200303,060584
+2010200304,2010200304
+2010200305,060592
+2010200306,061496
+2010200307,060065
+2010200308,2010200308
+2010200309,2010200309
+2010200310,060575
+2010200311,060004
+2010200312,060594
+2010200313,2010200313
+2010200314,060576
+2010200315,061253
+2010200316,052857
+2010200317,2010200317
+2010200318,2010200318
+2010200319,060568
+2010200320,2010200320
+2010200321,060589
+2010200322,2010200322
+2010200323,2010200323
+2010200324,2010200324
+2010200332,060055
+2010200333,060053
+2010200334,060759
+2010200335,060769
+2010200336,060780
+2010200337,2010200337
+2010200338,060766
+2010200339,060778
+2010200340,2010200340
+2010200341,050497
+2010200342,060718
+2010200343,2010200343
+2010200344,2010200344
+2010200345,041254
+2010200346,2010200346
+2010200347,060607
+2010200348,2010200348
+2010200349,2010200349
+2010200350,2010200350
+2010200351,060697
+2010200352,2010200352
+2010200353,060730
+2010200354,050549
+2010200355,060707
+2010200356,2010200356
+2010200357,2010200357
+2010200358,2010200358
+2010200359,060711
+2010200360,062537
+2010200361,060686
+2010200362,060699
+2010200363,2010200363
+2010200364,2010200364
+2010200365,060683
+2010200366,050605
+2010200367,060710
+2010200368,050548
+2010200369,060035
+2010200370,060115
+2010200371,060027
+2010200372,060002
+2010200373,2010200373
+2010200374,2010200374
+2010200375,2010200375
+2010200376,062576
+2010200377,040756
+2010200378,060727
+2010200379,060725
+2010200380,060678
+2010200381,062561
+2010200382,042455
+2010200383,060091
+2010200384,060121
+2010200385,2010200385
+2010200386,2010200386
+2010200387,2010200387
+2010200388,2010200388
+2010200389,2010200389
+2010200390,060656
+2010200391,2010200391
+2010200392,2010200392
+2010200393,060670
+2010200394,060669
+2010200395,060616
+2010200396,060708
+2010200397,2010200397
+2010200398,2010200398
+2010200399,2010200399
+2010200400,060635
+2010200401,060776
+2010200402,062563
+2010200403,060080
+2010200404,060739
+2010200405,063528
+2010200406,060108
+2010200407,060737
+2010200408,040790
+2010200409,060750
+2010200410,060734
+2010200411,060742
+2010200412,060761
+2010200413,040792
+2010200414,2010200414
+2010200415,060757
+2010200416,2010200416
+2010200417,060743
+2010200418,060744
+2010200419,2010200419
+2010200420,041250
+2010200421,040616
+2010200422,060624
+2010200423,060623
+2010200424,2010200424
+2010200425,2010200425
+2010200426,2010200426
+2010200427,2010200427
+2010200428,2010200428
+2010200429,2010200429
+2010200430,2010200430
+2010200431,2010200431
+2010200432,2010200432
+2010200433,2010200433
+2010200434,060632
+2010200435,060056
+2010200436,060013
+2010200437,060016
+2010200438,040025
+2010200439,2010200439
+2010200440,2010200440
+2010200441,060642
+2010200442,2010200442
+2010200443,2010200443
+2010200444,2010200444
+2010200445,062569
+2010200446,2010200446
+2010200447,060640
+2010200448,060681
+2010200449,060653
+2010200450,060625
+2010200451,040641
+2010200452,2010200452
+2010200453,2010200453
+2010200454,060617
+2010200455,060631
+2010200456,2010200456
+2010200457,2010200457
+2010200458,060658
+2010200459,060764
+2010200460,060762
+2010200461,060773
+2010200462,040957
+2010200463,060775
+2010200464,2010200464
+2010200480,2010200480
+2010200481,2010200481
+2010200482,2010200482
+2010200483,2010200483
+2010200484,2010200484
+2010200485,2010200485
+2010200486,2010200486
+2010200487,2010200487
+2010200488,2010200488
+2010200489,060988
+2010200490,2010200490
+2010200491,2010200491
+2010200492,2010200492
+2010200493,2010200493
+2010200494,2010200494
+2010200495,2010200495
+2010200496,2010200496
+2010200497,2010200497
+2010200498,2010200498
+2010200499,2010200499
+2010200500,2010200500
+2010200501,2010200501
+2010200502,2010200502
+2010200503,2010200503
+2010200504,2010200504
+2010200505,060811
+2010200506,2010200506
+2010200507,2010200507
+2010200508,2010200508
+2010200509,060838
+2010200510,060845
+2010200511,2010200511
+2010200512,060792
+2010200513,2010200513
+2010200514,060983
+2010200515,060782
+2010200516,2010200516
+2010200517,2010200517
+2010200518,2010200518
+2010200519,2010200519
+2010200520,060846
+2010200521,060819
+2010200522,060815
+2010200523,2010200523
+2010200524,2010200524
+2010200525,2010200525
+2010200526,062875
+2010200527,2010200527
+2010200528,2010200528
+2010200529,060836
+2010200530,060976
+2010200531,2010200531
+2010200532,060837
+2010200533,2010200533
+2010200534,2010200534
+2010200535,2010200535
+2010200536,2010200536
+2010200537,2010200537
+2010200538,2010200538
+2010200539,2010200539
+2010200540,2010200540
+2010200541,060850
+2010200542,2010200542
+2010200543,2010200543
+2010200544,2010200544
+2010200545,2010200545
+2010200546,2010200546
+2010200547,2010200547
+2010200548,2010200548
+2010200549,2010200549
+2010200550,2010200550
+2010200551,060849
+2010200552,2010200552
+2010200553,2010200553
+2010200554,2010200554
+2010200555,2010200555
+2010200556,2010200556
+2010200557,2010200557
+2010200558,2010200558
+2010200559,2010200559
+2010200560,060971
+2010200561,2010200561
+2010200562,2010200562
+2010200563,2010200563
+2010200564,060972
+2010200565,060808
+2010200566,060816
+2010200567,062688
+2010200568,2010200568
+2010200569,2010200569
+2010200570,2010200570
+2010200571,2010200571
+2010200572,2010200572
+2010200573,2010200573
+2010200574,2010200574
+2010200575,2010200575
+2010200576,2010200576
+2010200577,2010200577
+2010200578,2010200578
+2010200579,2010200579
+2010200580,2010200580
+2010200581,2010200581
+2010200582,2010200582
+2010200583,2010200583
+2010200584,2010200584
+2010200585,2010200585
+2010200586,2010200586
+2010200587,2010200587
+2010200588,060900
+2010200589,062720
+2010200590,060901
+2010200591,2010200591
+2010200592,2010200592
+2010200593,2010200593
+2010200594,2010200594
+2010200595,2010200595
+2010200596,060944
+2010200597,2010200597
+2010200598,2010200598
+2010200599,2010200599
+2010200600,2010200600
+2010200601,060893
+2010200602,060928
+2010200603,2010200603
+2010200604,2010200604
+2010200605,2010200605
+2010200606,2010200606
+2010200607,2010200607
+2010200608,060947
+2010200609,060961
+2010200610,2010200610
+2010200611,060889
+2010200612,2010200612
+2010200613,2010200613
+2010200614,2010200614
+2010200615,060921
+2010200616,2010200616
+2010200617,2010200617
+2010200618,2010200618
+2010200619,060894
+2010200620,2010200620
+2010200621,060897
+2010200622,060967
+2010200623,2010200623
+2010200624,2010200624
+2010200625,2010200625
+2010200626,062670
+2010200627,2010200627
+2010200628,2010200628
+2010200629,2010200629
+2010200630,2010200630
+2010200631,060934
+2010200632,2010200632
+2010200633,2010200633
+2010200634,2010200634
+2010200635,060860
+2010200636,060898
+2010200637,2010200637
+2010200638,2010200638
+2010200639,2010200639
+2010200640,2010200640
+2010200641,2010200641
+2010200642,2010200642
+2010200643,2010200643
+2010200644,060962
+2010200645,2010200645
+2010200646,2010200646
+2010200647,060861
+2010200648,2010200648
+2010200649,060899
+2010200650,2010200650
+2010200651,2010200651
+2010200652,2010200652
+2010200653,060831
+2010200654,2010200654
+2010200655,2010200655
+2010200684,2010200684
+2010200685,051181
+2010200686,2010200686
+2010200687,2010200687
+2010200688,2010200688
+2010200689,2010200689
+2010200690,061230
+2010200691,2010200691
+2010200692,2010200692
+2010200693,2010200693
+2010200694,2010200694
+2010200695,2010200695
+2010200696,2010200696
+2010200697,2010200697
+2010200698,2010200698
+2010200699,2010200699
+2010200700,2010200700
+2010200701,2010200701
+2010200702,2010200702
+2010200703,2010200703
+2010200704,2010200704
+2010200705,2010200705
+2010200706,2010200706
+2010200707,2010200707
+2010200708,2010200708
+2010200709,060649
+2010200710,061179
+2010200711,2010200711
+2010200712,2010200712
+2010200713,061238
+2010200714,060015
+2010200715,060041
+2010200716,060095
+2010200717,2010200717
+2010200718,2010200718
+2010200719,061172
+2010200720,2010200720
+2010200721,2010200721
+2010200722,051274
+2010200723,061160
+2010200724,2010200724
+2010200725,2010200725
+2010200726,2010200726
+2010200727,2010200727
+2010200728,2010200728
+2010200729,2010200729
+2010200730,2010200730
+2010200731,2010200731
+2010200732,2010200732
+2010200733,2010200733
+2010200734,2010200734
+2010200735,062702
+2010200736,2010200736
+2010200737,2010200737
+2010200738,2010200738
+2010200739,2010200739
+2010200740,2010200740
+2010200741,2010200741
+2010200742,060092
+2010200743,2010200743
+2010200744,061218
+2010200745,061257
+2010200746,2010200746
+2010200747,061113
+2010200748,2010200748
+2010200749,2010200749
+2010200750,2010200750
+2010200751,2010200751
+2010200752,041345
+2010200753,2010200753
+2010200754,061232
+2010200755,061163
+2010200756,2010200756
+2010200757,2010200757
+2010200758,2010200758
+2010200759,2010200759
+2010200760,2010200760
+2010200761,2010200761
+2010200762,2010200762
+2010200763,2010200763
+2010200764,2010200764
+2010200765,061170
+2010200766,2010200766
+2010200767,2010200767
+2010200768,2010200768
+2010200769,2010200769
+2010200770,041231
+2010200771,2010200771
+2010200772,2010200772
+2010200773,061137
+2010200774,061226
+2010200775,2010200775
+2010200776,2010200776
+2010200777,061260
+2010200778,2010200778
+2010200779,2010200779
+2010200780,2010200780
+2010200781,2010200781
+2010200782,062267
+2010200783,2010200783
+2010200784,2010200784
+2010200785,051144
+2010200786,061240
+2010200787,2010200787
+2010200788,2010200788
+2010200789,2010200789
+2010200790,2010200790
+2010200791,061244
+2010200792,061189
+2010200793,061693
+2010200794,060101
+2010200795,060061
+2010200796,2010200796
+2010200797,2010200797
+2010200798,060993
+2010200799,061284
+2010200800,060994
+2010200801,061001
+2010200802,060045
+2010200803,060103
+2010200804,061288
+2010200805,2010200805
+2010200806,2010200806
+2010200807,2010200807
+2010200808,062212
+2010200809,2010200809
+2010200810,2010200810
+2010200811,2010200811
+2010200812,2010200812
+2010200813,2010200813
+2010200814,061047
+2010200815,061043
+2010200816,2010200816
+2010200817,061020
+2010200818,2010200818
+2010200819,2010200819
+2010200820,2010200820
+2010200821,2010200821
+2010200822,061067
+2010200823,2010200823
+2010200824,2010200824
+2010200825,2010200825
+2010200826,2010200826
+2010200827,061059
+2010200828,061148
+2010200829,061227
+2010200830,2010200830
+2010200831,2010200831
+2010200832,2010200832
+2010200833,061195
+2010200834,2010200834
+2010200835,061098
+2010200836,061077
+2010200837,061112
+2010200838,061105
+2010200839,051236
+2010200840,2010200840
+2010200841,2010200841
+2010200842,2010200842
+2010200843,2010200843
+2010200844,2010200844
+2010200845,061242
+2010200846,2010200846
+2010200847,2010200847
+2010200848,2010200848
+2010200849,2010200849
+2010200850,2010200850
+2010200851,2010200851
+2010200852,2010200852
+2010200853,2010200853
+2010200854,061092
+2010200855,050950
+2010200856,061038
+2010200857,061186
+2010200858,2010200858
+2010200859,2010200859
+2010200860,061075
+2010200861,2010200861
+2010200862,2010200862
+2010200863,2010200863
+2010200864,050971
+2010200865,2010200865
+2010200866,061198
+2010200867,2010200867
+2010200868,2010200868
+2010200869,2010200869
+2010200870,061093
+2010200871,061025
+2010200872,041105
+2010200873,2010200873
+2010200874,061090
+2010200875,061106
+2010200876,2010200876
+2010200877,2010200877
+2010200878,2010200878
+2010200879,2010200879
+2010200880,2010200880
+2010200881,061202
+2010200882,061089
+2010200883,2010200883
+2010200884,061162
+2010200885,061084
+2010200886,2010200886
+2010200887,061091
+2010200888,060110
+2010200889,061107
+2010200890,061050
+2010200891,060124
+2010200892,2010200892
+2010200893,2010200893
+2010200894,2010200894
+2010200895,060070
+2010200896,061082
+2010200897,053571
+2010200898,2010200898
+2010200899,2010200899
+2010200900,2010200900
+2010200901,2010200901
+2010200902,061310
+2010200903,2010200903
+2010200904,2010200904
+2010200905,061312
+2010200947,051294
+2010200948,061414
+2010200949,061419
+2010200950,2010200950
+2010200951,2010200951
+2010200952,061345
+2010200953,061349
+2010200954,061339
+2010200955,050888
+2010200956,2010200956
+2010200957,061351
+2010200958,051415
+2010200959,061331
+2010200960,061348
+2010200961,2010200961
+2010200962,2010200962
+2010200963,2010200963
+2010200964,051404
+2010200965,2010200965
+2010200966,061335
+2010200967,2010200967
+2010200968,051313
+2010200969,2010200969
+2010200970,061420
+2010200971,061340
+2010200972,061334
+2010200973,052730
+2010200974,2010200974
+2010200975,051439
+2010200976,051425
+2010200977,2010200977
+2010200978,061399
+2010200979,2010200979
+2010200980,051411
+2010200981,061363
+2010200982,061394
+2010200983,061371
+2010200984,061373
+2010200985,061402
+2010200992,061620
+2010200993,2010200993
+2010200994,2010200994
+2010200995,2010200995
+2010200996,2010200996
+2010200997,061577
+2010200998,061592
+2010200999,061644
+2010201000,061609
+2010201001,2010201001
+2010201002,061468
+2010201003,2010201003
+2010201004,061619
+2010201005,061630
+2010201006,061618
+2010201007,061636
+2010201008,061524
+2010201009,061449
+2010201010,061448
+2010201011,061482
+2010201012,061579
+2010201013,061534
+2010201014,061530
+2010201015,061469
+2010201016,051615
+2010201017,2010201017
+2010201018,2010201018
+2010201019,2010201019
+2010201020,2010201020
+2010201021,061665
+2010201022,061648
+2010201023,062047
+2010201024,061664
+2010201025,2010201025
+2010201026,061653
+2010201027,2010201027
+2010201028,041639
+2010201029,060081
+2010201030,060071
+2010201031,061485
+2010201032,041652
+2010201033,061494
+2010201034,061556
+2010201035,061562
+2010201036,061651
+2010201037,2010201037
+2010201038,061526
+2010201039,061518
+2010201040,2010201040
+2010201041,061659
+2010201042,061654
+2010201043,2010201043
+2010201044,061668
+2010201045,061517
+2010201046,061516
+2010201047,061503
+2010201048,2010201048
+2010201049,061549
+2010201050,061657
+2010201051,062558
+2010201052,060067
+2010201053,060058
+2010201054,061508
+2010201055,061475
+2010201056,061521
+2010201057,061497
+2010201058,061505
+2010201059,2010201059
+2010201060,2010201060
+2010201061,061540
+2010201062,063464
+2010201063,2010201063
+2010201064,061647
+2010201065,061484
+2010201066,2010201066
+2010201067,061532
+2010201068,061550
+2010201069,061569
+2010201070,061450
+2010201071,061504
+2010201072,2010201072
+2010201073,061464
+2010201074,061662
+2010201075,061632
+2010201076,061571
+2010201077,061529
+2010201078,2010201078
+2010201079,061528
+2010201080,2010201080
+2010201081,041650
+2010201082,2010201082
+2010201083,061486
+2010201084,061576
+2010201085,041715
+2010201086,2010201086
+2010201092,2010201092
+2010201093,2010201093
+2010201094,2010201094
+2010201095,2010201095
+2010201096,061708
+2010201097,2010201097
+2010201098,2010201098
+2010201099,2010201099
+2010201100,061925
+2010201101,2010201101
+2010201102,062566
+2010201103,062169
+2010201104,2010201104
+2010201105,2010201105
+2010201106,061699
+2010201107,061683
+2010201108,2010201108
+2010201109,2010201109
+2010201110,2010201110
+2010201111,2010201111
+2010201112,061671
+2010201113,051729
+2010201114,061798
+2010201115,2010201115
+2010201116,061673
+2010201117,061765
+2010201118,2010201118
+2010201119,2010201119
+2010201120,061681
+2010201121,061756
+2010201122,061687
+2010201123,2010201123
+2010201124,2010201124
+2010201125,061712
+2010201126,061713
+2010201127,061836
+2010201128,063496
+2010201129,061745
+2010201130,061696
+2010201131,061800
+2010201132,051958
+2010201133,061776
+2010201134,061921
+2010201135,061721
+2010201136,061732
+2010201137,2010201137
+2010201138,061976
+2010201139,060069
+2010201140,061771
+2010201141,062714
+2010201142,2010201142
+2010201143,051900
+2010201144,061828
+2010201145,061722
+2010201146,2010201146
+2010201147,061736
+2010201148,060107
+2010201149,060123
+2010201150,2010201150
+2010201151,062690
+2010201152,2010201152
+2010201153,2010201153
+2010201154,042191
+2010201155,2010201155
+2010201156,061782
+2010201157,2010201157
+2010201158,042143
+2010201159,2010201159
+2010201160,061970
+2010201161,2010201161
+2010201162,2010201162
+2010201163,2010201163
+2010201164,060048
+2010201165,2010201165
+2010201166,2010201166
+2010201167,2010201167
+2010201168,061929
+2010201169,2010201169
+2010201170,061961
+2010201171,2010201171
+2010201172,2010201172
+2010201173,060008
+2010201174,060017
+2010201175,2010201175
+2010201176,2010201176
+2010201177,2010201177
+2010201178,2010201178
+2010201179,061942
+2010201180,060022
+2010201181,061947
+2010201182,2010201182
+2010201183,2010201183
+2010201184,2010201184
+2010201185,061854
+2010201186,2010201186
+2010201187,042126
+2010201188,2010201188
+2010201189,2010201189
+2010201190,2010201190
+2010201191,2010201191
+2010201192,2010201192
+2010201193,061941
+2010201194,052042
+2010201195,062589
+2010201196,052039
+2010201197,061812
+2010201198,052029
+2010201199,2010201199
+2010201200,2010201200
+2010201201,061794
+2010201202,052976
+2010201203,2010201203
+2010201204,042459
+2010201205,061703
+2010201206,061920
+2010201207,2010201207
+2010201208,061690
+2010201209,061773
+2010201210,2010201210
+2010201211,2010201211
+2010201212,2010201212
+2010201213,2010201213
+2010201214,2010201214
+2010201215,051811
+2010201216,061796
+2010201217,2010201217
+2010201218,061841
+2010201219,061831
+2010201220,2010201220
+2010201221,061758
+2010201222,2010201222
+2010201223,2010201223
+2010201224,061686
+2010201225,2010201225
+2010201226,2010201226
+2010201227,2010201227
+2010201228,2010201228
+2010201229,2010201229
+2010201230,2010201230
+2010201231,061792
+2010201232,2010201232
+2010201233,2010201233
+2010201234,061676
+2010201235,2010201235
+2010201236,2010201236
+2010201237,2010201237
+2010201238,2010201238
+2010201239,2010201239
+2010201240,2010201240
+2010201241,061871
+2010201242,2010201242
+2010201243,2010201243
+2010201244,2010201244
+2010201245,2010201245
+2010201246,061883
+2010201247,061886
+2010201248,061904
+2010201249,2010201249
+2010201250,061907
+2010201251,061884
+2010201252,061863
+2010201253,061865
+2010201254,060049
+2010201255,060030
+2010201256,061915
+2010201257,061892
+2010201258,042058
+2010201259,2010201259
+2010201260,2010201260
+2010201261,2010201261
+2010201262,061864
+2010201263,061891
+2010201264,042073
+2010201265,061917
+2010201266,051936
+2010201267,2010201267
+2010201297,051290
+2010201298,2010201298
+2010201299,2010201299
+2010201300,2010201300
+2010201301,2010201301
+2010201302,062280
+2010201303,062281
+2010201304,2010201304
+2010201305,062273
+2010201306,042571
+2010201307,062284
+2010201308,062307
+2010201309,2010201309
+2010201310,2010201310
+2010201311,040350
+2010201312,062091
+2010201313,2010201313
+2010201314,061709
+2010201315,062154
+2010201316,062100
+2010201317,062115
+2010201318,2010201318
+2010201319,062111
+2010201320,062076
+2010201321,2010201321
+2010201322,062098
+2010201323,062101
+2010201324,2010201324
+2010201325,2010201325
+2010201326,062151
+2010201327,2010201327
+2010201328,052235
+2010201329,062102
+2010201330,062121
+2010201331,062013
+2010201332,062161
+2010201333,062164
+2010201334,2010201334
+2010201335,2010201335
+2010201336,062142
+2010201337,2010201337
+2010201338,2010201338
+2010201339,062153
+2010201340,062099
+2010201341,062109
+2010201342,062132
+2010201343,060064
+2010201344,062181
+2010201345,2010201345
+2010201346,062077
+2010201347,062124
+2010201348,062136
+2010201349,2010201349
+2010201350,2010201350
+2010201351,052240
+2010201352,062081
+2010201353,062146
+2010201354,2010201354
+2010201355,062144
+2010201356,062165
+2010201357,062152
+2010201358,2010201358
+2010201359,062156
+2010201360,2010201360
+2010201361,2010201361
+2010201362,062137
+2010201363,062143
+2010201364,062163
+2010201365,062127
+2010201366,2010201366
+2010201367,042214
+2010201368,042240
+2010201369,062216
+2010201370,2010201370
+2010201371,062209
+2010201372,062194
+2010201373,062573
+2010201374,2010201374
+2010201375,2010201375
+2010201376,2010201376
+2010201377,2010201377
+2010201378,060099
+2010201379,062018
+2010201380,062215
+2010201381,2010201381
+2010201382,062199
+2010201383,062038
+2010201384,2010201384
+2010201385,062168
+2010201386,060657
+2010201387,060001
+2010201388,062172
+2010201389,060051
+2010201390,2010201390
+2010201391,2010201391
+2010201392,2010201392
+2010201393,2010201393
+2010201394,062058
+2010201395,2020010043
+2010201396,2010201396
+2010201397,062234
+2010201398,060039
+2010201399,2010201399
+2010201400,2010201400
+2010201401,2010201401
+2010201402,060011
+2010201403,060040
+2010201404,2010201404
+2010201405,2010201405
+2010201406,2010201406
+2010201407,2010201407
+2010201408,2010201408
+2010201409,2010201409
+2010201410,062195
+2010201411,060677
+2010201412,052083
+2010201413,062248
+2010201414,062054
+2010201415,062006
+2010201416,062649
+2010201417,062167
+2010201418,2010201418
+2010201419,2010201419
+2010201420,2010201420
+2010201421,2010201421
+2010201422,062287
+2010201423,062171
+2010201424,062297
+2010201425,062071
+2010201426,062057
+2010201427,062048
+2010201428,2010201428
+2010201429,2010201429
+2010201430,062271
+2010201431,2010201431
+2010201432,2010201432
+2010201433,060349
+2010201434,2010201434
+2010201435,052148
+2010201436,062032
+2010201437,2010201437
+2010201438,2010201438
+2010201439,2010201439
+2010201440,2010201440
+2010201441,2010201441
+2010201442,2010201442
+2010201443,062060
+2010201444,2010201444
+2010201445,2010201445
+2010201446,2010201446
+2010201447,062291
+2010201448,062278
+2010201449,062277
+2010201450,062272
+2010201451,2010201451
+2010201452,062050
+2010201453,062063
+2010201454,2010201454
+2010201455,2010201455
+2010201456,2010201456
+2010201457,062059
+2010201458,2010201458
+2010201459,2010201459
+2010201460,062698
+2010201461,062587
+2010201462,2010201462
+2010201463,061999
+2010201464,2010201464
+2010201465,2010201465
+2010201466,2010201466
+2010201467,2010201467
+2010201468,052317
+2010201469,2010201469
+2010201470,2010201470
+2010201471,2010201471
+2010201472,2010201472
+2010201473,2010201473
+2010201474,2010201474
+2010201475,2010201475
+2010201476,2010201476
+2010201477,2010201477
+2010201478,2010201478
+2010201479,2010201479
+2010201480,062218
+2010201481,2010201481
+2010201482,061993
+2010201483,2010201483
+2010201484,062608
+2010201485,2010201485
+2010201486,2010201486
+2010201487,2010201487
+2010201488,063376
+2010201489,2010201489
+2010201490,2010201490
+2010201491,062246
+2010201492,2010201492
+2010201493,062584
+2010201494,2010201494
+2010201495,052778
+2010201496,2010201496
+2010201497,061658
+2010201498,2010201498
+2010201499,2010201499
+2010201500,062303
+2010201501,061407
+2010201502,2010201502
+2010201503,2010201503
+2010201504,2010201504
+2010201505,062295
+2010201506,062072
+2010201507,2010201507
+2010201508,062312
+2010201509,062294
+2010201510,2010201510
+2010201511,2010201511
+2010201512,2010201512
+2010201513,052315
+2010201514,062041
+2010201515,062017
+2010201516,062070
+2010201517,2010201517
+2010201518,062266
+2010201519,062247
+2010201520,2010201520
+2010201521,2010201521
+2010201522,062258
+2010201523,2010201523
+2010201524,062261
+2010201525,2010201525
+2010201526,2010201526
+2010201527,2010201527
+2010201528,2010201528
+2010201529,061411
+2010201530,2010201530
+2010201556,060012
+2010201557,060119
+2010201558,063484
+2010201559,062395
+2010201560,2010201560
+2010201561,2010201561
+2010201562,2010201562
+2010201563,2010201563
+2010201564,2010201564
+2010201565,063502
+2010201566,063474
+2010201567,063516
+2010201568,2010201568
+2010201569,2010201569
+2010201570,062598
+2010201571,2010201571
+2010201572,062407
+2010201573,060096
+2010201574,062327
+2010201575,062452
+2010201576,062369
+2010201577,063463
+2010201578,060043
+2010201579,062384
+2010201580,2010201580
+2010201581,062404
+2010201582,063325
+2010201583,2010201583
+2010201584,2010201584
+2010201585,062500
+2010201586,062427
+2010201587,062451
+2010201588,063301
+2010201589,2010201589
+2010201590,2010201590
+2010201591,2010201591
+2010201592,062432
+2010201593,2010201593
+2010201594,2010201594
+2010201595,2010201595
+2010201596,063370
+2010201597,062391
+2010201598,2010201598
+2010201599,2010201599
+2010201600,2010201600
+2010201601,2010201601
+2010201602,2010201602
+2010201603,2010201603
+2010201604,2010201604
+2010201605,2010201605
+2010201606,052566
+2010201607,2010201607
+2010201608,062341
+2010201609,2010201609
+2010201610,2010201610
+2010201611,2010201611
+2010201612,2010201612
+2010201613,2010201613
+2010201614,2010201614
+2010201615,063254
+2010201616,2010201616
+2010201617,063263
+2010201618,060113
+2010201619,062447
+2010201620,062499
+2010201621,052601
+2010201622,2010201622
+2010201623,2010201623
+2010201624,063321
+2010201625,2010201625
+2010201626,062464
+2010201627,2010201627
+2010201628,062364
+2010201629,062560
+2010201630,2010201630
+2010201631,062402
+2010201632,062381
+2010201633,062343
+2010201634,062450
+2010201635,062507
+2010201636,063305
+2010201637,2010201637
+2010201638,2010201638
+2010201639,063356
+2010201640,052505
+2010201641,062319
+2010201642,062322
+2010201643,062337
+2010201644,062650
+2010201645,2010201645
+2010201646,2010201646
+2010201647,062496
+2010201648,062339
+2010201649,2010201649
+2010201650,2010201650
+2010201651,060074
+2010201652,062465
+2010201653,062474
+2010201654,062385
+2010201655,062419
+2010201656,043843
+2010201657,062366
+2010201658,062458
+2010201659,062517
+2010201660,2010201660
+2010201661,2010201661
+2010201662,2010201662
+2010201663,2010201663
+2010201664,062494
+2010201665,062362
+2010201666,062428
+2010201667,060023
+2010201668,062353
+2010201669,060122
+2010201670,062585
+2010201671,062516
+2010201672,060078
+2010201673,060098
+2010201674,060077
+2010201675,062390
+2010201676,2010201676
+2010201677,2010201677
+2010201678,2010201678
+2010201679,062368
+2010201680,062355
+2010201681,062489
+2010201682,062342
+2010201683,063424
+2010201684,060062
+2010201685,060009
+2010201686,062478
+2010201687,063405
+2010201688,2010201688
+2010201689,2010201689
+2010201690,2010201690
+2010201691,2010201691
+2010201692,2010201692
+2010201693,2010201693
+2010201694,2010201694
+2010201695,2010201695
+2010201696,2010201696
+2010201697,2010201697
+2010201698,062531
+2010201699,2010201699
+2010201721,2010201721
+2010201722,2010201722
+2010201723,2010201723
+2010201724,2010201724
+2010201725,042881
+2010201726,2010201726
+2010201727,2010201727
+2010201728,2010201728
+2010201729,2010201729
+2010201730,2010201730
+2010201731,062615
+2010201732,062583
+2010201733,062554
+2010201734,2010201734
+2010201735,2010201735
+2010201736,2010201736
+2010201737,2010201737
+2010201738,2010201738
+2010201739,062545
+2010201740,2010201740
+2010201741,2010201741
+2010201742,2010201742
+2010201743,2010201743
+2010201744,2010201744
+2010201745,2010201745
+2010201746,062539
+2010201747,062571
+2010201748,2010201748
+2010201749,2010201749
+2010201750,062639
+2010201751,2010201751
+2010201752,2010201752
+2010201753,2010201753
+2010201754,2010201754
+2010201755,2010201755
+2010201756,2010201756
+2010201757,062592
+2010201758,062623
+2010201759,2010201759
+2010201760,2010201760
+2010201761,062594
+2010201762,2010201762
+2010201763,2010201763
+2010201764,062538
+2010201765,2010201765
+2010201766,2010201766
+2010201767,2010201767
+2010201768,2010201768
+2010201769,2010201769
+2010201770,062593
+2010201771,2010201771
+2010201772,2010201772
+2010201773,2010201773
+2010201774,062669
+2010201775,2010201775
+2010201776,2010201776
+2010201777,2010201777
+2010201778,062727
+2010201779,2010201779
+2010201780,2010201780
+2010201781,062765
+2010201782,2010201782
+2010201783,2010201783
+2010201784,2010201784
+2010201785,2010201785
+2010201786,062823
+2010201787,053063
+2010201788,2010201788
+2010201789,2010201789
+2010201790,2010201790
+2010201791,062834
+2010201792,2010201792
+2010201793,062820
+2010201794,2010201794
+2010201795,2010201795
+2010201796,062882
+2010201797,2010201797
+2010201798,062840
+2010201799,2010201799
+2010201800,062822
+2010201801,062796
+2010201802,062868
+2010201803,2010201803
+2010201804,2010201804
+2010201805,2010201805
+2010201806,2010201806
+2010201807,062609
+2010201808,062591
+2010201809,052736
+2010201810,2010201810
+2010201811,062767
+2010201812,062756
+2010201813,062781
+2010201814,062738
+2010201815,062760
+2010201816,062776
+2010201817,2010201817
+2010201818,062666
+2010201819,2010201819
+2010201820,2010201820
+2010201821,2010201821
+2010201822,060805
+2010201823,2010201823
+2010201824,2010201824
+2010201825,2010201825
+2010201826,2010201826
+2010201827,2010201827
+2010201828,2010201828
+2010201829,062687
+2010201830,062737
+2010201831,2010201831
+2010201832,2010201832
+2010201833,2010201833
+2010201834,2010201834
+2010201835,062717
+2010201836,062663
+2010201837,2010201837
+2010201838,2010201838
+2010201839,2010201839
+2010201840,062845
+2010201841,2010201841
+2010201842,2010201842
+2010201843,2010201843
+2010201844,2010201844
+2010201845,062862
+2010201846,2010201846
+2010201847,062791
+2010201848,2010201848
+2010201849,062818
+2010201850,062861
+2010201851,2010201851
+2010201852,062835
+2010201853,062870
+2010201854,062817
+2010201855,062819
+2010201856,062842
+2010201857,2010201857
+2010201858,062807
+2010201859,2010201859
+2010201860,062805
+2010201861,2010201861
+2010201862,2010201862
+2010201863,2010201863
+2010201864,062872
+2010201865,2010201865
+2010201866,2010201866
+2010201867,2010201867
+2010201868,2010201868
+2010201869,2010201869
+2010201870,2010201870
+2010201871,062804
+2010201872,2010201872
+2010201873,2010201873
+2010201874,2010201874
+2010201875,2010201875
+2010201876,2010201876
+2010201877,2010201877
+2010201878,2010201878
+2010201879,062874
+2010201880,062871
+2010201881,062878
+2010201882,2010201882
+2010201883,2010201883
+2010201884,2010201884
+2010201895,062993
+2010201896,2010201896
+2010201897,062928
+2010201898,2010201898
+2010201899,063010
+2010201900,2010201900
+2010201901,2010201901
+2010201902,062932
+2010201903,062961
+2010201904,2010201904
+2010201905,2010201905
+2010201906,063008
+2010201907,2010201907
+2010201908,2010201908
+2010201909,2010201909
+2010201910,062346
+2010201911,2010201911
+2010201912,2010201912
+2010201913,2010201913
+2010201914,053159
+2010201915,2010201915
+2010201916,2010201916
+2010201917,2010201917
+2010201918,2010201918
+2010201919,2010201919
+2010201920,2010201920
+2010201921,2010201921
+2010201922,062914
+2010201923,062939
+2010201924,2010201924
+2010201925,053184
+2010201926,2010201926
+2010201927,2010201927
+2010201928,2010201928
+2010201929,2010201929
+2010201930,2010201930
+2010201931,2010201931
+2010201932,062985
+2010201933,2010201933
+2010201934,062897
+2010201935,2010201935
+2010201936,2010201936
+2010201937,2010201937
+2010201938,2010201938
+2010201939,2010201939
+2010201940,052938
+2010201941,2010201941
+2010201942,2010201942
+2010201943,2010201943
+2010201944,2010201944
+2010201945,2010201945
+2010201946,2010201946
+2010201947,062942
+2010201948,2010201948
+2010202133,2010202133
+2010202134,2010202134
+2010202135,2010202135
+2010202136,2010202136
+2010202137,043375
+2010202138,2010202138
+2010202139,063105
+2010202140,2010202140
+2010202141,2010202141
+2010202142,2010202142
+2010202143,2010202143
+2010202144,063115
+2010202145,2010202145
+2010202146,063084
+2010202147,2010202147
+2010202148,2010202148
+2010202149,2010202149
+2010202150,063200
+2010202151,063205
+2010202152,2010202152
+2010202153,2010202153
+2010202154,2010202154
+2010202155,2010202155
+2010202156,2010202156
+2010202157,2010202157
+2010202158,2010202158
+2010202159,063199
+2010202160,2010202160
+2010202161,063204
+2010202162,2010202162
+2010202163,2010202163
+2010202164,2010202164
+2010202165,2010202165
+2010202166,2010202166
+2010202167,2010202167
+2010202168,2010202168
+2010202169,2010202169
+2010202170,2010202170
+2010202171,2010202171
+2010202172,2010202172
+2010202173,2010202173
+2010202174,2010202174
+2010202175,2010202175
+2010202176,2010202176
+2010202177,2010202177
+2010202178,2010202178
+2010202179,2010202179
+2010202180,053277
+2010202181,2010202181
+2010202182,2010202182
+2010202183,2010202183
+2010202184,2010202184
+2010202185,063036
+2010202186,2010202186
+2010202187,053257
+2010202188,2010202188
+2010202189,063065
+2010202190,2010202190
+2010202191,2010202191
+2010202192,2009240005
+2010202193,2010202193
+2010202194,2010202194
+2010202195,063069
+2010202196,2010202196
+2010202197,2010202197
+2010202198,2010202198
+2010202199,2010202199
+2010202200,2010202200
+2010202201,2010202201
+2010202202,2010202202
+2010202203,2010202203
+2010202204,2010202204
+2010202205,043609
+2010202206,2010202206
+2010202207,2010202207
+2010202208,2010202208
+2010202209,2010202209
+2010202210,2010202210
+2010202211,063112
+2010202212,2010202212
+2010202213,2010202213
+2010202214,2010202214
+2010202215,2010202215
+2010202216,2010202216
+2010202330,2010202330
+2010202331,2005020151
+2010202332,2010202332
+2010202333,2010202333
+2010202334,2010202334
+2010202335,2010202335
+2010202336,2010202336
+2010202337,2010202337
+2010202338,2010202338
+2010202339,2010202339
+2010202340,2010202340
+2010202341,2010202341
+2010202342,2010202342
+2010202343,2010202343
+2010202344,2010202344
+2010202345,2010202345
+2010202346,2010202346
+2010202347,2010202347
+2010202348,2010202348
+2010202349,2010202349
+2010202350,050544
+2010202351,2010202351
+2010202352,052049
+2010202353,051789
+2010202354,053066
+2010202355,053224
+2010202356,053223
+2010210001,2010210001
+2010210002,2010210002
+2010210003,2010210003
+2010210004,2010210004
+2010210005,2010210005
+2010210006,2010210006
+2010210007,2010210007
+2010210008,2010210008
+2010210009,2010210009
+2010210010,2010210010
+2010210011,2010210011
+2010210012,2010210012
+2010210013,2010210013
+2010210014,2010210014
+2010210015,2010210015
+2010210016,2010210016
+2010210017,2010210017
+2010210018,2010210018
+2010210019,2010210019
+2010210020,2010210020
+2010210021,2010210021
+2010210022,2010210022
+2010210023,2010210023
+2010210024,2010210024
+2010210025,2010210025
+2010210026,2010210026
+2010210027,2010210027
+2010210028,2010210028
+2010210029,2010210029
+2010210030,2010210030
+2010210031,2010210031
+2010210032,2010210032
+2010210033,2010210033
+2010210034,2010210034
+2010210035,2010210035
+2010210036,2010210036
+2010210037,2010210037
+2010210038,2010210038
+2010210039,2010210039
+2010210040,2010210040
+2010210041,2010210041
+2010210042,2010210042
+2010210043,2010210043
+2010210044,2010210044
+2010210045,2010210045
+2010210046,2010210046
+2010210047,2010210047
+2010210048,2010210048
+2010210049,2010210049
+2010210050,2010210050
+2010210051,2010210051
+2010210052,2010210052
+2010210053,2010210053
+2010210054,2010210054
+2010210055,2010210055
+2010210056,2010210056
+2010210057,2010210057
+2010210058,2010210058
+2010210059,2010210059
+2010210060,2010210060
+2010210061,2010210061
+2010210062,2010210062
+2010210063,2010210063
+2010210064,2010210064
+2010210065,053722
+2010210066,2010210066
+2010210067,2010210067
+2010210068,2010210068
+2010210069,2010210069
+2010210070,2010210070
+2010210071,2010210071
+2010210072,2010210072
+2010210073,2010210073
+2010210074,2010210074
+2010210075,1996000016
+2010210076,2010210076
+2010210077,2010210077
+2010210078,2010210078
+2010210079,2010210079
+2010210080,2010210080
+2010210081,2010210081
+2010210082,2010210082
+2010210083,2010210083
+2010210084,2010210084
+2010210085,2010210085
+2010210086,2010210086
+2010210087,2010210087
+2010210088,2010210088
+2010210089,2010210089
+2010210090,2010210090
+2010210091,2010210091
+2010210092,2010210092
+2010210093,2000000034
+2010210094,2010210094
+2010210095,2010210095
+2010210096,2010210096
+2010210097,2010210097
+2010210098,2010210098
+2010210099,2010210099
+2010210100,2010210100
+2010210101,2010210101
+2010210102,2010210102
+2010210103,2010210103
+2010210104,2010210104
+2010210105,2010210105
+2010210106,2010210106
+2010210107,2010210107
+2010210108,2010210108
+2010210109,2010210109
+2010210110,2010210110
+2010210111,2010210111
+2010210112,2010210112
+2010210113,2010210113
+2010210114,2010210114
+2010210115,2010210115
+2010210116,2010210116
+2010210117,2010210117
+2010210118,2010210118
+2010210119,2010210119
+2010210120,2010210120
+2010210121,2010210121
+2010210122,2010210122
+2010210123,2010210123
+2010210124,2010210124
+2010210125,2010210125
+2010210126,2010210126
+2010210127,2010210127
+2010210128,2010210128
+2010210129,2010210129
+2010210130,2010210130
+2010210131,2010210131
+2010210132,2010210132
+2010210133,2010210133
+2010210134,2010210134
+2010210135,2010210135
+2010210136,2010210136
+2010210137,2010210137
+2010210138,2010210138
+2010210139,2010210139
+2010210140,2010210140
+2010210141,2010210141
+2010210142,2010210142
+2010210143,2010210143
+2010210144,2003020078
+2010210145,2010210145
+2010210146,2010210146
+2010210147,2010210147
+2010210148,2010210148
+2010210149,2010210149
+2010210150,2010210150
+2010210151,2010210151
+2010210152,2010210152
+2010210153,2010210153
+2010210154,2010210154
+2010210155,2010210155
+2010210156,2010210156
+2010210157,2010210157
+2010210158,2010210158
+2010210159,2010210159
+2010210160,2010210160
+2010210161,2010210161
+2010210162,2010210162
+2010210163,2010210163
+2010210164,2010210164
+2010210165,2010210165
+2010210166,2010210166
+2010210167,2010210167
+2010210168,2010210168
+2010210169,2010210169
+2010210170,2010210170
+2010210171,2010210171
+2010210172,2010210172
+2010210173,2010210173
+2010210174,2010210174
+2010210175,2010210175
+2010210176,2010210176
+2010210177,2010210177
+2010210178,2010210178
+2010210179,2010210179
+2010210180,2010210180
+2010210181,2010210181
+2010210182,2010210182
+2010210183,2010210183
+2010210184,2010210184
+2010210185,2010210185
+2010210186,2010210186
+2010210187,2010210187
+2010210188,2010210188
+2010210189,2010210189
+2010210190,2010210190
+2010210191,2010210191
+2010210192,2010210192
+2010210193,2010210193
+2010210194,2010210194
+2010210195,2010210195
+2010210196,2010210196
+2010210197,2010210197
+2010210198,2010210198
+2010210199,2010210199
+2010210200,2010210200
+2010210201,2010210201
+2010210202,2010210202
+2010210203,2010210203
+2010210204,2010210204
+2010210205,2010210205
+2010210206,2010210206
+2010210207,2010210207
+2010210208,2010210208
+2010210209,2010210209
+2010210210,2010210210
+2010210211,2010210211
+2010210212,2010210212
+2010210213,2010210213
+2010210214,2010210214
+2010210215,2010210215
+2010210216,2010210216
+2010210217,2010210217
+2010210218,2010210218
+2010210219,2010210219
+2010210220,2010210220
+2010210221,2010210221
+2010210222,2010210222
+2010210223,2010210223
+2010210224,2010210224
+2010210225,2010210225
+2010210226,2010210226
+2010210227,2010210227
+2010210228,2010210228
+2010210229,2007270053
+2010210230,2007270017
+2010210231,2010210231
+2010210232,2007270073
+2010210233,2007270029
+2010210234,2010210234
+2010210235,2010210235
+2010210236,2010210236
+2010210237,2010210237
+2010210238,2010210238
+2010210239,2007270026
+2010210240,2010210240
+2010210241,2010210241
+2010210242,2010210242
+2010210243,2010210243
+2010210244,2010210244
+2010210245,2010210245
+2010210246,2010210246
+2010210247,2010210247
+2010210248,2010210248
+2010210249,2010210249
+2010210250,2010210250
+2010210251,2010210251
+2010210252,2010210252
+2010210253,2010210253
+2010210254,2010210254
+2010210255,2010210255
+2010210256,2010210256
+2010210257,2010210257
+2010210258,2009270157
+2010210259,2010210259
+2010210260,2010210260
+2010210261,2010210261
+2010210262,2010210262
+2010210263,2010210263
+2010210264,2007270103
+2010210265,2007270104
+2010210266,2010210266
+2010210267,2010210267
+2010210268,2010210268
+2010210269,2010210269
+2010210270,2010210270
+2010210271,2010210271
+2010210272,2010210272
+2010210273,2010210273
+2010210274,2010210274
+2010210275,2010210275
+2010210276,2010210276
+2010210277,2010210277
+2010210278,2010210278
+2010210279,2010210279
+2010210280,2010210280
+2010210281,2010210281
+2010210282,2010210282
+2010210283,2010210283
+2010210284,2010210284
+2010210285,2010210285
+2010210286,2010210286
+2010210287,2010210287
+2010210288,2010210288
+2010210289,2010210289
+2010210290,2010210290
+2010210291,2010210291
+2010210292,2010210292
+2010210293,2010210293
+2010210294,2010210294
+2010210295,2010210295
+2010210296,2007270089
+2010210297,2010210297
+2010210298,2010210298
+2010210299,2010210299
+2010210300,2010210300
+2010210301,2010210301
+2010210302,2010210302
+2010210303,2010210303
+2010210304,2010210304
+2010210305,2010210305
+2010210306,2010210306
+2010210307,2010210307
+2010210308,2010210308
+2010210309,2010210309
+2010210310,2010210310
+2010210311,2010210311
+2010210312,2010210312
+2010210313,2010210313
+2010210314,2010210314
+2010210315,2010210315
+2010210316,2010210316
+2010210317,2010210317
+2010210318,2010210318
+2010210319,2010210319
+2010210320,2010210320
+2010210321,2010210321
+2010210322,2010210322
+2010210323,2010210323
+2010210324,2010210324
+2010210325,2010210325
+2010210326,2010210326
+2010210327,2010210327
+2010210328,2010210328
+2010210329,2010210329
+2010210330,2010210330
+2010210331,2010210331
+2010210332,2010210332
+2010210333,2010210333
+2010210334,2010210334
+2010210335,2010210335
+2010210336,2010210336
+2010210337,2010210337
+2010210338,2010210338
+2010210339,2010210339
+2010210340,2010210340
+2010210341,2010210341
+2010210342,2010210342
+2010210343,2010210343
+2010210344,2010210344
+2010210345,2010210345
+2010210346,2010210346
+2010210347,2010210347
+2010210348,2010210348
+2010210349,2010210349
+2010210350,2010210350
+2010210351,2010210351
+2010210352,2010210352
+2010210353,2010210353
+2010210354,2010210354
+2010210355,2010210355
+2010210356,2010210356
+2010210357,2010210357
+2010210358,2010210358
+2010210359,2010210359
+2010210360,2010210360
+2010210361,2010210361
+2010210362,2010210362
+2010210363,2010210363
+2010210364,2010210364
+2010210365,2010210365
+2010210366,2010210366
+2010210367,050730
+2010210368,2010210368
+2010210369,2010210369
+2010210370,2010210370
+2010210371,2010210371
+2010210372,2010210372
+2010210373,2010210373
+2010210374,2010210374
+2010210375,2010210375
+2010210376,2010210376
+2010210377,2010210377
+2010210378,2010210378
+2010210379,2010210379
+2010210380,2010210380
+2010210381,2010210381
+2010210382,2010210382
+2010210383,2010210383
+2010210384,2010210384
+2010210385,2010210385
+2010210386,2010210386
+2010210387,2010210387
+2010210388,2010210388
+2010210389,2010210389
+2010210390,2010210390
+2010210391,2010210391
+2010210392,2010210392
+2010210393,2010210393
+2010210394,2010210394
+2010210395,2010210395
+2010210396,2010210396
+2010210397,2010210397
+2010210398,2010210398
+2010210399,2010210399
+2010210400,2010210400
+2010210401,2010210401
+2010210402,2010210402
+2010210403,2010210403
+2010210404,2010210404
+2010210405,2010210405
+2010210406,2010210406
+2010210407,2010210407
+2010210408,2010210408
+2010210409,2010210409
+2010210410,2010210410
+2010210411,2010210411
+2010210412,2010210412
+2010210413,2010210413
+2010210414,2010210414
+2010210415,2010210415
+2010210416,2009270099
+2010210417,2009270104
+2010210418,2009270107
+2010210419,2009270101
+2010210420,2010210420
+2010210421,2009270102
+2010210422,2010210422
+2010210423,2010210423
+2010210424,2010210424
+2010210425,2010210425
+2010210426,2009270109
+2010210427,2010210427
+2010210428,1998000019
+2010210429,2009270097
+2010210430,2009270073
+2010210431,2009270123
+2010210432,2009270136
+2010210433,2009270146
+2010210434,2009270140
+2010210435,2009270130
+2010210436,2009270116
+2010210437,2009270117
+2010210438,2009270119
+2010210439,2010210439
+2010210440,2009270124
+2010210441,2009270128
+2010210442,2010210442
+2010210443,2009270113
+2010210444,2010210444
+2010210445,1989000067
+2010210446,2010210446
+2010210447,2010210447
+2010210448,2010210448
+2010210449,2010210449
+2010210450,2010210450
+2010210451,2010210451
+2010210452,2010210452
+2010210453,2010210453
+2010210454,2008270047
+2010210455,2008270041
+2010210456,2008270043
+2010210457,2010210457
+2010210458,2010210458
+2010210459,2010210459
+2010210460,2010210460
+2010210461,2010210461
+2010210462,2010210462
+2010210463,2010210463
+2010210464,2010210464
+2010210465,2010210465
+2010210466,2010210466
+2010210467,2010210467
+2010210468,2010210468
+2010210469,2010210469
+2010210470,2010210470
+2010210471,2010210471
+2010210472,2010210472
+2010210473,2010210473
+2010210474,2006020161
+2010210475,2010210475
+2010210476,2010210476
+2010210477,2010210477
+2010210478,2010210478
+2010210479,2010210479
+2010210480,2010210480
+2010210481,2010210481
+2010210482,2010210482
+2010210483,2010210483
+2010210484,2010210484
+2010210485,2008270075
+2010210486,2010210486
+2010210487,2008270074
+2010210488,2010210488
+2010210489,2010210489
+2010210490,2010210490
+2010210491,2010210491
+2010210492,2010210492
+2010210493,1993000038
+2010210494,2010210494
+2010210495,2010210495
+2010210496,2010210496
+2010210497,2010210497
+2010210498,2010210498
+2010210499,2010210499
+2010210500,2010210500
+2010210501,2010210501
+2010210502,2010210502
+2010210503,2010210503
+2010210504,2009270065
+2010210505,2009270081
+2010210506,2009270076
+2010210507,2010210507
+2010210508,2010210508
+2010210509,2010210509
+2010210510,2010210510
+2010210511,2010210511
+2010210512,2010210512
+2010210513,2010210513
+2010210514,2010210514
+2010210515,2010210515
+2010210516,2010210516
+2010210517,2010210517
+2010210518,2010210518
+2010210519,2010210519
+2010210520,2010210520
+2010210521,2010210521
+2010210522,2010210522
+2010210523,2010210523
+2010210524,2010210524
+2010210525,2007270073
+2010210526,2010210526
+2010210527,2010210527
+2010210528,2010210528
+2010210529,2010210529
+2010210530,2010210530
+2010210531,2010210531
+2010210532,2010210532
+2010210533,2010210533
+2010210534,2010210534
+2010210535,2010210535
+2010210536,2010210536
+2010210537,2010210537
+2010210538,2010210538
+2010210539,2010210539
+2010210540,2010210540
+2010210541,2010210541
+2010210542,2010210542
+2010210543,2010210543
+2010210544,2010210544
+2010210545,2010210545
+2010210546,2010210546
+2010210547,2010210547
+2010210548,2010210548
+2010210549,2010210549
+2010210550,2010210550
+2010210551,2010210551
+2010210552,2010210552
+2010210553,2010210553
+2010210554,2010210554
+2010210555,2010210555
+2010210556,2010210556
+2010210557,2010210557
+2010210558,2010210558
+2010210559,2010210559
+2010210560,2010210560
+2010210561,2010210561
+2010210562,2010210562
+2010210563,2010210563
+2010210564,2010210564
+2010210565,2010210565
+2010210566,2010210566
+2010210567,2010210567
+2010210568,2010210568
+2010210569,2010210569
+2010210570,2010210570
+2010210571,2010210571
+2010210572,2010210572
+2010210573,2010210573
+2010210574,2010210574
+2010210575,2010210575
+2010210576,2010210576
+2010210577,2010210577
+2010210578,2010210578
+2010210579,2010210579
+2010210580,2010210580
+2010210581,2010210581
+2010210582,2010210582
+2010210583,2010210583
+2010210584,2010210584
+2010210585,2010210585
+2010210586,2010210586
+2010210587,2010210587
+2010210588,2010210588
+2010210589,2010210589
+2010210590,2010210590
+2010210591,2010210591
+2010210592,2010210592
+2010210593,2010210593
+2010210594,2010210594
+2010210595,2010210595
+2010210596,2010210596
+2010210597,2010210597
+2010210598,2010210598
+2010210599,2010210599
+2010210600,2010210600
+2010210601,2010210601
+2010210602,2010210602
+2010210603,2010210603
+2010210604,2010210604
+2010210605,2010210605
+2010210606,2010210606
+2010210607,2010210607
+2010210608,2010210608
+2010210609,2010210609
+2010210610,2010210610
+2010210611,2010210611
+2010210612,2010210612
+2010210613,2010210613
+2010210614,2010210614
+2010210615,2010210615
+2010210616,2010210616
+2010210617,2010210617
+2010210618,2010210618
+2010210619,2010210619
+2010210620,2010210620
+2010210621,2010210621
+2010210622,2010210622
+2010210623,2010210623
+2010210624,2010210624
+2010210625,2010210625
+2010210626,2010210626
+2010210627,2010210627
+2010210628,2010210628
+2010210629,2010210629
+2010210630,2010210630
+2010210631,2010210631
+2010210632,2010210632
+2010210633,2010210633
+2010210634,2010210634
+2010210635,2010210635
+2010210636,2010210636
+2010210637,2010210637
+2010210638,2010210638
+2010210639,2010210639
+2010210640,2010210640
+2010210641,2010210641
+2010210642,2010210642
+2010210643,2010210643
+2010210644,2010210644
+2010210645,2010210645
+2010210646,2010210646
+2010210647,2010210647
+2010210648,2010210648
+2010210649,2010210649
+2010210650,2010210650
+2010210651,2010210651
+2010210652,2010210652
+2010210653,2010210653
+2010210654,2010210654
+2010210655,2010210655
+2010210656,2010210656
+2010210657,2010210657
+2010210658,2010210658
+2010210659,2010210659
+2010210660,2010210660
+2010210661,2010210661
+2010210662,2010210662
+2010210663,2010210663
+2010210664,2010210664
+2010210665,2010210665
+2010210666,2010210666
+2010210667,2010210667
+2010210668,2010210668
+2010210669,2010210669
+2010210670,2010210670
+2010210671,2010210671
+2010210672,2010210672
+2010210673,2010210673
+2010210674,2010210674
+2010210675,2010210675
+2010210676,2010210676
+2010210677,2010210677
+2010210678,2010210678
+2010210679,2010210679
+2010210680,2010210680
+2010210681,2010210681
+2010210682,2010210682
+2010210683,2010210683
+2010210684,2010210684
+2010210685,2010210685
+2010210686,2010210686
+2010210687,2010210687
+2010210688,2010210688
+2010210689,2010210689
+2010210690,2010210690
+2010210691,2010210691
+2010210692,2010210692
+2010210693,2010210693
+2010210694,2010210694
+2010210695,2010210695
+2010210696,2010210696
+2010210697,2010210697
+2010210698,2010210698
+2010210699,2010210699
+2010210700,2010210700
+2010210701,2010210701
+2010210702,2010210702
+2010210703,2010210703
+2010210704,2010210704
+2010210705,2010210705
+2010210706,2010210706
+2010210707,2010210707
+2010210708,2010210708
+2010210709,2010210709
+2010210710,2010210710
+2010210711,2009270126
+2010210712,2009270132
+2010240001,2010240001
+2010240002,2010240002
+2010240003,2010240003
+2010240004,2010240004
+2010240005,2010240005
+2010240006,2010240006
+2010240007,2010240007
+2010240008,2010240008
+2010240009,2010240009
+2010240010,2010240010
+2010240011,2010240011
+2010240012,2010240012
+2010240013,2010240013
+2010240014,2010240014
+2010240016,2010240016
+2010250001,2010250001
+2010250002,2010250002
+2010250003,2010250003
+2010250004,2010250004
+2010250005,2010250005
+2010250006,2010250006
+2010250007,2010250007
+2010250008,2010250008
+2010250009,2010250009
+2010250010,2010250010
+2010250011,2010250011
+2010250012,2010250012
+2010250013,2010250013
+2010250014,2010250014
+2010250015,2010250015
+2010250016,2010250016
+2010250017,2010250017
+2010250018,061199
+2010250019,2010250019
+2010250020,2010250020
+2010250021,2010250021
+2010250022,060533
+2010250023,2010250023
+2010250024,2010250024
+2010250025,2010250025
+2010250026,2010250026
+2010250027,2010250027
+2010250028,2010250028
+2010250029,2010250029
+2010250030,2010250030
+2010250031,2010250031
+2010250032,2010250032
+2010250033,2010250033
+2010250034,060954
+2010250035,2010250035
+2010250036,2010250036
+2010250037,2010250037
+2010250038,2010250038
+2010250039,2010250039
+2010250040,2010250040
+2010250041,2010250041
+2010250042,2010250042
+2010250043,2010250043
+2010250044,2010250044
+2010250045,2010250045
+2010250046,2010250046
+2010250047,2010250047
+2010250048,2010250048
+2010250049,2010250049
+2010250050,2010250050
+2010250051,060284
+2010250052,2010250052
+2010250053,063029
+2010250054,2010250054
+2010250055,060263
+2010250056,2010250056
+2010250057,2010250057
+2010250058,060415
+2010250059,2010250059
+2010250060,061930
+2010250061,060325
+2010250062,060582
+2010250063,2010250063
+2010250064,061896
+2010250065,060165
+2010250066,2010250066
+2010250067,2010250067
+2010250068,2010250068
+2010250069,2010250069
+2010250070,2010250070
+2010250071,2010250071
+2010250072,2010250072
+2010250073,2010250073
+2010250074,2010250074
+2010250075,2010250075
+2010250076,2010250076
+2010250077,2010250077
+2010250078,2010250078
+2010250079,2010250079
+2010250080,2010250080
+2010250081,2010250081
+2010250082,2010250082
+2010250083,2010250083
+2010250084,2010250084
+2010250085,2010250085
+2010250086,2010250086
+2010250087,040236
+2010250088,2010250088
+2010250089,2010250089
+2010250090,2010250090
+2010250091,2010250091
+2010250092,2010250092
+2010250093,2010250093
+2010250094,2010250094
+2010250095,2010250095
+2010250096,2010250096
+2010250097,2010250097
+2010250098,2010250098
+2010250099,2010250099
+2010250100,2010250100
+2010250101,2010250101
+2010250102,2010250102
+2010250103,2010250103
+2010250104,060282
+2010250105,062536
+2010250106,060278
+2010250107,060264
+2010250108,2010250108
+2010250109,2010250109
+2010250110,062306
+2010250111,062279
+2010250112,2010250112
+2010250113,062147
+2010250114,062394
+2010250115,062374
+2010250116,2010250116
+2010250117,2010250117
+2010250118,2010250118
+2010250119,2010250119
+2010250120,062488
+2010250121,2010250121
+2010250122,2010250122
+2010250123,2010250123
+2010250124,2010250124
+2010250125,2010250125
+2010250126,2010250126
+2010250127,2010250127
+2010250128,2010250128
+2010250129,2010250129
+2010250130,2010250130
+2010250131,060486
+2010250132,2010250132
+2010250133,2010250133
+2010250134,2010250134
+2010250135,2010250135
+2010250136,2010250136
+2010250137,2010250137
+2010250138,2010250138
+2010250139,2010250139
+2010250140,2010250140
+2010250141,2010250141
+2010250142,2010250142
+2010250143,2010250143
+2010250144,2010250144
+2010250145,2010250145
+2010250146,2010250146
+2010250147,2010250147
+2010250148,060598
+2010250149,061510
+2010250150,2010250150
+2010250151,2010250151
+2010250152,2010250152
+2010250153,2010250153
+2010250154,2010250154
+2010260181,060327
+2010260182,2010260182
+2010260183,060296
+2010260184,2010260184
+2010260185,2010260185
+2010260186,2010260186
+2010260187,2010260187
+2010260188,2010260188
+2010260189,2010260189
+2010260190,2010260190
+2010260191,2010260191
+2010260192,050259
+2010260193,2010260193
+2010260194,060146
+2010260195,062085
+2010260196,2010260196
+2010260197,060308
+2010260325,061996
+2010260326,2010260326
+2010260327,2010260327
+2010260328,2010260328
+2010260329,2010260329
+2010260330,061196
+2010260331,060512
+2010260465,2010260465
+2010260466,040736
+2010260467,061750
+2010260468,060689
+2010260469,060654
+2010260470,062716
+2010260471,2010260471
+2010260472,2010260472
+2010260473,2010260473
+2010260474,2010260474
+2010260475,060620
+2010260476,2010260476
+2010260477,2010260477
+2010260478,060747
+2010260479,060768
+2010260656,2010260656
+2010260657,2010260657
+2010260658,2010260658
+2010260659,2010260659
+2010260660,060840
+2010260661,060833
+2010260662,2010260662
+2010260663,060868
+2010260664,2010260664
+2010260665,2010260665
+2010260666,2010260666
+2010260667,2010260667
+2010260668,2010260668
+2010260669,2010260669
+2010260670,060810
+2010260671,060864
+2010260672,2010260672
+2010260673,2010260673
+2010260674,2010260674
+2010260675,2010260675
+2010260676,2010260676
+2010260677,2010260677
+2010260678,060973
+2010260679,2019010306
+2010260680,2010260680
+2010260681,2010260681
+2010260682,2010260682
+2010260683,2010260683
+2010260906,2010260906
+2010260907,2010260907
+2010260908,2010260908
+2010260909,2010260909
+2010260910,2010260910
+2010260911,2010260911
+2010260912,2010260912
+2010260913,2010260913
+2010260914,2010260914
+2010260915,2010260915
+2010260916,2010260916
+2010260917,2010260917
+2010260918,2010260918
+2010260919,2010260919
+2010260920,061188
+2010260921,2010260921
+2010260922,2010260922
+2010260923,2010260923
+2010260924,2010260924
+2010260925,2010260925
+2010260926,2010260926
+2010260927,061022
+2010260928,2010260928
+2010260929,2010260929
+2010260930,2010260930
+2010260931,060891
+2010260932,2010260932
+2010260933,061156
+2010260934,2010260934
+2010260935,2010260935
+2010260936,2010260936
+2010260937,041119
+2010260938,2010260938
+2010260939,2010260939
+2010260940,061078
+2010260941,061073
+2010260942,2010260942
+2010260943,062595
+2010260944,2010260944
+2010260945,2010260945
+2010260946,2010260946
+2010260986,2010260986
+2010260987,062544
+2010260988,2010260988
+2010260989,2010260989
+2010260990,2010260990
+2010260991,2010260991
+2010261087,2010261087
+2010261088,2010261088
+2010261089,2010261089
+2010261090,2010261090
+2010261091,041690
+2010261268,061844
+2010261269,2010261269
+2010261270,061857
+2010261271,061700
+2010261272,061898
+2010261273,042071
+2010261274,2010261274
+2010261275,061850
+2010261276,061762
+2010261277,062648
+2010261278,2010261278
+2010261279,2010261279
+2010261280,061820
+2010261281,2010261281
+2010261282,2010261282
+2010261283,2010261283
+2010261284,061842
+2010261285,051855
+2010261286,061858
+2010261287,061723
+2010261288,061754
+2010261289,2010261289
+2010261290,2010261290
+2010261291,2010261291
+2010261292,2010261292
+2010261293,2010261293
+2010261294,2010261294
+2010261295,2010261295
+2010261296,061916
+2010261531,2010261531
+2010261532,2010261532
+2010261533,2010261533
+2010261534,2010261534
+2010261535,2010261535
+2010261536,2010261536
+2010261537,2010261537
+2010261538,2010261538
+2010261539,2010261539
+2010261540,2010261540
+2010261541,062120
+2010261542,062189
+2010261543,062033
+2010261544,2010261544
+2010261545,062299
+2010261546,062052
+2010261547,062638
+2010261548,062207
+2010261549,2010261549
+2010261550,2010261550
+2010261551,062200
+2010261552,062014
+2010261553,062193
+2010261554,2010261554
+2010261555,2010261555
+2010261700,2010261700
+2010261701,2010261701
+2010261702,2010261702
+2010261703,2010261703
+2010261704,2010261704
+2010261705,2010261705
+2010261706,062426
+2010261707,2010261707
+2010261708,2010261708
+2010261709,062509
+2010261710,2010261710
+2010261711,2010261711
+2010261712,063285
+2010261713,2010261713
+2010261714,2010261714
+2010261715,2010261715
+2010261716,062470
+2010261717,2010261717
+2010261718,062336
+2010261719,2010261719
+2010261720,2010261720
+2010261885,062685
+2010261886,062671
+2010261887,062844
+2010261888,062828
+2010261889,062863
+2010261890,2010261890
+2010261891,2010261891
+2010261892,2010261892
+2010261893,062798
+2010261894,2010261894
+2010261949,2010261949
+2010261950,2010261950
+2010261951,2010261951
+2010261952,2010261952
+2010261953,2009210293
+2010261954,2010261954
+2010261955,2010261955
+2010261956,2010261956
+2010261957,2010261957
+2010261958,2010261958
+2010261959,2010261959
+2010261960,2010261960
+2010261961,2010261961
+2010261962,2010261962
+2010261963,2010261963
+2010261964,2010261964
+2010261965,2010261965
+2010261966,2010261966
+2010261967,2010261967
+2010261968,2010261968
+2010261969,2010261969
+2010261970,2010261970
+2010261971,2010261971
+2010261972,2010261972
+2010261973,2010261973
+2010261974,2010261974
+2010261975,2010261975
+2010261976,2010261976
+2010261977,2010261977
+2010261978,2010261978
+2010261979,2009210316
+2010261980,2010261980
+2010261981,2010261981
+2010261982,2010261982
+2010261983,2010261983
+2010261984,2010261984
+2010261985,2010261985
+2010261986,2010261986
+2010261987,2010261987
+2010261988,2010261988
+2010261989,2010261989
+2010261990,2010261990
+2010261991,2010261991
+2010261992,2010261992
+2010261993,2010261993
+2010261994,2010261994
+2010261995,2010261995
+2010261996,2010261996
+2010261997,2010261997
+2010261998,2010261998
+2010261999,2010261999
+2010262000,2010262000
+2010262001,2010262001
+2010262002,2010262002
+2010262003,2010262003
+2010262004,2010262004
+2010262005,2010262005
+2010262006,2010262006
+2010262007,2010262007
+2010262008,2010262008
+2010262009,2010262009
+2010262010,2010262010
+2010262011,2010262011
+2010262012,2010262012
+2010262013,2010262013
+2010262014,2010262014
+2010262015,2010262015
+2010262016,2010262016
+2010262017,2010262017
+2010262018,2010262018
+2010262019,2010262019
+2010262020,2010262020
+2010262021,2010262021
+2010262022,2010262022
+2010262023,2010262023
+2010262024,2010262024
+2010262025,2010262025
+2010262026,2010262026
+2010262027,2010262027
+2010262028,2010262028
+2010262029,2010262029
+2010262030,2010262030
+2010262031,2010262031
+2010262032,2010262032
+2010262033,2010262033
+2010262034,2010262034
+2010262035,2010262035
+2010262036,2010262036
+2010262037,2010262037
+2010262038,2010262038
+2010262039,2010262039
+2010262040,2010262040
+2010262041,2010262041
+2010262042,2010262042
+2010262043,2010262043
+2010262044,2010262044
+2010262045,2010262045
+2010262046,2010262046
+2010262047,2009210315
+2010262048,2010262048
+2010262049,2010262049
+2010262050,2010262050
+2010262051,2010262051
+2010262052,2010262052
+2010262053,2010262053
+2010262054,2010262054
+2010262055,2010262055
+2010262056,2010262056
+2010262057,2010262057
+2010262058,2010262058
+2010262059,2010262059
+2010262060,2009270067
+2010262061,2010262061
+2010262062,2010262062
+2010262063,2010262063
+2010262064,2010262064
+2010262065,2010262065
+2010262066,2010262066
+2010262067,2010262067
+2010262068,2010262068
+2010262069,2010262069
+2010262070,2010262070
+2010262071,2010262071
+2010262072,2010262072
+2010262073,2010262073
+2010262074,2010262074
+2010262075,2010262075
+2010262076,2010262076
+2010262077,2010262077
+2010262078,2010262078
+2010262079,2010262079
+2010262080,2010262080
+2010262081,2010262081
+2010262082,2010262082
+2010262083,2010262083
+2010262084,2010262084
+2010262085,2010262085
+2010262086,2010262086
+2010262087,2010262087
+2010262088,2010262088
+2010262089,2010262089
+2010262090,2010262090
+2010262091,2010262091
+2010262092,2010262092
+2010262093,2010262093
+2010262094,2010262094
+2010262095,2010262095
+2010262096,2010262096
+2010262097,2010262097
+2010262098,2010262098
+2010262099,2010262099
+2010262100,2010262100
+2010262101,2009210311
+2010262102,2010262102
+2010262103,2010262103
+2010262104,2010262104
+2010262105,2010262105
+2010262106,2010262106
+2010262107,2010262107
+2010262108,2010262108
+2010262109,2010262109
+2010262110,2010262110
+2010262111,2010262111
+2010262112,2010262112
+2010262113,2010262113
+2010262114,2010262114
+2010262115,2010262115
+2010262116,2010262116
+2010262117,2010262117
+2010262118,2010262118
+2010262119,2010262119
+2010262120,2010262120
+2010262121,2010262121
+2010262122,2010262122
+2010262123,2010262123
+2010262124,2010262124
+2010262125,2010262125
+2010262126,2010262126
+2010262127,2010262127
+2010262128,2010262128
+2010262129,2009210287
+2010262130,2010262130
+2010262131,2010262131
+2010262132,2010262132
+2010262217,2010262217
+2010262218,2010262218
+2010262219,2010262219
+2010262220,2010262220
+2010262221,2010262221
+2010262222,2010262222
+2010262223,2010262223
+2010262224,2010262224
+2010262225,2010262225
+2010262226,2010262226
+2010262227,2010262227
+2010262228,2010262228
+2010262229,2010262229
+2010262230,2010262230
+2010262231,2010262231
+2010262232,2009210352
+2010262233,2010262233
+2010262234,2010262234
+2010262235,2010262235
+2010262236,2010262236
+2010262237,2010262237
+2010262238,2010262238
+2010262239,2010262239
+2010262240,2010262240
+2010262241,2010262241
+2010262242,2010262242
+2010262243,2010262243
+2010262244,2010262244
+2010262245,2010262245
+2010262246,2010262246
+2010262247,2010262247
+2010262248,2010262248
+2010262249,043919
+2010262250,053641
+2010262251,2010262251
+2010262252,063319
+2010262253,2010262253
+2010262254,2010262254
+2010262255,063244
+2010262256,062484
+2010262257,062582
+2010262258,063389
+2010262259,063482
+2010262260,2010262260
+2010262261,063329
+2010262262,063416
+2010262263,063409
+2010262264,063394
+2010262265,2008210523
+2010262266,2010262266
+2010262267,2010262267
+2010262268,2010262268
+2010262269,2010262269
+2010262270,062567
+2010262271,063446
+2010262272,2010262272
+2010262273,2010262273
+2010262274,2010262274
+2010262275,2010262275
+2010262276,2010262276
+2010262277,063397
+2010262278,2010262278
+2010262279,2010262279
+2010262280,2010262280
+2010262281,2010262281
+2010262282,062467
+2010262283,2010262283
+2010262284,063521
+2010262285,2010262285
+2010262286,061932
+2010262287,063421
+2010262288,063466
+2010262289,063506
+2010262290,063226
+2010262291,063352
+2010262292,063235
+2010262293,2010262293
+2010262294,2010262294
+2010262295,2010262295
+2010262296,063264
+2010262297,2010262297
+2010262298,2010262298
+2010262299,063406
+2010262300,063433
+2010262301,062475
+2010262302,2010262302
+2010262303,062486
+2010262304,063256
+2010262305,063308
+2010262306,2010262306
+2010262307,2010262307
+2010262308,2010262308
+2010262309,2010262309
+2010262310,062387
+2010262311,063281
+2010262312,2010262312
+2010262313,063485
+2010262314,063497
+2010262315,053751
+2010262316,063265
+2010262317,063241
+2010262318,2010262318
+2010262319,063403
+2010262320,2008210547
+2010262321,2010262321
+2010262322,2010262322
+2010262323,2010262323
+2010262324,063298
+2010262325,063335
+2010262326,2010262326
+2010262327,052663
+2010262328,063250
+2010262329,051677
+2010270001,2010270001
+2010270002,2010270002
+2010270003,2010270003
+2010270004,2010210611
+2010270005,2010270005
+2010270006,2010270006
+2010270007,2010270007
+2010270008,2010210616
+2010270009,2010270009
+2010270010,2010210612
+2010270011,2010210613
+2010270012,2010210615
+2010270013,2010270013
+2010270014,2010270014
+2010270015,2010270015
+2010270016,2010270016
+2010270017,2010270017
+2010270018,2010210579
+2010270019,2010210580
+2010270020,2010270020
+2010270021,2010270021
+2010270022,2010270022
+2010270023,2010270023
+2010270024,2010270024
+2010270025,2010270025
+2010270026,2010270026
+2010270027,2010270027
+2010270028,2010270028
+2010270029,2010270029
+2010270030,2010270030
+2010270031,2010270031
+2010270032,2010270032
+2010270033,2010270033
+2010270034,2010270034
+2010270035,2010270035
+2010270036,2010270036
+2010270037,2010270037
+2010270038,2010270038
+2010270039,2010270039
+2010270040,2010270040
+2010270041,2010270041
+2010270042,2010270042
+2010270043,2010270043
+2010270044,2010270044
+2010270045,2010270045
+2010270046,2010270046
+2010270047,2010270047
+2010270048,2010270048
+2010270049,2010270049
+2010270050,2010270050
+2010270051,2010270051
+2010270052,2010270052
+2010270053,2010270053
+2010270054,2010270054
+2010270055,2010270055
+2010270056,2010270056
+2010270057,2010270057
+2010270058,2010270058
+2010270059,2010270059
+2010270060,2010210141
+2010270061,2010270061
+2010270080,2010270080
+2010270081,2010270081
+2010270082,2010270082
+2010270096,2010270096
+2010270097,2010270097
+2010270098,2010270098
+2010270099,2010270099
+2010270132,2010270132
+2010300001,2010300001
+2010300002,2010300002
+2010300003,2010300003
+2010300004,2010300004
+2010300005,2010300005
+2010300006,2010300006
+2010300007,2010300007
+2010300008,2010300008
+2010300009,2010300009
+2010300010,2010300010
+2010300011,2010300011
+2010300012,2010300012
+2010300013,2010300013
+2010300014,2010300014
+2010300015,2010300015
+2010300016,2010300016
+2010300017,2010300017
+2010300018,2010300018
+2010300019,2010300019
+2010300020,2010300020
+2010300021,2010300021
+2010300022,2010300022
+2010300023,2010300023
+2010300024,2010300024
+2010300025,2010300025
+2010300026,2010300026
+2010300027,2010300027
+2010300028,2010300028
+2010300029,2010300029
+2010300030,2010300030
+2010300031,2010300031
+2010300032,2010300032
+2010300033,2010300033
+2010300034,2010300034
+2010300035,2010300035
+2010300036,2010300036
+2010300037,2010300037
+2010300038,2010300038
+2010300039,2010300039
+2010300040,2010300040
+2010300041,2010300041
+2010300042,2010300042
+2010300043,2010300043
+2010300044,2010300044
+2010300045,2010300045
+2010300046,2010300046
+2010300047,2010300047
+2010300048,2010300048
+2010300049,2010300049
+2010300050,2010300050
+2010300051,2010300051
+2010300052,2010300052
+2010300053,2010300053
+2010300054,2010300054
+2010300055,2010300055
+2010300056,2010300056
+2010300057,2010300057
+2010300058,2010300058
+2010300059,2010300059
+2010300060,2010300060
+2010300061,2010300061
+2010300062,2010300062
+2010300063,2010300063
+2010300064,2010300064
+2010300065,2010300065
+2010300066,2010300066
+2010300067,2010300067
+2010300068,2010300068
+2010300069,2010300069
+2010300070,2010300070
+2010300071,2010300071
+2010300072,2010300072
+2010300073,2010300073
+2010300074,2010300074
+2010300075,2010300075
+2010300076,2010300076
+2010300077,2010300077
+2010300078,2010300078
+2010300079,2010300079
+2010300080,2010300080
+2010300081,2010300081
+2010300082,2010300082
+2010300083,2010300083
+2010300084,2010300084
+2010300085,2010300085
+2010300086,2010300086
+2010300087,2010300087
+2010300088,2010300088
+2010300089,2010300089
+2010300090,2010300090
+2010300091,2010300091
+2010300092,2010300092
+2010300093,2010300093
+2010300094,2010300094
+2010300095,2010300095
+2010300096,2010300096
+2010300097,2010300097
+2010300098,2010300098
+2010300099,2010300099
+2010300100,2010300100
+2010300101,2010300101
+2010300102,2010300102
+2010300103,2010300103
+2010300104,2010300104
+2010300105,2010300105
+2010300106,2010300106
+2010300107,2010300107
+2010300108,2010300108
+2010300109,2010300109
+2010300110,2010300110
+2010300111,2010300111
+2010300112,2010300112
+2010300113,2010300113
+2010300114,2010300114
+2010300115,2010300115
+2010300116,2010300116
+2010300117,2010300117
+2010300118,2010300118
+2010300119,2010300119
+2010300120,2010300120
+2010300121,2010300121
+2010300122,2010300122
+2010300123,2010300123
+2010300124,2010300124
+2010300125,2010300125
+2010300126,2010300126
+2010300127,2010300127
+2010300128,2010300128
+2010300129,2010300129
+2010300130,2010300130
+2010300131,2010300131
+2010300132,2010300132
+2010300133,2010300133
+2010300134,2010300134
+2010300135,2010300135
+2010300136,2010300136
+2010300137,2010300137
+2010300138,2010300138
+2010300139,2010300139
+2010300140,2010300140
+2010300141,2010300141
+2010300142,2010300142
+2010300143,2010300143
+2010300144,2010300144
+2010300145,2010300145
+2010300146,2010300146
+2010300147,2010300147
+2010300148,2010300148
+2010300149,2010300149
+2010300150,2010300150
+2010300151,2010300151
+2010300152,2010300152
+2010300153,2010300153
+2010300154,2010300154
+2010300155,2010300155
+2010300156,2010300156
+2010300157,2010300157
+2010300158,2010300158
+2010300159,2010300159
+2010300160,2010300160
+2010300161,2010300161
+2010300162,2010300162
+2010300163,2010300163
+2010300164,2010300164
+2010300165,2010300165
+2010300166,2010300166
+2010300167,2010300167
+2010300168,2010300168
+2010300169,2010300169
+2010300170,2010300170
+2010300171,2010300171
+2010300172,2010300172
+2010300173,2010300173
+2010300174,2010300174
+2010300175,2010300175
+2010300176,2010300176
+2010300177,2010300177
+2010300178,2010300178
+2010300179,2010300179
+2010300180,2010300180
+2010300181,2010300181
+2010300182,2010300182
+2010300183,2010300183
+2010300184,2010300184
+2010300185,2010300185
+2010300186,2010300186
+2010300187,2010300187
+2010300188,2010300188
+2010300189,2010300189
+2010300190,2010300190
+2010300191,2010300191
+2010300192,2010300192
+2010300193,2010300193
+2010300194,2010300194
+2010300195,2010300195
+2010300196,2010300196
+2010300197,2010300197
+2010300198,2010300198
+2010300199,2010300199
+2010300200,2010300200
+2010300201,2010300201
+2010300202,2010300202
+2010300203,2010300203
+2010300204,2010300204
+2010300205,2010300205
+2010300206,2010300206
+2010300207,2010300207
+2010300208,2010300208
+2010300209,2010300209
+2010300210,2010300210
+2010300211,2010300211
+2010300212,2010300212
+2010300213,2010300213
+2010300214,2010300214
+2010300215,2010300215
+2010300216,2010300216
+2010300217,2010300217
+2010300218,2010300218
+2010300219,2010300219
+2010300220,2010300220
+2010300221,2010300221
+2010300222,2010300222
+2010300223,2010300223
+2010300224,2010300224
+2010300225,2010300225
+2010300226,2010300226
+2010300227,2010300227
+2010300228,2010300228
+2010300229,2010300229
+2010300230,2010300230
+2010300231,2010300231
+2010300232,2010300232
+2010300233,2010300233
+2010300234,2010300234
+2010300235,2010300235
+2010300236,2010300236
+2010300237,2010300237
+2010300238,2010300238
+2010300239,2010300239
+2010300240,2010300240
+2010300241,2010300241
+2010300242,2010300242
+2010300243,2010300243
+2010300244,2010300244
+2010300245,2010300245
+2010300246,2010300246
+2010300247,2010300247
+2010300248,2010300248
+2010300249,2010300249
+2010300250,2010300250
+2010300251,2010300251
+2010300252,2010300252
+2010300253,2010300253
+2010300254,2010300254
+2010300255,2010300255
+2010300256,2010300256
+2010300257,2010300257
+2010300258,2010300258
+2010300259,2010300259
+2010300260,2010300260
+2010300261,2010300261
+2010300262,2010300262
+2010300263,2010300263
+2010300264,2010300264
+2010300265,2010300265
+2010300266,2010300266
+2010300267,2010300267
+2010300268,2010300268
+2010300269,2010300269
+2010300270,2010300270
+2010300271,2010300271
+2010300272,2010300272
+2010300273,2010300273
+2010300274,2010300274
+2010300275,2010300275
+2010300276,2010300276
+2010300277,2010300277
+2010300278,2010300278
+2010300279,2010300279
+2010300280,2010300280
+2010300281,2010300281
+2010300282,2010300282
+2010300283,2010300283
+2010300284,2010300284
+2010300285,2010300285
+2010300286,2010300286
+2010300287,2010300287
+2010300288,2010300288
+2010300289,2010300289
+2010300290,2010300290
+2010300291,2010300291
+2010300292,2010300292
+2010300293,2010300293
+2010300294,2010300294
+2010300295,2010300295
+2010300296,2010300296
+2010300297,2010300297
+2010300298,2010300298
+2010300299,2010300299
+2010300300,2010300300
+2010300301,2010300301
+2010300302,2010300302
+2010300303,2010300303
+2010300304,2010300304
+2010300305,2010300305
+2010300306,2010300306
+2010300307,2010300307
+2010300308,2010300308
+2010300309,2010300309
+2010300310,2010300310
+2010300311,2010300311
+2010300312,2010300312
+2010300313,2010300313
+2010300314,2010300314
+2010300315,2010300315
+2010300316,2010300316
+2010300317,2010300317
+2010300318,2010300318
+2010300319,2010300319
+2010300320,2010300320
+2010300321,2010300321
+2010300322,2010300322
+2010300323,2010300323
+2010300324,2010300324
+2010300325,2010300325
+2010300326,2010300326
+2010300327,2010300327
+2010300328,2010300328
+2010300329,2010300329
+2010300330,2010300330
+2010300331,2010300331
+2010300332,2010300332
+2010300333,2010300333
+2010300334,2010300334
+2010300335,2010300335
+2010300336,2010300336
+2010300337,2010300337
+2010300338,2010300338
+2010300339,2010300339
+2010300340,2010300340
+2010300341,2010300341
+2010300342,2010300342
+2010300343,2010300343
+2010300344,2010300344
+2010300345,2010300345
+2010300346,2010300346
+2010300347,2010300347
+2010300348,2010300348
+2010300349,2010300349
+2010300350,2010300350
+2010300351,2010300351
+2010300352,2010300352
+2010300353,2010300353
+2010300354,2010300354
+2010300355,2010300355
+2010300356,2010300356
+2010300357,2010300357
+2010300358,2010300358
+2010300359,2010300359
+2010300360,2010300360
+2010300361,2010300361
+2010300362,2010300362
+2010300363,2010300363
+2010300365,2010300365
+2010300366,2010300366
+2010300367,2010300367
+2010300368,2010300368
+2010300369,2010300369
+2010300370,2010300370
+2010300371,2010300371
+2010300372,2010300372
+2010300373,2010300373
+2010300374,2010300374
+2010300375,2010300375
+2010300376,2010300376
+2010300377,2010300377
+2010300378,2010300378
+2010300379,2010300379
+2010300380,2010300380
+2010300381,2010300381
+2010300382,2010300382
+2010300383,2010300383
+2010300384,2010300384
+2010300385,2010300385
+2010300386,2010300386
+2010300387,2010300387
+2010300388,2010300388
+2010300389,2010300389
+2010300390,2010300390
+2010300391,2010300391
+2010300392,2010300392
+2010300393,2010300393
+2010300394,2010300394
+2010300395,2010300395
+2010300396,2010300396
+2010300397,2010300397
+2010300398,2010300398
+2010300399,2010300399
+2010300400,2010300400
+2010300401,2010300401
+2010300402,2010300402
+2010300403,2010300403
+2010300404,2010300404
+2010300405,2010300405
+2010300406,2010300406
+2010300407,2010300407
+2010300408,2010300408
+2010300409,2010300409
+2010300410,2010300410
+2010300411,2010300411
+2010300412,2010300412
+2010300413,2010300413
+2010300414,2010300414
+2010300415,2010300415
+2010300416,2010300416
+2010300417,2010300417
+2010300418,2010300418
+2010300419,2010300419
+2010300420,2010300420
+2010300421,2010300421
+2010300422,2010300422
+2010300423,2010300423
+2010300424,2010300424
+2010300425,2010300425
+2010300426,2010300426
+2010300427,2010300427
+2010300428,2010300428
+2010300429,2010300429
+2010300430,2010300430
+2010300431,2010300431
+2010300432,2010300432
+2010300433,2010300433
+2010300434,2010300434
+2010300435,2010300435
+2010300436,2010300436
+2010300437,2010300437
+2010300438,2010300438
+2010300439,2010300439
+2010300440,2010300440
+2010300441,2010300441
+2010300442,2010300442
+2010300443,2010300443
+2010300444,2010300444
+2010300445,2010300445
+2010300446,2010300446
+2010300447,2010300447
+2010300448,2010300448
+2010300449,2010300449
+2010300450,2010300450
+2010300451,2010300451
+2010300452,2010300452
+2010300453,2010300453
+2010300454,2010300454
+2010300455,2010300455
+2010300456,2010300456
+2010300457,2010300457
+2010300458,2010300458
+2010300459,2010300459
+2010300460,2010300460
+2010300461,2010300461
+2010300462,2010300462
+2010300463,2010300463
+2010300464,2010300464
+2010300465,2010300465
+2010300466,2010300466
+2010300467,2010300467
+2010300468,2010300468
+2010300469,2010300469
+2010300470,2010300470
+2010300471,2010300471
+2010300472,2010300472
+2010300473,2010300473
+2010300474,2010300474
+2010300475,2010300475
+2010300476,2010300476
+2010300477,2010300477
+2010300478,2010300478
+2010300479,2010300479
+2010300480,2010300480
+2010300481,2010300481
+2010300482,2010300482
+2010300483,2010300483
+2010300484,2010300484
+2010300485,2010300485
+2010300486,2010300486
+2010300487,2010300487
+2010300488,2010300488
+2010300489,2010300489
+2010300490,2010300490
+2010300491,2010300491
+2010300492,2010300492
+2010300493,2010300493
+2010300494,2010300494
+2010300495,2010300495
+2010300496,2010300496
+2010300497,2010300497
+2010300498,2010300498
+2010300499,2010300499
+2010300500,2010300500
+2010300501,2010300501
+2010300502,2010300502
+2010300503,2010300503
+2010300504,2010300504
+2010300505,2010300505
+2010300506,2010300506
+2010300507,2010300507
+2010300508,2010300508
+2010300509,2010300509
+2010300510,2010300510
+2010300511,2010300511
+2010300512,2010300512
+2010300513,2010300513
+2010300514,2010300514
+2010300515,2010300515
+2010300516,2010300516
+2010300517,2010300517
+2010300518,2010300518
+2010300519,2010300519
+2010300520,2010300520
+2010300521,2010300521
+2010300522,2010300522
+2010300523,2010300523
+2010300524,2010300524
+2010300525,2010300525
+2010300526,2010300526
+2010300527,2010300527
+2010300528,2010300528
+2010300529,2010300529
+2010300530,2010300530
+2010300531,2010300531
+2010300532,2010300532
+2010300533,2010300533
+2010300534,2010300534
+2010300535,2010300535
+2010300536,2010300536
+2010300537,2010300537
+2010300538,2010300538
+2010300539,2010300539
+2010300540,2010300540
+2010300541,2010300541
+2010300542,2010300542
+2010300543,2010300543
+2010300544,2010300544
+2010300545,2010300545
+2010300546,2010300546
+2010300547,2010300547
+2010300548,2010300548
+2010300549,2010300549
+2010300550,2010300550
+2010300551,2010300551
+2010300552,2010300552
+2010300553,2010300553
+2010300554,2010300554
+2010300555,2010300555
+2010300556,2010300556
+2010300557,2010300557
+2010300558,2010300558
+2010300559,2010300559
+2010300560,2010300560
+2010300561,2010300561
+2010300562,2010300562
+2010300563,2010300563
+2010300564,2010300564
+2010300565,2010300565
+2010300566,2010300566
+2010300567,2010300567
+2010300568,2010300568
+2010300569,2010300569
+2010300570,2010300570
+2010300571,2010300571
+2010300572,2010300572
+2010300573,2010300573
+2010300574,2010300574
+2010300575,2010300575
+2010300576,2010300576
+2010300577,2010300577
+2010300578,2010300578
+2010300579,2010300579
+2010300580,2010300580
+2010300581,2010300581
+2010300582,2010300582
+2010300583,2010300583
+2010300584,2010300584
+2010300585,2010300585
+2010300586,2010300586
+2010300587,2010300587
+2010300588,2010300588
+2010300589,2010300589
+2010300590,2010300590
+2010300591,2010300591
+2010300592,2010300592
+2010300593,2010300593
+2010300594,2010300594
+2010300595,2010300595
+2010300596,2010300596
+2010300597,2010300597
+2010300598,2010300598
+2010300599,2010300599
+2010300600,2010300600
+2010300601,2010300601
+2010300602,2010300602
+2010300603,2010300603
+2010300604,2010300604
+2010300605,2010300605
+2010300606,2010300606
+2010300607,2010300607
+2010300608,2010300608
+2010300609,2010300609
+2010300610,2010300610
+2010300611,2010300611
+2010300612,2010300612
+2010300613,2010300613
+2010300614,2010300614
+2010300615,2010300615
+2010300616,2010300616
+2010300617,2010300617
+2010300618,2010300618
+2010300619,2010300619
+2010300620,2010300620
+2010300621,2010300621
+2010300622,2010300622
+2010300623,2010300623
+2010300624,2010300624
+2010300625,2010300625
+2010300626,2010300626
+2010300627,2010300627
+2010300628,2010300628
+2010300629,2010300629
+2010300630,2010300630
+2010300631,2010300631
+2010300632,2010300632
+2010300633,2010300633
+2010300634,2010300634
+2010300635,2010300635
+2010300636,2010300636
+2010300637,2010300637
+2010300638,2010300638
+2010300639,2010300639
+2010300640,2010300640
+2010300641,2010300641
+2010300642,2010300642
+2010300643,2010300643
+2010300644,2010300644
+2010300645,2010300645
+2010300646,2010300646
+2010300647,2010300647
+2010300648,2010300648
+2010300649,2010300649
+2010300650,2010300650
+2010300651,2010300651
+2010300652,2010300652
+2010300653,2010300653
+2010300654,2010300654
+2010300655,2010300655
+2010300656,2010300656
+2010300657,2010300657
+2010300658,2010300658
+2010300659,2010300659
+2010300660,2010300660
+2010300661,2010300661
+2010300662,2010300662
+2010300663,2010300663
+2010300664,2010300664
+2010300665,2010300665
+2010300666,2010300666
+2010300667,2010300667
+2010300668,2010300668
+2010300669,2010300669
+2010300670,2010300670
+2010300671,2010300671
+2010300672,2010300672
+2010300673,2010300673
+2010300674,2010300674
+2010300675,2010300675
+2010300676,2010300676
+2010300677,2010300677
+2010300678,2010300678
+2010300679,2010300679
+2010300680,2010300680
+2010300681,2010300681
+2010300682,2010300682
+2010300683,2010300683
+2010300684,2010300684
+2010300685,2010300685
+2010300686,2010300686
+2010300687,2010300687
+2010300688,2010300688
+2010300689,2010300689
+2010300690,2010300690
+2010300691,2010300691
+2010300692,2010300692
+2010300693,2010300693
+2010300694,2010300694
+2010300695,2010300695
+2010300696,2010300696
+2010300697,2010300697
+2010300698,2010300698
+2010300699,2010300699
+2010300700,2010300700
+2010300701,2010300701
+2010300702,2010300702
+2010300703,2010300703
+2010300704,2010300704
+2010300705,2010300705
+2010300706,2010300706
+2010300707,2010300707
+2010300708,2010300708
+2010300709,2010300709
+2010300710,2010300710
+2010300711,2010300711
+2010300712,2010300712
+2010300713,2010300713
+2010300714,2010300714
+2010300715,2010300715
+2010300716,2010300716
+2010300717,2010300717
+2010300718,2010300718
+2010300719,2010300719
+2010300720,2010300720
+2010300721,2010300721
+2010300722,2010300722
+2010300723,2010300723
+2010300724,2010300724
+2010300725,2010300725
+2010300726,2010300726
+2010300727,2010300727
+2010300728,2010300728
+2010300729,2010300729
+2010300730,2010300730
+2010300731,2010300731
+2010300732,2010300732
+2010300733,2010300733
+2010300734,2010300734
+2010300735,2010300735
+2010300736,2010300736
+2010300737,2010300737
+2010300738,2010300738
+2010300739,2010300739
+2010300740,2010300740
+2010300741,2010300741
+2010300742,2010300742
+2010300743,2010300743
+2010300744,2010300744
+2010300745,2010300745
+2010300746,2010300746
+2010300747,2010300747
+2010300748,2010300748
+2010300749,2010300749
+2010300750,2010300750
+2010300751,2010300751
+2010300752,2010300752
+2010300753,2010300753
+2010300754,2010300754
+2010300755,2010300755
+2010300756,2010300756
+2010300757,2010300757
+2010300758,2010300758
+2010300759,2010300759
+2010300760,2010300760
+2010300761,2010300761
+2010300762,2010300762
+2010300763,2010300763
+2010300764,2010300764
+2010300765,2010300765
+2010300766,2010300766
+2010300767,2010300767
+2010300768,2010300768
+2010300769,2010300769
+2010300770,2010300770
+2010300771,2010300771
+2010300772,2010300772
+2010300773,2010300773
+2010300774,2010300774
+2010300775,2010300775
+2010300776,2010300776
+2010300777,2010300777
+2010300778,2010300778
+2010300779,2010300779
+2010300780,2010300780
+2010300781,2010300781
+2010300782,2010300782
+2010300783,2010300783
+2010300784,2010300784
+2010300785,2010300785
+2010300786,2010300786
+2010300787,2010300787
+2010300788,2010300788
+2010300789,2010300789
+2010300790,2010300790
+2010300791,2010300791
+2010300792,2010300792
+2010300793,2010300793
+2010300794,2010300794
+2010300795,2010300795
+2010300796,2010300796
+2010300797,2010300797
+2010300798,2010300798
+2010300799,2010300799
+2010300800,2010300800
+2010300801,2010300801
+2010300802,2010300802
+2010300803,2010300803
+2010300804,2010300804
+2010300805,2010300805
+2010300806,2010300806
+2010300807,2010300807
+2010300808,2010300808
+2010300809,2010300809
+2010300810,2010300810
+2010300811,2010300811
+2010300812,2010300812
+2010300813,2010300813
+2010300814,2010300814
+2010300815,2010300815
+2010300816,2010300816
+2010300817,2010300817
+2010300818,2010300818
+2010300819,2010300819
+2010300820,2010300820
+2010300821,2010300821
+2010300822,2010300822
+2010300823,2010300823
+2010300824,2010300824
+2010300825,2010300825
+2010300826,2010300826
+2010300827,2010300827
+2010300828,2010300828
+2010300829,2010300829
+2010300830,2010300830
+2010300831,2010300831
+2010300832,2010300832
+2010300833,2010300833
+2010300834,2010300834
+2010300835,2010300835
+2010300836,2010300836
+2010300837,2010300837
+2010300838,2010300838
+2010300839,2010300839
+2010300840,2010300840
+2010300841,2010300841
+2010300842,2010300842
+2010300843,2010300843
+2010300844,2010300844
+2010300845,2010300845
+2010300846,2010300846
+2010300847,2010300847
+2010300848,2010300848
+2010300849,2010300849
+2010300850,2010300850
+2010300851,2010300851
+2010300852,2010300852
+2010300853,2010300853
+2010300854,2010300854
+2010300855,2010300855
+2010300856,2010300856
+2010300857,2010300857
+2010300858,2010300858
+2010300859,2010300859
+2010300860,2010300860
+2010300861,2010300861
+2010300862,2010300862
+2010300863,2010300863
+2010300864,2010300864
+2010300865,2010300865
+2010300866,2010300866
+2010300867,2010300867
+2010300868,2010300868
+2010300869,2010300869
+2010300870,2010300870
+2010300871,2010300871
+2010300872,2010300872
+2010300873,2010300873
+2010300874,2010300874
+2010300875,2010300875
+2010300876,2010300876
+2010300877,2010300877
+2010300878,2010300878
+2010300879,2010300879
+2010300880,2010300880
+2010300881,2010300881
+2010300882,2010300882
+2010300883,2010300883
+2010300884,2010300884
+2010300885,2010300885
+2010300886,2010300886
+2010300887,2010300887
+2010300888,2010300888
+2010300889,2010300889
+2010300890,2010300890
+2010300891,2010300891
+2010300892,2010300892
+2010300893,2010300893
+2010300894,2010300894
+2010300895,2010300895
+2010300896,2010300896
+2010300897,2010300897
+2010300898,2010300898
+2010300899,2010300899
+2010300900,2010300900
+2010300901,2010300901
+2010300902,2010300902
+2010300903,2010300903
+2010300904,2010300904
+2010300905,2010300905
+2010300906,2010300906
+2010300907,2010300907
+2010300908,2010300908
+2010300909,2010300909
+2010300910,2010300910
+2010300911,2010300911
+2010300912,2010300912
+2010300913,2010300913
+2010300914,2010300914
+2010300915,2010300915
+2010300916,2010300916
+2010300917,2010300917
+2010300918,2010300918
+2010300919,2010300919
+2010300920,2010300920
+2010300921,2010300921
+2010300922,2010300922
+2010300923,2010300923
+2010300924,2010300924
+2010300925,2010300925
+2010300926,2010300926
+2010300927,2010300927
+2010300928,2010300928
+2010300929,2010300929
+2010300930,2010300930
+2010300931,2010300931
+2010300932,2010300932
+2010300933,2010300933
+2010300934,2010300934
+2010300935,2010300935
+2010300936,2010300936
+2010300937,2010300937
+2010300938,2010300938
+2010300939,2010300939
+2010300940,2010300940
+2010300941,2010300941
+2010300942,2010300942
+2010300943,2010300943
+2010300944,2010300944
+2010300945,2010300945
+2010300946,2010300946
+2010300947,2010300947
+2010300948,2010300948
+2010300949,2010300949
+2010300950,2010300950
+2010300951,2010300951
+2010300952,2010300952
+2010300953,2010300953
+2010300954,2010300954
+2010300955,2010300955
+2010300956,2010300956
+2010300957,2010300957
+2010300958,2010300958
+2010300959,2010300959
+2010300960,2010300960
+2010300961,2010300961
+2010300962,2010300962
+2010300963,2010300963
+2010300964,2010300964
+2010300965,2010300965
+2010300966,2010300966
+2010300967,2010300967
+2010300968,2010300968
+2010300969,2010300969
+2010300970,2010300970
+2010300971,2010300971
+2010300972,2010300972
+2010300973,2010300973
+2010300974,2010300974
+2010300975,2010300975
+2010300976,2010300976
+2010300977,2010300977
+2010300978,2010300978
+2010300979,2010300979
+2010300980,2010300980
+2010300981,2010300981
+2010300982,2010300982
+2010300983,2010300983
+2010300984,2010300984
+2010300985,2010300985
+2010300986,2010300986
+2010300987,2010300987
+2010300988,2010300988
+2010300989,2010300989
+2010300990,2010300990
+2010300991,2010300991
+2010300992,2010300992
+2010300993,2010300993
+2010300994,2010300994
+2010300995,2010300995
+2010300996,2010300996
+2010300997,2010300997
+2010300998,2010300998
+2010300999,2010300999
+2010301000,2010301000
+2010301001,2010301001
+2010301002,2010301002
+2010301003,2010301003
+2010301004,2010301004
+2010301005,2010301005
+2010301006,2010301006
+2010301007,2010301007
+2010301008,2010301008
+2010301009,2010301009
+2010301010,2010301010
+2010301011,2010301011
+2010301012,2010301012
+2010301013,2010301013
+2010301014,2010301014
+2010301015,2010301015
+2010301016,2010301016
+2010301017,2010301017
+2010301018,2010301018
+2010301019,2010301019
+2010301020,2010301020
+2010301021,2010301021
+2010301022,2010301022
+2010301023,2010301023
+2010301024,2010301024
+2010301025,2010301025
+2010301026,2010301026
+2010301027,2010301027
+2010301028,2010301028
+2010301029,2010301029
+2010301030,2010301030
+2010301031,2010301031
+2010301032,2010301032
+2010301033,2010301033
+2010301034,2010301034
+2010301035,2010301035
+2010301036,2010301036
+2010301037,2010301037
+2010301038,2010301038
+2010301039,2010301039
+2010301040,2010301040
+2010301041,2010301041
+2010301042,2010301042
+2010301043,2010301043
+2010301044,2010301044
+2010301045,2010301045
+2010301046,2010301046
+2010301047,2010301047
+2010301048,2010301048
+2010301049,2010301049
+2010301050,2010301050
+2010301051,2010301051
+2010301052,2010301052
+2010301053,2010301053
+2010301054,2010301054
+2010301055,2010301055
+2010301056,2010301056
+2010301057,2010301057
+2010301058,2010301058
+2010301059,2010301059
+2010301060,2010301060
+2010301061,2010301061
+2010301062,2010301062
+2010301063,2010301063
+2010301064,2010301064
+2010301065,2010301065
+2010301066,2010301066
+2010301067,2010301067
+2010301068,2010301068
+2010301069,2010301069
+2010301070,2010301070
+2010301071,2010301071
+2010301072,2010301072
+2010301073,2010301073
+2010301074,2010301074
+2010301075,2010301075
+2010301076,2010301076
+2010301077,2010301077
+2010301078,2010301078
+2010301079,2010301079
+2010301080,2010301080
+2010301081,2010301081
+2010301082,2010301082
+2010301083,2010301083
+2010301084,2010301084
+2010301085,2010301085
+2010301086,2010301086
+2010301087,2010301087
+2010301088,2010301088
+2010301089,2010301089
+2010301090,2010301090
+2010301091,2010301091
+2010301092,2010301092
+2010301093,2010301093
+2010301094,2010301094
+2010301095,2010301095
+2010301096,2010301096
+2010301097,2010301097
+2010301098,2010301098
+2010301099,2010301099
+2010301100,2010301100
+2010301101,2010301101
+2010301102,2010301102
+2010301103,2010301103
+2010301104,2010301104
+2010301105,2010301105
+2010301106,2010301106
+2010301107,2010301107
+2010301108,2010301108
+2010301109,2010301109
+2010301110,2010301110
+2010301111,2010301111
+2010301112,2010301112
+2010301113,2010301113
+2010301114,2010301114
+2010301115,2010301115
+2010301116,2010301116
+2010301117,2010301117
+2010301118,2010301118
+2010301119,2010301119
+2010301120,2010301120
+2010301121,2010301121
+2010301122,2010301122
+2010301123,2010301123
+2010301124,2010301124
+2010301125,2010301125
+2010301126,2010301126
+2010301127,2010301127
+2010301128,2010301128
+2010301129,2010301129
+2010301130,2010301130
+2010301131,2010301131
+2010301132,2010301132
+2010301133,2010301133
+2010301134,2010301134
+2010301135,2010301135
+2010301136,2010301136
+2010301137,2010301137
+2010301138,2010301138
+2010301139,2010301139
+2010301140,2010301140
+2010301141,2010301141
+2010301142,2010301142
+2010301143,2010301143
+2010301144,2010301144
+2010301145,2010301145
+2010301146,2010301146
+2010301147,2010301147
+2010301148,2010301148
+2010301149,2010301149
+2010301150,2010301150
+2010301151,2010301151
+2010301152,2010301152
+2010301153,2010301153
+2010301154,2010301154
+2010301155,2010301155
+2010301156,2010301156
+2010301157,2010301157
+2010301158,2010301158
+2010301159,2010301159
+2010301160,2010301160
+2010301161,2010301161
+2010301162,2010301162
+2010301163,2010301163
+2010301164,2010301164
+2010301165,2010301165
+2010301166,2010301166
+2010301167,2010301167
+2010301168,2010301168
+2010301169,2010301169
+2010301170,2010301170
+2010301171,2010301171
+2010301172,2010301172
+2010301173,2010301173
+2010301174,2010301174
+2010301175,2010301175
+2010301176,2010301176
+2010301177,2010301177
+2010301178,2010301178
+2010301179,2010301179
+2010301180,2010301180
+2010301181,2010301181
+2010301182,2010301182
+2010301183,2010301183
+2010301184,2010301184
+2010301185,2010301185
+2010301186,2010301186
+2010301187,2010301187
+2010301188,2010301188
+2010301189,2010301189
+2010301190,2010301190
+2010301191,2010301191
+2010301192,2010301192
+2010301193,2010301193
+2010301194,2010301194
+2010301195,2010301195
+2010301196,2010301196
+2010301197,2010301197
+2010301198,2010301198
+2010301199,2010301199
+2010301200,2010301200
+2010301201,2010301201
+2010301202,2010301202
+2010301203,2010301203
+2010301204,2010301204
+2010301205,2010301205
+2010301206,2010301206
+2010301207,2010301207
+2010301208,2010301208
+2010301209,2010301209
+2010301210,2010301210
+2010301211,2010301211
+2010301212,2010301212
+2010301213,2010301213
+2010301214,2010301214
+2010301215,2010301215
+2010301216,2010301216
+2010301217,2010301217
+2010301218,2010301218
+2010301219,2010301219
+2010301220,2010301220
+2010301221,2010301221
+2010301222,2010301222
+2010301223,2010301223
+2010301224,2010301224
+2010301225,2010301225
+2010301226,2010301226
+2010301227,2010301227
+2010301228,2010301228
+2010301229,2010301229
+2010301230,2010301230
+2010301231,2010301231
+2010301232,2010301232
+2010301233,2010301233
+2010301234,2010301234
+2010301235,2010301235
+2010301236,2010301236
+2010301237,2010301237
+2010301238,2010301238
+2010301239,2010301239
+2010301240,2010301240
+2010301241,2010301241
+2010301242,2010301242
+2010301243,2010301243
+2010301244,2010301244
+2010301245,2010301245
+2010301246,2010301246
+2010301247,2010301247
+2010301248,2010301248
+2010301249,2010301249
+2010301250,2010301250
+2010301251,2010301251
+2010301252,2010301252
+2010301253,2010301253
+2010301254,2010301254
+2010301255,2010301255
+2010301256,2010301256
+2010301257,2010301257
+2010301258,2010301258
+2010301259,2010301259
+2010301260,2010301260
+2010301261,2010301261
+2010301262,2010301262
+2010301263,2010301263
+2010301264,2010301264
+2010301265,2010301265
+2010301266,2010301266
+2010301267,2010301267
+2010301268,2010301268
+2010301269,2010301269
+2010301270,2010301270
+2010301271,2010301271
+2010301272,2010301272
+2010301273,2010301273
+2010301274,2010301274
+2010301275,2010301275
+2010301276,2010301276
+2010301277,2010301277
+2010301278,2010301278
+2010301279,2010301279
+2010301280,2010301280
+2010301281,2010301281
+2010301282,2010301282
+2010301283,2010301283
+2010301284,2010301284
+2010301285,2010301285
+2010301286,2010301286
+2010301287,2010301287
+2010301288,2010301288
+2010301289,2010301289
+2010301290,2010301290
+2010301291,2010301291
+2010301292,2010301292
+2010301293,2010301293
+2010301294,2010301294
+2010301295,2010301295
+2010301296,2010301296
+2010301297,2010301297
+2010301299,2010301299
+2010301300,2010301300
+2010301301,2010301301
+2010301302,2010301302
+2010301303,2010301303
+2010301304,2010301304
+2010301305,2010301305
+2010301306,2010301306
+2010301307,2010301307
+2010301308,2010301308
+2010301309,2010301309
+2010301310,2010301310
+2010301311,2010301311
+2010301312,2010301312
+2010301313,2010301313
+2010301314,2010301314
+2010301315,2010301315
+2010301316,2010301316
+2010301317,2010301317
+2010301318,2010301318
+2010301319,2010301319
+2010301320,2010301320
+2010301321,2010301321
+2010301322,2010301322
+2010301323,2010301323
+2010301324,2010301324
+2010301325,2010301325
+2010301326,2010301326
+2010301327,2010301327
+2010301328,2010301328
+2010301329,2010301329
+2010301330,2010301330
+2010301331,2010301331
+2010301332,2010301332
+2010301333,2010301333
+2010301334,2010301334
+2010301335,2010301335
+2010301336,2010301336
+2010301337,2010301337
+2010301338,2010301338
+2010301339,2010301339
+2010301340,2010301340
+2010301341,2010301341
+2010301342,2010301342
+2010301343,2010301343
+2010301344,2010301344
+2010301345,2010301345
+2010301346,2010301346
+2010301347,2010301347
+2010301348,2010301348
+2010301349,2010301349
+2010301350,2010301350
+2010301351,2010301351
+2010301352,2010301352
+2010301353,2010301353
+2010301354,2010301354
+2010301355,2010301355
+2010301356,2010301356
+2010301357,2010301357
+2010301358,2010301358
+2010301359,2010301359
+2010301360,2010301360
+2010301361,2010301361
+2010301362,2010301362
+2010301363,2010301363
+2010301364,2010301364
+2010301365,2010301365
+2010301366,2010301366
+2010301367,2010301367
+2010301368,2010301368
+2010301369,2010301369
+2010301370,2010301370
+2010301371,2010301371
+2010301372,2010301372
+2010301373,2010301373
+2010301374,2010301374
+2010301375,2010301375
+2010301376,2010301376
+2010301377,2010301377
+2010301378,2010301378
+2010301379,2010301379
+2010301380,2010301380
+2010301381,2010301381
+2010301382,2010301382
+2010301383,2010301383
+2010301384,2010301384
+2010301385,2010301385
+2010301386,2010301386
+2010301387,2010301387
+2010301388,2010301388
+2010301389,2010301389
+2010301390,2010301390
+2010301391,2010301391
+2010301392,2010301392
+2010301393,2010301393
+2010301394,2010301394
+2010301395,2010301395
+2010301396,2010301396
+2010301397,2010301397
+2010301398,2010301398
+2010301399,2010301399
+2010301400,2010301400
+2010301401,2010301401
+2010301402,2010301402
+2010301403,2010301403
+2010301404,2010301404
+2010301405,2010301405
+2010301407,2010301407
+2010301408,2010301408
+2010301409,2010301409
+2010301410,2010301410
+2010301411,2010301411
+2010301412,2010301412
+2010301413,2010301413
+2010301414,2010301414
+2010301415,2010301415
+2010301416,2010301416
+2010301417,2010301417
+2010301418,2010301418
+2010301419,2010301419
+2010301420,2010301420
+2010301421,2010301421
+2010301422,2010301422
+2010301423,2010301423
+2010301424,2010301424
+2010301425,2010301425
+2010301426,2010301426
+2010301427,2010301427
+2010301428,2010301428
+2010301429,2010301429
+2010301430,2010301430
+2010301431,2010301431
+2010301432,2010301432
+2010301433,2010301433
+2010301434,2010301434
+2010301435,2010301435
+2010301436,2010301436
+2010301437,2010301437
+2010301438,2010301438
+2010301439,2010301439
+2010301440,2010301440
+2010301441,2010301441
+2010301442,2010301442
+2010301443,2010301443
+2010301444,2010301444
+2010301445,2010301445
+2010301446,2010301446
+2010301447,2010301447
+2010301448,2010301448
+2010301449,2010301449
+2010301450,2010301450
+2010301451,2010301451
+2010301452,2010301452
+2010301453,2010301453
+2010301454,2010301454
+2010301455,2010301455
+2010301456,2010301456
+2010301457,2010301457
+2010301458,2010301458
+2010301459,2010301459
+2010301460,2010301460
+2010301461,2010301461
+2010301462,2010301462
+2010301463,2010301463
+2010301464,2010301464
+2010301465,2010301465
+2010301466,2010301466
+2010301467,2010301467
+2010301468,2010301468
+2010301469,2010301469
+2010301470,2010301470
+2010301471,2010301471
+2010301472,2010301472
+2010301473,2010301473
+2010301474,2010301474
+2010301475,2010301475
+2010301476,2010301476
+2010301477,2010301477
+2010301478,2010301478
+2010301479,2010301479
+2010301480,2010301480
+2010301481,2010301481
+2010301482,2010301482
+2010301483,2010301483
+2010301484,2010301484
+2010301485,2010301485
+2010301486,2010301486
+2010301487,2010301487
+2010301488,2010301488
+2010301489,2010301489
+2010301490,2010301490
+2010301491,2010301491
+2010301492,2010301492
+2010301493,2010301493
+2010301494,2010301494
+2010301495,2010301495
+2010301496,2010301496
+2010301497,2010301497
+2010301498,2010301498
+2010301499,2010301499
+2010301500,2010301500
+2010301501,2010301501
+2010301502,2010301502
+2010301503,2010301503
+2010301504,2010301504
+2010301505,2010301505
+2010301506,2010301506
+2010301507,2010301507
+2010301508,2010301508
+2010301509,2010301509
+2010301510,2010301510
+2010301511,2010301511
+2010301512,2010301512
+2010301513,2010301513
+2010301514,2010301514
+2010301516,2010301516
+2010301517,2010301517
+2010301518,2010301518
+2010301519,2010301519
+2010301520,2010301520
+2010301521,2010301521
+2010301522,2010301522
+2010301523,2010301523
+2010301524,2010301524
+2010301525,2010301525
+2010301526,2010301526
+2010301527,2010301527
+2010301528,2010301528
+2010301529,2010301529
+2010301530,2010301530
+2010301531,2010301531
+2010301532,2010301532
+2010301533,2010301533
+2010301534,2010301534
+2010301535,2010301535
+2010301536,2010301536
+2010301537,2010301537
+2010301538,2010301538
+2010301539,2010301539
+2010301540,2010301540
+2010301541,2010301541
+2010301542,2010301542
+2010301543,2010301543
+2010301544,2010301544
+2010301545,2010301545
+2010301546,2010301546
+2010301547,2010301547
+2010301548,2010301548
+2010301549,2010301549
+2010301550,2010301550
+2010301551,2010301551
+2010301552,2010301552
+2010301553,2010301553
+2010301554,2010301554
+2010301555,2010301555
+2010301556,2010301556
+2010301557,2010301557
+2010301558,2010301558
+2010301559,2010301559
+2010301560,2010301560
+2010301561,2010301561
+2010301562,2010301562
+2010301563,2010301563
+2010301564,2010301564
+2010301565,2010301565
+2010301566,2010301566
+2010301567,2010301567
+2010301568,2010301568
+2010301569,2010301569
+2010301570,2010301570
+2010301571,2010301571
+2010301572,2010301572
+2010301573,2010301573
+2010301574,2010301574
+2010301575,2010301575
+2010301576,2010301576
+2010301577,2010301577
+2010301578,2010301578
+2010301579,2010301579
+2010301580,2010301580
+2010301581,2010301581
+2010301582,2010301582
+2010301583,2010301583
+2010301584,2010301584
+2010301585,2010301585
+2010301586,2010301586
+2010301587,2010301587
+2010301588,2010301588
+2010301589,2010301589
+2010301590,2010301590
+2010301591,2010301591
+2010301592,2010301592
+2010301593,2010301593
+2010301594,2010301594
+2010301595,2010301595
+2010301596,2010301596
+2010301597,2010301597
+2010301598,2010301598
+2010301599,2010301599
+2010301600,2010301600
+2010301601,2010301601
+2010301602,2010301602
+2010301603,2010301603
+2010301604,2010301604
+2010301605,2010301605
+2010301606,2010301606
+2010301607,2010301607
+2010301608,2010301608
+2010301609,2010301609
+2010301610,2010301610
+2010301611,2010301611
+2010301612,2010301612
+2010301613,2010301613
+2010301614,2010301614
+2010301615,2010301615
+2010301616,2010301616
+2010301617,2010301617
+2010301618,2010301618
+2010301619,2010301619
+2010301620,2010301620
+2010301621,2010301621
+2010301622,2010301622
+2010301623,2010301623
+2010301624,2010301624
+2010301625,2010301625
+2010301626,2010301626
+2010301627,2010301627
+2010301628,2010301628
+2010301629,2010301629
+2010301630,2010301630
+2010301631,2010301631
+2010301632,2010301632
+2010301633,2010301633
+2010301634,2010301634
+2010301635,2010301635
+2010301636,2010301636
+2010301637,2010301637
+2010301638,2010301638
+2010301639,2010301639
+2010301640,2010301640
+2010301641,2010301641
+2010301642,2010301642
+2010301643,2010301643
+2010301644,2010301644
+2010301645,2010301645
+2010301646,2010301646
+2010301647,2010301647
+2010301648,2010301648
+2010301649,2010301649
+2010301650,2010301650
+2010301651,2010301651
+2010301652,2010301652
+2010301653,2010301653
+2010301654,2010301654
+2010301655,2010301655
+2010301656,2010301656
+2010301657,2010301657
+2010301658,2010301658
+2010301659,2010301659
+2010301660,2010301660
+2010301661,2010301661
+2010301662,2010301662
+2010301663,2010301663
+2010301664,2010301664
+2010301665,2010301665
+2010301666,2010301666
+2010301667,2010301667
+2010301668,2010301668
+2010301669,2010301669
+2010301670,2010301670
+2010301671,2010301671
+2010301672,2010301672
+2010301673,2010301673
+2010301674,2010301674
+2010301675,2010301675
+2010301676,2010301676
+2010301677,2010301677
+2010301678,2010301678
+2010301679,2010301679
+2010301680,2010301680
+2010301681,2010301681
+2010301682,2010301682
+2010301683,2010301683
+2010301684,2010301684
+2010301685,2010301685
+2010301686,2010301686
+2010301687,2010301687
+2010301688,2010301688
+2010301689,2010301689
+2010301690,2010301690
+2010301691,2010301691
+2010301692,2010301692
+2010301693,2010301693
+2010301694,2010301694
+2010301695,2010301695
+2010301696,2010301696
+2010301697,2010301697
+2010301698,2010301698
+2010301699,2010301699
+2010301700,2010301700
+2010301701,2010301701
+2010301702,2010301702
+2010301703,2010301703
+2010301704,2010301704
+2010301705,2010301705
+2010301706,2010301706
+2010301707,2010301707
+2010301708,2010301708
+2010301709,2010301709
+2010301710,2010301710
+2010301711,2010301711
+2010301712,2010301712
+2010301713,2010301713
+2010301714,2010301714
+2010301715,2010301715
+2010301716,2010301716
+2010301717,2010301717
+2010301718,2010301718
+2010301719,2010301719
+2010301720,2010301720
+2010301721,2010301721
+2010301722,2010301722
+2010301723,2010301723
+2010301724,2010301724
+2010301725,2010301725
+2010301726,2010301726
+2010301727,2010301727
+2010301728,2010301728
+2010301729,2010301729
+2010301730,2010301730
+2010301731,2010301731
+2010301732,2010301732
+2010301733,2010301733
+2010301734,2010301734
+2010301735,2010301735
+2010301736,2010301736
+2010301737,2010301737
+2010301738,2010301738
+2010301739,2010301739
+2010301740,2010301740
+2010301741,2010301741
+2010301742,2010301742
+2010301743,2010301743
+2010301744,2010301744
+2010301745,2010301745
+2010301746,2010301746
+2010301747,2010301747
+2010301748,2010301748
+2010301749,2010301749
+2010301750,2010301750
+2010301751,2010301751
+2010301752,2010301752
+2010301753,2010301753
+2010301754,2010301754
+2010301755,2010301755
+2010301756,2010301756
+2010301757,2010301757
+2010301758,2010301758
+2010301759,2010301759
+2010301760,2010301760
+2010301761,2010301761
+2010301762,2010301762
+2010301763,2010301763
+2010301764,2010301764
+2010301765,2010301765
+2010301766,2010301766
+2010301767,2010301767
+2010301768,2010301768
+2010301769,2010301769
+2010301770,2010301770
+2010301771,2010301771
+2010301772,2010301772
+2010301773,2010301773
+2010301774,2010301774
+2010301775,2010301775
+2010301776,2010301776
+2010301777,2010301777
+2010301778,2010301778
+2010301779,2010301779
+2010301780,2010301780
+2010301781,2010301781
+2010301782,2010301782
+2010301783,2010301783
+2010301784,2010301784
+2010301785,2010301785
+2010301786,2010301786
+2010301787,2010301787
+2010301788,2010301788
+2010301789,2010301789
+2010301790,2010301790
+2010301791,2010301791
+2010301792,2010301792
+2010301793,2010301793
+2010301794,2010301794
+2010301795,2010301795
+2010301796,2010301796
+2010301797,2010301797
+2010301798,2010301798
+2010301799,2010301799
+2010301800,2010301800
+2010301801,2010301801
+2010301802,2010301802
+2010301803,2010301803
+2010301804,2010301804
+2010301805,2010301805
+2010301806,2010301806
+2010301807,2010301807
+2010301808,2010301808
+2010301809,2010301809
+2010301810,2010301810
+2010301811,2010301811
+2010301812,2010301812
+2010301813,2010301813
+2010301814,2010301814
+2010301815,2010301815
+2010301816,2010301816
+2010301817,2010301817
+2010301818,2010301818
+2010301819,2010301819
+2010301820,2010301820
+2010301822,2010301822
+2010301823,2010301823
+2010301824,2010301824
+2010301825,2010301825
+2010301826,2010301826
+2010301827,2010301827
+2010301828,2010301828
+2010301829,2010301829
+2010301830,2010301830
+2010301831,2010301831
+2010301832,2010301832
+2010301833,2010301833
+2010301834,2010301834
+2010301835,2010301835
+2010301836,2010301836
+2010301837,2010301837
+2010301838,2010301838
+2010301839,2010301839
+2010301840,2010301840
+2010301841,2010301841
+2010301842,2010301842
+2010301843,2010301843
+2010301844,2010301844
+2010301845,2010301845
+2010301846,2010301846
+2010301847,2010301847
+2010301848,2010301848
+2010301849,2010301849
+2010301850,2010301850
+2010301851,2010301851
+2010301852,2010301852
+2010301853,2010301853
+2010301854,2010301854
+2010301855,2010301855
+2010301856,2010301856
+2010301857,2010301857
+2010301858,2010301858
+2010301859,2010301859
+2010301860,2010301860
+2010301861,2010301861
+2010301862,2010301862
+2010301864,2010301864
+2010301865,2010301865
+2010301866,2010301866
+2010301867,2010301867
+2010301868,2010301868
+2010301869,2010301869
+2010301870,2010301870
+2010301871,2010301871
+2010301872,2010301872
+2010301873,2010301873
+2010301874,2010301874
+2010301875,2010301875
+2010301876,2010301876
+2010301877,2010301877
+2010301878,2010301878
+2010301879,2010301879
+2010301880,2010301880
+2010301881,2010301881
+2010301882,2010301882
+2010301883,2010301883
+2010301884,2010301884
+2010301885,2010301885
+2010301886,2010301886
+2010301887,2010301887
+2010301888,2010301888
+2010301889,2010301889
+2010301890,2010301890
+2010301891,2010301891
+2010301892,2010301892
+2010301893,2010301893
+2010301894,2010301894
+2010301895,2010301895
+2010301896,2010301896
+2010301897,2010301897
+2010301898,2010301898
+2010301899,2010301899
+2010301900,2010301900
+2010301901,2010301901
+2010301902,2010301902
+2010301903,2010301903
+2010301904,2010301904
+2010301905,2010301905
+2010301906,2010301906
+2010301907,2010301907
+2010301908,2010301908
+2010301909,2010301909
+2010301910,2010301910
+2010301911,2010301911
+2010301912,2010301912
+2010301913,2010301913
+2010301914,2010301914
+2010301915,2010301915
+2010301916,2010301916
+2010301917,2010301917
+2010301918,2010301918
+2010301919,2010301919
+2010301920,2010301920
+2010301921,2010301921
+2010301922,2010301922
+2010301923,2010301923
+2010301924,2010301924
+2010301925,2010301925
+2010301926,2010301926
+2010301927,2010301927
+2010301928,2010301928
+2010301929,2010301929
+2010301930,2010301930
+2010301931,2010301931
+2010301932,2010301932
+2010301933,2010301933
+2010301934,2010301934
+2010301935,2010301935
+2010301936,2010301936
+2010301937,2010301937
+2010301938,2010301938
+2010301939,2010301939
+2010301940,2010301940
+2010301941,2010301941
+2010301942,2010301942
+2010301943,2010301943
+2010301944,2010301944
+2010301945,2010301945
+2010301946,2010301946
+2010301947,2010301947
+2010301948,2010301948
+2010301949,2010301949
+2010301950,2010301950
+2010301951,2010301951
+2010301952,2010301952
+2010301953,2010301953
+2010301954,2010301954
+2010301955,2010301955
+2010301956,2010301956
+2010301957,2010301957
+2010301958,2010301958
+2010301959,2010301959
+2010301960,2010301960
+2010301961,2010301961
+2010301962,2010301962
+2010301963,2010301963
+2010301964,2010301964
+2010301965,2010301965
+2010301966,2010301966
+2010301967,2010301967
+2010301968,2010301968
+2010301969,2010301969
+2010301970,2010301970
+2010301971,2010301971
+2010301972,2010301972
+2010301973,2010301973
+2010301974,2010301974
+2010301975,2010301975
+2010301976,2010301976
+2010301977,2010301977
+2010301978,2010301978
+2010301979,2010301979
+2010301980,2010301980
+2010301981,2010301981
+2010301982,2010301982
+2010301983,2010301983
+2010301984,2010301984
+2010301985,2010301985
+2010301986,2010301986
+2010301987,2010301987
+2010301988,2010301988
+2010301989,2010301989
+2010301990,2010301990
+2010301991,2010301991
+2010301992,2010301992
+2010301993,2010301993
+2010301994,2010301994
+2010301995,2010301995
+2010301996,2010301996
+2010301997,2010301997
+2010301998,2010301998
+2010301999,2010301999
+2010302000,2010302000
+2010302001,2010302001
+2010302002,2010302002
+2010302003,2010302003
+2010302004,2010302004
+2010302005,2010302005
+2010302006,2010302006
+2010302007,2010302007
+2010302008,2010302008
+2010302009,2010302009
+2010302010,2010302010
+2010302011,2010302011
+2010302012,2010302012
+2010302013,2010302013
+2010302014,2010302014
+2010302015,2010302015
+2010302016,2010302016
+2010302017,2010302017
+2010302018,2010302018
+2010302019,2010302019
+2010302020,2010302020
+2010302021,2010302021
+2010302022,2010302022
+2010302023,2010302023
+2010302024,2010302024
+2010302025,2010302025
+2010302026,2010302026
+2010302027,2010302027
+2010302028,2010302028
+2010302029,2010302029
+2010302030,2010302030
+2010302031,2010302031
+2010302032,2010302032
+2010302033,2010302033
+2010302034,2010302034
+2010302035,2010302035
+2010302036,2010302036
+2010302037,2010302037
+2010302038,2010302038
+2010302039,2010302039
+2010302040,2010302040
+2010302041,2010302041
+2010302042,2010302042
+2010302043,2010302043
+2010302044,2010302044
+2010302045,2010302045
+2010302046,2010302046
+2010302047,2010302047
+2010302048,2010302048
+2010302049,2010302049
+2010302050,2010302050
+2010302051,2010302051
+2010302052,2010302052
+2010302053,2010302053
+2010302054,2010302054
+2010302055,2010302055
+2010302056,2010302056
+2010302057,2010302057
+2010302058,2010302058
+2010302059,2010302059
+2010302060,2010302060
+2010302061,2010302061
+2010302062,2010302062
+2010302063,2010302063
+2010302064,2010302064
+2010302065,2010302065
+2010302066,2010302066
+2010302067,2010302067
+2010302068,2010302068
+2010302069,2010302069
+2010302070,2010302070
+2010302071,2010302071
+2010302072,2010302072
+2010302073,2010302073
+2010302074,2010302074
+2010302075,2010302075
+2010302076,2010302076
+2010302077,2010302077
+2010302078,2010302078
+2010302079,2010302079
+2010302080,2010302080
+2010302081,2010302081
+2010302082,2010302082
+2010302083,2010302083
+2010302084,2010302084
+2010302085,2010302085
+2010302086,2010302086
+2010302087,2010302087
+2010302088,2010302088
+2010302089,2010302089
+2010302090,2010302090
+2010302091,2010302091
+2010302092,2010302092
+2010302093,2010302093
+2010302094,2010302094
+2010302095,2010302095
+2010302096,2010302096
+2010302097,2010302097
+2010302098,2010302098
+2010302099,2010302099
+2010302100,2010302100
+2010302101,2010302101
+2010302102,2010302102
+2010302103,2010302103
+2010302104,2010302104
+2010302105,2010302105
+2010302106,2010302106
+2010302107,2010302107
+2010302108,2010302108
+2010302109,2010302109
+2010302110,2010302110
+2010302111,2010302111
+2010302112,2010302112
+2010302113,2010302113
+2010302114,2010302114
+2010302115,2010302115
+2010302116,2010302116
+2010302117,2010302117
+2010302118,2010302118
+2010302119,2010302119
+2010302120,2010302120
+2010302121,2010302121
+2010302122,2010302122
+2010302123,2010302123
+2010302124,2010302124
+2010302125,2010302125
+2010302126,2010302126
+2010302127,2010302127
+2010302128,2010302128
+2010302129,2010302129
+2010302130,2010302130
+2010302131,2010302131
+2010302132,2010302132
+2010302133,2010302133
+2010302134,2010302134
+2010302135,2010302135
+2010302136,2010302136
+2010302137,2010302137
+2010302138,2010302138
+2010302139,2010302139
+2010302140,2010302140
+2010302141,2010302141
+2010302142,2010302142
+2010302143,2010302143
+2010302144,2010302144
+2010302145,2010302145
+2010302146,2010302146
+2010302147,2010302147
+2010302148,2010302148
+2010302149,2010302149
+2010302150,2010302150
+2010302151,2010302151
+2010302152,2010302152
+2010302153,2010302153
+2010302154,2010302154
+2010302155,2010302155
+2010302156,2010302156
+2010302157,2010302157
+2010302158,2010302158
+2010302159,2010302159
+2010302160,2010302160
+2010302161,2010302161
+2010302162,2010302162
+2010302163,2010302163
+2010302164,2010302164
+2010302165,2010302165
+2010302166,2010302166
+2010302167,2010302167
+2010302168,2010302168
+2010302169,2010302169
+2010302170,2010302170
+2010302171,2010302171
+2010302172,2010302172
+2010302173,2010302173
+2010302174,2010302174
+2010302175,2010302175
+2010302176,2010302176
+2010302177,2010302177
+2010302178,2010302178
+2010302179,2010302179
+2010302180,2010302180
+2010302181,2010302181
+2010302182,2010302182
+2010302183,2010302183
+2010302184,2010302184
+2010302185,2010302185
+2010302186,2010302186
+2010302187,2010302187
+2010302188,2010302188
+2010302189,2010302189
+2010302190,2010302190
+2010302191,2010302191
+2010302192,2010302192
+2010302193,2010302193
+2010302194,2010302194
+2010302195,2010302195
+2010302196,2010302196
+2010302197,2010302197
+2010302198,2010302198
+2010302199,2010302199
+2010302200,2010302200
+2010302201,2010302201
+2010302202,2010302202
+2010302203,2010302203
+2010302204,2010302204
+2010302205,2010302205
+2010302206,2010302206
+2010302207,2010302207
+2010302208,2010302208
+2010302209,2010302209
+2010302210,2010302210
+2010302211,2010302211
+2010302212,2010302212
+2010302213,2010302213
+2010302214,2010302214
+2010302215,2010302215
+2010302216,2010302216
+2010302217,2010302217
+2010302218,2010302218
+2010302219,2010302219
+2010302220,2010302220
+2010302221,2010302221
+2010302222,2010302222
+2010302223,2010302223
+2010302224,2010302224
+2010302225,2010302225
+2010302226,2010302226
+2010302227,2010302227
+2010302228,2010302228
+2010302229,2010302229
+2010302230,2010302230
+2010302231,2010302231
+2010302232,2010302232
+2010302233,2010302233
+2010302234,2010302234
+2010302235,2010302235
+2010302236,2010302236
+2010302237,2010302237
+2010302238,2010302238
+2010302239,2010302239
+2010302240,2010302240
+2010302241,2010302241
+2010302242,2010302242
+2010302243,2010302243
+2010302244,2010302244
+2010302245,2010302245
+2010302246,2010302246
+2010302247,2010302247
+2010302248,2010302248
+2010302249,2010302249
+2010302250,2010302250
+2010302251,2010302251
+2010302252,2010302252
+2010302253,2010302253
+2010302254,2010302254
+2010302255,2010302255
+2010302256,2010302256
+2010302257,2010302257
+2010302258,2010302258
+2010302259,2010302259
+2010302260,2010302260
+2010302261,2010302261
+2010302262,2010302262
+2010302263,2010302263
+2010302264,2010302264
+2010302265,2010302265
+2010302266,2010302266
+2010302267,2010302267
+2010302268,2010302268
+2010302269,2010302269
+2010302270,2010302270
+2010302271,2010302271
+2010302272,2010302272
+2010302273,2010302273
+2010302274,2010302274
+2010302275,2010302275
+2010302276,2010302276
+2010302277,2010302277
+2010302278,2010302278
+2010302279,2010302279
+2010302280,2010302280
+2010302281,2010302281
+2010302282,2010302282
+2010302283,2010302283
+2010302284,2010302284
+2010302285,2010302285
+2010302286,2010302286
+2010302287,2010302287
+2010302288,2010302288
+2010302289,2010302289
+2010302290,2010302290
+2010302291,2010302291
+2010302292,2010302292
+2010302293,2010302293
+2010302294,2010302294
+2010302295,2010302295
+2010302296,2010302296
+2010302297,2010302297
+2010302298,2010302298
+2010302299,2010302299
+2010302300,2010302300
+2010302301,2010302301
+2010302302,2010302302
+2010302303,2010302303
+2010302304,2010302304
+2010302305,2010302305
+2010302306,2010302306
+2010302307,2010302307
+2010302308,2010302308
+2010302309,2010302309
+2010302310,2010302310
+2010302311,2010302311
+2010302312,2010302312
+2010302313,2010302313
+2010302314,2010302314
+2010302315,2010302315
+2010302316,2010302316
+2010302317,2010302317
+2010302318,2010302318
+2010302319,2010302319
+2010302320,2010302320
+2010302321,2010302321
+2010302322,2010302322
+2010302323,2010302323
+2010302324,2010302324
+2010302325,2010302325
+2010302326,2010302326
+2010302327,2010302327
+2010302328,2010302328
+2010302329,2010302329
+2010302330,2010302330
+2010302331,2010302331
+2010302332,2010302332
+2010302333,2010302333
+2010302334,2010302334
+2010302335,2010302335
+2010302336,2010302336
+2010302337,2010302337
+2010302338,2010302338
+2010302339,2010302339
+2010302340,2010302340
+2010302341,2010302341
+2010302342,2010302342
+2010302343,2010302343
+2010302344,2010302344
+2010302345,2010302345
+2010302346,2010302346
+2010302347,2010302347
+2010302348,2010302348
+2010302349,2010302349
+2010302350,2010302350
+2010302351,2010302351
+2010302352,2010302352
+2010302353,2010302353
+2010302354,2010302354
+2010302355,2010302355
+2010302356,2010302356
+2010302357,2010302357
+2010302358,2010302358
+2010302359,2010302359
+2010302360,2010302360
+2010302361,2010302361
+2010302362,2010302362
+2010302363,2010302363
+2010302364,2010302364
+2010302365,2010302365
+2010302366,2010302366
+2010302367,2010302367
+2010302368,2010302368
+2010302369,2010302369
+2010302370,2010302370
+2010302371,2010302371
+2010302372,2010302372
+2010302373,2010302373
+2010302374,2010302374
+2010302375,2010302375
+2010302376,2010302376
+2010302377,2010302377
+2010302378,2010302378
+2010302379,2010302379
+2010302380,2010302380
+2010302381,2010302381
+2010302382,2010302382
+2010302383,2010302383
+2010302384,2010302384
+2010302385,2010302385
+2010302386,2010302386
+2010302387,2010302387
+2010302388,2010302388
+2010302389,2010302389
+2010302390,2010302390
+2010302391,2010302391
+2010302392,2010302392
+2010302393,2010302393
+2010302394,2010302394
+2010302395,2010302395
+2010302396,2010302396
+2010302397,2010302397
+2010302398,2010302398
+2010302399,2010302399
+2010302400,2010302400
+2010302401,2010302401
+2010302402,2010302402
+2010302403,2010302403
+2010302404,2010302404
+2010302405,2010302405
+2010302406,2010302406
+2010302407,2010302407
+2010302408,2010302408
+2010302409,2010302409
+2010302410,2010302410
+2010302411,2010302411
+2010302412,2010302412
+2010302413,2010302413
+2010302414,2010302414
+2010302415,2010302415
+2010302416,2010302416
+2010302417,2010302417
+2010302418,2010302418
+2010302419,2010302419
+2010302420,2010302420
+2010302421,2010302421
+2010302422,2010302422
+2010302423,2010302423
+2010302424,2010302424
+2010302425,2010302425
+2010302426,2010302426
+2010302427,2010302427
+2010302428,2010302428
+2010302429,2010302429
+2010302430,2010302430
+2010302431,2010302431
+2010302432,2010302432
+2010302433,2010302433
+2010302434,2010302434
+2010302435,2010302435
+2010302436,2010302436
+2010302437,2010302437
+2010302438,2010302438
+2010302439,2010302439
+2010302440,2010302440
+2010302441,2010302441
+2010302442,2010302442
+2010302443,2010302443
+2010302444,2010302444
+2010302445,2010302445
+2010302446,2010302446
+2010302447,2010302447
+2010302448,2010302448
+2010302449,2010302449
+2010302450,2010302450
+2010302451,2010302451
+2010302452,2010302452
+2010302453,2010302453
+2010302454,2010302454
+2010302455,2010302455
+2010302456,2010302456
+2010302457,2010302457
+2010302458,2010302458
+2010302459,2010302459
+2010302460,2010302460
+2010302461,2010302461
+2010302462,2010302462
+2010302463,2010302463
+2010302464,2010302464
+2010302465,2010302465
+2010302466,2010302466
+2010302467,2010302467
+2010302468,2010302468
+2010302469,2010302469
+2010302470,2010302470
+2010302471,2010302471
+2010302472,2010302472
+2010302473,2010302473
+2010302474,2010302474
+2010302475,2010302475
+2010302476,2010302476
+2010302477,2010302477
+2010302478,2010302478
+2010302479,2010302479
+2010302480,2010302480
+2010302482,2010302482
+2010302483,2010302483
+2010302484,2010302484
+2010302485,2010302485
+2010302486,2010302486
+2010302487,2010302487
+2010302488,2010302488
+2010302489,2010302489
+2010302490,2010302490
+2010302491,2010302491
+2010302492,2010302492
+2010302493,2010302493
+2010302494,2010302494
+2010302495,2010302495
+2010302496,2010302496
+2010302497,2010302497
+2010302498,2010302498
+2010302499,2010302499
+2010302500,2010302500
+2010302501,2010302501
+2010302502,2010302502
+2010302503,2010302503
+2010302504,2010302504
+2010302505,2010302505
+2010302506,2010302506
+2010302507,2010302507
+2010302508,2010302508
+2010302509,2010302509
+2010302510,2010302510
+2010302511,2010302511
+2010302512,2010302512
+2010302513,2010302513
+2010302514,2010302514
+2010302515,2010302515
+2010302516,2010302516
+2010302517,2010302517
+2010302518,2010302518
+2010302519,2010302519
+2010302520,2010302520
+2010302521,2010302521
+2010302522,2010302522
+2010302523,2010302523
+2010302524,2010302524
+2010302525,2010302525
+2010302526,2010302526
+2010302527,2010302527
+2010302528,2010302528
+2010302529,2010302529
+2010302530,2010302530
+2010302531,2010302531
+2010302532,2010302532
+2010302533,2010302533
+2010302534,2010302534
+2010302535,2010302535
+2010302536,2010302536
+2010302537,2010302537
+2010302538,2010302538
+2010302539,2010302539
+2010302540,2010302540
+2010302541,2010302541
+2010302542,2010302542
+2010302543,2010302543
+2010302544,2010302544
+2010302545,2010302545
+2010302546,2010302546
+2010302547,2010302547
+2010302548,2010302548
+2010302549,2010302549
+2010302550,2010302550
+2010302551,2010302551
+2010302552,2010302552
+2010302553,2010302553
+2010302554,2010302554
+2010302555,2010302555
+2010302556,2010302556
+2010302557,2010302557
+2010302558,2010302558
+2010302559,2010302559
+2010302560,2010302560
+2010302561,2010302561
+2010302562,2010302562
+2010302563,2010302563
+2010302564,2010302564
+2010302565,2010302565
+2010302566,2010302566
+2010302567,2010302567
+2010302568,2010302568
+2010302569,2010302569
+2010302570,2010302570
+2010302571,2010302571
+2010302572,2010302572
+2010302573,2010302573
+2010302574,2010302574
+2010302575,2010302575
+2010302576,2010302576
+2010302577,2010302577
+2010302578,2010302578
+2010302579,2010302579
+2010302580,2010302580
+2010302581,2010302581
+2010302582,2010302582
+2010302583,2010302583
+2010302584,2010302584
+2010302585,2010302585
+2010302586,2010302586
+2010302587,2010302587
+2010302588,2010302588
+2010302589,2010302589
+2010302590,2010302590
+2010302591,2010302591
+2010302592,2010302592
+2010302593,2010302593
+2010302594,2010302594
+2010302595,2010302595
+2010302596,2010302596
+2010302597,2010302597
+2010302598,2010302598
+2010302600,2010302600
+2010302601,2010302601
+2010302602,2010302602
+2010302603,2010302603
+2010302604,2010302604
+2010302605,2010302605
+2010302606,2010302606
+2010302607,2010302607
+2010302608,2010302608
+2010302609,2010302609
+2010302610,2010302610
+2010302611,2010302611
+2010302612,2010302612
+2010302613,2010302613
+2010302614,2010302614
+2010302615,2010302615
+2010302616,2010302616
+2010302617,2010302617
+2010302618,2010302618
+2010302619,2010302619
+2010302620,2010302620
+2010302621,2010302621
+2010302622,2010302622
+2010302623,2010302623
+2010302624,2010302624
+2010302625,2010302625
+2010302626,2010302626
+2010302627,2010302627
+2010302628,2010302628
+2010302629,2010302629
+2010302630,2010302630
+2010302631,2010302631
+2010302632,2010302632
+2010302633,2010302633
+2010302634,2010302634
+2010302635,2010302635
+2010302636,2010302636
+2010302637,2010302637
+2010302638,2010302638
+2010302639,2010302639
+2010302640,2010302640
+2010302641,2010302641
+2010302642,2010302642
+2010302643,2010302643
+2010302644,2010302644
+2010302645,2010302645
+2010302646,2010302646
+2010302647,2010302647
+2010302648,2010302648
+2010302649,2010302649
+2010302650,2010302650
+2010302651,2010302651
+2010302652,2010302652
+2010302653,2010302653
+2010302654,2010302654
+2010302655,2010302655
+2010302656,2010302656
+2010302657,2010302657
+2010302658,2010302658
+2010302659,2010302659
+2010302660,2010302660
+2010302661,2010302661
+2010302662,2010302662
+2010302663,2010302663
+2010302664,2010302664
+2010302665,2010302665
+2010302666,2010302666
+2010302667,2010302667
+2010302668,2010302668
+2010302669,2010302669
+2010302670,2010302670
+2010302671,2010302671
+2010302672,2010302672
+2010302673,2010302673
+2010302674,2010302674
+2010302675,2010302675
+2010302676,2010302676
+2010302677,2010302677
+2010302678,2010302678
+2010302679,2010302679
+2010302680,2010302680
+2010302681,2010302681
+2010302682,2010302682
+2010302683,2010302683
+2010302684,2010302684
+2010302685,2010302685
+2010302686,2010302686
+2010302687,2010302687
+2010302688,2010302688
+2010302689,2010302689
+2010302690,2010302690
+2010302691,2010302691
+2010302692,2010302692
+2010302693,2010302693
+2010302694,2010302694
+2010302695,2010302695
+2010302696,2010302696
+2010302697,2010302697
+2010302698,2010302698
+2010302699,2010302699
+2010302700,2010302700
+2010302702,2010302702
+2010302703,2010302703
+2010302704,2010302704
+2010302705,2010302705
+2010302706,2010302706
+2010302707,2010302707
+2010302708,2010302708
+2010302709,2010302709
+2010302710,2010302710
+2010302711,2010302711
+2010302712,2010302712
+2010302713,2010302713
+2010302714,2010302714
+2010302715,2010302715
+2010302716,2010302716
+2010302717,2010302717
+2010302718,2010302718
+2010302719,2010302719
+2010302720,2010302720
+2010302721,2010302721
+2010302722,2010302722
+2010302723,2010302723
+2010302724,2010302724
+2010302725,2010302725
+2010302726,2010302726
+2010302727,2010302727
+2010302728,2010302728
+2010302729,2010302729
+2010302730,2010302730
+2010302731,2010302731
+2010302732,2010302732
+2010302733,2010302733
+2010302734,2010302734
+2010302735,2010302735
+2010302736,2010302736
+2010302737,2010302737
+2010302738,2010302738
+2010302739,2010302739
+2010302740,2010302740
+2010302741,2010302741
+2010302742,2010302742
+2010302743,2010302743
+2010302744,2010302744
+2010302745,2010302745
+2010302746,2010302746
+2010302747,2010302747
+2010302748,2010302748
+2010302749,2010302749
+2010302750,2010302750
+2010302751,2010302751
+2010302752,2010302752
+2010302753,2010302753
+2010302754,2010302754
+2010302755,2010302755
+2010302756,2010302756
+2010302757,2010302757
+2010302758,2010302758
+2010302759,2010302759
+2010302760,2010302760
+2010302761,2010302761
+2010302762,2010302762
+2010302763,2010302763
+2010302764,2010302764
+2010302765,2010302765
+2010302766,2010302766
+2010302767,2010302767
+2010302768,2010302768
+2010302769,2010302769
+2010302770,2010302770
+2010302771,2010302771
+2010302772,2010302772
+2010302773,2010302773
+2010302774,2010302774
+2010302775,2010302775
+2010302776,2010302776
+2010302777,2010302777
+2010302778,2010302778
+2010302779,2010302779
+2010302780,2010302780
+2010302781,2010302781
+2010302782,2010302782
+2010302783,2010302783
+2010302784,2010302784
+2010302785,2010302785
+2010302786,2010302786
+2010302787,2010302787
+2010302788,2010302788
+2010302789,2010302789
+2010302790,2010302790
+2010302791,2010302791
+2010302792,2010302792
+2010302793,2010302793
+2010302794,2010302794
+2010302795,2010302795
+2010302796,2010302796
+2010302797,2010302797
+2010302798,2010302798
+2010302799,2010302799
+2010302801,2010302801
+2010302802,2010302802
+2010302803,2010302803
+2010302804,2010302804
+2010302805,2010302805
+2010302806,2010302806
+2010302807,2010302807
+2010302808,2010302808
+2010302809,2010302809
+2010302810,2010302810
+2010302811,2010302811
+2010302812,2010302812
+2010302813,2010302813
+2010302814,2010302814
+2010302815,2010302815
+2010302816,2010302816
+2010302817,2010302817
+2010302818,2010302818
+2010302819,2010302819
+2010302820,2010302820
+2010302821,2010302821
+2010302822,2010302822
+2010302823,2010302823
+2010302824,2010302824
+2010302825,2010302825
+2010302826,2010302826
+2010302827,2010302827
+2010302828,2010302828
+2010302829,2010302829
+2010302830,2010302830
+2010302831,2010302831
+2010302832,2010302832
+2010302833,2010302833
+2010302834,2010302834
+2010302835,2010302835
+2010302836,2010302836
+2010302837,2010302837
+2010302838,2010302838
+2010302839,2010302839
+2010302840,2010302840
+2010302841,2010302841
+2010302842,2010302842
+2010302843,2010302843
+2010302844,2010302844
+2010302845,2010302845
+2010302846,2010302846
+2010302847,2010302847
+2010302848,2010302848
+2010302849,2010302849
+2010302850,2010302850
+2010302851,2010302851
+2010302852,2010302852
+2010302853,2010302853
+2010302854,2010302854
+2010302855,2010302855
+2010302856,2010302856
+2010302857,2010302857
+2010302858,2010302858
+2010302859,2010302859
+2010302860,2010302860
+2010302861,2010302861
+2010302862,2010302862
+2010302863,2010302863
+2010302864,2010302864
+2010302865,2010302865
+2010302866,2010302866
+2010302867,2010302867
+2010302868,2010302868
+2010302869,2010302869
+2010302870,2010302870
+2010302871,2010302871
+2010302872,2010302872
+2010302873,2010302873
+2010302874,2010302874
+2010302875,2010302875
+2010302876,2010302876
+2010302877,2010302877
+2010302878,2010302878
+2010302879,2010302879
+2010302880,2010302880
+2010302881,2010302881
+2010302882,2010302882
+2010302883,2010302883
+2010302884,2010302884
+2010302885,2010302885
+2010302886,2010302886
+2010302887,2010302887
+2010302888,2010302888
+2010302889,2010302889
+2010302890,2010302890
+2010302891,2010302891
+2010302892,2010302892
+2010302893,2010302893
+2010302894,2010302894
+2010302895,2010302895
+2010302896,2010302896
+2010302897,2010302897
+2010302898,2010302898
+2010302899,2010302899
+2010302900,2010302900
+2010302901,2010302901
+2010302902,2010302902
+2010302903,2010302903
+2010302904,2010302904
+2010302905,2010302905
+2010302906,2010302906
+2010302907,2010302907
+2010302908,2010302908
+2010302909,2010302909
+2010302910,2010302910
+2010302911,2010302911
+2010302912,2010302912
+2010302913,2010302913
+2010302914,2010302914
+2010302915,2010302915
+2010302916,2010302916
+2010302917,2010302917
+2010302918,2010302918
+2010302919,2010302919
+2010302920,2010302920
+2010302921,2010302921
+2010302922,2010302922
+2010302923,2010302923
+2010302924,2010302924
+2010302925,2010302925
+2010302926,2010302926
+2010302927,2010302927
+2010302928,2010302928
+2010302929,2010302929
+2010302930,2010302930
+2010302931,2010302931
+2010302933,2010302933
+2010302934,2010302934
+2010302935,2010302935
+2010302936,2010302936
+2010302937,2010302937
+2010302938,2010302938
+2010302939,2010302939
+2010302940,2010302940
+2010302941,2010302941
+2010302942,2010302942
+2010302943,2010302943
+2010302944,2010302944
+2010302945,2010302945
+2010302946,2010302946
+2010302947,2010302947
+2010302948,2010302948
+2010302949,2010302949
+2010302950,2010302950
+2010302951,2010302951
+2010302952,2010302952
+2010302953,2010302953
+2010302954,2010302954
+2010302955,2010302955
+2010302956,2010302956
+2010302957,2010302957
+2010302958,2010302958
+2010302959,2010302959
+2010302960,2010302960
+2010302961,2010302961
+2010302962,2010302962
+2010302963,2010302963
+2010302964,2010302964
+2010302965,2010302965
+2010302966,2010302966
+2010302967,2010302967
+2010302968,2010302968
+2010302969,2010302969
+2010302971,2010302971
+2010302972,2010302972
+2010302973,2010302973
+2010302974,2010302974
+2010302975,2010302975
+2010302976,2010302976
+2010302977,2010302977
+2010302978,2010302978
+2010302979,2010302979
+2010302980,2010302980
+2010302981,2010302981
+2010302982,2010302982
+2010302983,2010302983
+2010302984,2010302984
+2010302985,2010302985
+2010302986,2010302986
+2010302987,2010302987
+2010302988,2010302988
+2010302989,2010302989
+2010302990,2010302990
+2010302991,2010302991
+2010302992,2010302992
+2010302993,2010302993
+2010302994,2010302994
+2010302995,2010302995
+2010302996,2010302996
+2010302997,2010302997
+2010302998,2010302998
+2010302999,2010302999
+2010303001,2010303001
+2010303002,2010303002
+2010303003,2010303003
+2010303004,2010303004
+2010303005,2010303005
+2010303006,2010303006
+2010303007,2010303007
+2010303008,2010303008
+2010303009,2010303009
+2010303010,2010303010
+2010303011,2010303011
+2010303012,2010303012
+2010303013,2010303013
+2010303014,2010303014
+2010303015,2010303015
+2010303016,2010303016
+2010303017,2010303017
+2010303018,2010303018
+2010303019,2010303019
+2010303020,2010303020
+2010303021,2010303021
+2010303022,2010303022
+2010303023,2010303023
+2010303024,2010303024
+2010303025,2010303025
+2010303026,2010303026
+2010303027,2010303027
+2010303028,2010303028
+2010303029,2010303029
+2010303030,2010303030
+2010303031,2010303031
+2010303032,2010303032
+2010303033,2010303033
+2010303034,2010303034
+2010303035,2010303035
+2010303036,2010303036
+2010303037,2010303037
+2010303038,2010303038
+2010303039,2010303039
+2010303040,2010303040
+2010303041,2010303041
+2010303042,2010303042
+2010303043,2010303043
+2010303044,2010303044
+2010303045,2010303045
+2010303046,2010303046
+2010303047,2010303047
+2010303048,2010303048
+2010303049,2010303049
+2010303050,2010303050
+2010303051,2010303051
+2010303052,2010303052
+2010303053,2010303053
+2010303054,2010303054
+2010303055,2010303055
+2010303056,2010303056
+2010303057,2010303057
+2010303058,2010303058
+2010303059,2010303059
+2010303060,2010303060
+2010303061,2010303061
+2010303062,2010303062
+2010303063,2010303063
+2010303064,2010303064
+2010303065,2010303065
+2010303066,2010303066
+2010303067,2010303067
+2010303068,2010303068
+2010303069,2010303069
+2010303070,2010303070
+2010303071,2010303071
+2010303072,2010303072
+2010303073,2010303073
+2010303074,2010303074
+2010303075,2010303075
+2010303076,2010303076
+2010303077,2010303077
+2010303078,2010303078
+2010303079,2010303079
+2010303080,2010303080
+2010303081,2010303081
+2010303082,2010303082
+2010303083,2010303083
+2010303084,2010303084
+2010303085,2010303085
+2010303086,2010303086
+2010303087,2010303087
+2010303088,2010303088
+2010303089,2010303089
+2010303090,2010303090
+2010303091,2010303091
+2010303092,2010303092
+2010303093,2010303093
+2010303094,2010303094
+2010303095,2010303095
+2010303096,2010303096
+2010303097,2010303097
+2010303098,2010303098
+2010303099,2010303099
+2010303100,2010303100
+2010303101,2010303101
+2010303102,2010303102
+2010303103,2010303103
+2010303104,2010303104
+2010303105,2010303105
+2010303106,2010303106
+2010303107,2010303107
+2010303108,2010303108
+2010303109,2010303109
+2010303110,2010303110
+2010303111,2010303111
+2010303112,2010303112
+2010303113,2010303113
+2010303114,2010303114
+2010303115,2010303115
+2010303116,2010303116
+2010303117,2010303117
+2010303118,2010303118
+2010303119,2010303119
+2010303120,2010303120
+2010303121,2010303121
+2010303122,2010303122
+2010303123,2010303123
+2010303124,2010303124
+2010303125,2010303125
+2010303126,2010303126
+2010303127,2010303127
+2010303128,2010303128
+2010303129,2010303129
+2010303130,2010303130
+2010303131,2010303131
+2010303132,2010303132
+2010303133,2010303133
+2010303134,2010303134
+2010303135,2010303135
+2010303136,2010303136
+2010303137,2010303137
+2010303138,2010303138
+2010303139,2010303139
+2010303140,2010303140
+2010303141,2010303141
+2010303142,2010303142
+2010303143,2010303143
+2010303144,2010303144
+2010303145,2010303145
+2010303146,2010303146
+2010303147,2010303147
+2010303148,2010303148
+2010303149,2010303149
+2010303150,2010303150
+2010303151,2010303151
+2010303152,2010303152
+2010303153,2010303153
+2010303154,2010303154
+2010303155,2010303155
+2010303156,2010303156
+2010303157,2010303157
+2010303158,2010303158
+2010303159,2010303159
+2010303160,2010303160
+2010303161,2010303161
+2010303162,2010303162
+2010303163,2010303163
+2010303164,2010303164
+2010303165,2010303165
+2010303166,2010303166
+2010303167,2010303167
+2010303168,2010303168
+2010303169,2010303169
+2010303170,2010303170
+2010303171,2010303171
+2010303172,2010303172
+2010303173,2010303173
+2010303174,2010303174
+2010303175,2010303175
+2010303176,2010303176
+2010303177,2010303177
+2010303178,2010303178
+2010303179,2010303179
+2010303180,2010303180
+2010303181,2010303181
+2010303182,2010303182
+2010303183,2010303183
+2010303184,2010303184
+2010303185,2010303185
+2010303186,2010303186
+2010303187,2010303187
+2010303188,2010303188
+2010303189,2010303189
+2010303190,2010303190
+2010303191,2010303191
+2010303192,2010303192
+2010303193,2010303193
+2010303194,2010303194
+2010303195,2010303195
+2010303196,2010303196
+2010303197,2010303197
+2010303198,2010303198
+2010303199,2010303199
+2010303200,2010303200
+2010303201,2010303201
+2010303202,2010303202
+2010303203,2010303203
+2010303204,2010303204
+2010303205,2010303205
+2010303206,2010303206
+2010303207,2010303207
+2010303208,2010303208
+2010303209,2010303209
+2010303210,2010303210
+2010303211,2010303211
+2010303212,2010303212
+2010303213,2010303213
+2010303214,2010303214
+2010303215,2010303215
+2010303216,2010303216
+2010303217,2010303217
+2010303218,2010303218
+2010303219,2010303219
+2010303220,2010303220
+2010303221,2010303221
+2010303222,2010303222
+2010303223,2010303223
+2010303224,2010303224
+2010303225,2010303225
+2010303226,2010303226
+2010303227,2010303227
+2010303228,2010303228
+2010303229,2010303229
+2010303230,2010303230
+2010303231,2010303231
+2010303232,2010303232
+2010303234,2010303234
+2010303235,2010303235
+2010303236,2010303236
+2010303237,2010303237
+2010303238,2010303238
+2010303239,2010303239
+2010303240,2010303240
+2010303241,2010303241
+2010303242,2010303242
+2010303243,2010303243
+2010303244,2010303244
+2010303245,2010303245
+2010303246,2010303246
+2010303247,2010303247
+2010303248,2010303248
+2010303249,2010303249
+2010303250,2010303250
+2010303251,2010303251
+2010303252,2010303252
+2010303253,2010303253
+2010303254,2010303254
+2010303255,2010303255
+2010303256,2010303256
+2010303257,2010303257
+2010303258,2010303258
+2010303259,2010303259
+2010303260,2010303260
+2010303261,2010303261
+2010303262,2010303262
+2010303263,2010303263
+2010303264,2010303264
+2010303265,2010303265
+2010303266,2010303266
+2010303267,2010303267
+2010303268,2010303268
+2010303269,2010303269
+2010303270,2010303270
+2010303271,2010303271
+2010303272,2010303272
+2010303273,2010303273
+2010303274,2010303274
+2010303275,2010303275
+2010303276,2010303276
+2010303277,2010303277
+2010303278,2010303278
+2010303279,2010303279
+2010303280,2010303280
+2010303281,2010303281
+2010303282,2010303282
+2010303283,2010303283
+2010303284,2010303284
+2010303285,2010303285
+2010303286,2010303286
+2010303287,2010303287
+2010303288,2010303288
+2010303289,2010303289
+2010303290,2010303290
+2010303291,2010303291
+2010303292,2010303292
+2010303293,2010303293
+2010303294,2010303294
+2010303295,2010303295
+2010303296,2010303296
+2010303297,2010303297
+2010303298,2010303298
+2010303299,2010303299
+2010303300,2010303300
+2010303301,2010303301
+2010303302,2010303302
+2010303303,2010303303
+2010303304,2010303304
+2010303305,2010303305
+2010303306,2010303306
+2010303307,2010303307
+2010303308,2010303308
+2010303309,2010303309
+2010303310,2010303310
+2010303311,2010303311
+2010303312,2010303312
+2010303313,2010303313
+2010303314,2010303314
+2010303315,2010303315
+2010303316,2010303316
+2010303317,2010303317
+2010303318,2010303318
+2010303319,2010303319
+2010303320,2010303320
+2010303321,2010303321
+2010303322,2010303322
+2010303323,2010303323
+2010303324,2010303324
+2010303325,2010303325
+2010303326,2010303326
+2010303327,2010303327
+2010303328,2010303328
+2010303329,2010303329
+2010303330,2010303330
+2010303331,2010303331
+2010303332,2010303332
+2010303333,2010303333
+2010303334,2010303334
+2010303335,2010303335
+2010303336,2010303336
+2010303337,2010303337
+2010303338,2010303338
+2010303339,2010303339
+2010303340,2010303340
+2010303341,2010303341
+2010303342,2010303342
+2010303343,2010303343
+2010303344,2010303344
+2010303345,2010303345
+2010303346,2010303346
+2010303347,2010303347
+2010303348,2010303348
+2010303349,2010303349
+2010303350,2010303350
+2010303351,2010303351
+2010303352,2010303352
+2010303353,2010303353
+2010303354,2010303354
+2010303355,2010303355
+2010303356,2010303356
+2010303357,2010303357
+2010303358,2010303358
+2010303359,2010303359
+2010303360,2010303360
+2010303362,2010303362
+2010303363,2010303363
+2010303364,2010303364
+2010303365,2010303365
+2010303366,2010303366
+2010303367,2010303367
+2010303368,2010303368
+2010303369,2010303369
+2010303370,2010303370
+2010303371,2010303371
+2010303372,2010303372
+2010303373,2010303373
+2010303374,2010303374
+2010303375,2010303375
+2010303376,2010303376
+2010303377,2010303377
+2010303378,2010303378
+2010303379,2010303379
+2010303380,2010303380
+2010303381,2010303381
+2010303382,2010303382
+2010303383,2010303383
+2010303384,2010303384
+2010303385,2010303385
+2010303386,2010303386
+2010303387,2010303387
+2010303388,2010303388
+2010303389,2010303389
+2010303390,2010303390
+2010303391,2010303391
+2010303392,2010303392
+2010303393,2010303393
+2010303394,2010303394
+2010303395,2010303395
+2010303396,2010303396
+2010303397,2010303397
+2010303398,2010303398
+2010303399,2010303399
+2010303400,2010303400
+2010303401,2010303401
+2010303402,2010303402
+2010303403,2010303403
+2010303404,2010303404
+2010303405,2010303405
+2010303406,2010303406
+2010303407,2010303407
+2010303408,2010303408
+2010303409,2010303409
+2010303410,2010303410
+2010303411,2010303411
+2010303412,2010303412
+2010303413,2010303413
+2010303414,2010303414
+2010303415,2010303415
+2010303416,2010303416
+2010303417,2010303417
+2010303418,2010303418
+2010303419,2010303419
+2010303420,2010303420
+2010303421,2010303421
+2010303422,2010303422
+2010303423,2010303423
+2010303424,2010303424
+2010303425,2010303425
+2010303426,2010303426
+2010303427,2010303427
+2010303428,2010303428
+2010303429,2010303429
+2010303430,2010303430
+2010303431,2010303431
+2010303432,2010303432
+2010303433,2010303433
+2010303434,2010303434
+2010303435,2010303435
+2010303436,2010303436
+2010303437,2010303437
+2010303438,2010303438
+2010303439,2010303439
+2010303440,2010303440
+2010303441,2010303441
+2010303442,2010303442
+2010303443,2010303443
+2010303444,2010303444
+2010303445,2010303445
+2010303446,2010303446
+2010303447,2010303447
+2010303448,2010303448
+2010303449,2010303449
+2010303450,2010303450
+2010303451,2010303451
+2010303452,2010303452
+2010303453,2010303453
+2010303454,2010303454
+2010303455,2010303455
+2010303456,2010303456
+2010303457,2010303457
+2010303458,2010303458
+2010303459,2010303459
+2010303460,2010303460
+2010303461,2010303461
+2010303462,2010303462
+2010303463,2010303463
+2010303464,2010303464
+2010303465,2010303465
+2010303466,2010303466
+2010303467,2010303467
+2010303468,2010303468
+2010303469,2010303469
+2010303470,2010303470
+2010303471,2010303471
+2010303472,2010303472
+2010303473,2010303473
+2010303474,2010303474
+2010303475,2010303475
+2010303476,2010303476
+2010303477,2010303477
+2010303478,2010303478
+2010303479,2010303479
+2010303480,2010303480
+2010303481,2010303481
+2010303482,2010303482
+2010303483,2010303483
+2010303484,2010303484
+2010303485,2010303485
+2010303486,2010303486
+2010303487,2010303487
+2010303488,2010303488
+2010303489,2010303489
+2010303490,2010303490
+2010303491,2010303491
+2010303492,2010303492
+2010303493,2010303493
+2010303494,2010303494
+2010303495,2010303495
+2010303496,2010303496
+2010303497,2010303497
+2010303498,2010303498
+2010303499,2010303499
+2010303500,2010303500
+2010303501,2010303501
+2010303502,2010303502
+2010303503,2010303503
+2010303504,2010303504
+2010303505,2010303505
+2010303506,2010303506
+2010303507,2010303507
+2010303508,2010303508
+2010303509,2010303509
+2010303510,2010303510
+2010303511,2010303511
+2010303512,2010303512
+2010303513,2010303513
+2010303514,2010303514
+2010303515,2010303515
+2010303516,2010303516
+2010303517,2010303517
+2010303518,2010303518
+2010303519,2010303519
+2010303520,2010303520
+2010303521,2010303521
+2010303522,2010303522
+2010303523,2010303523
+2010303524,2010303524
+2010303525,2010303525
+2010303526,2010303526
+2010303527,2010303527
+2010303528,2010303528
+2010303529,2010303529
+2010303530,2010303530
+2010303531,2010303531
+2010303532,2010303532
+2010303533,2010303533
+2010303534,2010303534
+2010303535,2010303535
+2010303536,2010303536
+2010303537,2010303537
+2010303538,2010303538
+2010303539,2010303539
+2010303540,2010303540
+2010303541,2010303541
+2010303542,2010303542
+2010303543,2010303543
+2010303544,2010303544
+2010303545,2010303545
+2010303546,2010303546
+2010303547,2010303547
+2010303548,2010303548
+2010303549,2010303549
+2010303550,2010303550
+2010303551,2010303551
+2010303552,2010303552
+2010303553,2010303553
+2010303554,2010303554
+2010303555,2010303555
+2010303556,2010303556
+2010303557,2010303557
+2010303558,2010303558
+2010303559,2010303559
+2010303560,2010303560
+2010303561,2010303561
+2010303562,2010303562
+2010303563,2010303563
+2010303564,2010303564
+2010303565,2010303565
+2010410001,2010410001
+2010410003,2010410003
+2010410004,2010410004
+2010410005,2010410005
+2010410006,2010410006
+2010410007,2010410007
+2010410008,2010410008
+2010420001,2010420001
+2010420002,2010420002
+2010420003,2010420003
+2010420004,2010420004
+2010420007,2010420007
+2010420008,2010420008
+2010420009,2010420009
+2010420010,2010420010
+2010420011,2010420011
+2010420012,2010420012
+2010420013,2010420013
+2010420014,2010420014
+2010420015,2010420015
+2010420016,2010420016
+2010420017,2010420017
+2010420018,2010420018
+2010420019,2010420019
+2010420020,2010420020
+2010420021,2010420021
+2010420022,2010420022
+2010420023,2010420023
+2010420024,2010420024
+2010420025,2010420025
+2010430001,2010430001
+2010430002,2010430002
+2010430003,2010430003
+2010430004,2010430004
+2010430005,2010430005
+2010430006,2010430006
+2010430007,2010430007
+2010430008,2010430008
+2010430009,2010430009
+2010430011,2010430011
+2010430012,2010430012
+2010430013,2010430013
+2010430014,2010430014
+2010430021,2010430021
+2010430022,2010430022
+2010430023,2010430023
+2010430024,2010430024
+2010430025,2010430025
+2010430026,2010430026
+2010430027,2010430027
+2010430029,2010430029
+2010430030,2010430030
+2010430031,2010430031
+2010430032,2010430032
+2010430033,2010430033
+2010430036,2010430036
+2010430037,2010430037
+2010430038,2010430038
+2010430039,2010430039
+2010430040,2010430040
+2010430041,2010430041
+2010430042,2010430042
+2010430043,2010430043
+2010430044,2010430044
+2010430045,2010430045
+2010430046,2010430046
+2010430047,2010430047
+2010430048,2010430048
+2010430049,2010430049
+2010430050,2010430050
+2010430051,2010430051
+2010430052,2010430052
+2010430053,2010430053
+2010430054,2010430054
+2010430055,2010430055
+2010430056,2010430056
+2010430057,2010430057
+2010430058,2010430058
+2010430059,2010430059
+2010430060,2010430060
+2010430061,2010430061
+2010430062,2010430062
+2010430063,2010430063
+2011000111,2011000111
+2011010001,056040222
+2011010002,057090259
+2011010003,046020118
+2011010004,057070026
+2011010005,057040129
+2011010006,2007100100
+2011010007,066020097
+2011010008,046090504
+2011010010,067020250
+2011010011,067106177
+2011010014,046050335
+2011010015,2011010015
+2011010021,067180626
+2011010022,2007201411
+2011010023,056136859
+2011010024,2008201963
+2011010025,042917
+2011010026,2008200086
+2011010027,2008200729
+2011010028,2011010028
+2011010029,040625
+2011010030,047050184
+2011010031,2008201900
+2011010033,2011010033
+2011010034,046010040
+2011010035,2011010035
+2011010036,046076377
+2011010037,2011010037
+2011010038,2011010038
+2011010039,2011010039
+2011010049,2011010049
+2011010050,2008201751
+2011010051,056060362
+2011010052,057030110
+2011010053,2007100215
+2011010055,046110706
+2011010056,2011010056
+2011010057,2011010057
+2011010058,2008200366
+2011010060,2007201471
+2011010061,2008200829
+2011010062,2011010062
+2011010063,2011010063
+2011010064,047040122
+2011010065,2011010065
+2011010066,2011010066
+2011010067,2011010067
+2011010072,2007302196
+2011010073,2011010073
+2011010074,046110702
+2011010075,043419
+2011010076,2011010076
+2011010077,2011010077
+2011010078,2007200203
+2011010079,067020251
+2011010080,056080438
+2011010081,2011010081
+2011010082,057030012
+2011010083,057114225
+2011010084,2011010084
+2011010085,056040237
+2011010087,2011010087
+2011010089,046106677
+2011010090,2011010090
+2011010091,2011010091
+2011010097,2011010097
+2011010101,2011010101
+2011010102,046010067
+2011010103,067030286
+2011010104,056080467
+2011010105,057030098
+2011010106,2011010106
+2011010107,067010009
+2011010108,2011010108
+2011010109,2011010109
+2011010110,2011010110
+2011010112,2003000036
+2011010119,2011010119
+2011010121,056110702
+2011010122,056110666
+2011010123,046100654
+2011010124,056050279
+2011010125,056140808
+2011010126,056090507
+2011010127,046060383
+2011010128,2011010128
+2011010129,067060416
+2011010130,2011010130
+2011030009,2011030009
+2011030012,066090516
+2011030013,057080239
+2011030019,2011030019
+2011030020,057010070
+2011030040,057080245
+2011030046,056030140
+2011030047,046040219
+2011030048,2011030048
+2011030054,046090508
+2011030059,046046195
+2011030068,2007100370
+2011030069,067050377
+2011030070,057050190
+2011030071,046080470
+2011030086,077186151
+2011030094,2001030127
+2011030095,2011030095
+2011030096,056050299
+2011030098,067020265
+2011030099,047020086
+2011030100,2011030100
+2011030113,046076379
+2011030114,2011030114
+2011030115,2011030115
+2011030120,066040211
+2011060018,2011060018
+2011060032,2011060032
+2011060088,2011060088
+2011060116,2011060116
+2011060117,2011060117
+2011060118,2011060118
+2011100001,2011100001
+2011100002,2011100002
+2011100003,2011100003
+2011100004,2011100004
+2011100005,2011100005
+2011100006,2011100006
+2011100007,2008200105
+2011100008,2011100008
+2011100009,040130
+2011100010,2011100010
+2011100011,2011100011
+2011100012,040429
+2011100013,056026052
+2011100014,2011100014
+2011100015,042207
+2011100016,2011100016
+2011100017,2007250124
+2011100018,2007201197
+2011100019,2011100019
+2011100020,2011100020
+2011100021,2008200202
+2011100022,2011100022
+2011100023,2011100023
+2011100024,2011100024
+2011100025,2011100025
+2011100026,2011100026
+2011100027,2011100027
+2011100028,2008200371
+2011100029,2011100029
+2011100030,2011100030
+2011100031,046030155
+2011100032,2011100032
+2011100033,2011100033
+2011100034,2011100034
+2011100035,066030128
+2011100036,040027
+2011100037,2011100037
+2011100038,2011100038
+2011100039,2011100039
+2011100040,2011100040
+2011100041,2011100041
+2011100042,2010100316
+2011100043,2011100043
+2011100044,2011100044
+2011100045,2011100045
+2011100046,2011100046
+2011100047,2011100047
+2011100048,2011100048
+2011100049,2011100049
+2011100050,2011100050
+2011100051,2011100051
+2011100052,2011100052
+2011100053,2011100053
+2011100054,2011100054
+2011100055,2011100055
+2011100056,2011100056
+2011100057,040836
+2011100058,2011100058
+2011100059,046040246
+2011100060,2011100060
+2011100061,2011100061
+2011100062,2011100062
+2011100063,066040233
+2011100064,2011100064
+2011100065,056046136
+2011100066,046046184
+2011100067,2011100067
+2011100068,2011100068
+2011100069,2011100069
+2011100070,2011100070
+2011100071,2011100071
+2011100072,2011100072
+2011100073,2011100073
+2011100074,2011100074
+2011100075,2011100075
+2011100076,2011100076
+2011100077,2011100077
+2011100078,2011100078
+2011100079,2011100079
+2011100080,2011100080
+2011100081,2011100081
+2011100082,2011100082
+2011100083,2011100083
+2011100084,2011100084
+2011100085,2011100085
+2011100086,2011100086
+2011100087,2011100087
+2011100088,2011100088
+2011100089,2011100089
+2011100090,056026057
+2011100091,046115077
+2011100092,2011100092
+2011100093,041406
+2011100094,2004000067
+2011100095,2011100095
+2011100096,2011100096
+2011100097,2011100097
+2011100098,2011100098
+2011100099,2011100099
+2011100100,2011100100
+2011100101,2011100101
+2011100102,2011100102
+2011100103,2011100103
+2011100104,2011100104
+2011100105,2008200984
+2011100106,2011100106
+2011100107,2011100107
+2011100108,041878
+2011100109,2011100109
+2011100110,2011100110
+2011100111,2011100111
+2011100112,2011100112
+2011100113,2011100113
+2011100114,2011100114
+2011100115,2011100115
+2011100116,2011100116
+2011100117,2008201087
+2011100118,2005020064
+2011100119,2011100119
+2011100120,2011100120
+2011100121,2011100121
+2011100122,066050294
+2011100123,2011100123
+2011100124,2011100124
+2011100125,2011100125
+2011100126,2001000059
+2011100127,2011100127
+2011100128,2011100128
+2011100129,2011100129
+2011100130,2011100130
+2011100131,2011100131
+2011100132,056130781
+2011100133,2011100133
+2011100134,2011100134
+2011100135,2011100135
+2011100136,2011100136
+2011100137,2011100137
+2011100138,2011100138
+2011100139,2011100139
+2011100140,2011100140
+2011100141,2011100141
+2011100142,2011100142
+2011100143,2011100143
+2011100144,2007200894
+2011100145,046115082
+2011100146,2011100146
+2011100147,2011100147
+2011100148,2011100148
+2011100149,2011100149
+2011100150,2011100150
+2011100151,2011100151
+2011100152,2011100152
+2011100153,2011100153
+2011100154,2011100154
+2011100155,2007201400
+2011100156,2011100156
+2011100157,2011100157
+2011100158,2011100158
+2011100159,2011100159
+2011100160,046106624
+2011100161,042691
+2011100162,2008201982
+2011100163,2011100163
+2011100164,2011100164
+2011100165,2008201061
+2011100166,046114116
+2011100167,2011100167
+2011100168,2011100168
+2011100169,2011100169
+2011100170,046110757
+2011100171,2011100171
+2011100172,2011100172
+2011100173,2011100173
+2011100174,2011100174
+2011100175,2011100175
+2011100176,2011100176
+2011100177,2011100177
+2011100178,2011100178
+2011100179,2011100179
+2011100180,2011100180
+2011100181,2011100181
+2011100182,2011100182
+2011100183,2011100183
+2011100184,2011100184
+2011100185,2011100185
+2011100186,2011100186
+2011100187,2011100187
+2011100188,2011100188
+2011100189,2011100189
+2011100190,2008201786
+2011100191,2010000002
+2011100192,2007010057
+2011100193,046130801
+2011100194,2003000114
+2011100195,2011100195
+2011100196,2011100196
+2011100197,2011100197
+2011100198,2011100198
+2011100199,2011100199
+2011100200,2011100200
+2011100201,2011100201
+2011100202,2011100202
+2011100203,2011100203
+2011100204,050001
+2011100205,2011100205
+2011100206,2011100206
+2011100207,060409
+2011100208,060190
+2011100209,2007300120
+2011100210,2011100210
+2011100211,2011100211
+2011100212,2009200027
+2011100213,2011100213
+2011100214,2008200112
+2011100215,2009200029
+2011100216,2009200023
+2011100217,2007300207
+2011100218,2011100218
+2011100219,050123
+2011100220,040269
+2011100221,050287
+2011100222,050101
+2011100223,2007300396
+2011100224,040270
+2011100225,050036
+2011100226,062735
+2011100227,2007200079
+2011100228,050092
+2011100229,2008200137
+2011100230,060047
+2011100231,060220
+2011100232,2007300073
+2011100233,060089
+2011100234,060295
+2011100235,2007300293
+2011100236,060106
+2011100237,060018
+2011100238,060114
+2011100239,2007303373
+2011100240,2007301506
+2011100241,050136
+2011100242,050180
+2011100243,050087
+2011100244,050009
+2011100245,060381
+2011100246,050090
+2011100247,050166
+2011100248,060196
+2011100249,060393
+2011100250,060201
+2011100251,050389
+2011100252,050377
+2011100253,062068
+2011100254,040032
+2011100255,050386
+2011100256,052449
+2011100257,050415
+2011100258,040554
+2011100259,052156
+2011100260,053552
+2011100261,053572
+2011100262,2011100262
+2011100263,052444
+2011100264,2011100264
+2011100265,2019010248
+2011100266,060461
+2011100267,050371
+2011100268,051508
+2011100269,060514
+2011100270,040535
+2011100271,2007300063
+2011100272,2007300091
+2011100273,2007301714
+2011100274,2007300582
+2011100275,050434
+2011100276,2010200302
+2011100277,060594
+2011100278,060068
+2011100279,060004
+2011100280,2011100280
+2011100281,2011100281
+2011100282,052852
+2011100283,056030150
+2011100284,2011100284
+2011100285,050674
+2011100286,060053
+2011100287,2007300117
+2011100288,2011100288
+2011100289,2009200398
+2011100290,2007300074
+2011100291,2011100291
+2011100292,050572
+2011100293,2007300723
+2011100294,040740
+2011100295,2009200344
+2011100296,060121
+2011100297,053530
+2011100298,2007301455
+2011100299,060108
+2011100300,2007300113
+2011100301,063528
+2011100302,2011100302
+2011100303,2007300034
+2011100304,050645
+2011100305,2009200411
+2011100306,2007300118
+2011100307,2011100307
+2011100308,050452
+2011100309,2007300115
+2011100310,2007300112
+2011100311,2011100311
+2011100312,060016
+2011100313,2007300619
+2011100314,060013
+2011100315,2007300055
+2011100316,2007300056
+2011100317,2007300065
+2011100318,2007300057
+2011100319,2007300070
+2011100320,053527
+2011100321,2007300072
+2011100322,2007300645
+2011100323,041011
+2011100324,2009200537
+2011100325,040863
+2011100326,2011100326
+2011100327,2011100327
+2011100328,2011100328
+2011100329,2011100329
+2011100330,2009200481
+2011100331,2010200493
+2011100332,040940
+2011100333,2011100333
+2011100334,2011100334
+2011100335,040866
+2011100336,2010200508
+2011100337,060845
+2011100338,2009200487
+2011100339,2010200516
+2011100340,060983
+2011100341,2011100341
+2011100342,2009200562
+2011100343,050736
+2011100344,2011100344
+2011100345,050758
+2011100346,2009200559
+2011100347,041001
+2011100348,2009200094
+2011100349,2009200525
+2011100350,052844
+2011100351,2010200536
+2011100352,2009200553
+2011100353,050714
+2011100354,2009200551
+2011100355,060971
+2011100356,2011100356
+2011100357,2007300847
+2011100358,2007300825
+2011100359,2007300838
+2011100360,2009200574
+2011100361,2008200604
+2011100362,2011100362
+2011100363,2011100363
+2011100364,2011100364
+2011100365,2009200603
+2011100366,2007300933
+2011100367,2010200606
+2011100368,2011100368
+2011100369,2011100369
+2011100370,2008200573
+2011100371,2009201778
+2011100372,2010200614
+2011100373,2007300975
+2011100374,052927
+2011100375,2009200619
+2011100376,2011100376
+2011100377,2009200626
+2011100378,2011100378
+2011100379,2007300896
+2011100380,2011100380
+2011100381,2011100381
+2011100382,2010200642
+2011100383,2009200651
+2011100384,2011100384
+2011100385,2009200657
+2011100386,052859
+2011100387,2007300111
+2011100388,2010200697
+2011100389,2011100389
+2011100390,051174
+2011100391,2011100391
+2011100392,061189
+2011100393,051035
+2011100394,2011100394
+2011100395,2007300022
+2011100396,2007301312
+2011100397,2009200758
+2011100398,2011100398
+2011100399,2007301141
+2011100400,2007301215
+2011100401,2010200763
+2011100402,2011100402
+2011100403,2011100403
+2011100404,2009200711
+2011100405,2007301260
+2011100406,2007301248
+2011100407,2007302060
+2011100408,040105
+2011100409,2011100409
+2011100410,050901
+2011100411,051225
+2011100412,050910
+2011100413,060045
+2011100414,2011100414
+2011100415,2007301079
+2011100416,2007301138
+2011100417,061077
+2011100418,2009200896
+2011100419,050977
+2011100420,2007301043
+2011100421,050961
+2011100422,050986
+2011100423,2011100423
+2011100424,2007301046
+2011100425,050987
+2011100426,050940
+2011100427,2007301089
+2011100428,050948
+2011100429,050985
+2011100430,061075
+2011100431,052370
+2011100432,053569
+2011100433,2007301142
+2011100434,2009200876
+2011100435,2011100435
+2011100436,2006020104
+2011100437,060070
+2011100438,053493
+2011100439,2011100439
+2011100440,046116715
+2011100441,2007301334
+2011100442,061420
+2011100443,061394
+2011100444,061399
+2011100445,061334
+2011100446,2009200966
+2011100447,2007301340
+2011100448,042229
+2011100449,2007301338
+2011100450,2011100450
+2011100451,2007301602
+2011100452,051481
+2011100453,063464
+2011100454,2007301557
+2011100455,061528
+2011100456,041717
+2011100457,061505
+2011100458,2009201065
+2011100459,2009201073
+2011100460,061450
+2011100461,061569
+2011100462,2011100462
+2011100463,062878
+2011100464,062874
+2011100465,066110713
+2011100466,061571
+2011100467,2011100467
+2011100468,2009200994
+2011100469,2011100469
+2011100470,2011100470
+2011100471,2009201116
+2011100472,2011100472
+2011100473,2009201124
+2011100474,2011100474
+2011100475,051864
+2011100476,051806
+2011100477,041982
+2011100478,2011100478
+2011100479,2007301774
+2011100480,042004
+2011100481,2007300059
+2011100482,051815
+2011100483,051830
+2011100484,2011100484
+2011100485,2011100485
+2011100486,052877
+2011100487,041962
+2011100488,2011100488
+2011100489,2007302160
+2011100490,051950
+2011100491,2009201263
+2011100492,053547
+2011100493,062284
+2011100494,042330
+2011100495,2009201386
+2011100496,2011100496
+2011100497,2011100497
+2011100498,2007300013
+2011100499,2007300014
+2011100500,052294
+2011100501,2007302109
+2011100502,2007302098
+2011100503,053482
+2011100504,2009201378
+2011100505,2007302108
+2011100506,2011100506
+2011100507,2011100507
+2011100508,2009201409
+2011100509,066090510
+2011100510,2007200314
+2011100511,051291
+2011100512,062573
+2011100513,052373
+2011100514,2011100514
+2011100515,2009201425
+2011100516,2009201432
+2011100517,053550
+2011100518,052349
+2011100519,060051
+2011100520,066090491
+2011100521,052203
+2011100522,2007201059
+2011100523,2011100523
+2011100524,043375
+2011100525,2011100525
+2011100526,2011100526
+2011100527,2011100527
+2011100528,2011100528
+2011100529,2007302233
+2011100530,2011100530
+2011100531,2009201513
+2011100532,2009201637
+2011100533,2011100533
+2011100534,2009201526
+2011100535,2011100535
+2011100536,053564
+2011100537,2010201381
+2011100538,040672
+2011100539,2009201528
+2011100540,2009201533
+2011100541,053474
+2011100542,052129
+2011100543,062234
+2011100544,2011100544
+2011100545,2011100545
+2011100546,2008100376
+2011100547,2011100547
+2011100548,2010201562
+2011100549,2011100549
+2011100550,052491
+2011100551,063305
+2011100552,2011100552
+2011100553,2007302438
+2011100554,2011100554
+2011100555,063516
+2011100556,2011100556
+2011100557,2007300035
+2011100558,060098
+2011100559,2007302341
+2011100560,2008201529
+2011100561,2011100561
+2011100562,2007302517
+2011100563,2011100563
+2011100564,2011100564
+2011100565,2008201590
+2011100566,2011100566
+2011100567,2011100567
+2011100568,2009201749
+2011100569,062594
+2011100570,2009201750
+2011100571,2009201768
+2011100572,2009201748
+2011100573,052832
+2011100574,032293
+2011100575,042881
+2011100576,2011100173
+2011100577,062669
+2011100578,062845
+2011100579,2011100579
+2011100580,2011100580
+2011100581,2011100581
+2011100582,2009201876
+2011100583,2007302725
+2011100584,2011100584
+2011100585,2007201466
+2011100586,2011100586
+2011100587,2009201776
+2011100588,2009201836
+2011100589,2007302634
+2011100590,052869
+2011100591,2007302650
+2011100592,053080
+2011100593,062823
+2011100594,053023
+2011100595,2007302741
+2011100596,2011100596
+2011100597,062842
+2011100598,2010201797
+2011100599,2005020075
+2011100600,2007201527
+2011100601,2011100601
+2011100602,2007302785
+2011100603,2010201943
+2011100604,2009201945
+2011100605,042890
+2011100606,1987000066
+2011100607,2011100607
+2011100608,053330
+2011100609,2009201903
+2011100610,2011100610
+2011100611,2009201950
+2011100612,2011100612
+2011100613,2009201910
+2011100614,2011100614
+2011100615,2011100615
+2011100616,2004000089
+2011100617,2009202232
+2011100618,2008202066
+2011100619,2011100619
+2011100620,2009202230
+2011100621,2010202332
+2011140001,2011140001
+2011140002,2011140002
+2011140004,2011140004
+2011150001,046080459
+2011150002,040070
+2011150003,2011150003
+2011150004,2011150004
+2011150005,2011150005
+2011150006,2011150006
+2011150007,2011150007
+2011150008,2011150008
+2011150009,2011150009
+2011200001,2007300275
+2011200002,2011200002
+2011200003,2007300375
+2011200004,2007300398
+2011200005,2007300370
+2011200006,060273
+2011200007,2007302568
+2011200008,2007300269
+2011200009,2007300381
+2011200010,2011200010
+2011200011,2011200011
+2011200012,2007300152
+2011200013,2007300302
+2011200014,2007300027
+2011200015,2007300234
+2011200016,2007300031
+2011200017,2007300064
+2011200018,060218
+2011200019,2011200019
+2011200020,2007300307
+2011200021,2007300391
+2011200022,2007300172
+2011200023,2007300379
+2011200024,2011200024
+2011200025,2007301061
+2011200026,2011200026
+2011200027,2011200027
+2011200028,2007300249
+2011200029,2007300311
+2011200030,2007300145
+2011200031,2007300374
+2011200032,2011200032
+2011200033,062606
+2011200034,2007300236
+2011200035,2007300179
+2011200036,2007300178
+2011200037,2007300124
+2011200038,2011200038
+2011200039,2007300320
+2011200040,2007300299
+2011200041,2007300116
+2011200042,2007300082
+2011200043,050061
+2011200044,2007300103
+2011200045,2011200045
+2011200046,050054
+2011200047,2007300279
+2011200048,2007300208
+2011200049,2007300150
+2011200050,2007300409
+2011200051,2007300414
+2011200052,2007300393
+2011200053,050040
+2011200054,2007300351
+2011200055,2007300159
+2011200056,2007300060
+2011200057,2007300215
+2011200058,2007300127
+2011200059,2007300188
+2011200060,2007300251
+2011200061,2007300028
+2011200062,050038
+2011200063,2007300149
+2011200064,2007300238
+2011200065,2007300303
+2011200066,2007300412
+2011200067,2007300135
+2011200068,2007300121
+2011200069,2007300386
+2011200070,2007300350
+2011200071,2007300142
+2011200072,2007300032
+2011200073,2007300132
+2011200074,2007300260
+2011200075,2007300271
+2011200076,2007300235
+2011200077,050067
+2011200078,2007300258
+2011200079,2007300156
+2011200080,2007300289
+2011200081,2011200081
+2011200082,2011200082
+2011200083,2011200083
+2011200084,2007300383
+2011200085,2011200085
+2011200086,2011200086
+2011200087,2007300384
+2011200088,2007300431
+2011200089,2007300410
+2011200090,2007301917
+2011200091,2007300411
+2011200092,2011200092
+2011200093,2007300408
+2011200094,2007300421
+2011200095,2011200095
+2011200096,2007300342
+2011200097,2007300327
+2011200098,2007300274
+2011200099,2007300183
+2011200100,2011200100
+2011200101,2007300338
+2011200102,2007300184
+2011200103,2011200103
+2011200104,2007300231
+2011200105,2007300066
+2011200106,2007300317
+2011200107,2007300071
+2011200108,050074
+2011200109,2011200109
+2011200110,040206
+2011200111,2011200111
+2011200112,2011200112
+2011200113,2007300101
+2011200114,2007300197
+2011200115,2007300126
+2011200116,2007300263
+2011200117,2007300079
+2011200118,2007300069
+2011200119,2007300273
+2011200120,2007300224
+2011200121,2007300133
+2011200122,2007300356
+2011200123,2007300190
+2011200124,2007300252
+2011200125,2011200125
+2011200126,2007300170
+2011200127,2011200127
+2011200128,2007300169
+2011200129,2007301471
+2011200130,2011200130
+2011200131,052725
+2011200132,2007301232
+2011200133,2011200133
+2011200134,2007300609
+2011200135,2007300415
+2011200136,2007300209
+2011200137,2007300077
+2011200138,2007300080
+2011200139,2007300288
+2011200140,2011200140
+2011200141,2007300306
+2011200142,050039
+2011200143,062619
+2011200144,060404
+2011200145,2007300278
+2011200146,2011200146
+2011200147,2007300227
+2011200148,050015
+2011200149,052729
+2011200150,2011200150
+2011200151,2007300380
+2011200152,2007300312
+2011200153,2007300067
+2011200154,2011200154
+2011200155,2011200155
+2011200156,2011200156
+2011200157,2011200157
+2011200158,050028
+2011200159,2007300292
+2011200160,2011200160
+2011200161,2011200161
+2011200162,2011200162
+2011200163,2007300367
+2011200164,2007301463
+2011200165,2011200165
+2011200166,2007300202
+2011200167,2007300138
+2011200168,2011200168
+2011200169,052726
+2011200170,2011200170
+2011200171,2007300141
+2011200172,2007300373
+2011200173,2007300233
+2011200174,2007300457
+2011200175,2007300313
+2011200176,2007300584
+2011200177,2011200177
+2011200178,2007300228
+2011200179,2007300382
+2011200180,050104
+2011200217,2011200217
+2011200218,2011200218
+2011200219,2011200219
+2011200220,2007300526
+2011200221,2011200221
+2011200222,2011200222
+2011200223,2007300023
+2011200224,2007302269
+2011200225,2011200225
+2011200226,2011200226
+2011200227,2011200227
+2011200228,2007303309
+2011200229,2007300544
+2011200230,2007300109
+2011200231,2007300538
+2011200232,2011200232
+2011200233,2007300501
+2011200234,2007300565
+2011200235,2007300545
+2011200236,2007301950
+2011200237,2011200237
+2011200238,2011200238
+2011200239,2007300566
+2011200240,2011200240
+2011200241,2007300543
+2011200242,2011200242
+2011200243,2011200243
+2011200244,2007301583
+2011200245,050409
+2011200246,2007300089
+2011200247,2007300038
+2011200248,2007300535
+2011200249,2007300085
+2011200250,2007300557
+2011200251,2007301652
+2011200252,2011200252
+2011200253,2011200253
+2011200254,2011200254
+2011200255,2007300576
+2011200256,2007301951
+2011200257,2007300569
+2011200258,060112
+2011200259,2007300540
+2011200260,2011200260
+2011200261,2007300554
+2011200262,2007300570
+2011200263,2007300083
+2011200264,050379
+2011200265,2011200265
+2011200266,2011200266
+2011200267,2007300002
+2011200268,2007300088
+2011200269,2007301073
+2011200270,2011200270
+2011200271,2011200271
+2011200272,2011200272
+2011200273,2011200273
+2011200274,2007300504
+2011200275,2007300522
+2011200276,2007300494
+2011200277,2007302484
+2011200278,2007300051
+2011200279,2007300020
+2011200280,050332
+2011200281,2011200281
+2011200282,050365
+2011200283,2007300519
+2011200284,2007300492
+2011200285,2011200285
+2011200286,2007300480
+2011200287,2011200287
+2011200288,2007300508
+2011200289,2007300517
+2011200290,2007300078
+2011200291,2011200291
+2011200292,2007300441
+2011200293,2007300096
+2011200294,2011200294
+2011200295,2011200295
+2011200296,060492
+2011200297,2007300482
+2011200298,2007300525
+2011200299,2007300478
+2011200300,2007300465
+2011200301,2007302497
+2011200302,2007300464
+2011200303,2007300469
+2011200304,2007300460
+2011200305,2007300516
+2011200306,2007300499
+2011200307,2007300466
+2011200308,2011200308
+2011200309,2007300474
+2011200310,2007300053
+2011200311,2007300092
+2011200312,2007300119
+2011200313,2007300503
+2011200314,2011200314
+2011200315,2011200315
+2011200316,2011200316
+2011200317,050441
+2011200318,2007300593
+2011200319,2007300029
+2011200320,2007300602
+2011200321,2007300104
+2011200322,2011200322
+2011200323,2007300581
+2011200324,2007301618
+2011200325,2007300605
+2011200326,2007300588
+2011200327,2007300430
+2011200328,2011200328
+2011200329,2011200329
+2011200330,050426
+2011200331,2007301487
+2011200332,2011200332
+2011200333,2011200333
+2011200334,2007301563
+2011200335,050382
+2011200336,2007300577
+2011200337,050448
+2011200338,2007300585
+2011200377,2007300779
+2011200378,2007300782
+2011200379,2007300764
+2011200380,2007300786
+2011200381,2007300784
+2011200382,2007300650
+2011200383,2007300624
+2011200384,2011200384
+2011200385,2007300710
+2011200386,2007300629
+2011200387,2007300623
+2011200388,050463
+2011200389,2007300614
+2011200390,050469
+2011200391,2011200391
+2011200392,2007300676
+2011200393,2011200393
+2011200394,2011200394
+2011200395,2007300716
+2011200396,2011200396
+2011200397,2007300717
+2011200398,2011200398
+2011200399,2011200399
+2011200400,060755
+2011200401,2007300732
+2011200402,2007300049
+2011200403,2011200403
+2011200404,2007300026
+2011200405,2007300003
+2011200406,050556
+2011200407,2011200407
+2011200408,2007300719
+2011200409,2011200409
+2011200410,2011200410
+2011200411,2011200411
+2011200412,2007300761
+2011200413,2011200413
+2011200414,2011200414
+2011200415,2007300731
+2011200416,2007300693
+2011200417,2011200417
+2011200418,2007300041
+2011200419,2011200419
+2011200420,2011200420
+2011200421,2007300677
+2011200422,2011200422
+2011200423,2011200423
+2011200424,2011200424
+2011200425,060120
+2011200426,2011200426
+2011200427,2007300662
+2011200428,2007300765
+2011200429,2011200429
+2011200430,2011200430
+2011200431,2011200431
+2011200432,2011200432
+2011200433,2007300733
+2011200434,2011200434
+2011200435,2007300635
+2011200436,2011200436
+2011200437,2011200437
+2011200438,2011200438
+2011200439,2011200439
+2011200440,2007300757
+2011200441,2007300019
+2011200442,2007300042
+2011200443,2007300755
+2011200444,2007300737
+2011200445,2007302509
+2011200446,2011200446
+2011200447,2007300769
+2011200448,050637
+2011200449,2007301715
+2011200450,2011200450
+2011200451,060746
+2011200452,050628
+2011200453,2011200453
+2011200454,2007300750
+2011200455,2011200455
+2011200456,2007300652
+2011200457,2011200457
+2011200458,2011200458
+2011200459,2011200459
+2011200460,2011200460
+2011200461,2011200461
+2011200462,2011200462
+2011200463,2011200463
+2011200464,2011200464
+2011200465,2007300781
+2011200466,2007302499
+2011200467,2007300021
+2011200468,2011200468
+2011200469,2011200469
+2011200470,2011200470
+2011200471,2011200471
+2011200472,2011200472
+2011200473,2011200473
+2011200474,2011200474
+2011200475,2011200475
+2011200476,060636
+2011200477,2011200477
+2011200478,2011200478
+2011200479,060613
+2011200480,2007300616
+2011200481,2011200481
+2011200482,2011200482
+2011200483,2007300738
+2011200484,2007300763
+2011200485,2011200485
+2011200486,2007300780
+2011200487,2011200487
+2011200488,2007300785
+2011200489,2007300771
+2011200526,2011200526
+2011200527,2011200527
+2011200528,2007300826
+2011200529,2011200529
+2011200530,2011200530
+2011200531,2011200531
+2011200532,2011200532
+2011200533,2011200533
+2011200534,2011200534
+2011200535,2011200535
+2011200536,2011200536
+2011200537,2011200537
+2011200538,2011200538
+2011200539,2011200539
+2011200540,2011200540
+2011200541,2011200541
+2011200542,2011200542
+2011200543,2011200543
+2011200544,2011200544
+2011200545,2011200545
+2011200546,2011200546
+2011200547,2011200547
+2011200548,2011200548
+2011200549,2011200549
+2011200550,2007300986
+2011200551,2011200551
+2011200552,2011200552
+2011200553,2007300999
+2011200554,2011200554
+2011200555,2011200555
+2011200556,2011200556
+2011200557,2011200557
+2011200558,2011200558
+2011200559,2011200559
+2011200560,2011200560
+2011200561,2011200561
+2011200562,2011200562
+2011200563,2011200563
+2011200564,2007300817
+2011200565,2011200565
+2011200566,2007300799
+2011200567,2007300809
+2011200568,050712
+2011200569,2007300859
+2011200570,2011200570
+2011200571,2007300097
+2011200572,2007300011
+2011200573,2007300789
+2011200574,2011200574
+2011200575,2011200575
+2011200576,2011200576
+2011200577,2007300849
+2011200578,2007300832
+2011200579,2007300992
+2011200580,2007300993
+2011200581,2011200581
+2011200582,2011200582
+2011200583,2011200583
+2011200584,2011200584
+2011200585,2011200585
+2011200586,2011200586
+2011200587,2011200587
+2011200588,2011200588
+2011200589,2011200589
+2011200590,2011200590
+2011200591,2011200591
+2011200592,2011200592
+2011200593,2011200593
+2011200594,2011200594
+2011200595,2011200595
+2011200596,2011200596
+2011200597,2011200597
+2011200598,2011200598
+2011200599,2011200599
+2011200600,2011200600
+2011200601,2011200601
+2011200602,2007301000
+2011200603,2011200603
+2011200604,2011200604
+2011200605,2007300867
+2011200606,2007300814
+2011200607,2007302500
+2011200608,2011200608
+2011200609,050691
+2011200610,2007300996
+2011200611,2011200611
+2011200612,2011200612
+2011200613,2011200613
+2011200614,2011200614
+2011200615,2011200615
+2011200616,2011200616
+2011200617,2011200617
+2011200618,2011200618
+2011200619,2007300995
+2011200620,2011200620
+2011200621,2011200621
+2011200622,2011200622
+2011200623,2011200623
+2011200624,2011200624
+2011200625,2011200625
+2011200626,2007300952
+2011200627,2007302640
+2011200628,2011200628
+2011200629,2011200629
+2011200630,2011200630
+2011200631,2011200631
+2011200632,2011200632
+2011200633,2011200633
+2011200634,2011200634
+2011200635,2007300793
+2011200636,2007300820
+2011200637,2011200637
+2011200638,2011200638
+2011200639,2007300904
+2011200640,2007300981
+2011200641,2011200641
+2011200642,2011200642
+2011200643,2011200643
+2011200644,2011200644
+2011200645,2011200645
+2011200646,2011200646
+2011200647,2011200647
+2011200648,2011200648
+2011200649,2011200649
+2011200650,2007300905
+2011200651,2011200651
+2011200652,2011200652
+2011200653,2011200653
+2011200654,2011200654
+2011200655,2011200655
+2011200656,2011200656
+2011200657,2011200657
+2011200658,2011200658
+2011200659,2011200659
+2011200660,2011200660
+2011200661,2011200661
+2011200662,2011200662
+2011200663,2007302617
+2011200664,2011200664
+2011200665,2011200665
+2011200666,2011200666
+2011200667,2011200667
+2011200668,2011200668
+2011200669,2011200669
+2011200670,2011200670
+2011200671,2011200671
+2011200672,2011200672
+2011200673,2011200673
+2011200674,2011200674
+2011200675,2011200675
+2011200676,2011200676
+2011200677,2011200677
+2011200678,2011200678
+2011200679,2011200679
+2011200680,2011200680
+2011200681,2011200681
+2011200682,2011200682
+2011200683,2011200683
+2011200684,2011200684
+2011200685,2007300880
+2011200686,2011200686
+2011200687,2007300815
+2011200688,2011200688
+2011200689,2011200689
+2011200690,2011200690
+2011200691,2011200691
+2011200692,2011200692
+2011200693,2011200693
+2011200694,2011200694
+2011200695,2007300910
+2011200696,2007302637
+2011200697,2011200697
+2011200698,2011200698
+2011200699,2011200699
+2011200700,2007302638
+2011200701,2011200701
+2011200749,2007301016
+2011200750,2007301028
+2011200751,2007301013
+2011200752,2007301014
+2011200753,2007301009
+2011200754,2007301023
+2011200755,2011200755
+2011200756,2011200756
+2011200757,2011200757
+2011200758,2011200758
+2011200759,2011200759
+2011200760,2011200760
+2011200761,2011200761
+2011200762,2011200762
+2011200763,2007300037
+2011200764,2011200764
+2011200765,2011200765
+2011200766,2007301200
+2011200767,2011200767
+2011200768,2011200768
+2011200769,2011200769
+2011200770,2011200770
+2011200771,2011200771
+2011200772,2011200772
+2011200773,2011200773
+2011200774,2011200774
+2011200775,2011200775
+2011200776,2011200776
+2011200777,2011200777
+2011200778,2011200778
+2011200779,2011200779
+2011200780,2011200780
+2011200781,2007301236
+2011200782,2011200782
+2011200783,2011200783
+2011200784,2011200784
+2011200785,2011200785
+2011200786,2007301300
+2011200787,2007301106
+2011200788,2011200788
+2011200789,2011200789
+2011200790,2007303420
+2011200791,2011200791
+2011200792,2011200792
+2011200793,2011200793
+2011200794,2011200794
+2011200795,2011200795
+2011200796,2011200796
+2011200797,2011200797
+2011200798,2007302452
+2011200799,2011200799
+2011200800,2011200800
+2011200801,2011200801
+2011200802,2011200802
+2011200803,2011200803
+2011200804,2011200804
+2011200805,2011200805
+2011200806,051038
+2011200807,2011200807
+2011200808,2007301290
+2011200809,2007301195
+2011200810,2011200810
+2011200811,2011200811
+2011200812,2011200812
+2011200813,2011200813
+2011200814,2011200814
+2011200815,2011200815
+2011200816,2011200816
+2011200817,2011200817
+2011200818,2007302607
+2011200819,2007300086
+2011200820,2007301240
+2011200821,2011200821
+2011200822,2007301254
+2011200823,2007301208
+2011200824,2011200824
+2011200825,2011200825
+2011200826,061294
+2011200827,051147
+2011200828,051137
+2011200829,2011200829
+2011200830,2011200830
+2011200831,2011200831
+2011200832,2011200832
+2011200833,2011200833
+2011200834,2011200834
+2011200835,2011200835
+2011200836,2011200836
+2011200837,2011200837
+2011200838,2011200838
+2011200839,2011200839
+2011200840,2011200840
+2011200841,2011200841
+2011200842,2011200842
+2011200843,2007300010
+2011200844,2011200844
+2011200845,051160
+2011200846,2011200846
+2011200847,2007301262
+2011200848,051183
+2011200849,051030
+2011200850,2011200850
+2011200851,2011200851
+2011200852,2011200852
+2011200853,2011200853
+2011200854,2007301235
+2011200855,2011200855
+2011200856,2011200856
+2011200857,051207
+2011200858,2011200858
+2011200859,2011200859
+2011200860,2011200860
+2011200861,2011200861
+2011200862,2011200862
+2011200863,2007301140
+2011200864,2007301234
+2011200865,2007301175
+2011200866,052459
+2011200867,2011200867
+2011200868,2011200868
+2011200869,2007301257
+2011200870,2011200870
+2011200871,2011200871
+2011200872,042582
+2011200873,2011200873
+2011200874,2011200874
+2011200875,2007302022
+2011200876,2007301285
+2011200877,2011200877
+2011200878,2007301278
+2011200879,2011200879
+2011200880,2011200880
+2011200881,2011200881
+2011200882,061194
+2011200883,2007301123
+2011200884,2011200884
+2011200885,2011200885
+2011200886,2011200886
+2011200887,2011200887
+2011200888,2011200888
+2011200889,2011200889
+2011200890,2011200890
+2011200891,2011200891
+2011200892,2007301052
+2011200893,2011200893
+2011200894,2011200894
+2011200895,2011200895
+2011200896,2011200896
+2011200897,2011200897
+2011200898,2011200898
+2011200899,2010200823
+2011200900,050970
+2011200901,2011200901
+2011200902,2011200902
+2011200903,2011200903
+2011200904,2011200904
+2011200905,050972
+2011200906,2011200906
+2011200907,2011200907
+2011200908,050954
+2011200909,2011200909
+2011200910,2011200910
+2011200911,2011200911
+2011200912,050941
+2011200913,2011200913
+2011200914,2007301076
+2011200915,2007300852
+2011200916,2007301084
+2011200917,2007301205
+2011200918,050955
+2011200919,2011200919
+2011200920,2011200920
+2011200921,2011200921
+2011200922,2011200922
+2011200923,2011200923
+2011200924,2011200924
+2011200925,050998
+2011200926,2011200926
+2011200927,2011200927
+2011200928,2007301083
+2011200929,2011200929
+2011200930,2011200930
+2011200931,2007301134
+2011200932,051007
+2011200933,2011200933
+2011200934,2011200934
+2011200935,2011200935
+2011200936,2011200936
+2011200937,051001
+2011200938,2011200938
+2011200939,2011200939
+2011200940,2007301087
+2011200941,2007301068
+2011200942,2011200942
+2011200943,2011200943
+2011200944,2011200944
+2011200945,2011200945
+2011200946,2011200946
+2011200947,2011200947
+2011200948,2011200948
+2011200949,051194
+2011200950,2011200950
+2011200951,2011200951
+2011200952,2011200952
+2011200953,2011200953
+2011200954,2007301252
+2011200955,050993
+2011200956,050969
+2011200957,2011200957
+2011200958,2011200958
+2011200959,2011200959
+2011200960,2007301279
+2011200961,2007301101
+2011200962,2011200962
+2011200963,2011200963
+2011200964,2011200964
+2011200965,2007301122
+2011200966,051002
+2011200967,2011200967
+2011200968,2007303291
+2011200969,2011200969
+2011200970,2011200970
+2011200971,2007301293
+2011200972,2007301226
+2011200973,2011200973
+2011200974,2011200974
+2011200975,2007301062
+2011200976,2007300107
+2011200977,2007300039
+2011200978,050960
+2011200979,050992
+2011200980,2007301045
+2011200981,2007300008
+2011200982,061209
+2011201029,2011201029
+2011201030,2007303409
+2011201031,2007301306
+2011201032,2011201032
+2011201033,2007301315
+2011201034,051243
+2011201035,2011201035
+2011201036,2011201036
+2011201037,2007301327
+2011201038,2011201038
+2011201039,2007302488
+2011201040,2007301337
+2011201041,2007301336
+2011201042,2011201042
+2011201043,2007301331
+2011201044,2011201044
+2011201045,2011201045
+2011201046,2011201046
+2011201047,2011201047
+2011201048,2011201048
+2011201049,2011201049
+2011201050,2007301344
+2011201051,2011201051
+2011201052,051303
+2011201053,2007301339
+2011201054,2007300787
+2011201055,2007301342
+2011201056,2011201056
+2011201057,2007301326
+2011201058,2007301343
+2011201059,2011201059
+2011201060,2011201060
+2011201061,2011201061
+2011201062,2011201062
+2011201063,2007301325
+2011201064,2011201064
+2011201065,2011201065
+2011201066,2011201066
+2011201067,2011201067
+2011201068,061426
+2011201069,2011201069
+2011201070,2007301356
+2011201071,2011201071
+2011201072,051351
+2011201073,2011201073
+2011201074,2007301390
+2011201075,2007301385
+2011201076,2011201076
+2011201077,2007301369
+2011201078,061370
+2011201079,2007301357
+2011201080,2007301383
+2011201081,2011201081
+2011201082,2011201082
+2011201099,2007301590
+2011201100,2011201100
+2011201101,051612
+2011201102,2007301575
+2011201103,051502
+2011201104,2007301608
+2011201105,2007301451
+2011201106,2007301573
+2011201107,2007301607
+2011201108,2007301589
+2011201109,2007301615
+2011201110,2007301612
+2011201111,2007301597
+2011201112,2011201112
+2011201113,2011201113
+2011201114,2011201114
+2011201115,2007301605
+2011201116,051489
+2011201117,2007300615
+2011201118,2011201118
+2011201119,2011201119
+2011201120,2011201120
+2011201121,2010240005
+2011201122,060086
+2011201123,2011201123
+2011201124,051507
+2011201125,051637
+2011201126,2007301485
+2011201127,2007301492
+2011201128,2007301491
+2011201129,051580
+2011201130,2007301566
+2011201131,2007301562
+2011201132,2007301489
+2011201133,2007301544
+2011201134,2011201134
+2011201135,2011201135
+2011201136,2011201136
+2011201137,2011201137
+2011201138,2007301637
+2011201139,2007301630
+2011201140,2011201140
+2011201141,2007301632
+2011201142,2007301641
+2011201143,2011201143
+2011201144,2011201144
+2011201145,2011201145
+2011201146,2007301541
+2011201147,2011201147
+2011201148,2007301477
+2011201149,2007301533
+2011201150,051556
+2011201151,2007301460
+2011201152,2007301629
+2011201153,2007301518
+2011201154,2007301546
+2011201155,2007300024
+2011201156,2007301448
+2011201157,2007301626
+2011201158,2011201158
+2011201159,2007301646
+2011201160,2007301456
+2011201161,2007301465
+2011201162,2007301462
+2011201163,2007301634
+2011201164,051548
+2011201165,061459
+2011201166,2007300006
+2011201167,2007300012
+2011201168,2011201168
+2011201169,2007301571
+2011201170,2007301483
+2011201171,051574
+2011201172,2011201172
+2011201173,2007301567
+2011201174,2007301553
+2011201175,2011201175
+2011201176,2007301568
+2011201177,2011201177
+2011201178,2007301604
+2011201179,061543
+2011201180,2007301507
+2011201181,051678
+2011201182,051501
+2011201183,2007301551
+2011201184,2007301569
+2011201185,2007301499
+2011201186,2007301468
+2011201187,2007301552
+2011201188,061561
+2011201189,051495
+2011201190,2007301502
+2011201191,2007301554
+2011201192,2011201192
+2011201193,2007301565
+2011201194,2007301498
+2011201195,2007301480
+2011201196,2011201196
+2011201197,2011201197
+2011201198,2007301528
+2011201199,2011201199
+2011201200,2007301556
+2011201201,051552
+2011201202,2011201202
+2011201203,2011201203
+2011201231,2011201231
+2011201232,2011201232
+2011201233,2011201233
+2011201234,2011201234
+2011201235,2011201235
+2011201236,2011201236
+2011201237,2011201237
+2011201238,2007301814
+2011201239,2007301693
+2011201240,2011201240
+2011201241,2011201241
+2011201242,2011201242
+2011201243,2011201243
+2011201244,2011201244
+2011201245,2011201245
+2011201246,2011201246
+2011201247,2011201247
+2011201248,2011201248
+2011201249,2007301766
+2011201250,2011201250
+2011201251,2011201251
+2011201252,2007301657
+2011201253,2007302671
+2011201254,061839
+2011201255,2007301664
+2011201256,2011201256
+2011201257,2007301907
+2011201258,2011201258
+2011201259,2011201259
+2011201260,2011201260
+2011201261,2007301739
+2011201262,2011201262
+2011201263,2011201263
+2011201264,2011201264
+2011201265,2011201265
+2011201266,2007301790
+2011201267,2007301684
+2011201268,2007301710
+2011201269,061921
+2011201270,2007301824
+2011201271,2007301726
+2011201272,2007301823
+2011201273,2007301703
+2011201274,2011201274
+2011201275,2011201275
+2011201276,2007301811
+2011201277,2007301692
+2011201278,2007301720
+2011201279,2007301698
+2011201280,2007300418
+2011201281,2007301674
+2011201282,2007300075
+2011201283,2007300048
+2011201284,2007300017
+2011201285,2007301737
+2011201286,2007301813
+2011201287,2011201287
+2011201288,2007301953
+2011201289,2007301910
+2011201290,052006
+2011201291,2011201291
+2011201292,2011201292
+2011201293,2007301898
+2011201294,2011201294
+2011201295,2011201295
+2011201296,2011201296
+2011201297,040073
+2011201298,2011201298
+2011201299,2007301909
+2011201300,2007301900
+2011201301,2007301932
+2011201302,2007301923
+2011201303,2011201303
+2011201304,2007301730
+2011201305,2007301441
+2011201306,2011201306
+2011201307,2007301685
+2011201308,2011201308
+2011201309,2011201309
+2011201310,2011201310
+2011201311,2011201311
+2011201312,2011201312
+2011201313,2011201313
+2011201314,2007301908
+2011201315,2007301911
+2011201316,2007301927
+2011201317,2007301718
+2011201318,061957
+2011201319,2011201319
+2011201320,2011201320
+2011201321,2007301892
+2011201322,2011201322
+2011201323,2011201323
+2011201324,2011201324
+2011201325,2011201325
+2011201326,2011201326
+2011201327,2011201327
+2011201328,2007301896
+2011201329,051838
+2011201330,2011201330
+2011201331,2011201331
+2011201332,2007302656
+2011201333,2011201333
+2011201334,2011201334
+2011201335,061821
+2011201336,2007301689
+2011201337,2007301796
+2011201338,2011201338
+2011201339,2007301747
+2011201340,2007301672
+2011201341,2011201341
+2011201342,2011201342
+2011201343,2011201343
+2011201344,2011201344
+2011201345,2007301735
+2011201346,2011201346
+2011201347,2011201347
+2011201348,2011201348
+2011201349,2011201349
+2011201350,2007301778
+2011201351,051890
+2011201352,2011201352
+2011201353,2007301799
+2011201354,2011201354
+2011201355,051802
+2011201356,2011201356
+2011201357,2011201357
+2011201358,2011201358
+2011201359,2011201359
+2011201360,2011201360
+2011201361,2011201361
+2011201362,2011201362
+2011201363,2007301773
+2011201364,2011201364
+2011201365,2007301756
+2011201366,2011201366
+2011201367,2007301783
+2011201368,2007301719
+2011201369,2007301713
+2011201370,051820
+2011201371,2007301822
+2011201372,2011201372
+2011201373,2011201373
+2011201374,2007302629
+2011201375,2007301815
+2011201376,2011201376
+2011201377,2011201377
+2011201378,2007301785
+2011201379,2007301857
+2011201380,2007301863
+2011201381,2007301825
+2011201382,2007300106
+2011201383,2007300005
+2011201384,2007301832
+2011201385,2007301844
+2011201386,2011201386
+2011201387,051944
+2011201388,2007301861
+2011201389,2007301872
+2011201390,2007301836
+2011201391,2007301856
+2011201392,2011201392
+2011201393,2007301882
+2011201394,2007301868
+2011201395,2007301839
+2011201396,2007301879
+2011201397,2007301864
+2011201398,2007301883
+2011201399,051916
+2011201400,2007301877
+2011201401,2011201401
+2011201402,051918
+2011201403,2007301850
+2011201404,2007301826
+2011201405,2007301830
+2011201406,061903
+2011201407,2007301852
+2011201408,061835
+2011201458,2011201458
+2011201459,2011201459
+2011201460,2011201460
+2011201461,052442
+2011201462,2007302238
+2011201463,052455
+2011201464,2007302245
+2011201465,2007302237
+2011201466,052448
+2011201467,052445
+2011201468,2007302259
+2011201469,2011201469
+2011201470,2007302235
+2011201471,052425
+2011201472,052424
+2011201473,2007301966
+2011201474,2007302077
+2011201475,2007302106
+2011201476,2007302123
+2011201477,2007302076
+2011201478,2007302126
+2011201479,2007302119
+2011201480,2007301957
+2011201481,2007302044
+2011201482,2007302067
+2011201483,2011201483
+2011201484,2011201484
+2011201485,2007302127
+2011201486,2007302050
+2011201487,052214
+2011201488,2007302080
+2011201489,2007302084
+2011201490,2007302088
+2011201491,2011201491
+2011201492,2007302095
+2011201493,2011201493
+2011201494,2007302066
+2011201495,2011201495
+2011201496,2011201496
+2011201497,2011201497
+2011201498,2011201498
+2011201499,2011201499
+2011201500,2007302061
+2011201501,2007302113
+2011201502,2007302042
+2011201503,2007300099
+2011201504,2011201504
+2011201505,2007302053
+2011201506,2011201506
+2011201507,2007302052
+2011201508,2011201508
+2011201509,2007302111
+2011201510,2007302056
+2011201511,2011201511
+2011201512,2007302114
+2011201513,2007302089
+2011201514,2007302115
+2011201515,2007300323
+2011201516,2011201516
+2011201517,2007302078
+2011201518,2011201518
+2011201519,2007302074
+2011201520,2007302121
+2011201521,2007302128
+2011201522,2007302112
+2011201523,060088
+2011201524,052184
+2011201525,2011201525
+2011201526,2007302528
+2011201527,2007302165
+2011201528,2007300100
+2011201529,2011201529
+2011201530,2011201530
+2011201531,060426
+2011201532,2007301969
+2011201533,2011201533
+2011201534,2011201534
+2011201535,2011201535
+2011201536,2007301972
+2011201537,2011201537
+2011201538,2011201538
+2011201539,2011201539
+2011201540,2011201540
+2011201541,2007300004
+2011201542,2007302120
+2011201543,2007302193
+2011201544,2007302221
+2011201545,2011201545
+2011201546,2011201546
+2011201547,2011201547
+2011201548,2011201548
+2011201549,062055
+2011201550,2011201550
+2011201551,2007302275
+2011201552,2011201552
+2011201553,2011201553
+2011201554,2007302207
+2011201555,2007301971
+2011201556,2007300087
+2011201557,2007302026
+2011201558,2007300040
+2011201559,2011201559
+2011201560,2011201560
+2011201561,2007300095
+2011201562,2011201562
+2011201563,2011201563
+2011201564,2011201564
+2011201565,2007302198
+2011201566,2007301997
+2011201567,2007302511
+2011201568,2007300052
+2011201569,2007301965
+2011201570,2007300058
+2011201571,2011201571
+2011201572,2011201572
+2011201573,2007302117
+2011201574,2011201574
+2011201575,2011201575
+2011201576,2007301962
+2011201577,2007302149
+2011201578,2007302003
+2011201579,2011201579
+2011201580,2007302136
+2011201581,2007302227
+2011201582,050214
+2011201583,2011201583
+2011201584,2011201584
+2011201585,2011201585
+2011201586,2007302691
+2011201587,2011201587
+2011201588,052387
+2011201589,2011201589
+2011201590,052410
+2011201591,2007300016
+2011201592,2007300015
+2011201593,2011201593
+2011201594,2011201594
+2011201595,2011201595
+2011201596,2011201596
+2011201597,2011201597
+2011201598,2011201598
+2011201599,2011201599
+2011201600,052351
+2011201601,2007300062
+2011201602,2011201602
+2011201603,2011201603
+2011201604,052090
+2011201605,2007302197
+2011201606,2011201606
+2011201607,2011201607
+2011201608,2011201608
+2011201609,2011201609
+2011201610,2007302164
+2011201611,2011201611
+2011201612,2011201612
+2011201613,052414
+2011201614,2007302023
+2011201615,2007302038
+2011201616,2011201616
+2011201617,2011201617
+2011201618,2011201618
+2011201619,2011201619
+2011201620,2011201620
+2011201621,2011201621
+2011201622,2007302024
+2011201623,052429
+2011201624,2011201624
+2011201625,2011201625
+2011201626,2011201626
+2011201627,2011201627
+2011201628,2007302145
+2011201629,2011201629
+2011201630,2011201630
+2011201631,2011201631
+2011201632,2007302170
+2011201633,2011201633
+2011201634,2007302174
+2011201635,2011201635
+2011201636,2011201636
+2011201637,2007302005
+2011201638,2007302014
+2011201639,2007302809
+2011201640,2007301980
+2011201641,2007300061
+2011201642,2007300090
+2011201643,2007300328
+2011201644,2007300025
+2011201645,2007302162
+2011201646,2011201646
+2011201647,2007302184
+2011201648,2011201648
+2011201649,2011201649
+2011201650,2007302202
+2011201651,2011201651
+2011201652,2011201652
+2011201653,2007302138
+2011201654,2011201654
+2011201655,2007302130
+2011201656,2011201656
+2011201657,2007301981
+2011201658,2011201658
+2011201659,2007302246
+2011201660,2011201660
+2011201661,2011201661
+2011201662,052140
+2011201663,2011201663
+2011201664,2007301995
+2011201665,2007302019
+2011201666,2011201666
+2011201667,2011201667
+2011201668,2011201668
+2011201669,2011201669
+2011201670,2011201670
+2011201671,2011201671
+2011201672,2007300047
+2011201673,2011201673
+2011201674,2007302231
+2011201675,2007302218
+2011201676,052398
+2011201677,2011201677
+2011201678,2007302214
+2011201679,2011201679
+2011201680,2007302223
+2011201681,2007302234
+2011201682,2011201682
+2011201683,2011201683
+2011201684,2011201684
+2011201725,2007302427
+2011201726,2007303357
+2011201727,2007302355
+2011201728,2011201728
+2011201729,2011201729
+2011201730,2011201730
+2011201731,2011201731
+2011201732,2011201732
+2011201733,2011201733
+2011201734,2007302308
+2011201735,2011201735
+2011201736,2011201736
+2011201737,2007303144
+2011201738,2011201738
+2011201739,2011201739
+2011201740,2007302527
+2011201741,2007303364
+2011201742,2007303372
+2011201743,2007303343
+2011201744,2007301686
+2011201745,2007302363
+2011201746,2007303151
+2011201747,2007303122
+2011201748,2007302373
+2011201749,2007302396
+2011201750,2011201750
+2011201751,2007302660
+2011201752,2007302378
+2011201753,2011201753
+2011201754,2011201754
+2011201755,2007302386
+2011201756,2011201756
+2011201757,2011201757
+2011201758,2011201758
+2011201759,2007303227
+2011201760,2007303097
+2011201761,2011201761
+2011201762,2011201762
+2011201763,2011201763
+2011201764,2011201764
+2011201765,2011201765
+2011201766,2011201766
+2011201767,2011201767
+2011201768,2011201768
+2011201769,2007302406
+2011201770,2007302390
+2011201771,2011201771
+2011201772,2007302419
+2011201773,2011201773
+2011201774,2011201774
+2011201775,2007303229
+2011201776,2011201776
+2011201777,2011201777
+2011201778,2011201778
+2011201779,2011201779
+2011201780,2011201780
+2011201781,2011201781
+2011201782,2007303177
+2011201783,2007302442
+2011201784,2007303096
+2011201785,053717
+2011201786,2011201786
+2011201787,2011201787
+2011201788,2011201788
+2011201789,050065
+2011201790,2011201790
+2011201791,2011201791
+2011201792,2011201792
+2011201793,2007302326
+2011201794,2007302514
+2011201795,2007302328
+2011201796,2007302306
+2011201797,2007302435
+2011201798,2007302352
+2011201799,2011201799
+2011201800,2011201800
+2011201801,2011201801
+2011201802,2011201802
+2011201803,2007302302
+2011201804,2011201804
+2011201805,2011201805
+2011201806,2011201806
+2011201807,2007302446
+2011201808,2011201808
+2011201809,2011201809
+2011201810,2011201810
+2011201811,2011201811
+2011201812,2011201812
+2011201813,2011201813
+2011201814,2007302556
+2011201815,2007302277
+2011201816,2007302415
+2011201817,2011201817
+2011201818,2011201818
+2011201819,2007302382
+2011201820,2011201820
+2011201821,2007302366
+2011201822,2007302414
+2011201823,2007302411
+2011201824,2007302335
+2011201825,060023
+2011201826,2007302449
+2011201827,2007302310
+2011201828,2011201828
+2011201829,2007302301
+2011201830,2007302350
+2011201831,2011201831
+2011201832,2007302362
+2011201833,2007300054
+2011201834,2007300045
+2011201835,2007302402
+2011201836,2007300098
+2011201837,2011201837
+2011201838,2011201838
+2011201839,2007302353
+2011201840,2007302425
+2011201841,2011201841
+2011201842,2007303293
+2011201843,2007302304
+2011201844,2007300043
+2011201845,2007303273
+2011201846,2007303301
+2011201847,2007303160
+2011201848,2011201848
+2011201849,2011201849
+2011201850,2007303211
+2011201851,2011201851
+2011201852,2007302417
+2011201853,2007302327
+2011201854,2007303304
+2011201884,2011201884
+2011201885,2011201885
+2011201886,2011201886
+2011201887,2011201887
+2011201888,2011201888
+2011201889,2007302485
+2011201890,2007302478
+2011201891,2011201891
+2011201892,2011201892
+2011201893,2011201893
+2011201894,2011201894
+2011201895,2011201895
+2011201896,2007302493
+2011201897,2011201897
+2011201898,2007302578
+2011201899,2011201899
+2011201900,2011201900
+2011201901,2011201901
+2011201902,2011201902
+2011201903,2011201903
+2011201904,2007302502
+2011201905,2011201905
+2011201906,2011201906
+2011201907,2011201907
+2011201908,2011201908
+2011201909,2011201909
+2011201910,2011201910
+2011201911,2007302536
+2011201912,2011201912
+2011201913,2007302561
+2011201914,2011201914
+2011201915,2011201915
+2011201916,2007302547
+2011201917,2011201917
+2011201918,2011201918
+2011201919,2011201919
+2011201920,2007302585
+2011201921,2011201921
+2011201922,2007302548
+2011201923,2011201923
+2011201924,2007302539
+2011201925,2011201925
+2011201926,2011201926
+2011201927,2011201927
+2011201928,2011201928
+2011201929,2011201929
+2011201930,2011201930
+2011201931,2011201931
+2011201932,2011201932
+2011201933,2011201933
+2011201934,2011201934
+2011201935,2011201935
+2011201936,2011201936
+2011201937,2011201937
+2011201938,2007302645
+2011201939,052892
+2011201940,2011201940
+2011201941,2011201941
+2011201942,2011201942
+2011201943,2011201943
+2011201944,2011201944
+2011201945,052876
+2011201946,2011201946
+2011201947,2011201947
+2011201948,2007302636
+2011201949,2011201949
+2011201950,2011201950
+2011201951,2011201951
+2011201952,2007302684
+2011201953,2011201953
+2011201954,2011201954
+2011201955,2007302744
+2011201956,2011201956
+2011201957,2011201957
+2011201958,2011201958
+2011201959,2011201959
+2011201960,2011201960
+2011201961,2011201961
+2011201962,2011201962
+2011201963,2011201963
+2011201964,2011201964
+2011201965,2011201965
+2011201966,2011201966
+2011201967,2011201967
+2011201968,2007302751
+2011201969,2011201969
+2011201970,2011201970
+2011201971,2011201971
+2011201972,2007302537
+2011201973,062788
+2011201974,2011201974
+2011201975,2011201975
+2011201976,2007302481
+2011201977,2011201977
+2011201978,2011201978
+2011201979,2011201979
+2011201980,2007302657
+2011201981,2011201981
+2011201982,2007302692
+2011201983,052969
+2011201984,2007302688
+2011201985,2007302592
+2011201986,2007302675
+2011201987,2011201987
+2011201988,2007302658
+2011201989,2011201989
+2011201990,2011201990
+2011201991,2011201991
+2011201992,2007302654
+2011201993,2011201993
+2011201994,2011201994
+2011201995,2011201995
+2011201996,2007302606
+2011201997,2007302666
+2011201998,2011201998
+2011201999,052851
+2011202000,2007302616
+2011202001,2007302622
+2011202002,2007302788
+2011202003,2011202003
+2011202004,062821
+2011202005,2011202005
+2011202006,062888
+2011202007,2007302821
+2011202008,2007302734
+2011202009,2011202009
+2011202010,043109
+2011202011,062847
+2011202012,2007302773
+2011202013,2011202013
+2011202014,2011202014
+2011202015,2011202015
+2011202016,2007302747
+2011202017,2011202017
+2011202018,062792
+2011202019,2011202019
+2011202020,2011202020
+2011202021,2011202021
+2011202022,2011202022
+2011202023,2011202023
+2011202024,2011202024
+2011202025,2011202025
+2011202026,2011202026
+2011202027,2011202027
+2011202028,2011202028
+2011202029,2011202029
+2011202030,2011202030
+2011202031,2011202031
+2011202032,2011202032
+2011202033,2011202033
+2011202034,2011202034
+2011202035,2011202035
+2011202036,2011202036
+2011202037,2007302731
+2011202038,2011202038
+2011202039,2011202039
+2011202040,2011202040
+2011202041,2011202041
+2011202042,2011202042
+2011202043,2011202043
+2011202044,2007302819
+2011202045,2007302803
+2011202046,2007302813
+2011202047,2011202047
+2011202070,2007302832
+2011202071,2011202071
+2011202072,2011202072
+2011202073,2007302937
+2011202074,2011202074
+2011202075,2011202075
+2011202076,2011202076
+2011202077,2011202077
+2011202078,2011202078
+2011202079,2011202079
+2011202080,2011202080
+2011202081,2011202081
+2011202082,2007302895
+2011202083,2011202083
+2011202084,2011202084
+2011202085,2011202085
+2011202086,2011202086
+2011202087,2011202087
+2011202088,2011202088
+2011202089,2011202089
+2011202090,2007302948
+2011202091,2011202091
+2011202092,053118
+2011202093,2011202093
+2011202094,2007302898
+2011202095,2011202095
+2011202096,2007302910
+2011202097,2011202097
+2011202098,2011202098
+2011202099,2011202099
+2011202100,2011202100
+2011202101,2011202101
+2011202102,2011202102
+2011202103,2011202103
+2011202104,2011202104
+2011202105,2011202105
+2011202106,2011202106
+2011202107,062982
+2011202108,2011202108
+2011202109,062913
+2011202110,2011202110
+2011202111,2011202111
+2011202112,2007302825
+2011202113,053164
+2011202114,2011202114
+2011202115,2011202115
+2011202116,2011202116
+2011202117,2011202117
+2011202118,2007302867
+2011202119,2007302853
+2011202120,2011202120
+2011202121,2011202121
+2011202122,2011202122
+2011202123,2011202123
+2011202124,2007302928
+2011202125,2011202125
+2011202317,2011202317
+2011202318,2011202318
+2011202319,2011202319
+2011202320,2007303019
+2011202321,2007303022
+2011202322,2011202322
+2011202323,2011202323
+2011202324,2011202324
+2011202325,2007303023
+2011202326,2011202326
+2011202327,2011202327
+2011202328,2011202328
+2011202329,2011202329
+2011202330,2011202330
+2011202331,2011202331
+2011202332,2007303059
+2011202333,2007303027
+2011202334,2007303043
+2011202335,2011202335
+2011202336,2007303058
+2011202337,2007303078
+2011202338,2011202338
+2011202339,2011202339
+2011202340,2011202340
+2011202341,2011202341
+2011202342,2011202342
+2011202343,2011202343
+2011202344,2011202344
+2011202345,053429
+2011202346,063087
+2011202347,2011202347
+2011202348,2011202348
+2011202349,2011202349
+2011202350,2011202350
+2011202351,2011202351
+2011202352,2011202352
+2011202353,2011202353
+2011202354,2011202354
+2011202355,2011202355
+2011202356,2011202356
+2011202357,2011202357
+2011202358,2011202358
+2011202359,2011202359
+2011202360,2011202360
+2011202361,2011202361
+2011202362,2011202362
+2011202363,2011202363
+2011202364,053255
+2011202365,2011202365
+2011202366,2007303009
+2011202367,2011202367
+2011202368,2011202368
+2011202369,2007302952
+2011202370,2011202370
+2011202371,2011202371
+2011202372,2007302962
+2011202373,2007302973
+2011202374,2007302958
+2011202375,2011202375
+2011202376,2011202376
+2011202377,063056
+2011202378,2007302980
+2011202379,2007302959
+2011202380,2007302964
+2011202381,2011202381
+2011202382,2011202382
+2011202383,2011202383
+2011202384,2011202384
+2011202389,2011202389
+2011202390,2011202390
+2011202391,2011202391
+2011202392,2011202392
+2011202393,2011202393
+2011202394,2011202394
+2011202395,2011202395
+2011202396,2011202396
+2011202397,063112
+2011202398,2007303082
+2011202399,2011202399
+2011202400,2011202400
+2011202552,2011202552
+2011202553,2011202553
+2011202554,2011202554
+2011202555,2011202555
+2011202556,2011202556
+2011202557,2011202557
+2011202558,2011202558
+2011202559,2011202559
+2011202560,2011202560
+2011202561,2011202561
+2011202562,2011202562
+2011202563,2011202563
+2011202564,2011202564
+2011202565,2011202565
+2011202566,2011202566
+2011210001,2011210001
+2011210002,2011210002
+2011210003,2011210003
+2011210004,2011210004
+2011210005,2011210005
+2011210006,2011210006
+2011210007,2011210007
+2011210008,2011210008
+2011210009,2011210009
+2011210010,2011210010
+2011210011,2011210011
+2011210012,2011210012
+2011210013,2011210013
+2011210014,2011210014
+2011210015,2011210015
+2011210016,2011210016
+2011210017,2011210017
+2011210018,2011210018
+2011210019,2011210019
+2011210020,2011210020
+2011210021,2011210021
+2011210022,2011210022
+2011210023,2011210023
+2011210024,2011210024
+2011210025,2011210025
+2011210026,2011210026
+2011210027,2011210027
+2011210028,2011210028
+2011210029,2011210029
+2011210030,2011210030
+2011210031,2011210031
+2011210032,2011210032
+2011210033,2011210033
+2011210034,2011210034
+2011210035,2011210035
+2011210036,2011210036
+2011210037,2011210037
+2011210038,2011210038
+2011210039,2011210039
+2011210040,2011210040
+2011210041,2011210041
+2011210042,2011210042
+2011210043,2011210043
+2011210044,2011210044
+2011210045,2011210045
+2011210046,2011210046
+2011210047,2011210047
+2011210048,2011210048
+2011210049,2011210049
+2011210050,2010270003
+2011210051,2011210051
+2011210052,2011210052
+2011210053,2011210053
+2011210054,2011210054
+2011210055,2011210055
+2011210056,2011210056
+2011210057,2011210057
+2011210058,2011210058
+2011210059,2011210059
+2011210060,2011210060
+2011210061,2011210061
+2011210062,2011210062
+2011210063,2011210063
+2011210064,2011210064
+2011210065,2011210065
+2011210066,2011210066
+2011210067,2011210067
+2011210068,2011210068
+2011210069,2011210069
+2011210070,2011210070
+2011210071,2011210071
+2011210072,2007303319
+2011210073,2011210073
+2011210074,2011210074
+2011210075,2011210075
+2011210076,2011210076
+2011210077,2011210077
+2011210078,2011210078
+2011210079,2011210079
+2011210080,2008270005
+2011210081,2011210081
+2011210082,2011210082
+2011210083,2011210083
+2011210084,2011210084
+2011210085,2011210085
+2011210086,2011210086
+2011210087,051940
+2011210088,2011210088
+2011210089,2011210089
+2011210090,2011210090
+2011210091,2011210091
+2011210092,2011210092
+2011210093,2007303154
+2011210094,2007301204
+2011210095,2011210095
+2011210096,2011210096
+2011210097,2011210097
+2011210098,2011210098
+2011210099,2011210099
+2011210100,2011210100
+2011210101,2011210101
+2011210102,2011210102
+2011210104,2011210104
+2011210105,2011210105
+2011210106,2011210106
+2011210107,2011210107
+2011210108,2011210108
+2011210109,2011210109
+2011210110,2011210110
+2011210112,2011210112
+2011210113,2011210113
+2011210114,2011210114
+2011210115,2011210115
+2011210116,2011210116
+2011210117,2011210117
+2011210118,2011210118
+2011210119,2011210119
+2011210120,2011210120
+2011210121,2011210121
+2011210122,2011210122
+2011210123,2011210123
+2011210124,2011210124
+2011210125,2011210125
+2011210126,2011210126
+2011210127,2011210127
+2011210128,2011210128
+2011210129,2011210129
+2011210130,2011210130
+2011210131,2011210131
+2011210132,2011210132
+2011210133,2011210133
+2011210134,2011210134
+2011210135,2011210135
+2011210138,2011210138
+2011210139,2011210139
+2011210141,2011210141
+2011210143,1986000094
+2011210144,2011210144
+2011210145,2011210145
+2011210146,2011210146
+2011210147,2011210147
+2011210148,2011210148
+2011210149,2011210149
+2011210150,2011210150
+2011210151,2011210151
+2011210152,2011210152
+2011210153,2011210153
+2011210154,2011210154
+2011210155,2011210155
+2011210156,2011210156
+2011210157,2011210157
+2011210158,2011210158
+2011210159,2011210159
+2011210160,2011210160
+2011210161,2011210161
+2011210162,2011210162
+2011210163,2011210163
+2011210164,2011210164
+2011210165,2011210165
+2011210166,2011210166
+2011210167,2011210167
+2011210168,2011210168
+2011210169,2011210169
+2011210170,2011210170
+2011210171,2011210171
+2011210172,2011210172
+2011210173,2011210173
+2011210174,2011210174
+2011210175,2011210175
+2011210176,2011210176
+2011210177,2011210177
+2011210178,2011210178
+2011210179,2011210179
+2011210180,2011210180
+2011210181,2011210181
+2011210182,2011210182
+2011210183,2011210183
+2011210184,2011210184
+2011210185,2011210185
+2011210186,2011210186
+2011210187,2011210187
+2011210188,2011210188
+2011210189,2011210189
+2011210190,2011210190
+2011210191,2011210191
+2011210192,2011210192
+2011210193,2011210193
+2011210194,2011210194
+2011210195,2011210195
+2011210196,2011210196
+2011210197,2011210197
+2011210198,2011210198
+2011210199,2011210199
+2011210200,2011210200
+2011210201,2011210201
+2011210202,2011210202
+2011210203,2011210203
+2011210204,2011210204
+2011210205,2011210205
+2011210206,2011210206
+2011210207,2011210207
+2011210208,2011210208
+2011210209,2011210209
+2011210210,2011210210
+2011210211,2011210211
+2011210212,2011210212
+2011210213,2011210213
+2011210214,2011210214
+2011210215,2011210215
+2011210216,2011210216
+2011210217,2011210217
+2011210218,2011210218
+2011210219,2011210219
+2011210220,2011210220
+2011210221,2011210221
+2011210222,2011210222
+2011210223,2011210223
+2011210224,2011210224
+2011210225,1993000041
+2011210226,2011210226
+2011210227,2011210227
+2011210228,2011210228
+2011210229,2011210229
+2011210230,2011210230
+2011210231,2011210231
+2011210232,2011210232
+2011210233,2011210233
+2011210234,2011210234
+2011210235,2011210235
+2011210236,2011210236
+2011210237,2011210237
+2011210238,2011210238
+2011210239,2011210239
+2011210240,2011210240
+2011210241,2011210241
+2011210242,2011210242
+2011210243,2011210243
+2011210244,2011210244
+2011210245,2011210245
+2011210246,2011210246
+2011210247,2011210247
+2011210248,2011210248
+2011210249,2011210249
+2011210250,2011210250
+2011210251,2011210251
+2011210252,2011210252
+2011210253,2011210253
+2011210254,2011210254
+2011210255,2011210255
+2011210256,2011210256
+2011210257,2011210257
+2011210258,2010210237
+2011210259,2011210259
+2011210260,2011210260
+2011210261,2011210261
+2011210262,2011210262
+2011210263,2011210263
+2011210264,2011210264
+2011210265,2011210265
+2011210266,2011210266
+2011210267,040902
+2011210268,2011210268
+2011210269,2011210269
+2011210270,2011210270
+2011210271,2011210271
+2011210272,2011210272
+2011210273,2011210273
+2011210274,2011210274
+2011210275,2011210275
+2011210276,2011210276
+2011210277,040897
+2011210278,2011210278
+2011210279,2011210279
+2011210280,2011210280
+2011210281,2011210281
+2011210282,2011210282
+2011210283,2011210283
+2011210284,2011210284
+2011210285,2011210285
+2011210286,2011210286
+2011210287,2011210287
+2011210288,2011210288
+2011210289,2011210289
+2011210290,2011210290
+2011210291,2011210291
+2011210292,2011210292
+2011210293,2011210293
+2011210294,2011210294
+2011210295,2011210295
+2011210296,2011210296
+2011210297,2011210297
+2011210298,2011210298
+2011210299,2011210299
+2011210300,2011210300
+2011210301,2011210301
+2011210302,2011210302
+2011210303,2011210303
+2011210304,2011210304
+2011210305,2011210305
+2011210306,2011210306
+2011210307,2011210307
+2011210308,2011210308
+2011210309,2011210309
+2011210310,2011210310
+2011210311,2011210311
+2011210312,041731
+2011210313,2011210313
+2011210314,2011210314
+2011210315,2011210315
+2011210316,2011210316
+2011210317,2011210317
+2011210318,2011210318
+2011210319,2011210319
+2011210320,2011210320
+2011210321,2011210321
+2011210322,2011210322
+2011210323,2011210323
+2011210324,2011210324
+2011210325,2011210325
+2011210326,2011210326
+2011210327,2011210327
+2011210328,041696
+2011210329,041680
+2011210330,2011210330
+2011210331,2011210331
+2011210332,040586
+2011210333,2011210333
+2011210334,2011210334
+2011210335,2011210335
+2011210336,041729
+2011210337,2011210337
+2011210338,2011210338
+2011210339,2011210339
+2011210340,041674
+2011210341,2011210341
+2011210342,2011210342
+2011210343,2011210343
+2011210344,2011210344
+2011210345,2011210345
+2011210346,2011210346
+2011210347,2011210347
+2011210348,2011210348
+2011210349,2011210349
+2011210350,2011210350
+2011210351,2011210351
+2011210352,2011210352
+2011210353,2011210353
+2011210354,2011210354
+2011210355,2011210355
+2011210356,2011210356
+2011210357,2011210357
+2011210358,2011210358
+2011210359,2011210359
+2011210360,2011210360
+2011210361,2011210361
+2011210362,2011210362
+2011210363,2011210363
+2011210364,2011210364
+2011210365,2011210365
+2011210366,2011210366
+2011210367,2011210367
+2011210368,2011210368
+2011210369,2011210369
+2011210370,2011210370
+2011210371,2011210371
+2011210372,2011210372
+2011210373,040858
+2011210374,041196
+2011210375,032243
+2011210376,2011210376
+2011210377,2011210377
+2011210378,2011210378
+2011210379,2011210379
+2011210380,2011210380
+2011210381,2011210381
+2011210382,2011210382
+2011210383,2011210383
+2011210384,2011210384
+2011210385,2011210385
+2011210386,041643
+2011210387,2011210387
+2011210388,2011210388
+2011210389,2011210389
+2011210390,2011210390
+2011210391,2011210391
+2011210392,2011210392
+2011210393,2011210393
+2011210394,2011210394
+2011210395,2011210395
+2011210396,2011210396
+2011210397,2011210397
+2011210398,2011210398
+2011210399,2011210399
+2011210400,2011210400
+2011210401,2011210401
+2011210402,2011210402
+2011210403,2011210403
+2011210404,2010270096
+2011210405,2011210405
+2011210406,2011210406
+2011210407,2011210407
+2011210408,2011210408
+2011210409,2011210409
+2011210410,2011210410
+2011210411,2011210411
+2011210412,2011210412
+2011210413,2011210413
+2011210414,2011210414
+2011210415,2003020084
+2011210416,2011210416
+2011210417,2011210417
+2011210418,2011210418
+2011210419,2011210419
+2011210420,2011210420
+2011210421,2011210421
+2011210422,2011210422
+2011210423,2009270111
+2011210424,042040
+2011210425,2009270103
+2011210426,2011210426
+2011210427,2009270110
+2011210428,2011210428
+2011210429,2011210429
+2011210430,2011210430
+2011210431,2011210431
+2011210432,2011210432
+2011210433,2009270129
+2011210434,2011210434
+2011210435,2011210435
+2011210436,2011210436
+2011210437,2011210437
+2011210438,2009270118
+2011210439,2011210439
+2011210440,2011210440
+2011210441,2011210441
+2011210442,2011210442
+2011210443,2011210443
+2011210444,2011210444
+2011210445,2011210445
+2011210446,2011210446
+2011210447,2011210447
+2011210448,2011210448
+2011210449,2011210449
+2011210450,2010270082
+2011210451,2011210451
+2011210452,2008270020
+2011210453,2011210453
+2011210454,2007270008
+2011210455,2011210455
+2011210456,2011210456
+2011210457,2011210457
+2011210458,2011210458
+2011210459,2011210459
+2011210460,2011210460
+2011210461,2011210461
+2011210462,2002000037
+2011210463,2011210463
+2011210464,2011210464
+2011210465,2011210465
+2011210466,2010270017
+2011210467,2011210467
+2011210468,2011210468
+2011210469,2011210469
+2011210470,2011210470
+2011210471,2011210471
+2011210472,2011210472
+2011210473,2011210473
+2011210474,2011210474
+2011210475,2011210475
+2011210476,2011210476
+2011210477,2011210477
+2011210478,2011210478
+2011210479,2011210479
+2011210480,2011210480
+2011210481,2011210481
+2011210482,2011210482
+2011210483,2011210483
+2011210484,2011210484
+2011210485,2011210485
+2011210486,2011210486
+2011210487,2011210487
+2011210488,2011210488
+2011210489,2011210489
+2011210490,2011210490
+2011210491,2011210491
+2011210492,2011210492
+2011210493,2011210493
+2011210494,2011210494
+2011210495,2011210495
+2011210496,2011210496
+2011210497,2011210497
+2011210498,2011210498
+2011210499,2011210499
+2011210500,2011210500
+2011210501,2011210501
+2011210502,2011210502
+2011210503,2011210503
+2011210504,2011210504
+2011210505,2011210505
+2011210506,2011210506
+2011210507,2011210507
+2011210508,2011210508
+2011210509,2011210509
+2011210510,2011210510
+2011210511,2011210511
+2011210512,2011210512
+2011210513,2011210513
+2011210514,2011210514
+2011210515,2011210515
+2011210516,2011210516
+2011210517,2011210517
+2011210518,2011210518
+2011210519,2011210519
+2011210520,2011210520
+2011210521,2011210521
+2011210522,2011210522
+2011210523,2011210523
+2011210524,2011210524
+2011210525,2011210525
+2011210526,2011210526
+2011210527,2011210527
+2011210528,2011210528
+2011210529,2011210529
+2011210530,2011210530
+2011210531,2011210531
+2011210532,2011210532
+2011210533,2011210533
+2011210534,2011210534
+2011210535,2011210535
+2011210536,2011210536
+2011210537,2011210537
+2011210538,2011210538
+2011210539,2011210539
+2011210540,2011210540
+2011210541,2011210541
+2011210542,2011210542
+2011210543,2011210543
+2011210544,2011210544
+2011210545,2011210545
+2011210546,2011210546
+2011210547,2011210547
+2011210548,2011210548
+2011210549,2011210549
+2011210550,2011210550
+2011210551,2011210551
+2011210552,2011210552
+2011210553,2011210553
+2011210554,2011210554
+2011210555,2011210555
+2011210556,2011210556
+2011210557,2011210557
+2011210558,2011210558
+2011210559,2011210559
+2011210560,2011210560
+2011210561,2011210561
+2011210562,2011210562
+2011210563,2011210563
+2011210564,2011210564
+2011210565,2011210565
+2011210566,2011210566
+2011210567,2011210567
+2011210568,2011210568
+2011210569,2011210569
+2011210570,2011210570
+2011210571,2011210571
+2011210572,2011210572
+2011210573,2011210573
+2011210574,2011210574
+2011210575,2011210575
+2011210576,2011210576
+2011210577,2011210577
+2011210578,2011210578
+2011210579,2011210579
+2011210580,2011210580
+2011210581,2011210581
+2011210582,2011210582
+2011210583,2011210583
+2011210584,2011210584
+2011210585,2011210585
+2011210586,2011210586
+2011210587,2011210587
+2011210588,2011210588
+2011210589,2011210589
+2011210590,2011210590
+2011210591,2011210591
+2011210592,2011210592
+2011210593,2011210593
+2011210594,2011210594
+2011210595,2011210595
+2011210596,2011210596
+2011210597,2011210597
+2011210598,2011210598
+2011210599,2011210599
+2011210600,2011210600
+2011210601,2011210601
+2011210602,2011210602
+2011210603,2011210603
+2011210604,2011210604
+2011210605,2011210605
+2011210606,2011210606
+2011210607,2011210607
+2011210608,2011210608
+2011210609,2011210609
+2011210610,2011210610
+2011210611,2011210611
+2011210612,2011210612
+2011210613,2011210613
+2011210614,2011210614
+2011210615,2011210615
+2011210616,2011210616
+2011210617,2011210617
+2011210618,2011210618
+2011210619,2011210619
+2011210620,2011210620
+2011210621,2011210621
+2011210622,2011210622
+2011210623,2011210623
+2011210624,2011210624
+2011210625,2011210625
+2011210626,2011210626
+2011210627,2011210627
+2011210628,2011210628
+2011210629,2011210629
+2011210630,2011210630
+2011210631,2011210631
+2011210632,2011210632
+2011210633,2011210633
+2011210634,2011210634
+2011210635,2011210635
+2011210636,2011210636
+2011210637,052809
+2011210638,2011210638
+2011210639,2011210639
+2011210640,2011210640
+2011210641,2011210641
+2011210642,2011210642
+2011210643,2011210643
+2011210644,2011210644
+2011210645,2011210645
+2011210646,2011210646
+2011210647,2011210647
+2011210648,2011210648
+2011210649,2011210649
+2011210650,2011210650
+2011210651,2011210651
+2011210652,2011210652
+2011210653,2011210653
+2011210654,2011210654
+2011210655,2011210655
+2011210656,2011210656
+2011210657,2011210657
+2011210658,2011210658
+2011210659,2011210659
+2011210660,2011210660
+2011210661,2011210661
+2011210662,2011210662
+2011210663,2011210663
+2011210664,2011210664
+2011210665,2011210665
+2011210666,2011210666
+2011210667,2011210667
+2011210668,2011210668
+2011210669,2011210669
+2011210670,2011210670
+2011210671,2011210671
+2011210672,2011210672
+2011210673,2011210673
+2011210674,2011210674
+2011210675,2011210675
+2011210676,2011210676
+2011210677,2011210677
+2011210678,2011210678
+2011210679,2011210679
+2011210680,2011210680
+2011210681,2011210681
+2011210682,2011210682
+2011210683,2011210683
+2011210684,2011210684
+2011210685,2011210685
+2011210686,2011210686
+2011210687,2011210687
+2011210688,2011210688
+2011210689,2011210689
+2011210690,2011210690
+2011210691,2011210691
+2011210692,2011210692
+2011210693,2011210693
+2011210694,2011210694
+2011210695,2011210695
+2011210696,2011210696
+2011210697,2011210697
+2011210698,2011210698
+2011210699,2011210699
+2011210700,2011210700
+2011210701,2011210701
+2011210702,2011210702
+2011210703,2011210703
+2011210704,2011210704
+2011210705,2011210705
+2011210706,2011210706
+2011210707,2011210707
+2011210708,2011210708
+2011210709,2011210709
+2011210710,2011210710
+2011210711,2011210711
+2011210712,2011210712
+2011210713,2011210713
+2011210714,2011210714
+2011210715,2011210715
+2011210716,2011210716
+2011210717,2011210717
+2011210718,2011210718
+2011210719,2011210719
+2011210720,2011210720
+2011210721,2011210721
+2011210722,2011210722
+2011210723,2011210723
+2011210724,2011210724
+2011210725,2011210725
+2011210726,2011210726
+2011210727,2011210727
+2011210728,2011210728
+2011210729,2011210729
+2011210730,2011210730
+2011210731,2011210731
+2011210732,2011210732
+2011210733,2011210733
+2011210734,2011210734
+2011210735,2011210735
+2011210736,2011210736
+2011210737,2011210737
+2011210738,2011210738
+2011210739,2011210739
+2011210740,2011210740
+2011210741,2011210741
+2011210742,2011210742
+2011210743,2011210743
+2011210744,2011210744
+2011210745,2011210745
+2011210746,2011210746
+2011210747,2011210747
+2011210748,2011210748
+2011210749,2011210749
+2011210750,2011210750
+2011210751,2011210751
+2011210752,2011210752
+2011210753,2011210753
+2011210754,2011210754
+2011210755,2011210755
+2011210756,2011210756
+2011210757,2011210757
+2011210758,2011210758
+2011210759,2011210759
+2011210760,2011210760
+2011210761,2011210761
+2011210762,2011210762
+2011210763,2011210763
+2011210764,2011210764
+2011210765,2011210765
+2011210766,2011210766
+2011210767,2011210767
+2011210768,2011210768
+2011210769,2011210769
+2011210770,2011210770
+2011210771,2011210771
+2011210772,2011210772
+2011210773,2011210773
+2011210774,2011210774
+2011210775,2011210775
+2011210776,2011210776
+2011210777,2011210777
+2011210778,2011210778
+2011210779,2011210779
+2011210780,2011210780
+2011210781,2011210781
+2011210782,063181
+2011210783,2011210783
+2011210784,2011210784
+2011210785,2011210785
+2011210786,2011210786
+2011210787,2011210787
+2011210788,2011210788
+2011210789,2011210789
+2011210790,2011210790
+2011240001,2011240001
+2011240002,2011240002
+2011240003,2011240003
+2011240004,2011240004
+2011240005,2011240005
+2011240006,2011240006
+2011240007,2011240007
+2011240008,2011240008
+2011240009,2011240009
+2011240010,2011240010
+2011240011,2011240011
+2011240012,2011240012
+2011240013,2011240013
+2011240014,2011240014
+2011240015,2011240015
+2011240016,2011240016
+2011240017,2011240017
+2011240018,2011240018
+2011240019,2011240019
+2011240020,2011240020
+2011240021,2011240021
+2011240022,2011240022
+2011240023,2011240023
+2011240024,2011240024
+2011240025,2011240025
+2011240026,2011240026
+2011240027,2011240027
+2011240028,2011240028
+2011240029,2011240029
+2011240030,2011240030
+2011240031,2011240031
+2011240032,2011240032
+2011240033,2011240033
+2011240034,2011240034
+2011240035,2011240035
+2011240036,2011240036
+2011240038,2011240038
+2011240039,2011140004
+2011250001,2011250001
+2011250002,2011250002
+2011250003,2011250003
+2011250004,051128
+2011250005,2011250005
+2011250006,2011250006
+2011250007,2011250007
+2011250008,2011250008
+2011250009,2011250009
+2011250010,2007300218
+2011250011,2011250011
+2011250012,2011250012
+2011250013,2011250013
+2011250014,2011250014
+2011250015,2011250015
+2011250016,2011250016
+2011250017,2011250017
+2011250018,2011250018
+2011250019,2007300259
+2011250020,2007300450
+2011250021,2007301620
+2011250022,2011250022
+2011250023,2007300310
+2011250024,060543
+2011250025,2011250025
+2011250026,2007300186
+2011250027,2007301508
+2011250028,2007300500
+2011250029,2007300489
+2011250030,2011250030
+2011250031,2007300377
+2011250032,2011250032
+2011250033,2011250033
+2011250034,2011250034
+2011250035,2011250035
+2011250036,2011250036
+2011250037,2007300226
+2011250038,2011250038
+2011250039,2011250039
+2011250040,2011250040
+2011250041,2011250041
+2011250042,2011250042
+2011250043,2011250043
+2011250044,2007303331
+2011250045,052716
+2011250046,2007300287
+2011250047,2011250047
+2011250048,2011250048
+2011250049,2011250049
+2011250050,2007300239
+2011250051,2011250051
+2011250052,062475
+2011250053,2011250053
+2011250054,2011250054
+2011250055,2011250055
+2011250056,2011250056
+2011250057,2011250057
+2011250058,2011250058
+2011250059,2011250059
+2011250060,2011250060
+2011250061,2011250061
+2011250062,2011250062
+2011250063,2011250063
+2011250064,2011250064
+2011250065,2011250065
+2011250066,2011250066
+2011250067,2007300246
+2011250068,2011250068
+2011250069,2011250069
+2011250070,2011250070
+2011250071,2011250071
+2011250072,2011250072
+2011250073,2011250073
+2011250074,2011250074
+2011250075,2011250075
+2011250076,061447
+2011250077,2011250077
+2011250078,2011250078
+2011250079,2011250079
+2011250080,2011250080
+2011250081,2011250081
+2011250082,2007300195
+2011250083,2007300192
+2011250084,2007300268
+2011250085,2011250085
+2011250086,2011250086
+2011250087,2011250087
+2011250088,2011250088
+2011250089,2011250089
+2011250090,2011250090
+2011250091,2011250091
+2011250092,2011250092
+2011250093,2011250093
+2011250094,061140
+2011250095,2011250095
+2011250096,2011250096
+2011250097,2011250097
+2011250098,2011250098
+2011250099,2011250099
+2011250100,2011250100
+2011250101,2011250101
+2011250102,2011250102
+2011250103,2011250103
+2011250104,2011250104
+2011250105,2011250105
+2011250106,2011250106
+2011250107,2011250107
+2011250108,2011250108
+2011250109,2011250109
+2011250110,2011250110
+2011250111,2011250111
+2011250112,2011250112
+2011250113,2011250113
+2011250114,2011250114
+2011250115,2011250115
+2011250116,2011250116
+2011250117,2011250117
+2011250118,2011250118
+2011250119,2011250119
+2011250120,062061
+2011250121,2011250121
+2011250122,2007302240
+2011250123,2011250123
+2011250124,2007302775
+2011250125,2011250125
+2011250126,2011250126
+2011250127,2011250127
+2011250128,2011250128
+2011250129,2011250129
+2011250130,2011250130
+2011250131,2011250131
+2011250132,2011250132
+2011250133,2011250133
+2011250134,2007300458
+2011250135,2011250135
+2011250136,2011250136
+2011250137,2011250137
+2011250138,2011250138
+2011250139,2011250139
+2011250140,2011250140
+2011250141,2011250141
+2011250142,2011250142
+2011250143,2011250143
+2011250144,042254
+2011250145,2011250145
+2011250146,2011250146
+2011250147,2011250147
+2011250148,2011250148
+2011250149,2011250149
+2011250150,2011250150
+2011250151,2011250151
+2011250152,2011250152
+2011250153,2011250153
+2011250154,2011250154
+2011250155,2011250155
+2011250156,2011250156
+2011250157,2007300798
+2011250158,2011250158
+2011250159,2007300796
+2011250160,2011250160
+2011250161,2011250161
+2011250162,2011250162
+2011250163,2011250163
+2011250164,2011250164
+2011250165,2011250165
+2011250166,050336
+2011250167,2011250167
+2011250168,2011250168
+2011250169,2011250169
+2011250170,2011250170
+2011250171,2011250171
+2011250172,2011250172
+2011250173,2011250173
+2011260181,060265
+2011260182,2007300371
+2011260183,2007300146
+2011260184,2007300368
+2011260185,2007300206
+2011260186,2007300353
+2011260187,2011260187
+2011260188,2007300248
+2011260189,2007300173
+2011260190,2007300316
+2011260191,2011260191
+2011260192,2007300154
+2011260193,2007300139
+2011260194,2011260194
+2011260195,2011260195
+2011260196,2007300205
+2011260197,2007300225
+2011260198,2007300280
+2011260199,2007300326
+2011260200,2007300309
+2011260201,2007300277
+2011260202,2007300203
+2011260203,2007300204
+2011260204,2011260204
+2011260205,2011260205
+2011260206,2007300198
+2011260207,2007300147
+2011260208,2007300240
+2011260209,2011260209
+2011260210,2007300362
+2011260211,2011260211
+2011260212,2011260212
+2011260213,2007300366
+2011260214,2011260214
+2011260215,2007300296
+2011260216,2007300304
+2011260339,050650
+2011260340,061803
+2011260341,2007300548
+2011260342,2011260342
+2011260343,2007300562
+2011260344,2007300552
+2011260345,2011260345
+2011260346,2007300537
+2011260347,2007301838
+2011260348,2011260348
+2011260349,2011260349
+2011260350,2007301870
+2011260351,2007300547
+2011260352,2007300529
+2011260353,2011260353
+2011260354,2007300564
+2011260355,2011260355
+2011260356,2011260356
+2011260357,2007300463
+2011260358,2007300438
+2011260359,2007300472
+2011260360,2007300583
+2011260361,2007300595
+2011260362,2007300518
+2011260363,2007300586
+2011260364,2011260364
+2011260365,2007300437
+2011260366,2007300477
+2011260367,2007300442
+2011260368,2007300467
+2011260369,2007300451
+2011260370,2011260370
+2011260371,2007300507
+2011260372,2007300434
+2011260373,2007300600
+2011260374,2011260374
+2011260375,2007300520
+2011260376,2007300514
+2011260490,2007300689
+2011260491,2007300721
+2011260492,2011260492
+2011260493,2007301889
+2011260494,2011260494
+2011260495,2011260495
+2011260496,2007300709
+2011260497,2007301819
+2011260498,2007300713
+2011260499,2007300712
+2011260500,2007300695
+2011260501,2007300680
+2011260502,051515
+2011260503,2007300668
+2011260504,2007300661
+2011260505,2007301977
+2011260506,2011260506
+2011260507,2011260507
+2011260508,2007300618
+2011260509,2011260509
+2011260510,2011260510
+2011260511,2011260511
+2011260512,2007300638
+2011260513,2007300673
+2011260514,2007300622
+2011260515,2007300749
+2011260516,2007300678
+2011260517,2007300084
+2011260518,2007300625
+2011260519,2011260519
+2011260520,2007300682
+2011260521,2007300746
+2011260522,2011260522
+2011260523,2011260523
+2011260524,2011260524
+2011260525,2011260525
+2011260702,2007302479
+2011260703,2011260703
+2011260704,2007300819
+2011260705,2007300959
+2011260706,2007300864
+2011260707,2007300816
+2011260708,2007300824
+2011260709,2011260709
+2011260710,2011260710
+2011260711,2011260711
+2011260712,2007300937
+2011260713,2007300879
+2011260714,2007300788
+2011260715,2011260715
+2011260716,2011260716
+2011260717,2007300912
+2011260718,060888
+2011260719,2007300881
+2011260720,2011260720
+2011260721,2007300961
+2011260722,2007300890
+2011260723,2007300842
+2011260724,2007300848
+2011260725,2007300858
+2011260726,2007300979
+2011260727,2011260727
+2011260728,2011260728
+2011260729,2007300865
+2011260730,2007300998
+2011260731,2007301897
+2011260732,2011260732
+2011260733,2011260733
+2011260734,2011260734
+2011260735,2011260735
+2011260736,2007300977
+2011260737,2007300946
+2011260738,2011260738
+2011260739,2011260739
+2011260740,2011260740
+2011260741,2011260741
+2011260742,2011260742
+2011260743,2011260743
+2011260744,2007300906
+2011260745,2011260745
+2011260746,2011260746
+2011260747,2007300827
+2011260748,2011260748
+2011260983,2007301277
+2011260984,2011260984
+2011260985,2007301201
+2011260986,2011260986
+2011260987,2007301264
+2011260988,2007301313
+2011260989,2011260989
+2011260990,2007301230
+2011260991,2007301183
+2011260992,2011260992
+2011260993,2011260993
+2011260994,2011260994
+2011260995,2011260995
+2011260996,2007302662
+2011260997,2007301297
+2011260998,2007301288
+2011260999,2007301166
+2011261000,2007301299
+2011261001,2011261001
+2011261002,2007301124
+2011261003,2011261003
+2011261004,2011261004
+2011261005,061222
+2011261006,2007301274
+2011261007,2007301132
+2011261008,2007301242
+2011261009,2011261009
+2011261010,2007301118
+2011261011,2007301117
+2011261012,2011261012
+2011261013,2007301041
+2011261014,061135
+2011261015,2011261015
+2011261016,2007301107
+2011261017,2011261017
+2011261018,2007301053
+2011261019,2007301097
+2011261020,2011261020
+2011261021,2007301085
+2011261022,2007301092
+2011261023,2007301049
+2011261024,2007301301
+2011261025,2011261025
+2011261026,2011261026
+2011261027,2007301026
+2011261028,2011261028
+2011261083,2007301395
+2011261084,2011261084
+2011261085,2011261085
+2011261086,2007301372
+2011261087,2007301361
+2011261088,2007301355
+2011261089,2007301389
+2011261090,2011261090
+2011261091,2007301396
+2011261092,2007301348
+2011261093,2011261093
+2011261094,2011261094
+2011261095,2011261095
+2011261096,2011261096
+2011261097,2007301347
+2011261098,061333
+2011261204,2007301580
+2011261205,2011261205
+2011261206,2011261206
+2011261207,2007301582
+2011261208,2011261208
+2011261209,2011261209
+2011261210,2011261210
+2011261211,2007301581
+2011261212,2011261212
+2011261213,2011261213
+2011261214,2007300007
+2011261215,2007301643
+2011261216,2007301636
+2011261217,2011261217
+2011261218,2007301633
+2011261219,2007301550
+2011261220,2007301592
+2011261221,2011261221
+2011261222,2007301500
+2011261223,2011261223
+2011261224,2007301514
+2011261225,2007301482
+2011261226,2007301473
+2011261227,2007301529
+2011261228,2007301621
+2011261229,2011261229
+2011261230,2007301495
+2011261409,2011261409
+2011261410,2011261410
+2011261411,2011261411
+2011261412,2011261412
+2011261413,2007301890
+2011261414,2007301716
+2011261415,2011261415
+2011261416,2011261416
+2011261417,2011261417
+2011261418,2007301673
+2011261419,2011261419
+2011261420,2007301947
+2011261421,2007301758
+2011261422,2011261422
+2011261423,2007301794
+2011261424,2011261424
+2011261425,2011261425
+2011261426,2007301729
+2011261427,2007301648
+2011261428,2011261428
+2011261429,2007301949
+2011261430,2011261430
+2011261431,2011261431
+2011261432,2011261432
+2011261433,2007301928
+2011261434,2007301902
+2011261435,2007301678
+2011261436,2011261436
+2011261437,2007301748
+2011261438,2007301935
+2011261439,2011261439
+2011261440,2007301933
+2011261441,2011261441
+2011261442,2011261442
+2011261443,2007301750
+2011261444,2007301752
+2011261445,2011261445
+2011261446,2011261446
+2011261447,2007301876
+2011261448,2007301845
+2011261449,2007302222
+2011261450,042035
+2011261451,2007301869
+2011261452,2011261452
+2011261453,2007301668
+2011261454,2007301873
+2011261455,2011261455
+2011261456,2007301862
+2011261457,052059
+2011261685,2007303333
+2011261686,2007302252
+2011261687,2011261687
+2011261688,2007302250
+2011261689,2007302105
+2011261690,2007302091
+2011261691,2007302069
+2011261692,2007302043
+2011261693,2007302102
+2011261694,2007302070
+2011261695,2007302099
+2011261696,2011261696
+2011261697,2011261697
+2011261698,2007300196
+2011261699,2007302013
+2011261700,2007302196
+2011261701,042883
+2011261702,2007301982
+2011261703,2011261703
+2011261704,2007302194
+2011261705,2007302148
+2011261706,2007302192
+2011261707,2011261707
+2011261708,2007301979
+2011261709,2011261709
+2011261710,2007302001
+2011261711,2007302134
+2011261712,2007302210
+2011261713,2007302153
+2011261714,2007302171
+2011261715,2007302190
+2011261716,2011261716
+2011261717,2007302012
+2011261718,2007301968
+2011261719,2011261719
+2011261720,2011261720
+2011261721,2007302133
+2011261722,2011261722
+2011261723,2011261723
+2011261724,2011261724
+2011261855,2007302278
+2011261856,2007302279
+2011261857,2007302395
+2011261858,2007302356
+2011261859,2007302454
+2011261860,2011261860
+2011261861,2011261861
+2011261862,2007302376
+2011261863,2011261863
+2011261864,2007302507
+2011261865,2007302385
+2011261866,2007302305
+2011261867,2007302338
+2011261868,2011261868
+2011261869,2011261869
+2011261870,2011261870
+2011261871,062611
+2011261872,2011261872
+2011261873,2007302384
+2011261874,2011261874
+2011261875,2007302286
+2011261876,2007302424
+2011261877,2011261877
+2011261878,2007302409
+2011261879,2007302330
+2011261880,2011261880
+2011261881,2011261881
+2011261882,2011261882
+2011261883,2007302334
+2011262048,2007302700
+2011262049,2007302687
+2011262050,2007302591
+2011262051,2011262051
+2011262052,2007302752
+2011262053,2011262053
+2011262054,2007302770
+2011262055,2007302799
+2011262056,2007302797
+2011262057,2007302743
+2011262058,2007302767
+2011262059,2007302679
+2011262060,2007302791
+2011262061,2011262061
+2011262062,2011262062
+2011262063,2007302822
+2011262064,2007302738
+2011262065,2007302719
+2011262066,2007302808
+2011262067,2011262067
+2011262068,2011262068
+2011262069,2011262069
+2011262126,2011262126
+2011262127,2011262127
+2011262128,2011262128
+2011262129,2011262129
+2011262130,2011262130
+2011262131,2011262131
+2011262132,2011262132
+2011262133,2011262133
+2011262134,2011262134
+2011262135,2011262135
+2011262136,2011262136
+2011262137,2011262137
+2011262138,2011262138
+2011262139,2011262139
+2011262140,2011262140
+2011262141,2011262141
+2011262142,2011262142
+2011262143,2011262143
+2011262144,2011262144
+2011262145,2011262145
+2011262146,2011262146
+2011262147,2011262147
+2011262148,2011262148
+2011262149,2011262149
+2011262150,2011262150
+2011262151,2011262151
+2011262152,2011262152
+2011262153,2011262153
+2011262154,2011262154
+2011262155,2011262155
+2011262156,2011262156
+2011262157,2011262157
+2011262158,2011262158
+2011262159,2011262159
+2011262160,2011262160
+2011262161,2011262161
+2011262162,2010270002
+2011262163,2011262163
+2011262164,2011262164
+2011262165,2011262165
+2011262166,2011262166
+2011262167,2010210675
+2011262168,2009270085
+2011262169,2011262169
+2011262170,2011262170
+2011262171,2011262171
+2011262172,2011262172
+2011262173,2011262173
+2011262174,2011262174
+2011262175,2011262175
+2011262176,2011262176
+2011262177,2011262177
+2011262178,2011262178
+2011262179,2011262179
+2011262180,2011262180
+2011262181,2011262181
+2011262182,2011262182
+2011262183,2011262183
+2011262184,2011262184
+2011262185,2011262185
+2011262186,2009210331
+2011262187,2011262187
+2011262188,2009210339
+2011262189,2011262189
+2011262190,2011262190
+2011262191,2011262191
+2011262192,2011262192
+2011262193,2011262193
+2011262194,2011262194
+2011262195,2011262195
+2011262196,2011262196
+2011262197,2011262197
+2011262198,2011262198
+2011262199,2011262199
+2011262200,2011262200
+2011262201,2011262201
+2011262202,2011262202
+2011262203,2011262203
+2011262204,2011262204
+2011262205,2011262205
+2011262206,2011262206
+2011262207,2011262207
+2011262208,2011262208
+2011262209,2011262209
+2011262210,2011262210
+2011262211,2011262211
+2011262212,2011262212
+2011262213,2011262213
+2011262214,2011262214
+2011262215,2011262215
+2011262216,2011262216
+2011262217,2011262217
+2011262218,2011262218
+2011262219,2011262219
+2011262220,2011262220
+2011262221,2011262221
+2011262222,2011262222
+2011262223,2011262223
+2011262224,2011262224
+2011262225,2011262225
+2011262226,2011262226
+2011262227,2011262227
+2011262228,2011262228
+2011262229,2011262229
+2011262230,2011262230
+2011262231,2011262231
+2011262232,2011262232
+2011262233,2011262233
+2011262234,2011262234
+2011262235,2011262235
+2011262236,2011262236
+2011262237,2011262237
+2011262238,2011262238
+2011262239,2011262239
+2011262240,2011262240
+2011262241,2011262241
+2011262242,2011262242
+2011262243,2011262243
+2011262244,2011262244
+2011262245,2011262245
+2011262246,2011262246
+2011262247,2011262247
+2011262248,2011262248
+2011262249,2011262249
+2011262250,2011262250
+2011262251,2011262251
+2011262252,2011262252
+2011262253,2011262253
+2011262254,2011262254
+2011262255,2011262255
+2011262256,2011262256
+2011262257,2011262257
+2011262258,2011262258
+2011262259,2011262259
+2011262260,2011262260
+2011262261,2011262261
+2011262262,2011262262
+2011262263,2011262263
+2011262264,2011262264
+2011262265,2011262265
+2011262266,2011262266
+2011262267,2011262267
+2011262268,2009210288
+2011262269,2011262269
+2011262270,2011262270
+2011262271,2011262271
+2011262272,2011262272
+2011262273,2011262273
+2011262274,2011262274
+2011262275,2011262275
+2011262276,2011262276
+2011262277,040108
+2011262278,2011262278
+2011262279,2011262279
+2011262280,2011262280
+2011262281,2011262281
+2011262282,2011262282
+2011262283,2011262283
+2011262284,2011262284
+2011262285,2011262285
+2011262286,2011262286
+2011262287,2011262287
+2011262288,2011262288
+2011262289,2011262289
+2011262290,2011262290
+2011262291,2011262291
+2011262292,2011262292
+2011262293,2011262293
+2011262294,2011262294
+2011262295,2011262295
+2011262296,2011262296
+2011262297,2011262297
+2011262298,2011262298
+2011262299,2011262299
+2011262300,2011262300
+2011262301,2011262301
+2011262302,2011262302
+2011262303,2011262303
+2011262304,2011262304
+2011262305,2011262305
+2011262306,2011262306
+2011262307,2011262307
+2011262308,2011262308
+2011262309,2011262309
+2011262310,2011262310
+2011262311,2011262311
+2011262312,2011262312
+2011262313,2011262313
+2011262314,2011262314
+2011262315,2011262315
+2011262316,2011262316
+2011262385,2011262385
+2011262386,2011262386
+2011262387,053251
+2011262388,2007302999
+2011262401,2011262401
+2011262402,2011262402
+2011262403,2010210661
+2011262404,2010210631
+2011262405,2011262405
+2011262406,2011262406
+2011262407,2011262407
+2011262408,2011262408
+2011262409,2011262409
+2011262410,2011262410
+2011262411,2011262411
+2011262412,2011262412
+2011262413,2011262413
+2011262414,2011262414
+2011262415,2011262415
+2011262416,2011262416
+2011262417,2011262417
+2011262418,2011262418
+2011262419,2011262419
+2011262420,2011262420
+2011262421,2011262421
+2011262422,2011262422
+2011262423,2011262423
+2011262424,2011262424
+2011262425,2011262425
+2011262426,2011262426
+2011262427,2011262427
+2011262428,2011262428
+2011262429,2010210666
+2011262430,2010210671
+2011262431,2011262431
+2011262432,2011262432
+2011262433,2011262433
+2011262434,2011262434
+2011262435,2010210657
+2011262436,2011262436
+2011262437,2011262437
+2011262438,2011262438
+2011262439,2011262439
+2011262440,2011262440
+2011262441,2010210679
+2011262442,2011262442
+2011262443,2011262443
+2011262444,2011262444
+2011262445,2011262445
+2011262446,2011262446
+2011262447,2011262447
+2011262448,2011262448
+2011262449,2011262449
+2011262450,2011262450
+2011262451,2011262451
+2011262452,2011262452
+2011262453,2011262453
+2011262454,2011262454
+2011262455,2011262455
+2011262456,2011262456
+2011262457,2011262457
+2011262458,2011262458
+2011262459,2011262459
+2011262460,2011262460
+2011262461,2011262461
+2011262462,2011262462
+2011262463,2011262463
+2011262464,2011262464
+2011262465,2011262465
+2011262466,2011262466
+2011262467,2011262467
+2011262468,2007303253
+2011262469,2007303305
+2011262470,2011262470
+2011262471,2011262471
+2011262472,052984
+2011262473,2011262473
+2011262474,2011262474
+2011262475,2011262475
+2011262476,2011262476
+2011262477,2011262477
+2011262478,2011262478
+2011262479,2011262479
+2011262480,2011262480
+2011262481,2011262481
+2011262482,2007303201
+2011262483,2007303265
+2011262484,2011262484
+2011262485,2007303158
+2011262486,2007303245
+2011262487,2007303226
+2011262488,062122
+2011262489,2011262489
+2011262490,2011262490
+2011262491,2007303119
+2011262492,2007303187
+2011262493,2007303220
+2011262494,2011262494
+2011262495,2011262495
+2011262496,2011262496
+2011262497,2011262497
+2011262498,2011262498
+2011262499,2011262499
+2011262500,2007303388
+2011262501,2007303344
+2011262502,2010210086
+2011262503,2011262503
+2011262504,2010210087
+2011262505,050197
+2011262506,2011262506
+2011262507,2011262507
+2011262508,2007303138
+2011262509,2007303143
+2011262510,2011262510
+2011262511,2011262511
+2011262512,2011262512
+2011262513,2007303103
+2011262514,2011262514
+2011262515,2011262515
+2011262516,2007302451
+2011262517,2011262517
+2011262518,2011262518
+2011262519,2011262519
+2011262520,2011262520
+2011262521,2007303250
+2011262522,2011262522
+2011262523,2007302276
+2011262524,2007303330
+2011262525,2011262525
+2011262526,2007303129
+2011262527,2007303107
+2011262528,2007303298
+2011262529,2007302211
+2011262530,2011262530
+2011262531,2007303179
+2011262532,2007303188
+2011262533,2007303207
+2011262534,2007301745
+2011262535,2011262535
+2011262536,2011262536
+2011262537,2011262537
+2011262538,2011262538
+2011262539,2007303221
+2011262540,2007303168
+2011262541,2011262541
+2011262542,2011262542
+2011262543,2011262543
+2011262544,2007303252
+2011262545,2007303127
+2011262546,2007303132
+2011262547,2007303190
+2011262548,2007303224
+2011262549,2007303310
+2011262550,2007303276
+2011262551,2011262551
+2011300001,2011300001
+2011300002,2011300002
+2011300003,2011300003
+2011300004,2011300004
+2011300005,2011300005
+2011300006,2011300006
+2011300007,2011300007
+2011300008,2011300008
+2011300009,2011300009
+2011300010,2011300010
+2011300011,2011300011
+2011300012,2011300012
+2011300013,2011300013
+2011300014,2011300014
+2011300015,2011300015
+2011300016,2011300016
+2011300017,2011300017
+2011300018,2011300018
+2011300019,2011300019
+2011300020,2011300020
+2011300021,2011300021
+2011300022,2011300022
+2011300023,2011300023
+2011300024,2011300024
+2011300025,2011300025
+2011300026,2011300026
+2011300027,2011300027
+2011300028,2011300028
+2011300029,2011300029
+2011300030,2011300030
+2011300031,2011300031
+2011300032,2011300032
+2011300033,2011300033
+2011300034,2011300034
+2011300035,2011300035
+2011300036,2011300036
+2011300037,2011300037
+2011300038,2011300038
+2011300039,2011300039
+2011300040,2011300040
+2011300041,2011300041
+2011300042,2011300042
+2011300043,2011300043
+2011300044,2011300044
+2011300045,2011300045
+2011300046,2011300046
+2011300047,2011300047
+2011300048,2011300048
+2011300049,2011300049
+2011300050,2011300050
+2011300051,2011300051
+2011300052,2011300052
+2011300053,2011300053
+2011300054,2011300054
+2011300055,2011300055
+2011300056,2011300056
+2011300057,2011300057
+2011300058,2011300058
+2011300059,2011300059
+2011300060,2011300060
+2011300061,2011300061
+2011300062,2011300062
+2011300063,2011300063
+2011300064,2011300064
+2011300065,2011300065
+2011300066,2011300066
+2011300067,2011300067
+2011300068,2011300068
+2011300069,2011300069
+2011300070,2011300070
+2011300071,2011300071
+2011300072,2011300072
+2011300073,2011300073
+2011300074,2011300074
+2011300075,2011300075
+2011300076,2011300076
+2011300077,2011300077
+2011300078,2011300078
+2011300079,2011300079
+2011300080,2011300080
+2011300081,2011300081
+2011300082,2011300082
+2011300083,2011300083
+2011300084,2011300084
+2011300085,2011300085
+2011300086,2011300086
+2011300087,2011300087
+2011300088,2011300088
+2011300089,2011300089
+2011300090,2011300090
+2011300091,2011300091
+2011300092,2011300092
+2011300093,2011300093
+2011300094,2011300094
+2011300095,2011300095
+2011300096,2011300096
+2011300097,2011300097
+2011300098,2011300098
+2011300099,2011300099
+2011300100,2011300100
+2011300101,2011300101
+2011300102,2011300102
+2011300103,2011300103
+2011300104,2011300104
+2011300105,2011300105
+2011300106,2011300106
+2011300107,2011300107
+2011300108,2011300108
+2011300109,2011300109
+2011300110,2011300110
+2011300111,2011300111
+2011300112,2011300112
+2011300113,2011300113
+2011300114,2011300114
+2011300115,2011300115
+2011300116,2011300116
+2011300117,2011300117
+2011300118,2011300118
+2011300119,2011300119
+2011300120,2011300120
+2011300121,2011300121
+2011300122,2011300122
+2011300123,2011300123
+2011300124,2011300124
+2011300125,2011300125
+2011300126,2011300126
+2011300127,2011300127
+2011300128,2011300128
+2011300129,2011300129
+2011300130,2011300130
+2011300131,2011300131
+2011300132,2011300132
+2011300133,2011300133
+2011300134,2011300134
+2011300135,2011300135
+2011300136,2011300136
+2011300137,052000
+2011300138,2011300138
+2011300139,2011300139
+2011300140,2011300140
+2011300141,2011300141
+2011300142,2011300142
+2011300143,2011300143
+2011300144,2011300144
+2011300145,2011300145
+2011300146,2011300146
+2011300147,2011300147
+2011300148,2011300148
+2011300149,2011300149
+2011300150,2011300150
+2011300151,2011300151
+2011300152,2011300152
+2011300153,2011300153
+2011300154,2011300154
+2011300155,2011300155
+2011300156,2011300156
+2011300157,2011300157
+2011300158,2011300158
+2011300159,2011300159
+2011300160,2011300160
+2011300161,2011300161
+2011300162,2011300162
+2011300163,2011300163
+2011300164,2011300164
+2011300165,2011300165
+2011300166,2011300166
+2011300167,2011300167
+2011300168,2011300168
+2011300169,2011300169
+2011300170,2011300170
+2011300171,2011300171
+2011300172,2011300172
+2011300173,2011300173
+2011300174,2011300174
+2011300175,2011300175
+2011300176,2011300176
+2011300177,2011300177
+2011300178,2011300178
+2011300179,2011300179
+2011300180,2011300180
+2011300181,2011300181
+2011300182,2011300182
+2011300183,2011300183
+2011300184,2011300184
+2011300185,2011300185
+2011300186,2011300186
+2011300187,2011300187
+2011300188,2011300188
+2011300189,2011300189
+2011300190,2011300190
+2011300191,2011300191
+2011300192,2011300192
+2011300193,2011300193
+2011300194,2011300194
+2011300195,2011300195
+2011300196,2011300196
+2011300197,2011300197
+2011300198,2011300198
+2011300199,2011300199
+2011300200,2011300200
+2011300201,2011300201
+2011300202,2011300202
+2011300203,2011300203
+2011300204,2011300204
+2011300205,2011300205
+2011300206,2011300206
+2011300207,2011300207
+2011300208,2011300208
+2011300209,2011300209
+2011300210,2011300210
+2011300211,2011300211
+2011300212,2011300212
+2011300213,2011300213
+2011300214,2011300214
+2011300215,2011300215
+2011300216,2011300216
+2011300217,2011300217
+2011300218,2011300218
+2011300219,2011300219
+2011300220,2011300220
+2011300221,2011300221
+2011300222,2011300222
+2011300223,2011300223
+2011300224,2011300224
+2011300225,2011300225
+2011300226,2011300226
+2011300227,2011300227
+2011300228,2011300228
+2011300229,2011300229
+2011300230,2011300230
+2011300231,2011300231
+2011300232,2011300232
+2011300233,2011300233
+2011300234,2011300234
+2011300235,2011300235
+2011300236,2011300236
+2011300237,2011300237
+2011300238,2011300238
+2011300239,2011300239
+2011300240,2011300240
+2011300241,2011300241
+2011300242,2011300242
+2011300243,2011300243
+2011300244,2011300244
+2011300245,2011300245
+2011300246,2011300246
+2011300247,2011300247
+2011300248,2011300248
+2011300249,2011300249
+2011300250,2011300250
+2011300251,2011300251
+2011300252,2011300252
+2011300253,2011300253
+2011300254,2011300254
+2011300255,2011300255
+2011300256,2011300256
+2011300257,2011300257
+2011300258,2011300258
+2011300259,2011300259
+2011300260,2011300260
+2011300261,2011300261
+2011300262,2011300262
+2011300263,2011300263
+2011300264,2011300264
+2011300265,2011300265
+2011300266,2011300266
+2011300267,2011300267
+2011300268,2011300268
+2011300269,2011300269
+2011300270,2011300270
+2011300271,2011300271
+2011300272,2011300272
+2011300273,2011300273
+2011300274,2011300274
+2011300275,2011300275
+2011300276,2011300276
+2011300277,2011300277
+2011300278,2011300278
+2011300279,2011300279
+2011300280,2011300280
+2011300281,2011300281
+2011300282,2011300282
+2011300283,2011300283
+2011300284,2011300284
+2011300285,2011300285
+2011300286,2011300286
+2011300287,2011300287
+2011300288,2011300288
+2011300289,2011300289
+2011300290,2011300290
+2011300291,2011300291
+2011300292,2011300292
+2011300293,2011300293
+2011300294,2011300294
+2011300295,2011300295
+2011300296,2011300296
+2011300297,2011300297
+2011300298,2011300298
+2011300299,2011300299
+2011300300,2011300300
+2011300301,2011300301
+2011300302,2011300302
+2011300303,2011300303
+2011300304,2011300304
+2011300305,2011300305
+2011300306,2011300306
+2011300307,2011300307
+2011300308,2011300308
+2011300309,2011300309
+2011300310,2011300310
+2011300311,2011300311
+2011300312,2011300312
+2011300313,2011300313
+2011300314,2011300314
+2011300315,2011300315
+2011300316,2011300316
+2011300317,2011300317
+2011300318,2011300318
+2011300319,2011300319
+2011300320,2011300320
+2011300321,2011300321
+2011300322,2011300322
+2011300323,2011300323
+2011300324,2011300324
+2011300325,2011300325
+2011300326,2011300326
+2011300327,2011300327
+2011300328,2011300328
+2011300329,2011300329
+2011300330,2011300330
+2011300331,2011300331
+2011300332,2011300332
+2011300333,2011300333
+2011300334,2011300334
+2011300335,2011300335
+2011300336,2011300336
+2011300337,2011300337
+2011300338,2011300338
+2011300339,2011300339
+2011300340,2011300340
+2011300341,2011300341
+2011300342,2011300342
+2011300343,2011300343
+2011300344,2011300344
+2011300345,2011300345
+2011300346,2011300346
+2011300347,2011300347
+2011300348,2011300348
+2011300349,2011300349
+2011300350,2011300350
+2011300351,2011300351
+2011300352,2011300352
+2011300353,2011300353
+2011300354,2011300354
+2011300355,2011300355
+2011300356,2011300356
+2011300357,2011300357
+2011300358,2011300358
+2011300359,2011300359
+2011300360,2011300360
+2011300361,2011300361
+2011300362,2011300362
+2011300363,2011300363
+2011300364,2011300364
+2011300365,2011300365
+2011300366,2011300366
+2011300367,2011300367
+2011300368,2011300368
+2011300369,2011300369
+2011300370,2011300370
+2011300371,2011300371
+2011300372,2011300372
+2011300373,2011300373
+2011300374,2011300374
+2011300375,2011300375
+2011300376,2011300376
+2011300377,2011300377
+2011300378,2011300378
+2011300379,2011300379
+2011300380,2011300380
+2011300381,2011300381
+2011300382,2011300382
+2011300383,2011300383
+2011300384,2011300384
+2011300385,2011300385
+2011300386,2011300386
+2011300387,2011300387
+2011300388,2011300388
+2011300389,2011300389
+2011300390,2011300390
+2011300391,2011300391
+2011300392,2011300392
+2011300393,2011300393
+2011300394,2011300394
+2011300395,2011300395
+2011300396,2011300396
+2011300397,2011300397
+2011300398,2011300398
+2011300399,2011300399
+2011300400,2011300400
+2011300401,2011300401
+2011300402,2011300402
+2011300403,2011300403
+2011300404,2011300404
+2011300405,2011300405
+2011300406,2011300406
+2011300407,2011300407
+2011300408,2011300408
+2011300409,2011300409
+2011300410,2011300410
+2011300411,2011300411
+2011300412,2011300412
+2011300413,2011300413
+2011300414,2011300414
+2011300415,2011300415
+2011300416,2011300416
+2011300417,2011300417
+2011300418,2011300418
+2011300419,2011300419
+2011300420,2011300420
+2011300421,2011300421
+2011300422,2011300422
+2011300423,2011300423
+2011300424,2011300424
+2011300425,2011300425
+2011300426,2011300426
+2011300427,2011300427
+2011300428,2011300428
+2011300429,2011300429
+2011300430,2011300430
+2011300431,2011300431
+2011300432,2011300432
+2011300433,2011300433
+2011300434,2011300434
+2011300435,2011300435
+2011300436,2011300436
+2011300437,2011300437
+2011300438,2011300438
+2011300439,2011300439
+2011300440,2011300440
+2011300441,2011300441
+2011300442,2011300442
+2011300443,2011300443
+2011300444,2011300444
+2011300445,2011300445
+2011300446,2011300446
+2011300447,2011300447
+2011300448,2011300448
+2011300449,2011300449
+2011300450,2011300450
+2011300451,2011300451
+2011300452,2011300452
+2011300453,2011300453
+2011300454,2011300454
+2011300455,2011300455
+2011300456,2011300456
+2011300457,2011300457
+2011300458,2011300458
+2011300459,2011300459
+2011300460,2011300460
+2011300461,2011300461
+2011300462,2011300462
+2011300463,2011300463
+2011300464,2011300464
+2011300465,2011300465
+2011300466,2011300466
+2011300467,2011300467
+2011300468,2011300468
+2011300469,2011300469
+2011300470,2011300470
+2011300471,2011300471
+2011300472,2011300472
+2011300473,2011300473
+2011300474,2011300474
+2011300475,2011300475
+2011300476,2011300476
+2011300477,2011300477
+2011300478,2011300478
+2011300479,2011300479
+2011300480,2011300480
+2011300481,2011300481
+2011300482,2011300482
+2011300483,2011300483
+2011300484,2011300484
+2011300485,2011300485
+2011300486,2011300486
+2011300487,2011300487
+2011300488,2011300488
+2011300489,2011300489
+2011300490,2011300490
+2011300491,2011300491
+2011300492,2011300492
+2011300493,2011300493
+2011300494,2011300494
+2011300495,2011300495
+2011300496,2011300496
+2011300497,2011300497
+2011300498,2011300498
+2011300499,2011300499
+2011300500,2011300500
+2011300501,2011300501
+2011300502,2011300502
+2011300503,2011300503
+2011300504,2011300504
+2011300505,2011300505
+2011300506,2011300506
+2011300507,2011300507
+2011300508,2011300508
+2011300509,2011300509
+2011300510,2011300510
+2011300511,2011300511
+2011300512,2011300512
+2011300513,2011300513
+2011300514,2011300514
+2011300515,2011300515
+2011300516,2011300516
+2011300517,2011300517
+2011300518,2011300518
+2011300519,2011300519
+2011300520,2011300520
+2011300521,2011300521
+2011300522,2011300522
+2011300523,2011300523
+2011300524,2011300524
+2011300525,2011300525
+2011300526,2011300526
+2011300527,2011300527
+2011300528,2011300528
+2011300529,2011300529
+2011300530,2011300530
+2011300531,2011300531
+2011300532,2011300532
+2011300533,2011300533
+2011300534,2011300534
+2011300535,2011300535
+2011300536,2011300536
+2011300537,2011300537
+2011300538,2011300538
+2011300539,2011300539
+2011300540,2011300540
+2011300541,2011300541
+2011300542,2011300542
+2011300543,2011300543
+2011300544,2011300544
+2011300545,2011300545
+2011300546,2011300546
+2011300547,2011300547
+2011300548,2011300548
+2011300549,2011300549
+2011300550,2011300550
+2011300551,2011300551
+2011300552,2011300552
+2011300553,2011300553
+2011300554,2011300554
+2011300555,2011300555
+2011300556,2011300556
+2011300557,2011300557
+2011300558,2011300558
+2011300559,2011300559
+2011300560,2011300560
+2011300561,2011300561
+2011300562,2011300562
+2011300563,2011300563
+2011300564,2011300564
+2011300565,2011300565
+2011300566,2011300566
+2011300567,2011300567
+2011300568,2011300568
+2011300569,2011300569
+2011300570,2011300570
+2011300571,2011300571
+2011300572,2011300572
+2011300573,2011300573
+2011300574,2011300574
+2011300575,2011300575
+2011300576,2011300576
+2011300577,2011300577
+2011300578,2011300578
+2011300579,2011300579
+2011300580,2011300580
+2011300581,2011300581
+2011300582,2011300582
+2011300583,2011300583
+2011300584,2011300584
+2011300585,2011300585
+2011300586,2011300586
+2011300587,2011300587
+2011300588,2011300588
+2011300589,2011300589
+2011300590,2011300590
+2011300591,2011300591
+2011300592,2011300592
+2011300593,2011300593
+2011300594,2011300594
+2011300595,2011300595
+2011300596,2011300596
+2011300597,2011300597
+2011300598,2011300598
+2011300599,2011300599
+2011300600,2011300600
+2011300601,2011300601
+2011300602,2011300602
+2011300603,2011300603
+2011300604,2011300604
+2011300605,2011300605
+2011300606,2011300606
+2011300607,2011300607
+2011300608,2011300608
+2011300609,2011300609
+2011300610,2011300610
+2011300611,2011300611
+2011300612,2011300612
+2011300613,2011300613
+2011300614,2011300614
+2011300615,2011300615
+2011300616,2011300616
+2011300617,2011300617
+2011300618,2011300618
+2011300619,2011300619
+2011300620,2011300620
+2011300621,2011300621
+2011300622,2011300622
+2011300623,2011300623
+2011300624,2011300624
+2011300625,2011300625
+2011300626,2011300626
+2011300627,2011300627
+2011300628,2011300628
+2011300629,2011300629
+2011300630,2011300630
+2011300631,2011300631
+2011300632,2011300632
+2011300633,2011300633
+2011300634,2011300634
+2011300635,2011300635
+2011300636,2011300636
+2011300637,2011300637
+2011300638,2011300638
+2011300639,2011300639
+2011300640,2011300640
+2011300641,2011300641
+2011300642,2011300642
+2011300643,2011300643
+2011300644,2011300644
+2011300645,2011300645
+2011300646,2011300646
+2011300647,2011300647
+2011300648,2011300648
+2011300649,2011300649
+2011300650,2011300650
+2011300651,2011300651
+2011300652,2011300652
+2011300653,2011300653
+2011300654,2011300654
+2011300655,2011300655
+2011300656,2011300656
+2011300657,2011300657
+2011300658,2011300658
+2011300659,2011300659
+2011300660,2011300660
+2011300661,2011300661
+2011300662,2011300662
+2011300663,2011300663
+2011300664,2011300664
+2011300665,2011300665
+2011300666,2011300666
+2011300667,2011300667
+2011300668,2011300668
+2011300669,2011300669
+2011300670,2011300670
+2011300671,2011300671
+2011300672,2011300672
+2011300673,2011300673
+2011300674,2011300674
+2011300675,2011300675
+2011300676,2011300676
+2011300677,2011300677
+2011300678,2011300678
+2011300679,2011300679
+2011300680,2011300680
+2011300681,2011300681
+2011300682,2011300682
+2011300683,2011300683
+2011300684,2011300684
+2011300685,2011300685
+2011300686,2011300686
+2011300687,2011300687
+2011300688,2011300688
+2011300689,2011300689
+2011300690,2011300690
+2011300691,2011300691
+2011300692,2011300692
+2011300693,2011300693
+2011300694,2011300694
+2011300695,2011300695
+2011300696,2011300696
+2011300697,2011300697
+2011300698,2011300698
+2011300699,2011300699
+2011300700,2011300700
+2011300701,2011300701
+2011300702,2011300702
+2011300703,2011300703
+2011300704,2011300704
+2011300705,2011300705
+2011300706,2011300706
+2011300707,2011300707
+2011300708,2011300708
+2011300709,2011300709
+2011300710,2011300710
+2011300711,2011300711
+2011300712,2011300712
+2011300713,2011300713
+2011300714,2011300714
+2011300715,2011300715
+2011300716,2011300716
+2011300717,2011300717
+2011300718,2011300718
+2011300719,2011300719
+2011300720,2011300720
+2011300721,2011300721
+2011300722,2011300722
+2011300723,2011300723
+2011300724,2011300724
+2011300725,2011300725
+2011300726,2011300726
+2011300727,2011300727
+2011300728,2011300728
+2011300729,2011300729
+2011300730,2011300730
+2011300731,2011300731
+2011300732,2011300732
+2011300733,2011300733
+2011300734,2011300734
+2011300735,2011300735
+2011300736,2011300736
+2011300737,2011300737
+2011300738,2011300738
+2011300739,2011300739
+2011300740,2011300740
+2011300741,2011300741
+2011300742,2011300742
+2011300743,2011300743
+2011300744,2011300744
+2011300745,2011300745
+2011300746,2011300746
+2011300747,2011300747
+2011300748,2011300748
+2011300749,2011300749
+2011300750,2011300750
+2011300751,2011300751
+2011300752,2011300752
+2011300753,2011300753
+2011300754,2011300754
+2011300755,2011300755
+2011300756,2011300756
+2011300757,2011300757
+2011300758,2011300758
+2011300759,2011300759
+2011300760,2011300760
+2011300761,2011300761
+2011300762,2011300762
+2011300763,2011300763
+2011300764,2011300764
+2011300765,2011300765
+2011300766,2011300766
+2011300767,2011300767
+2011300768,2011300768
+2011300769,2011300769
+2011300770,2011300770
+2011300771,2011300771
+2011300772,2011300772
+2011300773,2011300773
+2011300774,2011300774
+2011300775,2011300775
+2011300776,2011300776
+2011300777,2011300777
+2011300778,2011300778
+2011300779,2011300779
+2011300780,2011300780
+2011300781,2011300781
+2011300782,2011300782
+2011300783,2011300783
+2011300784,2011300784
+2011300785,2011300785
+2011300786,2011300786
+2011300787,2011300787
+2011300788,2011300788
+2011300789,2011300789
+2011300790,2011300790
+2011300791,2011300791
+2011300792,2011300792
+2011300793,2011300793
+2011300794,2011300794
+2011300795,2011300795
+2011300796,2011300796
+2011300797,2011300797
+2011300798,2011300798
+2011300799,2011300799
+2011300800,2011300800
+2011300801,2011300801
+2011300802,2011300802
+2011300803,2011300803
+2011300804,2011300804
+2011300805,2011300805
+2011300806,2011300806
+2011300807,2011300807
+2011300808,2011300808
+2011300809,2011300809
+2011300810,2011300810
+2011300811,2011300811
+2011300812,2011300812
+2011300813,2011300813
+2011300814,2011300814
+2011300815,2011300815
+2011300816,2011300816
+2011300817,2011300817
+2011300818,2011300818
+2011300819,2011300819
+2011300820,2011300820
+2011300821,2011300821
+2011300822,2011300822
+2011300823,2011300823
+2011300824,2011300824
+2011300825,2011300825
+2011300826,2011300826
+2011300827,2011300827
+2011300828,2011300828
+2011300829,2011300829
+2011300830,2011300830
+2011300831,2011300831
+2011300832,2011300832
+2011300833,2011300833
+2011300834,2011300834
+2011300835,2011300835
+2011300836,2011300836
+2011300837,2011300837
+2011300838,2011300838
+2011300839,2011300839
+2011300840,2011300840
+2011300841,2011300841
+2011300842,2011300842
+2011300843,2011300843
+2011300844,2011300844
+2011300845,2011300845
+2011300846,2011300846
+2011300847,2011300847
+2011300848,2011300848
+2011300849,2011300849
+2011300850,2011300850
+2011300851,2011300851
+2011300852,2011300852
+2011300853,2011300853
+2011300854,2011300854
+2011300855,2011300855
+2011300856,2011300856
+2011300857,2011300857
+2011300858,2011300858
+2011300859,2011300859
+2011300860,2011300860
+2011300861,2011300861
+2011300862,2011300862
+2011300863,2011300863
+2011300864,2011300864
+2011300865,2011300865
+2011300866,2011300866
+2011300867,2011300867
+2011300868,2011300868
+2011300869,2011300869
+2011300870,2011300870
+2011300871,2011300871
+2011300872,2011300872
+2011300873,2011300873
+2011300874,2011300874
+2011300875,2011300875
+2011300876,2011300876
+2011300877,2011300877
+2011300878,2011300878
+2011300879,2011300879
+2011300880,2011300880
+2011300881,2011300881
+2011300882,2011300882
+2011300883,2011300883
+2011300884,2011300884
+2011300885,2011300885
+2011300886,2011300886
+2011300887,2011300887
+2011300888,2011300888
+2011300889,2011300889
+2011300890,2011300890
+2011300891,2011300891
+2011300892,2011300892
+2011300893,2011300893
+2011300894,2011300894
+2011300895,2011300895
+2011300896,2011300896
+2011300897,2011300897
+2011300898,2011300898
+2011300899,2011300899
+2011300900,2011300900
+2011300901,2011300901
+2011300902,2011300902
+2011300903,2011300903
+2011300904,2011300904
+2011300905,2011300905
+2011300906,2011300906
+2011300907,2011300907
+2011300908,2011300908
+2011300909,2011300909
+2011300910,2011300910
+2011300911,2011300911
+2011300912,2011300912
+2011300913,2011300913
+2011300914,2011300914
+2011300915,2011300915
+2011300916,2011300916
+2011300917,2011300917
+2011300918,2011300918
+2011300919,2011300919
+2011300920,2011300920
+2011300921,2011300921
+2011300922,2011300922
+2011300923,2011300923
+2011300924,2011300924
+2011300925,2011300925
+2011300926,2011300926
+2011300927,2011300927
+2011300928,2011300928
+2011300929,2011300929
+2011300930,2011300930
+2011300931,2011300931
+2011300932,2011300932
+2011300933,2011300933
+2011300934,2011300934
+2011300935,2011300935
+2011300936,2011300936
+2011300937,2011300937
+2011300938,2011300938
+2011300939,2011300939
+2011300940,2011300940
+2011300941,2011300941
+2011300942,2011300942
+2011300943,2011300943
+2011300944,2011300944
+2011300945,2011300945
+2011300946,2011300946
+2011300947,2011300947
+2011300948,2011300948
+2011300949,2011300949
+2011300950,2011300950
+2011300951,2011300951
+2011300952,2011300952
+2011300953,2011300953
+2011300954,2011300954
+2011300955,2011300955
+2011300956,2011300956
+2011300957,2011300957
+2011300958,2011300958
+2011300959,2011300959
+2011300960,2011300960
+2011300961,2011300961
+2011300962,2011300962
+2011300963,2011300963
+2011300964,2011300964
+2011300965,2011300965
+2011300966,2011300966
+2011300967,2011300967
+2011300968,2011300968
+2011300969,2011300969
+2011300970,2011300970
+2011300971,2011300971
+2011300972,2011300972
+2011300973,2011300973
+2011300974,2011300974
+2011300975,2011300975
+2011300976,2011300976
+2011300977,2011300977
+2011300978,2011300978
+2011300979,2011300979
+2011300980,2011300980
+2011300981,2011300981
+2011300982,2011300982
+2011300983,2011300983
+2011300984,2011300984
+2011300985,2011300985
+2011300986,2011300986
+2011300987,2011300987
+2011300988,2011300988
+2011300989,2011300989
+2011300990,2011300990
+2011300991,2011300991
+2011300992,2011300992
+2011300993,2011300993
+2011300994,2011300994
+2011300995,2011300995
+2011300996,2011300996
+2011300997,2011300997
+2011300998,2011300998
+2011300999,2011300999
+2011301000,2011301000
+2011301001,2011301001
+2011301002,2011301002
+2011301003,2011301003
+2011301004,2011301004
+2011301005,2011301005
+2011301006,2011301006
+2011301007,2011301007
+2011301008,2011301008
+2011301009,2011301009
+2011301010,2011301010
+2011301011,2011301011
+2011301012,2011301012
+2011301013,2011301013
+2011301014,2011301014
+2011301015,2011301015
+2011301016,2011301016
+2011301017,2011301017
+2011301018,2011301018
+2011301019,2011301019
+2011301020,2011301020
+2011301021,2011301021
+2011301022,2011301022
+2011301023,2011301023
+2011301024,2011301024
+2011301025,2011301025
+2011301026,2011301026
+2011301027,2011301027
+2011301028,2011301028
+2011301029,2011301029
+2011301030,2011301030
+2011301031,2011301031
+2011301032,2011301032
+2011301033,2011301033
+2011301034,2011301034
+2011301035,2011301035
+2011301036,2011301036
+2011301037,2011301037
+2011301038,2011301038
+2011301039,2011301039
+2011301040,2011301040
+2011301041,2011301041
+2011301042,2011301042
+2011301043,2011301043
+2011301044,2011301044
+2011301045,2011301045
+2011301046,2011301046
+2011301047,2011301047
+2011301048,2011301048
+2011301049,2011301049
+2011301050,2011301050
+2011301051,2011301051
+2011301052,2011301052
+2011301053,2011301053
+2011301054,2011301054
+2011301055,2011301055
+2011301056,2011301056
+2011301057,2011301057
+2011301058,2011301058
+2011301059,2011301059
+2011301060,2011301060
+2011301061,2011301061
+2011301062,2011301062
+2011301063,2011301063
+2011301064,2011301064
+2011301065,2011301065
+2011301066,2011301066
+2011301067,2011301067
+2011301068,2011301068
+2011301069,2011301069
+2011301070,2011301070
+2011301071,2011301071
+2011301072,2011301072
+2011301073,2011301073
+2011301074,2011301074
+2011301075,2011301075
+2011301076,2011301076
+2011301077,2011301077
+2011301078,2011301078
+2011301079,2011301079
+2011301080,2011301080
+2011301081,2011301081
+2011301082,2011301082
+2011301083,2011301083
+2011301084,2011301084
+2011301085,2011301085
+2011301086,2011301086
+2011301087,2011301087
+2011301088,2011301088
+2011301089,2011301089
+2011301090,2011301090
+2011301091,2011301091
+2011301092,2011301092
+2011301093,2011301093
+2011301094,2011301094
+2011301095,2011301095
+2011301096,2011301096
+2011301097,2011301097
+2011301098,2011301098
+2011301099,2011301099
+2011301100,2011301100
+2011301101,2011301101
+2011301102,2011301102
+2011301103,2011301103
+2011301104,2011301104
+2011301105,2011301105
+2011301106,2011301106
+2011301107,2011301107
+2011301108,2011301108
+2011301109,2011301109
+2011301110,2011301110
+2011301111,2011301111
+2011301112,2011301112
+2011301113,2011301113
+2011301114,2011301114
+2011301115,2011301115
+2011301116,2011301116
+2011301117,2011301117
+2011301118,2011301118
+2011301119,2011301119
+2011301120,2011301120
+2011301121,2011301121
+2011301122,2011301122
+2011301123,2011301123
+2011301124,2011301124
+2011301125,2011301125
+2011301126,2011301126
+2011301127,2011301127
+2011301128,2011301128
+2011301129,2011301129
+2011301130,2011301130
+2011301131,2011301131
+2011301132,2011301132
+2011301133,2011301133
+2011301134,2011301134
+2011301135,2011301135
+2011301136,2011301136
+2011301137,2011301137
+2011301138,2011301138
+2011301139,2011301139
+2011301140,2011301140
+2011301141,2011301141
+2011301142,2011301142
+2011301143,2011301143
+2011301144,2011301144
+2011301145,2011301145
+2011301146,2011301146
+2011301147,2011301147
+2011301148,2011301148
+2011301149,2011301149
+2011301150,2011301150
+2011301151,2011301151
+2011301152,2011301152
+2011301153,2011301153
+2011301154,2011301154
+2011301155,2011301155
+2011301156,2011301156
+2011301157,2011301157
+2011301158,2011301158
+2011301159,2011301159
+2011301160,2011301160
+2011301161,2011301161
+2011301162,2011301162
+2011301163,2011301163
+2011301164,2011301164
+2011301165,2011301165
+2011301166,2011301166
+2011301167,2011301167
+2011301168,2011301168
+2011301169,2011301169
+2011301170,2011301170
+2011301171,2011301171
+2011301172,2011301172
+2011301173,2011301173
+2011301174,2011301174
+2011301175,2011301175
+2011301176,2011301176
+2011301177,2011301177
+2011301178,2011301178
+2011301179,2011301179
+2011301180,2011301180
+2011301181,2011301181
+2011301182,2011301182
+2011301183,2011301183
+2011301184,2011301184
+2011301185,2011301185
+2011301186,2011301186
+2011301187,2011301187
+2011301188,2011301188
+2011301189,2011301189
+2011301190,2011301190
+2011301191,2011301191
+2011301192,2011301192
+2011301193,2011301193
+2011301194,2011301194
+2011301195,2011301195
+2011301196,2011301196
+2011301197,2011301197
+2011301198,2011301198
+2011301199,2011301199
+2011301200,2011301200
+2011301201,2011301201
+2011301202,2011301202
+2011301203,2011301203
+2011301204,2011301204
+2011301205,2011301205
+2011301206,2011301206
+2011301207,2011301207
+2011301208,2011301208
+2011301209,2011301209
+2011301210,2011301210
+2011301211,2011301211
+2011301212,2011301212
+2011301213,2011301213
+2011301214,2011301214
+2011301215,2011301215
+2011301216,2011301216
+2011301217,2011301217
+2011301218,2011301218
+2011301219,2011301219
+2011301220,2011301220
+2011301221,2011301221
+2011301222,2011301222
+2011301223,2011301223
+2011301224,2011301224
+2011301225,2011301225
+2011301226,2011301226
+2011301227,2011301227
+2011301228,2011301228
+2011301229,2011301229
+2011301230,2011301230
+2011301231,2011301231
+2011301232,2011301232
+2011301233,2011301233
+2011301234,2011301234
+2011301235,2011301235
+2011301236,2011301236
+2011301237,2011301237
+2011301238,2011301238
+2011301239,2011301239
+2011301240,2011301240
+2011301241,2011301241
+2011301242,2011301242
+2011301243,2011301243
+2011301244,2011301244
+2011301245,2011301245
+2011301246,2011301246
+2011301247,2011301247
+2011301248,2011301248
+2011301249,2011301249
+2011301250,2011301250
+2011301251,2011301251
+2011301252,2011301252
+2011301253,2011301253
+2011301254,2011301254
+2011301255,2011301255
+2011301256,2011301256
+2011301257,2011301257
+2011301258,2011301258
+2011301259,2011301259
+2011301260,2011301260
+2011301261,2011301261
+2011301262,2011301262
+2011301263,2011301263
+2011301264,2011301264
+2011301265,2011301265
+2011301266,2011301266
+2011301267,2011301267
+2011301268,2011301268
+2011301269,2011301269
+2011301270,2011301270
+2011301271,2011301271
+2011301272,2011301272
+2011301273,2011301273
+2011301274,2011301274
+2011301275,2011301275
+2011301276,2011301276
+2011301277,2011301277
+2011301278,2011301278
+2011301279,2011301279
+2011301280,2011301280
+2011301281,2011301281
+2011301282,2011301282
+2011301283,2011301283
+2011301284,2011301284
+2011301285,2011301285
+2011301286,2011301286
+2011301287,2011301287
+2011301288,2011301288
+2011301289,2011301289
+2011301290,2011301290
+2011301291,2011301291
+2011301292,2011301292
+2011301293,2011301293
+2011301294,2011301294
+2011301295,2011301295
+2011301296,2011301296
+2011301297,2011301297
+2011301298,2011301298
+2011301299,2011301299
+2011301300,2011301300
+2011301301,2011301301
+2011301302,2011301302
+2011301303,2011301303
+2011301304,2011301304
+2011301305,2011301305
+2011301306,2011301306
+2011301307,2011301307
+2011301308,2011301308
+2011301309,2011301309
+2011301310,2011301310
+2011301311,2011301311
+2011301312,2011301312
+2011301313,2011301313
+2011301314,2011301314
+2011301315,2011301315
+2011301316,2011301316
+2011301317,2011301317
+2011301318,2011301318
+2011301319,2011301319
+2011301320,2011301320
+2011301321,2011301321
+2011301322,2011301322
+2011301323,2011301323
+2011301324,2011301324
+2011301325,2011301325
+2011301326,2011301326
+2011301327,2011301327
+2011301328,2011301328
+2011301329,2011301329
+2011301330,2011301330
+2011301331,2011301331
+2011301332,2011301332
+2011301333,2011301333
+2011301334,2011301334
+2011301335,2011301335
+2011301336,2011301336
+2011301337,2011301337
+2011301338,2011301338
+2011301339,2011301339
+2011301340,2011301340
+2011301341,2011301341
+2011301342,2011301342
+2011301343,2011301343
+2011301344,2011301344
+2011301345,2011301345
+2011301346,2011301346
+2011301347,2011301347
+2011301348,2011301348
+2011301349,2011301349
+2011301350,2011301350
+2011301351,2011301351
+2011301352,2011301352
+2011301353,2011301353
+2011301354,2011301354
+2011301355,2011301355
+2011301356,2011301356
+2011301357,2011301357
+2011301358,2011301358
+2011301359,2011301359
+2011301360,2011301360
+2011301361,2011301361
+2011301362,2011301362
+2011301363,2011301363
+2011301364,2011301364
+2011301365,2011301365
+2011301366,2011301366
+2011301367,2011301367
+2011301368,2011301368
+2011301369,2011301369
+2011301370,2011301370
+2011301371,2011301371
+2011301372,2011301372
+2011301373,2011301373
+2011301374,2011301374
+2011301375,2011301375
+2011301376,2011301376
+2011301377,2011301377
+2011301378,2011301378
+2011301379,2011301379
+2011301380,2011301380
+2011301381,2011301381
+2011301382,2011301382
+2011301383,2011301383
+2011301384,2011301384
+2011301385,2011301385
+2011301386,2011301386
+2011301387,2011301387
+2011301388,2011301388
+2011301389,2011301389
+2011301390,2011301390
+2011301391,2011301391
+2011301392,2011301392
+2011301393,2011301393
+2011301394,2011301394
+2011301395,2011301395
+2011301396,2011301396
+2011301397,2011301397
+2011301398,2011301398
+2011301399,2011301399
+2011301400,2011301400
+2011301401,2011301401
+2011301402,2011301402
+2011301403,2011301403
+2011301404,2011301404
+2011301405,2011301405
+2011301406,2011301406
+2011301407,2011301407
+2011301408,2011301408
+2011301409,2011301409
+2011301410,2011301410
+2011301411,2011301411
+2011301412,2011301412
+2011301413,2011301413
+2011301414,2011301414
+2011301415,2011301415
+2011301416,2011301416
+2011301417,2011301417
+2011301418,2011301418
+2011301419,2011301419
+2011301420,2011301420
+2011301421,2011301421
+2011301422,2011301422
+2011301423,2011301423
+2011301425,2011301425
+2011301426,2011301426
+2011301427,2011301427
+2011301428,2011301428
+2011301429,2011301429
+2011301430,2011301430
+2011301431,2011301431
+2011301432,2011301432
+2011301433,2011301433
+2011301434,2011301434
+2011301435,2011301435
+2011301436,2011301436
+2011301437,2011301437
+2011301438,2011301438
+2011301439,2011301439
+2011301440,2011301440
+2011301441,2011301441
+2011301442,2011301442
+2011301443,2011301443
+2011301444,2011301444
+2011301445,2011301445
+2011301446,2011301446
+2011301447,2011301447
+2011301448,2011301448
+2011301449,2011301449
+2011301450,2011301450
+2011301451,2011301451
+2011301452,2011301452
+2011301453,2011301453
+2011301454,2011301454
+2011301455,2011301455
+2011301456,2011301456
+2011301457,2011301457
+2011301458,2011301458
+2011301459,2011301459
+2011301460,2011301460
+2011301461,2011301461
+2011301462,2011301462
+2011301463,2011301463
+2011301464,2011301464
+2011301465,2011301465
+2011301466,2011301466
+2011301467,2011301467
+2011301468,2011301468
+2011301469,2011301469
+2011301470,2011301470
+2011301471,2011301471
+2011301472,2011301472
+2011301473,2011301473
+2011301474,2011301474
+2011301475,2011301475
+2011301476,2011301476
+2011301477,2011301477
+2011301478,2011301478
+2011301479,2011301479
+2011301480,2011301480
+2011301481,2011301481
+2011301482,2011301482
+2011301483,2011301483
+2011301484,2011301484
+2011301485,2011301485
+2011301486,2011301486
+2011301487,2011301487
+2011301488,2011301488
+2011301489,2011301489
+2011301490,2011301490
+2011301491,2011301491
+2011301492,2011301492
+2011301493,2011301493
+2011301494,2011301494
+2011301495,2011301495
+2011301496,2011301496
+2011301497,2011301497
+2011301498,2011301498
+2011301499,2011301499
+2011301500,2011301500
+2011301501,2011301501
+2011301502,2011301502
+2011301503,2011301503
+2011301504,2011301504
+2011301505,2011301505
+2011301506,2011301506
+2011301507,2011301507
+2011301508,2011301508
+2011301509,2011301509
+2011301510,2011301510
+2011301511,2011301511
+2011301512,2011301512
+2011301513,2011301513
+2011301514,2011301514
+2011301515,2011301515
+2011301516,2011301516
+2011301517,2011301517
+2011301518,2011301518
+2011301519,2011301519
+2011301520,2011301520
+2011301521,2011301521
+2011301522,2011301522
+2011301523,2011301523
+2011301524,2011301524
+2011301525,2011301525
+2011301526,2011301526
+2011301527,2011301527
+2011301528,2011301528
+2011301529,2011301529
+2011301530,2011301530
+2011301531,2011301531
+2011301532,2011301532
+2011301533,2011301533
+2011301534,2011301534
+2011301535,2011301535
+2011301536,2011301536
+2011301537,2011301537
+2011301538,2011301538
+2011301539,2011301539
+2011301540,2011301540
+2011301541,2011301541
+2011301542,2011301542
+2011301543,2011301543
+2011301544,2011301544
+2011301545,2011301545
+2011301546,2011301546
+2011301547,2011301547
+2011301548,2011301548
+2011301549,2011301549
+2011301550,2011301550
+2011301551,2011301551
+2011301552,2011301552
+2011301553,2011301553
+2011301555,2011301555
+2011301556,2011301556
+2011301557,2011301557
+2011301558,2011301558
+2011301559,2011301559
+2011301560,2011301560
+2011301561,2011301561
+2011301562,2011301562
+2011301563,2011301563
+2011301564,2011301564
+2011301565,2011301565
+2011301566,2011301566
+2011301567,2011301567
+2011301568,2011301568
+2011301569,2011301569
+2011301570,2011301570
+2011301571,2011301571
+2011301572,2011301572
+2011301573,2011301573
+2011301574,2011301574
+2011301575,2011301575
+2011301576,2011301576
+2011301577,2011301577
+2011301578,2011301578
+2011301579,2011301579
+2011301580,2011301580
+2011301581,2011301581
+2011301582,2011301582
+2011301583,2011301583
+2011301584,2011301584
+2011301585,2011301585
+2011301586,2011301586
+2011301587,2011301587
+2011301588,2011301588
+2011301589,2011301589
+2011301590,2011301590
+2011301591,2011301591
+2011301592,2011301592
+2011301593,2011301593
+2011301594,2011301594
+2011301595,2011301595
+2011301596,2011301596
+2011301597,2011301597
+2011301598,2011301598
+2011301599,2011301599
+2011301600,2011301600
+2011301601,2011301601
+2011301602,2011301602
+2011301603,2011301603
+2011301604,2011301604
+2011301605,2011301605
+2011301606,2011301606
+2011301607,2011301607
+2011301608,2011301608
+2011301609,2011301609
+2011301610,2011301610
+2011301611,2011301611
+2011301612,2011301612
+2011301613,2011301613
+2011301614,2011301614
+2011301615,2011301615
+2011301616,2011301616
+2011301617,2011301617
+2011301618,2011301618
+2011301619,2011301619
+2011301620,2011301620
+2011301621,2011301621
+2011301622,2011301622
+2011301623,2011301623
+2011301624,2011301624
+2011301625,2011301625
+2011301626,2011301626
+2011301627,2011301627
+2011301628,2011301628
+2011301629,2011301629
+2011301630,2011301630
+2011301631,2011301631
+2011301632,2011301632
+2011301633,2011301633
+2011301634,2011301634
+2011301635,2011301635
+2011301636,2011301636
+2011301637,2011301637
+2011301638,2011301638
+2011301639,2011301639
+2011301640,2011301640
+2011301641,2011301641
+2011301642,2011301642
+2011301643,2011301643
+2011301644,2011301644
+2011301645,2011301645
+2011301646,2011301646
+2011301647,2011301647
+2011301648,2011301648
+2011301649,2011301649
+2011301650,2011301650
+2011301651,2011301651
+2011301652,2011301652
+2011301653,2011301653
+2011301654,2011301654
+2011301655,2011301655
+2011301656,2011301656
+2011301657,2011301657
+2011301658,2011301658
+2011301659,2011301659
+2011301660,2011301660
+2011301661,2011301661
+2011301662,2011301662
+2011301663,2011301663
+2011301664,2011301664
+2011301665,2011301665
+2011301666,2011301666
+2011301667,2011301667
+2011301668,2011301668
+2011301669,2011301669
+2011301670,2011301670
+2011301671,2011301671
+2011301672,2011301672
+2011301673,2011301673
+2011301674,2011301674
+2011301675,2011301675
+2011301676,2011301676
+2011301677,2011301677
+2011301678,2011301678
+2011301679,2011301679
+2011301680,2011301680
+2011301681,2011301681
+2011301682,2011301682
+2011301683,2011301683
+2011301684,2011301684
+2011301685,2011301685
+2011301686,2011301686
+2011301687,2011301687
+2011301688,2011301688
+2011301689,2011301689
+2011301690,2011301690
+2011301691,2011301691
+2011301692,2011301692
+2011301693,2011301693
+2011301694,2011301694
+2011301695,2011301695
+2011301696,2011301696
+2011301697,2011301697
+2011301698,2011301698
+2011301699,2011301699
+2011301700,2011301700
+2011301701,2011301701
+2011301702,2011301702
+2011301703,2011301703
+2011301704,2011301704
+2011301705,2011301705
+2011301706,2011301706
+2011301707,2011301707
+2011301708,2011301708
+2011301709,2011301709
+2011301710,2011301710
+2011301711,2011301711
+2011301712,2011301712
+2011301713,2011301713
+2011301714,2011301714
+2011301715,2011301715
+2011301716,2011301716
+2011301717,2011301717
+2011301718,2011301718
+2011301719,2011301719
+2011301720,2011301720
+2011301721,2011301721
+2011301722,2011301722
+2011301723,2011301723
+2011301724,2011301724
+2011301725,2011301725
+2011301726,2011301726
+2011301727,2011301727
+2011301728,2011301728
+2011301729,2011301729
+2011301730,2011301730
+2011301731,2011301731
+2011301732,2011301732
+2011301733,2011301733
+2011301734,2011301734
+2011301735,2011301735
+2011301736,2011301736
+2011301737,2011301737
+2011301738,2011301738
+2011301740,2011301740
+2011301741,2011301741
+2011301742,2011301742
+2011301743,2011301743
+2011301744,2011301744
+2011301745,2011301745
+2011301746,2011301746
+2011301747,2011301747
+2011301749,2011301749
+2011301750,2011301750
+2011301751,2011301751
+2011301752,2011301752
+2011301753,2011301753
+2011301754,2011301754
+2011301755,2011301755
+2011301756,2011301756
+2011301757,2011301757
+2011301758,2011301758
+2011301759,2011301759
+2011301760,2011301760
+2011301761,2011301761
+2011301762,2011301762
+2011301763,2011301763
+2011301764,2011301764
+2011301765,2011301765
+2011301766,2011301766
+2011301767,2011301767
+2011301768,2011301768
+2011301769,2011301769
+2011301770,2011301770
+2011301771,2011301771
+2011301772,2011301772
+2011301773,2011301773
+2011301774,2011301774
+2011301775,2011301775
+2011301776,2011301776
+2011301777,2011301777
+2011301778,2011301778
+2011301779,2011301779
+2011301780,2011301780
+2011301781,2011301781
+2011301782,2011301782
+2011301783,2011301783
+2011301784,2011301784
+2011301785,2011301785
+2011301786,2011301786
+2011301787,2011301787
+2011301788,2011301788
+2011301789,2011301789
+2011301790,2011301790
+2011301791,2011301791
+2011301792,2011301792
+2011301793,2011301793
+2011301794,2011301794
+2011301795,2011301795
+2011301796,2011301796
+2011301797,2011301797
+2011301798,2011301798
+2011301799,2011301799
+2011301800,2011301800
+2011301801,2011301801
+2011301802,2011301802
+2011301803,2011301803
+2011301804,2011301804
+2011301805,2011301805
+2011301806,2011301806
+2011301807,2011301807
+2011301808,2011301808
+2011301809,2011301809
+2011301810,2011301810
+2011301811,2011301811
+2011301812,2011301812
+2011301813,2011301813
+2011301814,2011301814
+2011301815,2011301815
+2011301816,2011301816
+2011301817,2011301817
+2011301818,2011301818
+2011301819,2011301819
+2011301820,2011301820
+2011301821,2011301821
+2011301822,2011301822
+2011301823,2011301823
+2011301824,2011301824
+2011301825,2011301825
+2011301826,2011301826
+2011301827,2011301827
+2011301828,2011301828
+2011301829,2011301829
+2011301830,2011301830
+2011301831,2011301831
+2011301832,2011301832
+2011301833,2011301833
+2011301834,2011301834
+2011301835,2011301835
+2011301836,2011301836
+2011301837,2011301837
+2011301838,2011301838
+2011301839,2011301839
+2011301840,2011301840
+2011301841,2011301841
+2011301842,2011301842
+2011301843,2011301843
+2011301844,2011301844
+2011301845,2011301845
+2011301846,2011301846
+2011301847,2011301847
+2011301848,2011301848
+2011301849,2011301849
+2011301850,2011301850
+2011301851,2011301851
+2011301852,2011301852
+2011301853,2011301853
+2011301854,2011301854
+2011301855,2011301855
+2011301856,2011301856
+2011301857,2011301857
+2011301858,2011301858
+2011301859,2011301859
+2011301860,2011301860
+2011301861,2011301861
+2011301862,2011301862
+2011301863,2011301863
+2011301864,2011301864
+2011301865,2011301865
+2011301866,2011301866
+2011301867,2011301867
+2011301868,2011301868
+2011301869,2011301869
+2011301870,2011301870
+2011301871,2011301871
+2011301872,2011301872
+2011301873,2011301873
+2011301874,2011301874
+2011301875,2011301875
+2011301876,2011301876
+2011301877,2011301877
+2011301878,2011301878
+2011301879,2011301879
+2011301880,2011301880
+2011301881,2011301881
+2011301882,2011301882
+2011301883,2011301883
+2011301884,2011301884
+2011301885,2011301885
+2011301886,2011301886
+2011301887,2011301887
+2011301888,2011301888
+2011301889,2011301889
+2011301890,2011301890
+2011301891,2011301891
+2011301892,2011301892
+2011301893,2011301893
+2011301894,2011301894
+2011301895,2011301895
+2011301896,2011301896
+2011301897,2011301897
+2011301898,2011301898
+2011301899,2011301899
+2011301900,2011301900
+2011301901,2011301901
+2011301902,2011301902
+2011301903,2011301903
+2011301904,2011301904
+2011301905,2011301905
+2011301906,2011301906
+2011301907,2011301907
+2011301908,2011301908
+2011301909,2011301909
+2011301910,2011301910
+2011301911,2011301911
+2011301912,2011301912
+2011301913,2011301913
+2011301914,2011301914
+2011301915,2011301915
+2011301916,2011301916
+2011301917,2011301917
+2011301918,2011301918
+2011301919,2011301919
+2011301920,2011301920
+2011301921,2011301921
+2011301922,2011301922
+2011301923,2011301923
+2011301924,2011301924
+2011301925,2011301925
+2011301926,2011301926
+2011301927,2011301927
+2011301928,2011301928
+2011301929,2011301929
+2011301930,2011301930
+2011301931,2011301931
+2011301932,2011301932
+2011301933,2011301933
+2011301934,2011301934
+2011301935,2011301935
+2011301936,2011301936
+2011301937,2011301937
+2011301938,2011301938
+2011301939,2011301939
+2011301940,2011301940
+2011301941,2011301941
+2011301942,2011301942
+2011301943,2011301943
+2011301944,2011301944
+2011301945,2011301945
+2011301946,2011301946
+2011301947,2011301947
+2011301948,2011301948
+2011301949,2011301949
+2011301950,2011301950
+2011301951,2011301951
+2011301952,2011301952
+2011301953,2011301953
+2011301954,2011301954
+2011301955,2011301955
+2011301956,2011301956
+2011301957,2011301957
+2011301958,2011301958
+2011301959,2011301959
+2011301960,2011301960
+2011301961,2011301961
+2011301962,2011301962
+2011301963,2011301963
+2011301964,2011301964
+2011301965,2011301965
+2011301966,2011301966
+2011301967,2011301967
+2011301968,2011301968
+2011301969,2011301969
+2011301970,2011301970
+2011301971,2011301971
+2011301972,2011301972
+2011301973,2011301973
+2011301974,2011301974
+2011301975,2011301975
+2011301976,2011301976
+2011301977,2011301977
+2011301978,2011301978
+2011301979,2011301979
+2011301980,2011301980
+2011301981,2011301981
+2011301982,2011301982
+2011301983,2011301983
+2011301984,2011301984
+2011301985,2011301985
+2011301986,2011301986
+2011301987,2011301987
+2011301988,2011301988
+2011301989,2011301989
+2011301990,2011301990
+2011301991,2011301991
+2011301992,2011301992
+2011301993,2011301993
+2011301994,2011301994
+2011301995,2011301995
+2011301996,2011301996
+2011301997,2011301997
+2011301998,2011301998
+2011301999,2011301999
+2011302000,2011302000
+2011302001,2011302001
+2011302002,2011302002
+2011302003,2011302003
+2011302004,2011302004
+2011302005,2011302005
+2011302006,2011302006
+2011302007,2011302007
+2011302008,2011302008
+2011302009,2011302009
+2011302010,2011302010
+2011302011,2011302011
+2011302012,2011302012
+2011302013,2011302013
+2011302014,2011302014
+2011302015,2011302015
+2011302016,2011302016
+2011302017,2011302017
+2011302018,2011302018
+2011302019,2011302019
+2011302020,2011302020
+2011302021,2011302021
+2011302022,2011302022
+2011302023,2011302023
+2011302024,2011302024
+2011302025,2011302025
+2011302026,2011302026
+2011302027,2011302027
+2011302028,2011302028
+2011302029,2011302029
+2011302030,2011302030
+2011302031,2011302031
+2011302032,2011302032
+2011302033,2011302033
+2011302034,2011302034
+2011302035,2011302035
+2011302036,2011302036
+2011302037,2011302037
+2011302038,2011302038
+2011302039,2011302039
+2011302040,2011302040
+2011302041,2011302041
+2011302042,2011302042
+2011302043,2011302043
+2011302044,2011302044
+2011302045,2011302045
+2011302046,2011302046
+2011302047,2011302047
+2011302048,2011302048
+2011302049,2011302049
+2011302050,2011302050
+2011302051,2011302051
+2011302052,2011302052
+2011302053,2011302053
+2011302054,2011302054
+2011302055,2011302055
+2011302056,2011302056
+2011302057,2011302057
+2011302058,2011302058
+2011302059,2011302059
+2011302060,2011302060
+2011302061,2011302061
+2011302062,2011302062
+2011302063,2011302063
+2011302064,2011302064
+2011302065,2011302065
+2011302066,2011302066
+2011302067,2011302067
+2011302068,2011302068
+2011302069,2011302069
+2011302070,2011302070
+2011302071,2011302071
+2011302072,2011302072
+2011302073,2011302073
+2011302074,2011302074
+2011302075,2011302075
+2011302076,2011302076
+2011302077,2011302077
+2011302078,2011302078
+2011302079,2011302079
+2011302080,2011302080
+2011302081,2011302081
+2011302082,2011302082
+2011302083,2011302083
+2011302084,2011302084
+2011302085,2011302085
+2011302086,2011302086
+2011302087,2011302087
+2011302088,2011302088
+2011302089,2011302089
+2011302090,2011302090
+2011302091,2011302091
+2011302092,2011302092
+2011302093,2011302093
+2011302094,2011302094
+2011302095,2011302095
+2011302096,2011302096
+2011302097,2011302097
+2011302098,2011302098
+2011302099,2011302099
+2011302100,2011302100
+2011302101,2011302101
+2011302102,2011302102
+2011302103,2011302103
+2011302104,2011302104
+2011302105,2011302105
+2011302106,2011302106
+2011302107,2011302107
+2011302108,2011302108
+2011302109,2011302109
+2011302110,2011302110
+2011302111,2011302111
+2011302112,2011302112
+2011302113,2011302113
+2011302114,2011302114
+2011302115,2011302115
+2011302116,2011302116
+2011302117,2011302117
+2011302118,2011302118
+2011302119,2011302119
+2011302120,2011302120
+2011302121,2011302121
+2011302122,2011302122
+2011302123,2011302123
+2011302124,2011302124
+2011302125,2011302125
+2011302126,2011302126
+2011302127,2011302127
+2011302128,2011302128
+2011302129,2011302129
+2011302130,2011302130
+2011302131,2011302131
+2011302132,2011302132
+2011302133,2011302133
+2011302134,2011302134
+2011302135,2011302135
+2011302136,2011302136
+2011302137,2011302137
+2011302138,2011302138
+2011302139,2011302139
+2011302140,2011302140
+2011302141,2011302141
+2011302142,2011302142
+2011302143,2011302143
+2011302144,2011302144
+2011302145,2011302145
+2011302146,2011302146
+2011302147,2011302147
+2011302148,2011302148
+2011302149,2011302149
+2011302150,2011302150
+2011302151,2011302151
+2011302152,2011302152
+2011302153,2011302153
+2011302154,2011302154
+2011302155,2011302155
+2011302156,2011302156
+2011302157,2011302157
+2011302158,2011302158
+2011302159,2011302159
+2011302160,2011302160
+2011302161,2011302161
+2011302162,2011302162
+2011302163,2011302163
+2011302164,2011302164
+2011302165,2011302165
+2011302166,2011302166
+2011302167,2011302167
+2011302168,2011302168
+2011302169,2011302169
+2011302170,2011302170
+2011302171,2011302171
+2011302172,2011302172
+2011302173,2011302173
+2011302174,2011302174
+2011302175,2011302175
+2011302176,2011302176
+2011302177,2011302177
+2011302178,2011302178
+2011302179,2011302179
+2011302180,2011302180
+2011302181,2011302181
+2011302182,2011302182
+2011302183,2011302183
+2011302184,2011302184
+2011302185,2011302185
+2011302186,2011302186
+2011302187,2011302187
+2011302188,2011302188
+2011302189,2011302189
+2011302190,2011302190
+2011302191,2011302191
+2011302192,2011302192
+2011302193,2011302193
+2011302194,2011302194
+2011302195,2011302195
+2011302196,2011302196
+2011302197,2011302197
+2011302198,2011302198
+2011302199,2011302199
+2011302200,2011302200
+2011302201,2011302201
+2011302202,2011302202
+2011302203,2011302203
+2011302204,2011302204
+2011302205,2011302205
+2011302206,2011302206
+2011302207,2011302207
+2011302208,2011302208
+2011302209,2011302209
+2011302210,2011302210
+2011302211,2011302211
+2011302212,2011302212
+2011302213,2011302213
+2011302214,2011302214
+2011302215,2011302215
+2011302216,2011302216
+2011302217,2011302217
+2011302218,2011302218
+2011302219,2011302219
+2011302220,2011302220
+2011302221,2011302221
+2011302222,2011302222
+2011302223,2011302223
+2011302224,2011302224
+2011302225,2011302225
+2011302226,2011302226
+2011302227,2011302227
+2011302228,2011302228
+2011302229,2011302229
+2011302230,2011302230
+2011302231,2011302231
+2011302232,2011302232
+2011302233,2011302233
+2011302234,2011302234
+2011302235,2011302235
+2011302236,2011302236
+2011302237,2011302237
+2011302238,2011302238
+2011302239,2011302239
+2011302240,2011302240
+2011302241,2011302241
+2011302242,2011302242
+2011302243,2011302243
+2011302244,2011302244
+2011302245,2011302245
+2011302246,2011302246
+2011302247,2011302247
+2011302248,2011302248
+2011302249,2011302249
+2011302250,2011302250
+2011302251,2011302251
+2011302252,2011302252
+2011302253,2011302253
+2011302254,2011302254
+2011302255,2011302255
+2011302256,2011302256
+2011302257,2011302257
+2011302258,2011302258
+2011302259,2011302259
+2011302260,2011302260
+2011302261,2011302261
+2011302262,2011302262
+2011302263,2011302263
+2011302264,2011302264
+2011302265,2011302265
+2011302267,2011302267
+2011302268,2011302268
+2011302269,2011302269
+2011302270,2011302270
+2011302271,2011302271
+2011302272,2011302272
+2011302273,2011302273
+2011302274,2011302274
+2011302275,2011302275
+2011302276,2011302276
+2011302277,2011302277
+2011302278,2011302278
+2011302279,2011302279
+2011302280,2011302280
+2011302281,2011302281
+2011302282,2011302282
+2011302283,2011302283
+2011302284,2011302284
+2011302285,2011302285
+2011302286,2011302286
+2011302287,2011302287
+2011302288,2011302288
+2011302289,2011302289
+2011302290,2011302290
+2011302291,2011302291
+2011302292,2011302292
+2011302293,2011302293
+2011302294,2011302294
+2011302295,2011302295
+2011302296,2011302296
+2011302297,2011302297
+2011302298,2011302298
+2011302299,2011302299
+2011302300,2011302300
+2011302301,2011302301
+2011302302,2011302302
+2011302303,2011302303
+2011302304,2011302304
+2011302305,2011302305
+2011302306,2011302306
+2011302307,2011302307
+2011302308,2011302308
+2011302309,2011302309
+2011302310,2011302310
+2011302311,2011302311
+2011302312,2011302312
+2011302313,2011302313
+2011302314,2011302314
+2011302315,2011302315
+2011302316,2011302316
+2011302317,2011302317
+2011302318,2011302318
+2011302319,2011302319
+2011302320,2011302320
+2011302321,2011302321
+2011302322,2011302322
+2011302323,2011302323
+2011302324,2011302324
+2011302325,2011302325
+2011302326,2011302326
+2011302327,2011302327
+2011302328,2011302328
+2011302329,2011302329
+2011302330,2011302330
+2011302331,2011302331
+2011302332,2011302332
+2011302333,2011302333
+2011302334,2011302334
+2011302335,2011302335
+2011302336,2011302336
+2011302337,2011302337
+2011302338,2011302338
+2011302339,2011302339
+2011302340,2011302340
+2011302341,2011302341
+2011302342,2011302342
+2011302343,2011302343
+2011302344,2011302344
+2011302345,2011302345
+2011302346,2011302346
+2011302347,2011302347
+2011302348,2011302348
+2011302349,2011302349
+2011302350,2011302350
+2011302351,2011302351
+2011302352,2011302352
+2011302353,2011302353
+2011302354,2011302354
+2011302355,2011302355
+2011302356,2011302356
+2011302357,2011302357
+2011302358,2011302358
+2011302359,2011302359
+2011302360,2011302360
+2011302361,2011302361
+2011302362,2011302362
+2011302363,2011302363
+2011302364,2011302364
+2011302365,2011302365
+2011302366,2011302366
+2011302367,2011302367
+2011302368,2011302368
+2011302369,2011302369
+2011302370,2011302370
+2011302371,2011302371
+2011302372,2011302372
+2011302373,2011302373
+2011302374,2011302374
+2011302375,2011302375
+2011302376,2011302376
+2011302377,2011302377
+2011302378,2011302378
+2011302379,2011302379
+2011302380,2011302380
+2011302381,2011302381
+2011302382,2011302382
+2011302384,2011302384
+2011302385,2011302385
+2011302386,2011302386
+2011302387,2011302387
+2011302388,2011302388
+2011302389,2011302389
+2011302390,2011302390
+2011302391,2011302391
+2011302392,2011302392
+2011302393,2011302393
+2011302394,2011302394
+2011302395,2011302395
+2011302396,2011302396
+2011302397,2011302397
+2011302398,2011302398
+2011302399,2011302399
+2011302400,2011302400
+2011302401,2011302401
+2011302402,2011302402
+2011302403,2011302403
+2011302404,2011302404
+2011302405,2011302405
+2011302406,2011302406
+2011302408,2011302408
+2011302409,2011302409
+2011302410,2011302410
+2011302411,2011302411
+2011302412,2011302412
+2011302413,2011302413
+2011302414,2011302414
+2011302415,2011302415
+2011302416,2011302416
+2011302417,2011302417
+2011302418,2011302418
+2011302419,2011302419
+2011302420,2011302420
+2011302421,2011302421
+2011302422,2011302422
+2011302423,2011302423
+2011302424,2011302424
+2011302425,2011302425
+2011302426,2011302426
+2011302427,2011302427
+2011302428,2011302428
+2011302429,2011302429
+2011302430,2011302430
+2011302431,2011302431
+2011302432,2011302432
+2011302433,2011302433
+2011302434,2011302434
+2011302435,2011302435
+2011302436,2011302436
+2011302437,2011302437
+2011302438,2011302438
+2011302439,2011302439
+2011302440,2011302440
+2011302441,2011302441
+2011302442,2011302442
+2011302443,2011302443
+2011302444,2011302444
+2011302445,2011302445
+2011302446,2011302446
+2011302447,2011302447
+2011302448,2011302448
+2011302449,2011302449
+2011302450,2011302450
+2011302451,2011302451
+2011302452,2011302452
+2011302453,2011302453
+2011302454,2011302454
+2011302455,2011302455
+2011302456,2011302456
+2011302457,2011302457
+2011302458,2011302458
+2011302459,2011302459
+2011302460,2011302460
+2011302461,2011302461
+2011302462,2011302462
+2011302463,2011302463
+2011302464,2011302464
+2011302465,2011302465
+2011302466,2011302466
+2011302467,2011302467
+2011302468,2011302468
+2011302469,2011302469
+2011302470,2011302470
+2011302471,2011302471
+2011302472,2011302472
+2011302473,2011302473
+2011302474,2011302474
+2011302475,2011302475
+2011302476,2011302476
+2011302477,2011302477
+2011302478,2011302478
+2011302479,2011302479
+2011302480,2011302480
+2011302481,2011302481
+2011302482,2011302482
+2011302483,2011302483
+2011302484,2011302484
+2011302485,2011302485
+2011302486,2011302486
+2011302487,2011302487
+2011302488,2011302488
+2011302489,2011302489
+2011302490,2011302490
+2011302491,2011302491
+2011302492,2011302492
+2011302493,2011302493
+2011302494,2011302494
+2011302495,2011302495
+2011302496,2011302496
+2011302497,2011302497
+2011302498,2011302498
+2011302499,2011302499
+2011302500,2011302500
+2011302501,2011302501
+2011302502,2011302502
+2011302503,2011302503
+2011302504,2011302504
+2011302505,2011302505
+2011302506,2011302506
+2011302507,2011302507
+2011302508,2011302508
+2011302509,2011302509
+2011302510,2011302510
+2011302511,2011302511
+2011302512,2011302512
+2011302513,2011302513
+2011302514,2011302514
+2011302515,2011302515
+2011302516,2011302516
+2011302517,2011302517
+2011302518,2011302518
+2011302519,2011302519
+2011302520,2011302520
+2011302521,2011302521
+2011302523,2011302523
+2011302524,2011302524
+2011302525,2011302525
+2011302526,2011302526
+2011302527,2011302527
+2011302528,2011302528
+2011302529,2011302529
+2011302530,2011302530
+2011302531,2011302531
+2011302532,2011302532
+2011302533,2011302533
+2011302534,2011302534
+2011302535,2011302535
+2011302536,2011302536
+2011302537,2011302537
+2011302538,2011302538
+2011302539,2011302539
+2011302540,2011302540
+2011302541,2011302541
+2011302542,2011302542
+2011302543,2011302543
+2011302544,2011302544
+2011302545,2011302545
+2011302546,2011302546
+2011302547,2011302547
+2011302548,2011302548
+2011302549,2011302549
+2011302550,2011302550
+2011302551,2011302551
+2011302552,2011302552
+2011302553,2011302553
+2011302554,2011302554
+2011302556,2011302556
+2011302557,2011302557
+2011302558,2011302558
+2011302559,2011302559
+2011302560,2011302560
+2011302561,2011302561
+2011302562,2011302562
+2011302563,2011302563
+2011302564,2011302564
+2011302565,2011302565
+2011302566,2011302566
+2011302567,2011302567
+2011302568,2011302568
+2011302569,2011302569
+2011302570,2011302570
+2011302571,2011302571
+2011302572,2011302572
+2011302573,2011302573
+2011302574,2011302574
+2011302575,2011302575
+2011302576,2011302576
+2011302577,2011302577
+2011302578,2011302578
+2011302579,2011302579
+2011302580,2011302580
+2011302581,2011302581
+2011302582,2011302582
+2011302583,2011302583
+2011302584,2011302584
+2011302585,2011302585
+2011302586,2011302586
+2011302587,2011302587
+2011302588,2011302588
+2011302589,2011302589
+2011302590,2011302590
+2011302591,2011302591
+2011302592,2011302592
+2011302593,2011302593
+2011302594,2011302594
+2011302595,2011302595
+2011302596,2011302596
+2011302597,2011302597
+2011302598,2011302598
+2011302599,2011302599
+2011302600,2011302600
+2011302601,2011302601
+2011302602,2011302602
+2011302603,2011302603
+2011302604,2011302604
+2011302605,2011302605
+2011302606,2011302606
+2011302607,2011302607
+2011302608,2011302608
+2011302609,2011302609
+2011302610,2011302610
+2011302611,2011302611
+2011302612,2011302612
+2011302613,2011302613
+2011302614,2011302614
+2011302615,2011302615
+2011302616,2011302616
+2011302618,2011302618
+2011302619,2011302619
+2011302620,2011302620
+2011302621,2011302621
+2011302622,2011302622
+2011302623,2011302623
+2011302624,2011302624
+2011302625,2011302625
+2011302626,2011302626
+2011302628,2011302628
+2011302629,2011302629
+2011302630,2011302630
+2011302631,2011302631
+2011302632,2011302632
+2011302633,2011302633
+2011302634,2011302634
+2011302635,2011302635
+2011302636,2011302636
+2011302637,2011302637
+2011302638,2011302638
+2011302639,2011302639
+2011302640,2011302640
+2011302641,2011302641
+2011302642,2011302642
+2011302643,2011302643
+2011302644,2011302644
+2011302645,2011302645
+2011302646,2011302646
+2011302647,2011302647
+2011302648,2011302648
+2011302649,2011302649
+2011302650,2011302650
+2011302651,2011302651
+2011302652,2011302652
+2011302653,2011302653
+2011302654,2011302654
+2011302655,2011302655
+2011302656,2011302656
+2011302657,2011302657
+2011302658,2011302658
+2011302659,2011302659
+2011302660,2011302660
+2011302661,2011302661
+2011302662,2011302662
+2011302663,2011302663
+2011302664,2011302664
+2011302665,2011302665
+2011302666,2011302666
+2011302667,2011302667
+2011302668,2011302668
+2011302669,2011302669
+2011302670,2011302670
+2011302671,2011302671
+2011302672,2011302672
+2011302673,2011302673
+2011302675,2011302675
+2011302676,2011302676
+2011302677,2011302677
+2011302678,2011302678
+2011302679,2011302679
+2011302680,2011302680
+2011302681,2011302681
+2011302682,2011302682
+2011302683,2011302683
+2011302684,2011302684
+2011302685,2011302685
+2011302686,2011302686
+2011302687,2011302687
+2011302688,2011302688
+2011302689,2011302689
+2011302690,2011302690
+2011302691,2011302691
+2011302692,2011302692
+2011302693,2011302693
+2011302694,2011302694
+2011302695,2011302695
+2011302696,2011302696
+2011302697,2011302697
+2011302698,2011302698
+2011302699,2011302699
+2011302700,2011302700
+2011302701,2011302701
+2011302702,2011302702
+2011302703,2011302703
+2011302704,2011302704
+2011302705,2011302705
+2011302706,2011302706
+2011302707,2011302707
+2011302708,2011302708
+2011302709,2011302709
+2011302710,2011302710
+2011302711,2011302711
+2011302712,2011302712
+2011302713,2011302713
+2011302714,2011302714
+2011302715,2011302715
+2011302716,2011302716
+2011302717,2011302717
+2011302718,2011302718
+2011302719,2011302719
+2011302720,2011302720
+2011302721,2011302721
+2011302722,2011302722
+2011302723,2011302723
+2011302724,2011302724
+2011302725,2011302725
+2011302726,2011302726
+2011302727,2011302727
+2011302728,2011302728
+2011302729,2011302729
+2011302730,2011302730
+2011302731,2011302731
+2011302732,2011302732
+2011302733,2011302733
+2011302734,2011302734
+2011302735,2011302735
+2011302736,2011302736
+2011302737,2011302737
+2011302738,2011302738
+2011302739,2011302739
+2011302740,2011302740
+2011302741,2011302741
+2011302742,2011302742
+2011302743,2011302743
+2011302744,2011302744
+2011302745,2011302745
+2011302747,2011302747
+2011302748,2011302748
+2011302749,2011302749
+2011302750,2011302750
+2011302751,2011302751
+2011302752,2011302752
+2011302753,2011302753
+2011302754,2011302754
+2011302755,2011302755
+2011302756,2011302756
+2011302757,2011302757
+2011302758,2011302758
+2011302759,2011302759
+2011302760,2011302760
+2011302761,2011302761
+2011302762,2011302762
+2011302763,2011302763
+2011302764,2011302764
+2011302765,2011302765
+2011302766,2011302766
+2011302767,2011302767
+2011302768,2011302768
+2011302770,2011302770
+2011302771,2011302771
+2011302772,2011302772
+2011302773,2011302773
+2011302774,2011302774
+2011302775,2011302775
+2011302776,2011302776
+2011302777,2011302777
+2011302778,2011302778
+2011302779,2011302779
+2011302780,2011302780
+2011302781,2011302781
+2011302782,2011302782
+2011302783,2011302783
+2011302785,2011302785
+2011302786,2011302786
+2011302787,2011302787
+2011302788,2011302788
+2011302789,2011302789
+2011302790,2011302790
+2011302791,2011302791
+2011302792,2011302792
+2011302793,2011302793
+2011302794,2011302794
+2011302795,2011302795
+2011302796,2011302796
+2011302797,2011302797
+2011302798,2011302798
+2011302799,2011302799
+2011302800,2011302800
+2011302801,2011302801
+2011302802,2011302802
+2011302803,2011302803
+2011302804,2011302804
+2011302805,2011302805
+2011302806,2011302806
+2011302807,2011302807
+2011302808,2011302808
+2011302809,2011302809
+2011302810,2011302810
+2011302811,2011302811
+2011302812,2011302812
+2011302813,2011302813
+2011302814,2011302814
+2011302815,2011302815
+2011302816,2011302816
+2011302817,2011302817
+2011302818,2011302818
+2011302819,2011302819
+2011302820,2011302820
+2011302821,2011302821
+2011302822,2011302822
+2011302823,2011302823
+2011302824,2011302824
+2011302825,2011302825
+2011302826,2011302826
+2011302827,2011302827
+2011302828,2011302828
+2011302829,2011302829
+2011302830,2011302830
+2011302831,2011302831
+2011302832,2011302832
+2011302833,2011302833
+2011302834,2011302834
+2011302835,2011302835
+2011302836,2011302836
+2011302837,2011302837
+2011302838,2011302838
+2011302839,2011302839
+2011302840,2011302840
+2011302841,2011302841
+2011302842,2011302842
+2011302843,2011302843
+2011302844,2011302844
+2011302845,2011302845
+2011302846,2011302846
+2011302847,2011302847
+2011302848,2011302848
+2011302849,2011302849
+2011302850,2011302850
+2011302851,2011302851
+2011302852,2011302852
+2011302853,2011302853
+2011302854,2011302854
+2011302855,2011302855
+2011302856,2011302856
+2011302857,2011302857
+2011302858,2011302858
+2011302859,2011302859
+2011302860,2011302860
+2011302861,2011302861
+2011302862,2011302862
+2011302863,2011302863
+2011302864,2011302864
+2011302865,2011302865
+2011302866,2011302866
+2011302867,2011302867
+2011302868,2011302868
+2011302869,2011302869
+2011302870,2011302870
+2011302871,2011302871
+2011302872,2011302872
+2011302873,2011302873
+2011302874,2011302874
+2011302875,2011302875
+2011302876,2011302876
+2011302877,2011302877
+2011302878,2011302878
+2011302879,2011302879
+2011302880,2011302880
+2011302881,2011302881
+2011302882,2011302882
+2011302883,2011302883
+2011302884,2011302884
+2011302885,2011302885
+2011302886,2011302886
+2011302887,2011302887
+2011302888,2011302888
+2011302889,2011302889
+2011302890,2011302890
+2011302891,2011302891
+2011302892,2011302892
+2011302893,2011302893
+2011302894,2011302894
+2011302895,2011302895
+2011302896,2011302896
+2011302897,2011302897
+2011302898,2011302898
+2011302899,2011302899
+2011302900,2011302900
+2011302901,2011302901
+2011302902,2011302902
+2011302903,2011302903
+2011302904,2011302904
+2011302905,2011302905
+2011302906,2011302906
+2011302907,2011302907
+2011302908,2011302908
+2011302909,2011302909
+2011302910,2011302910
+2011302911,2011302911
+2011302912,2011302912
+2011302913,2011302913
+2011302914,2011302914
+2011302915,2011302915
+2011302916,2011302916
+2011302917,2011302917
+2011302918,2011302918
+2011302919,2011302919
+2011302920,2011302920
+2011302921,2011302921
+2011302922,2011302922
+2011302923,2011302923
+2011302924,2011302924
+2011302925,2011302925
+2011302926,2011302926
+2011302927,2011302927
+2011302928,2011302928
+2011302929,2011302929
+2011302930,2011302930
+2011302931,2011302931
+2011302932,2011302932
+2011302933,2011302933
+2011302934,2011302934
+2011302935,2011302935
+2011302936,2011302936
+2011302937,2011302937
+2011302938,2011302938
+2011302939,2011302939
+2011302940,2011302940
+2011302941,2011302941
+2011302942,2011302942
+2011302943,2011302943
+2011302944,2011302944
+2011302945,2011302945
+2011302946,2011302946
+2011302947,2011302947
+2011302949,2011302949
+2011302950,2011302950
+2011302951,2011302951
+2011302952,2011302952
+2011302953,2011302953
+2011302954,2011302954
+2011302956,2011302956
+2011302957,2011302957
+2011302958,2011302958
+2011302959,2011302959
+2011302960,2011302960
+2011302961,2011302961
+2011302962,2011302962
+2011302963,2011302963
+2011302964,2011302964
+2011302965,2011302965
+2011302966,2011302966
+2011302967,2011302967
+2011302968,2011302968
+2011302969,2011302969
+2011302970,2011302970
+2011302971,2011302971
+2011302972,2011302972
+2011302973,2011302973
+2011302974,2011302974
+2011302975,2011302975
+2011302976,2011302976
+2011302977,2011302977
+2011302978,2011302978
+2011302979,2011302979
+2011302980,2011302980
+2011302981,2011302981
+2011302982,2011302982
+2011302983,2011302983
+2011302984,2011302984
+2011302985,2011302985
+2011302986,2011302986
+2011302987,2011302987
+2011302988,2011302988
+2011302989,2011302989
+2011302990,2011302990
+2011302991,2011302991
+2011302992,2011302992
+2011302993,2011302993
+2011302994,2011302994
+2011302995,2011302995
+2011302996,2011302996
+2011302997,2011302997
+2011302998,2011302998
+2011302999,2011302999
+2011303000,2011303000
+2011303001,2011303001
+2011303002,2011303002
+2011303003,2011303003
+2011303004,2011303004
+2011303005,2011303005
+2011303006,2011303006
+2011303007,2011303007
+2011303008,2011303008
+2011303009,2011303009
+2011303011,2011303011
+2011303013,2011303013
+2011303014,2011303014
+2011303015,2011303015
+2011303016,2011303016
+2011303017,2011303017
+2011303018,2011303018
+2011303019,2011303019
+2011303020,2011303020
+2011303021,2011303021
+2011303022,2011303022
+2011303023,2011303023
+2011303024,2011303024
+2011303025,2011303025
+2011303026,2011303026
+2011303027,2011303027
+2011303028,2011303028
+2011303029,2011303029
+2011303030,2011303030
+2011303031,2011303031
+2011303032,2011303032
+2011303033,2011303033
+2011303034,2011303034
+2011303035,2011303035
+2011303036,2011303036
+2011303037,2011303037
+2011303038,2011303038
+2011303039,2011303039
+2011303040,2011303040
+2011303041,2011303041
+2011303042,2011303042
+2011303043,2011303043
+2011303044,2011303044
+2011303045,2011303045
+2011303046,2011303046
+2011303047,2011303047
+2011303048,2011303048
+2011303049,2011303049
+2011303050,2011303050
+2011303051,2011303051
+2011303052,2011303052
+2011303053,2011303053
+2011303054,2011303054
+2011303055,2011303055
+2011303056,2011303056
+2011303057,2011303057
+2011303058,2011303058
+2011303059,2011303059
+2011303060,2011303060
+2011303061,2011303061
+2011303062,2011303062
+2011303063,2011303063
+2011303064,2011303064
+2011303065,2011303065
+2011303066,2011303066
+2011303067,2011303067
+2011303068,2011303068
+2011303069,2011303069
+2011303070,2011303070
+2011303071,2011303071
+2011303072,2011303072
+2011303073,2011303073
+2011303074,2011303074
+2011303075,2011303075
+2011303076,2011303076
+2011303077,2011303077
+2011303078,2011303078
+2011303079,2011303079
+2011303080,2011303080
+2011303081,2011303081
+2011303082,2011303082
+2011303083,2011303083
+2011303084,2011303084
+2011303085,2011303085
+2011303086,2011303086
+2011303087,2011303087
+2011303088,2011303088
+2011303089,2011303089
+2011303090,2011303090
+2011303091,2011303091
+2011303092,2011303092
+2011303093,2011303093
+2011303094,2011303094
+2011303095,2011303095
+2011303096,2011303096
+2011303097,2011303097
+2011303098,2011303098
+2011303099,2011303099
+2011303100,2011303100
+2011303101,2011303101
+2011303102,2011303102
+2011303103,2011303103
+2011303104,2011303104
+2011303105,2011303105
+2011303106,2011303106
+2011303107,2011303107
+2011303108,2011303108
+2011303109,2011303109
+2011303110,2011303110
+2011303111,2011303111
+2011303112,2011303112
+2011303113,2011303113
+2011303114,2011303114
+2011303115,2011303115
+2011303116,2011303116
+2011303117,2011303117
+2011303118,2011303118
+2011303119,2011303119
+2011303120,2011303120
+2011303121,2011303121
+2011303122,2011303122
+2011303123,2011303123
+2011303124,2011303124
+2011303125,2011303125
+2011303126,2011303126
+2011303127,2011303127
+2011303128,2011303128
+2011303129,2011303129
+2011303130,2011303130
+2011303131,2011303131
+2011303132,2011303132
+2011303133,2011303133
+2011303134,2011303134
+2011303135,2011303135
+2011303136,2011303136
+2011303137,2011303137
+2011303138,2011303138
+2011303139,2011303139
+2011303140,2011303140
+2011303141,2011303141
+2011303142,2011303142
+2011303143,2011303143
+2011303144,2011303144
+2011303145,2011303145
+2011303146,2011303146
+2011303147,2011303147
+2011303148,2011303148
+2011303149,2011303149
+2011303150,2011303150
+2011303151,2011303151
+2011303152,2011303152
+2011303153,2011303153
+2011303154,2011303154
+2011303155,2011303155
+2011303156,2011303156
+2011303157,2011303157
+2011303158,2011303158
+2011303159,2011303159
+2011303160,2011303160
+2011303161,2011303161
+2011303162,2011303162
+2011303163,2011303163
+2011303164,2011303164
+2011303165,2011303165
+2011303166,2011303166
+2011303167,2011303167
+2011303168,2011303168
+2011303169,2011303169
+2011303170,2011303170
+2011303171,2011303171
+2011303173,2011303173
+2011303174,2011303174
+2011303175,2011303175
+2011303176,2011303176
+2011303177,2011303177
+2011303178,2011303178
+2011303179,2011303179
+2011303180,2011303180
+2011303181,2011303181
+2011303182,2011303182
+2011303183,2011303183
+2011303184,2011303184
+2011303185,2011303185
+2011303186,2011303186
+2011303187,2011303187
+2011303188,2011303188
+2011303189,2011303189
+2011303190,2011303190
+2011303191,2011303191
+2011303192,2011303192
+2011303193,2011303193
+2011303194,2011303194
+2011303195,2011303195
+2011303196,2011303196
+2011303197,2011303197
+2011303198,2011303198
+2011303199,2011303199
+2011303200,2011303200
+2011303201,2011303201
+2011303202,2011303202
+2011303203,2011303203
+2011303204,2011303204
+2011303205,2011303205
+2011303206,2011303206
+2011303207,2011303207
+2011303208,2011303208
+2011303209,2011303209
+2011303210,2011303210
+2011303211,2011303211
+2011303212,2011303212
+2011303213,2011303213
+2011303214,2011303214
+2011303215,2011303215
+2011303216,2011303216
+2011303217,2011303217
+2011303218,2011303218
+2011303219,2011303219
+2011303220,2011303220
+2011303221,2011303221
+2011303222,2011303222
+2011303223,2011303223
+2011303224,2011303224
+2011303225,2011303225
+2011303226,2011303226
+2011303227,2011303227
+2011303228,2011303228
+2011303229,2011303229
+2011303230,2011303230
+2011303231,2011303231
+2011303233,2011303233
+2011303234,2011303234
+2011303235,2011303235
+2011303236,2011303236
+2011303237,2011303237
+2011303238,2011303238
+2011303239,2011303239
+2011303240,2011303240
+2011303241,2011303241
+2011303242,2011303242
+2011303243,2011303243
+2011303244,2011303244
+2011303245,2011303245
+2011303246,2011303246
+2011303247,2011303247
+2011303248,2011303248
+2011303249,2011303249
+2011303250,2011303250
+2011303251,2011303251
+2011303252,2011303252
+2011303253,2011303253
+2011303254,2011303254
+2011303255,2011303255
+2011303256,2011303256
+2011303257,2011303257
+2011303258,2011303258
+2011303259,2011303259
+2011303260,2011303260
+2011303261,2011303261
+2011303262,2011303262
+2011303263,2011303263
+2011303264,2011303264
+2011303265,2011303265
+2011303266,2011303266
+2011303267,2011303267
+2011303268,2011303268
+2011303269,2011303269
+2011303270,2011303270
+2011303271,2011303271
+2011303272,2011303272
+2011303273,2011303273
+2011303274,2011303274
+2011303275,2011303275
+2011303276,2011303276
+2011303277,2011303277
+2011303278,2011303278
+2011303279,2011303279
+2011303280,2011303280
+2011303281,2011303281
+2011303282,2011303282
+2011303283,2011303283
+2011303284,2011303284
+2011303285,2011303285
+2011303286,2011303286
+2011303287,2011303287
+2011303288,2011303288
+2011303289,2011303289
+2011303290,2011303290
+2011303291,2011303291
+2011303292,2011303292
+2011303293,2011303293
+2011303294,2011303294
+2011303295,2011303295
+2011303296,2011303296
+2011303297,2011303297
+2011303298,2011303298
+2011303299,2011303299
+2011303300,2011303300
+2011303301,2011303301
+2011303302,2011303302
+2011303303,2011303303
+2011303304,2011303304
+2011303305,2011303305
+2011303306,2011303306
+2011303307,2011303307
+2011303308,2011303308
+2011303309,2011303309
+2011303310,2011303310
+2011303311,2011303311
+2011303312,2011303312
+2011303313,2011303313
+2011303314,2011303314
+2011303315,2011303315
+2011303316,2011303316
+2011303317,2011303317
+2011303318,2011303318
+2011303319,2011303319
+2011303320,2011303320
+2011303321,2011303321
+2011303322,2011303322
+2011303323,2011303323
+2011303324,2011303324
+2011303325,2011303325
+2011303326,2011303326
+2011303327,2011303327
+2011303328,2011303328
+2011303329,2011303329
+2011303330,2011303330
+2011303332,2011303332
+2011303333,2011303333
+2011303334,2011303334
+2011303335,2011303335
+2011303336,2011303336
+2011303337,2011303337
+2011303338,2011303338
+2011303339,2011303339
+2011303340,2011303340
+2011303341,2011303341
+2011303342,2011303342
+2011303343,2011303343
+2011303344,2011303344
+2011303345,2011303345
+2011303346,2011303346
+2011303348,2011303348
+2011303349,2011303349
+2011303350,2011303350
+2011303351,2011303351
+2011303352,2011303352
+2011303353,2011303353
+2011303354,2011303354
+2011303355,2011303355
+2011303356,2011303356
+2011303357,2011303357
+2011303358,2011303358
+2011303359,2011303359
+2011303360,2011303360
+2011303361,2011303361
+2011303362,2011303362
+2011303363,2011303363
+2011303364,2011303364
+2011303365,2011303365
+2011303366,2011303366
+2011303367,2011303367
+2011303368,2011303368
+2011303369,2011303369
+2011303370,2011303370
+2011303371,2011303371
+2011303372,2011303372
+2011303373,2011303373
+2011303374,2011303374
+2011303375,2011303375
+2011303376,2011303376
+2011303377,2011303377
+2011303378,2011303378
+2011303379,2011303379
+2011303380,2011303380
+2011303381,2011303381
+2011303382,2011303382
+2011303383,2011303383
+2011303384,2011303384
+2011303385,2011303385
+2011303386,2011303386
+2011303387,2011303387
+2011303388,2011303388
+2011303389,2011303389
+2011303390,2011303390
+2011303391,2011303391
+2011303392,2011303392
+2011303393,2011303393
+2011303394,2011303394
+2011303395,2011303395
+2011303396,2011303396
+2011303397,2011303397
+2011303399,2011303399
+2011303400,2011303400
+2011303401,2011303401
+2011303402,2011303402
+2011303403,2011303403
+2011303404,2011303404
+2011303405,2011303405
+2011303406,2011303406
+2011303407,2011303407
+2011303408,2011303408
+2011303409,2011303409
+2011303410,2011303410
+2011303411,2011303411
+2011303412,2011303412
+2011303413,2011303413
+2011303414,2011303414
+2011303415,2011303415
+2011303416,2011303416
+2011303417,2011303417
+2011303418,2011303418
+2011303420,2011303420
+2011303421,2011303421
+2011303422,2011303422
+2011303423,2011303423
+2011303424,2011303424
+2011303425,2011303425
+2011303426,2011303426
+2011303427,2011303427
+2011303428,2011303428
+2011303429,2011303429
+2011303430,2011303430
+2011303431,2011303431
+2011303432,2011303432
+2011303433,2011303433
+2011303434,2011303434
+2011303435,2011303435
+2011303436,2011303436
+2011303437,2011303437
+2011303438,2011303438
+2011303439,2011303439
+2011303440,2011303440
+2011303441,2011303441
+2011303442,2011303442
+2011303443,2011303443
+2011303444,2011303444
+2011303445,2011303445
+2011303446,2011303446
+2011303447,2011303447
+2011303448,2011303448
+2011303449,2011303449
+2011303450,2011303450
+2011303451,2011303451
+2011303452,2011303452
+2011303453,2011303453
+2011303454,2011303454
+2011303455,2011303455
+2011303456,2011303456
+2011303457,2011303457
+2011303458,2011303458
+2011303459,2011303459
+2011303460,2011303460
+2011303461,2011303461
+2011303462,2011303462
+2011303463,2011303463
+2011303464,2011303464
+2011303465,2011303465
+2011303466,2011303466
+2011303467,2011303467
+2011303468,2011303468
+2011303469,2011303469
+2011303470,2011303470
+2011303471,2011303471
+2011303472,2011303472
+2011303473,2011303473
+2011303474,2011303474
+2011303475,2011303475
+2011303476,2011303476
+2011303477,2011303477
+2011303478,2011303478
+2011303479,2011303479
+2011303480,2011303480
+2011303482,2011303482
+2011303483,2011303483
+2011303484,2011303484
+2011303485,2011303485
+2011303486,2011303486
+2011303487,2011303487
+2011303488,2011303488
+2011303489,2011303489
+2011303490,2011303490
+2011303491,2011303491
+2011303492,2011303492
+2011303493,2011303493
+2011303494,2011303494
+2011303495,2011303495
+2011303496,2011303496
+2011303497,2011303497
+2011303498,2011303498
+2011303499,2011303499
+2011303500,2011303500
+2011303501,2011303501
+2011303502,2011303502
+2011303503,2011303503
+2011303504,2011303504
+2011303505,2011303505
+2011303506,2011303506
+2011303507,2011303507
+2011303508,2011303508
+2011303509,2011303509
+2011303510,2011303510
+2011303511,2011303511
+2011303512,2011303512
+2011303513,2011303513
+2011303514,2011303514
+2011303515,2011303515
+2011303516,2011303516
+2011303517,2011303517
+2011303518,2011303518
+2011303519,2011303519
+2011303520,2011303520
+2011303521,2011303521
+2011303522,2011303522
+2011303523,2011303523
+2011303524,2011303524
+2011303525,2011303525
+2011303526,2011303526
+2011303527,2011303527
+2011303528,2011303528
+2011303529,2011303529
+2011303530,2011303530
+2011303531,2011303531
+2011303532,2011303532
+2011303533,2011303533
+2011303534,2011303534
+2011303535,2011303535
+2011303536,2011303536
+2011303537,2011303537
+2011303538,2011303538
+2011303539,2011303539
+2011303540,2011303540
+2011303541,2011303541
+2011303542,2011303542
+2011303543,2011303543
+2011303544,2011303544
+2011303545,2011303545
+2011303546,2011303546
+2011303547,2011303547
+2011303548,2011303548
+2011303549,2011303549
+2011303550,2011303550
+2011303551,2011303551
+2011303552,2011303552
+2011303553,2011303553
+2011303554,2011303554
+2011303555,2011303555
+2011303556,2011303556
+2011303557,2011303557
+2011303558,2011303558
+2011303559,2011303559
+2011303560,2011303560
+2011303561,2011303561
+2011303562,2011303562
+2011303563,2011303563
+2011303564,2011303564
+2011303565,2011303565
+2011303566,2011303566
+2011303567,2011303567
+2011303568,2011303568
+2011303569,2011303569
+2011303570,2011303570
+2011303571,2011303571
+2011303572,2011303572
+2011303573,2011303573
+2011303574,2011303574
+2011303575,2011303575
+2011303576,2011303576
+2011303577,2011303577
+2011303578,2011303578
+2011303579,2011303579
+2011303580,2011303580
+2011303581,2011303581
+2011303582,2011303582
+2011303583,2011303583
+2011303584,2011303584
+2011303585,2011303585
+2011303586,2011303586
+2011303587,2011303587
+2011303588,2011303588
+2011303589,2011303589
+2011303590,2011303590
+2011303591,2011303591
+2011303592,2011303592
+2011303593,2011303593
+2011303594,2011303594
+2011303595,2011303595
+2011303596,2011303596
+2011303597,2011303597
+2011303598,2011303598
+2011303599,2011303599
+2011303600,2011303600
+2011303601,2011303601
+2011303602,2011303602
+2011303603,2011303603
+2011303604,2011303604
+2011303605,2011303605
+2011303606,2011303606
+2011303607,2011303607
+2011303608,2011303608
+2011303609,2011303609
+2011303610,2011303610
+2011303611,2011303611
+2011303612,2011303612
+2011303613,2011303613
+2011303614,2011303614
+2011303615,2011303615
+2011303616,2011303616
+2011303617,2011303617
+2011303618,2011303618
+2011303619,2011303619
+2011303620,2011303620
+2011303621,2011303621
+2011303622,2011303622
+2011303623,2011303623
+2011303624,2011303624
+2011303625,2011303625
+2011303626,2011303626
+2011303627,2011303627
+2011303628,2011303628
+2011303629,2011303629
+2011303630,2011303630
+2011303631,2011303631
+2011303632,2011303632
+2011303633,2011303633
+2011303634,2011303634
+2011303635,2011303635
+2011303636,2011303636
+2011303637,2011303637
+2011303638,2011303638
+2011303639,2011303639
+2011303640,2011303640
+2011303641,2011303641
+2011303642,2011303642
+2011303643,2011303643
+2011303644,2011303644
+2011303645,2011303645
+2011303646,2011303646
+2011303647,2011303647
+2011303648,2011303648
+2011303649,2011303649
+2011303650,2011303650
+2011303651,2011303651
+2011303652,2011303652
+2011303653,2011303653
+2011303654,2011303654
+2011303655,2011303655
+2011303656,2011303656
+2011303657,2011303657
+2011303658,2011303658
+2011303659,2011303659
+2011303660,2011303660
+2011303661,2011303661
+2011310001,2011310001
+2011310002,2011310002
+2011310003,2011310003
+2011310004,2011310004
+2011310005,2011310005
+2011310006,2011310006
+2011310007,2011310007
+2011310008,2011310008
+2011310009,2011310009
+2011310010,2011310010
+2011310011,2011310011
+2011310012,2011310012
+2011310013,2011310013
+2011310014,2011310014
+2011410100,2011410100
+2011410103,2011410103
+2011410104,2011410104
+2011410105,2011410105
+2011410106,2011410106
+2011410107,2011410107
+2011420025,2011420025
+2011420100,2011420100
+2011420101,2011420101
+2011420102,2011420102
+2011420103,2011420103
+2011420105,2011420105
+2011420107,2011420107
+2011420109,2011420109
+2011420110,2011420110
+2011420111,2011420111
+2011420112,2011420112
+2011420113,2011420113
+2011420115,2011420115
+2011420116,2011420116
+2011420117,2011420117
+2011420120,2011420120
+2011420121,2011420121
+2011420128,2011420128
+2011420129,2011420129
+2011420131,2011420131
+2011420132,2011420132
+2011420133,2011420133
+2011420134,2011420134
+2011420135,2011420135
+2011420136,2011420136
+2011420137,2011420137
+2011420138,2011420138
+2011420139,2011420139
+2011420140,2011420140
+2011420141,2011420141
+2011420142,2011420142
+2011420143,2011420143
+2011420144,2011420144
+2011420145,2011420145
+2011420146,2011420146
+2011420147,2011420147
+2011430001,2011430001
+2011430002,2011430002
+2011430003,2011430003
+2011430004,2011430004
+2011430005,2011430005
+2011430006,2011430006
+2011430007,2011430007
+2011430008,2011430008
+2011430009,2011430009
+2011430010,2011430010
+2011430011,2011430011
+2011430014,2011430014
+2011430015,2011430015
+2011430016,2011430016
+2011430017,2011430017
+2011430018,2011430018
+2011430019,2011430019
+2011430020,2011430020
+2011430021,2011430021
+2011430022,2011430022
+2011430023,2011430023
+2011430024,2011430024
+2011430025,2011430025
+2011430026,2011430026
+2011430027,2011430027
+2011430028,2011430028
+2011430029,2011430029
+2011430030,2011430030
+2011430031,2011430031
+2011430032,2011430032
+2011430033,2011430033
+2011430034,2011430034
+2011430035,2011430035
+2011430036,2011430036
+2011430037,2011430037
+2011430038,2011430038
+2011430039,2011430039
+2011430040,2011430040
+2011430041,2011430041
+2011430042,2011430042
+2011430043,2011430043
+2011430044,2011430044
+2011430045,2011430045
+2011430046,2011430046
+2011430047,2011430047
+2011430049,2011430049
+2011430050,2011430050
+2011430051,2011430051
+2011430052,2011430052
+2011430053,2011430053
+2011430054,2011430054
+2011430055,2011430055
+2011430057,2011430057
+2011430058,2011430058
+2011430059,2011430059
+2011430060,2011430060
+2011430061,2011430061
+2011430062,2011430062
+2011430063,2011430063
+2011430064,2011430064
+2011430065,2011430065
+2011430066,2011430066
+2011430067,2011430067
+2011430068,2011430068
+2011430069,2011430069
+2011430070,2011430070
+2011430071,2011430071
+2011430072,2011430072
+2011430073,2011430073
+2011430074,2011430074
+2011430075,2011430075
+2011430076,2011430076
+2011430100,2011430100
+2011430102,2011430102
+2011430103,2011430103
+2011430104,2011430104
+2011440019,2011440019
+2012010001,2008100009
+2012010003,2012010003
+2012010004,057110330
+2012010005,2006030126
+2012010006,066080432
+2012010007,046010019
+2012010008,056050307
+2012010011,2012010011
+2012010013,2012010013
+2012010014,2012010014
+2012010015,046086487
+2012010016,2007010094
+2012010017,2007010095
+2012010018,2007010093
+2012010019,2009201426
+2012010020,067040349
+2012010021,066040202
+2012010022,2012010022
+2012010026,046016007
+2012010027,056090564
+2012010032,056100598
+2012010033,2009201945
+2012010034,2012010034
+2012010035,2012010035
+2012010036,077100120
+2012010038,2012010038
+2012010039,2012010039
+2012010040,2012010040
+2012010041,2012010041
+2012010042,{SHA-256}{erjizGgG3omLwXMO9Ze3UAYbPAAPbKB4cEsqfzc0K9E=}5829d1dc77a4d6c4a56dd57fc8bd190d236529c43a32059e223a68a3ead10101
+2012010043,2012010043
+2012010044,2012010044
+2012010045,2012010045
+2012010046,2012010046
+2012010047,2012010047
+2012010048,066040188
+2012010050,2009202179
+2012010051,2012010051
+2012010052,2012010052
+2012010053,2012010053
+2012010054,2012010054
+2012010055,2012010055
+2012010056,053076
+2012010057,2012010057
+2012010058,047040159
+2012010059,2012010059
+2012010063,057050207
+2012010064,2012010064
+2012010065,2007100141
+2012010066,057070229
+2012010067,056100630
+2012010068,066100617
+2012010069,2012010069
+2012010070,2012010070
+2012010071,2012010071
+2012010072,2012010072
+2012010073,2012010073
+2012010074,2012010074
+2012010075,066020100
+2012010076,2012010076
+2012010079,2012010079
+2012010080,2012010080
+2012010084,056046143
+2012010085,056090476
+2012030002,2012030002
+2012030009,2012030009
+2012030010,056010061
+2012030012,056050275
+2012030025,046020088
+2012030037,056020078
+2012030049,056090563
+2012030062,066090507
+2012030077,2012030077
+2012030078,046040213
+2012030083,2012030083
+2012060023,2012060023
+2012060024,2012060024
+2012060081,2012060081
+2012060082,2012060081
+2012060086,2012060086
+2012060087,2012060087
+2012070001,2012070001
+2012070002,2012070002
+2012070003,2012070003
+2012070004,2012070004
+2012070005,2012070005
+2012070006,2012070006
+2012070007,2012070007
+2012070008,2012070008
+2012070009,2007100369
+2012070010,2012070010
+2012070011,2012070011
+2012070012,2012070012
+2012070013,2012070013
+2012070014,2012070014
+2012070015,2012070015
+2012070016,2012070016
+2012070017,2012070017
+2012070018,2012070018
+2012070019,2012070019
+2012070020,2012070020
+2012070021,2012070021
+2012070022,2012070022
+2012070023,2012070023
+2012070024,2012070024
+2012070025,2012070025
+2012070026,2012070026
+2012070027,2012070027
+2012070028,2012070028
+2012070029,2012070029
+2012070030,2012070030
+2012070031,2012070031
+2012070032,2012070032
+2012070033,2012070033
+2012070034,2012070034
+2012070035,2012070035
+2012070036,2012070036
+2012070037,2012070037
+2012070038,2012070038
+2012070039,2012070039
+2012070040,2012070040
+2012070042,2012070042
+2012070043,2012070043
+2012070044,2012070044
+2012070045,2012070045
+2012070046,2012070046
+2012070047,2012070047
+2012070048,2012070048
+2012070049,2012070049
+2012070050,2012070050
+2012070051,2012070051
+2012070052,2012070052
+2012070053,2012070053
+2012070054,2012070054
+2012070056,2012070056
+2012070057,2012070057
+2012070058,2012070058
+2012070060,063174
+2012070061,2012070061
+2012070062,2012070062
+2012070063,2012070063
+2012070064,2012070064
+2012070065,2012070065
+2012070066,2012070066
+2012070067,2012070067
+2012070068,2012070068
+2012070069,2012070069
+2012070070,2012070070
+2012070071,2012070071
+2012070072,2012070072
+2012070073,2012070073
+2012070074,2012070074
+2012070075,2012070075
+2012070076,2012070076
+2012070077,2012070077
+2012070080,2012070080
+2012070081,2012070081
+2012070082,2012070082
+2012070085,2008303225
+2012070086,2008301886
+2012070087,2008300642
+2012070088,2012070088
+2012070089,2012070089
+2012070090,2012070090
+2012070091,2012070091
+2012070092,2012070092
+2012070093,2012070093
+2012070094,2012070094
+2012070095,2012070095
+2012070096,2012070096
+2012070097,2012070097
+2012070098,2012070098
+2012070099,2012070099
+2012070100,2012070100
+2012100001,2012100001
+2012100002,050128
+2012100003,053551
+2012100004,050037
+2012100005,2012100005
+2012100006,2012100006
+2012100007,2012100007
+2012100008,2012100008
+2012100009,2012100009
+2012100010,2012100010
+2012100011,2007200018
+2012100012,050240
+2012100013,056010029
+2012100014,2012100014
+2012100015,2012100015
+2012100016,2009250081
+2012100017,050465
+2012100018,066020093
+2012100019,2012100019
+2012100020,2012100020
+2012100021,2007250042
+2012100022,2012100022
+2012100023,2012100023
+2012100024,2012100024
+2012100025,2012100025
+2012100026,2012100026
+2012100027,2012100027
+2012100028,2012100028
+2012100029,2012100029
+2012100030,2012100030
+2012100031,056036093
+2012100032,2009200390
+2012100033,2012100033
+2012100034,2007200310
+2012100035,2012100035
+2012100036,2007010028
+2012100037,053533
+2012100038,2012100038
+2012100039,046036107
+2012100040,050870
+2012100041,2012100041
+2012100042,2012100042
+2012100043,041006
+2012100044,2012100044
+2012100045,2012100045
+2012100046,2008202062
+2012100047,2012100047
+2012100048,2012100048
+2012100049,2012100049
+2012100050,2012100050
+2012100051,2012100051
+2012100052,2012100052
+2012100053,2009200532
+2012100054,2012100054
+2012100055,2012100055
+2012100056,056046121
+2012100057,2012100057
+2012100058,2012100058
+2012100059,2012100059
+2012100060,2007010127
+2012100061,046110727
+2012100062,2009260675
+2012100063,2012100063
+2012100064,2012100064
+2012100065,2012100065
+2012100066,2009200544
+2012100067,2012100067
+2012100068,2012100068
+2012100069,2008200739
+2012100070,2012100070
+2012100071,046030195
+2012100072,2012100072
+2012100073,2012100073
+2012100074,2012100074
+2012100075,2012100075
+2012100076,046050357
+2012100077,2012100077
+2012100078,2012100078
+2012100079,2012100079
+2012100080,2012100080
+2012100081,2012100081
+2012100082,2012100082
+2012100083,2012100083
+2012100084,066056376
+2012100085,2012100085
+2012100086,2012100086
+2012100087,2012100087
+2012100088,2009200733
+2012100089,2012100089
+2012100090,2012100090
+2012100091,2012100091
+2012100092,2009200881
+2012100093,2012100093
+2012100094,2012100094
+2012100095,2012100095
+2012100096,2012100096
+2012100097,2012100097
+2012100098,2012100098
+2012100099,2008010051
+2012100100,2012100100
+2012100101,2012100101
+2012100102,2012100102
+2012100103,2012100103
+2012100104,2009200789
+2012100105,2009200957
+2012100106,2012100106
+2012100107,041476
+2012100108,2006020045
+2012100109,2012100109
+2012100110,051389
+2012100111,2012100111
+2012100112,2012100112
+2012100113,2012100113
+2012100114,2012100114
+2012100115,2012100115
+2012100116,2012100116
+2012100117,2012100117
+2012100118,2012100118
+2012100119,2012100119
+2012100120,2012100120
+2012100121,2012100121
+2012100122,056080453
+2012100123,2009201103
+2012100124,2012100124
+2012100125,2012100125
+2012100126,2012100126
+2012100127,2012100127
+2012100128,2012100128
+2012100129,056080401
+2012100130,2009201160
+2012100131,2012100131
+2012100132,2012100132
+2012100133,046080486
+2012100134,2012100134
+2012100135,2012100135
+2012100136,2011100025
+2012100137,043301
+2012100138,066134095
+2012100139,052445
+2012100140,2012100140
+2012100141,2012100141
+2012100142,2012100142
+2012100143,2012100143
+2012100144,2012100144
+2012100145,2012100145
+2012100146,2012100146
+2012100147,2012100147
+2012100148,052216
+2012100149,2009201344
+2012100150,2012100150
+2012100151,2009261559
+2012100152,2012100152
+2012100153,2012100153
+2012100154,2012100154
+2012100155,2012100155
+2012100156,2007210420
+2012100157,2012100157
+2012100158,052219
+2012100159,2012100159
+2012100160,2012100160
+2012100161,2012100161
+2012100162,2012100162
+2012100163,2012100163
+2012100164,2012100164
+2012100165,2012100165
+2012100166,2009201651
+2012100167,2012100167
+2012100168,2012100168
+2012100169,2009201589
+2012100170,043763
+2012100171,2012100171
+2012100172,2012100172
+2012100173,2012100173
+2012100174,2008202008
+2012100175,2008201472
+2012100176,2012100176
+2012100177,2012100177
+2012100178,2012100178
+2012100179,066036137
+2012100180,2012100180
+2012100181,2012100181
+2012100182,2012100182
+2012100183,2012100183
+2012100184,2012100184
+2012100185,2012100185
+2012100186,2012100186
+2012100187,2012100187
+2012100188,046110738
+2012100189,2012100189
+2012100190,2012100190
+2012100191,2009201726
+2012100192,2012100192
+2012100193,2012100193
+2012100194,2012100194
+2012100195,066110647
+2012100196,2012100196
+2012100197,066114103
+2012100198,2012100198
+2012100199,2012100199
+2012100200,2012100200
+2012100201,2012100201
+2012100202,2012100202
+2012100203,2012100203
+2012100204,2012100204
+2012100205,2012100205
+2012100206,2007201432
+2012100207,2012100207
+2012100208,2002000040
+2012100209,2012100209
+2012100210,2003000040
+2012100211,2012100211
+2012100212,2012100212
+2012100213,2012100213
+2012100214,2012100214
+2012100215,2012100215
+2012100216,2004000026
+2012100217,2012100217
+2012100218,2012100218
+2012100219,2012100219
+2012100220,2012100220
+2012100221,2012100221
+2012100222,2012100222
+2012100223,2012100223
+2012100224,2004020120
+2012100225,2012100225
+2012100226,2012100226
+2012100227,046130823
+2012100228,2012100228
+2012100229,2012100229
+2012100230,2012100230
+2012100231,2012100231
+2012100232,2012100232
+2012100233,2012100233
+2012100234,2012100234
+2012100235,2012100235
+2012100236,2012100236
+2012100237,2012100237
+2012100238,2012100238
+2012100239,2012100239
+2012100241,2007300172
+2012100242,060139
+2012100243,2012100243
+2012100244,2012100244
+2012100245,2011200011
+2012100246,2008300020
+2012100247,2008300012
+2012100248,2008300016
+2012100249,2010200074
+2012100250,2012100250
+2012100251,2008201682
+2012100252,2010202337
+2012100253,2008300381
+2012100254,2012100254
+2012100255,2012100255
+2012100256,2008300918
+2012100257,2012100257
+2012100258,2012100258
+2012100259,2012100259
+2012100260,2012100260
+2012100261,2012100261
+2012100262,2012100262
+2012100263,2012100263
+2012100264,060216
+2012100265,2012100265
+2012100266,060330
+2012100267,2012100267
+2012100268,2012100268
+2012100269,2012100269
+2012100270,2012100270
+2012100271,050171
+2012100272,2012100272
+2012100273,2012100273
+2012100274,2012100274
+2012100275,2012100275
+2012100276,2012100276
+2012100277,2012100277
+2012100278,2007300032
+2012100279,060046
+2012100280,2012100280
+2012100281,2008300119
+2012100282,2012100282
+2012100283,2012100283
+2012100284,2012100284
+2012100285,2010200077
+2012100286,060038
+2012100287,060259
+2012100288,2012100288
+2012100289,2008300155
+2012100290,2008300077
+2012100291,052176
+2012100292,062586
+2012100293,2010200156
+2012100294,2008300221
+2012100295,2008300021
+2012100296,2010200128
+2012100297,2007300077
+2012100298,2007300209
+2012100299,2007300609
+2012100300,2010200107
+2012100301,2010200117
+2012100302,2008300043
+2012100303,2007300274
+2012100304,053528
+2012100305,2007300224
+2012100306,060103
+2012100307,2010200165
+2012100308,2012100308
+2012100309,060523
+2012100310,060026
+2012100311,061317
+2012100312,2012100312
+2012100313,2007300088
+2012100314,060025
+2012100315,2007300522
+2012100316,060111
+2012100317,2007300078
+2012100318,2007300460
+2012100319,060447
+2012100320,2007300464
+2012100321,2012100321
+2012100322,2007300499
+2012100323,060495
+2012100324,060076
+2012100325,060481
+2012100326,060588
+2012100327,052857
+2012100328,2012100328
+2012100329,2012100329
+2012100330,2007300029
+2012100331,2012100331
+2012100332,2007300585
+2012100333,060584
+2012100334,050428
+2012100335,2012100335
+2012100336,2012100336
+2012100337,2012100337
+2012100338,2012100338
+2012100339,2012100339
+2012100340,2012100340
+2012100341,2012100341
+2012100342,2010201222
+2012100343,2007300785
+2012100344,060775
+2012100345,050565
+2012100346,060686
+2012100347,2008300765
+2012100348,050538
+2012100349,060035
+2012100350,060707
+2012100351,2010200357
+2012100352,2012100352
+2012100353,2011200477
+2012100354,2008300097
+2012100355,2008300143
+2012100356,2008300088
+2012100357,2008300128
+2012100358,2008300042
+2012100359,2008300829
+2012100360,2008300831
+2012100361,2011200450
+2012100362,2011201360
+2012100363,2012100363
+2012100364,060636
+2012100365,2010200344
+2012100366,066030146
+2012100367,2012100367
+2012100368,2007300650
+2012100369,2008300718
+2012100370,2007200272
+2012100371,2008300024
+2012100372,2008300039
+2012100373,2008300004
+2012100374,2008300035
+2012100375,062569
+2012100376,2007300635
+2012100379,2012100379
+2012100380,2012100380
+2012100381,2011200538
+2012100382,2012100382
+2012100383,2012100383
+2012100384,2012100384
+2012100385,2012100385
+2012100386,060846
+2012100387,2012100387
+2012100388,2008300921
+2012100389,2010200511
+2012100390,2008300081
+2012100391,2010202344
+2012100392,2008300084
+2012100393,2007300809
+2012100394,2007300097
+2012100395,060792
+2012100396,2012100396
+2012100397,2011200620
+2012100398,2012100398
+2012100399,2010200561
+2012100400,062875
+2012100401,2012100401
+2012100402,2008300866
+2012100403,2011200548
+2012100404,2011200595
+2012100405,050745
+2012100406,2012100406
+2012100407,2012100407
+2012100408,2010200483
+2012100409,2010200549
+2012100410,2012100410
+2012100411,2011200608
+2012100412,2012100412
+2012100413,2008300064
+2012100414,2012100414
+2012100415,046110694
+2012100416,2008300018
+2012100417,2008301299
+2012100418,2008300896
+2012100419,2011200624
+2012100420,2010200537
+2012100421,2011200634
+2012100422,2009200571
+2012100423,2008300875
+2012100424,2009200595
+2012100425,2012100425
+2012100426,060815
+2012100427,2009200601
+2012100428,2008300942
+2012100429,060928
+2012100430,2011200654
+2012100431,2011200653
+2012100432,2010200613
+2012100433,2011200661
+2012100434,060921
+2012100435,053092
+2012100436,2012100436
+2012100437,060860
+2012100438,2011200689
+2012100439,2011200693
+2012100440,2008300944
+2012100443,2012100443
+2012100444,2012100444
+2012100445,2012100445
+2012100446,2012100446
+2012100447,056056275
+2012100448,2012100448
+2012100449,2012100449
+2012100450,2012100450
+2012100451,2012100451
+2012100452,2011200812
+2012100453,2012100453
+2012100454,061137
+2012100455,2012100455
+2012100456,2010200809
+2012100457,2007300086
+2012100458,060092
+2012100459,2009200839
+2012100460,050946
+2012100461,2008300089
+2012100462,2011200906
+2012100463,2008301199
+2012100464,2007303291
+2012100465,2008301129
+2012100466,061091
+2012100467,2008301163
+2012100468,2008301132
+2012100469,2010200847
+2012100470,2012100470
+2012100471,061195
+2012100472,050948
+2012100473,2010200878
+2012100474,2008301183
+2012100475,2008301167
+2012100476,2012100476
+2012100477,2010200876
+2012100478,2010200877
+2012100479,2008300023
+2012100480,2007301293
+2012100481,061082
+2012100482,2007302502
+2012100483,2007301045
+2012100484,2011202341
+2012100485,061348
+2012100486,061331
+2012100487,2010200961
+2012100488,2008301442
+2012100489,061414
+2012100490,2012100490
+2012100491,061335
+2012100492,051411
+2012100493,061419
+2012100494,2008300193
+2012100496,2012100496
+2012100497,061534
+2012100498,2007301485
+2012100499,2007301492
+2012100500,2010201066
+2012100501,060071
+2012100502,2007301556
+2012100503,061517
+2012100504,061562
+2012100505,2008301575
+2012100506,2008301734
+2012100507,2012100507
+2012100508,2012100508
+2012100509,2008301583
+2012100510,061482
+2012100511,2007301571
+2012100512,2011201202
+2012100513,2007301573
+2012100514,2008301447
+2012100515,2007301604
+2012100516,2010201048
+2012100517,2008301755
+2012100518,2007301554
+2012100519,2012100519
+2012100520,2010201020
+2012100521,2007301480
+2012100522,061516
+2012100523,2007301534
+2012100524,2007301612
+2012100525,2007301710
+2012100526,061800
+2012100527,2012100527
+2012100528,2010201232
+2012100529,2012100529
+2012100530,2012100530
+2012100531,2010201212
+2012100532,051729
+2012100533,2012100533
+2012100534,2012100534
+2012100535,2008302733
+2012100536,061828
+2012100537,2010201199
+2012100538,2010201226
+2012100539,2012100539
+2012100540,2010201227
+2012100541,2007301778
+2012100542,2010201152
+2012100543,2007301909
+2012100544,2007301685
+2012100545,2007201006
+2012100546,2007301892
+2012100547,2007301836
+2012100549,2007302106
+2012100550,2012100550
+2012100551,2008302230
+2012100552,2010201313
+2012100553,2007302126
+2012100554,2010201399
+2012100555,2012100555
+2012100556,050530
+2012100557,062165
+2012100558,2010201525
+2012100559,2011201236
+2012100560,063376
+2012100561,2012100561
+2012100562,2008300135
+2012100563,2007300087
+2012100564,2010201755
+2012100565,2012100565
+2012100566,060677
+2012100567,2012100567
+2012100568,2010201464
+2012100569,2010201301
+2012100570,2010201476
+2012100571,2007300025
+2012100572,050191
+2012100573,2010201487
+2012100574,2010201511
+2012100575,2012100575
+2012100576,2010100283
+2012100577,2012100577
+2012100578,2012100578
+2012100579,2008100124
+2012100580,2012100580
+2012100584,2011201779
+2012100585,2008302469
+2012100586,2012100586
+2012100587,2007303144
+2012100588,2010201560
+2012100589,062381
+2012100590,2012100590
+2012100591,2010201591
+2012100592,2012100592
+2012100593,062362
+2012100594,2008302476
+2012100595,2007303343
+2012100596,2008302569
+2012100597,2008302584
+2012100598,060078
+2012100599,2007302353
+2012100600,2007303293
+2012100601,2008302658
+2012100602,2012100602
+2012100603,2012100603
+2012100604,062554
+2012100605,2012100605
+2012100606,2008302659
+2012100607,2010201763
+2012100608,2012100608
+2012100609,2010201762
+2012100610,2010201779
+2012100611,062792
+2012100612,062788
+2012100613,2008302951
+2012100614,052886
+2012100615,2012100615
+2012100616,2010201772
+2012100617,2010201775
+2012100618,2008302796
+2012100619,052851
+2012100620,2008302782
+2012100621,2010201843
+2012100622,2007302734
+2012100623,2012100623
+2012100624,2008302865
+2012100625,2010201883
+2012100626,062939
+2012100627,2010201941
+2012100628,062928
+2012100629,2012100629
+2012100630,063010
+2012100631,2012100631
+2012100632,2009201934
+2012100633,062932
+2012100634,2012100634
+2012100635,2012100635
+2012100636,2010202335
+2012100637,2007300042
+2012140001,2012140001
+2012140002,2012140002
+2012140003,2012140003
+2012140004,2012140004
+2012140005,2012140005
+2012150001,2012150001
+2012150002,2007200139
+2012150003,2012150003
+2012150004,2012150004
+2012150005,2012150005
+2012150006,2012150006
+2012150007,2012150007
+2012150008,2012150008
+2012150009,046096581
+2012150010,2012150010
+2012150011,2012150011
+2012150012,2012150012
+2012150013,2012150013
+2012150014,2012150014
+2012150015,2012150015
+2012150016,2012150016
+2012150017,2012150017
+2012160240,2012160240
+2012160377,2012160377
+2012160378,2012160378
+2012160441,2012160441
+2012160442,2012160442
+2012160495,2012160495
+2012160548,2012160548
+2012160581,2012160581
+2012160582,2012160582
+2012160583,2012160583
+2012200001,2008302445
+2012200002,2008300380
+2012200003,2007300402
+2012200004,2012200004
+2012200005,2008300218
+2012200006,060241
+2012200007,2012200007
+2012200008,2008300374
+2012200009,2008300198
+2012200010,2008300197
+2012200011,2008300192
+2012200012,2008300371
+2012200013,2008300917
+2012200014,2008300076
+2012200015,2008300422
+2012200016,2008300058
+2012200017,2008300148
+2012200018,2008300027
+2012200019,2008300415
+2012200020,2008300411
+2012200021,2012200021
+2012200022,2008300291
+2012200023,2008300225
+2012200024,2012200024
+2012200025,2008300322
+2012200026,2008300363
+2012200027,2008300191
+2012200028,2008300323
+2012200029,2008300183
+2012200030,2008300100
+2012200031,2008300173
+2012200032,2008302661
+2012200033,2008300383
+2012200034,2008300181
+2012200035,2008300310
+2012200036,2008301344
+2012200037,2008300408
+2012200038,2008300418
+2012200039,2008300410
+2012200040,2008300014
+2012200041,2008300265
+2012200042,2008300226
+2012200043,2008300279
+2012200044,060332
+2012200045,2008300276
+2012200046,2008300361
+2012200047,2012200047
+2012200048,2008300263
+2012200049,2008302443
+2012200050,2012200050
+2012200051,2008300360
+2012200052,2008300172
+2012200053,2008300280
+2012200054,2008300387
+2012200055,2012200055
+2012200056,2008301994
+2012200057,2008300007
+2012200058,2007300291
+2012200059,060140
+2012200060,2008300080
+2012200061,2008300372
+2012200062,2008302583
+2012200063,2008300289
+2012200064,2008300232
+2012200065,2008300214
+2012200066,2020100004
+2012200067,2008300217
+2012200068,2008300328
+2012200069,2008300243
+2012200070,2008302436
+2012200071,2008300167
+2012200072,2008300301
+2012200073,2008300054
+2012200074,2008300219
+2012200075,2008300224
+2012200076,2008300233
+2012200077,2008300287
+2012200078,2012200078
+2012200079,2007301005
+2012200080,2012200080
+2012200081,2012200081
+2012200082,2008300902
+2012200083,2008300904
+2012200084,2012200084
+2012200085,2012200085
+2012200086,2012200086
+2012200087,2008300423
+2012200088,2008300428
+2012200089,2008300433
+2012200090,2008300340
+2012200091,060343
+2012200092,2008300355
+2012200093,2008302222
+2012200094,2008300420
+2012200095,2008300286
+2012200096,2008300425
+2012200097,2012200097
+2012200098,2008300436
+2012200099,2008300441
+2012200100,2012200100
+2012200101,2008300203
+2012200102,060298
+2012200103,2008300319
+2012200104,2008300083
+2012200105,2008300177
+2012200106,2008300144
+2012200107,2008300133
+2012200108,2008300179
+2012200109,2008300154
+2012200110,2008300210
+2012200111,2008300311
+2012200112,2008300141
+2012200113,2008300146
+2012200114,2008301190
+2012200115,2012200115
+2012200116,2012200116
+2012200117,2012200117
+2012200118,2008300302
+2012200119,2008300245
+2012200120,2008300327
+2012200121,2008300189
+2012200122,2012200122
+2012200123,2012200123
+2012200124,2012200124
+2012200125,2008300449
+2012200126,2012200126
+2012200127,2008300241
+2012200128,2008300251
+2012200129,2008300151
+2012200130,2008302428
+2012200131,2008300205
+2012200132,2008302710
+2012200133,2012200133
+2012200134,2012200134
+2012200135,2008300001
+2012200136,2008300051
+2012200137,2008300011
+2012200138,2008300127
+2012200139,2008300176
+2012200140,2008300053
+2012200141,2008300220
+2012200142,2008300044
+2012200143,2012200143
+2012200144,2012200144
+2012200145,2008300398
+2012200146,2012200146
+2012200147,2012200147
+2012200148,2008300264
+2012200149,2008301879
+2012200150,2008300269
+2012200151,2012200151
+2012200152,2012200152
+2012200153,2008300156
+2012200154,2012200154
+2012200155,2008300662
+2012200156,2008301232
+2012200157,2008300070
+2012200158,2008300295
+2012200159,2008300307
+2012200160,2008300075
+2012200161,2008300099
+2012200162,2008300227
+2012200163,2008300281
+2012200164,2008300365
+2012200165,2008300373
+2012200166,2012200166
+2012200167,060345
+2012200168,2008300188
+2012200169,2008300184
+2012200170,2008300364
+2012200171,2008300253
+2012200172,2012200172
+2012200173,040285
+2012200174,2008300017
+2012200175,2008300010
+2012200176,2008300202
+2012200177,2008300101
+2012200178,2008300290
+2012200179,2012200179
+2012200180,2012200180
+2012200221,2008300642
+2012200222,060569
+2012200223,2007300551
+2012200224,2008300561
+2012200225,2008302773
+2012200226,2012200226
+2012200227,2008300572
+2012200228,2008300108
+2012200229,2008300098
+2012200230,2012200230
+2012200231,2008300571
+2012200232,2008300134
+2012200233,2007300471
+2012200234,2008300568
+2012200235,2012200235
+2012200236,2008300584
+2012200237,2008300554
+2012200238,2008300542
+2012200239,2008300036
+2012200240,2008300032
+2012200241,2012200241
+2012200242,2012200242
+2012200243,2008300700
+2012200244,2008300549
+2012200245,2008300560
+2012200246,2007300555
+2012200247,062018
+2012200248,2008300588
+2012200249,2008300577
+2012200250,2008300107
+2012200251,2008300002
+2012200252,2012200252
+2012200253,2008300582
+2012200254,2008300586
+2012200255,2012200255
+2012200256,2012200256
+2012200257,2012200257
+2012200258,2008300545
+2012200259,2008300504
+2012200260,2012200260
+2012200261,2020100464
+2012200262,2008300085
+2012200263,2008300557
+2012200264,2008300003
+2012200265,2008300069
+2012200266,2012200266
+2012200267,2008300502
+2012200268,2008302170
+2012200269,2008300471
+2012200270,2008300278
+2012200271,2012200271
+2012200272,2008300117
+2012200273,2008300450
+2012200274,2012200274
+2012200275,2008300514
+2012200276,2008300506
+2012200277,2012200277
+2012200278,2008300519
+2012200279,2008300529
+2012200280,2008300122
+2012200281,2008300494
+2012200282,2008300532
+2012200283,2008300498
+2012200284,2008300527
+2012200285,2008300501
+2012200286,2008300510
+2012200287,2008300516
+2012200288,2008300513
+2012200289,2008300485
+2012200290,2012200290
+2012200291,2008300140
+2012200292,2008300538
+2012200293,2008300515
+2012200294,2008300448
+2012200295,2008300455
+2012200296,2008303525
+2012200297,2012200297
+2012200298,2008300468
+2012200299,2008300459
+2012200300,2008300452
+2012200301,2008300487
+2012200302,2007300506
+2012200303,2008300447
+2012200304,2012200304
+2012200305,2012200305
+2012200306,2008300049
+2012200307,2008302735
+2012200308,2008300050
+2012200309,2008300037
+2012200310,2008300530
+2012200311,2008300509
+2012200312,2008300539
+2012200313,2008300496
+2012200314,2008300638
+2012200315,2008300102
+2012200316,2008300629
+2012200317,2008300643
+2012200318,2008300626
+2012200319,2008302840
+2012200320,2012200320
+2012200321,2008300609
+2012200322,2008300624
+2012200323,2008300617
+2012200324,2008300602
+2012200325,2012200325
+2012200326,2008300619
+2012200327,2008302608
+2012200328,2008300630
+2012200329,2012200329
+2012200330,2008300601
+2012200331,2008300009
+2012200332,2008300608
+2012200333,2012200333
+2012200334,2012200334
+2012200335,2008300555
+2012200336,2012200336
+2012200363,2008300861
+2012200364,2008300008
+2012200365,2008300847
+2012200366,2008300843
+2012200367,2008300864
+2012200368,2008302711
+2012200369,2008300664
+2012200370,2012200370
+2012200371,2008300771
+2012200372,2008300646
+2012200373,2008300658
+2012200374,2008300652
+2012200375,060612
+2012200376,2012200376
+2012200377,2012200377
+2012200378,2008300796
+2012200379,2008300790
+2012200380,2008300772
+2012200381,2012200381
+2012200382,2012200382
+2012200383,2008300816
+2012200384,2008300808
+2012200385,2008300802
+2012200386,2008300754
+2012200387,2008300786
+2012200388,060690
+2012200389,2008301898
+2012200390,2008301945
+2012200391,2008300755
+2012200392,2008300809
+2012200393,060691
+2012200394,2008300776
+2012200395,2008300794
+2012200396,2008300835
+2012200397,2008300806
+2012200398,2012200398
+2012200399,2008300805
+2012200400,2008300795
+2012200401,2012200401
+2012200402,2012200402
+2012200403,2008300745
+2012200404,2012200404
+2012200405,2012200405
+2012200406,2012200406
+2012200407,2008300734
+2012200408,2012200408
+2012200409,2012200409
+2012200410,2012200410
+2012200411,2008300737
+2012200412,060676
+2012200413,060604
+2012200414,063304
+2012200415,060661
+2012200416,2008300807
+2012200417,2012200417
+2012200418,2008300716
+2012200419,2012200419
+2012200420,2012200420
+2012200421,2012200421
+2012200422,2012200422
+2012200423,2012200423
+2012200424,2008300820
+2012200425,2012200425
+2012200426,2007300734
+2012200427,2008300828
+2012200428,2012200428
+2012200429,2008300830
+2012200430,2008300836
+2012200431,2008300766
+2012200432,2008300799
+2012200433,2012200433
+2012200434,2008300732
+2012200435,2012200435
+2012200436,2008300742
+2012200437,2012200437
+2012200438,2012200438
+2012200439,2008300678
+2012200440,2008300675
+2012200441,2008300692
+2012200442,2012200442
+2012200443,2012200443
+2012200444,2012200444
+2012200445,2008300660
+2012200446,2008303387
+2012200447,2012200447
+2012200448,2008300710
+2012200449,2008300782
+2012200450,2008300061
+2012200451,2008300693
+2012200452,2012200452
+2012200453,2008300725
+2012200454,2012200454
+2012200455,2008300736
+2012200456,2008302106
+2012200457,2012200457
+2012200458,2012200458
+2012200459,2008300687
+2012200460,2012200460
+2012200461,2008300681
+2012200462,2008300863
+2012200463,2007302603
+2012200464,2012200464
+2012200465,2008300844
+2012200466,2008300858
+2012200467,2008300853
+2012200498,2012200498
+2012200499,2008300013
+2012200500,2012200500
+2012200501,2012200501
+2012200502,2012200502
+2012200503,2012200503
+2012200504,2008300991
+2012200505,2008301076
+2012200506,2012200506
+2012200507,2012200507
+2012200508,2012200508
+2012200509,2012200509
+2012200510,2012200510
+2012200511,2012200511
+2012200512,2012200512
+2012200513,2012200513
+2012200514,2012200514
+2012200515,2012200515
+2012200516,2012200516
+2012200517,2012200517
+2012200518,2012200518
+2012200519,2012200519
+2012200520,2012200520
+2012200521,2012200521
+2012200522,2008300901
+2012200523,2008300886
+2012200524,2012200524
+2012200525,2008301065
+2012200526,2012200526
+2012200527,2012200527
+2012200528,2008301055
+2012200529,2012200529
+2012200530,2012200530
+2012200531,2012200531
+2012200532,2008300890
+2012200533,2012200533
+2012200534,2012200534
+2012200535,2012200535
+2012200536,2012200536
+2012200537,2008300911
+2012200538,2008300905
+2012200539,2012200539
+2012200540,2012200540
+2012200541,2012200541
+2012200542,2012200542
+2012200543,2012200543
+2012200544,2012200544
+2012200545,2012200545
+2012200546,2008300885
+2012200547,2012200547
+2012200548,2012200548
+2012200549,2012200549
+2012200550,2012200550
+2012200551,2007300994
+2012200552,2012200552
+2012200553,2008300920
+2012200554,2008300872
+2012200555,2012200555
+2012200556,2008301068
+2012200557,2008300891
+2012200558,2012200558
+2012200559,2008301064
+2012200560,2008301429
+2012200561,2012200561
+2012200562,2012200562
+2012200563,2007300844
+2012200564,060788
+2012200565,2012200565
+2012200566,2008300922
+2012200567,2012200567
+2012200568,2008301058
+2012200569,2012200569
+2012200570,2012200570
+2012200571,2012200571
+2012200572,2012200572
+2012200573,2012200573
+2012200574,2012200574
+2012200575,2012200575
+2012200576,2012200576
+2012200577,2012200577
+2012200578,2012200578
+2012200579,2012200579
+2012200580,2012200580
+2012200581,2012200581
+2012200582,2012200582
+2012200583,2012200583
+2012200584,2012200584
+2012200585,2012200585
+2012200586,2012200586
+2012200587,2012200587
+2012200588,2012200588
+2012200589,2012200589
+2012200590,2012200590
+2012200591,2012200591
+2012200592,2012200592
+2012200593,2012200593
+2012200594,2012200594
+2012200595,2012200595
+2012200596,2012200596
+2012200597,2012200597
+2012200598,2012200598
+2012200599,2008300943
+2012200600,2008301047
+2012200601,2008300995
+2012200602,2008301024
+2012200603,2002000029
+2012200604,2012200604
+2012200605,2012200605
+2012200606,2012200606
+2012200607,2008300972
+2012200608,2012200608
+2012200609,2012200609
+2012200610,2008300946
+2012200611,2012200611
+2012200612,2012200612
+2012200613,2012200613
+2012200614,2012200614
+2012200615,2012200615
+2012200616,2012200616
+2012200617,2012200617
+2012200618,2012200618
+2012200619,2012200619
+2012200620,2008301025
+2012200621,2012200621
+2012200622,2012200622
+2012200623,2012200623
+2012200624,2012200624
+2012200625,2012200625
+2012200626,2012200626
+2012200627,2012200627
+2012200628,2012200628
+2012200629,2007302649
+2012200630,2012200630
+2012200631,2012200631
+2012200632,2008300022
+2012200633,2012200633
+2012200634,2012200634
+2012200635,2012200635
+2012200636,2012200636
+2012200637,2012200637
+2012200638,2012200638
+2012200639,2012200639
+2012200640,2008300964
+2012200641,2012200641
+2012200642,2012200642
+2012200643,2012200643
+2012200644,2008300401
+2012200645,2012200645
+2012200646,2012200646
+2012200647,2008300973
+2012200648,2012200648
+2012200649,2012200649
+2012200650,2012200650
+2012200651,2012200651
+2012200713,2007301010
+2012200714,2007301036
+2012200715,2012200715
+2012200716,2012200716
+2012200717,2012200717
+2012200718,2012200718
+2012200719,2012200719
+2012200720,2012200720
+2012200721,2012200721
+2012200722,2012200722
+2012200723,2012200723
+2012200724,2012200724
+2012200725,2012200725
+2012200726,2012200726
+2012200727,2012200727
+2012200728,2012200728
+2012200729,2012200729
+2012200730,2012200730
+2012200731,2011240023
+2012200732,2012200732
+2012200733,2012200733
+2012200734,2012200734
+2012200735,2008301364
+2012200736,2008300052
+2012200737,2008301312
+2012200738,2008301272
+2012200739,2008301216
+2012200740,2012200740
+2012200741,2012200741
+2012200742,061161
+2012200743,2012200743
+2012200744,2008301318
+2012200745,2008301240
+2012200746,2012200746
+2012200747,2012200747
+2012200748,2012200748
+2012200749,2012200749
+2012200750,2008301382
+2012200751,2012200751
+2012200752,2012200752
+2012200753,2008301241
+2012200754,2012200754
+2012200755,2008301406
+2012200756,2012200756
+2012200757,2008301275
+2012200758,2012200758
+2012200759,2008301311
+2012200760,2012200760
+2012200761,2012200761
+2012200762,2008301253
+2012200763,2012200763
+2012200764,2012200764
+2012200765,2012200765
+2012200766,2012200766
+2012200767,2012200767
+2012200768,2012200768
+2012200769,2012200769
+2012200770,2012200770
+2012200771,2012200771
+2012200772,2012200772
+2012200773,061131
+2012200774,2012200774
+2012200775,2008301304
+2012200776,2012200776
+2012200777,2008301376
+2012200778,2012200778
+2012200779,2012200779
+2012200780,2012200780
+2012200781,2012200781
+2012200782,2008301363
+2012200783,2008301286
+2012200784,2012200784
+2012200785,2008301378
+2012200786,2012200786
+2012200787,061159
+2012200788,2012200788
+2012200789,2012200789
+2012200790,2008301346
+2012200791,2008301379
+2012200792,2012200792
+2012200793,2012200793
+2012200794,2012200794
+2012200795,2012200795
+2012200796,061262
+2012200797,2008300552
+2012200798,2008301349
+2012200799,2012200799
+2012200800,2012200800
+2012200801,2012200801
+2012200802,2012200802
+2012200803,2012200803
+2012200804,2007301130
+2012200805,2007303365
+2012200806,2008301315
+2012200807,2012200807
+2012200808,2012200808
+2012200809,2012200809
+2012200810,2012200810
+2012200811,2012200811
+2012200812,2008301387
+2012200813,2008301386
+2012200814,2012200814
+2012200815,2012200815
+2012200816,2012200816
+2012200817,2007301202
+2012200818,2012200818
+2012200819,2012200819
+2012200820,2012200820
+2012200821,2012200821
+2012200822,2012200822
+2012200823,2012200823
+2012200824,2012200824
+2012200825,2012200825
+2012200826,2008301124
+2012200827,2012200827
+2012200828,2012200828
+2012200829,2012200829
+2012200830,2012200830
+2012200831,2012200831
+2012200832,2012200832
+2012200833,2012200833
+2012200834,2012200834
+2012200835,2012200835
+2012200836,2012200836
+2012200837,2012200837
+2012200838,2012200838
+2012200839,2012200839
+2012200840,2012200840
+2012200841,2012200841
+2012200842,2012200842
+2012200843,2008301335
+2012200844,2012200844
+2012200845,2012200845
+2012200846,2012200846
+2012200847,2012200847
+2012200848,2012200848
+2012200849,2012200849
+2012200850,2008301116
+2012200851,2008301119
+2012200852,2012200852
+2012200853,2012200853
+2012200854,2012200854
+2012200855,2012200855
+2012200856,2012200856
+2012200857,2012200857
+2012200858,2008301396
+2012200859,2008301321
+2012200860,2012200860
+2012200861,2012200861
+2012200862,2012200862
+2012200863,2012200863
+2012200864,2012200864
+2012200865,2012200865
+2012200866,2008301170
+2012200867,2012200867
+2012200868,2012200868
+2012200869,2008301123
+2012200870,2012200870
+2012200871,2012200871
+2012200872,2008301164
+2012200873,2008301356
+2012200874,2012200874
+2012200875,2012200875
+2012200876,2012200876
+2012200877,2008301205
+2012200878,2012200878
+2012200879,061030
+2012200880,2008301143
+2012200881,2012200881
+2012200882,2012200882
+2012200883,2012200883
+2012200884,2012200884
+2012200885,2008301139
+2012200886,2008300142
+2012200887,2008300086
+2012200888,2008301197
+2012200889,2012200889
+2012200890,2012200890
+2012200891,2012200891
+2012200892,2012200892
+2012200893,2008301251
+2012200894,2008300063
+2012200895,2008300152
+2012200896,2012200896
+2012200897,2008301174
+2012200898,2008301185
+2012200899,2012200899
+2012200965,2012200965
+2012200966,2012200966
+2012200967,2012200967
+2012200968,2012200968
+2012200969,2012200969
+2012200970,2012200970
+2012200971,2012200971
+2012200972,2012200972
+2012200973,2012200973
+2012200974,2008301085
+2012200975,2008301095
+2012200976,2008301100
+2012200980,2008301516
+2012200981,2012200981
+2012200982,2012200982
+2012200983,2012200983
+2012200984,2008301436
+2012200985,2008301424
+2012200986,050881
+2012200987,2008301443
+2012200988,2008301525
+2012200989,2012200989
+2012200990,2008301434
+2012200991,2008301446
+2012200992,2008301431
+2012200993,2012200993
+2012200994,2008301440
+2012200995,2012200995
+2012200996,2012200996
+2012200997,2008301439
+2012200998,2008301426
+2012200999,2012200999
+2012201000,2008301427
+2012201001,2012201001
+2012201002,2008301452
+2012201003,2012201003
+2012201004,2012201004
+2012201005,2008301438
+2012201006,2012201006
+2012201007,061330
+2012201008,2012201008
+2012201009,2008301448
+2012201010,2012201010
+2012201011,2012201011
+2012201012,051313
+2012201013,2012201013
+2012201014,2012201014
+2012201015,2007301428
+2012201016,2008301495
+2012201017,2008301487
+2012201018,2008301499
+2012201019,2008301478
+2012201020,2012201020
+2012201021,2008301489
+2012201022,061369
+2012201023,2008301450
+2012201024,2012201024
+2012201041,2008301693
+2012201042,2007301595
+2012201043,2012201043
+2012201044,2012201044
+2012201045,2008301722
+2012201046,051502
+2012201047,2008301719
+2012201048,2008301679
+2012201049,2012201049
+2012201050,2008301691
+2012201051,2008301724
+2012201052,061635
+2012201053,2008301720
+2012201054,2012201054
+2012201055,061626
+2012201056,2012201056
+2012201057,2012201057
+2012201058,2008301586
+2012201059,2012201059
+2012201060,061612
+2012201061,2008301686
+2012201062,2008301721
+2012201063,2012201063
+2012201064,2008300096
+2012201065,2012201065
+2012201066,2007301642
+2012201067,2008301643
+2012201068,2012201068
+2012201069,2012201069
+2012201070,2008301611
+2012201071,2008301566
+2012201072,2008301653
+2012201073,2008301683
+2012201074,2012201074
+2012201075,2012201075
+2012201076,2008301612
+2012201077,2008301598
+2012201078,2008302987
+2012201079,2008301574
+2012201080,2008301656
+2012201081,2012201081
+2012201082,2008301620
+2012201083,061489
+2012201084,2012201084
+2012201085,2012201085
+2012201086,2012201086
+2012201087,2008301737
+2012201088,2008301752
+2012201089,2008301738
+2012201090,2008301744
+2012201091,2012201091
+2012201092,2012201092
+2012201093,2008301647
+2012201094,2008301631
+2012201095,2012201095
+2012201096,2012201096
+2012201097,2008301662
+2012201098,2008302527
+2012201099,2008301751
+2012201100,2008300105
+2012201101,2008300113
+2012201102,061625
+2012201103,2012201103
+2012201104,2008301750
+2012201105,2008301747
+2012201106,2008300006
+2012201107,051482
+2012201108,2008300147
+2012201109,2008301590
+2012201110,2012201110
+2012201111,051548
+2012201112,2008300132
+2012201113,2008300277
+2012201114,2008300072
+2012201115,2008300129
+2012201116,2008300034
+2012201117,2008301650
+2012201118,051574
+2012201119,2008301563
+2012201120,2008301666
+2012201121,2008301606
+2012201122,2008301608
+2012201123,2012201123
+2012201124,2012201124
+2012201125,2008301599
+2012201126,2008301582
+2012201127,2008301637
+2012201128,2012201128
+2012201129,2008301603
+2012201130,2008301644
+2012201131,2008300090
+2012201132,2008300078
+2012201133,2012201133
+2012201134,2008301641
+2012201135,2012201135
+2012201136,2008301614
+2012201137,2008301562
+2012201138,2012201138
+2012201139,2008301642
+2012201184,2012201184
+2012201185,2012201185
+2012201186,2012201186
+2012201187,2012201187
+2012201188,2008302059
+2012201189,2007301939
+2012201190,2012201190
+2012201191,2012201191
+2012201192,2012201192
+2012201193,2012201193
+2012201194,2012201194
+2012201195,2012201195
+2012201196,2012201196
+2012201197,2012201197
+2012201198,2012201198
+2012201199,2008301876
+2012201200,2008301868
+2012201201,061701
+2012201202,2008301866
+2012201203,2012201203
+2012201204,2012201204
+2012201205,2012201205
+2012201206,061677
+2012201207,2012201207
+2012201208,2011240008
+2012201209,061688
+2012201210,2012201210
+2012201211,2012201211
+2012201212,2012201212
+2012201213,2012201213
+2012201214,2012201214
+2012201215,2012201215
+2012201216,2012201216
+2012201217,2011240010
+2012201218,2012201218
+2012201219,2008301803
+2012201220,2008301890
+2012201221,2008301815
+2012201222,2008300118
+2012201223,2008301940
+2012201224,061755
+2012201225,2008301848
+2012201226,2008301942
+2012201227,2012201227
+2012201228,2012201228
+2012201229,2012201229
+2012201230,2008301871
+2012201231,2008301906
+2012201232,2008301825
+2012201233,2008301919
+2012201234,2008301937
+2012201235,2008303591
+2012201236,2008301886
+2012201237,2008301865
+2012201238,2008301821
+2012201239,2012201239
+2012201240,2008302047
+2012201241,2008302074
+2012201242,2008302007
+2012201243,2012201243
+2012201244,2012201244
+2012201245,2008302031
+2012201246,2011240014
+2012201247,2012201247
+2012201248,2008300092
+2012201249,2008302063
+2012201250,2008302057
+2012201251,2012201251
+2012201252,2012201252
+2012201253,2008302002
+2012201254,2008302072
+2012201255,2012201255
+2012201256,2011240025
+2012201257,2012201257
+2012201258,2012201258
+2012201259,2008302073
+2012201260,2012201260
+2012201261,2008302079
+2012201262,2012201262
+2012201263,2008302060
+2012201264,2008301766
+2012201265,2008302017
+2012201266,2012201266
+2012201267,2008302014
+2012201268,2008301861
+2012201269,2012201269
+2012201270,2008301896
+2012201271,2012201271
+2012201272,2008302016
+2012201273,2008302023
+2012201274,2012201274
+2012201275,2012201275
+2012201276,2008302045
+2012201277,2008300120
+2012201278,2012201278
+2012201279,2008302029
+2012201280,2011240016
+2012201281,2012201281
+2012201282,2012201282
+2012201283,2008302004
+2012201284,061931
+2012201285,2008302042
+2012201286,2012201286
+2012201287,2012201287
+2012201288,2008302055
+2012201289,2012201289
+2012201290,2012201290
+2012201291,2008300138
+2012201292,2008301946
+2012201293,2008301877
+2012201294,2012201294
+2012201295,2008300074
+2012201296,2008302083
+2012201297,2008301939
+2012201298,2012201298
+2012201299,2012201299
+2012201300,061774
+2012201301,052963
+2012201302,2008301912
+2012201303,2008301938
+2012201304,2012201304
+2012201305,2012201305
+2012201306,2012201306
+2012201307,2008301904
+2012201308,2012201308
+2012201309,2008301775
+2012201310,2012201310
+2012201311,2012201311
+2012201312,2012201312
+2012201313,2008302064
+2012201314,2012201314
+2012201315,2008301924
+2012201316,2012201316
+2012201317,2012201317
+2012201318,2008301844
+2012201319,2008301762
+2012201320,2012201320
+2012201321,2012201321
+2012201322,2012201322
+2012201323,2012201323
+2012201324,2012201324
+2012201325,2008301943
+2012201326,2008301812
+2012201327,2008301907
+2012201328,2012201328
+2012201329,2008301921
+2012201330,061949
+2012201331,2012201331
+2012201332,2012201332
+2012201333,2012201333
+2012201334,2012201334
+2012201335,2012201335
+2012201336,2012201336
+2012201337,2012201337
+2012201338,2012201338
+2012201339,2008301966
+2012201340,2008301995
+2012201341,2008301975
+2012201342,2008300082
+2012201343,2008300062
+2012201344,2008301984
+2012201345,2008301989
+2012201346,2008301963
+2012201347,2012201347
+2012201348,2012201348
+2012201349,2007301853
+2012201350,2008301968
+2012201351,2008301947
+2012201352,2008302000
+2012201353,2008301978
+2012201354,2008301955
+2012201355,2007301828
+2012201356,2008301949
+2012201357,2012201357
+2012201358,2008301969
+2012201359,2008301957
+2012201360,2008301964
+2012201361,061899
+2012201362,2008301973
+2012201363,2008301787
+2012201364,061308
+2012201365,2008301918
+2012201401,2008302401
+2012201402,062178
+2012201403,2012201403
+2012201404,2012201404
+2012201405,2012201405
+2012201406,2008302132
+2012201407,2008302386
+2012201408,2008302388
+2012201409,2012201409
+2012201410,062273
+2012201411,2008201188
+2012201412,2008302088
+2012201413,2012201413
+2012201414,2012201414
+2012201415,2008302410
+2012201416,2012201416
+2012201417,2012201417
+2012201418,2012201418
+2012201419,2008302233
+2012201420,2008302208
+2012201421,2012201421
+2012201422,2008302265
+2012201423,2008302266
+2012201424,2008300359
+2012201425,2012201425
+2012201426,2008302237
+2012201427,2012201427
+2012201428,2008302291
+2012201429,2008302213
+2012201430,2012201430
+2012201431,2008302269
+2012201432,2007302082
+2012201433,2008302225
+2012201434,2012201434
+2012201435,2008302211
+2012201436,2008302224
+2012201437,2012201437
+2012201438,2012201438
+2012201439,2007302047
+2012201440,2008302214
+2012201441,2008302247
+2012201442,2012201442
+2012201443,2012201443
+2012201444,2012201444
+2012201445,2008302241
+2012201446,2008302273
+2012201447,2008302219
+2012201448,2008302263
+2012201449,2008302236
+2012201450,2008302204
+2012201451,2012201451
+2012201452,2012201452
+2012201453,2012201453
+2012201454,2008302198
+2012201455,2012201455
+2012201456,2008302239
+2012201457,2012201457
+2012201458,2008302231
+2012201459,2008302235
+2012201460,2008302251
+2012201461,2008302218
+2012201462,2008302200
+2012201463,2008302209
+2012201464,2008302271
+2012201465,2012201465
+2012201466,2012201466
+2012201467,2012201467
+2012201468,2012201468
+2012201469,2008302094
+2012201470,2008302280
+2012201471,2008302184
+2012201472,2008302113
+2012201473,2012201473
+2012201474,2008302100
+2012201475,2008302110
+2012201476,2008302101
+2012201477,2012201477
+2012201478,2012201478
+2012201479,2008302353
+2012201480,2008302279
+2012201481,2008302301
+2012201482,2008302376
+2012201483,2008302347
+2012201484,2012201484
+2012201485,2008302149
+2012201486,2012201486
+2012201487,2012201487
+2012201488,2012201488
+2012201489,2008302295
+2012201490,2008300123
+2012201491,2012201491
+2012201492,2012201492
+2012201493,2008302126
+2012201494,2012201494
+2012201495,2012201495
+2012201496,060164
+2012201497,2012201497
+2012201498,2012201498
+2012201499,2007302011
+2012201500,062248
+2012201501,062006
+2012201502,2008302167
+2012201503,2008302123
+2012201504,2011240007
+2012201505,2008302120
+2012201506,2008302350
+2012201507,2008302304
+2012201508,2012201508
+2012201509,2008302139
+2012201510,2012201510
+2012201511,2012201511
+2012201512,2007301996
+2012201513,2012201513
+2012201514,2012201514
+2012201515,2012201515
+2012201516,2008300065
+2012201517,2008300125
+2012201518,2008301891
+2012201519,2008300116
+2012201520,2007302175
+2012201521,2012201521
+2012201522,2008302321
+2012201523,2012201523
+2012201524,2012201524
+2012201525,2012201525
+2012201526,2012201526
+2012201527,061300
+2012201528,2012201528
+2012201529,2012201529
+2012201530,2012201530
+2012201531,2012201531
+2012201532,2012201532
+2012201533,2012201533
+2012201534,2012201534
+2012201535,2012201535
+2012201536,062300
+2012201537,2012201537
+2012201538,2012201538
+2012201539,2012201539
+2012201540,2012201540
+2012201541,2012201541
+2012201542,2012201542
+2012201543,2012201543
+2012201544,2012201544
+2012201545,2012201545
+2012201546,2012201546
+2012201547,2012201547
+2012201548,2012201548
+2012201549,2012201549
+2012201550,2012201550
+2012201551,2012201551
+2012201552,2012201552
+2012201553,2012201553
+2012201554,2012201554
+2012201555,2008302700
+2012201556,2012201556
+2012201557,2012201557
+2012201558,2008302367
+2012201559,2008302298
+2012201560,2008302292
+2012201561,2008300071
+2012201562,2008302385
+2012201563,2012201563
+2012201564,2012201564
+2012201565,2012201565
+2012201566,2008302112
+2012201567,2012201567
+2012201568,2012201568
+2012201569,2012201569
+2012201570,2012201570
+2012201571,2012201571
+2012201572,2012201572
+2012201573,2012201573
+2012201574,2008302396
+2012201575,2012201575
+2012201576,2012201576
+2012201577,2012201577
+2012201578,2012201578
+2012201579,2012201579
+2012201580,2012201580
+2012201581,041937
+2012201582,2012201582
+2012201583,2012201583
+2012201584,2012201584
+2012201585,2008302381
+2012201586,2008302137
+2012201587,2012201587
+2012201588,2012201588
+2012201589,2008302136
+2012201590,2008302343
+2012201591,2012201591
+2012201592,061995
+2012201593,2012201593
+2012201594,2008302161
+2012201595,2011240009
+2012201596,2008302330
+2012201597,2008302412
+2012201598,2012201598
+2012201599,2011240018
+2012201600,2008304008
+2012201601,2012201601
+2012201602,2012201602
+2012201603,2008302166
+2012201604,2008302162
+2012201605,2012201605
+2012201606,2008300358
+2012201607,2008302689
+2012201608,2012201608
+2012201656,2012201656
+2012201657,2008303470
+2012201658,2008303430
+2012201659,2008303586
+2012201660,2012201660
+2012201661,2012201661
+2012201662,2008302530
+2012201663,2008303589
+2012201664,2008302447
+2012201665,2012201665
+2012201666,2012201666
+2012201667,2008302648
+2012201668,2012201668
+2012201669,2008303364
+2012201670,2008303571
+2012201671,2008303535
+2012201672,2008303566
+2012201673,2012201673
+2012201674,2008303563
+2012201675,2008303520
+2012201676,2008303346
+2012201677,2012201677
+2012201678,2012201678
+2012201679,2008302622
+2012201680,2012201680
+2012201681,2012201681
+2012201682,2012201682
+2012201683,2012201683
+2012201684,2012201684
+2012201685,2012201685
+2012201686,2008302566
+2012201687,2008302559
+2012201688,2008302615
+2012201689,2012201689
+2012201690,2008302646
+2012201691,2012201691
+2012201692,2012201692
+2012201693,2007302400
+2012201694,2012201694
+2012201695,2011240024
+2012201696,2012201696
+2012201697,2008302537
+2012201698,2012201698
+2012201699,2012201699
+2012201700,2012201700
+2012201701,2008301441
+2012201702,2012201702
+2012201703,2012201703
+2012201704,2008302620
+2012201705,2012201705
+2012201706,2008302464
+2012201707,063263
+2012201708,2008302454
+2012201709,2012201709
+2012201710,2008302427
+2012201711,2008303329
+2012201712,2008303344
+2012201713,2012201713
+2012201714,062373
+2012201715,2012201715
+2012201716,2012201716
+2012201717,2012201717
+2012201718,2012201718
+2012201719,2012201719
+2012201720,2008302514
+2012201721,2012201721
+2012201722,2008302604
+2012201723,2008302577
+2012201724,2008302578
+2012201725,2012201725
+2012201726,2008302764
+2012201727,2008302429
+2012201728,2008302432
+2012201729,2008302635
+2012201730,2012201730
+2012201731,2008302504
+2012201732,2012201732
+2012201733,2012201733
+2012201734,2012201734
+2012201735,2012201735
+2012201736,2012201736
+2012201737,2008303390
+2012201738,2008303429
+2012201739,2012201739
+2012201740,2008302723
+2012201741,2008302623
+2012201742,2012201742
+2012201743,2012201743
+2012201744,2008302510
+2012201745,2008303494
+2012201746,2008302455
+2012201747,2012201747
+2012201748,2008302434
+2012201749,2012201749
+2012201750,2008302478
+2012201751,2008302458
+2012201752,2008302588
+2012201753,2007302391
+2012201754,2008303461
+2012201755,2012201755
+2012201756,2008302491
+2012201757,2008302423
+2012201758,2008302467
+2012201759,2012201759
+2012201760,2007302573
+2012201761,2020100363
+2012201762,2012201762
+2012201763,2008302420
+2012201764,2008303514
+2012201765,2008302424
+2012201766,2008302624
+2012201767,2008302466
+2012201768,2008303457
+2012201769,2008300019
+2012201770,2008303517
+2012201771,2012201771
+2012201772,2012201772
+2012201773,2012201773
+2012201774,2011240033
+2012201775,2008302531
+2012201776,2012201776
+2012201777,2012201777
+2012201778,2011240022
+2012201779,2012201779
+2012201780,2012201780
+2012201781,2008303499
+2012201807,2012201807
+2012201808,2012201808
+2012201809,2012201809
+2012201810,2012201810
+2012201811,2012201811
+2012201812,2012201812
+2012201813,2012201813
+2012201814,2012201814
+2012201815,2012201815
+2012201816,2012201816
+2012201817,2012201817
+2012201818,2012201818
+2012201819,2008302707
+2012201820,2008302712
+2012201821,2012201821
+2012201822,2012201822
+2012201823,2008302727
+2012201824,2012201824
+2012201825,2012201825
+2012201826,2012201826
+2012201827,2008302690
+2012201828,2012201828
+2012201829,2012201829
+2012201830,2012201830
+2012201831,2012201831
+2012201832,2008302732
+2012201833,2012201833
+2012201834,2012201834
+2012201835,2012201835
+2012201836,2012201836
+2012201837,2012201837
+2012201838,2012201838
+2012201839,2012201839
+2012201840,2008302701
+2012201841,2008302738
+2012201842,2008302704
+2012201843,2012201843
+2012201844,2012201844
+2012201845,2012201845
+2012201846,2012201846
+2012201847,2012201847
+2012201848,2012201848
+2012201849,2012201849
+2012201850,2012201850
+2012201851,2008302767
+2012201852,2012201852
+2012201853,2012201853
+2012201854,2012201854
+2012201855,2012201855
+2012201856,2008302681
+2012201857,2012201857
+2012201858,2008302993
+2012201859,2008302783
+2012201860,2012201860
+2012201861,2012201861
+2012201862,2012201862
+2012201863,2012201863
+2012201864,2012201864
+2012201865,2012201865
+2012201866,2012201866
+2012201867,2012201867
+2012201868,2012201868
+2012201869,2012201869
+2012201870,2012201870
+2012201871,2012201871
+2012201872,2012201872
+2012201873,2008302886
+2012201874,2012201874
+2012201875,2012201875
+2012201876,2012201876
+2012201877,2008302965
+2012201878,2012201878
+2012201879,2012201879
+2012201880,2008302898
+2012201881,2012201881
+2012201882,2012201882
+2012201883,2012201883
+2012201884,2008302972
+2012201885,2012201885
+2012201886,2012201886
+2012201887,2012201887
+2012201888,2012201888
+2012201889,2008302947
+2012201890,2012201890
+2012201891,2012201891
+2012201892,2012201892
+2012201893,2012201893
+2012201894,2008302946
+2012201895,2012201895
+2012201896,2008302926
+2012201897,2008302925
+2012201898,2012201898
+2012201899,2012201899
+2012201900,2012201900
+2012201901,2012201901
+2012201902,2012201902
+2012201903,2012201903
+2012201904,2012201904
+2012201905,2008302740
+2012201906,2012201906
+2012201907,2008302859
+2012201908,2008302882
+2012201909,2012201909
+2012201910,2008302787
+2012201911,2012201911
+2012201912,2008302851
+2012201913,2008302819
+2012201914,2008302798
+2012201915,2012201915
+2012201916,2012201916
+2012201917,2012201917
+2012201918,2008302830
+2012201919,2008302841
+2012201920,2012201920
+2012201921,2012201921
+2012201922,2008302845
+2012201923,2008302832
+2012201924,2012201924
+2012201925,2012201925
+2012201926,2012201926
+2012201927,2012201927
+2012201928,2012201928
+2012201929,2012201929
+2012201930,2012201930
+2012201931,2012201931
+2012201932,2012201932
+2012201933,2008302974
+2012201934,2012201934
+2012201935,2008302930
+2012201936,2008302968
+2012201937,2012201937
+2012201938,2012201938
+2012201939,2012201939
+2012201940,2012201940
+2012201941,2008302937
+2012201942,2012201942
+2012201943,2012201943
+2012201944,2008302990
+2012201945,2008302986
+2012201946,2012201946
+2012201947,2012201947
+2012201948,2012201948
+2012201949,2012201949
+2012201950,2012201950
+2012201951,2012201951
+2012201952,2012201952
+2012201953,2012201953
+2012201954,2008302912
+2012201955,2012201955
+2012201956,2008302991
+2012201957,2008302997
+2012201958,2012201958
+2012201959,2012201959
+2012201960,2012201960
+2012201961,2012201961
+2012201962,2008302916
+2012201963,2012201963
+2012201964,2012201964
+2012201965,2007302804
+2012201966,2012201966
+2012202028,2008303062
+2012202029,2008300563
+2012202030,2008301915
+2012202031,2012202031
+2012202032,2012202032
+2012202033,2012202033
+2012202034,2008303110
+2012202035,2007302891
+2012202036,2008303014
+2012202037,2012202037
+2012202038,2012202038
+2012202039,2012202039
+2012202040,2012202040
+2012202041,2012202041
+2012202042,2008303119
+2012202043,2012202043
+2012202044,2012202044
+2012202045,2008303090
+2012202046,2008303083
+2012202047,2012202047
+2012202048,2007302914
+2012202049,2007302924
+2012202050,2012202050
+2012202051,2008303089
+2012202052,2012202052
+2012202053,2012202053
+2012202054,2007302909
+2012202055,062952
+2012202056,2012202056
+2012202057,2012202057
+2012202058,2012202058
+2012202059,2012202059
+2012202060,2012202060
+2012202061,2012202061
+2012202062,2008303034
+2012202063,2012202063
+2012202064,2012202064
+2012202065,2012202065
+2012202066,2012202066
+2012202067,2012202067
+2012202068,2012202068
+2012202069,2012202069
+2012202070,2008302334
+2012202071,2008303067
+2012202072,2012202072
+2012202073,2012202073
+2012202074,2012202074
+2012202075,2012202075
+2012202076,2007302917
+2012202077,062963
+2012202078,2012202078
+2012202340,2012202340
+2012202341,2008303208
+2012202342,2012202342
+2012202343,2008303225
+2012202344,2008303206
+2012202345,2012202345
+2012202346,2012202346
+2012202347,2008303205
+2012202348,2008303177
+2012202349,2012202349
+2012202350,2008303212
+2012202351,2012202351
+2012202352,2012202352
+2012202353,2012202353
+2012202354,2012202354
+2012202355,2012202355
+2012202356,2008303189
+2012202357,2008303288
+2012202358,2007303083
+2012202359,053294
+2012202360,2012202360
+2012202361,2008303269
+2012202362,2012202362
+2012202363,2012202363
+2012202364,2008303291
+2012202365,2008303272
+2012202366,2008303287
+2012202367,2012202367
+2012202368,2012202368
+2012202369,2012202369
+2012202370,2008303148
+2012202371,2012202371
+2012202372,2012202372
+2012202373,2012202373
+2012202374,2012202374
+2012202375,2012202375
+2012202376,2012202376
+2012202377,2012202377
+2012202378,2012202378
+2012202379,2012202379
+2012202380,2012202380
+2012202381,2012202381
+2012202382,2012202382
+2012202383,2012202383
+2012202384,2012202384
+2012202385,2008303262
+2012202386,2008303249
+2012202387,2008303248
+2012202388,2012202388
+2012202389,2012202389
+2012202390,2012202390
+2012202391,2012202391
+2012202392,2012202392
+2012202393,2012202393
+2012202394,2008303144
+2012202395,2012202395
+2012202396,2012202396
+2012202397,2008303136
+2012202398,2012202398
+2012202399,2008303138
+2012202400,2012202400
+2012202401,2012202401
+2012202402,2008303142
+2012202403,2008303152
+2012202404,2012202404
+2012202419,2012202419
+2012202420,2012202420
+2012202421,2007303030
+2012202422,2012202422
+2012202423,2012202423
+2012202424,2012202424
+2012202425,2012202425
+2012202426,2012202426
+2012202427,2012202427
+2012202428,2012202428
+2012202429,2012202429
+2012202430,2012202430
+2012202491,2012202491
+2012202492,2012202492
+2012202582,2012202582
+2012202583,2012202583
+2012202584,2012202584
+2012202585,2012202585
+2012202586,2012202586
+2012202587,2012202587
+2012202588,2012202588
+2012202589,2012202589
+2012202590,2012202590
+2012202591,2012202591
+2012202592,2012202592
+2012202593,2012202593
+2012202594,2012202594
+2012202595,2012202595
+2012202596,2012202596
+2012202597,2012202597
+2012210001,2012210001
+2012210002,2012210002
+2012210003,2012210003
+2012210004,2012210004
+2012210005,2012210005
+2012210006,2012210006
+2012210007,2012210007
+2012210008,2012210008
+2012210009,2012210009
+2012210010,1991000035
+2012210011,2012210011
+2012210012,2012210012
+2012210013,2012210013
+2012210014,1998000021
+2012210015,2012210015
+2012210016,2012210016
+2012210017,2012210017
+2012210018,2012210018
+2012210019,2012210019
+2012210020,2012210020
+2012210021,2012210021
+2012210022,2012210022
+2012210023,2012210023
+2012210024,2012210024
+2012210025,2012210025
+2012210026,2012210026
+2012210027,2012210027
+2012210028,2012210028
+2012210029,2012210029
+2012210030,2012210030
+2012210031,2012210031
+2012210032,2012210032
+2012210033,2012210033
+2012210034,2012210034
+2012210035,2012210035
+2012210036,2012210036
+2012210037,2012210037
+2012210038,2012210038
+2012210039,2012210039
+2012210040,2012210040
+2012210041,2012210041
+2012210042,2012210042
+2012210043,2012210043
+2012210044,2012210044
+2012210045,2012210045
+2012210046,2012210046
+2012210047,2012210047
+2012210048,2012210048
+2012210049,2012210049
+2012210050,2012210050
+2012210051,2012210051
+2012210052,2012210052
+2012210053,2012210053
+2012210054,2012210054
+2012210055,2012210055
+2012210056,2012210056
+2012210057,2012210057
+2012210058,2012210058
+2012210059,2012210059
+2012210060,2012210060
+2012210061,2012210061
+2012210062,2012210062
+2012210063,2012210063
+2012210064,2012210064
+2012210065,2012210065
+2012210066,2012210066
+2012210067,2012210067
+2012210068,2012210068
+2012210069,2012210069
+2012210070,2012210070
+2012210071,2012210071
+2012210072,2012210072
+2012210073,2012210073
+2012210074,2012210074
+2012210075,2012210075
+2012210076,2012210076
+2012210077,2012210077
+2012210078,2012210078
+2012210079,2012210079
+2012210080,2012210080
+2012210081,2012210081
+2012210082,2012210082
+2012210083,2012210083
+2012210084,2012210084
+2012210085,2012210085
+2012210086,2012210086
+2012210087,2012210087
+2012210088,2012210088
+2012210089,2012210089
+2012210090,2012210090
+2012210091,2012210091
+2012210092,2012210092
+2012210093,2012210093
+2012210094,2012210094
+2012210095,2012210095
+2012210096,2012210096
+2012210097,2012210097
+2012210098,2012210098
+2012210099,2012210099
+2012210100,2012210100
+2012210101,2012210101
+2012210102,2012210102
+2012210103,2012210103
+2012210104,2012210104
+2012210105,2012210105
+2012210106,2012210106
+2012210107,2012210107
+2012210108,2012210108
+2012210109,2012210109
+2012210110,2012210110
+2012210111,2012210111
+2012210112,2012210112
+2012210113,2012210113
+2012210114,2012210114
+2012210115,2012210115
+2012210116,2012210116
+2012210117,2012210117
+2012210118,2012210118
+2012210119,2012210119
+2012210120,2011210481
+2012210121,2012210121
+2012210122,2012210122
+2012210123,2012210123
+2012210124,2012210124
+2012210125,2012210125
+2012210126,2012210126
+2012210127,2012210127
+2012210128,2012210128
+2012210129,2012210129
+2012210130,2012210130
+2012210131,2012210131
+2012210132,2011210625
+2012210133,2012210133
+2012210134,2012210134
+2012210135,2012210135
+2012210136,2012210136
+2012210137,2012210137
+2012210138,2012210138
+2012210139,2012210139
+2012210140,2012210140
+2012210141,2012210141
+2012210142,2012210142
+2012210143,2012210143
+2012210144,2012210144
+2012210145,2012210145
+2012210146,2012210146
+2012210147,2012210147
+2012210148,2012210148
+2012210149,2012210149
+2012210150,2012210150
+2012210151,2012210151
+2012210152,2012210152
+2012210153,2012210153
+2012210154,2012210154
+2012210155,2012210155
+2012210156,2012210156
+2012210157,2012210157
+2012210158,2012210158
+2012210159,2012210159
+2012210160,2012210160
+2012210161,2012210161
+2012210162,2012210162
+2012210163,2012210163
+2012210164,2012210164
+2012210165,2012210165
+2012210166,2012210166
+2012210167,2012210167
+2012210168,2012210168
+2012210169,2012210169
+2012210170,2012210170
+2012210171,2012210171
+2012210172,2012210172
+2012210173,2012210173
+2012210174,2012210174
+2012210175,2012210175
+2012210176,2012210176
+2012210177,2012210177
+2012210178,2012210178
+2012210179,2012210179
+2012210180,2012210180
+2012210181,2012210181
+2012210182,2012210182
+2012210183,2012210183
+2012210184,2012210184
+2012210185,2012210185
+2012210186,2012210186
+2012210187,2012210187
+2012210188,2012210188
+2012210189,2012210189
+2012210190,2012210190
+2012210191,2012210191
+2012210192,2012210192
+2012210193,2012210193
+2012210194,2012210194
+2012210195,2012210195
+2012210196,2012210196
+2012210197,2012210197
+2012210198,2012210198
+2012210199,2012210199
+2012210200,2012210200
+2012210201,2012210201
+2012210202,2012210202
+2012210203,2012210203
+2012210204,2012210204
+2012210205,2012210205
+2012210206,2012210206
+2012210207,2012210207
+2012210208,2012210208
+2012210209,2012210209
+2012210210,2012210210
+2012210211,2012210211
+2012210212,2012210212
+2012210213,2012210213
+2012210214,2007301804
+2012210215,2012210215
+2012210216,2012210216
+2012210217,2012210217
+2012210218,2012210218
+2012210219,2012210219
+2012210220,2012210220
+2012210221,2012210221
+2012210222,2012210222
+2012210223,2012210223
+2012210224,2012210224
+2012210225,2012210225
+2012210226,2012210226
+2012210227,2012210227
+2012210228,2012210228
+2012210229,2012210229
+2012210230,2012210230
+2012210231,2012210231
+2012210232,2012210232
+2012210233,2012210233
+2012210234,2012210234
+2012210235,2012210235
+2012210236,2012210236
+2012210237,2012210237
+2012210238,2012210238
+2012210239,2012210239
+2012210240,2012210240
+2012210241,2012210241
+2012210242,2012210242
+2012210243,2012210243
+2012210244,2012210244
+2012210245,2012210245
+2012210246,2012210246
+2012210247,2012210247
+2012210248,2012210248
+2012210249,2012210249
+2012210250,2012210250
+2012210251,2010210558
+2012210252,2010210562
+2012210253,2010210561
+2012210254,2010210560
+2012210255,2012210255
+2012210256,2012210256
+2012210257,2012210257
+2012210258,2012210258
+2012210259,2012210259
+2012210260,2012210260
+2012210261,2012210261
+2012210262,2012210262
+2012210263,2012210263
+2012210264,2012210264
+2012210265,2012210265
+2012210266,2012210266
+2012210267,2012210267
+2012210268,2012210268
+2012210269,2012210269
+2012210270,2012210270
+2012210271,2012210271
+2012210272,2012210272
+2012210273,2012210273
+2012210274,2012210274
+2012210275,2012210275
+2012210276,2012210276
+2012210277,2012210277
+2012210278,2012210278
+2012210279,2012210279
+2012210280,2012210280
+2012210281,2012210281
+2012210282,2012210282
+2012210283,2012210283
+2012210284,2012210284
+2012210285,2012210285
+2012210286,2012210286
+2012240001,2012240001
+2012240002,2012240002
+2012240003,2012240003
+2012240004,2012240004
+2012240005,2012240005
+2012240006,2012240006
+2012240007,2012240007
+2012240008,2012240008
+2012240009,2012240009
+2012240010,2012240010
+2012240011,2012240011
+2012240012,2012240012
+2012240013,2012240013
+2012240014,2012240014
+2012240015,2012240015
+2012240016,2012240016
+2012240017,2012240017
+2012240018,2007300036
+2012240019,2012240019
+2012240020,2012240020
+2012240021,2012240021
+2012240022,2012240022
+2012240023,2012240023
+2012240024,2012240024
+2012240025,2012240025
+2012240026,2012240026
+2012240027,2012240027
+2012240028,2012240028
+2012240029,2012240029
+2012240030,2012240030
+2012240031,2012240031
+2012240032,2012240032
+2012240033,2012240033
+2012240034,2012240034
+2012240035,2012240035
+2012240036,2012240036
+2012240037,2012240037
+2012240038,2012240038
+2012240039,2012240039
+2012240040,2012240040
+2012240041,2012240041
+2012240042,2012240042
+2012240043,2012240043
+2012240044,2012240044
+2012240045,2012240045
+2012240046,2012240046
+2012240047,2012240047
+2012240048,2012240048
+2012240049,2012240049
+2012240050,2012240050
+2012240051,2012240051
+2012240052,2012240052
+2012240053,2012240053
+2012240054,2012240054
+2012240055,2012240055
+2012240056,2012240056
+2012240057,2012240057
+2012240058,2012240058
+2012240059,2012240059
+2012240060,2012240060
+2012240061,2012240061
+2012240062,2012240062
+2012240063,2012240063
+2012240064,2012240064
+2012240065,2012240065
+2012240066,2012240066
+2012240067,2012240067
+2012240068,2012240068
+2012240069,2012240069
+2012240070,2012240070
+2012240071,2012240071
+2012240072,2012240072
+2012240073,2012240073
+2012240074,2012240074
+2012240075,2012240075
+2012240076,2012240076
+2012240077,2012240077
+2012240078,2012240078
+2012240079,2012240079
+2012240080,2012240080
+2012240081,2012240081
+2012240082,2012240082
+2012240083,2012240083
+2012240084,2012240084
+2012240085,2012240085
+2012240086,2012240086
+2012240087,2012240087
+2012240088,2012240088
+2012240089,2012240089
+2012240090,2012240090
+2012240091,2012240091
+2012240092,2012240092
+2012240093,2012240093
+2012240094,2012240094
+2012240095,2012240095
+2012240096,2012240096
+2012240097,2012240097
+2012240098,2012240098
+2012240099,2012240099
+2012240100,2012240100
+2012240101,2012240101
+2012240102,2012240102
+2012240103,2012240103
+2012240104,2012240104
+2012240105,2012240105
+2012240106,2012240106
+2012240107,2012240107
+2012240108,2012240108
+2012240109,2012240109
+2012240110,2012240110
+2012240111,2012240111
+2012240112,2012240112
+2012240113,2012240113
+2012240114,2012240114
+2012240115,2012240115
+2012240116,2012240116
+2012240117,2012240117
+2012240118,2012240118
+2012240119,2012240119
+2012240120,2012240120
+2012240121,2012240002
+2012240122,2012240122
+2012240123,2012240123
+2012240124,2012240124
+2012240125,2012240125
+2012240126,2012240126
+2012240127,2012240127
+2012240128,2012240128
+2012240129,2012240129
+2012240130,2012240130
+2012240131,2012240131
+2012240132,2012240132
+2012240133,2012240133
+2012240134,2012240134
+2012240135,2012240135
+2012240136,2012240136
+2012240137,2012240137
+2012240138,2012240138
+2012240139,2012240139
+2012240140,2012240140
+2012240141,2012240141
+2012240142,2012240142
+2012240143,2012240143
+2012240144,2012240144
+2012240145,2012240145
+2012240146,2012240146
+2012240147,2012240147
+2012240148,2012240148
+2012240149,2012240149
+2012240150,2012240150
+2012240151,2012240151
+2012240152,2012240152
+2012240153,2012240153
+2012240154,2012240154
+2012240155,2012240155
+2012240156,2012240156
+2012240157,2012240157
+2012240158,2012240158
+2012240159,2012240159
+2012240160,2012240160
+2012240161,2012240161
+2012240162,2012240162
+2012240163,2012240163
+2012240164,2012240164
+2012240165,2012240165
+2012240166,2012240166
+2012240167,2012240167
+2012240168,2012240168
+2012240169,2012240169
+2012240170,2012240170
+2012240171,2012240171
+2012240172,2012240172
+2012240173,2012240173
+2012240174,2012240174
+2012240175,2012240175
+2012240176,2012240176
+2012240177,2012240177
+2012240178,2012240178
+2012240179,2012240179
+2012240180,2012240180
+2012240181,2012240181
+2012240182,2012240182
+2012240183,2012240183
+2012240184,2012240184
+2012240185,2012240185
+2012240186,2012240186
+2012240187,2012240187
+2012240188,2012240188
+2012240189,2012240189
+2012240190,2012240190
+2012240191,2012240191
+2012240192,2012240192
+2012240193,2012240193
+2012240194,2012240194
+2012240195,2012240195
+2012240196,2012240196
+2012240197,2012240197
+2012240198,2012240198
+2012240199,2012240199
+2012240200,2012240200
+2012240201,2012240201
+2012240202,2012240202
+2012240203,2012240203
+2012240204,2012240204
+2012240205,2012240205
+2012240206,2012240206
+2012240207,2012240207
+2012240208,2012240208
+2012240209,2012240209
+2012240210,2012240210
+2012240211,2012240211
+2012240212,2012240212
+2012240213,2012240213
+2012240214,2012240214
+2012240215,2012240215
+2012240216,2012240216
+2012240217,2012240217
+2012240218,2012240218
+2012240219,2012240219
+2012240220,2012240220
+2012240221,2012240221
+2012240222,2012240222
+2012240223,2012240223
+2012240224,2012240224
+2012240225,2012240225
+2012240226,2012240226
+2012240227,2012240227
+2012240228,2012240228
+2012240229,2012240229
+2012240230,2012240230
+2012240231,2012240231
+2012240232,2012240232
+2012240233,2012240233
+2012240234,2012240234
+2012240235,2012240235
+2012240236,2012240236
+2012240237,2012240237
+2012240238,2012240238
+2012240239,2012240239
+2012240240,2012240240
+2012240241,2012240241
+2012240242,2012240242
+2012240243,2012240243
+2012240244,2012240244
+2012240245,2012240245
+2012240246,2012240246
+2012240247,2012240247
+2012240248,2012240248
+2012240249,2012240249
+2012240250,2012240250
+2012240251,2012240251
+2012240252,2012240252
+2012240253,2012240253
+2012240254,2012240254
+2012240255,2012240255
+2012240256,2012240256
+2012240257,2012240257
+2012250001,2008301145
+2012250002,2012250002
+2012250003,2012250003
+2012250004,2012250004
+2012250005,2012250005
+2012250006,2012250006
+2012250007,2012250007
+2012250008,2012250008
+2012250009,2012250009
+2012250010,2008300231
+2012250011,2008300491
+2012250012,2012250012
+2012250013,2012250013
+2012250014,2012250014
+2012250015,2012250015
+2012250016,2008300395
+2012250017,2008302111
+2012250018,2008302880
+2012250019,2012250019
+2012250020,2012250020
+2012250021,2012250021
+2012250022,2012250022
+2012250023,2012250023
+2012250024,2012250024
+2012250025,2012250025
+2012250026,2008300733
+2012250027,2008300525
+2012250028,2008300461
+2012250029,2007300294
+2012250030,2012250030
+2012250031,2012250031
+2012250032,2012250032
+2012250033,2008302258
+2012250034,2008300412
+2012250035,2012250035
+2012250036,2008300194
+2012250037,2012250037
+2012250038,2012250038
+2012250039,2012250039
+2012250040,2012250040
+2012250041,2012250041
+2012250042,2012250042
+2012250043,2012250043
+2012250044,2008301688
+2012250045,2012250045
+2012250046,2012250046
+2012250047,2012250047
+2012250048,2012250048
+2012250049,2012250049
+2012250050,2008302763
+2012250051,2012250051
+2012250052,2012250052
+2012250053,2012250053
+2012250054,2012250054
+2012250055,2012250055
+2012250056,2012250056
+2012250057,2008302354
+2012250058,2012250058
+2012250059,2008300321
+2012250060,2012250060
+2012250061,2012250061
+2012250062,2012250062
+2012250063,2012250063
+2012250064,2012250064
+2012250065,2012250065
+2012250066,2012250066
+2012250067,2012250067
+2012250068,2012250068
+2012250069,2012250069
+2012250070,2012250070
+2012250071,2012250071
+2012250072,2012250072
+2012250073,2012250073
+2012250074,2012250074
+2012250075,2012250075
+2012250076,2012250076
+2012250077,2012250077
+2012250078,2012250078
+2012250079,2007301044
+2012250080,2012250080
+2012250081,2012250081
+2012250082,2012250082
+2012250083,2012250083
+2012250084,2012250084
+2012250085,2012250085
+2012250086,2012250086
+2012250087,2012250087
+2012250088,2012250088
+2012250089,2012250089
+2012250090,2008302911
+2012250091,2012250091
+2012250092,2012250092
+2012250093,2012250093
+2012250094,2012250094
+2012250095,2012250095
+2012250096,2012250096
+2012250097,2012250097
+2012250098,2012250098
+2012250099,2012250099
+2012250100,2008300399
+2012250101,2012250101
+2012250102,2012250102
+2012250103,2012250103
+2012250104,2012250104
+2012250105,2012250105
+2012250106,2012250106
+2012250107,2008302405
+2012250108,2012250108
+2012250109,2012250109
+2012250110,060557
+2012250111,2012250111
+2012250112,2012250112
+2012250113,2012250113
+2012250114,2012250114
+2012250115,2012250115
+2012250116,2012250116
+2012250117,2012250117
+2012250118,2012250118
+2012250119,2012250119
+2012250120,2012250120
+2012250121,2012250121
+2012250122,2012250122
+2012250123,2008302910
+2012250124,2012250124
+2012250125,050008
+2012250126,2012250126
+2012250127,2012250127
+2012250128,2012250128
+2012250129,2012250129
+2012250130,2012250130
+2012250131,2008300511
+2012250132,2008300598
+2012250133,2012250133
+2012250134,2012250134
+2012250135,2012250135
+2012250136,2012250136
+2012250137,2012250137
+2012250138,2012250138
+2012250139,2012250139
+2012250140,2012250140
+2012250141,2012250141
+2012250142,2012250142
+2012250143,2012250143
+2012250144,2012250144
+2012250145,2008300969
+2012250146,2012250146
+2012250147,2012250147
+2012250148,2012250148
+2012250149,2012250149
+2012250150,2012250150
+2012250151,2012250151
+2012250152,2012250152
+2012250153,2012250153
+2012250154,2012250154
+2012250155,2012250155
+2012250156,2008302308
+2012250157,2012250157
+2012250158,2012250158
+2012250159,2012250159
+2012250160,2012250160
+2012250161,060274
+2012250162,2008300168
+2012250163,2012250163
+2012250164,2012250164
+2012250165,2012250165
+2012250166,2008302157
+2012250167,2008302133
+2012250168,2012250168
+2012250169,2012250169
+2012250170,2008302402
+2012250171,2012250171
+2012250172,2012250172
+2012260181,2008302639
+2012260182,2008300272
+2012260183,2008300209
+2012260184,2008300397
+2012260185,2012260185
+2012260186,2008300405
+2012260187,2008300238
+2012260188,2012260188
+2012260189,2008300370
+2012260190,2008300338
+2012260191,2008300437
+2012260192,2008300402
+2012260193,2008300366
+2012260194,2012260194
+2012260195,2012260195
+2012260196,2008300430
+2012260197,2008300375
+2012260198,2008300414
+2012260199,2008300207
+2012260200,2008300246
+2012260201,2008300367
+2012260202,2008300200
+2012260203,2012260203
+2012260204,2008300187
+2012260205,2008302477
+2012260206,2008300332
+2012260207,2008300382
+2012260208,2008300406
+2012260209,2008300384
+2012260210,2008300329
+2012260211,040284
+2012260212,2008302499
+2012260213,2012260213
+2012260214,2008302838
+2012260215,2008300386
+2012260216,2008300178
+2012260217,2008300308
+2012260218,2008300268
+2012260219,2008300404
+2012260220,062022
+2012260337,2012260337
+2012260338,2012260338
+2012260339,2008300575
+2012260340,2008300548
+2012260341,2012260341
+2012260342,2012260342
+2012260343,2008300590
+2012260344,2008300585
+2012260345,2008300543
+2012260346,2008300562
+2012260347,2012260347
+2012260348,2012260348
+2012260349,2008300540
+2012260350,2008300570
+2012260351,2008300635
+2012260352,2008300472
+2012260353,2008300606
+2012260354,2008300620
+2012260355,2008300495
+2012260356,2008300484
+2012260357,2008300486
+2012260358,2008300467
+2012260359,2008301384
+2012260360,2008300507
+2012260361,2008300521
+2012260362,2008300505
+2012260468,2008300789
+2012260469,2008300801
+2012260470,2008300785
+2012260471,2012260471
+2012260472,2012260472
+2012260473,2008300783
+2012260474,2008300815
+2012260475,2008300793
+2012260476,2007300745
+2012260477,2008300752
+2012260478,2012260478
+2012260479,2008300738
+2012260480,2012260480
+2012260481,2012260481
+2012260482,2012260482
+2012260483,2012260483
+2012260484,2012260484
+2012260485,2012260485
+2012260486,2008300676
+2012260487,2008302129
+2012260488,2008300669
+2012260489,2012260489
+2012260490,2012260490
+2012260491,2008300704
+2012260492,2012260492
+2012260493,2008300825
+2012260494,2008300812
+2012260495,2008300813
+2012260496,2012260496
+2012260497,2008300837
+2012260652,2008300939
+2012260653,2008301028
+2012260654,2008300068
+2012260655,2008301070
+2012260656,2008300893
+2012260657,2008300992
+2012260658,2012260658
+2012260659,2008300912
+2012260660,2008300938
+2012260661,2012260661
+2012260662,2008301015
+2012260663,2008301001
+2012260664,2012260664
+2012260665,2008300871
+2012260666,2008300877
+2012260667,2008301060
+2012260668,2008300882
+2012260669,2012260669
+2012260670,2008300879
+2012260671,2008300884
+2012260672,2008300894
+2012260673,2008300998
+2012260674,2008300897
+2012260675,2012260675
+2012260676,2008302961
+2012260677,2008301008
+2012260678,2012260678
+2012260679,2008300887
+2012260680,2008300986
+2012260681,2008301041
+2012260682,2008300957
+2012260683,2008300989
+2012260684,2008301067
+2012260685,2012260685
+2012260686,2008301000
+2012260687,2012260687
+2012260688,2008301057
+2012260689,2008300927
+2012260690,2008301054
+2012260691,2008300963
+2012260692,2008301077
+2012260693,2008300968
+2012260694,2012260694
+2012260695,2012260695
+2012260696,2012260696
+2012260697,2008300867
+2012260698,2008301040
+2012260699,2012260699
+2012260700,2008301033
+2012260701,2008300928
+2012260702,2008300990
+2012260703,2008301061
+2012260704,2012260704
+2012260705,2008301079
+2012260706,2008300977
+2012260707,2012260707
+2012260708,2012260708
+2012260709,2008301032
+2012260710,2008301050
+2012260711,2012260711
+2012260712,2008300881
+2012260900,2008301220
+2012260901,2008301239
+2012260902,2012260902
+2012260903,2008301330
+2012260904,2008301217
+2012260905,2012260905
+2012260906,2008301357
+2012260907,2008301420
+2012260908,2008301407
+2012260909,2008301223
+2012260910,2012260910
+2012260911,2008300045
+2012260912,2008301340
+2012260913,2012260913
+2012260914,2008301227
+2012260915,2012260915
+2012260916,2008301229
+2012260917,2012260917
+2012260918,2008301222
+2012260919,2012260919
+2012260920,2008301314
+2012260921,2008301238
+2012260922,2008301219
+2012260923,2012260923
+2012260924,2012260924
+2012260925,2012260925
+2012260926,2008301278
+2012260927,2012260927
+2012260928,2008302188
+2012260929,2012260929
+2012260930,2012260930
+2012260931,2008301370
+2012260932,2012260932
+2012260933,2012260933
+2012260934,2012260934
+2012260935,2012260935
+2012260936,2012260936
+2012260937,2008301134
+2012260938,2008301154
+2012260939,2008301121
+2012260940,2008301210
+2012260941,2012260941
+2012260942,2012260942
+2012260943,2007301050
+2012260944,2012260944
+2012260945,2012260945
+2012260946,2012260946
+2012260947,2008301413
+2012260948,2012260948
+2012260949,2008301175
+2012260950,2008301162
+2012260951,2012260951
+2012260952,2012260952
+2012260953,2008301423
+2012260954,2008301328
+2012260955,2008301142
+2012260956,2012260956
+2012260957,2012260957
+2012260958,2008301422
+2012260959,2008301096
+2012260960,2008301390
+2012260961,2008301086
+2012260962,2012260962
+2012260963,2008301383
+2012260964,2012260964
+2012260977,061124
+2012260978,061127
+2012260979,061141
+2012261025,2008301493
+2012261026,2012261026
+2012261027,2008301432
+2012261028,2008301486
+2012261029,2012261029
+2012261030,2008301455
+2012261031,2012261031
+2012261032,2008301505
+2012261033,2012261033
+2012261034,2008300300
+2012261035,2008301461
+2012261036,2012261036
+2012261037,2008301502
+2012261038,2008301520
+2012261039,2012261039
+2012261040,2007301443
+2012261140,2008301628
+2012261141,2008301617
+2012261142,2008301711
+2012261143,2008301685
+2012261144,2008301681
+2012261145,2008301604
+2012261146,2012261146
+2012261147,2012261147
+2012261148,2008301692
+2012261149,2012261149
+2012261150,2008301605
+2012261151,2008301742
+2012261152,2012261152
+2012261153,2012261153
+2012261154,2008300595
+2012261155,2012261155
+2012261156,2008301659
+2012261157,2008301624
+2012261158,2008301632
+2012261159,2008301741
+2012261160,2008301707
+2012261161,2008301731
+2012261162,2008301560
+2012261163,2008301657
+2012261164,2012261164
+2012261165,2012261165
+2012261166,2008301730
+2012261167,2008301708
+2012261168,2008300260
+2012261169,2012261169
+2012261170,2008301654
+2012261171,2012261171
+2012261172,2008300569
+2012261173,2008301648
+2012261174,2008301610
+2012261175,2008301596
+2012261176,2008301655
+2012261177,2008301595
+2012261178,2008300621
+2012261179,2008301678
+2012261180,2008301585
+2012261181,2012261181
+2012261182,2008300211
+2012261183,2012261183
+2012261366,2008302049
+2012261367,2012261367
+2012261368,2008301818
+2012261369,2008301897
+2012261370,2008301831
+2012261371,2008302043
+2012261372,2008302015
+2012261373,2008301788
+2012261374,2012261374
+2012261375,2008301789
+2012261376,2008301857
+2012261377,2008302062
+2012261378,2012261378
+2012261379,2012261379
+2012261380,2008301842
+2012261381,2008302022
+2012261382,2008301497
+2012261383,2008302036
+2012261384,2008301914
+2012261385,2008301893
+2012261386,2012261386
+2012261387,2008302013
+2012261388,2008302011
+2012261389,2012261389
+2012261390,2012261390
+2012261391,2012261391
+2012261392,2012261392
+2012261393,2012261393
+2012261394,2008302001
+2012261395,2008301992
+2012261396,2008301991
+2012261397,2008301979
+2012261398,2008301952
+2012261399,2008301953
+2012261400,2008301954
+2012261609,2008302093
+2012261610,2008300840
+2012261611,2012261611
+2012261612,2008302377
+2012261613,2008302195
+2012261614,2008302264
+2012261615,2012261615
+2012261616,2012261616
+2012261617,2008302270
+2012261618,2007302100
+2012261619,2008302227
+2012261620,2008302092
+2012261621,2008302374
+2012261622,2008302254
+2012261623,2008302248
+2012261624,2008302250
+2012261625,2008302708
+2012261626,2008302337
+2012261627,2008302096
+2012261628,2008302300
+2012261629,2008302290
+2012261630,2012261630
+2012261631,2012261631
+2012261632,2008302333
+2012261633,2012261633
+2012261634,2012261634
+2012261635,2008302138
+2012261636,2008302327
+2012261637,2012261637
+2012261638,2007301967
+2012261639,2008302284
+2012261640,2008302165
+2012261641,2012261641
+2012261642,2008302141
+2012261643,2012261643
+2012261644,2008301757
+2012261645,2008302087
+2012261646,2008302153
+2012261647,2012261647
+2012261648,2012261648
+2012261649,2012261649
+2012261650,2012261650
+2012261651,2012261651
+2012261652,2012261652
+2012261653,2008302121
+2012261654,2012261654
+2012261655,2008302395
+2012261782,2008302637
+2012261783,2008302541
+2012261784,2012261784
+2012261785,2012261785
+2012261786,2008302631
+2012261787,2012261787
+2012261788,2012261788
+2012261789,2012261789
+2012261790,2008302533
+2012261791,2008302515
+2012261792,2008302609
+2012261793,2012261793
+2012261794,2012261794
+2012261795,2008302776
+2012261796,2012261796
+2012261797,2008302490
+2012261798,2008302495
+2012261799,2008302503
+2012261800,2008302418
+2012261801,2008303476
+2012261802,2008302456
+2012261803,2008302444
+2012261804,2008302610
+2012261805,2012261805
+2012261806,2012261806
+2012261967,2012261967
+2012261968,2012261968
+2012261969,2012261969
+2012261970,2008302966
+2012261971,2008302976
+2012261972,2012261972
+2012261973,2008302973
+2012261974,2012261974
+2012261975,2008302929
+2012261976,2012261976
+2012261977,2012261977
+2012261978,2008302952
+2012261979,2008302985
+2012261980,2012261980
+2012261981,2012261981
+2012261982,2012261982
+2012261983,2012261983
+2012261984,2012261984
+2012261985,2012261985
+2012261986,2012261986
+2012261987,2012261987
+2012261988,2012261988
+2012261989,2012261989
+2012261990,2012261990
+2012261991,2012261991
+2012261992,2012261992
+2012261993,2008303010
+2012261994,2012261994
+2012261995,2012261995
+2012261996,2008302683
+2012261997,2012261997
+2012261998,2012261998
+2012261999,2012261999
+2012262000,2012262000
+2012262001,2008303021
+2012262002,2008303085
+2012262003,2008303039
+2012262004,2012262004
+2012262005,2012262005
+2012262006,2012262006
+2012262007,2012262007
+2012262008,2012262008
+2012262009,2012262009
+2012262010,2012262010
+2012262011,2012262011
+2012262012,2008303072
+2012262013,2012262013
+2012262014,2012262014
+2012262015,2008303036
+2012262016,2012262016
+2012262017,2012262017
+2012262018,2012262018
+2012262019,2008303059
+2012262020,2012262020
+2012262021,2008303194
+2012262022,2012262022
+2012262023,2008303057
+2012262024,2008303081
+2012262025,2012262025
+2012262026,2012262026
+2012262027,2008303007
+2012262079,2012262079
+2012262080,2012262080
+2012262081,2012262081
+2012262082,2012262082
+2012262083,2012262083
+2012262084,2012262084
+2012262085,2012262085
+2012262086,2012262086
+2012262087,2012262087
+2012262088,2012262088
+2012262089,2012262089
+2012262090,2012262090
+2012262091,2012262091
+2012262092,2012262092
+2012262093,2012262093
+2012262094,2012262094
+2012262095,2012262095
+2012262096,2012262096
+2012262097,2012262097
+2012262098,2012262098
+2012262099,2012262099
+2012262100,2012262100
+2012262101,2012262101
+2012262102,2012262102
+2012262103,2012262103
+2012262104,2012262104
+2012262105,2012262105
+2012262106,2012262106
+2012262107,2012262107
+2012262108,2012262108
+2012262109,2012262109
+2012262110,2012262110
+2012262111,2012262111
+2012262112,2012262112
+2012262113,2012262113
+2012262114,2012262114
+2012262115,2012262115
+2012262116,2012262116
+2012262117,2012262117
+2012262118,2012262118
+2012262119,2012262119
+2012262120,2012262120
+2012262121,2012262121
+2012262122,2012262122
+2012262123,2012262123
+2012262124,2012262124
+2012262125,2012262125
+2012262126,2012262126
+2012262127,2012262127
+2012262128,2012262128
+2012262129,2012262129
+2012262130,2012262130
+2012262131,2012262131
+2012262132,2012262132
+2012262133,2012262133
+2012262134,2012262134
+2012262135,2012262135
+2012262136,2012262136
+2012262137,2012262137
+2012262138,2012262138
+2012262139,2012262139
+2012262140,2012262140
+2012262141,2012262141
+2012262142,2012262142
+2012262143,2012262143
+2012262144,2012262144
+2012262145,2012262145
+2012262146,2012262146
+2012262147,2012262147
+2012262148,2012262148
+2012262149,2012262149
+2012262150,2012262150
+2012262151,2012262151
+2012262152,2012262152
+2012262153,2012262153
+2012262154,2012262154
+2012262155,2012262155
+2012262156,2012262156
+2012262157,2012262157
+2012262158,2012262158
+2012262159,2012262159
+2012262160,2012262160
+2012262161,2012262161
+2012262162,2012262162
+2012262163,2012262163
+2012262164,2012262164
+2012262165,2012262165
+2012262166,2012262166
+2012262167,2012262167
+2012262168,2012262168
+2012262169,2012262169
+2012262170,2012262170
+2012262171,2012262171
+2012262172,2012262172
+2012262173,2012262173
+2012262174,2012262174
+2012262175,2012262175
+2012262176,2012262176
+2012262177,2012262177
+2012262178,2012262178
+2012262179,2012262179
+2012262180,2012262180
+2012262181,2012262181
+2012262182,2012262182
+2012262183,2012262183
+2012262184,2012262184
+2012262185,2012262185
+2012262186,2012262186
+2012262187,2012262187
+2012262188,2012262188
+2012262189,2012262189
+2012262190,2012262190
+2012262191,2012262191
+2012262192,2012262192
+2012262193,2012262193
+2012262194,2012262194
+2012262195,2012262195
+2012262196,2012262196
+2012262197,2012262197
+2012262198,2012262198
+2012262199,2012262199
+2012262200,2012262200
+2012262201,2012262201
+2012262202,2012262202
+2012262203,2012262203
+2012262204,2012262204
+2012262205,2012262205
+2012262206,2012262206
+2012262207,2012262207
+2012262208,2012262208
+2012262209,2012262209
+2012262210,2012262210
+2012262211,2012262211
+2012262212,2012262212
+2012262213,2012262213
+2012262214,2012262214
+2012262215,2012262215
+2012262216,2012262216
+2012262217,2012262217
+2012262218,2012262218
+2012262219,2012262219
+2012262220,2012262220
+2012262221,2012262221
+2012262222,2012262222
+2012262223,2012262223
+2012262224,2012262224
+2012262225,2012262225
+2012262226,2012262226
+2012262227,2012262227
+2012262228,2012262228
+2012262229,2012262229
+2012262230,2012262230
+2012262231,2012262231
+2012262232,2012262232
+2012262233,2012262233
+2012262234,2012262234
+2012262235,2012262235
+2012262236,2012262236
+2012262237,2012262237
+2012262238,2012262238
+2012262239,2012262239
+2012262240,2012262240
+2012262241,2012262241
+2012262242,2012262242
+2012262243,2012262243
+2012262244,2012262244
+2012262245,2012262245
+2012262246,2012262246
+2012262247,2012262247
+2012262248,2012262248
+2012262249,2012262249
+2012262250,2012262250
+2012262251,2012262251
+2012262252,2012262252
+2012262253,2012262253
+2012262254,2012262254
+2012262255,2012262255
+2012262256,2010270013
+2012262257,2012262257
+2012262258,2012262258
+2012262259,2012262259
+2012262260,2012262260
+2012262261,2012262261
+2012262262,2012262262
+2012262263,2012262263
+2012262264,2012262264
+2012262265,2012262265
+2012262266,2012262266
+2012262267,2012262267
+2012262268,2012262268
+2012262269,2012262269
+2012262270,2012262270
+2012262271,2012262271
+2012262272,2012262272
+2012262273,2012262273
+2012262274,2012262274
+2012262275,2012262275
+2012262276,2012262276
+2012262277,2012262277
+2012262278,2012262278
+2012262279,2012262279
+2012262280,2012262280
+2012262281,2012262281
+2012262282,2012262282
+2012262283,2012262283
+2012262284,2012262284
+2012262285,2012262285
+2012262286,2012262286
+2012262287,2012262287
+2012262288,2012262288
+2012262289,2012262289
+2012262290,2012262290
+2012262291,2012262291
+2012262292,2012262292
+2012262293,2012262293
+2012262294,2012262294
+2012262295,2012262295
+2012262296,2012262296
+2012262297,2012262297
+2012262298,2012262298
+2012262299,2012262299
+2012262300,2012262300
+2012262301,2012262301
+2012262302,2012262302
+2012262303,2012262303
+2012262304,2012262304
+2012262305,2012262305
+2012262306,2012262306
+2012262307,2012262307
+2012262308,2012262308
+2012262309,2012262309
+2012262310,2012262310
+2012262311,2012262311
+2012262312,2012262312
+2012262313,2012262313
+2012262314,2012262314
+2012262315,2012262315
+2012262316,2012262316
+2012262317,2012262317
+2012262318,2012262318
+2012262319,2012262319
+2012262320,2012262320
+2012262321,2012262321
+2012262322,2012262322
+2012262323,2012262323
+2012262324,2012262324
+2012262325,2012262325
+2012262326,2012262326
+2012262327,2012262327
+2012262328,2012262328
+2012262329,2012262329
+2012262330,2012262330
+2012262331,2012262331
+2012262332,2011210635
+2012262333,2011210446
+2012262334,2012262334
+2012262335,2012262335
+2012262336,2012262336
+2012262337,2012262337
+2012262338,2012262338
+2012262339,2012262339
+2012262405,2012262405
+2012262406,2012262406
+2012262407,2012262407
+2012262408,2012262408
+2012262409,2012262409
+2012262410,2012262410
+2012262411,2012262411
+2012262412,2012262412
+2012262413,2012262413
+2012262414,2012262414
+2012262415,2012262415
+2012262416,2012262416
+2012262417,2012262417
+2012262418,2012262418
+2012262431,2012262431
+2012262432,2012262432
+2012262433,2012262433
+2012262434,2012262434
+2012262435,2011210725
+2012262436,2011210762
+2012262437,2012262437
+2012262438,2012262438
+2012262439,2012262439
+2012262440,2012262440
+2012262441,2012262441
+2012262442,2012262442
+2012262443,2011210750
+2012262444,2012262444
+2012262445,2012262445
+2012262446,2012262446
+2012262447,2012262447
+2012262448,2012262448
+2012262449,2012262449
+2012262450,2012262450
+2012262451,2012262451
+2012262452,2012262452
+2012262453,2012262453
+2012262454,2012262454
+2012262455,2012262455
+2012262456,2012262456
+2012262457,2012262457
+2012262458,2012262458
+2012262459,2012262459
+2012262460,2012262460
+2012262461,2011210768
+2012262462,2012262462
+2012262463,2012262463
+2012262464,2012262464
+2012262465,2012262465
+2012262466,2012262466
+2012262467,2012262467
+2012262468,2012262468
+2012262469,2012262469
+2012262470,2012262470
+2012262471,2011210764
+2012262472,2012262472
+2012262473,2012262473
+2012262474,2012262474
+2012262475,2012262475
+2012262476,2012262476
+2012262477,2012262477
+2012262478,2012262478
+2012262479,2012262479
+2012262480,2012262480
+2012262481,2012262481
+2012262482,2012262482
+2012262483,2012262483
+2012262484,2012262484
+2012262485,2012262485
+2012262486,2012262486
+2012262487,2012262487
+2012262488,2012262488
+2012262489,2012262489
+2012262490,2012262490
+2012262493,2008303498
+2012262494,2008303381
+2012262495,2008303293
+2012262496,2008303323
+2012262497,2010210069
+2012262498,2008303530
+2012262499,2012262499
+2012262500,2007302182
+2012262501,2007301204
+2012262502,2008303359
+2012262503,2012262503
+2012262504,2012262504
+2012262505,2008303302
+2012262506,2008302597
+2012262507,2007302487
+2012262508,2012262508
+2012262509,2012262509
+2012262510,2008303521
+2012262511,2008303518
+2012262512,2008300352
+2012262513,2012262513
+2012262514,2008301786
+2012262515,2011210090
+2012262516,2012262516
+2012262517,2008303295
+2012262518,2012262518
+2012262519,2012262519
+2012262520,2012262520
+2012262521,2012262521
+2012262522,2011210471
+2012262523,2012262523
+2012262524,2012262524
+2012262525,2007301808
+2012262526,2008302521
+2012262527,2008302373
+2012262528,2012262528
+2012262529,2008300937
+2012262530,2008303388
+2012262531,2008302547
+2012262532,2011210089
+2012262533,2008302332
+2012262534,2008302558
+2012262535,2011210074
+2012262536,2012262536
+2012262537,2012262537
+2012262538,2008300185
+2012262539,2012262539
+2012262540,2012262540
+2012262541,2008303357
+2012262542,2012262542
+2012262543,2008303467
+2012262544,2008303505
+2012262545,2012262545
+2012262546,2008300854
+2012262547,2012262547
+2012262548,2008302108
+2012262549,2008300421
+2012262550,2011210085
+2012262551,2012262551
+2012262552,2012262552
+2012262553,2012262553
+2012262554,2007303154
+2012262555,2008302148
+2012262556,2012262556
+2012262557,2012262557
+2012262558,2008303412
+2012262559,2008303368
+2012262560,2008300342
+2012262561,2008303386
+2012262562,2008303397
+2012262563,2012262563
+2012262564,2012262564
+2012262565,2007302272
+2012262566,2012262566
+2012262567,2012262567
+2012262568,2008303336
+2012262569,2012262569
+2012262570,2012262570
+2012262571,2012262571
+2012262572,2012262572
+2012262573,2012262573
+2012262574,2008300698
+2012262575,2012262575
+2012262576,2008303464
+2012262577,2007303319
+2012262578,2012262578
+2012262579,2008303508
+2012262580,2008303314
+2012262581,2008303316
+2012300001,2012300001
+2012300002,2012300002
+2012300003,2012300003
+2012300004,2012300004
+2012300005,2012300005
+2012300006,2012300006
+2012300007,2012300007
+2012300008,2012300008
+2012300009,2012300009
+2012300010,2012300010
+2012300011,2012300011
+2012300012,2012300012
+2012300013,2012300013
+2012300014,2012300014
+2012300015,2012300015
+2012300016,2012300016
+2012300017,2012300017
+2012300018,2012300018
+2012300019,2012300019
+2012300020,2012300020
+2012300021,2012300021
+2012300022,2012300022
+2012300023,2012300023
+2012300024,2012300024
+2012300025,2012300025
+2012300026,2012300026
+2012300027,2012300027
+2012300028,2012300028
+2012300029,2012300029
+2012300030,2012300030
+2012300031,2012300031
+2012300032,2012300032
+2012300033,2012300033
+2012300034,2012300034
+2012300035,2012300035
+2012300036,2012300036
+2012300037,2012300037
+2012300038,2012300038
+2012300039,2012300039
+2012300040,2012300040
+2012300041,2012300041
+2012300042,2012300042
+2012300043,2012300043
+2012300044,2012300044
+2012300045,2012300045
+2012300046,2012300046
+2012300047,2012300047
+2012300048,2012300048
+2012300049,2012300049
+2012300050,2012300050
+2012300051,2012300051
+2012300052,2012300052
+2012300053,2012300053
+2012300054,2012300054
+2012300055,2012300055
+2012300056,2012300056
+2012300057,2012300057
+2012300058,2012300058
+2012300059,2012300059
+2012300060,2012300060
+2012300061,2012300061
+2012300062,2012300062
+2012300063,2012300063
+2012300064,2012300064
+2012300065,2012300065
+2012300066,2012300066
+2012300067,2012300067
+2012300068,2012300068
+2012300069,2012300069
+2012300070,2012300070
+2012300071,2012300071
+2012300072,2012300072
+2012300073,2012300073
+2012300074,2012300074
+2012300075,2012300075
+2012300076,2012300076
+2012300077,2012300077
+2012300078,2012300078
+2012300079,2012300079
+2012300080,2012300080
+2012300081,2012300081
+2012300082,2012300082
+2012300083,2012300083
+2012300084,2012300084
+2012300085,2012300085
+2012300086,2012300086
+2012300087,2012300087
+2012300088,2012300088
+2012300089,2012300089
+2012300090,2012300090
+2012300091,2012300091
+2012300092,2012300092
+2012300093,2012300093
+2012300094,2012300094
+2012300095,2012300095
+2012300096,2012300096
+2012300097,2012300097
+2012300098,2012300098
+2012300099,2012300099
+2012300100,2012300100
+2012300101,2012300101
+2012300102,2012300102
+2012300103,2012300103
+2012300104,2012300104
+2012300105,2012300105
+2012300106,2012300106
+2012300107,2012300107
+2012300108,2012300108
+2012300109,2012300109
+2012300110,2012300110
+2012300111,2012300111
+2012300112,2012300112
+2012300113,2012300113
+2012300114,2012300114
+2012300115,2012300115
+2012300116,2012300116
+2012300117,2012300117
+2012300118,2012300118
+2012300119,2012300119
+2012300120,2012300120
+2012300121,2012300121
+2012300122,2012300122
+2012300123,2012300123
+2012300124,2012300124
+2012300125,2012300125
+2012300126,2012300126
+2012300127,2012300127
+2012300128,2012300128
+2012300129,2012300129
+2012300130,2012300130
+2012300131,2012300131
+2012300132,2012300132
+2012300133,2012300133
+2012300134,2012300134
+2012300135,2012300135
+2012300136,2012300136
+2012300137,2012300137
+2012300138,2012300138
+2012300139,2012300139
+2012300140,2012300140
+2012300141,2012300141
+2012300142,2012300142
+2012300143,2012300143
+2012300144,2012300144
+2012300145,2012300145
+2012300146,2012300146
+2012300147,2012300147
+2012300148,2012300148
+2012300149,2012300149
+2012300150,2012300150
+2012300151,2012300151
+2012300152,2012300152
+2012300153,2012300153
+2012300154,2012300154
+2012300155,2012300155
+2012300156,2012300156
+2012300157,2012300157
+2012300158,2012300158
+2012300159,2012300159
+2012300160,2012300160
+2012300161,2012300161
+2012300162,2012300162
+2012300163,2020100017
+2012300164,2012300164
+2012300165,2012300165
+2012300166,2012300166
+2012300167,2012300167
+2012300168,2012300168
+2012300169,2012300169
+2012300170,2012300170
+2012300171,2012300171
+2012300172,2012300172
+2012300173,2012300173
+2012300174,2012300174
+2012300175,2012300175
+2012300176,2012300176
+2012300177,2012300177
+2012300178,2012300178
+2012300179,2012300179
+2012300180,2012300180
+2012300181,2012300181
+2012300182,2012300182
+2012300183,2012300183
+2012300184,2012300184
+2012300185,2012300185
+2012300186,2012300186
+2012300187,2012300187
+2012300188,2012300188
+2012300189,2012300189
+2012300190,2012300190
+2012300191,2012300191
+2012300192,2012300192
+2012300193,2012300193
+2012300194,2012300194
+2012300195,2012300195
+2012300196,2012300196
+2012300197,2012300197
+2012300198,2012300198
+2012300199,2012300199
+2012300200,2012300200
+2012300201,2012300201
+2012300202,2012300202
+2012300203,2012300203
+2012300204,2012300204
+2012300205,2012300205
+2012300206,2012300206
+2012300207,2012300207
+2012300208,2012300208
+2012300209,2012300209
+2012300210,2012300210
+2012300211,2012300211
+2012300212,2012300212
+2012300213,2012300213
+2012300214,2012300214
+2012300215,2012300215
+2012300216,2012300216
+2012300217,2012300217
+2012300218,2012300218
+2012300219,2012300219
+2012300220,2012300220
+2012300221,2012300221
+2012300222,2012300222
+2012300223,2012300223
+2012300224,2012300224
+2012300225,2012300225
+2012300226,2012300226
+2012300227,2012300227
+2012300228,2012300228
+2012300229,2012300229
+2012300230,2012300230
+2012300231,2012300231
+2012300232,2012300232
+2012300233,2012300233
+2012300234,2012300234
+2012300235,2012300235
+2012300236,2012300236
+2012300237,2012300237
+2012300238,2012300238
+2012300239,2012300239
+2012300240,2012300240
+2012300241,2012300241
+2012300242,2012300242
+2012300243,2012300243
+2012300244,2012300244
+2012300245,2012300245
+2012300246,2012300246
+2012300247,2012300247
+2012300248,2012300248
+2012300249,2012300249
+2012300250,2012300250
+2012300251,2012300251
+2012300252,2012300252
+2012300253,2012300253
+2012300254,2012300254
+2012300255,2012300255
+2012300256,2012300256
+2012300257,2012300257
+2012300258,2012300258
+2012300259,2012300259
+2012300260,2012300260
+2012300261,2012300261
+2012300262,2012300262
+2012300263,2012300263
+2012300264,2012300264
+2012300265,2012300265
+2012300266,2012300266
+2012300267,2012300267
+2012300268,2012300268
+2012300269,2012300269
+2012300270,2012300270
+2012300271,2012300271
+2012300272,2012300272
+2012300273,2012300273
+2012300274,2012300274
+2012300275,2012300275
+2012300276,2012300276
+2012300277,2012300277
+2012300278,2012300278
+2012300279,2012300279
+2012300280,2012300280
+2012300281,2012300281
+2012300282,2012300282
+2012300283,2012300283
+2012300284,2012300284
+2012300285,2012300285
+2012300286,2012300286
+2012300287,2012300287
+2012300288,2012300288
+2012300289,2012300289
+2012300290,2012300290
+2012300291,2012300291
+2012300292,2012300292
+2012300293,2012300293
+2012300294,2012300294
+2012300295,2012300295
+2012300296,2012300296
+2012300297,2012300297
+2012300298,2012300298
+2012300299,2012300299
+2012300300,2012300300
+2012300301,2012300301
+2012300302,2012300302
+2012300303,2012300303
+2012300304,2012300304
+2012300305,2012300305
+2012300306,2012300306
+2012300307,2012300307
+2012300308,2012300308
+2012300309,2012300309
+2012300310,2012300310
+2012300311,2012300311
+2012300312,2012300312
+2012300313,2012300313
+2012300314,2012300314
+2012300315,2012300315
+2012300316,2012300316
+2012300317,2012300317
+2012300318,2012300318
+2012300319,2012300319
+2012300320,2012300320
+2012300321,2012300321
+2012300322,2012300322
+2012300323,2012300323
+2012300324,2012300324
+2012300325,2012300325
+2012300326,2012300326
+2012300327,2012300327
+2012300328,2012300328
+2012300329,2012300329
+2012300330,2012300330
+2012300331,2012300331
+2012300332,2012300332
+2012300333,2012300333
+2012300334,2012300334
+2012300335,2012300335
+2012300336,2012300336
+2012300337,2012300337
+2012300338,2012300338
+2012300339,2012300339
+2012300340,2012300340
+2012300341,2012300341
+2012300342,2012300342
+2012300343,2012300343
+2012300344,2012300344
+2012300345,2012300345
+2012300346,2012300346
+2012300347,2012300347
+2012300348,2012300348
+2012300349,2012300349
+2012300350,2012300350
+2012300351,2012300351
+2012300352,2012300352
+2012300353,2012300353
+2012300354,2012300354
+2012300355,2012300355
+2012300356,2012300356
+2012300357,2012300357
+2012300358,2012300358
+2012300359,2012300359
+2012300360,2012300360
+2012300361,2012300361
+2012300362,2012300362
+2012300363,2012300363
+2012300364,2012300364
+2012300365,2012300365
+2012300366,2012300366
+2012300367,2012300367
+2012300368,2012300368
+2012300369,2012300369
+2012300370,2012300370
+2012300371,2012300371
+2012300372,2012300372
+2012300373,2012300373
+2012300374,2012300374
+2012300375,2012300375
+2012300376,2012300376
+2012300377,2012300377
+2012300378,2012300378
+2012300379,2012300379
+2012300380,2012300380
+2012300381,2012300381
+2012300382,2012300382
+2012300383,2012300383
+2012300384,2012300384
+2012300385,2012300385
+2012300386,2012300386
+2012300387,2012300387
+2012300388,2012300388
+2012300389,2012300389
+2012300390,2012300390
+2012300391,2012300391
+2012300392,2012300392
+2012300393,2012300393
+2012300394,2012300394
+2012300395,2012300395
+2012300396,2012300396
+2012300397,2012300397
+2012300398,2012300398
+2012300399,2012300399
+2012300400,2012300400
+2012300401,2012300401
+2012300402,2012300402
+2012300403,2012300403
+2012300404,2012300404
+2012300405,2012300405
+2012300406,2012300406
+2012300407,2012300407
+2012300408,2012300408
+2012300409,2012300409
+2012300410,2012300410
+2012300411,2012300411
+2012300412,2012300412
+2012300413,2012300413
+2012300414,2012300414
+2012300415,2012300415
+2012300416,2012300416
+2012300417,2012300417
+2012300418,2012300418
+2012300419,2012300419
+2012300420,2012300420
+2012300421,2012300421
+2012300422,2012300422
+2012300423,2012300423
+2012300424,2012300424
+2012300425,2012300425
+2012300426,2012300426
+2012300427,2012300427
+2012300428,2012300428
+2012300429,2012300429
+2012300430,2012300430
+2012300431,2012300431
+2012300432,2012300432
+2012300433,2012300433
+2012300434,2012300434
+2012300435,2012300435
+2012300436,2012300436
+2012300437,2012300437
+2012300438,2012300438
+2012300439,2012300439
+2012300440,2012300440
+2012300441,2012300441
+2012300442,2012300442
+2012300443,2012300443
+2012300444,2012300444
+2012300445,2012300445
+2012300446,2012300446
+2012300447,2012300447
+2012300448,2012300448
+2012300449,2012300449
+2012300450,2012300450
+2012300451,2012300451
+2012300452,2012300452
+2012300453,2012300453
+2012300454,2012300454
+2012300455,2012300455
+2012300456,2012300456
+2012300457,2012300457
+2012300458,2012300458
+2012300459,2012300459
+2012300460,2012300460
+2012300461,2012300461
+2012300462,2012300462
+2012300463,2012300463
+2012300464,2012300464
+2012300465,2012300465
+2012300466,2012300466
+2012300467,2012300467
+2012300468,2012300468
+2012300469,2012300469
+2012300470,2012300470
+2012300471,2012300471
+2012300472,2012300472
+2012300473,2012300473
+2012300474,2012300474
+2012300475,2012300475
+2012300476,2012300476
+2012300477,2012300477
+2012300478,2012300478
+2012300479,2012300479
+2012300480,2012300480
+2012300481,2012300481
+2012300482,2012300482
+2012300483,2012300483
+2012300484,2012300484
+2012300485,2012300485
+2012300486,2012300486
+2012300487,2012300487
+2012300488,2012300488
+2012300489,2012300489
+2012300490,2012300490
+2012300491,2012300491
+2012300492,2012300492
+2012300493,2012300493
+2012300494,2012300494
+2012300495,2012300495
+2012300496,2012300496
+2012300497,2012300497
+2012300498,2012300498
+2012300499,2012300499
+2012300500,2012300500
+2012300501,2012300501
+2012300502,2012300502
+2012300503,2012300503
+2012300504,2012300504
+2012300505,2012300505
+2012300506,2012300506
+2012300507,2012300507
+2012300508,2012300508
+2012300509,2012300509
+2012300510,2012300510
+2012300511,2012300511
+2012300512,2012300512
+2012300513,2012300513
+2012300514,2012300514
+2012300515,2012300515
+2012300516,2012300516
+2012300517,2012300517
+2012300518,2012300518
+2012300519,2012300519
+2012300520,2012300520
+2012300521,2012300521
+2012300522,2012300522
+2012300523,2012300523
+2012300524,2012300524
+2012300525,2012300525
+2012300526,2012300526
+2012300527,2012300527
+2012300528,2012300528
+2012300529,2012300529
+2012300530,2012300530
+2012300531,2012300531
+2012300532,2012300532
+2012300533,2012300533
+2012300534,2012300534
+2012300535,2012300535
+2012300536,2012300536
+2012300537,2012300537
+2012300538,2012300538
+2012300539,2012300539
+2012300540,2012300540
+2012300541,2012300541
+2012300542,2012300542
+2012300543,2012300543
+2012300544,2012300544
+2012300545,2012300545
+2012300546,2012300546
+2012300547,2012300547
+2012300548,2012300548
+2012300549,2012300549
+2012300550,2012300550
+2012300551,2012300551
+2012300552,2012300552
+2012300553,2012300553
+2012300554,2012300554
+2012300555,2012300555
+2012300556,2012300556
+2012300557,2012300557
+2012300558,2012300558
+2012300559,2012300559
+2012300560,2012300560
+2012300561,2012300561
+2012300562,2012300562
+2012300563,2012300563
+2012300564,2012300564
+2012300565,2012300565
+2012300566,2012300566
+2012300567,2012300567
+2012300568,2012300568
+2012300569,2012300569
+2012300570,2012300570
+2012300571,2012300571
+2012300572,2012300572
+2012300573,2012300573
+2012300574,2012300574
+2012300575,2012300575
+2012300576,2012300576
+2012300577,2012300577
+2012300578,2012300578
+2012300579,2012300579
+2012300580,2012300580
+2012300581,2012300581
+2012300582,2012300582
+2012300583,2012300583
+2012300584,2012300584
+2012300585,2012300585
+2012300586,2012300586
+2012300587,2012300587
+2012300588,2012300588
+2012300589,2012300589
+2012300590,2012300590
+2012300591,2012300591
+2012300592,2012300592
+2012300593,2012300593
+2012300594,2012300594
+2012300595,2012300595
+2012300596,2012300596
+2012300597,2012300597
+2012300598,2012300598
+2012300599,2012300599
+2012300600,2012300600
+2012300601,2012300601
+2012300602,2012300602
+2012300603,2012300603
+2012300604,2012300604
+2012300605,2012300605
+2012300606,2012300606
+2012300607,2012300607
+2012300608,2012300608
+2012300609,2012300609
+2012300610,2012300610
+2012300611,2012300611
+2012300612,2012300612
+2012300613,2012300613
+2012300614,2012300614
+2012300615,2012300615
+2012300616,2012300616
+2012300617,2012300617
+2012300618,2012300618
+2012300619,2012300619
+2012300620,2012300620
+2012300621,2012300621
+2012300622,2012300622
+2012300623,2012300623
+2012300625,2012300625
+2012300626,2012300626
+2012300627,2012300627
+2012300628,2012300628
+2012300629,2012300629
+2012300630,2012300630
+2012300631,2012300631
+2012300632,2012300632
+2012300633,2012300633
+2012300634,2012300634
+2012300635,2012300635
+2012300636,2012300636
+2012300637,2012300637
+2012300638,2012300638
+2012300639,2012300639
+2012300640,2012300640
+2012300641,2012300641
+2012300642,2012300642
+2012300643,2012300643
+2012300644,2012300644
+2012300645,2012300645
+2012300646,2012300646
+2012300647,2012300647
+2012300648,2012300648
+2012300649,2012300649
+2012300650,2012300650
+2012300651,2012300651
+2012300652,2012300652
+2012300653,2012300653
+2012300654,2012300654
+2012300655,2012300655
+2012300656,2012300656
+2012300657,2012300657
+2012300658,2012300658
+2012300659,2012300659
+2012300660,2012300660
+2012300661,2012300661
+2012300662,2012300662
+2012300663,2012300663
+2012300664,2012300664
+2012300665,2012300665
+2012300666,2012300666
+2012300667,2012300667
+2012300668,2012300668
+2012300669,2012300669
+2012300670,2012300670
+2012300671,2012300671
+2012300672,2012300672
+2012300673,2012300673
+2012300674,2012300674
+2012300675,2012300675
+2012300676,2012300676
+2012300677,2012300677
+2012300678,2012300678
+2012300679,2012300679
+2012300680,2012300680
+2012300681,2012300681
+2012300682,2012300682
+2012300683,2012300683
+2012300684,2012300684
+2012300685,2012300685
+2012300686,2012300686
+2012300687,2012300687
+2012300688,2012300688
+2012300689,2012300689
+2012300690,2012300690
+2012300691,2012300691
+2012300692,2012300692
+2012300693,2012300693
+2012300694,2012300694
+2012300695,2012300695
+2012300696,2012300696
+2012300697,2012300697
+2012300698,2012300698
+2012300699,2012300699
+2012300700,2012300700
+2012300701,2012300701
+2012300702,2012300702
+2012300703,2012300703
+2012300704,2012300704
+2012300705,2012300705
+2012300706,2012300706
+2012300707,2012300707
+2012300708,2012300708
+2012300709,2012300709
+2012300710,2012300710
+2012300711,2012300711
+2012300712,2012300712
+2012300713,2012300713
+2012300714,2012300714
+2012300715,2012300715
+2012300716,2012300716
+2012300717,2012300717
+2012300718,2012300718
+2012300719,2012300719
+2012300720,2012300720
+2012300721,2012300721
+2012300722,2012300722
+2012300723,2012300723
+2012300724,2012300724
+2012300725,2012300725
+2012300726,2012300726
+2012300727,2012300727
+2012300728,2012300728
+2012300729,2012300729
+2012300730,2012300730
+2012300731,2012300731
+2012300732,2012300732
+2012300733,2012300733
+2012300734,2012300734
+2012300735,2012300735
+2012300736,2012300736
+2012300737,2012300737
+2012300738,2012300738
+2012300739,2012300739
+2012300740,2012300740
+2012300741,2012300741
+2012300742,2012300742
+2012300743,2012300743
+2012300744,2012300744
+2012300745,2012300745
+2012300746,2012300746
+2012300747,2012300747
+2012300748,2012300748
+2012300749,2012300749
+2012300750,2012300750
+2012300751,2012300751
+2012300752,2012300752
+2012300753,2012300753
+2012300754,2012300754
+2012300755,2012300755
+2012300756,2012300756
+2012300757,2012300757
+2012300758,2012300758
+2012300759,2012300759
+2012300760,2012300760
+2012300761,2012300761
+2012300762,2012300762
+2012300763,2012300763
+2012300764,2012300764
+2012300765,2012300765
+2012300766,2012300766
+2012300767,2012300767
+2012300768,2012300768
+2012300769,2012300769
+2012300770,2012300770
+2012300771,2012300771
+2012300772,2012300772
+2012300773,2012300773
+2012300774,2012300774
+2012300775,2012300775
+2012300776,2012300776
+2012300777,2012300777
+2012300778,2012300778
+2012300779,2012300779
+2012300780,2012300780
+2012300781,2012300781
+2012300782,2012300782
+2012300783,2012300783
+2012300784,2012300784
+2012300785,2012300785
+2012300786,2012300786
+2012300787,2012300787
+2012300789,2012300789
+2012300790,2012300790
+2012300791,2012300791
+2012300792,2012300792
+2012300793,2012300793
+2012300794,2012300794
+2012300795,2012300795
+2012300796,2012300796
+2012300797,2012300797
+2012300798,2012300798
+2012300799,2012300799
+2012300800,2012300800
+2012300801,2012300801
+2012300802,2012300802
+2012300803,2012300803
+2012300804,2012300804
+2012300805,2012300805
+2012300806,2012300806
+2012300807,2012300807
+2012300808,2012300808
+2012300809,2012300809
+2012300810,2012300810
+2012300811,2012300811
+2012300812,2012300812
+2012300813,2012300813
+2012300814,2012300814
+2012300815,2012300815
+2012300816,2012300816
+2012300817,2012300817
+2012300818,2012300818
+2012300819,2012300819
+2012300820,2012300820
+2012300821,2012300821
+2012300822,2012300822
+2012300823,2012300823
+2012300824,2012300824
+2012300825,2012300825
+2012300826,2012300826
+2012300827,2012300827
+2012300828,2012300828
+2012300829,2012300829
+2012300830,2012300830
+2012300831,2012300831
+2012300832,2012300832
+2012300833,2012300833
+2012300834,2012300834
+2012300835,2012300835
+2012300836,2012300836
+2012300837,2012300837
+2012300838,2012300838
+2012300839,2012300839
+2012300840,2012300840
+2012300841,2012300841
+2012300842,2012300842
+2012300843,2012300843
+2012300844,2012300844
+2012300845,2012300845
+2012300846,2012300846
+2012300847,2012300847
+2012300848,2012300848
+2012300849,2012300849
+2012300850,2012300850
+2012300851,2012300851
+2012300852,2012300852
+2012300853,2012300853
+2012300854,2012300854
+2012300855,2012300855
+2012300856,2012300856
+2012300857,2012300857
+2012300858,2012300858
+2012300859,2012300859
+2012300860,2012300860
+2012300861,2012300861
+2012300862,2012300862
+2012300863,2012300863
+2012300864,2012300864
+2012300865,2012300865
+2012300866,2012300866
+2012300868,2012300868
+2012300869,2012300869
+2012300870,2012300870
+2012300871,2012300871
+2012300872,2012300872
+2012300873,2012300873
+2012300874,2012300874
+2012300875,2012300875
+2012300876,2012300876
+2012300878,2012300878
+2012300879,2012300879
+2012300880,2012300880
+2012300881,2012300881
+2012300882,2012300882
+2012300883,2012300883
+2012300884,2012300884
+2012300885,2012300885
+2012300886,2012300886
+2012300887,2012300887
+2012300888,2012300888
+2012300889,2012300889
+2012300890,2012300890
+2012300891,2012300891
+2012300892,2012300892
+2012300893,2012300893
+2012300894,2012300894
+2012300895,2012300895
+2012300896,2012300896
+2012300897,2012300897
+2012300898,2012300898
+2012300899,2012300899
+2012300900,2012300900
+2012300901,2012300901
+2012300902,2012300902
+2012300903,2012300903
+2012300904,2012300904
+2012300905,2012300905
+2012300906,2012300906
+2012300907,2012300907
+2012300908,2012300908
+2012300909,2012300909
+2012300910,2012300910
+2012300911,2012300911
+2012300912,2012300912
+2012300913,2012300913
+2012300914,2012300914
+2012300915,2012300915
+2012300916,2012300916
+2012300917,2012300917
+2012300918,2012300918
+2012300919,2012300919
+2012300920,2012300920
+2012300921,2012300921
+2012300922,2012300922
+2012300923,2012300923
+2012300924,2012300924
+2012300925,2012300925
+2012300926,2012300926
+2012300927,2012300927
+2012300928,2012300928
+2012300929,2012300929
+2012300930,2012300930
+2012300931,2012300931
+2012300932,2012300932
+2012300933,2012300933
+2012300934,2012300934
+2012300935,2012300935
+2012300936,2012300936
+2012300937,2012300937
+2012300938,2012300938
+2012300939,2012300939
+2012300940,2012300940
+2012300941,2012300941
+2012300942,2012300942
+2012300943,2012300943
+2012300944,2012300944
+2012300945,2012300945
+2012300946,2012300946
+2012300947,2012300947
+2012300948,2012300948
+2012300949,2012300949
+2012300950,2012300950
+2012300951,2012300951
+2012300952,2012300952
+2012300953,2012300953
+2012300954,2012300954
+2012300955,2012300955
+2012300956,2012300956
+2012300957,2012300957
+2012300958,2012300958
+2012300959,2012300959
+2012300960,2012300960
+2012300961,2012300961
+2012300962,2012300962
+2012300963,2012300963
+2012300964,2012300964
+2012300965,2012300965
+2012300966,2012300966
+2012300967,2012300967
+2012300968,2012300968
+2012300969,2012300969
+2012300970,2012300970
+2012300971,2012300971
+2012300972,2012300972
+2012300973,2012300973
+2012300974,2012300974
+2012300975,2012300975
+2012300976,2012300976
+2012300977,2012300977
+2012300978,2012300978
+2012300979,2012300979
+2012300980,2012300980
+2012300981,2012300981
+2012300982,2012300982
+2012300983,2012300983
+2012300984,2012300984
+2012300985,2012300985
+2012300986,2012300986
+2012300987,2012300987
+2012300988,2012300988
+2012300989,2012300989
+2012300990,2012300990
+2012300991,2012300991
+2012300992,2012300992
+2012300993,2012300993
+2012300994,2012300994
+2012300995,2012300995
+2012300996,2012300996
+2012300997,2012300997
+2012300998,2012300998
+2012300999,2012300999
+2012301000,2012301000
+2012301001,2012301001
+2012301002,2012301002
+2012301003,2012301003
+2012301004,2012301004
+2012301005,2012301005
+2012301006,2012301006
+2012301007,2012301007
+2012301008,2012301008
+2012301009,2012301009
+2012301010,2012301010
+2012301011,2012301011
+2012301012,2012301012
+2012301013,2012301013
+2012301014,2012301014
+2012301015,2012301015
+2012301016,2012301016
+2012301017,2012301017
+2012301018,2012301018
+2012301019,2012301019
+2012301020,2012301020
+2012301021,2012301021
+2012301022,2012301022
+2012301023,2012301023
+2012301024,2012301024
+2012301025,2012301025
+2012301026,2012301026
+2012301027,2012301027
+2012301028,2012301028
+2012301029,2012301029
+2012301030,2012301030
+2012301031,2012301031
+2012301032,2012301032
+2012301033,2012301033
+2012301034,2012301034
+2012301035,2012301035
+2012301036,2012301036
+2012301037,2012301037
+2012301038,2012301038
+2012301039,2012301039
+2012301040,2012301040
+2012301041,2012301041
+2012301042,2012301042
+2012301043,2012301043
+2012301044,2012301044
+2012301045,2012301045
+2012301046,2012301046
+2012301047,2012301047
+2012301048,2012301048
+2012301049,2012301049
+2012301050,2012301050
+2012301051,2012301051
+2012301052,2012301052
+2012301053,2012301053
+2012301054,2012301054
+2012301055,2012301055
+2012301056,2012301056
+2012301057,2012301057
+2012301058,2012301058
+2012301059,2012301059
+2012301060,2012301060
+2012301061,2012301061
+2012301062,2012301062
+2012301063,2012301063
+2012301064,2012301064
+2012301065,2012301065
+2012301066,2012301066
+2012301067,2012301067
+2012301068,2012301068
+2012301069,2012301069
+2012301070,2012301070
+2012301071,2012301071
+2012301072,2012301072
+2012301073,2012301073
+2012301074,2012301074
+2012301075,2012301075
+2012301076,2012301076
+2012301077,2012301077
+2012301078,2012301078
+2012301079,2012301079
+2012301080,2012301080
+2012301081,2012301081
+2012301082,2012301082
+2012301083,2012301083
+2012301084,2012301084
+2012301085,2012301085
+2012301086,2012301086
+2012301087,2012301087
+2012301088,2012301088
+2012301089,2012301089
+2012301090,2012301090
+2012301091,2012301091
+2012301092,2012301092
+2012301093,2012301093
+2012301094,2012301094
+2012301095,2012301095
+2012301096,2012301096
+2012301097,2012301097
+2012301098,2012301098
+2012301099,2012301099
+2012301100,2012301100
+2012301101,2012301101
+2012301102,2012301102
+2012301103,2012301103
+2012301104,2012301104
+2012301105,2012301105
+2012301106,2012301106
+2012301107,2012301107
+2012301108,2012301108
+2012301110,2012301110
+2012301111,2012301111
+2012301112,2012301112
+2012301113,2012301113
+2012301114,2012301114
+2012301115,2012301115
+2012301116,2012301116
+2012301117,2012301117
+2012301118,2012301118
+2012301119,2012301119
+2012301120,2012301120
+2012301121,2012301121
+2012301122,2012301122
+2012301123,2012301123
+2012301124,2012301124
+2012301125,2012301125
+2012301126,2012301126
+2012301127,2012301127
+2012301128,2012301128
+2012301129,2012301129
+2012301130,2012301130
+2012301131,2012301131
+2012301132,2012301132
+2012301133,2012301133
+2012301134,2012301134
+2012301135,2012301135
+2012301136,2012301136
+2012301137,2012301137
+2012301138,2012301138
+2012301139,2012301139
+2012301140,2012301140
+2012301141,2012301141
+2012301142,2012301142
+2012301143,2012301143
+2012301144,2012301144
+2012301145,2012301145
+2012301146,2012301146
+2012301147,2012301147
+2012301148,2012301148
+2012301149,2012301149
+2012301150,2012301150
+2012301151,2012301151
+2012301152,2012301152
+2012301153,2012301153
+2012301154,2012301154
+2012301155,2012301155
+2012301156,2012301156
+2012301157,2012301157
+2012301158,2012301158
+2012301159,2012301159
+2012301160,2012301160
+2012301161,2012301161
+2012301162,2012301162
+2012301163,2012301163
+2012301164,2012301164
+2012301165,2012301165
+2012301166,2012301166
+2012301167,2012301167
+2012301168,2012301168
+2012301169,2012301169
+2012301170,2012301170
+2012301171,2012301171
+2012301172,2012301172
+2012301173,2012301173
+2012301174,2012301174
+2012301175,2012301175
+2012301176,2012301176
+2012301177,2012301177
+2012301178,2012301178
+2012301179,2012301179
+2012301180,2012301180
+2012301181,2012301181
+2012301182,2012301182
+2012301183,2012301183
+2012301184,2012301184
+2012301185,2012301185
+2012301186,2012301186
+2012301187,2012301187
+2012301188,2012301188
+2012301189,2012301189
+2012301190,2012301190
+2012301191,2012301191
+2012301192,2012301192
+2012301193,2012301193
+2012301194,2012301194
+2012301195,2012301195
+2012301196,2012301196
+2012301197,2012301197
+2012301198,2012301198
+2012301199,2012301199
+2012301200,2012301200
+2012301201,2012301201
+2012301202,2012301202
+2012301203,2012301203
+2012301204,2012301204
+2012301205,2012301205
+2012301206,2012301206
+2012301207,2012301207
+2012301208,2012301208
+2012301209,2012301209
+2012301210,2012301210
+2012301211,2012301211
+2012301212,2012301212
+2012301213,2012301213
+2012301214,2012301214
+2012301215,2012301215
+2012301216,2012301216
+2012301217,2012301217
+2012301218,2012301218
+2012301219,2012301219
+2012301220,2012301220
+2012301221,2012301221
+2012301222,2012301222
+2012301223,2012301223
+2012301224,2012301224
+2012301225,2012301225
+2012301226,2012301226
+2012301227,2012301227
+2012301228,2012301228
+2012301229,2012301229
+2012301230,2012301230
+2012301231,2012301231
+2012301232,2012301232
+2012301233,2012301233
+2012301234,2012301234
+2012301235,2012301235
+2012301236,2012301236
+2012301237,2012301237
+2012301238,2012301238
+2012301239,2012301239
+2012301240,2012301240
+2012301241,2012301241
+2012301242,2012301242
+2012301243,2012301243
+2012301244,2012301244
+2012301245,2012301245
+2012301246,2012301246
+2012301247,2012301247
+2012301248,2012301248
+2012301249,2012301249
+2012301250,2012301250
+2012301251,2012301251
+2012301252,2012301252
+2012301253,2012301253
+2012301254,2012301254
+2012301255,2012301255
+2012301256,2012301256
+2012301257,2012301257
+2012301258,2012301258
+2012301259,2012301259
+2012301260,2012301260
+2012301261,2012301261
+2012301262,2012301262
+2012301263,2012301263
+2012301264,2012301264
+2012301265,2012301265
+2012301266,2012301266
+2012301267,2012301267
+2012301268,2012301268
+2012301269,2012301269
+2012301270,2012301270
+2012301271,2012301271
+2012301272,2012301272
+2012301273,2012301273
+2012301274,2012301274
+2012301275,2012301275
+2012301276,2012301276
+2012301277,2012301277
+2012301278,2012301278
+2012301279,2012301279
+2012301280,2012301280
+2012301281,2012301281
+2012301282,2012301282
+2012301283,2012301283
+2012301284,2012301284
+2012301285,2012301285
+2012301286,2012301286
+2012301287,2012301287
+2012301288,2012301288
+2012301289,2012301289
+2012301290,2012301290
+2012301291,2012301291
+2012301292,2012301292
+2012301293,2012301293
+2012301294,2012301294
+2012301295,2012301295
+2012301296,2012301296
+2012301297,2012301297
+2012301298,2012301298
+2012301299,2012301299
+2012301300,2012301300
+2012301301,2012301301
+2012301302,2012301302
+2012301303,2012301303
+2012301304,2012301304
+2012301305,2012301305
+2012301306,2012301306
+2012301307,2012301307
+2012301308,2012301308
+2012301309,2012301309
+2012301310,2012301310
+2012301311,2012301311
+2012301312,2012301312
+2012301313,2012301313
+2012301314,2012301314
+2012301315,2012301315
+2012301316,2012301316
+2012301317,2012301317
+2012301318,2012301318
+2012301319,2012301319
+2012301320,2012301320
+2012301321,2012301321
+2012301322,2012301322
+2012301323,2012301323
+2012301324,2012301324
+2012301325,2012301325
+2012301326,2012301326
+2012301327,2012301327
+2012301328,2012301328
+2012301329,2012301329
+2012301330,2012301330
+2012301331,2012301331
+2012301332,2012301332
+2012301333,2012301333
+2012301334,2012301334
+2012301335,2012301335
+2012301336,2012301336
+2012301337,2012301337
+2012301338,2012301338
+2012301339,2012301339
+2012301340,2012301340
+2012301341,2012301341
+2012301342,2012301342
+2012301343,2012301343
+2012301344,2012301344
+2012301345,2012301345
+2012301346,2012301346
+2012301347,2012301347
+2012301348,2012301348
+2012301349,2012301349
+2012301350,2012301350
+2012301351,2012301351
+2012301352,2012301352
+2012301353,2012301353
+2012301354,2012301354
+2012301355,2012301355
+2012301356,2012301356
+2012301357,2012301357
+2012301358,2012301358
+2012301359,2012301359
+2012301360,2012301360
+2012301361,2012301361
+2012301362,2012301362
+2012301363,2012301363
+2012301364,2012301364
+2012301365,2012301365
+2012301366,2012301366
+2012301367,2012301367
+2012301368,2012301368
+2012301369,2012301369
+2012301370,2012301370
+2012301371,2012301371
+2012301372,2012301372
+2012301373,2012301373
+2012301374,2012301374
+2012301375,2012301375
+2012301376,2012301376
+2012301377,2012301377
+2012301378,2012301378
+2012301379,2012301379
+2012301380,2012301380
+2012301381,2012301381
+2012301382,2012301382
+2012301383,2012301383
+2012301384,2012301384
+2012301385,2012301385
+2012301386,2012301386
+2012301387,2012301387
+2012301388,2012301388
+2012301389,2012301389
+2012301390,2012301390
+2012301391,2012301391
+2012301392,2012301392
+2012301393,2012301393
+2012301394,2012301394
+2012301395,2012301395
+2012301396,2012301396
+2012301397,2012301397
+2012301398,2012301398
+2012301399,2012301399
+2012301400,2012301400
+2012301401,2012301401
+2012301402,2012301402
+2012301403,2012301403
+2012301404,2012301404
+2012301405,2012301405
+2012301406,2012301406
+2012301407,2012301407
+2012301408,2012301408
+2012301409,2012301409
+2012301410,2012301410
+2012301411,2012301411
+2012301412,2012301412
+2012301414,2012301414
+2012301415,2012301415
+2012301416,2012301416
+2012301417,2012301417
+2012301418,2012301418
+2012301419,2012301419
+2012301420,2012301420
+2012301421,2012301421
+2012301422,2012301422
+2012301423,2012301423
+2012301424,2012301424
+2012301425,2012301425
+2012301426,2012301426
+2012301427,2012301427
+2012301428,2012301428
+2012301429,2012301429
+2012301430,2012301430
+2012301431,2012301431
+2012301432,2012301432
+2012301433,2012301433
+2012301434,2012301434
+2012301435,2012301435
+2012301436,2012301436
+2012301437,2012301437
+2012301438,2012301438
+2012301439,2012301439
+2012301440,2012301440
+2012301441,2012301441
+2012301442,2012301442
+2012301443,2012301443
+2012301444,2012301444
+2012301445,2012301445
+2012301446,2012301446
+2012301447,2012301447
+2012301448,2012301448
+2012301449,2012301449
+2012301450,2012301450
+2012301451,2012301451
+2012301452,2012301452
+2012301453,2012301453
+2012301454,2012301454
+2012301455,2012301455
+2012301456,2012301456
+2012301457,2012301457
+2012301458,2012301458
+2012301459,2012301459
+2012301460,2012301460
+2012301461,2012301461
+2012301462,2012301462
+2012301463,2012301463
+2012301464,2012301464
+2012301465,2012301465
+2012301466,2012301466
+2012301467,2012301467
+2012301468,2012301468
+2012301469,2012301469
+2012301470,2012301470
+2012301471,2012301471
+2012301472,2012301472
+2012301473,2012301473
+2012301474,2012301474
+2012301475,2012301475
+2012301476,2012301476
+2012301477,2012301477
+2012301478,2012301478
+2012301479,2012301479
+2012301480,2012301480
+2012301481,2012301481
+2012301482,2012301482
+2012301483,2012301483
+2012301484,2012301484
+2012301485,2012301485
+2012301486,2012301486
+2012301487,2012301487
+2012301488,2012301488
+2012301489,2012301489
+2012301490,2012301490
+2012301491,2012301491
+2012301492,2012301492
+2012301493,2012301493
+2012301494,2012301494
+2012301495,2012301495
+2012301496,2012301496
+2012301497,2012301497
+2012301498,2012301498
+2012301499,2012301499
+2012301500,2012301500
+2012301501,2012301501
+2012301502,2012301502
+2012301503,2012301503
+2012301504,2012301504
+2012301505,2012301505
+2012301506,2012301506
+2012301507,2012301507
+2012301508,2012301508
+2012301509,2012301509
+2012301510,2012301510
+2012301511,2012301511
+2012301512,2012301512
+2012301513,2012301513
+2012301514,2012301514
+2012301515,2012301515
+2012301516,2012301516
+2012301517,2012301517
+2012301518,2012301518
+2012301519,2012301519
+2012301520,2012301520
+2012301521,2012301521
+2012301522,2012301522
+2012301523,2012301523
+2012301524,2012301524
+2012301525,2012301525
+2012301526,2012301526
+2012301527,2012301527
+2012301528,2012301528
+2012301529,2012301529
+2012301530,2012301530
+2012301531,2012301531
+2012301532,2012301532
+2012301533,2012301533
+2012301534,2012301534
+2012301535,2012301535
+2012301536,2012301536
+2012301537,2012301537
+2012301538,2012301538
+2012301539,2012301539
+2012301540,2012301540
+2012301541,2012301541
+2012301542,2012301542
+2012301543,2012301543
+2012301544,2012301544
+2012301545,2012301545
+2012301546,2012301546
+2012301547,2012301547
+2012301548,2012301548
+2012301549,2012301549
+2012301550,2012301550
+2012301551,2012301551
+2012301552,2012301552
+2012301553,2012301553
+2012301554,2012301554
+2012301555,2012301555
+2012301556,2012301556
+2012301557,2012301557
+2012301558,2012301558
+2012301559,2012301559
+2012301560,2012301560
+2012301561,2012301561
+2012301562,2012301562
+2012301563,2012301563
+2012301564,2012301564
+2012301565,2012301565
+2012301566,2012301566
+2012301567,2012301567
+2012301568,2012301568
+2012301569,2012301569
+2012301570,2012301570
+2012301571,2012301571
+2012301572,2012301572
+2012301573,2012301573
+2012301574,2012301574
+2012301575,2012301575
+2012301576,2012301576
+2012301577,2012301577
+2012301578,2012301578
+2012301579,2012301579
+2012301580,2012301580
+2012301581,2012301581
+2012301582,2012301582
+2012301583,2012301583
+2012301584,2012301584
+2012301585,2012301585
+2012301586,2012301586
+2012301587,2012301587
+2012301588,2012301588
+2012301589,2012301589
+2012301590,2012301590
+2012301591,2012301591
+2012301592,2012301592
+2012301593,2012301593
+2012301594,2012301594
+2012301595,2012301595
+2012301596,2012301596
+2012301597,2012301597
+2012301598,2012301598
+2012301599,2012301599
+2012301600,2012301600
+2012301601,2012301601
+2012301602,2012301602
+2012301603,2012301603
+2012301604,2012301604
+2012301605,2012301605
+2012301606,2012301606
+2012301607,2012301607
+2012301608,2012301608
+2012301609,2012301609
+2012301610,2012301610
+2012301611,2012301611
+2012301612,2012301612
+2012301613,2012301613
+2012301614,2012301614
+2012301615,2012301615
+2012301616,2012301616
+2012301617,2012301617
+2012301618,2012301618
+2012301619,2012301619
+2012301620,2012301620
+2012301621,2012301621
+2012301622,2012301622
+2012301623,2012301623
+2012301624,2012301624
+2012301625,2012301625
+2012301626,2012301626
+2012301627,2012301627
+2012301628,2012301628
+2012301629,2012301629
+2012301630,2012301630
+2012301631,2012301631
+2012301632,2012301632
+2012301633,2012301633
+2012301634,2012301634
+2012301635,2012301635
+2012301636,2012301636
+2012301637,2012301637
+2012301638,2012301638
+2012301639,2012301639
+2012301640,2012301640
+2012301641,2012301641
+2012301642,2012301642
+2012301643,2012301643
+2012301644,2012301644
+2012301645,2012301645
+2012301646,2012301646
+2012301647,2012301647
+2012301648,2012301648
+2012301649,2012301649
+2012301650,2012301650
+2012301651,2012301651
+2012301652,2012301652
+2012301653,2012301653
+2012301654,2012301654
+2012301655,2012301655
+2012301656,2012301656
+2012301657,2012301657
+2012301658,2012301658
+2012301659,2012301659
+2012301660,2012301660
+2012301661,2012301661
+2012301662,2012301662
+2012301663,2012301663
+2012301664,2012301664
+2012301665,2012301665
+2012301666,2012301666
+2012301667,2012301667
+2012301668,2012301668
+2012301669,2012301669
+2012301670,2012301670
+2012301671,2012301671
+2012301672,2012301672
+2012301673,2012301673
+2012301674,2012301674
+2012301675,2012301675
+2012301676,2012301676
+2012301677,2012301677
+2012301678,2012301678
+2012301679,2012301679
+2012301680,2012301680
+2012301681,2012301681
+2012301682,2012301682
+2012301683,2012301683
+2012301684,2012301684
+2012301685,2012301685
+2012301686,2012301686
+2012301687,2012301687
+2012301688,2012301688
+2012301689,2012301689
+2012301690,2012301690
+2012301691,2012301691
+2012301692,2012301692
+2012301693,2012301693
+2012301694,2012301694
+2012301695,2012301695
+2012301696,2012301696
+2012301697,2012301697
+2012301698,2012301698
+2012301699,2012301699
+2012301700,2012301700
+2012301701,2012301701
+2012301702,2012301702
+2012301703,2012301703
+2012301704,2012301704
+2012301705,2012301705
+2012301706,2012301706
+2012301707,2012301707
+2012301708,2012301708
+2012301709,2012301709
+2012301710,2012301710
+2012301711,2012301711
+2012301712,2012301712
+2012301713,2012301713
+2012301714,2012301714
+2012301715,2012301715
+2012301716,2012301716
+2012301717,2012301717
+2012301718,2012301718
+2012301719,2012301719
+2012301720,2012301720
+2012301721,2012301721
+2012301722,2012301722
+2012301723,2012301723
+2012301724,2012301724
+2012301725,2012301725
+2012301726,2012301726
+2012301727,2012301727
+2012301728,2012301728
+2012301729,2012301729
+2012301730,2012301730
+2012301731,2012301731
+2012301732,2012301732
+2012301733,2012301733
+2012301734,2012301734
+2012301735,2012301735
+2012301736,2012301736
+2012301737,2012301737
+2012301738,2012301738
+2012301739,2012301739
+2012301740,2012301740
+2012301741,2012301741
+2012301742,2012301742
+2012301743,2012301743
+2012301744,2012301744
+2012301745,2012301745
+2012301746,2012301746
+2012301747,2012301747
+2012301748,2012301748
+2012301749,2012301749
+2012301750,2012301750
+2012301751,2012301751
+2012301752,2012301752
+2012301753,2012301753
+2012301754,2012301754
+2012301755,2012301755
+2012301756,2012301756
+2012301757,2012301757
+2012301758,2012301758
+2012301759,2012301759
+2012301760,2012301760
+2012301761,2012301761
+2012301762,2012301762
+2012301763,2012301763
+2012301764,2012301764
+2012301765,2012301765
+2012301766,2012301766
+2012301767,2012301767
+2012301768,2012301768
+2012301769,2012301769
+2012301770,2012301770
+2012301771,2012301771
+2012301772,2012301772
+2012301773,2012301773
+2012301774,2012301774
+2012301775,2012301775
+2012301776,2012301776
+2012301777,2012301777
+2012301778,2012301778
+2012301779,2012301779
+2012301780,2012301780
+2012301781,2012301781
+2012301782,2012301782
+2012301783,2012301783
+2012301784,2012301784
+2012301785,2012301785
+2012301786,2012301786
+2012301787,2012301787
+2012301788,2012301788
+2012301789,2012301789
+2012301790,2012301790
+2012301791,2012301791
+2012301792,2012301792
+2012301793,2012301793
+2012301794,2012301794
+2012301795,2012301795
+2012301796,2012301796
+2012301797,2012301797
+2012301798,2012301798
+2012301799,2012301799
+2012301800,2012301800
+2012301801,2012301801
+2012301802,2012301802
+2012301803,2012301803
+2012301804,2012301804
+2012301805,2012301805
+2012301806,2012301806
+2012301807,2012301807
+2012301808,2012301808
+2012301809,2012301809
+2012301810,2012301810
+2012301811,2012301811
+2012301812,2012301812
+2012301813,2012301813
+2012301814,2012301814
+2012301815,2012301815
+2012301816,2012301816
+2012301817,2012301817
+2012301818,2012301818
+2012301819,2012301819
+2012301820,2012301820
+2012301821,2012301821
+2012301822,2012301822
+2012301823,2012301823
+2012301824,2012301824
+2012301825,2012301825
+2012301826,2012301826
+2012301827,2012301827
+2012301828,2012301828
+2012301829,2012301829
+2012301830,2012301830
+2012301831,2012301831
+2012301832,2012301832
+2012301833,2012301833
+2012301834,2012301834
+2012301835,2012301835
+2012301836,2012301836
+2012301837,2012301837
+2012301838,2012301838
+2012301839,2012301839
+2012301840,2012301840
+2012301841,2012301841
+2012301842,2012301842
+2012301843,2012301843
+2012301844,2012301844
+2012301845,2012301845
+2012301846,2012301846
+2012301847,2012301847
+2012301848,2012301848
+2012301849,2012301849
+2012301850,2012301850
+2012301851,2012301851
+2012301852,2012301852
+2012301853,2012301853
+2012301854,2012301854
+2012301855,2012301855
+2012301856,2012301856
+2012301857,2012301857
+2012301858,2012301858
+2012301859,2012301859
+2012301860,2012301860
+2012301861,2012301861
+2012301862,2012301862
+2012301863,2012301863
+2012301864,2012301864
+2012301865,2012301865
+2012301866,2012301866
+2012301867,2012301867
+2012301868,2012301868
+2012301869,2012301869
+2012301870,2012301870
+2012301871,2012301871
+2012301872,2012301872
+2012301873,2012301873
+2012301874,2012301874
+2012301875,2012301875
+2012301876,2012301876
+2012301877,2012301877
+2012301878,2012301878
+2012301879,2012301879
+2012301880,2012301880
+2012301881,2012301881
+2012301882,2012301882
+2012301883,2012301883
+2012301884,2012301884
+2012301885,2012301885
+2012301886,2012301886
+2012301887,2012301887
+2012301888,2012301888
+2012301889,2012301889
+2012301890,2012301890
+2012301891,2012301891
+2012301892,2012301892
+2012301893,2012301893
+2012301894,2012301894
+2012301895,2012301895
+2012301896,2012301896
+2012301897,2012301897
+2012301898,2012301898
+2012301899,2012301899
+2012301900,2012301900
+2012301901,2012301901
+2012301902,2012301902
+2012301903,2012301903
+2012301904,2012301904
+2012301905,2012301905
+2012301906,2012301906
+2012301907,2012301907
+2012301908,2012301908
+2012301909,2012301909
+2012301910,2012301910
+2012301911,2012301911
+2012301912,2012301912
+2012301913,2012301913
+2012301914,2012301914
+2012301915,2012301915
+2012301916,2012301916
+2012301917,2012301917
+2012301918,2012301918
+2012301919,2012301919
+2012301920,2012301920
+2012301921,2012301921
+2012301922,2012301922
+2012301923,2012301923
+2012301924,2012301924
+2012301925,2012301925
+2012301926,2012301926
+2012301927,2012301927
+2012301928,2012301928
+2012301929,2012301929
+2012301930,2012301930
+2012301931,2012301931
+2012301932,2012301932
+2012301933,2012301933
+2012301934,2012301934
+2012301935,2012301935
+2012301936,2012301936
+2012301937,2012301937
+2012301938,2012301938
+2012301939,2012301939
+2012301940,2012301940
+2012301941,2012301941
+2012301942,2012301942
+2012301943,2012301943
+2012301944,2012301944
+2012301945,2012301945
+2012301946,2012301946
+2012301947,2012301947
+2012301948,2012301948
+2012301949,2012301949
+2012301950,2012301950
+2012301951,2012301951
+2012301952,2012301952
+2012301953,2012301953
+2012301954,2012301954
+2012301955,2012301955
+2012301956,2012301956
+2012301957,2012301957
+2012301958,2012301958
+2012301959,2012301959
+2012301960,2012301960
+2012301961,2012301961
+2012301962,2012301962
+2012301963,2012301963
+2012301964,2012301964
+2012301965,2012301965
+2012301966,2012301966
+2012301967,2012301967
+2012301968,2012301968
+2012301969,2012301969
+2012301970,2012301970
+2012301971,2012301971
+2012301972,2012301972
+2012301973,2012301973
+2012301974,2012301974
+2012301975,2012301975
+2012301976,2012301976
+2012301977,2012301977
+2012301978,2012301978
+2012301979,2012301979
+2012301980,2012301980
+2012301981,2012301981
+2012301982,2012301982
+2012301983,2012301983
+2012301984,2012301984
+2012301985,2012301985
+2012301986,2012301986
+2012301987,2012301987
+2012301988,2012301988
+2012301989,2012301989
+2012301990,2012301990
+2012301991,2012301991
+2012301992,2012301992
+2012301993,2012301993
+2012301994,2012301994
+2012301995,2012301995
+2012301996,2012301996
+2012301997,2012301997
+2012301998,2012301998
+2012301999,2012301999
+2012302000,2012302000
+2012302001,2012302001
+2012302002,2012302002
+2012302003,2012302003
+2012302004,2012302004
+2012302005,2012302005
+2012302006,2012302006
+2012302007,2012302007
+2012302008,2012302008
+2012302009,2012302009
+2012302010,2012302010
+2012302011,2012302011
+2012302012,2012302012
+2012302013,2012302013
+2012302014,2012302014
+2012302015,2012302015
+2012302016,2012302016
+2012302017,2012302017
+2012302018,2012302018
+2012302019,2012302019
+2012302020,2012302020
+2012302021,2012302021
+2012302022,2012302022
+2012302023,2012302023
+2012302024,2012302024
+2012302025,2012302025
+2012302026,2012302026
+2012302027,2012302027
+2012302028,2012302028
+2012302029,2012302029
+2012302030,2012302030
+2012302031,2012302031
+2012302032,2012302032
+2012302033,2012302033
+2012302034,2012302034
+2012302035,2012302035
+2012302036,2012302036
+2012302037,2012302037
+2012302038,2012302038
+2012302039,2012302039
+2012302040,2012302040
+2012302041,2012302041
+2012302042,2012302042
+2012302043,2012302043
+2012302044,2012302044
+2012302045,2012302045
+2012302046,2012302046
+2012302047,2012302047
+2012302048,2012302048
+2012302049,2012302049
+2012302050,2012302050
+2012302051,2012302051
+2012302052,2012302052
+2012302053,2012302053
+2012302054,2012302054
+2012302055,2012302055
+2012302056,2012302056
+2012302057,2012302057
+2012302058,2012302058
+2012302059,2012302059
+2012302060,2012302060
+2012302061,2012302061
+2012302062,2012302062
+2012302063,2012302063
+2012302064,2012302064
+2012302065,2012302065
+2012302066,2012302066
+2012302067,2012302067
+2012302068,2012302068
+2012302069,2012302069
+2012302070,2012302070
+2012302071,2012302071
+2012302072,2012302072
+2012302073,2012302073
+2012302074,2012302074
+2012302075,2012302075
+2012302076,2012302076
+2012302077,2012302077
+2012302078,2012302078
+2012302079,2012302079
+2012302080,2012302080
+2012302081,2012302081
+2012302082,2012302082
+2012302083,2012302083
+2012302084,2012302084
+2012302085,2012302085
+2012302086,2012302086
+2012302087,2012302087
+2012302088,2012302088
+2012302089,2012302089
+2012302090,2012302090
+2012302091,2012302091
+2012302092,2012302092
+2012302093,2012302093
+2012302094,2012302094
+2012302095,2012302095
+2012302096,2012302096
+2012302097,2012302097
+2012302098,2012302098
+2012302099,2012302099
+2012302100,2012302100
+2012302101,2012302101
+2012302102,2012302102
+2012302103,2012302103
+2012302104,2012302104
+2012302105,2012302105
+2012302106,2012302106
+2012302107,2012302107
+2012302108,2012302108
+2012302109,2012302109
+2012302110,2012302110
+2012302111,2012302111
+2012302112,2012302112
+2012302113,2012302113
+2012302114,2012302114
+2012302115,2012302115
+2012302116,2012302116
+2012302117,2012302117
+2012302118,2012302118
+2012302119,2012302119
+2012302120,2012302120
+2012302121,2012302121
+2012302122,2012302122
+2012302123,2012302123
+2012302124,2012302124
+2012302125,2012302125
+2012302126,2012302126
+2012302127,2012302127
+2012302128,2012302128
+2012302129,2012302129
+2012302130,2012302130
+2012302131,2012302131
+2012302132,2012302132
+2012302133,2012302133
+2012302134,2012302134
+2012302135,2012302135
+2012302136,2012302136
+2012302137,2012302137
+2012302138,2012302138
+2012302139,2012302139
+2012302140,2012302140
+2012302141,2012302141
+2012302142,2012302142
+2012302143,2012302143
+2012302144,2012302144
+2012302145,2012302145
+2012302146,2012302146
+2012302147,2012302147
+2012302148,2012302148
+2012302149,2012302149
+2012302150,2012302150
+2012302151,2012302151
+2012302152,2012302152
+2012302153,2012302153
+2012302154,2012302154
+2012302155,2012302155
+2012302156,2012302156
+2012302157,2012302157
+2012302158,2012302158
+2012302159,2012302159
+2012302160,2012302160
+2012302161,2012302161
+2012302162,2012302162
+2012302163,2012302163
+2012302164,2012302164
+2012302165,2012302165
+2012302166,2012302166
+2012302167,2012302167
+2012302168,2012302168
+2012302169,2012302169
+2012302170,2012302170
+2012302171,2012302171
+2012302172,2012302172
+2012302173,2012302173
+2012302174,2012302174
+2012302175,2012302175
+2012302176,2012302176
+2012302177,2012302177
+2012302178,2012302178
+2012302179,2012302179
+2012302180,2012302180
+2012302181,2012302181
+2012302182,2012302182
+2012302183,2012302183
+2012302184,2012302184
+2012302185,2012302185
+2012302186,2012302186
+2012302187,2012302187
+2012302188,2012302188
+2012302189,2012302189
+2012302190,2012302190
+2012302191,2012302191
+2012302192,2012302192
+2012302193,2012302193
+2012302194,2012302194
+2012302195,2012302195
+2012302196,2012302196
+2012302197,2012302197
+2012302198,2012302198
+2012302199,2012302199
+2012302200,2012302200
+2012302201,2012302201
+2012302202,2012302202
+2012302203,2012302203
+2012302204,2012302204
+2012302205,2012302205
+2012302206,2012302206
+2012302207,2012302207
+2012302208,2012302208
+2012302209,2012302209
+2012302210,2012302210
+2012302211,2012302211
+2012302212,2012302212
+2012302213,2012302213
+2012302214,2012302214
+2012302215,2012302215
+2012302216,2012302216
+2012302217,2012302217
+2012302218,2012302218
+2012302219,2012302219
+2012302220,2012302220
+2012302221,2012302221
+2012302222,2012302222
+2012302223,2012302223
+2012302224,2012302224
+2012302225,2012302225
+2012302226,2012302226
+2012302227,2012302227
+2012302228,2012302228
+2012302229,2012302229
+2012302230,2012302230
+2012302231,2012302231
+2012302232,2012302232
+2012302233,2012302233
+2012302234,2012302234
+2012302235,2012302235
+2012302236,2012302236
+2012302237,2012302237
+2012302238,2012302238
+2012302239,2012302239
+2012302240,2012302240
+2012302241,2012302241
+2012302242,2012302242
+2012302243,2012302243
+2012302244,2012302244
+2012302245,2012302245
+2012302246,2012302246
+2012302247,2012302247
+2012302248,2012302248
+2012302249,2012302249
+2012302250,2012302250
+2012302251,2012302251
+2012302253,2012302253
+2012302254,2012302254
+2012302255,2012302255
+2012302256,2012302256
+2012302257,2012302257
+2012302258,2012302258
+2012302259,2012302259
+2012302260,2012302260
+2012302261,2012302261
+2012302262,2012302262
+2012302263,2012302263
+2012302264,2012302264
+2012302265,2012302265
+2012302266,2012302266
+2012302267,2012302267
+2012302268,2012302268
+2012302269,2012302269
+2012302270,2012302270
+2012302271,2012302271
+2012302272,2012302272
+2012302273,2012302273
+2012302274,2012302274
+2012302275,2012302275
+2012302276,2012302276
+2012302277,2012302277
+2012302278,2012302278
+2012302279,2012302279
+2012302280,2012302280
+2012302281,2012302281
+2012302282,2012302282
+2012302283,2012302283
+2012302284,2012302284
+2012302285,2012302285
+2012302286,2012302286
+2012302287,2012302287
+2012302288,2012302288
+2012302289,2012302289
+2012302290,2012302290
+2012302291,2012302291
+2012302292,2012302292
+2012302293,2012302293
+2012302294,2012302294
+2012302295,2012302295
+2012302296,2012302296
+2012302297,2012302297
+2012302298,2012302298
+2012302299,2012302299
+2012302300,2012302300
+2012302301,2012302301
+2012302302,2012302302
+2012302303,2012302303
+2012302304,2012302304
+2012302305,2012302305
+2012302306,2012302306
+2012302307,2012302307
+2012302308,2012302308
+2012302309,2012302309
+2012302310,2012302310
+2012302311,2012302311
+2012302312,2012302312
+2012302313,2012302313
+2012302314,2012302314
+2012302315,2012302315
+2012302316,2012302316
+2012302317,2012302317
+2012302318,2012302318
+2012302319,2012302319
+2012302320,2012302320
+2012302321,2012302321
+2012302322,2012302322
+2012302323,2012302323
+2012302324,2012302324
+2012302325,2012302325
+2012302326,2012302326
+2012302327,2012302327
+2012302328,2012302328
+2012302329,2012302329
+2012302330,2012302330
+2012302331,2012302331
+2012302332,2012302332
+2012302333,2012302333
+2012302334,2012302334
+2012302335,2012302335
+2012302336,2012302336
+2012302337,2012302337
+2012302338,2012302338
+2012302339,2012302339
+2012302340,2012302340
+2012302341,2012302341
+2012302342,2012302342
+2012302343,2012302343
+2012302344,2012302344
+2012302345,2012302345
+2012302346,2012302346
+2012302347,2012302347
+2012302348,2012302348
+2012302349,2012302349
+2012302350,2012302350
+2012302351,2012302351
+2012302352,2012302352
+2012302353,2012302353
+2012302354,2012302354
+2012302355,2012302355
+2012302356,2012302356
+2012302357,2012302357
+2012302358,2012302358
+2012302359,2012302359
+2012302360,2012302360
+2012302361,2012302361
+2012302362,2012302362
+2012302363,2012302363
+2012302364,2012302364
+2012302365,2012302365
+2012302366,2012302366
+2012302367,2012302367
+2012302368,2012302368
+2012302369,2012302369
+2012302370,2012302370
+2012302371,2012302371
+2012302372,2012302372
+2012302373,2012302373
+2012302374,2012302374
+2012302375,2012302375
+2012302376,2012302376
+2012302377,2012302377
+2012302378,2012302378
+2012302379,2012302379
+2012302380,2012302380
+2012302381,2012302381
+2012302382,2012302382
+2012302383,2012302383
+2012302384,2012302384
+2012302385,2012302385
+2012302386,2012302386
+2012302387,2012302387
+2012302388,2012302388
+2012302389,2012302389
+2012302390,2012302390
+2012302391,2012302391
+2012302392,2012302392
+2012302393,2012302393
+2012302394,2012302394
+2012302395,2012302395
+2012302396,2012302396
+2012302397,2012302397
+2012302398,2012302398
+2012302399,2012302399
+2012302400,2012302400
+2012302401,2012302401
+2012302402,2012302402
+2012302403,2012302403
+2012302404,2012302404
+2012302405,2012302405
+2012302406,2012302406
+2012302407,2012302407
+2012302408,2012302408
+2012302409,2012302409
+2012302410,2012302410
+2012302411,2012302411
+2012302412,2012302412
+2012302413,2012302413
+2012302414,2012302414
+2012302415,2012302415
+2012302416,2012302416
+2012302418,2012302418
+2012302419,2012302419
+2012302420,2012302420
+2012302421,2012302421
+2012302422,2012302422
+2012302423,2012302423
+2012302424,2012302424
+2012302425,2012302425
+2012302426,2012302426
+2012302427,2012302427
+2012302428,2012302428
+2012302429,2012302429
+2012302430,2012302430
+2012302431,2012302431
+2012302432,2012302432
+2012302433,2012302433
+2012302434,2012302434
+2012302435,2012302435
+2012302436,2012302436
+2012302437,2012302437
+2012302438,2012302438
+2012302439,2012302439
+2012302440,2012302440
+2012302441,2012302441
+2012302442,2012302442
+2012302443,2012302443
+2012302444,2012302444
+2012302445,2012302445
+2012302446,2012302446
+2012302447,2012302447
+2012302448,2012302448
+2012302449,2012302449
+2012302450,2012302450
+2012302451,2012302451
+2012302452,2012302452
+2012302453,2012302453
+2012302454,2012302454
+2012302455,2012302455
+2012302456,2012302456
+2012302457,2012302457
+2012302458,2012302458
+2012302459,2012302459
+2012302460,2012302460
+2012302461,2012302461
+2012302462,2012302462
+2012302463,2012302463
+2012302464,2012302464
+2012302465,2012302465
+2012302466,2012302466
+2012302467,2012302467
+2012302468,2012302468
+2012302469,2012302469
+2012302470,2012302470
+2012302471,2012302471
+2012302472,2012302472
+2012302474,2012302474
+2012302475,2012302475
+2012302476,2012302476
+2012302477,2012302477
+2012302478,2012302478
+2012302479,2012302479
+2012302480,2012302480
+2012302481,2012302481
+2012302483,2012302483
+2012302484,2012302484
+2012302485,2012302485
+2012302486,2012302486
+2012302487,2012302487
+2012302488,2012302488
+2012302489,2012302489
+2012302490,2012302490
+2012302491,2012302491
+2012302492,2012302492
+2012302493,2012302493
+2012302494,2012302494
+2012302495,2012302495
+2012302496,2012302496
+2012302497,2012302497
+2012302498,2012302498
+2012302499,2012302499
+2012302500,2012302500
+2012302501,2012302501
+2012302502,2012302502
+2012302503,2012302503
+2012302504,2012302504
+2012302505,2012302505
+2012302506,2012302506
+2012302507,2012302507
+2012302508,2012302508
+2012302509,2012302509
+2012302510,2012302510
+2012302511,2012302511
+2012302512,2012302512
+2012302513,2012302513
+2012302514,2012302514
+2012302515,2012302515
+2012302516,2012302516
+2012302517,2012302517
+2012302518,2012302518
+2012302519,2012302519
+2012302520,2012302520
+2012302521,2012302521
+2012302522,2012302522
+2012302523,2012302523
+2012302524,2012302524
+2012302525,2012302525
+2012302526,2012302526
+2012302527,2012302527
+2012302528,2012302528
+2012302529,2012302529
+2012302530,2012302530
+2012302531,2012302531
+2012302532,2012302532
+2012302533,2012302533
+2012302534,2012302534
+2012302535,2012302535
+2012302536,2012302536
+2012302537,2012302537
+2012302538,2012302538
+2012302539,2012302539
+2012302540,2012302540
+2012302541,2012302541
+2012302542,2012302542
+2012302543,2012302543
+2012302544,2012302544
+2012302545,2012302545
+2012302546,2012302546
+2012302547,2012302547
+2012302548,2012302548
+2012302549,2012302549
+2012302550,2012302550
+2012302551,2012302551
+2012302552,2012302552
+2012302553,2012302553
+2012302554,2012302554
+2012302555,2012302555
+2012302556,2012302556
+2012302557,2012302557
+2012302558,2012302558
+2012302559,2012302559
+2012302560,2012302560
+2012302561,2012302561
+2012302562,2012302562
+2012302563,2012302563
+2012302564,2012302564
+2012302565,2012302565
+2012302566,2012302566
+2012302567,2012302567
+2012302568,2012302568
+2012302569,2012302569
+2012302570,2012302570
+2012302571,2012302571
+2012302572,2012302572
+2012302573,2012302573
+2012302574,2012302574
+2012302575,2012302575
+2012302576,2012302576
+2012302577,2012302577
+2012302578,2012302578
+2012302579,2012302579
+2012302580,2012302580
+2012302581,2012302581
+2012302582,2012302582
+2012302583,2012302583
+2012302584,2012302584
+2012302585,2012302585
+2012302586,2012302586
+2012302587,2012302587
+2012302588,2012302588
+2012302589,2012302589
+2012302590,2012302590
+2012302591,2012302591
+2012302592,2012302592
+2012302593,2012302593
+2012302594,2012302594
+2012302595,2012302595
+2012302596,2012302596
+2012302597,2012302597
+2012302598,2012302598
+2012302599,2012302599
+2012302600,2012302600
+2012302601,2012302601
+2012302602,2012302602
+2012302603,2012302603
+2012302604,2012302604
+2012302605,2012302605
+2012302606,2012302606
+2012302607,2012302607
+2012302608,2012302608
+2012302609,2012302609
+2012302610,2012302610
+2012302611,2012302611
+2012302612,2012302612
+2012302613,2012302613
+2012302614,2012302614
+2012302615,2012302615
+2012302616,2012302616
+2012302617,2012302617
+2012302618,2012302618
+2012302619,2012302619
+2012302620,2012302620
+2012302621,2012302621
+2012302622,2012302622
+2012302623,2012302623
+2012302624,2012302624
+2012302625,2012302625
+2012302626,2012302626
+2012302627,2012302627
+2012302628,2012302628
+2012302629,2012302629
+2012302630,2012302630
+2012302631,2012302631
+2012302632,2012302632
+2012302633,2012302633
+2012302634,2012302634
+2012302635,2012302635
+2012302636,2012302636
+2012302637,2012302637
+2012302638,2012302638
+2012302639,2012302639
+2012302640,2012302640
+2012302641,2012302641
+2012302642,2012302642
+2012302643,2012302643
+2012302644,2012302644
+2012302645,2012302645
+2012302646,2012302646
+2012302647,2012302647
+2012302648,2012302648
+2012302650,2012302650
+2012302651,2012302651
+2012302652,2012302652
+2012302653,2012302653
+2012302654,2012302654
+2012302655,2012302655
+2012302656,2012302656
+2012302657,2012302657
+2012302658,2012302658
+2012302659,2012302659
+2012302660,2012302660
+2012302661,2012302661
+2012302662,2012302662
+2012302663,2012302663
+2012302664,2012302664
+2012302665,2012302665
+2012302666,2012302666
+2012302667,2012302667
+2012302668,2012302668
+2012302669,2012302669
+2012302670,2012302670
+2012302671,2012302671
+2012302672,2012302672
+2012302673,2012302673
+2012302674,2012302674
+2012302675,2012302675
+2012302676,2012302676
+2012302677,2012302677
+2012302678,2012302678
+2012302679,2012302679
+2012302680,2012302680
+2012302681,2012302681
+2012302682,2012302682
+2012302683,2012302683
+2012302684,2012302684
+2012302685,2012302685
+2012302686,2012302686
+2012302687,2012302687
+2012302688,2012302688
+2012302689,2012302689
+2012302690,2012302690
+2012302691,2012302691
+2012302692,2012302692
+2012302693,2012302693
+2012302694,2012302694
+2012302695,2012302695
+2012302696,2012302696
+2012302697,2012302697
+2012302698,2012302698
+2012302699,2012302699
+2012302700,2012302700
+2012302702,2012302702
+2012302703,2012302703
+2012302704,2012302704
+2012302705,2012302705
+2012302706,2012302706
+2012302707,2012302707
+2012302708,2012302708
+2012302709,2012302709
+2012302711,2012302711
+2012302712,2012302712
+2012302713,2012302713
+2012302714,2012302714
+2012302715,2012302715
+2012302716,2012302716
+2012302717,2012302717
+2012302718,2012302718
+2012302719,2012302719
+2012302720,2012302720
+2012302721,2012302721
+2012302722,2012302722
+2012302723,2012302723
+2012302724,2012302724
+2012302725,2012302725
+2012302726,2012302726
+2012302727,2012302727
+2012302728,2012302728
+2012302729,2012302729
+2012302730,2012302730
+2012302731,2012302731
+2012302732,2012302732
+2012302733,2012302733
+2012302734,2012302734
+2012302735,2012302735
+2012302736,2012302736
+2012302737,2012302737
+2012302738,2012302738
+2012302739,2012302739
+2012302740,2012302740
+2012302741,2012302741
+2012302742,2012302742
+2012302743,2012302743
+2012302744,2012302744
+2012302745,2012302745
+2012302746,2012302746
+2012302747,2012302747
+2012302748,2012302748
+2012302749,2012302749
+2012302750,2012302750
+2012302752,2012302752
+2012302753,2012302753
+2012302754,2012302754
+2012302755,2012302755
+2012302756,2012302756
+2012302757,2012302757
+2012302758,2012302758
+2012302759,2012302759
+2012302760,2012302760
+2012302761,2012302761
+2012302762,2012302762
+2012302763,2012302763
+2012302764,2012302764
+2012302765,2012302765
+2012302766,2012302766
+2012302767,2012302767
+2012302768,2012302768
+2012302769,2012302769
+2012302770,2012302770
+2012302771,2012302771
+2012302772,2012302772
+2012302773,2012302773
+2012302774,2012302774
+2012302775,2012302775
+2012302776,2012302776
+2012302777,2012302777
+2012302778,2012302778
+2012302779,2012302779
+2012302780,2012302780
+2012302781,2012302781
+2012302782,2012302782
+2012302783,2012302783
+2012302784,2012302784
+2012302785,2012302785
+2012302786,2012302786
+2012302787,2012302787
+2012302788,2012302788
+2012302789,2012302789
+2012302790,2012302790
+2012302791,2012302791
+2012302792,2012302792
+2012302793,2012302793
+2012302794,2012302794
+2012302795,2012302795
+2012302796,2012302796
+2012302797,2012302797
+2012302798,2012302798
+2012302799,2012302799
+2012302800,2012302800
+2012302801,2012302801
+2012302802,2012302802
+2012302803,2012302803
+2012302804,2012302804
+2012302805,2012302805
+2012302806,2012302806
+2012302807,2012302807
+2012302808,2012302808
+2012302809,2012302809
+2012302810,2012302810
+2012302811,2012302811
+2012302812,2012302812
+2012302813,2012302813
+2012302814,2012302814
+2012302815,2012302815
+2012302816,2012302816
+2012302817,2012302817
+2012302818,2012302818
+2012302819,2012302819
+2012302820,2012302820
+2012302821,2012302821
+2012302822,2012302822
+2012302823,2012302823
+2012302824,2012302824
+2012302825,2012302825
+2012302826,2012302826
+2012302828,2012302828
+2012302829,2012302829
+2012302830,2012302830
+2012302831,2012302831
+2012302832,2012302832
+2012302833,2012302833
+2012302834,2012302834
+2012302835,2012302835
+2012302836,2012302836
+2012302837,2012302837
+2012302838,2012302838
+2012302839,2012302839
+2012302840,2012302840
+2012302841,2012302841
+2012302842,2012302842
+2012302843,2012302843
+2012302844,2012302844
+2012302845,2012302845
+2012302846,2012302846
+2012302847,2012302847
+2012302848,2012302848
+2012302849,2012302849
+2012302851,2012302851
+2012302852,2012302852
+2012302853,2012302853
+2012302854,2012302854
+2012302855,2012302855
+2012302856,2012302856
+2012302857,2012302857
+2012302858,2012302858
+2012302859,2012302859
+2012302860,2012302860
+2012302861,2012302861
+2012302862,2012302862
+2012302863,2012302863
+2012302864,2012302864
+2012302865,2012302865
+2012302866,2012302866
+2012302867,2012302867
+2012302868,2012302868
+2012302869,2012302869
+2012302870,2012302870
+2012302871,2012302871
+2012302872,2012302872
+2012302873,2012302873
+2012302874,2012302874
+2012302875,2012302875
+2012302876,2012302876
+2012302877,2012302877
+2012302878,2012302878
+2012302879,2012302879
+2012302880,2012302880
+2012302881,2012302881
+2012302882,2012302882
+2012302883,2012302883
+2012302884,2012302884
+2012302885,2012302885
+2012302886,2012302886
+2012302887,2012302887
+2012302888,2012302888
+2012302889,2012302889
+2012302890,2012302890
+2012302891,2012302891
+2012302892,2012302892
+2012302893,2012302893
+2012302894,2012302894
+2012302895,2012302895
+2012302896,2012302896
+2012302897,2012302897
+2012302898,2012302898
+2012302899,2012302899
+2012302900,2012302900
+2012302901,2012302901
+2012302902,2012302902
+2012302903,2012302903
+2012302904,2012302904
+2012302905,2012302905
+2012302906,2012302906
+2012302907,2012302907
+2012302908,2012302908
+2012302909,2012302909
+2012302910,2012302910
+2012302911,2012302911
+2012302912,2012302912
+2012302913,2012302913
+2012302914,2012302914
+2012302915,2012302915
+2012302916,2012302916
+2012302917,2012302917
+2012302918,2012302918
+2012302919,2012302919
+2012302920,2012302920
+2012302921,2012302921
+2012302922,2012302922
+2012302923,2012302923
+2012302924,2012302924
+2012302925,2012302925
+2012302926,2012302926
+2012302927,2012302927
+2012302928,2012302928
+2012302929,2012302929
+2012302930,2012302930
+2012302931,2012302931
+2012302932,2012302932
+2012302933,2012302933
+2012302934,2012302934
+2012302935,2012302935
+2012302936,2012302936
+2012302937,2012302937
+2012302938,2012302938
+2012302939,2012302939
+2012302940,2012302940
+2012302941,2012302941
+2012302942,2012302942
+2012302943,2012302943
+2012302944,2012302944
+2012302945,2012302945
+2012302946,2012302946
+2012302947,2012302947
+2012302948,2012302948
+2012302949,2012302949
+2012302950,2012302950
+2012302951,2012302951
+2012302952,2012302952
+2012302953,2012302953
+2012302954,2012302954
+2012302955,2012302955
+2012302956,2012302956
+2012302957,2012302957
+2012302958,2012302958
+2012302959,2012302959
+2012302960,2012302960
+2012302961,2012302961
+2012302962,2012302962
+2012302963,2012302963
+2012302964,2012302964
+2012302965,2012302965
+2012302966,2012302966
+2012302967,2012302967
+2012302968,2012302968
+2012302969,2012302969
+2012302970,2012302970
+2012302971,2012302971
+2012302972,2012302972
+2012302973,2012302973
+2012302974,2012302974
+2012302975,2012302975
+2012302976,2012302976
+2012302977,2012302977
+2012302978,2012302978
+2012302979,2012302979
+2012302980,2012302980
+2012302981,2012302981
+2012302982,2012302982
+2012302983,2012302983
+2012302984,2012302984
+2012302985,2012302985
+2012302986,2012302986
+2012302987,2012302987
+2012302988,2012302988
+2012302989,2012302989
+2012302990,2012302990
+2012302991,2012302991
+2012302992,2012302992
+2012302993,2012302993
+2012302994,2012302994
+2012302995,2012302995
+2012302996,2012302996
+2012302997,2012302997
+2012302998,2012302998
+2012302999,2012302999
+2012303000,2012303000
+2012303001,2012303001
+2012303002,2012303002
+2012303003,2012303003
+2012303004,2012303004
+2012303005,2012303005
+2012303006,2012303006
+2012303007,2012303007
+2012303008,2012303008
+2012303009,2012303009
+2012303010,2012303010
+2012303011,2012303011
+2012303012,2012303012
+2012303013,2012303013
+2012303014,2012303014
+2012303015,2012303015
+2012303016,2012303016
+2012303017,2012303017
+2012303018,2012303018
+2012303019,2012303019
+2012303020,2012303020
+2012303021,2012303021
+2012303022,2012303022
+2012303023,2012303023
+2012303024,2012303024
+2012303025,2012303025
+2012303026,2012303026
+2012303027,2012303027
+2012303028,2012303028
+2012303029,2012303029
+2012303030,2012303030
+2012303031,2012303031
+2012303032,2012303032
+2012303033,2012303033
+2012303034,2012303034
+2012303035,2012303035
+2012303036,2012303036
+2012303037,2012303037
+2012303038,2012303038
+2012303039,2012303039
+2012303040,2012303040
+2012303041,2012303041
+2012303042,2012303042
+2012303043,2012303043
+2012303044,2012303044
+2012303045,2012303045
+2012303046,2012303046
+2012303047,2012303047
+2012303048,2012303048
+2012303049,2012303049
+2012303050,2012303050
+2012303051,2012303051
+2012303052,2012303052
+2012303053,2012303053
+2012303054,2012303054
+2012303055,2012303055
+2012303056,2012303056
+2012303057,2012303057
+2012303058,2012303058
+2012303059,2012303059
+2012303060,2012303060
+2012303061,2012303061
+2012303062,2012303062
+2012303063,2012303063
+2012303064,2012303064
+2012303065,2012303065
+2012303066,2012303066
+2012303067,2012303067
+2012303068,2012303068
+2012303069,2012303069
+2012303070,2012303070
+2012303071,2012303071
+2012303072,2012303072
+2012303073,2012303073
+2012303074,2012303074
+2012303075,2012303075
+2012303076,2012303076
+2012303077,2012303077
+2012303078,2012303078
+2012303079,2012303079
+2012303080,2012303080
+2012303081,2012303081
+2012303082,2012303082
+2012303083,2012303083
+2012303084,2012303084
+2012303085,2012303085
+2012303086,2012303086
+2012303087,2012303087
+2012303088,2012303088
+2012303089,2012303089
+2012303090,2012303090
+2012303091,2012303091
+2012303092,2012303092
+2012303093,2012303093
+2012303094,2012303094
+2012303096,2012303096
+2012303097,2012303097
+2012303098,2012303098
+2012303099,2012303099
+2012303100,2012303100
+2012303101,2012303101
+2012303102,2012303102
+2012303103,2012303103
+2012303104,2012303104
+2012303105,2012303105
+2012303106,2012303106
+2012303107,2012303107
+2012303108,2012303108
+2012303109,2012303109
+2012303110,2012303110
+2012303111,2012303111
+2012303112,2012303112
+2012303113,2012303113
+2012303114,2012303114
+2012303115,2012303115
+2012303116,2012303116
+2012303117,2012303117
+2012303118,2012303118
+2012303119,2012303119
+2012303120,2012303120
+2012303121,2012303121
+2012303122,2012303122
+2012303123,2012303123
+2012303124,2012303124
+2012303125,2012303125
+2012303126,2012303126
+2012303127,2012303127
+2012303128,2012303128
+2012303129,2012303129
+2012303130,2012303130
+2012303131,2012303131
+2012303132,2012303132
+2012303133,2012303133
+2012303134,2012303134
+2012303135,2012303135
+2012303136,2012303136
+2012303137,2012303137
+2012303138,2012303138
+2012303139,2012303139
+2012303140,2012303140
+2012303141,2012303141
+2012303142,2012303142
+2012303143,2012303143
+2012303144,2012303144
+2012303145,2012303145
+2012303146,2012303146
+2012303147,2012303147
+2012303148,2012303148
+2012303149,2012303149
+2012303150,2012303150
+2012303151,2012303151
+2012303152,2012303152
+2012303153,2012303153
+2012303154,2012303154
+2012303155,2012303155
+2012303156,2012303156
+2012303157,2012303157
+2012303158,2012303158
+2012303159,2012303159
+2012303160,2012303160
+2012303161,2012303161
+2012303162,2012303162
+2012303163,2012303163
+2012303164,2012303164
+2012303165,2012303165
+2012303166,2012303166
+2012303167,2012303167
+2012303168,2012303168
+2012303169,2012303169
+2012303170,2012303170
+2012303171,2012303171
+2012303172,2012303172
+2012303173,2012303173
+2012303174,2012303174
+2012303175,2012303175
+2012303176,2012303176
+2012303177,2012303177
+2012303178,2012303178
+2012303179,2012303179
+2012303180,2012303180
+2012303181,2012303181
+2012303182,2012303182
+2012303183,2012303183
+2012303184,2012303184
+2012303185,2012303185
+2012303186,2012303186
+2012303187,2012303187
+2012303188,2012303188
+2012303189,2012303189
+2012303190,2012303190
+2012303191,2012303191
+2012303192,2012303192
+2012303193,2012303193
+2012303194,2012303194
+2012303195,2012303195
+2012303196,2012303196
+2012303197,2012303197
+2012303198,2012303198
+2012303199,2012303199
+2012303200,2012303200
+2012303201,2012303201
+2012303202,2012303202
+2012303203,2012303203
+2012303204,2012303204
+2012303205,2012303205
+2012303206,2012303206
+2012303207,2012303207
+2012303208,2012303208
+2012303209,2012303209
+2012303210,2012303210
+2012303211,2012303211
+2012303212,2012303212
+2012303213,2012303213
+2012303214,2012303214
+2012303215,2012303215
+2012303216,2012303216
+2012303217,2012303217
+2012303218,2012303218
+2012303219,2012303219
+2012303220,2012303220
+2012303221,2012303221
+2012303223,2012303223
+2012303224,2012303224
+2012303225,2012303225
+2012303226,2012303226
+2012303227,2012303227
+2012303228,2012303228
+2012303229,2012303229
+2012303230,2012303230
+2012303231,2012303231
+2012303232,2012303232
+2012303233,2012303233
+2012303234,2012303234
+2012303235,2012303235
+2012303236,2012303236
+2012303237,2012303237
+2012303238,2012303238
+2012303239,2012303239
+2012303240,2012303240
+2012303241,2012303241
+2012303242,2012303242
+2012303243,2012303243
+2012303244,2012303244
+2012303245,2012303245
+2012303246,2012303246
+2012303247,2012303247
+2012303248,2012303248
+2012303249,2012303249
+2012303250,2012303250
+2012303251,2012303251
+2012303252,2012303252
+2012303253,2012303253
+2012303254,2012303254
+2012303255,2012303255
+2012303256,2012303256
+2012303257,2012303257
+2012303258,2012303258
+2012303259,2012303259
+2012303260,2012303260
+2012303261,2012303261
+2012303262,2012303262
+2012303263,2012303263
+2012303264,2012303264
+2012303265,2012303265
+2012303266,2012303266
+2012303267,2012303267
+2012303268,2012303268
+2012303269,2012303269
+2012303270,2012303270
+2012303271,2012303271
+2012303272,2012303272
+2012303273,2012303273
+2012303275,2012303275
+2012303276,2012303276
+2012303277,2012303277
+2012303278,2012303278
+2012303279,2012303279
+2012303280,2012303280
+2012303281,2012303281
+2012303282,2012303282
+2012303283,2012303283
+2012303284,2012303284
+2012303285,2012303285
+2012303286,2012303286
+2012303287,2012303287
+2012303288,2012303288
+2012303289,2012303289
+2012303290,2012303290
+2012303291,2012303291
+2012303292,2012303292
+2012303293,2012303293
+2012303294,2012303294
+2012303295,2012303295
+2012303296,2012303296
+2012303297,2012303297
+2012303298,2012303298
+2012303299,2012303299
+2012303300,2012303300
+2012303301,2012303301
+2012303302,2012303302
+2012303303,2012303303
+2012303304,2012303304
+2012303305,2012303305
+2012303306,2012303306
+2012303307,2012303307
+2012303308,2012303308
+2012303309,2012303309
+2012303310,2012303310
+2012303311,2012303311
+2012303312,2012303312
+2012303313,2012303313
+2012303314,2012303314
+2012303316,2012303316
+2012303317,2012303317
+2012303318,2012303318
+2012303319,2012303319
+2012303320,2012303320
+2012303321,2012303321
+2012303322,2012303322
+2012303323,2012303323
+2012303324,2012303324
+2012303325,2012303325
+2012303326,2012303326
+2012303327,2012303327
+2012303328,2012303328
+2012303329,2012303329
+2012303330,2012303330
+2012303331,2012303331
+2012303332,2012303332
+2012303333,2012303333
+2012303334,2012303334
+2012303335,2012303335
+2012303336,2012303336
+2012303337,2012303337
+2012303338,2012303338
+2012303339,2012303339
+2012303340,2012303340
+2012303341,2012303341
+2012303342,2012303342
+2012303343,2012303343
+2012303344,2012303344
+2012303345,2012303345
+2012303346,2012303346
+2012303347,2012303347
+2012303348,2012303348
+2012303349,2012303349
+2012303350,2012303350
+2012303351,2012303351
+2012303352,2012303352
+2012303353,2012303353
+2012303354,2012303354
+2012303355,2012303355
+2012303356,2012303356
+2012303357,2012303357
+2012303358,2012303358
+2012303359,2012303359
+2012303360,2012303360
+2012303361,2012303361
+2012303362,2012303362
+2012303363,2012303363
+2012303364,2012303364
+2012303366,2012303366
+2012303367,2012303367
+2012303368,2012303368
+2012303369,2012303369
+2012303370,2012303370
+2012303371,2012303371
+2012303372,2012303372
+2012303373,2012303373
+2012303374,2012303374
+2012303375,2012303375
+2012303376,2012303376
+2012303377,2012303377
+2012303378,2012303378
+2012303379,2012303379
+2012303380,2012303380
+2012303381,2012303381
+2012303382,2012303382
+2012303383,2012303383
+2012303384,2012303384
+2012303385,2012303385
+2012303386,2012303386
+2012303387,2012303387
+2012303388,2012303388
+2012303389,2012303389
+2012303390,2012303390
+2012303391,2012303391
+2012303392,2012303392
+2012303393,2012303393
+2012303394,2012303394
+2012303395,2012303395
+2012303396,2012303396
+2012303397,2012303397
+2012303398,2012303398
+2012303399,2012303399
+2012303400,2012303400
+2012303401,2012303401
+2012303402,2012303402
+2012303403,2012303403
+2012303404,2012303404
+2012303405,2012303405
+2012303406,2012303406
+2012303407,2012303407
+2012303408,2012303408
+2012303409,2012303409
+2012303410,2012303410
+2012303411,2012303411
+2012303412,2012303412
+2012303413,2012303413
+2012303414,2012303414
+2012303415,2012303415
+2012303416,2012303416
+2012303417,2012303417
+2012303418,2012303418
+2012303419,2012303419
+2012303420,2012303420
+2012303421,2012303421
+2012303422,2012303422
+2012303423,2012303423
+2012303424,2012303424
+2012303425,2012303425
+2012303426,2012303426
+2012303427,2012303427
+2012303428,2012303428
+2012303429,2012303429
+2012303430,2012303430
+2012303431,2012303431
+2012303432,2012303432
+2012303433,2012303433
+2012303434,2012303434
+2012303435,2012303435
+2012303436,2012303436
+2012303437,2012303437
+2012303438,2012303438
+2012303439,2012303439
+2012303440,2012303440
+2012303441,2012303441
+2012303442,2012303442
+2012303443,2012303443
+2012303444,2012303444
+2012303445,2012303445
+2012303446,2012303446
+2012303447,2012303447
+2012303448,2012303448
+2012303449,2012303449
+2012303450,2012303450
+2012303451,2012303451
+2012303452,2012303452
+2012303453,2012303453
+2012303454,2012303454
+2012303455,2012303455
+2012303456,2012303456
+2012303457,2012303457
+2012303458,2012303458
+2012303459,2012303459
+2012303460,2012303460
+2012303461,2012303461
+2012303462,2012303462
+2012303463,2012303463
+2012303464,2012303464
+2012303465,2012303465
+2012303466,2012303466
+2012303467,2012303467
+2012303468,2012303468
+2012303469,2012303469
+2012303470,2012303470
+2012303471,2012303471
+2012303472,2012303472
+2012303473,2012303473
+2012303474,2012303474
+2012303475,2012303475
+2012303476,2012303476
+2012303477,2012303477
+2012303478,2012303478
+2012303479,2012303479
+2012303480,2012303480
+2012303481,2012303481
+2012303482,2012303482
+2012303483,2012303483
+2012303484,2012303484
+2012303485,2012303485
+2012303486,2012303486
+2012303487,2012303487
+2012303488,2012303488
+2012303489,2012303489
+2012303490,2012303490
+2012303491,2012303491
+2012303492,2012303492
+2012303493,2012303493
+2012303494,2012303494
+2012303496,2012303496
+2012303497,2012303497
+2012303498,2012303498
+2012303499,2012303499
+2012303500,2012303500
+2012303501,2012303501
+2012303502,2012303502
+2012303503,2012303503
+2012303504,2012303504
+2012303505,2012303505
+2012303506,2012303506
+2012303507,2012303507
+2012303508,2012303508
+2012303509,2012303509
+2012303510,2012303510
+2012303511,2012303511
+2012303512,2012303512
+2012303513,2012303513
+2012303514,2012303514
+2012303515,2012303515
+2012303516,2012303516
+2012303517,2012303517
+2012303518,2012303518
+2012303519,2012303519
+2012303520,2012303520
+2012303521,2012303521
+2012303522,2012303522
+2012303523,2012303523
+2012303524,2012303524
+2012303525,2012303525
+2012303526,2012303526
+2012303527,2012303527
+2012303528,2012303528
+2012303529,2012303529
+2012303530,2012303530
+2012303531,2012303531
+2012303532,2012303532
+2012303533,2012303533
+2012303534,2012303534
+2012303535,2012303535
+2012303536,2012303536
+2012303537,2012303537
+2012303538,2012303538
+2012303539,2012303539
+2012303540,2012303540
+2012303541,2012303541
+2012303542,2012303542
+2012303543,2012303543
+2012303544,2012303544
+2012303545,2012303545
+2012303546,2012303546
+2012303547,2012303547
+2012303548,2012303548
+2012303549,2012303549
+2012303550,2012303550
+2012303551,2012303551
+2012303552,2012303552
+2012303553,2012303553
+2012303554,2012303554
+2012303555,2012303555
+2012303556,2012303556
+2012303557,2012303557
+2012303558,2012303558
+2012303559,2012303559
+2012303560,2012303560
+2012303561,2012303561
+2012303562,2012303562
+2012303563,2012303563
+2012303564,2012303564
+2012303565,2012303565
+2012303566,2012303566
+2012303567,2012303567
+2012303568,2012303568
+2012303569,2012303569
+2012303570,2012303570
+2012303571,2012303571
+2012303572,2012303572
+2012303573,2012303573
+2012303574,2012303574
+2012303575,2012303575
+2012303576,2012303576
+2012303577,2012303577
+2012303578,2012303578
+2012303579,2012303579
+2012303580,2012303580
+2012303581,2012303581
+2012303582,2012303582
+2012303583,2012303583
+2012303584,2012303584
+2012303585,2012303585
+2012303586,2012303586
+2012303587,2012303587
+2012303588,2012303588
+2012303589,2012303589
+2012303590,2012303590
+2012303591,2012303591
+2012303592,2012303592
+2012303593,2012303593
+2012303595,2012303595
+2012303596,2012303596
+2012303597,2012303597
+2012303598,2012303598
+2012303599,2012303599
+2012303600,2012303600
+2012303601,2012303601
+2012303602,2012303602
+2012303603,2012303603
+2012303604,2012303604
+2012303605,2012303605
+2012303606,2012303606
+2012303607,2012303607
+2012310001,2012310001
+2012310002,2012310002
+2012310003,2012310003
+2012310004,2012310004
+2012310005,2012310005
+2012310006,2012310006
+2012310007,2012310007
+2012310008,2012310008
+2012310009,2012310009
+2012310010,2012310010
+201240058,2012240058
+2012410001,2012410001
+2012410006,2012410006
+2012410014,2012410014
+2012410015,2012410015
+2012410017,2012410017
+2012410020,2012410020
+2012410021,2012410021
+2012410023,2012410023
+2012410026,2012410026
+2012410029,2012410029
+2012410041,2012410041
+2012420002,2012420002
+2012420003,2012420003
+2012420004,2012420004
+2012420007,2012420007
+2012420009,2012420009
+2012420010,2012420010
+2012420012,2012420012
+2012420013,2012420013
+2012420016,2012420016
+2012420018,2012420018
+2012420019,2012420019
+2012420022,2012420022
+2012420024,2012420024
+2012420025,2012420025
+2012420027,2012420027
+2012420028,2012420028
+2012420030,2012420030
+2012420031,2012420031
+2012420032,2012420032
+2012420033,2012420033
+2012420034,2012420034
+2012420035,2012420035
+2012420036,2012420036
+2012420037,2012420037
+2012420038,2012420038
+2012420039,2012420039
+2012420040,2012420040
+2012420042,2012420042
+2012420043,2012420043
+2012420070,2012420070
+2012420071,2012420071
+2012420072,2012420072
+2012420073,2012420073
+2012420074,2012420074
+2012420075,2012420075
+2012420076,2012420076
+2012420078,2012420078
+2012420080,2012420080
+2012420081,2012420081
+2012430001,2012430001
+2012430002,2012430002
+2012430003,2012430003
+2012430004,2012430004
+2012430005,2012430005
+2012430006,2012430006
+2012430007,2012430007
+2012430008,2012430008
+2012430009,2012430009
+2012430010,2012430010
+2012430011,2012430011
+2012430012,2012430012
+2012430013,2012430013
+2012430014,2012430014
+2012430015,2012430015
+2012430016,2012430016
+2012430017,2012430017
+2012430018,2012430018
+2012430019,2012430019
+2012430020,2012430020
+2012430021,2012430021
+2012430022,2012430022
+2012430023,2012430023
+2012430024,2012430024
+2012430025,2012430025
+2012430026,2012430026
+2012430027,2012430027
+2012430028,2012430028
+2012430029,2012430029
+2012430030,2012430030
+2012430031,2012430031
+2012430032,2012430032
+2012430033,2012430033
+2012430034,2012430034
+2012430035,2012430035
+2012430036,2012430036
+2012430037,2012430037
+2012430038,2012430038
+2012430039,2012430039
+2012430040,2012430040
+2012430041,2012430041
+2012430042,2012430042
+2012430043,2012430043
+2012430044,2012430044
+2012430045,2012430045
+2012430046,2012430046
+2012430047,2012430047
+2012430048,2012430048
+2012430049,2012430049
+2012430050,2012430050
+2012430051,2012430051
+2012430052,2012430052
+2012430053,2012430053
+2012430054,2012430054
+2012430055,2012430055
+2012430056,2012430056
+2012430057,2012430057
+2012430058,2012430058
+2012430059,2012430059
+2012430060,2012430060
+2012430061,2012430061
+2012430062,2012430062
+2012430063,2012430063
+2012430064,2012430064
+2012430065,2012430065
+2012430066,2012430066
+2012430067,2012430067
+2012430068,2012430068
+2012430069,2012430069
+2012430070,2012430070
+2012430071,2012430071
+2012430072,2012430072
+2012430073,2012430073
+2012430074,2012430074
+2012430075,2012430075
+2012430076,2012430076
+2012430077,2012430077
+2012430078,2012430078
+2012430079,2012430079
+2012430080,2012430080
+2012430081,2012430081
+2012430101,2012430101
+2012430102,2012430102
+2012430103,2012430103
+2012430104,2012430104
+2012430105,2012430105
+2013010001,2013010001
+2013010002,2008100358
+2013010003,2013010003
+2013010004,2013010004
+2013010005,2007200297
+2013010006,056030158
+2013010007,066030132
+2013010008,057010052
+2013010009,066110684
+2013010010,056120756
+2013010011,2013010011
+2013010015,2013010015
+2013010016,2013010016
+2013010017,057040120
+2013010018,2013010018
+2013010019,2013010019
+2013010020,046110704
+2013010025,066096618
+2013010026,050544
+2013010027,043084
+2013010028,2013010028
+2013010029,2013010029
+2013010030,2013010030
+2013010032,2013010032
+2013010037,2013010037
+2013010039,2013010039
+2013010040,2013010040
+2013010041,046010025
+2013010043,2013010043
+2013010044,2013010044
+2013010045,2013010045
+2013010047,2013010047
+2013010048,2013010048
+2013010049,051155
+2013010050,056050305
+2013010051,066010044
+2013010052,2010202193
+2013010054,2013010054
+2013010055,2013010055
+2013010056,2013010056
+2013010057,2013010057
+2013010058,2013010058
+2013010059,2013010059
+2013010060,2013010060
+2013010061,066106672
+2013010062,2013010062
+2013010064,2013010064
+2013010065,2013010065
+2013010066,2013010066
+2013010067,2013010067
+2013010069,2003010161
+2013010070,2013010070
+2013010071,2013010071
+2013010072,2013010072
+2013010073,2013010073
+2013010074,056100608
+2013010075,2013010075
+2013010076,2013010076
+2013010077,2013010077
+2013010078,066080447
+2013010079,056056221
+2013010080,056010046
+2013010081,2013010081
+2013010082,2013010082
+2013010083,066056338
+2013010084,043071
+2013010085,043086
+2013010086,2013010086
+2013010087,066187048
+2013010089,2007201117
+2013010091,066030151
+2013010092,2013010092
+2013010093,040096
+2013010094,2013010094
+2013010095,2007201496
+2013010096,2013010096
+2013010097,066046205
+2013010099,2013010099
+2013010100,2007200193
+2013010102,2007200776
+2013010103,046046217
+2013010104,2013010104
+2013010105,040921
+2013010106,2013010106
+2013030013,066010020
+2013030014,2013030014
+2013030021,046040217
+2013030022,2013030022
+2013030023,2013030023
+2013030024,066110710
+2013030038,2007200729
+2013030042,2013030042
+2013030046,2013030046
+2013030053,2013030053
+2013030063,2013030063
+2013030068,2013030068
+2013030088,2007201262
+2013030090,2013030090
+2013030098,066180776
+2013060031,2013060031
+2013060033,2013060033
+2013060101,2013060101
+2013060107,2013060107
+2013070004,2013070004
+2013070005,2013070005
+2013070006,2013070006
+2013070009,2013070009
+2013070010,2013070010
+2013070011,2013070011
+2013070013,2013070013
+2013070014,2013070014
+2013070015,2013070015
+2013070016,2007201763
+2013070017,2013070017
+2013070018,2013070018
+2013070019,2013070019
+2013070020,2013070020
+2013070021,2013070021
+2013070022,2013070022
+2013070023,2013070023
+2013070024,2013070024
+2013070025,2013070025
+2013070026,2013070026
+2013070027,2013070027
+2013070028,2013070028
+2013070029,2013070029
+2013070030,2013070030
+2013070031,2009303551
+2013070032,2013070032
+2013070033,2013070033
+2013070034,2009303254
+2013070035,2009302515
+2013070036,2013070036
+2013070037,2013070037
+2013070038,2013070038
+2013070041,2013070041
+2013070042,2013070042
+2013070043,2013070043
+2013070044,2013070044
+2013070045,2013070045
+2013070046,2013070046
+2013070047,2013070047
+2013070048,2013070048
+2013070049,2013070049
+2013070050,2013070050
+2013070051,2013070051
+2013070052,2013070052
+2013070053,2013070053
+2013070054,2013070054
+2013070056,2013070056
+2013070057,2013070057
+2013070058,2013070058
+2013070059,2013070059
+2013070060,2013070060
+2013070061,2013070061
+2013070062,2013070062
+2013070063,2013070063
+2013070064,2013070064
+2013070065,2013070065
+2013070066,2013070066
+2013070067,2013070067
+2013070068,2013070068
+2013070069,2013070069
+2013070070,2013070070
+2013070071,2007240038
+2013070072,2013070072
+2013070073,2013070073
+2013070074,2013070074
+2013070075,2013070075
+2013070076,2013070076
+2013100001,2010260196
+2013100002,2013100002
+2013100003,2013100003
+2013100004,060965
+2013100005,2007200464
+2013100006,062582
+2013100007,050084
+2013100008,2013100008
+2013100009,2013100009
+2013100010,2013100010
+2013100011,2009200763
+2013100012,2013100012
+2013100013,2013100013
+2013100014,2010260191
+2013100015,2013100015
+2013100016,2013100016
+2013100017,2010200214
+2013100018,060571
+2013100019,2010200213
+2013100020,061996
+2013100021,2013100021
+2013100022,060549
+2013100023,060526
+2013100024,2013100024
+2013100025,2013100025
+2013100026,2013100026
+2013100027,2010202342
+2013100028,2013100028
+2013100029,2013100029
+2013100030,042919
+2013100031,2013100031
+2013100032,2013100032
+2013100033,2013100033
+2013100034,050537
+2013100035,2013100035
+2013100036,060773
+2013100037,2013100037
+2013100038,060123
+2013100039,2013100039
+2013100040,2013100040
+2013100041,2013100041
+2013100042,2013100042
+2013100043,060670
+2013100044,2013100044
+2013100045,2013100045
+2013100046,2012100383
+2013100047,2013100047
+2013100048,2013100048
+2013100049,2010260682
+2013100050,2013100050
+2013100051,2013100051
+2013100052,2013100052
+2013100053,2013100053
+2013100054,2013100054
+2013100055,2019010306
+2013100056,2013100056
+2013100057,2013100057
+2013100058,056045024
+2013100059,2013100059
+2013100060,2013100060
+2013100061,2013100061
+2013100062,2013100062
+2013100063,2013100063
+2013100064,2010202340
+2013100065,2013100065
+2013100066,2013100066
+2013100067,2013100067
+2013100068,2013100068
+2013100069,2013100069
+2013100070,2013100070
+2013100071,2013100071
+2013100072,2008200690
+2013100073,2013100073
+2013100074,2010200788
+2013100075,2013100075
+2013100076,2013100076
+2013100077,2013100077
+2013100078,2013100078
+2013100079,2013100079
+2013100080,2013100080
+2013100081,2013100081
+2013100082,2013100082
+2013100083,2013100083
+2013100084,2008200829
+2013100085,2013100085
+2013100086,066066412
+2013100087,2010260986
+2013100088,2013100088
+2013100089,2013100089
+2013100090,2010260990
+2013100091,2008200850
+2013100092,2010260991
+2013100093,062047
+2013100094,2013100094
+2013100095,046086402
+2013100096,2005020129
+2013100097,2013100097
+2013100098,2013100098
+2013100099,2013100099
+2013100100,061754
+2013100101,2013100101
+2013100102,2007200996
+2013100103,2013100103
+2013100104,2013100104
+2013100105,2007200962
+2013100106,2010201188
+2013100107,060034
+2013100108,2013100108
+2013100109,2013100109
+2013100110,2013100110
+2013100111,2013100111
+2013100112,2013100112
+2013100113,2013100113
+2013100114,2013100114
+2013100115,046096551
+2013100116,2013100116
+2013100117,2013100117
+2013100118,04612G166
+2013100119,2013100119
+2013100120,2013100120
+2013100121,2013100121
+2013100122,2013100122
+2013100123,2013100123
+2013100124,2013100124
+2013100125,2013100125
+2013100126,2013100126
+2013100127,2013100127
+2013100128,2010201349
+2013100129,2013100129
+2013100130,2013100130
+2013100131,2013100131
+2013100132,2008201272
+2013100133,2013100133
+2013100134,2013100134
+2013100135,2013100135
+2013100136,2008210558
+2013100137,2013100137
+2013100138,2010261707
+2013100139,2013100139
+2013100140,2013100140
+2013100141,2007201140
+2013100142,046104104
+2013100143,2007210003
+2013100144,2013100144
+2013100145,2013100145
+2013100146,2013100146
+2013100147,2013100147
+2013100148,2010201601
+2013100149,2013100149
+2013100150,2010261703
+2013100151,2010262298
+2013100152,056146896
+2013100153,2013100153
+2013100154,2013100154
+2013100155,2013100155
+2013100156,2013100156
+2013100157,2013100157
+2013100158,2013100158
+2013100159,2010201751
+2013100160,2013100160
+2013100161,2013100161
+2013100162,2013100162
+2013100163,2013100163
+2013100164,2013100164
+2013100165,2013100165
+2013100166,2012100608
+2013100167,2013100167
+2013100168,2013100168
+2013100169,2013100169
+2013100170,2013100170
+2013100171,2013100171
+2013100172,062781
+2013100173,2013100173
+2013100174,2013100174
+2013100175,2013100175
+2013100176,2013100176
+2013100177,2013100177
+2013100178,2013100178
+2013100179,2013100179
+2013100180,2013100180
+2013100181,2012100154
+2013100182,2013100182
+2013100183,2013100183
+2013100184,2013100184
+2013100185,2013100185
+2013100186,2013100186
+2013100187,046116738
+2013100188,2013100188
+2013100189,066126816
+2013100190,2013100190
+2013100191,2013100191
+2013100192,2013100192
+2013100193,2013100193
+2013100194,2013100194
+2013100195,056130798
+2013100196,2013100196
+2013100197,2013100197
+2013100198,2013100198
+2013100199,2013100199
+2013100200,2013100200
+2013100201,066130762
+2013100202,2012140002
+2013100203,2013100203
+2013100204,2013100204
+2013100205,2013100205
+2013100206,2013100206
+2013100207,2013100207
+2013100208,040404
+2013100209,2013100209
+2013100210,2010200869
+2013100211,2011200027
+2013100212,2009300090
+2013100213,2009300076
+2013100214,2009300159
+2013100215,2009300211
+2013100216,050259
+2013100217,2009300046
+2013100218,2009300055
+2013100219,060218
+2013100220,2007300179
+2013100221,2009300176
+2013100222,2009300015
+2013100223,062417
+2013100224,2009300081
+2013100225,2009300009
+2013100226,2007300071
+2013100227,2007300393
+2013100228,2013100228
+2013100229,2013100229
+2013100230,2007300149
+2013100231,2007300135
+2013100232,2007300384
+2013100233,2007300289
+2013100234,2009300044
+2013100235,2009300077
+2013100236,2007300156
+2013100237,2013100237
+2013100238,2009300051
+2013100239,2013100239
+2013100240,2013100240
+2013100241,2007300351
+2013100242,2013100242
+2013100243,2009300043
+2013100244,2013100244
+2013100245,2013100245
+2013100246,2007300142
+2013100247,2013100247
+2013100248,2013100248
+2013100249,2007300317
+2013100250,2007300066
+2013100251,2011200150
+2013100252,2009300239
+2013100253,2007300231
+2013100254,2008300011
+2013100255,2009300052
+2013100256,2009300110
+2013100257,2009300074
+2013100258,2012200133
+2013100259,2009300161
+2013100260,2009300135
+2013100261,2009300017
+2013100262,2009300018
+2013100263,2009300131
+2013100264,2009300075
+2013100265,2013100265
+2013100266,2007301463
+2013100267,2007300132
+2013100268,2007300278
+2013100269,2007300313
+2013100272,2007300538
+2013100273,2008300554
+2013100274,2008300557
+2013100275,060034
+2013100276,2007300535
+2013100277,050384
+2013100278,2007300557
+2013100279,2008300069
+2013100280,2007300545
+2013100281,2007300023
+2013100282,2013100282
+2013100283,2007302484
+2013100284,2007300474
+2013100285,2008300514
+2013100286,2007300508
+2013100287,2008300529
+2013100288,060031
+2013100289,2007300517
+2013100290,2010200146
+2013100291,2011200315
+2013100292,2009302901
+2013100293,2008300515
+2013100294,2007300478
+2013100295,2009300597
+2013100296,2009300585
+2013100297,2008300530
+2013100298,2012200154
+2013100299,2011200272
+2013100300,2008300009
+2013100301,2007300104
+2013100302,2007300430
+2013100303,060620
+2013100304,2008300608
+2013100305,2013100305
+2013100306,056030117
+2013100307,2013100307
+2013100308,2011200485
+2013100309,2008200329
+2013100310,2008300795
+2013100311,2008300786
+2013100312,2013100312
+2013100313,2007300026
+2013100314,2010200397
+2013100315,2013100315
+2013100316,2008300808
+2013100317,2011200434
+2013100318,2013100318
+2013100319,2009300724
+2013100320,060617
+2013100321,2009300062
+2013100322,2009300116
+2013100323,2009300058
+2013100324,2007301715
+2013100325,2012200428
+2013100326,060746
+2013100327,2009300878
+2013100328,2010200373
+2013100329,2012200433
+2013100330,2007300614
+2013100331,2009300129
+2013100332,060120
+2013100333,2013100333
+2013100334,2013100334
+2013100335,2011200432
+2013100336,2013100336
+2013100337,2013100337
+2013100338,042455
+2013100339,2009300758
+2013100340,2009300153
+2013100341,2013100341
+2013100342,2009300712
+2013100343,2013100343
+2013100344,2012200437
+2013100345,2008302106
+2013100346,2013100346
+2013100347,2007300003
+2013100348,2009301135
+2013100349,2013100349
+2013100350,2013100350
+2013100351,2008300901
+2013100352,2009300094
+2013100353,2011200637
+2013100354,066046181
+2013100355,2009300959
+2013100356,2007300799
+2013100357,2013100357
+2013100358,2013100358
+2013100359,2009300155
+2013100360,2008301055
+2013100361,2007300832
+2013100362,2007200473
+2013100363,2007300849
+2013100364,2011200581
+2013100365,2007300992
+2013100366,2013100366
+2013100367,2008300911
+2013100368,2013100368
+2013100369,2007301000
+2013100370,2011200549
+2013100371,2009300949
+2013100372,2009300976
+2013100373,2013100373
+2013100374,2012200558
+2013100375,060973
+2013100376,2007300995
+2013100377,2009300023
+2013100378,2013100378
+2013100379,046110698
+2013100380,2013100380
+2013100381,2011200623
+2013100382,2009301051
+2013100383,2007200411
+2013100384,2013100384
+2013100385,2012200592
+2013100386,2009301112
+2013100387,2009301050
+2013100388,2012200646
+2013100389,2011200659
+2013100390,2012200616
+2013100391,2012200619
+2013100392,2012200623
+2013100393,2012200627
+2013100394,2011200688
+2013100395,2011200691
+2013100396,2013100396
+2013100397,2007300910
+2013100398,2013100398
+2013100400,2013100400
+2013100401,2013100401
+2013100402,2008301311
+2013100403,2012200765
+2013100404,2013100404
+2013100405,2012200793
+2013100406,2013100406
+2013100407,2013100407
+2013100408,2013100408
+2013100409,2011200777
+2013100410,2009301380
+2013100411,2013100411
+2013100412,2013100412
+2013100413,2013100413
+2013100414,2013100414
+2013100415,2012200795
+2013100416,2013100416
+2013100417,2011200853
+2013100418,2008301349
+2013100419,2007301240
+2013100420,2011200756
+2013100421,2013100421
+2013100422,2011200888
+2013100423,2013100423
+2013100424,2011200935
+2013100425,2012200892
+2013100426,2007301134
+2013100427,2011200860
+2013100428,2013100428
+2013100429,2007301122
+2013100430,2013100430
+2013100431,2008301251
+2013100433,2013100433
+2013100434,063008
+2013100435,2007301336
+2013100436,2012201001
+2013100437,066060338
+2013100438,2009301513
+2013100439,2008301516
+2013100440,2012200982
+2013100441,2011201076
+2013100442,2013100442
+2013100443,2011201048
+2013100444,2007301385
+2013100445,2011201059
+2013100446,2007301339
+2013100447,2009301530
+2013100448,2009301492
+2013100449,2009301491
+2013100450,2011201049
+2013100451,2011201112
+2013100452,2008300105
+2013100453,2013100453
+2013100454,2008300072
+2013100455,2011201175
+2013100456,2013100456
+2013100457,2009301678
+2013100458,2007301590
+2013100459,061489
+2013100460,051612
+2013100461,2007250079
+2013100462,2007301533
+2013100463,2008301751
+2013100464,2007302026
+2013100465,2013100465
+2013100466,2013100466
+2013100467,2009301820
+2013100468,2007301462
+2013100469,2007301483
+2013100470,2007301553
+2013100471,2008301643
+2013100472,2007301451
+2013100473,2007301465
+2013100474,2013100474
+2013100475,051495
+2013100476,2007302819
+2013100477,2011201100
+2013100479,2013100479
+2013100480,2009301861
+2013100481,2013100481
+2013100482,2013100482
+2013100483,2013100483
+2013100484,2013100484
+2013100485,2013100485
+2013100486,2007200878
+2013100487,2007301719
+2013100488,2007300017
+2013100489,2013100489
+2013100490,2008301865
+2013100491,2007301689
+2013100492,061821
+2013100493,2013100493
+2013100494,2013100494
+2013100495,2013100495
+2013100496,2013100496
+2013100497,2007301910
+2013100498,066080438
+2013100499,2012201252
+2013100500,2010201228
+2013100501,2011201326
+2013100502,2013100502
+2013100503,2012201271
+2013100504,2013100504
+2013100505,2009301999
+2013100506,2008301995
+2013100507,2007301868
+2013100508,2009300006
+2013100509,2009300102
+2013100510,2007301852
+2013100512,2013100512
+2013100513,2009300027
+2013100514,2007302053
+2013100515,2007300099
+2013100516,2010201428
+2013100517,2009300144
+2013100518,2011201357
+2013100519,2012201547
+2013100520,2009302379
+2013100521,2009302141
+2013100522,062054
+2013100523,2007300040
+2013100524,2011201652
+2013100525,2009300035
+2013100526,2009300037
+2013100527,2013100527
+2013100528,2009300084
+2013100529,2007301996
+2013100530,2013100530
+2013100531,2008302136
+2013100532,2007302235
+2013100533,2013100533
+2013100534,2013100534
+2013100535,2013100535
+2013100536,056126837
+2013100537,2008302292
+2013100538,2011201646
+2013100539,2009302310
+2013100540,2008302298
+2013100541,2008302386
+2013100542,2008302110
+2013100543,052459
+2013100544,2007302246
+2013100545,2007301997
+2013100546,2011201535
+2013100547,2013100547
+2013100548,2009302126
+2013100549,2013100549
+2013100550,2013100550
+2013100551,2013100551
+2013100552,2013100552
+2013100553,042193
+2013100555,2013100555
+2013100556,2010201338
+2013100557,2009303497
+2013100558,2013100558
+2013100559,2009300485
+2013100560,2013100560
+2013100561,2013100561
+2013100562,2011200226
+2013100563,2011201773
+2013100564,2007302386
+2013100565,2009302526
+2013100566,2013100566
+2013100567,2013100567
+2013100568,2009302571
+2013100569,2009302565
+2013100570,2011201811
+2013100571,2007300570
+2013100572,2013100572
+2013100573,2009302610
+2013100574,2009302638
+2013100575,2007302402
+2013100576,2007302014
+2013100577,2013100577
+2013100578,2011201810
+2013100581,2009302665
+2013100582,2011201915
+2013100583,2013100583
+2013100584,2009302692
+2013100585,2013100585
+2013100586,2011201926
+2013100587,2010201765
+2013100588,2009302760
+2013100589,2007201411
+2013100590,2009302686
+2013100591,2011201990
+2013100592,2011201951
+2013100593,2013100593
+2013100594,2013100594
+2013100595,2011201954
+2013100596,2011202024
+2013100597,2011201969
+2013100598,2010201868
+2013100599,2009302911
+2013100600,2013100600
+2013100601,2011201978
+2013100602,2009302892
+2013100603,2009302866
+2013100604,2009302883
+2013100605,2011201935
+2013100606,2007302606
+2013100607,062687
+2013100608,2009302833
+2013100609,2009302834
+2013100610,2011201957
+2013100611,2009302909
+2013100612,043109
+2013100613,2011202015
+2013100614,2013100614
+2013100615,2011201970
+2013100616,2011202013
+2013100617,2010201873
+2013100618,2009302918
+2013100619,2011202039
+2013100620,2011202077
+2013100621,2007302937
+2013100622,2011202122
+2013100623,2013100623
+2013100624,2013100624
+2013100625,2013100625
+2013100626,2013100626
+2013100627,2011202117
+2013100628,2013100628
+2013100629,2012202057
+2013100630,056100599
+2013100631,2010201945
+2013100632,2013100632
+2013100633,2009202143
+2013100634,2013100634
+2013100635,2013100635
+2013100636,2013100636
+2013100637,2013100637
+2013100638,2010202165
+2013100639,2011202381
+2013100640,2009202178
+2013100641,2013100641
+2013100642,2012202595
+2013100643,2012202594
+2013100644,066187050
+2013100645,2013100645
+2013100646,2012202586
+2013100647,2012202584
+2013100648,2012202590
+2013100649,2011202562
+2013100650,2012200864
+2013100651,2012200438
+2013140001,2008302130
+2013150001,2013150001
+2013150002,046050296
+2013150003,2013150003
+2013150004,2013150004
+2013150005,2013150005
+2013150006,2013150006
+2013150007,2013150007
+2013150008,066056345
+2013150009,2013150009
+2013150010,2013150010
+2013150011,2013150011
+2013150012,2013150012
+2013160270,2013160270
+2013160271,2013160271
+2013160399,2013160399
+2013160432,2013160432
+2013160478,2013160478
+2013160511,2013160511
+2013160554,2013160554
+2013160579,2013160579
+2013160580,2013160580
+2013200001,2009301070
+2013200002,2013200002
+2013200003,2009300423
+2013200004,2009300337
+2013200005,2009300215
+2013200006,2009300229
+2013200007,2009300330
+2013200008,2009300422
+2013200009,2013200009
+2013200010,2009300240
+2013200011,2007300036
+2013200012,2009301672
+2013200013,2009300146
+2013200014,2009300156
+2013200015,2009301265
+2013200016,2009300326
+2013200017,2009300440
+2013200018,2013200018
+2013200019,2009300304
+2013200020,2009300334
+2013200021,2013200021
+2013200022,2013200022
+2013200023,2013200023
+2013200024,2009301876
+2013200025,2009300332
+2013200026,2013200026
+2013200027,2009300039
+2013200028,2009300112
+2013200029,2009300418
+2013200030,2009300218
+2013200031,2009300320
+2013200032,2009300318
+2013200033,2009300385
+2013200034,2009300085
+2013200035,2013200035
+2013200036,2013200036
+2013200037,2013200037
+2013200038,2013200038
+2013200039,2009300096
+2013200040,2009300379
+2013200041,2009300315
+2013200042,2009302640
+2013200043,2009300263
+2013200044,2009300343
+2013200045,2013200045
+2013200046,2013200046
+2013200047,2009300381
+2013200048,2009300420
+2013200049,2009302906
+2013200050,2009300136
+2013200051,2009300036
+2013200052,2009300399
+2013200053,2013200053
+2013200054,2013200054
+2013200055,2009300436
+2013200056,2009300223
+2013200057,2009300312
+2013200058,2013200058
+2013200059,2008300429
+2013200060,2009300328
+2013200061,2009300233
+2013200062,2009300183
+2013200063,2009300433
+2013200064,2009300007
+2013200065,2009300426
+2013200066,2009300254
+2013200067,2013200067
+2013200068,2013200068
+2013200069,2013200069
+2013200070,2009300316
+2013200071,2008300409
+2013200072,2013200072
+2013200073,2008300292
+2013200074,2009300236
+2013200075,2013200075
+2013200076,2009300253
+2013200077,2009300929
+2013200078,2013200078
+2013200079,2013200079
+2013200080,2013200080
+2013200081,2009300340
+2013200082,2013200082
+2013200083,2013200083
+2013200084,2009300427
+2013200085,2009300369
+2013200086,2013200086
+2013200087,2009300453
+2013200088,2009300358
+2013200089,2009300356
+2013200090,2009300448
+2013200091,2009300363
+2013200092,2009300364
+2013200093,2009300464
+2013200094,2009300352
+2013200095,2009300365
+2013200096,2009300469
+2013200097,2009300357
+2013200098,2009300302
+2013200099,2009301290
+2013200100,2009300042
+2013200101,2009300150
+2013200102,2009300299
+2013200103,2009300390
+2013200104,2009300221
+2013200105,2009300417
+2013200106,2009300260
+2013200107,2013200107
+2013200108,2009300032
+2013200109,2009300308
+2013200110,2009300409
+2013200111,2013200111
+2013200112,2013200112
+2013200113,2013200113
+2013200114,2013200114
+2013200115,2009300244
+2013200116,2009302724
+2013200117,2009300197
+2013200118,2009300515
+2013200119,2009300204
+2013200120,2009300313
+2013200121,2009302947
+2013200122,2009300323
+2013200123,2009300300
+2013200124,2009300192
+2013200125,2009300234
+2013200126,2009301738
+2013200127,2009302632
+2013200128,2009300014
+2013200129,2009300201
+2013200130,2009300200
+2013200131,2013200131
+2013200132,2009300380
+2013200133,2009300152
+2013200134,2009300396
+2013200135,2013200135
+2013200136,2009300303
+2013200137,2009300510
+2013200138,2009300275
+2013200139,2013200139
+2013200140,2009300336
+2013200141,2013200141
+2013200142,2009300185
+2013200143,2013200143
+2013200144,2009300290
+2013200145,2009300227
+2013200146,2009300142
+2013200147,2009300287
+2013200148,2009300208
+2013200149,2009302514
+2013200150,2009300019
+2013200151,2009302094
+2013200152,2009300166
+2013200153,2009300251
+2013200217,2009300685
+2013200218,2009300704
+2013200219,2013200219
+2013200220,2007302185
+2013200221,2013200221
+2013200222,2009300147
+2013200223,2009300097
+2013200224,2009300016
+2013200225,2009300650
+2013200226,2009300655
+2013200227,2013200227
+2013200228,2009300591
+2013200229,2009302954
+2013200230,2009300008
+2013200231,2013200231
+2013200232,2009300138
+2013200233,2009300050
+2013200234,2013200234
+2013200235,2013200235
+2013200236,2013200236
+2013200237,2009300122
+2013200238,2009300608
+2013200239,2009300130
+2013200240,2009300617
+2013200241,2009300107
+2013200242,2009300005
+2013200243,2009300148
+2013200244,2013200244
+2013200245,2009300648
+2013200246,2013200246
+2013200247,2013200247
+2013200248,2009300151
+2013200249,2009300049
+2013200250,2009300088
+2013200251,2009300615
+2013200252,2009300601
+2013200253,2009300563
+2013200254,2009300543
+2013200255,2009300115
+2013200256,2009300508
+2013200257,2009300521
+2013200258,2009300504
+2013200259,2008300508
+2013200260,2013200260
+2013200261,2007300511
+2013200262,2013200262
+2013200263,2009300053
+2013200264,2009300080
+2013200265,2009300010
+2013200266,2009302776
+2013200267,2009300536
+2013200268,2013200268
+2013200269,2009300589
+2013200270,2009300281
+2013200271,2009300554
+2013200272,2008300528
+2013200273,2009300494
+2013200274,2009300537
+2013200275,2009300530
+2013200276,2009300497
+2013200277,2009300594
+2013200278,2009303357
+2013200279,2009300574
+2013200280,2009300048
+2013200281,2009300140
+2013200282,2009300012
+2013200283,2009300547
+2013200284,2009300532
+2013200285,2009300002
+2013200286,2009300099
+2013200287,2009300134
+2013200288,2009300692
+2013200289,2009301682
+2013200290,2009300663
+2013200291,2009300684
+2013200292,2009300670
+2013200293,2009300658
+2013200294,2013200294
+2013200295,2009302921
+2013200296,2009300708
+2013200297,2009300698
+2013200298,2009302657
+2013200299,2013200299
+2013200300,2009301417
+2013200301,2009300703
+2013200302,2009300660
+2013200303,2009300706
+2013200304,2013200304
+2013200349,2013200349
+2013200350,2013200350
+2013200351,2009300913
+2013200352,2009300898
+2013200353,2009300911
+2013200354,2009300770
+2013200355,2013200355
+2013200356,2013200356
+2013200357,2009300715
+2013200358,2009300736
+2013200359,2007300610
+2013200360,2009300730
+2013200361,2008300656
+2013200362,2008300668
+2013200363,2013200363
+2013200364,2009300849
+2013200365,2009301859
+2013200366,2009302568
+2013200367,2013200367
+2013200368,2009300816
+2013200369,2009300855
+2013200370,2013200370
+2013200371,2009300056
+2013200372,2009300823
+2013200373,2013200373
+2013200374,2009300854
+2013200375,2009300812
+2013200376,2009300845
+2013200377,2013200377
+2013200378,2013200378
+2013200379,2013200379
+2013200380,2009300876
+2013200381,2013200381
+2013200382,2008300774
+2013200383,2009300820
+2013200384,2009300799
+2013200385,2013200385
+2013200386,2008303342
+2013200387,2013200387
+2013200388,2013200388
+2013200389,2013200389
+2013200390,2013200390
+2013200391,2013200391
+2013200392,2009300802
+2013200393,2013200393
+2013200394,2009300846
+2013200395,2009300781
+2013200396,2013200396
+2013200397,2009300744
+2013200398,2009300710
+2013200399,2013200399
+2013200400,2013200400
+2013200401,2013200401
+2013200402,2013200402
+2013200403,2013200403
+2013200404,2007300759
+2013200405,2009300873
+2013200406,2009300880
+2013200407,2009300877
+2013200408,2013200408
+2013200409,2013200409
+2013200410,2009300887
+2013200411,2009300895
+2013200412,2009300896
+2013200413,2013200413
+2013200414,2009300796
+2013200415,2008300728
+2013200416,2009300782
+2013200417,2008300673
+2013200418,2013200418
+2013200419,2013200419
+2013200420,2013200420
+2013200421,2013200421
+2013200422,2013200422
+2013200423,2009300740
+2013200424,2008300685
+2013200425,2013200425
+2013200426,2009300716
+2013200427,2013200427
+2013200428,2013200428
+2013200429,2013200429
+2013200430,2009300836
+2013200431,2009300789
+2013200432,2013200432
+2013200433,2013200433
+2013200434,2013200434
+2013200435,2013200435
+2013200436,2009300241
+2013200437,2009300798
+2013200438,2009300743
+2013200439,2013200439
+2013200440,2013200440
+2013200441,2009300793
+2013200442,2013200442
+2013200443,2009300759
+2013200444,2007300649
+2013200445,2009300760
+2013200446,2013200446
+2013200447,2009300727
+2013200448,2009300843
+2013200449,2013200449
+2013200450,2013200450
+2013200451,2009300910
+2013200452,2013200452
+2013200453,2009300908
+2013200454,2009300905
+2013200455,2013200455
+2013200504,2013200504
+2013200505,2009301129
+2013200506,2013200506
+2013200507,2009300993
+2013200508,2013200508
+2013200509,2009300996
+2013200510,2009300934
+2013200511,2013200511
+2013200512,2013200512
+2013200513,2013200513
+2013200514,2013200514
+2013200515,2013200515
+2013200516,2009300957
+2013200517,2013200517
+2013200518,2009300011
+2013200519,2013200519
+2013200520,2013200520
+2013200521,2009301149
+2013200522,2013200522
+2013200523,2013200523
+2013200524,2013200524
+2013200525,2013200525
+2013200526,2013200526
+2013200527,2013200527
+2013200528,2013200528
+2013200529,2013200529
+2013200530,2013200530
+2013200531,2013200531
+2013200532,2009300967
+2013200533,2013200533
+2013200534,2009300933
+2013200535,2013200535
+2013200536,2009300001
+2013200537,2013200537
+2013200538,2013200538
+2013200539,2013200539
+2013200540,2009300932
+2013200541,2013200541
+2013200542,2009300981
+2013200543,2008300933
+2013200544,2013200544
+2013200545,2013200545
+2013200546,2013200546
+2013200547,2013200547
+2013200548,2013200548
+2013200549,2013200549
+2013200550,2013200550
+2013200551,2013200551
+2013200552,2013200552
+2013200553,2009301126
+2013200554,2013200554
+2013200555,2009300980
+2013200556,2013200556
+2013200557,2013200557
+2013200558,2013200558
+2013200559,2013200559
+2013200560,2009301137
+2013200561,2013200561
+2013200562,2013200562
+2013200563,2009301005
+2013200564,2013200564
+2013200565,2009301134
+2013200566,2013200566
+2013200567,2013200567
+2013200568,2013200568
+2013200569,2013200569
+2013200570,2013200570
+2013200571,2009300970
+2013200572,2009300972
+2013200573,2013200573
+2013200574,2013200574
+2013200575,2013200575
+2013200576,2013200576
+2013200577,2009301128
+2013200578,2013200578
+2013200579,2013200579
+2013200580,2009300947
+2013200581,2013200581
+2013200582,2013200582
+2013200583,2013200583
+2013200584,2013200584
+2013200585,2009301115
+2013200586,2009301098
+2013200587,2013200587
+2013200588,2013200588
+2013200589,2013200589
+2013200590,2013200590
+2013200591,2013200591
+2013200592,2013200592
+2013200593,2013200593
+2013200594,2013200594
+2013200595,2009301057
+2013200596,2013200596
+2013200597,2013200597
+2013200598,2013200598
+2013200599,2013200599
+2013200600,2013200600
+2013200601,2013200601
+2013200602,2013200602
+2013200603,2013200603
+2013200604,2013200604
+2013200605,2009302707
+2013200606,2013200606
+2013200607,2013200607
+2013200608,2013200608
+2013200609,2013200609
+2013200610,2013200610
+2013200611,2009301038
+2013200612,2009301049
+2013200613,2013200613
+2013200614,2009301096
+2013200615,2013200615
+2013200616,2009301095
+2013200617,2013200617
+2013200618,2013200618
+2013200619,2013200619
+2013200620,2013200620
+2013200621,2013200621
+2013200622,2013200622
+2013200623,060959
+2013200624,2013200624
+2013200625,2013200625
+2013200626,2013200626
+2013200627,2013200627
+2013200628,2009301055
+2013200629,2013200629
+2013200630,2013200630
+2013200631,2013200631
+2013200632,2013200632
+2013200633,2013200633
+2013200634,2009301019
+2013200635,2013200635
+2013200636,2013200636
+2013200637,2013200637
+2013200638,2013200638
+2013200639,2013200639
+2013200640,2009301027
+2013200641,2013200641
+2013200642,2009301022
+2013200643,2009301036
+2013200644,2009301082
+2013200645,2013200645
+2013200646,2013200646
+2013200647,2009301030
+2013200648,2013200648
+2013200649,2013200649
+2013200650,2013200650
+2013200651,2013200651
+2013200652,2013200652
+2013200653,2013200653
+2013200714,2013200714
+2013200715,2013200715
+2013200716,2013200716
+2013200717,2009301299
+2013200718,2013200718
+2013200719,2013200719
+2013200720,2013200720
+2013200721,2009301394
+2013200722,2013200722
+2013200723,2009301309
+2013200724,2009301317
+2013200725,2013200725
+2013200726,2013200726
+2013200727,2009301310
+2013200728,2013200728
+2013200729,2013200729
+2013200730,2013200730
+2013200731,2009301023
+2013200732,2013200732
+2013200733,2013200733
+2013200734,2013200734
+2013200735,2013200735
+2013200736,2009301418
+2013200737,2013200737
+2013200738,2009301415
+2013200739,2009301294
+2013200740,2009300119
+2013200741,2009300026
+2013200742,2009300024
+2013200743,2009300021
+2013200744,2013200744
+2013200745,2013200745
+2013200746,2013200746
+2013200747,2009301443
+2013200748,2013200748
+2013200749,2013200749
+2013200750,2013200750
+2013200751,2013200751
+2013200752,2013200752
+2013200753,2013200753
+2013200754,2013200754
+2013200755,2009301362
+2013200756,2009301471
+2013200757,2013200757
+2013200758,2013200758
+2013200759,2009301336
+2013200760,2009301285
+2013200761,2009301370
+2013200762,2009301474
+2013200763,2013200763
+2013200764,2009301306
+2013200765,2013200765
+2013200766,061295
+2013200767,2013200767
+2013200768,2009301378
+2013200769,2013200769
+2013200770,2013200770
+2013200771,2009301428
+2013200772,2013200772
+2013200773,2009301393
+2013200774,2013200774
+2013200775,2009301334
+2013200776,2009301399
+2013200777,2009301341
+2013200778,2013200778
+2013200779,2013200779
+2013200780,2009301376
+2013200781,2013200781
+2013200782,2013200782
+2013200783,2013200783
+2013200784,2013200784
+2013200785,2013200785
+2013200786,2009301395
+2013200787,2013200787
+2013200788,2013200788
+2013200789,2013200789
+2013200790,2013200790
+2013200791,2009300162
+2013200792,2013200792
+2013200793,2007301192
+2013200794,2013200794
+2013200795,2009301374
+2013200796,2009301347
+2013200797,2013200797
+2013200798,2013200798
+2013200799,2013200799
+2013200800,2013200800
+2013200801,2013200801
+2013200802,2013200802
+2013200803,2007301198
+2013200804,2009302195
+2013200805,2013200805
+2013200806,2009301454
+2013200807,2013200807
+2013200808,2013200808
+2013200809,2013200809
+2013200810,2013200810
+2013200811,2009301346
+2013200812,2013200812
+2013200813,2007301193
+2013200814,2013200814
+2013200815,2013200815
+2013200816,2013200816
+2013200817,2009301367
+2013200818,2013200818
+2013200819,2013200819
+2013200820,2013200820
+2013200821,2013200821
+2013200822,2013200822
+2013200823,2013200823
+2013200824,2013200824
+2013200825,2013200825
+2013200826,2013200826
+2013200827,2013200827
+2013200828,2013200828
+2013200829,2013200829
+2013200830,2013200830
+2013200831,2013200831
+2013200832,2013200832
+2013200833,2013200833
+2013200834,2013200834
+2013200835,2013200835
+2013200836,2013200836
+2013200837,2009301214
+2013200838,2013200838
+2013200839,2013200839
+2013200840,2013200840
+2013200841,2013200841
+2013200842,2013200842
+2013200843,2009301232
+2013200844,2013200844
+2013200845,2013200845
+2013200846,2013200846
+2013200847,2013200847
+2013200848,2009301206
+2013200849,2013200849
+2013200850,2013200850
+2013200851,2009301185
+2013200852,2009301576
+2013200853,2013200853
+2013200854,2009301425
+2013200855,2009301242
+2013200856,2013200856
+2013200857,2013200857
+2013200858,2013200858
+2013200859,2013200859
+2013200860,2013200860
+2013200861,2009301221
+2013200862,2009301249
+2013200863,2013200863
+2013200864,2009301339
+2013200865,2009301257
+2013200866,2013200866
+2013200867,2013200867
+2013200868,2013200868
+2013200869,2013200869
+2013200870,2013200870
+2013200871,2013200871
+2013200872,2009301212
+2013200873,2013200873
+2013200874,2009301263
+2013200875,2013200875
+2013200876,2013200876
+2013200877,2013200877
+2013200878,2009301180
+2013200879,2009301293
+2013200880,2009301277
+2013200881,2013200881
+2013200882,2013200882
+2013200883,2013200883
+2013200884,2013200884
+2013200885,2013200885
+2013200886,2013200886
+2013200887,2013200887
+2013200888,2009301266
+2013200889,2013200889
+2013200890,2013200890
+2013200891,2013200891
+2013200892,2009301223
+2013200893,2009301203
+2013200894,2013200894
+2013200895,2013200895
+2013200896,2013200896
+2013200897,2013200897
+2013200898,2009301194
+2013200899,2009301189
+2013200900,2013200900
+2013200965,2013200965
+2013200966,2013200966
+2013200967,2013200967
+2013200968,2013200968
+2013200969,2013200969
+2013200970,2009301170
+2013200971,2013200971
+2013200972,2013200972
+2013200973,2013200973
+2013200974,2009301571
+2013200975,2009301506
+2013200976,2013200976
+2013200977,2013200977
+2013200978,2009301515
+2013200979,2009301496
+2013200980,2009301499
+2013200981,2009301537
+2013200982,2009301593
+2013200983,2009301505
+2013200984,2013200984
+2013200985,2009301494
+2013200986,2013200986
+2013200987,2009301511
+2013200988,2013200988
+2013200989,2013200989
+2013200990,2007301332
+2013200991,2009302743
+2013200992,2009301572
+2013200993,2009301503
+2013200994,2013200994
+2013200995,2008303098
+2013200996,2008301509
+2013200997,2009301508
+2013200998,2009301498
+2013200999,2013200999
+2013201000,2009301495
+2013201001,2013201001
+2013201002,2013201002
+2013201003,2013201003
+2013201004,2013201004
+2013201005,2013201005
+2013201006,2013201006
+2013201007,2008301490
+2013201008,2009301524
+2013201009,2009301549
+2013201010,2009301541
+2013201011,2009301523
+2013201012,2009301543
+2013201013,2009301544
+2013201014,2009301538
+2013201015,2009301527
+2013201038,2009301653
+2013201039,2009301810
+2013201040,2009301728
+2013201041,2009301788
+2013201042,2009301755
+2013201043,2009301696
+2013201044,2009301702
+2013201045,2008301728
+2013201046,2013201046
+2013201047,2009301753
+2013201048,2009301778
+2013201049,2009301798
+2013201050,2009301805
+2013201051,2009301795
+2013201052,2013201052
+2013201053,2008301715
+2013201054,2009301669
+2013201055,2013201055
+2013201056,2009301775
+2013201057,2009301809
+2013201058,2009301793
+2013201059,2013201059
+2013201060,2009301840
+2013201061,2009301846
+2013201062,2009301839
+2013201063,2009301818
+2013201064,2009301652
+2013201065,2013201065
+2013201066,2009301826
+2013201067,2013201067
+2013201068,2009301668
+2013201069,2009301732
+2013201070,2009301700
+2013201071,2009301739
+2013201072,2009301633
+2013201073,2009301648
+2013201074,2009301757
+2013201075,2009301724
+2013201076,2013201076
+2013201077,2009301747
+2013201078,2009301817
+2013201079,2013201079
+2013201080,2009301829
+2013201081,2009301830
+2013201082,2009301714
+2013201083,2009301824
+2013201084,2009301831
+2013201085,2009300164
+2013201086,2009301722
+2013201087,2009301763
+2013201088,2013201088
+2013201089,2008301639
+2013201090,2013201090
+2013201091,2009301710
+2013201092,2009301821
+2013201093,2009301685
+2013201094,2009301843
+2013201095,2013201095
+2013201096,2009300079
+2013201097,2009300061
+2013201098,2009301695
+2013201099,2009301750
+2013201100,2009300087
+2013201101,2009300060
+2013201102,2009301716
+2013201103,2009301650
+2013201104,2009301759
+2013201105,2009301743
+2013201106,2009301761
+2013201107,2009301634
+2013201108,2009301636
+2013201109,2009301644
+2013201110,2007301488
+2013201111,2009301635
+2013201112,2009301792
+2013201113,2013201113
+2013201114,2009301721
+2013201115,2009301676
+2013201116,2009301742
+2013201117,2009301800
+2013201118,2009301734
+2013201119,2009301837
+2013201120,2009301786
+2013201170,2013201170
+2013201171,2013201171
+2013201172,2013201172
+2013201173,2009301869
+2013201174,2008301828
+2013201175,2013201175
+2013201176,2013201176
+2013201177,2013201177
+2013201178,2013201178
+2013201179,2013201179
+2013201180,2013201180
+2013201181,2013201181
+2013201182,2013201182
+2013201183,2009301890
+2013201184,2013201184
+2013201185,2013201185
+2013201186,2009301880
+2013201187,2009301879
+2013201188,2013201188
+2013201189,2013201189
+2013201190,2009301891
+2013201191,2009301885
+2013201192,2013201192
+2013201193,2013201193
+2013201194,2013201194
+2013201195,2013201195
+2013201196,2013201196
+2013201197,2013201197
+2013201198,2013201198
+2013201199,2013201199
+2013201200,2012201210
+2013201201,2013201201
+2013201202,2009301884
+2013201203,2013201203
+2013201204,2007301677
+2013201205,2009301881
+2013201206,2013201206
+2013201207,2013201207
+2013201208,2009301972
+2013201209,2009301908
+2013201210,2009302091
+2013201211,2009302110
+2013201212,2008301863
+2013201213,2009301967
+2013201214,2009302111
+2013201215,2008301875
+2013201216,2009301901
+2013201217,2007301653
+2013201218,2013201218
+2013201219,2013201219
+2013201220,2009302073
+2013201221,2009301906
+2013201222,2009302105
+2013201223,2009302062
+2013201224,2009301944
+2013201225,2009302104
+2013201226,2007301662
+2013201227,2009301935
+2013201228,2009300114
+2013201229,2013201229
+2013201230,2013201230
+2013201231,2013201231
+2013201232,2013201232
+2013201233,2013201233
+2013201234,2013201234
+2013201235,2013201235
+2013201236,2013201236
+2013201237,2009300104
+2013201238,2013201238
+2013201239,2013201239
+2013201240,2009300067
+2013201241,2009301913
+2013201242,2013201242
+2013201243,2013201243
+2013201244,2009301969
+2013201245,2009301979
+2013201246,2013201246
+2013201247,2013201247
+2013201248,2013201248
+2013201249,2009300028
+2013201250,2013201250
+2013201251,2013201251
+2013201252,2013201252
+2013201253,2013201253
+2013201254,2007301656
+2013201255,2009301973
+2013201256,2013201256
+2013201257,2013201257
+2013201258,2013201258
+2013201259,2013201259
+2013201260,2009302077
+2013201261,2009302036
+2013201262,2013201262
+2013201263,2009300089
+2013201264,2013201264
+2013201265,2009302065
+2013201266,2009302037
+2013201267,2013201267
+2013201268,2009302057
+2013201269,2013201269
+2013201270,2013201270
+2013201271,2013201271
+2013201272,2008302006
+2013201273,2013201273
+2013201274,2013201274
+2013201275,2009302042
+2013201276,2008301834
+2013201277,2013201277
+2013201278,2013201278
+2013201279,2013201279
+2013201280,2013201280
+2013201281,2013201281
+2013201282,2013201282
+2013201283,2013201283
+2013201284,2009300446
+2013201285,2013201285
+2013201286,2013201286
+2013201287,2013201287
+2013201288,2009301936
+2013201289,2013201289
+2013201290,2013201290
+2013201291,2013201291
+2013201292,2007301712
+2013201293,2013201293
+2013201294,2013201294
+2013201295,2013201295
+2013201296,2008302493
+2013201297,2009302045
+2013201298,2013201298
+2013201299,2013201299
+2013201300,2013201300
+2013201301,2013201301
+2013201302,2013201302
+2013201303,2009301919
+2013201304,2013201304
+2013201305,2009301959
+2013201306,2009301965
+2013201307,2013201307
+2013201308,2013201308
+2013201309,2013201309
+2013201310,2013201310
+2013201311,2013201311
+2013201312,2013201312
+2013201313,2013201313
+2013201314,2009301954
+2013201315,2009301923
+2013201316,2013201316
+2013201317,2013201317
+2013201318,2013201318
+2013201319,2013201319
+2013201320,2013201320
+2013201321,2013201321
+2013201322,2013201322
+2013201323,2013201323
+2013201324,2009301951
+2013201325,2013201325
+2013201326,2009302033
+2013201327,2009301937
+2013201328,2013201328
+2013201329,2009301989
+2013201330,2009300013
+2013201331,2009302007
+2013201332,2009300030
+2013201333,2013201333
+2013201334,2009302004
+2013201335,2007301871
+2013201336,2013201336
+2013201337,2013201337
+2013201338,2009302016
+2013201339,2009300033
+2013201340,2009300004
+2013201341,2009300003
+2013201342,2008301996
+2013201343,2009301996
+2013201344,2009301933
+2013201345,2009301924
+2013201346,2013201346
+2013201347,2009302029
+2013201348,2009302011
+2013201349,2007301891
+2013201405,2013201405
+2013201406,2013201406
+2013201407,2013201407
+2013201408,2008302098
+2013201409,2009302291
+2013201410,2009302140
+2013201411,2013201411
+2013201412,2013201412
+2013201413,2008302339
+2013201414,2009302149
+2013201415,2009302315
+2013201416,2007302270
+2013201417,2013201417
+2013201418,2009302118
+2013201419,2009302366
+2013201420,2013201420
+2013201421,2009302206
+2013201422,2009302257
+2013201423,2009302245
+2013201424,2009300100
+2013201425,2009300063
+2013201426,2009300101
+2013201427,2009300103
+2013201428,2009302285
+2013201429,2008302187
+2013201430,2009302305
+2013201431,2009302252
+2013201432,2009302121
+2013201433,2009302725
+2013201434,2009302293
+2013201435,2013201435
+2013201436,2009302251
+2013201437,2009302284
+2013201438,2013201438
+2013201439,2009302306
+2013201440,2009302266
+2013201441,2013201441
+2013201442,2009302279
+2013201443,2009302269
+2013201444,2009302296
+2013201445,2009302260
+2013201446,2009300025
+2013201447,2009302223
+2013201448,2009302268
+2013201449,2009302253
+2013201450,2013201450
+2013201451,2009302239
+2013201452,2013201452
+2013201453,2013201453
+2013201454,2009302288
+2013201455,2009302227
+2013201456,2013201456
+2013201457,2009302298
+2013201458,2009302216
+2013201459,2009302258
+2013201460,2009302231
+2013201461,2009303605
+2013201462,2013201462
+2013201463,2013201463
+2013201464,2009302165
+2013201465,2009302151
+2013201466,2013201466
+2013201467,2013201467
+2013201468,2009302143
+2013201469,2009302120
+2013201470,2013201470
+2013201471,2013201471
+2013201472,2013201472
+2013201473,2009302207
+2013201474,2013201474
+2013201475,2013201475
+2013201476,2013201476
+2013201477,2007300346
+2013201478,2009302389
+2013201479,2009303380
+2013201480,2009302178
+2013201481,2013201481
+2013201482,2013201482
+2013201483,2008302324
+2013201484,2013201484
+2013201485,2013201485
+2013201486,2013201486
+2013201487,2008302318
+2013201488,2013201488
+2013201489,2009300109
+2013201490,2009300034
+2013201491,2013201491
+2013201492,2013201492
+2013201493,2013201493
+2013201494,2009302334
+2013201495,2013201495
+2013201496,2013201496
+2013201497,2013201497
+2013201498,2013201498
+2013201499,2009302352
+2013201500,2013201500
+2013201501,2013201501
+2013201502,2009300047
+2013201503,2009300040
+2013201504,2009300045
+2013201505,2009300073
+2013201506,2013201506
+2013201507,2009302323
+2013201508,2013201508
+2013201509,2013201509
+2013201510,2013201510
+2013201511,2013201511
+2013201512,2013201512
+2013201513,2013201513
+2013201514,2013201514
+2013201515,2009302763
+2013201516,2013201516
+2013201517,2013201517
+2013201518,2013201518
+2013201519,2013201519
+2013201520,2013201520
+2013201521,2009302432
+2013201522,2009302198
+2013201523,2013201523
+2013201524,2013201524
+2013201525,2013201525
+2013201526,2013201526
+2013201527,2013201527
+2013201528,2013201528
+2013201529,2013201529
+2013201530,2013201530
+2013201531,2013201531
+2013201532,2013201532
+2013201533,2013201533
+2013201534,2013201534
+2013201535,2009302308
+2013201536,2013201536
+2013201537,2013201537
+2013201538,2013201538
+2013201539,2013201539
+2013201540,2013201540
+2013201541,2013201541
+2013201542,2013201542
+2013201543,2013201543
+2013201544,2009302309
+2013201545,2013201545
+2013201546,2013201546
+2013201547,2013201547
+2013201548,2013201548
+2013201549,2009302382
+2013201550,2013201550
+2013201551,2013201551
+2013201552,2009302333
+2013201553,2009302168
+2013201554,2009300216
+2013201555,2009302271
+2013201556,2009302137
+2013201557,2013201557
+2013201558,2009302148
+2013201559,2013201559
+2013201560,2013201560
+2013201561,2013201561
+2013201562,2013201562
+2013201563,2009302133
+2013201564,2013201564
+2013201565,2008302115
+2013201566,2013201566
+2013201567,2009302201
+2013201568,2009302442
+2013201569,2009302181
+2013201570,2013201570
+2013201571,2013201571
+2013201572,2009301992
+2013201573,2009302294
+2013201574,2013201574
+2013201575,2013201575
+2013201576,2009302388
+2013201577,2009302370
+2013201578,2013201578
+2013201579,2009302356
+2013201580,2013201580
+2013201581,2009302240
+2013201582,2013201582
+2013201583,2013201583
+2013201584,2013201584
+2013201585,2013201585
+2013201586,2007300030
+2013201587,2013201587
+2013201588,2013201588
+2013201654,2009302617
+2013201655,2009303555
+2013201656,2009303597
+2013201657,2013201657
+2013201658,2009302563
+2013201659,2009303594
+2013201660,2009302554
+2013201661,2009302656
+2013201662,2013201662
+2013201663,2009303453
+2013201664,2013201664
+2013201665,2009303602
+2013201666,2009303573
+2013201667,2009303561
+2013201668,2009303421
+2013201669,2007302403
+2013201670,2009303506
+2013201671,2009302566
+2013201672,2013201672
+2013201673,2013201673
+2013201674,2009303484
+2013201675,2009302450
+2013201676,2009303452
+2013201677,2013201677
+2013201678,2013201678
+2013201679,2013201679
+2013201680,2013201680
+2013201681,2009302654
+2013201682,2009302579
+2013201683,2013201683
+2013201684,2013201684
+2013201685,2008302421
+2013201686,2009302496
+2013201687,2009302503
+2013201688,2009302641
+2013201689,2013201689
+2013201690,2009303454
+2013201691,2013201691
+2013201692,2009302604
+2013201693,2009302634
+2013201694,2013201694
+2013201695,2013201695
+2013201696,2013201696
+2013201697,2013201697
+2013201698,2013201698
+2013201699,2009303529
+2013201700,2013201700
+2013201701,2009302446
+2013201702,2013201702
+2013201703,2009302765
+2013201704,2013201704
+2013201705,2013201705
+2013201706,2009303375
+2013201707,2013201707
+2013201708,2013201708
+2013201709,2013201709
+2013201710,2013201710
+2013201711,2009303464
+2013201712,2007302371
+2013201713,2013201713
+2013201714,2013201714
+2013201715,2009302467
+2013201716,2009302447
+2013201717,2013201717
+2013201718,2013201718
+2013201719,2013201719
+2013201720,2009303499
+2013201721,2009302559
+2013201722,2009303360
+2013201723,2013201723
+2013201724,2013201724
+2013201725,2009302560
+2013201726,2013201726
+2013201727,2013201727
+2013201728,2013201728
+2013201729,2013201729
+2013201730,2013201730
+2013201731,2009303440
+2013201732,2009302606
+2013201733,2009303436
+2013201734,2009302493
+2013201735,2013201735
+2013201736,2013201736
+2013201737,060801
+2013201738,2013201738
+2013201739,2009302492
+2013201740,2009302525
+2013201741,2013201741
+2013201742,2009303404
+2013201743,2013201743
+2013201744,2013201744
+2013201745,2009303541
+2013201746,2009303447
+2013201747,2009302471
+2013201748,2009302597
+2013201749,2009302605
+2013201750,2009302507
+2013201751,2013201751
+2013201752,2013201752
+2013201753,2013201753
+2013201754,2009302527
+2013201755,2013201755
+2013201756,2013201756
+2013201757,2009302474
+2013201758,2009303394
+2013201759,2013201759
+2013201760,2013201760
+2013201761,2013201761
+2013201762,2013201762
+2013201763,2009303486
+2013201764,2009303344
+2013201765,2013201765
+2013201766,2009302562
+2013201767,2009302464
+2013201768,2009302549
+2013201769,2009303377
+2013201770,2009303351
+2013201771,2009303524
+2013201772,2013201772
+2013201773,2013201773
+2013201774,2013201774
+2013201775,2013201775
+2013201776,2013201776
+2013201777,2013201777
+2013201778,2013201778
+2013201779,2013201779
+2013201780,2013201780
+2013201781,2013201781
+2013201782,2013201782
+2013201821,2013201821
+2013201822,2013201822
+2013201823,2013201823
+2013201824,2013201824
+2013201825,2013201825
+2013201826,2013201826
+2013201827,2009302679
+2013201828,2013201828
+2013201829,2013201829
+2013201830,2013201830
+2013201831,2009302700
+2013201832,2009302756
+2013201833,2009302659
+2013201834,2013201834
+2013201835,2013201835
+2013201836,2013201836
+2013201837,2013201837
+2013201838,2013201838
+2013201839,2013201839
+2013201840,2009302733
+2013201841,2013201841
+2013201842,2013201842
+2013201843,2008302758
+2013201844,2009302683
+2013201845,2013201845
+2013201846,2013201846
+2013201847,2013201847
+2013201848,2013201848
+2013201849,2013201849
+2013201850,2013201850
+2013201851,2013201851
+2013201852,2013201852
+2013201853,2013201853
+2013201854,2013201854
+2013201855,2009302755
+2013201856,2013201856
+2013201857,2013201857
+2013201858,2013201858
+2013201859,2013201859
+2013201860,2013201860
+2013201861,2013201861
+2013201862,2013201862
+2013201863,2013201863
+2013201864,2013201864
+2013201865,2009302991
+2013201866,2013201866
+2013201867,2009302769
+2013201868,2013201868
+2013201869,2013201869
+2013201870,2009302714
+2013201871,2013201871
+2013201872,2013201872
+2013201873,2013201873
+2013201874,2013201874
+2013201875,2013201875
+2013201876,2013201876
+2013201877,2013201877
+2013201878,2013201878
+2013201879,2009302785
+2013201880,2013201880
+2013201881,2009302777
+2013201882,2009302826
+2013201883,2013201883
+2013201884,2013201884
+2013201885,2013201885
+2013201886,2013201886
+2013201887,2013201887
+2013201888,2013201888
+2013201889,2013201889
+2013201890,2013201890
+2013201891,2008302963
+2013201892,2009302897
+2013201893,2009302985
+2013201894,2013201894
+2013201895,2013201895
+2013201896,2009302955
+2013201897,2013201897
+2013201898,2013201898
+2013201899,2009302953
+2013201900,2013201900
+2013201901,2013201901
+2013201902,2013201902
+2013201903,2013201903
+2013201904,2009302912
+2013201905,2013201905
+2013201906,2013201906
+2013201907,2013201907
+2013201908,2009302660
+2013201909,2009302846
+2013201910,2009302852
+2013201911,2013201911
+2013201912,2009302869
+2013201913,2008302874
+2013201914,2013201914
+2013201915,2009302888
+2013201916,2009302885
+2013201917,2009302870
+2013201918,2013201918
+2013201919,2013201919
+2013201920,2013201920
+2013201921,2013201921
+2013201922,2013201922
+2013201923,2008302833
+2013201924,2013201924
+2013201925,2013201925
+2013201926,2013201926
+2013201927,2009302795
+2013201928,2013201928
+2013201929,2007302653
+2013201930,2009302804
+2013201931,2009302798
+2013201932,2013201932
+2013201933,2009302812
+2013201934,2009302773
+2013201935,2013201935
+2013201936,2009302935
+2013201937,2013201937
+2013201938,2013201938
+2013201939,2013201939
+2013201940,2013201940
+2013201941,2013201941
+2013201942,2008302950
+2013201943,2013201943
+2013201944,2009302919
+2013201945,2009302944
+2013201946,2013201946
+2013201947,2009303061
+2013201948,2013201948
+2013201949,2013201949
+2013201950,2013201950
+2013201951,2013201951
+2013201952,2013201952
+2013201953,2013201953
+2013201954,2013201954
+2013201955,2009302994
+2013201956,2013201956
+2013201957,2013201957
+2013201958,2013201958
+2013201959,2013201959
+2013201960,2013201960
+2013201961,2013201961
+2013201962,2013201962
+2013201963,2013201963
+2013201964,2013201964
+2013201965,2013201965
+2013201966,2013201966
+2013201967,2009302982
+2013201968,2009302996
+2013201969,2013201969
+2013202058,2013202058
+2013202059,2013202059
+2013202060,2009303106
+2013202061,2013202061
+2013202062,2013202062
+2013202063,2013202063
+2013202064,2009303002
+2013202065,2013202065
+2013202066,2013202066
+2013202067,2013202067
+2013202068,2009303008
+2013202069,2009303003
+2013202070,2013202070
+2013202071,2009303029
+2013202072,2013202072
+2013202073,2013202073
+2013202074,2013202074
+2013202075,2013202075
+2013202076,2013202076
+2013202077,2013202077
+2013202078,2013202078
+2013202079,2008303077
+2013202080,2009303100
+2013202081,2013202081
+2013202082,2013202082
+2013202083,2013202083
+2013202084,2013202084
+2013202085,2013202085
+2013202086,2013202086
+2013202087,2009303052
+2013202088,2013202088
+2013202089,2013202089
+2013202090,2013202090
+2013202091,2013202091
+2013202092,2013202092
+2013202093,2009303221
+2013202094,2009303097
+2013202095,2013202095
+2013202096,2013202096
+2013202097,2009303098
+2013202098,2013202098
+2013202099,2013202099
+2013202100,2013202100
+2013202101,2009303006
+2013202102,2013202102
+2013202103,2009303075
+2013202104,2013202104
+2013202105,2013202105
+2013202106,2013202106
+2013202107,2013202107
+2013202108,2013202108
+2013202109,2013202109
+2013202110,2013202110
+2013202111,2008303104
+2013202112,2013202112
+2013202113,2013202113
+2013202114,2013202114
+2013202115,2009303071
+2013202116,2013202116
+2013202117,2013202117
+2013202118,2009303041
+2013202119,2013202119
+2013202400,2013202400
+2013202401,2013202401
+2013202402,2013202402
+2013202403,2009303250
+2013202404,2013202404
+2013202405,2009303245
+2013202406,2013202406
+2013202407,2013202407
+2013202408,2013202408
+2013202409,2013202409
+2013202410,2013202410
+2013202411,2009303222
+2013202412,2013202412
+2013202413,2013202413
+2013202414,2013202414
+2013202415,2013202415
+2013202416,2009303296
+2013202417,2013202417
+2013202418,2013202418
+2013202419,2009303286
+2013202420,2007303072
+2013202421,2009303300
+2013202422,2009303282
+2013202423,2013202423
+2013202424,2013202424
+2013202425,2013202425
+2013202426,2013202426
+2013202427,2009303292
+2013202428,2013202428
+2013202429,2013202429
+2013202430,2013202430
+2013202431,2013202431
+2013202432,2013202432
+2013202433,2009301165
+2013202434,2013202434
+2013202435,2013202435
+2013202436,2013202436
+2013202437,2013202437
+2013202438,2013202438
+2013202439,2013202439
+2013202440,2013202440
+2013202441,2013202441
+2013202442,2013202442
+2013202443,2013202443
+2013202444,2009303280
+2013202445,2009303263
+2013202446,2009303278
+2013202447,2013202447
+2013202448,2009303134
+2013202449,2013202449
+2013202450,2008303139
+2013202451,2013202451
+2013202452,2013202452
+2013202453,2009303124
+2013202454,2013202454
+2013202455,2013202455
+2013202456,2009303154
+2013202457,2013202457
+2013202458,2013202458
+2013202459,2009303145
+2013202460,2009303152
+2013202481,2013202481
+2013202482,2013202482
+2013202483,2013202483
+2013202484,2013202484
+2013202485,2013202485
+2013202486,2008303043
+2013202487,2013202487
+2013202488,2009303281
+2013202489,2013202489
+2013202490,2013202490
+2013202559,2013202559
+2013202560,2013202560
+2013202561,2013202561
+2013202625,2013202625
+2013202626,2009303334
+2013202627,2013202627
+2013202628,2013202628
+2013202629,2013202629
+2013202630,2009303310
+2013202631,2013202631
+2013202632,2013202632
+2013202633,2013202633
+2013202634,2013202634
+2013202635,2009303311
+2013202636,2013202636
+2013202637,2009301037
+2013202638,2013202638
+2013202639,2013202639
+2013202640,2013202640
+2013202641,2009303316
+2013202642,2013202642
+2013210001,2013210001
+2013210002,2013210002
+2013210003,2013210003
+2013210004,2013210004
+2013210005,2013210005
+2013210006,2013210006
+2013210007,2013210007
+2013210008,2013210008
+2013210009,2013210009
+2013210010,2013210010
+2013210011,2013210011
+2013210012,2013210012
+2013210013,2013210013
+2013210014,2013210014
+2013210015,2013210015
+2013210016,2013210016
+2013210017,2013210017
+2013210018,2013210018
+2013210019,2013210019
+2013210020,2013210020
+2013210021,2013210021
+2013210022,2013210022
+2013210023,2013210023
+2013210024,2013210024
+2013210025,2013210025
+2013210026,2013210026
+2013210027,2013210027
+2013210028,2013210028
+2013210029,2013210029
+2013210030,2013210030
+2013210031,2013210031
+2013210032,2013210032
+2013210033,2013210033
+2013210034,1989000060
+2013210035,2013210035
+2013210036,2013210036
+2013210037,2013210037
+2013210038,2013210038
+2013210039,2013210039
+2013210040,2013210040
+2013210041,2013210041
+2013210042,2013210042
+2013210043,2013210043
+2013210044,2013210044
+2013210045,2013210045
+2013210046,2013210046
+2013210047,2013210047
+2013210048,2013210048
+2013210049,2013210049
+2013210050,2013210050
+2013210051,2013210051
+2013210052,2013210052
+2013210053,2013210053
+2013210054,2013210054
+2013210055,2013210055
+2013210056,2013210056
+2013210057,2013210057
+2013210058,2013210058
+2013210059,2013210059
+2013210060,2013210060
+2013210061,2013210061
+2013210062,2013210062
+2013210063,2013210063
+2013210064,2013210064
+2013210065,2013210065
+2013210066,2013210066
+2013210067,2013210067
+2013210068,2013210068
+2013210069,2013210069
+2013210070,2013210070
+2013210071,2013210071
+2013210072,2013210072
+2013210073,2013210073
+2013210074,2013210074
+2013210075,040436
+2013210076,2013210076
+2013210077,2013210077
+2013210078,2013210078
+2013210079,2013210079
+2013210080,2013210080
+2013210081,2013210081
+2013210082,2013210082
+2013210083,2013210083
+2013210084,2013210084
+2013210085,2013210085
+2013210086,2013210086
+2013210087,2013210087
+2013210088,2013210088
+2013210089,2013210089
+2013210090,2013210090
+2013210091,2013210091
+2013210092,2013210092
+2013210093,2013210093
+2013210094,2013210094
+2013210095,040395
+2013210096,2013210096
+2013210097,040272
+2013210098,2013210098
+2013210099,2013210099
+2013210100,2013210100
+2013210101,2013210101
+2013210102,2013210102
+2013210103,2013210103
+2013210104,050003
+2013210105,2013210105
+2013210106,2013210106
+2013210107,2013210107
+2013210108,2013210108
+2013210109,2013210109
+2013210110,2013210110
+2013210111,2013210111
+2013210112,040898
+2013210113,2013210113
+2013210114,050149
+2013210115,032912
+2013210116,2013210116
+2013210117,2013210117
+2013210118,2013210118
+2013210119,2013210119
+2013210120,2013210120
+2013210121,2013210121
+2013210122,2013210122
+2013210123,2013210123
+2013210124,2013210124
+2013210125,2013210125
+2013210126,051947
+2013210127,2013210127
+2013210128,2013210128
+2013210129,2013210129
+2013210130,2013210130
+2013210131,2013210131
+2013210132,2013210132
+2013210133,2013210133
+2013210134,2013210134
+2013210135,2013210135
+2013210136,2013210136
+2013210137,2013210137
+2013210138,2013210138
+2013210139,2013210139
+2013210140,2013210140
+2013210141,2013210141
+2013210142,2013210142
+2013210143,2013210143
+2013210144,2013210144
+2013210145,2013210145
+2013210146,2013210146
+2013210147,2013210147
+2013210148,2013210148
+2013210149,2013210149
+2013210150,2013210150
+2013210151,2013210151
+2013210152,2013210152
+2013210153,2013210153
+2013210154,2013210154
+2013210155,2013210155
+2013210156,2013210156
+2013210157,2013210157
+2013210158,2013210158
+2013210159,2013210159
+2013210160,2013210160
+2013210161,2013210161
+2013210162,2013210162
+2013210163,2013210163
+2013210164,2013210164
+2013210165,2013210165
+2013210166,2013210166
+2013210167,2013210167
+2013210168,2013210168
+2013210169,2013210169
+2013210170,2013210170
+2013210171,2013210171
+2013210172,2013210172
+2013210173,2013210173
+2013210174,2013210174
+2013210175,2013210175
+2013210176,2013210176
+2013210177,2013210177
+2013210178,2013210178
+2013210179,2013210179
+2013210180,2013210180
+2013210181,2013210181
+2013210182,042210
+2013210183,2013210183
+2013210184,2013210184
+2013210185,2013210185
+2013210186,2013210186
+2013210187,2013210187
+2013210188,2013210188
+2013210189,2013210189
+2013210190,2013210190
+2013210191,2013210191
+2013210192,2013210192
+2013210193,2013210193
+2013210194,2013210194
+2013210195,2007301194
+2013210196,2013210196
+2013210197,2013210197
+2013210198,2013210198
+2013210199,2007270018
+2013210200,2013210200
+2013210201,2012240013
+2013210202,2013210202
+2013210203,2012240014
+2013210204,041014
+2013210205,2012240015
+2013210206,040128
+2013210207,2012240016
+2013210208,2013210208
+2013210209,2013210209
+2013210210,2013210210
+2013210211,2013210211
+2013210212,2013210212
+2013210213,2013210213
+2013210214,2013210214
+2013210215,2013210215
+2013210216,2013210216
+2013210217,2013210217
+2013210218,2013210218
+2013210219,2013210219
+2013210220,2013210220
+2013210221,2013210221
+2013210222,2013210222
+2013210223,2013210223
+2013210224,2013210224
+2013210225,2013210225
+2013210226,2013210226
+2013210227,2013210227
+2013210228,2013210228
+2013210229,2013210229
+2013210230,2013210230
+2013210231,2013210231
+2013210232,2013210232
+2013210233,2013210233
+2013210234,2013210234
+2013210235,2013210235
+2013210236,2013210236
+2013210237,2013210237
+2013210238,2013210238
+2013210239,2013210239
+2013210240,2013210240
+2013210241,2013210241
+2013210242,2013210242
+2013210243,2013210243
+2013210244,2013210244
+2013210245,2013210245
+2013210246,2013210246
+2013210247,2013210247
+2013210248,2013210248
+2013210249,2013210249
+2013210250,2013210250
+2013210251,2013210251
+2013210252,2013210252
+2013210253,2013210253
+2013210254,2013210254
+2013210255,2008270044
+2013210256,2013210256
+2013210257,2013210257
+2013210258,2013210258
+2013210259,2013210259
+2013210260,2013210260
+2013210261,2013210261
+2013210262,2013210262
+2013210263,2013210263
+2013210264,2013210264
+2013210265,2013210265
+2013210266,2013210266
+2013210267,2013210267
+2013210268,2013210268
+2013210269,2013210269
+2013210270,2013210270
+2013210271,2013210271
+2013210272,2013210272
+2013210273,2013210273
+2013210274,2013210274
+2013210275,2013210275
+2013210276,2013210276
+2013210277,2013210277
+2013210278,2013210278
+2013210279,2013210279
+2013210280,2013210280
+2013210281,2013210281
+2013210282,2013210282
+2013210283,2013210283
+2013210284,2013210284
+2013210285,2013210285
+2013210286,2013210286
+2013210287,2013210287
+2013210288,2013210288
+2013210289,2013210289
+2013210290,2013210290
+2013210291,2013210291
+2013210292,2013210292
+2013210293,2013210293
+2013210294,2013210294
+2013210295,2013210295
+2013210296,2013210296
+2013210297,2013210297
+2013210298,2013210298
+2013210299,2013210299
+2013210300,2013210300
+2013210301,2013210301
+2013210302,2013210302
+2013210303,2013210303
+2013210304,2013210304
+2013210305,2013210305
+2013210306,2013210306
+2013210307,2013210307
+2013210308,2013210308
+2013210309,2013210309
+2013210310,2013210310
+2013210311,2013210311
+2013210312,2013210312
+2013210313,051157
+2013210314,2013210314
+2013210315,2013210315
+2013210316,2013210316
+2013210317,2013210317
+2013210318,2013210318
+2013210319,2013210319
+2013210320,2013210320
+2013210321,2013210321
+2013210322,2013210322
+2013210323,051057
+2013210324,2013210324
+2013210325,041199
+2013210326,2013210326
+2013210327,2013210327
+2013210328,2013210328
+2013210329,2013210329
+2013210330,2013210330
+2013210331,2013210331
+2013210332,2013210332
+2013210333,2013210333
+2013210334,2013210334
+2013210335,2013210335
+2013210336,2013210336
+2013210337,2013210337
+2013210338,2012240068
+2013210339,2012240066
+2013210340,2012240067
+2013210341,2012240074
+2013210342,2012240070
+2013210343,2012240078
+2013210344,2012240075
+2013210345,2012240060
+2013210346,2012240065
+2013210347,2012240063
+2013210348,2013210348
+2013210349,2012240064
+2013210350,2012240062
+2013210351,040537
+2013210352,2013210352
+2013210353,2012240006
+2013210354,2013210354
+2013210355,2012240077
+2013210356,2013210356
+2013210357,2013210357
+2013210358,2013210358
+2013210359,2013210359
+2013210360,051803
+2013210361,2013210361
+2013210362,042302
+2013210363,2013210363
+2013210364,2013210364
+2013210365,2013210365
+2013210366,2013210366
+2013210367,2013210367
+2013210368,2013210368
+2013210369,2013210369
+2013210370,2013210370
+2013210371,2013210371
+2013210372,2013210372
+2013210373,2013210373
+2013210374,2013210374
+2013210375,2013210375
+2013210376,2013210376
+2013210377,2013210377
+2013210378,2013210378
+2013210379,2013210379
+2013210380,2013210380
+2013210381,2013210381
+2013210382,2013210382
+2013210383,2013210383
+2013210384,2013210384
+2013210385,2013210385
+2013210386,050202
+2013210387,2013210387
+2013210388,2013210388
+2013210389,042252
+2013210390,2013210390
+2013210391,2013210391
+2013210392,2013210392
+2013210393,2013210393
+2013210394,2013210394
+2013210395,2013210395
+2013210396,2013210396
+2013210397,051239
+2013210398,2013210398
+2013210399,2013210399
+2013210400,2013210400
+2013210401,2007302083
+2013210402,2013210402
+2013210403,040686
+2013210404,2013210404
+2013210405,2013210405
+2013210406,2007302073
+2013210407,2013210407
+2013210408,2013210408
+2013210409,2013210409
+2013210410,2013210410
+2013210411,2013210411
+2013210412,2013210412
+2013210413,2013210413
+2013210414,062134
+2013210415,2007302143
+2013210416,2013210416
+2013210417,2013210417
+2013210418,2013210418
+2013210419,2013210419
+2013210420,050205
+2013210421,2007302147
+2013210422,2013210422
+2013210423,2013210423
+2013210424,2013210424
+2013210425,2013210425
+2013210426,2013210426
+2013210427,042174
+2013210428,2013210428
+2013210429,2013210429
+2013210430,2013210430
+2013210431,2013210431
+2013210432,2013210432
+2013210433,2013210433
+2013210434,2013210434
+2013210435,2013210435
+2013210436,2013210436
+2013210437,2009270098
+2013210438,2013210438
+2013210439,2013210439
+2013210440,2013210440
+2013210441,2013210441
+2013210442,2013210442
+2013210443,2013210443
+2013210444,2013210444
+2013210445,2013210445
+2013210446,2013210446
+2013210447,2013210447
+2013210448,062471
+2013210449,2013210449
+2013210450,2013210450
+2013210451,2013210451
+2013210452,2013210452
+2013210453,2013210453
+2013210454,2013210454
+2013210455,2013210455
+2013210456,2013210456
+2013210457,2013210457
+2013210458,2008270039
+2013210459,2013210459
+2013210460,2013210460
+2013210461,2013210461
+2013210462,2013210462
+2013210463,2013210463
+2013210464,2013210464
+2013210465,2013210465
+2013210466,2013210466
+2013210467,2013210467
+2013210468,2013210468
+2013210469,2013210469
+2013210470,2013210470
+2013210471,2013210471
+2013210472,2013210472
+2013210473,2013210473
+2013210474,2013210474
+2013210475,2013210475
+2013210476,2013210476
+2013210477,2013210477
+2013210478,2013210478
+2013210479,2013210479
+2013210480,2013210480
+2013210481,2013210481
+2013210482,2013210482
+2013210483,2013210483
+2013210484,2013210484
+2013210485,2013210485
+2013210486,2013210486
+2013210487,2013210487
+2013210488,2013210488
+2013210489,2013210489
+2013210490,2013210490
+2013210491,2013210491
+2013210492,2013210492
+2013210493,2013210493
+2013210494,2013210494
+2013210495,2013210495
+2013210496,2013210496
+2013210497,2013210497
+2013210498,2013210498
+2013210499,2013210499
+2013210500,2013210500
+2013210501,2013210501
+2013210502,2013210502
+2013210503,2013210503
+2013210504,2013210504
+2013210505,2013210505
+2013210506,2013210506
+2013210507,2013210507
+2013210508,2013210508
+2013210509,2013210509
+2013210510,2013210510
+2013210511,2013210511
+2013210512,2013210512
+2013210513,2013210513
+2013210514,2013210514
+2013210515,2013210515
+2013210516,2013210516
+2013210517,2013210517
+2013210518,2013210518
+2013210519,2013210519
+2013210520,2013210520
+2013210521,2013210521
+2013210522,2013210522
+2013210523,2013210523
+2013210524,2013210524
+2013210525,2013210525
+2013210526,051116
+2013210527,2013210527
+2013210528,2013210528
+2013210529,2013210529
+2013210530,2013210530
+2013210531,2010270080
+2013210532,2013210532
+2013210533,2013210533
+2013210534,2012240007
+2013210535,2013210535
+2013210536,2013210536
+2013210537,2013210537
+2013210538,2013210538
+2013210539,2013210539
+2013210540,2013210540
+2013210541,2013210541
+2013210542,2013210542
+2013210543,2013210543
+2013210544,2013210544
+2013210545,2013210545
+2013210546,2013210546
+2013210547,2013210547
+2013210548,2013210548
+2013210549,2013210549
+2013210550,2013210550
+2013210551,2013210551
+2013210552,2013210552
+2013210553,2013210553
+2013210554,2013210554
+2013210555,2013210555
+2013210556,2013210556
+2013210557,2013210557
+2013210558,2013210558
+2013210559,2013210559
+2013210560,2013210560
+2013210561,2013210561
+2013210562,2013210562
+2013210563,2013210563
+2013210564,2013210564
+2013210565,2013210565
+2013210566,2013210566
+2013210567,2013210567
+2013210568,2013210568
+2013210569,2013210569
+2013210570,2013210570
+2013210571,2013210571
+2013210572,2013210572
+2013210573,2013210573
+2013210574,2013210574
+2013210575,2013210575
+2013210576,2013210576
+2013210577,2013210577
+2013210578,2013210578
+2013210579,2013210579
+2013210580,2013210580
+2013210581,2013210581
+2013210582,2013210582
+2013210583,2013210583
+2013210584,2013210584
+2013210585,2013210585
+2013210586,2013210586
+2013210587,2013210587
+2013210588,2013210588
+2013210589,2013210589
+2013210590,2013210590
+2013210591,2013210591
+2013210592,2013210592
+2013210593,2013210593
+2013210594,2013210594
+2013210595,2013210595
+2013210596,2013210596
+2013210597,2013210597
+2013210598,2013210598
+2013210599,2013210599
+2013210600,2013210600
+2013210601,2013210601
+2013210602,2013210602
+2013210603,2013210603
+2013210604,2013210604
+2013210605,2013210605
+2013210606,2013210606
+2013210607,2013210607
+2013210608,2013210608
+2013210609,2013210609
+2013210610,2013210610
+2013210611,2013210611
+2013210612,2013210612
+2013210613,2013210613
+2013210614,2013210614
+2013210615,2013210615
+2013210616,2013210616
+2013210617,2013210617
+2013210618,2013210618
+2013210619,2013210619
+2013210620,2013210620
+2013210621,2013210621
+2013210622,2013210622
+2013210623,2013210623
+2013210624,2013210624
+2013210625,2013210625
+2013210626,2013210626
+2013210627,2013210627
+2013210628,2013210628
+2013210629,2013210629
+2013210630,2013210630
+2013210631,2013210631
+2013210632,2013210632
+2013210633,2013210633
+2013210634,2013210634
+2013210635,2013210635
+2013210636,2013210636
+2013210637,2013210637
+2013210638,2013210638
+2013210639,2013210639
+2013210640,2013210640
+2013210641,2013210641
+2013210642,2013210642
+2013210643,2013210643
+2013210644,2013210644
+2013210645,2013210645
+2013210646,2013210646
+2013210647,2013210647
+2013210648,2013210648
+2013210649,2013210649
+2013210650,2013210650
+2013210651,2013210651
+2013210652,2013210652
+2013210653,2013210653
+2013210654,2013210654
+2013210655,2013210655
+2013210656,2013210656
+2013210657,2013210657
+2013210658,2013210658
+2013210659,2013210659
+2013210660,2013210660
+2013210661,2013210661
+2013210662,2013210662
+2013210663,2013210663
+2013210664,2013210664
+2013210665,2013210665
+2013210666,2013210666
+2013210667,2013210667
+2013210668,2013210668
+2013210669,2013210669
+2013210670,2013210670
+2013210671,2013210671
+2013210672,2013210672
+2013210673,2013210673
+2013210674,2013210674
+2013210675,2013210675
+2013210676,2013210676
+2013210677,2013210677
+2013210678,2013210678
+2013210679,2013210679
+2013210680,2013210680
+2013210681,2013210681
+2013210682,2012240150
+2013210683,2012240151
+2013210684,2013210684
+2013210685,2013210685
+2013210686,2013210686
+2013210687,2013210687
+2013210688,2013210688
+2013210689,2013210689
+2013210690,2013210690
+2013210691,2013210691
+2013210692,2013210692
+2013210693,2013210693
+2013210694,2013210694
+2013210695,2013210695
+2013210696,2013210696
+2013210697,2013210697
+2013210698,2013210698
+2013210699,2013210699
+2013210700,2013210700
+2013210701,2013210701
+2013210702,2013210702
+2013210703,2013210703
+2013210704,2013210704
+2013210705,2013210705
+2013210706,2013210706
+2013210707,2013210707
+2013210708,2013210708
+2013210709,2013210709
+2013210710,2013210710
+2013210711,2013210711
+2013210712,2013210712
+2013210713,2013210713
+2013210714,2013210714
+2013210715,2013210715
+2013210716,2013210716
+2013210717,2013210717
+2013210718,2013210718
+2013210719,2013210719
+2013210720,2013210720
+2013210721,2013210721
+2013210722,2013210722
+2013210723,2013210723
+2013210724,2013210724
+2013210725,2013210725
+2013210726,2013210726
+2013210727,2013210727
+2013210728,2013210728
+2013210729,2013210729
+2013210730,2013210730
+2013210731,2013210731
+2013210732,2013210732
+2013210733,2013210733
+2013210734,2013210734
+2013210735,2013210735
+2013210736,2013210736
+2013210737,2013210737
+2013210738,2013210738
+2013210739,2013210739
+2013210740,2013210740
+2013210741,2013210741
+2013210742,2013210742
+2013210743,2013210743
+2013210744,2013210744
+2013210745,2013210745
+2013210746,2013210746
+2013210747,2013210747
+2013210748,2013210748
+2013210749,2013210749
+2013210750,2013210750
+2013210751,2013210751
+2013210752,2013210752
+2013210753,2013210753
+2013210754,2013210754
+2013210755,2013210755
+2013210756,2013210756
+2013210757,2013210757
+2013210758,2013210758
+2013210759,2013210759
+2013210760,2013210760
+2013210761,2013210761
+2013210762,2013210762
+2013210763,2013210763
+2013210764,2013210764
+2013210765,2013210765
+2013210766,2013210766
+2013210767,2013210767
+2013210768,2013210768
+2013210769,2013210769
+2013210770,2013210770
+2013210771,2013210771
+2013210772,2013210772
+2013210773,2013210773
+2013210774,2013210774
+2013210775,2013210775
+2013210776,2013210776
+2013210777,2013210777
+2013210778,2013210778
+2013210779,2013210779
+2013210780,2013210780
+2013210781,2013210781
+2013210782,2013210782
+2013210783,2013210783
+2013210784,2013210784
+2013210785,2013210785
+2013210786,2013210786
+2013210787,2013210787
+2013210788,2013210788
+2013210789,2013210789
+2013210790,2013210790
+2013210791,2013210791
+2013210792,2013210792
+2013210793,2013210793
+2013210794,2013210794
+2013210795,2013210795
+2013210796,2013210796
+2013210797,2013210797
+2013210798,2013210798
+2013210799,2013210799
+2013210800,2013210800
+2013210801,2013210801
+2013210802,2013210802
+2013210803,2013210803
+2013210804,2013210804
+2013210805,2013210805
+2013210806,2013210806
+2013210807,2013210807
+2013210808,2013210808
+2013210809,2013210809
+2013210810,2013210810
+2013210811,2013210811
+2013210812,2013210812
+2013210813,2013210813
+2013210814,2013210814
+2013210815,2013210815
+2013210816,2013210816
+2013210817,2013210817
+2013210818,2013210818
+2013210819,2013210819
+2013210820,2013210820
+2013210821,2013210821
+2013210822,2013210822
+2013210823,2013210823
+2013210824,2013210824
+2013210825,2013210825
+2013210826,2013210826
+2013210827,2013210827
+2013210828,2013210828
+2013210829,2013210829
+2013210830,2013210830
+2013210831,2013210831
+2013210832,2013210832
+2013210833,2013210833
+2013210834,2013210834
+2013210835,2013210835
+2013210836,2013210836
+2013210837,2013210837
+2013210838,2013210838
+2013210839,2013210839
+2013210840,2013210840
+2013210841,2013210841
+2013210842,2013210842
+2013210843,2013210843
+2013210844,2013210844
+2013210845,2013210845
+2013210846,2013210846
+2013210847,2013210847
+2013210848,2013210848
+2013210849,2013210849
+2013210850,2013210850
+2013210851,2013210851
+2013210852,2013210852
+2013210853,2013210853
+2013210854,2013210854
+2013210855,2013210855
+2013210856,2013210856
+2013210857,2013210857
+2013210858,2013210858
+2013210859,2013210859
+2013210860,2013210860
+2013210861,2013210861
+2013210862,2013210862
+2013210863,2013210863
+2013210864,2013210864
+2013210865,2013210865
+2013210866,2013210866
+2013210867,2013210867
+2013210868,2013210868
+2013210869,2013210869
+2013210870,2013210870
+2013210871,2013210871
+2013210872,2013210872
+2013210873,2013210873
+2013210874,2013210874
+2013210875,2013210875
+2013210876,2013210876
+2013210877,2013210877
+2013210878,2013210878
+2013210879,2013210879
+2013210880,2013210880
+2013210881,2013210881
+2013210882,2013210882
+2013210883,2013210883
+2013210884,2013210884
+2013210885,2013210885
+2013210886,2013210886
+2013210887,2013210887
+2013210888,2013210888
+2013210889,2013210889
+2013210890,2013210890
+2013210891,2013210891
+2013210892,2013210892
+2013210893,2013210893
+2013210894,2013210894
+2013210895,2013210895
+2013210896,2013210896
+2013210897,2009270141
+2013210898,2013210898
+2013210899,2013210899
+2013210900,2013210900
+2013210901,2013210901
+2013210902,2009270115
+2013210903,2013210903
+2013210904,2013210904
+2013210905,2013210905
+2013210906,2013210906
+2013210907,2013210907
+2013210908,2013210908
+2013210909,2013210909
+2013210910,2013210910
+2013210911,2013210911
+2013210912,2013210912
+2013210913,2013210913
+2013210914,2013210914
+2013210915,2013210915
+2013210916,2013210916
+2013210917,2013210917
+2013210918,2013210918
+2013210919,2013210919
+2013210920,2013210920
+2013210921,2013210921
+2013210922,2013210922
+2013210923,2013210923
+2013210924,2013210924
+2013210925,2013210925
+2013210926,2013210926
+2013210927,2013210927
+2013210928,2013210928
+2013210929,2013210929
+2013210930,2013210930
+2013210931,2013210931
+2013210932,2013210932
+2013210933,2013210933
+2013210934,2013210934
+2013210935,2013210935
+2013210936,2013210936
+2013210937,2013210937
+2013210938,2013210938
+2013210939,2013210939
+2013210940,2013210940
+2013210941,2013210941
+2013210942,2013210942
+2013210943,2013210943
+2013210944,2013210944
+2013210945,2013210945
+2013210946,2013210946
+2013210947,2013210947
+2013210948,2013210948
+2013210949,2013210949
+2013210950,2013210950
+2013210951,2013210951
+2013210952,2013210952
+2013210953,2013210953
+2013210954,2013210954
+2013210955,2013210955
+2013210956,2013210956
+2013210957,2013210957
+2013210958,2013210958
+2013210959,2013210959
+2013210960,2013210960
+2013210961,2013210961
+2013210962,2013210962
+2013210963,2013210963
+2013210964,2013210964
+2013210965,2013210965
+2013210966,2013210966
+2013210967,2013210967
+2013210968,2013210968
+2013210969,2013210969
+2013210970,2013210970
+2013210971,2013210971
+2013210972,2013210972
+2013210973,2013210973
+2013210974,2013210974
+2013210975,2013210975
+2013210976,2013210976
+2013210977,2013210977
+2013210978,2013210978
+2013210979,2013210979
+2013210980,2013210980
+2013210981,2013210981
+2013210982,2013210982
+2013210983,2013210983
+2013210984,2013210984
+2013210985,2013210985
+2013210986,2013210986
+2013210987,2013210987
+2013210988,2013210988
+2013210989,2013210989
+2013210990,2013210990
+2013210991,2013210991
+2013210992,2013210992
+2013210993,2013210993
+2013210994,2013210994
+2013210995,2013210995
+2013210996,2013210996
+2013210997,2013210997
+2013210998,2013210998
+2013210999,2013210999
+2013211000,2013211000
+2013211001,2013211001
+2013211002,2013211002
+2013211003,2013211003
+2013211004,2013211004
+2013211005,2013211005
+2013211006,2013211006
+2013211007,2013211007
+2013211008,2013211008
+2013211009,2013211009
+2013211010,2013211010
+2013211011,2013211011
+2013211012,2013211012
+2013211013,2013211013
+2013211014,2013211014
+2013211015,2013211015
+2013211016,2013211016
+2013211017,2013211017
+2013211018,2013211018
+2013211019,2013211019
+2013211020,2013211020
+2013211021,2013211021
+2013211022,2013211022
+2013211023,2013211023
+2013211024,2013211024
+2013211025,2013211025
+2013211026,2013211026
+2013211027,2013211027
+2013211028,2013211028
+2013211029,2013211029
+2013211030,2013211030
+2013211031,2013211031
+2013211032,2013211032
+2013211033,2013211033
+2013211034,2013211034
+2013211035,2013211035
+2013211036,2013211036
+2013211037,2013211037
+2013211038,2013211038
+2013211039,2013211039
+2013211040,2013211040
+2013211041,2013211041
+2013211042,2013211042
+2013211043,2013211043
+2013211044,2013211044
+2013211045,2013211045
+2013211046,2013211046
+2013211047,2013211047
+2013211048,2013211048
+2013211049,2013211049
+2013211050,2013211050
+2013211051,2013211051
+2013211052,2013211052
+2013211053,2013211053
+2013211054,2013211054
+2013211055,2013211055
+2013211056,2013211056
+2013211057,2013211057
+2013211058,2013211058
+2013211059,2013211059
+2013211060,2013211060
+2013211061,2013211061
+2013211062,2013211062
+2013211063,2013211063
+2013211064,2013211064
+2013211065,2013211065
+2013211066,2013211066
+2013211067,2013211067
+2013211068,2013211068
+2013211069,2013211069
+2013211070,2013211070
+2013211071,2013211071
+2013211072,2013211072
+2013211073,2013211073
+2013211074,2013211074
+2013211075,2013211075
+2013211076,2013211076
+2013211077,2013211077
+2013211078,2013211078
+2013211079,2013211079
+2013211080,2013211080
+2013211081,2013211081
+2013211082,2013211082
+2013211083,2013211083
+2013211084,2013211084
+2013211085,2013211085
+2013211086,2013211086
+2013211087,2013211087
+2013211088,2013211088
+2013211089,2013211089
+2013211090,2013211090
+2013211091,2013211091
+2013211092,2013211092
+2013211093,2013211093
+2013211094,2013211094
+2013211095,2013211095
+2013211096,2013211096
+2013211097,2013211097
+2013211098,2013211098
+2013211099,2013211099
+2013211100,2013211100
+2013211101,2013211101
+2013211102,2013211102
+2013211103,2013211103
+2013211104,2013211104
+2013211105,2013211105
+2013211106,2013211106
+2013211107,2013211107
+2013211108,2013211108
+2013211109,2013211109
+2013211110,2013211110
+2013211111,2013211111
+2013211112,2013211112
+2013211113,2013211113
+2013211114,2013211114
+2013211115,2013211115
+2013211116,2013211116
+2013211117,2013211117
+2013211118,2013211118
+2013211119,2013211119
+2013211120,2013211120
+2013211121,2013211121
+2013211122,2013211122
+2013211123,2013211123
+2013211124,2013211124
+2013211125,2013211125
+2013211126,2013211126
+2013211127,2013211127
+2013211128,2013211128
+2013211129,2013211129
+2013211130,2013211130
+2013211131,2013211131
+2013211132,2013211132
+2013211133,2013211133
+2013211134,2013211134
+2013211135,2013211135
+2013211136,2013211136
+2013211137,2013211137
+2013211138,2013211138
+2013211139,2013211139
+2013211140,2013211140
+2013211141,2013211141
+2013211142,2013211142
+2013211143,2013211143
+2013211144,2013211144
+2013211145,2013211145
+2013211146,2013211146
+2013211147,2013211147
+2013211148,2013211148
+2013211149,2013211149
+2013211150,2013211150
+2013211151,2013211151
+2013211152,2013211152
+2013211153,2013211153
+2013211154,2013211154
+2013211155,2013211155
+2013211156,2013211156
+2013211157,2013211157
+2013211158,2013211158
+2013211159,2013211159
+2013211160,2013211160
+2013211161,2013211161
+2013211162,2013211162
+2013211163,2013211163
+2013211164,2013211164
+2013211165,2013211165
+2013211166,2013211166
+2013211167,2013211167
+2013211168,2013211168
+2013211169,2013211169
+2013211170,2013211170
+2013211171,2013211171
+2013211172,2013211172
+2013211173,2013211173
+2013211174,2013211174
+2013211175,2013211175
+2013211176,2013211176
+2013211177,2013211177
+2013211178,2013211178
+2013211179,2013211179
+2013211180,2013211180
+2013211181,2013211181
+2013211182,2013211182
+2013211183,2013211183
+2013211184,2013211184
+2013211185,2013211185
+2013211186,2013211186
+2013211187,2013211187
+2013211188,2013211188
+2013211189,2013211189
+2013211190,2013211190
+2013211191,2013211191
+2013211192,2013211192
+2013211193,2013211193
+2013211194,2013211194
+2013211195,2013211195
+2013211196,2013211196
+2013211197,2013211197
+2013211198,2013211198
+2013211199,2013211199
+2013211200,2013211200
+2013211201,2013211201
+2013211202,2013211202
+2013211203,2013211203
+2013211204,2013211204
+2013211205,2013211205
+2013211206,2013211206
+2013211207,2013211207
+2013211208,2013211208
+2013211209,2013211209
+2013211210,2013211210
+2013211211,2013211211
+2013211212,2013211212
+2013211213,2013211213
+2013211214,2013211214
+2013211215,2013211215
+2013211216,2013211216
+2013211217,2013211217
+2013211218,2013211218
+2013211219,2013211219
+2013211220,2013211220
+2013211221,2013211221
+2013211222,2013211222
+2013211223,2013211223
+2013211224,2013211224
+2013211225,2013211225
+2013211226,2013211226
+2013211227,2013211227
+2013211228,2013211228
+2013211229,2013211229
+2013211230,2013211230
+2013211231,2013211231
+2013211232,2013211232
+2013211233,2013211233
+2013211234,2013211234
+2013211235,2013211235
+2013211236,2013211236
+2013211237,2013211237
+2013211238,2013211238
+2013211239,2013211239
+2013211240,2013211240
+2013211241,2013211241
+2013211242,2013211242
+2013211243,2013211243
+2013211244,2013211244
+2013211245,2013211245
+2013211246,2013211246
+2013211247,2013211247
+2013211248,2013211248
+2013211249,2013211249
+2013211250,2013211250
+2013211251,2013211251
+2013211252,2013211252
+2013211253,2013211253
+2013211254,2013211254
+2013211255,2013211255
+2013211256,2013211256
+2013211257,2013211257
+2013211258,2013211258
+2013211259,2013211259
+2013211260,2013211260
+2013211261,2013211261
+2013211262,2013211262
+2013211263,2013211263
+2013211264,2013211264
+2013211265,2013211265
+2013211266,2013211266
+2013211267,2013211267
+2013211268,2013211268
+2013211269,2013211269
+2013211270,2013211270
+2013211271,2013211271
+2013211272,2013211272
+2013211273,2013211273
+2013211274,2013211274
+2013211275,2013211275
+2013211276,2013211276
+2013211277,2013211277
+2013211278,2013211278
+2013211279,2013211279
+2013211280,2013211280
+2013211281,2013211281
+2013211282,2013211282
+2013211283,2013211283
+2013211284,2013211284
+2013211285,2013211285
+2013211286,2013211286
+2013211287,2013211287
+2013211288,2013211288
+2013211289,2013211289
+2013211290,2013211290
+2013211291,2013211291
+2013211292,2013211292
+2013211293,2013211293
+2013211294,2013211294
+2013211295,2013211295
+2013211296,2013211296
+2013211297,2013211297
+2013211298,2013211298
+2013211299,2013211299
+2013211300,2013211300
+2013211301,2013211301
+2013211302,2013211302
+2013211303,2013211303
+2013211304,2013211304
+2013211305,2013211305
+2013211306,2013211306
+2013211307,2013211307
+2013211308,2013211308
+2013211309,2013211309
+2013211310,2013211310
+2013211311,2013211311
+2013211312,2013211312
+2013211313,2013211313
+2013211314,2013211314
+2013211315,2013211315
+2013211316,2013211316
+2013211317,2013211317
+2013211318,2013211318
+2013211319,2013211319
+2013211320,2013211320
+2013211321,2013211321
+2013211322,2013211322
+2013211323,2013211323
+2013211324,2013211324
+2013211325,2013211325
+2013211326,2013211326
+2013211327,2013211327
+2013211328,2013211328
+2013211329,2013211329
+2013211330,2013211330
+2013211331,2013211331
+2013211332,2013211332
+2013211333,2013211333
+2013211334,2013211334
+2013211335,2013211335
+2013211336,2013211336
+2013211337,2013211337
+2013211338,2013211338
+2013211339,2013211339
+2013211340,2013211340
+2013211341,2013211341
+2013211342,2013211342
+2013211343,2013211343
+2013211344,2013211344
+2013211345,2013211345
+2013211346,2013211346
+2013211347,2013211347
+2013211348,2013211348
+2013211349,2013211349
+2013211350,2013211350
+2013211351,2013211351
+2013211352,2013211352
+2013211353,2013211353
+2013211354,2013211354
+2013211355,2013211355
+2013211356,2013211356
+2013211357,2013211357
+2013211358,2013211358
+2013211359,2013211359
+2013211360,2013211360
+2013211361,2013211361
+2013211362,2013211362
+2013211363,2013211363
+2013211364,2013211364
+2013211365,2013211365
+2013211366,2013211366
+2013211367,2013211367
+2013211368,2013211368
+2013211369,2013211369
+2013211370,2013211370
+2013211371,2013211371
+2013211372,2013211372
+2013211373,2013211373
+2013211374,2013211374
+2013211375,2013211375
+2013211376,2013211376
+2013211377,2013211377
+2013211378,2013211378
+2013211379,2013211379
+2013211380,2013211380
+2013211381,2013211381
+2013211382,2013211382
+2013211383,2013211383
+2013211384,2013211384
+2013211385,2013211385
+2013211386,2013211386
+2013211387,2013211387
+2013211388,2013211388
+2013211389,2013211389
+2013211390,2013211390
+2013211391,2013211391
+2013211392,2013211392
+2013211393,2013211393
+2013211394,2013211394
+2013211395,2013211395
+2013211396,2013211396
+2013211397,2013211397
+2013211398,2013211398
+2013211399,2013211399
+2013211400,2013211400
+2013211401,2013211401
+2013211402,2013211402
+2013211403,2013211403
+2013211404,2013211404
+2013211405,2013211405
+2013211406,2013211406
+2013211407,2013211407
+2013211408,2013211408
+2013211409,2013211409
+2013211410,2013211410
+2013211411,2013211411
+2013211412,2013211412
+2013211413,2013211413
+2013211414,2013211414
+2013211415,2013211415
+2013211416,2013211416
+2013211417,2013211417
+2013211418,2013211418
+2013211419,2013211419
+2013211420,2013211420
+2013211421,2013211421
+2013211422,2013211422
+2013211423,2013211423
+2013211424,2013211424
+2013211425,2013211425
+2013211426,2013211426
+2013211427,2013211427
+2013211428,2013211428
+2013211429,2013211429
+2013211430,2013211430
+2013211431,2013211431
+2013211432,2013211432
+2013211433,2013211433
+2013211434,2013211434
+2013211435,2013211435
+2013211436,2013211436
+2013211437,2013211437
+2013211438,2013211438
+2013211439,2013211439
+2013211440,2013211440
+2013211441,2013211441
+2013211442,2013211442
+2013211443,2013211443
+2013211444,2013211444
+2013211445,2013211445
+2013211446,2013211446
+2013211447,2013211447
+2013211448,2013211448
+2013211449,2013211449
+2013211450,2013211450
+2013211451,2013211451
+2013211452,2013211452
+2013211453,2013211453
+2013211454,2013211454
+2013211455,2013211455
+2013211456,2013211456
+2013211457,2013211457
+2013211458,2013211458
+2013211459,2013211459
+2013211460,2013211460
+2013211461,2013211461
+2013211462,2013211462
+2013211463,2013211463
+2013211464,2013211464
+2013211465,2013211465
+2013211466,2013211466
+2013211467,2013211467
+2013211468,2013211468
+2013211469,2013211469
+2013211470,2013211470
+2013211471,2013211471
+2013211472,2013211472
+2013211473,2013211473
+2013211474,2013211474
+2013211475,2013211475
+2013211476,2013211476
+2013211477,2013211477
+2013211478,2013211478
+2013211479,2013211479
+2013211480,2013211480
+2013211481,2013211481
+2013211482,2013211482
+2013211483,2013211483
+2013211484,2013211484
+2013211485,2013211485
+2013211486,2013211486
+2013211487,2013211487
+2013211488,2013211488
+2013211489,2013211489
+2013211490,2013211490
+2013211491,2013211491
+2013211492,2013070030
+2013211493,2013211493
+2013211494,2013211494
+2013211495,2013211495
+2013211496,2013211496
+2013211497,2013211497
+2013211498,2013211498
+2013211499,2013211499
+2013211500,2013211500
+2013211501,2013070032
+2013211502,2008301835
+2013211503,2013211503
+2013211504,2013211504
+2013211505,2008303294
+2013211506,2013211506
+2013211507,2013211507
+2013211508,2013211508
+2013211509,2013211509
+2013211510,2013211510
+2013211511,2013211511
+2013211512,2013211512
+2013211513,2013211513
+2013211514,2013211514
+2013211515,2013211515
+2013211516,2013211516
+2013211517,2013211517
+2013211518,2013211518
+2013211519,2013211519
+2013211520,2013211520
+2013211521,2013211521
+2013211522,2013211522
+2013211523,2013211523
+2013211524,2013211524
+2013211525,2013211525
+2013211526,2013211526
+2013211527,2013211527
+2013211528,2013211528
+2013211529,2013211529
+2013211530,2013211530
+2013211531,2013211531
+2013211532,2013211532
+2013211533,2013211533
+2013211534,2013211534
+2013211535,2013211535
+2013211536,2013211536
+2013211537,2013211537
+2013211538,2013211538
+2013211539,2013211539
+2013211540,2013211540
+2013211541,2013211541
+2013211542,2013211542
+2013211543,2013211543
+2013211544,2013211544
+2013211545,2013211545
+2013211546,2013211546
+2013211547,2013211547
+2013211548,2013211548
+2013211549,2013211549
+2013211550,2013211550
+2013211551,2013211551
+2013211552,2013211552
+2013211553,2013211553
+2013211554,2013211554
+2013211555,2013211555
+2013211556,2013211556
+2013211557,2013211557
+2013211558,2013211558
+2013211559,2013211559
+2013211560,2013211560
+2013211561,2013211561
+2013211562,2013211562
+2013211563,2013211563
+2013211564,2013211564
+2013211565,2013211565
+2013211566,2013211566
+2013211567,2013211567
+2013211568,2013211568
+2013211569,2013211569
+2013211570,2013211570
+2013211571,2013211571
+2013211572,2013211572
+2013211573,2013211573
+2013211574,2013211574
+2013211575,2013211575
+2013211576,2013211576
+2013211577,2013211577
+2013211578,2013211578
+2013211579,2013211579
+2013211580,2013211580
+2013211581,2013211581
+2013211582,2013211582
+2013211583,2013211583
+2013211584,2013211584
+2013211585,2013211585
+2013211586,2013211586
+2013211587,2013211587
+2013211588,2013211588
+2013211589,2013211589
+2013211590,2013211590
+2013211591,2013211591
+2013211592,2013211592
+2013211593,2013211593
+2013211594,2013211594
+2013211595,2013211595
+2013211596,2013211596
+2013211597,2013211597
+2013211598,2013211598
+2013211599,2013211599
+2013211600,2013211600
+2013211601,2013211601
+2013211602,2013211602
+2013211603,2013211603
+2013211604,2013211604
+2013211605,2013211605
+2013211606,2013211606
+2013211607,2013211607
+2013211608,2013211608
+2013211609,2013211609
+2013211610,2013211610
+2013211611,2013211611
+2013211612,2013211612
+2013211613,2013211613
+2013211614,2013211614
+2013211615,2013211615
+2013211616,2013211616
+2013211617,2013211617
+2013211618,2013211618
+2013211619,2013211619
+2013211620,2013211620
+2013211621,2013211621
+2013211622,2013211622
+2013211623,2013211623
+2013211624,2013211624
+2013211625,2013211625
+2013211626,2013211626
+2013211627,2013211627
+2013211628,2013211628
+2013211629,2013211629
+2013211630,2013211630
+2013211631,2013211631
+2013211632,2013211632
+2013211633,2013211633
+2013211634,2013211634
+2013211635,2013211635
+2013211636,2013211636
+2013211637,2013211637
+2013211638,2013211638
+2013211639,2013211639
+2013211640,2013211640
+2013211641,2013211641
+2013211642,2013211642
+2013211643,2013211643
+2013211644,2013211644
+2013211645,2013211645
+2013211646,2013211646
+2013211647,2013211647
+2013211648,2013211648
+2013211649,2013211649
+2013211650,2013211650
+2013211651,2013211651
+2013211652,2013211652
+2013211653,2013211653
+2013211654,2013211654
+2013211655,2013211655
+2013211656,2013211656
+2013211657,2013211657
+2013211658,2013211658
+2013211659,2013211659
+2013211660,2013211660
+2013211661,2013211661
+2013211662,2013211662
+2013211663,2013211663
+2013211664,2013211664
+2013211665,2013211665
+2013211666,2013211666
+2013211667,2013211667
+2013211668,2013211668
+2013211669,2013211669
+2013211670,2013211670
+2013211671,2013211671
+2013211672,2013211672
+2013211673,2013211673
+2013211674,2013211674
+2013211675,2013211675
+2013211676,2013211676
+2013211677,2013211677
+2013211678,2013211678
+2013211679,2013211679
+2013211680,2013211680
+2013211681,2013211681
+2013211682,2013211682
+2013211683,2013211683
+2013211684,2013211684
+2013211685,2013211685
+2013211686,2013211686
+2013211687,2013211687
+2013211688,2013211688
+2013211689,2013211689
+2013211690,2013211690
+2013211691,2013211691
+2013211692,2013211692
+2013211693,2013211693
+2013211694,2013211694
+2013211695,2013211695
+2013211696,2013211696
+2013211697,2013211697
+2013211698,2013211698
+2013211699,2013211699
+2013211700,2013211700
+2013211701,2013211701
+2013211702,2013211702
+2013211703,2013211703
+2013211704,2013211704
+2013211705,2013211705
+2013211706,2013211706
+2013211707,2013211707
+2013211708,2013211708
+2013211709,2013211709
+2013211710,2013211710
+2013211711,2013211711
+2013211712,2013211712
+2013211713,2013211713
+2013211714,2013211714
+2013211715,2013211715
+2013211716,2013211716
+2013211717,2013211717
+2013211718,2013211718
+2013211719,2013211719
+2013211720,2013211720
+2013211721,2013211721
+2013211722,2013211722
+2013211723,2013211723
+2013211724,2013211724
+2013211725,2013211725
+2013211726,2013211726
+2013211727,2013211727
+2013211728,2013211728
+2013211729,2013211729
+2013211730,2013211730
+2013211731,2013211731
+2013211732,2013211732
+2013211733,2013211733
+2013211734,2013211734
+2013211735,2013211735
+2013211736,2013211736
+2013211737,2013211737
+2013211738,2013211738
+2013211739,2013211739
+2013211740,2013211740
+2013211741,2013211741
+2013211742,2013211742
+2013211743,2013211743
+2013211744,2013211744
+2013211745,2013211745
+2013211746,2013211746
+2013211747,2013211747
+2013211748,2013211748
+2013211749,2013211749
+2013211750,2013211750
+2013211751,2013211751
+2013211752,2013211752
+2013211753,2013211753
+2013211754,2013211754
+2013211755,2013211755
+2013211756,2013211756
+2013211757,2013211757
+2013211758,2013211758
+2013211759,2013211759
+2013211760,2013211760
+2013211761,2013211761
+2013211762,2013211762
+2013211763,2013211763
+2013211764,2013211764
+2013211765,2013211765
+2013211766,2013211766
+2013211767,2013211767
+2013211768,2013211768
+2013211769,2013211769
+2013211770,2013211770
+2013211771,2013211771
+2013211772,2013211772
+2013211773,2013211773
+2013211774,2013211774
+2013211775,2013211775
+2013211776,2013211776
+2013211777,2013211777
+2013211778,2013211778
+2013211779,2013211779
+2013211780,2013211780
+2013211781,2013211781
+2013211782,2013211782
+2013211783,2013211783
+2013211784,2013211784
+2013211785,2013211785
+2013211786,2013211786
+2013211787,2013211787
+2013211788,2013211788
+2013211789,2013211789
+2013211790,2013211790
+2013211791,2013211791
+2013211792,2013211792
+2013211793,2013211793
+2013211794,2013211794
+2013211795,2013211795
+2013211796,2013211796
+2013211797,2013211797
+2013211798,2013211798
+2013211799,2013211799
+2013211800,2013211800
+2013211801,2013211801
+2013211802,2013211802
+2013211803,2013211803
+2013211804,2013211804
+2013211805,2013211805
+2013211806,2013211806
+2013211807,2013211807
+2013211808,2013211808
+2013211809,2013211809
+2013211810,2013211810
+2013211811,2013211811
+2013211812,2013211812
+2013211813,2013211813
+2013211814,2013211814
+2013211815,2013211815
+2013211816,2013211816
+2013211817,2013211817
+2013211818,2013211818
+2013211819,2013211819
+2013211820,2013211820
+2013211821,2013211821
+2013211822,2013211822
+2013211823,2013211823
+2013211824,2013211824
+2013211825,2013211825
+2013211826,2013211826
+2013211827,2013211827
+2013211828,2013211828
+2013211829,2013211829
+2013211830,2013211830
+2013211831,2013211831
+2013211832,2013211832
+2013211833,2013211833
+2013211834,2013211834
+2013211835,2013211835
+2013211836,2013211836
+2013211837,2013211837
+2013211838,2013211838
+2013211839,2013211839
+2013211840,2013211840
+2013211841,2013211841
+2013211842,2013211842
+2013211843,2013211843
+2013211844,2013211844
+2013211845,2013211845
+2013211846,2013211846
+2013211847,2013211847
+2013211848,2013211848
+2013211849,2013211849
+2013211850,2013211850
+2013211851,2013211851
+2013211852,2013211852
+2013211853,2013211853
+2013211854,2013211854
+2013211855,2013211855
+2013211856,2013211856
+2013211857,2013211857
+2013211858,2013211858
+2013211859,2013211859
+2013211860,2013211860
+2013211861,2013211861
+2013211862,2013211862
+2013211863,2013211863
+2013211864,2013211864
+2013211865,2013211865
+2013211866,2013211866
+2013211867,2013211867
+2013211868,2013211868
+2013211869,2013211869
+2013211870,2013211870
+2013211871,2013211871
+2013211872,2013211872
+2013211873,2013211873
+2013211874,2013211874
+2013211875,2013211875
+2013211876,2013211876
+2013211877,2013211877
+2013211878,2013211878
+2013211879,2013211879
+2013211880,2013211880
+2013211881,2013211881
+2013211882,2013211882
+2013211883,2013211883
+2013211884,2013211884
+2013211885,2013211885
+2013211886,2013211886
+2013211887,2013211887
+2013211888,2013211888
+2013211889,2013211889
+2013211890,2013211890
+2013211891,2013211891
+2013211892,2013211892
+2013211893,2013211893
+2013211894,2013211894
+2013211895,2013211895
+2013211896,2013211896
+2013211897,2013211897
+2013211898,2013211898
+2013211899,2013211899
+2013211900,2013211900
+2013211901,2013211901
+2013211902,2013211902
+2013211903,2013211903
+2013211904,2013211904
+2013211905,2013211905
+2013211906,2013211906
+2013211907,2013211907
+2013211908,2013211908
+2013211909,2013211909
+2013211910,2013211910
+2013211911,2013211911
+2013211912,2013211912
+2013211913,2013211913
+2013211914,2013211914
+2013211915,2013211915
+2013211916,2013211916
+2013211917,2013211917
+2013211918,2013211918
+2013211919,2013211919
+2013211920,2013211920
+2013211921,2013211921
+2013211922,2013211922
+2013211923,2013211923
+2013211924,2013211924
+2013211925,2013211925
+2013211926,2013211926
+2013211927,2013211927
+2013211928,2013211928
+2013211929,2013211929
+2013211930,2013211930
+2013211931,2013211931
+2013211932,2013211932
+2013211933,2013211933
+2013211934,2013211934
+2013211935,2013211935
+2013211936,2013211936
+2013211937,2013211937
+2013211938,2013211938
+2013211939,2013211939
+2013211940,2013211940
+2013211941,2013211941
+2013211942,2013211942
+2013211943,2013211943
+2013211944,2013211944
+2013211945,2013211945
+2013211946,2013211946
+2013211947,2013211947
+2013211948,2013211948
+2013211949,2013211949
+2013211950,2013211950
+2013211951,2013211951
+2013211952,2013211952
+2013211953,2013211953
+2013211954,2013211954
+2013211955,2013211955
+2013211956,2013211956
+2013211957,2013211957
+2013211958,2013211958
+2013211959,2013211959
+2013211960,2013211960
+2013211961,2013211961
+2013211962,2013211962
+2013211963,2013211963
+2013211964,2013211964
+2013211965,2013211965
+2013211966,2013211966
+2013211967,2013211967
+2013211968,2013211968
+2013211969,2013211969
+2013211970,2013211970
+2013211971,2013211971
+2013211972,2013211972
+2013211973,2013211973
+2013211974,2013211974
+2013211975,2013211975
+2013211976,2013211976
+2013211977,2013211977
+2013211978,2013211978
+2013211979,2013211979
+2013211980,2013211980
+2013211981,2013211981
+2013211982,2013211982
+2013211983,2013211983
+2013211984,2013211984
+2013211985,2013211985
+2013211986,2013211986
+2013211987,2013211987
+2013211988,2013211988
+2013211989,2013211989
+2013211990,2013211990
+2013211991,2013211991
+2013211992,2013211992
+2013211993,2013211993
+2013211994,2013211994
+2013211995,2013211995
+2013211996,2013211996
+2013211997,2013211997
+2013211998,2013211998
+2013211999,2013211999
+2013212000,2013212000
+2013212001,2013212001
+2013212002,2013212002
+2013212003,2013212003
+2013212004,2013212004
+2013212005,2013212005
+2013212006,2013212006
+2013212007,2013212007
+2013212008,2013212008
+2013212009,2013212009
+2013212010,2013212010
+2013212011,2013212011
+2013212012,2013212012
+2013212013,2013212013
+2013212014,2013212014
+2013212015,2013212015
+2013212016,2013212016
+2013212017,2013212017
+2013212018,2013212018
+2013212019,2013212019
+2013212020,2013212020
+2013212021,2013212021
+2013212022,2013212022
+2013212023,2013212023
+2013212024,2013212024
+2013212025,2013212025
+2013212026,2013212026
+2013212027,2013212027
+2013212028,2013212028
+2013212029,2013212029
+2013212030,2013212030
+2013212031,2013212031
+2013212032,2013212032
+2013212033,2013212033
+2013212034,2013212034
+2013212035,2013212035
+2013212036,2013212036
+2013212037,2013212037
+2013212038,2013212038
+2013212039,2013212039
+2013212040,2013212040
+2013212041,2013212041
+2013212042,2013212042
+2013212043,2013212043
+2013212044,2013212044
+2013212045,2013212045
+2013212046,2013212046
+2013212047,2013212047
+2013212048,2013212048
+2013212049,2013212049
+2013212050,2013212050
+2013212051,2013212051
+2013212052,2013212052
+2013212053,2013212053
+2013212054,2013212054
+2013212055,2013212055
+2013212056,2013212056
+2013212057,2013212057
+2013212058,2013212058
+2013212059,2013212059
+2013212060,2013212060
+2013212061,2013212061
+2013212062,2013212062
+2013212063,2013212063
+2013212064,2013212064
+2013212065,2013212065
+2013212066,2013212066
+2013212067,2013212067
+2013212068,2013212068
+2013212069,2013212069
+2013212070,2013212070
+2013212071,2013212071
+2013212072,2013212072
+2013212073,2013212073
+2013212074,2013212074
+2013212075,2013212075
+2013212076,2013212076
+2013212077,2013212077
+2013212078,2013212078
+2013212079,2013212079
+2013212080,2013212080
+2013212081,2013212081
+2013212082,2013212082
+2013212083,2013212083
+2013212084,2013212084
+2013212085,2013212085
+2013212086,2013212086
+2013212087,2013212087
+2013212088,2013212088
+2013212089,2013212089
+2013212090,2013212090
+2013212091,2013212091
+2013212092,2013212092
+2013212093,2013212093
+2013212094,2013212094
+2013212095,2013212095
+2013212096,2013212096
+2013212097,2013212097
+2013212098,2013212098
+2013212099,2013212099
+2013212100,2013212100
+2013212101,2013212101
+2013212102,2013212102
+2013212103,2013212103
+2013212104,2013212104
+2013212105,2013212105
+2013212106,2013212106
+2013212107,2013212107
+2013212108,2013212108
+2013212109,2013212109
+2013212110,2013212110
+2013212111,2013212111
+2013212112,2013212112
+2013212113,2013212113
+2013212114,2013212114
+2013212115,2013212115
+2013212116,2013212116
+2013212117,2013212117
+2013212118,2013212118
+2013212119,2013212119
+2013212120,2013212120
+2013212121,2013212121
+2013212122,2013212122
+2013212123,2013212123
+2013212124,2013212124
+2013212125,2013212125
+2013212126,2013212126
+2013212127,2013212127
+2013212128,2013212128
+2013212129,2013212129
+2013212130,2013212130
+2013212131,2013212131
+2013212132,2013212132
+2013212133,2013212133
+2013212134,2013212134
+2013212135,2013212135
+2013212136,2013212136
+2013212137,2013212137
+2013212138,2013212138
+2013212139,2013212139
+2013212140,2013212140
+2013212141,2013212141
+2013212142,2013212142
+2013212143,2013212143
+2013212144,2013212144
+2013212145,2013212145
+2013212146,2013212146
+2013212147,2013212147
+2013212148,2013212148
+2013212149,2013212149
+2013212150,2013212150
+2013212151,2013212151
+2013212152,2013212152
+2013212153,2013212153
+2013212154,2013212154
+2013212155,2013212155
+2013212156,2013212156
+2013212157,2013212157
+2013212158,2013212158
+2013212159,2013212159
+2013212160,2013212160
+2013212161,2013212161
+2013212162,2013212162
+2013212163,2009303545
+2013212164,2013212164
+2013212165,2013212165
+2013212166,2013212166
+2013212167,2013212167
+2013212168,2013212168
+2013212169,2013212169
+2013212170,2013212170
+2013212171,2013212171
+2013212172,2013212172
+2013212173,2013212173
+2013212174,2006020143
+2013212175,2009303563
+2013212176,2013212176
+2013212177,2012070052
+2013212178,2013212178
+2013212179,2013212179
+2013212180,2013212180
+2013212181,2013212181
+2013212182,056106612
+2013212183,2013212183
+2013212184,2013212184
+2013212185,2013212185
+2013212186,2013212186
+2013212187,2013212187
+2013212188,2013212188
+2013212189,2013212189
+2013212190,2013212190
+2013212191,2013212191
+2013212192,2013212192
+2013212193,2013212193
+2013212194,2013212194
+2013212195,2013212195
+2013212196,2013212196
+2013212197,2013212197
+2013212198,2013212198
+2013212199,2013212199
+2013212200,2013212200
+2013212201,2013212201
+2013212202,2013212202
+2013212203,2013212203
+2013212204,2013212204
+2013212205,2013212205
+2013212206,2013212206
+2013212207,2013212207
+2013212208,2013212208
+2013212209,2013212209
+2013212210,2013212210
+2013212211,2013212211
+2013212212,2013212212
+2013212213,2013212213
+2013212214,2013212214
+2013212215,2013212215
+2013212216,2013212216
+2013212217,2013212217
+2013212218,2013212218
+2013212219,2013212219
+2013212220,2013212220
+2013212221,2013212221
+2013212222,2013212222
+2013212223,2013212223
+2013212224,2013212224
+2013212225,2013212225
+2013212226,2013212226
+2013212227,2013212227
+2013212228,2013212228
+2013212229,2013212229
+2013212230,2013212230
+2013212231,2013212231
+2013212232,2013212232
+2013212233,2013212233
+2013212234,2013212234
+2013212235,2013212235
+2013212236,2013212236
+2013212237,2013212237
+2013212238,2013212238
+2013212239,2013212239
+2013212240,2013212240
+2013212241,2013212241
+2013212242,2013212242
+2013212243,2013212243
+2013212244,2013212244
+2013212245,2013212245
+2013212246,2013212246
+2013212247,2013212247
+2013212248,2013212248
+2013212249,2013212249
+2013212250,2013212250
+2013212251,2013212251
+2013212252,2013212252
+2013212253,2013212253
+2013212254,2013212254
+2013212255,2013212255
+2013212256,2013212256
+2013212257,2013212257
+2013212258,2013212258
+2013212259,2013212259
+2013212260,2013212260
+2013212261,2013212261
+2013212262,2013212262
+2013212263,2013212263
+2013212264,2013212264
+2013212265,2013212265
+2013212266,2013212266
+2013212267,2013212267
+2013212268,2013212268
+2013212269,2013212269
+2013212270,2013212270
+2013212271,2013212271
+2013212272,2013212272
+2013212273,2013212273
+2013212274,2013212274
+2013212275,2013212275
+2013212276,2013212276
+2013212277,2013212277
+2013212278,2013212278
+2013212279,2013212279
+2013212280,2013212280
+2013212281,2013212281
+2013212282,2013212282
+2013212283,2013212283
+2013212284,2013212284
+2013212285,2013212285
+2013212286,2013212286
+2013212287,2013212287
+2013212288,2013212288
+2013212289,2013212289
+2013212290,2013212290
+2013212291,2013212291
+2013212292,2013212292
+2013212293,2013212293
+2013212294,2013212294
+2013212295,2013212295
+2013212296,2013212296
+2013212297,2013212297
+2013212298,2013212298
+2013212299,2013212299
+2013212300,2013212300
+2013212301,2013212301
+2013212302,2013212302
+2013212303,2013212303
+2013212304,2013212304
+2013212305,2013212305
+2013212306,2013212306
+2013212307,2013212307
+2013212308,2013212308
+2013212309,2013212309
+2013212310,2013212310
+2013212311,2013212311
+2013212312,2013212312
+2013212313,2013212313
+2013212314,2013212314
+2013212315,2013212315
+2013212316,2013212316
+2013212317,2013212317
+2013212318,2013212318
+2013212319,2013212319
+2013212320,2013212320
+2013212321,2013212321
+2013212322,2013212322
+2013212323,2013212323
+2013212324,2013212324
+2013212325,2013212325
+2013212326,2013212326
+2013212327,2013212327
+2013212328,2013212328
+2013212329,2013212329
+2013212330,2013212330
+2013212331,2013212331
+2013212332,2013212332
+2013212333,2013212333
+2013212334,2013212334
+2013212335,2013212335
+2013212336,2013212336
+2013212337,2013212337
+2013212338,2013212338
+2013212339,2013212339
+2013212340,2013212340
+2013212341,2013212341
+2013212342,2013212342
+2013212343,2013212343
+2013212344,2013212344
+2013212345,2013212345
+2013212346,2013212346
+2013212347,2013212347
+2013212348,2013212348
+2013212349,2013212349
+2013212350,2013212350
+2013212351,2013212351
+2013212352,2013212352
+2013212353,2013212353
+2013212354,2013212354
+2013212355,2013212355
+2013212356,2013212356
+2013212357,2013212357
+2013212358,2013212358
+2013212359,2013212359
+2013212360,2013212360
+2013212361,2013212361
+2013212362,2013212362
+2013212363,2013212363
+2013212364,2013212364
+2013212365,2013212365
+2013212366,2013212366
+2013212367,2013212367
+2013212368,2013212368
+2013212369,2013212369
+2013212370,2013212370
+2013212371,2013212371
+2013212372,2013212372
+2013212373,2013212373
+2013212374,2013212374
+2013212375,2013212375
+2013212376,2013212376
+2013212377,2013212377
+2013212378,2013212378
+2013212379,2013212379
+2013212380,2013212380
+2013212381,2013212381
+2013212382,2013212382
+2013212383,2013212383
+2013212384,2013212384
+2013212385,2013212385
+2013212386,2013212386
+2013212387,2013212387
+2013212388,2013212388
+2013212389,2013212389
+2013212390,2013212390
+2013212391,2013212391
+2013212392,2013212392
+2013212393,2013212393
+2013212394,2013212394
+2013212395,2013212395
+2013212396,2013212396
+2013212397,2013212397
+2013212398,2013212398
+2013212399,2013212399
+2013212400,2013212400
+2013212401,2013212401
+2013212402,2013212402
+2013212403,2013212403
+2013212404,2013212404
+2013212405,2013212405
+2013212406,2013212406
+2013212407,2013212407
+2013212408,2013212408
+2013212409,2013212409
+2013212410,2013212410
+2013212411,2013212411
+2013212412,2013212412
+2013212413,2013212413
+2013212414,2013212414
+2013212415,2013212415
+2013212416,2013212416
+2013212417,2013212417
+2013212418,2013212418
+2013212419,2013212419
+2013212420,2013212420
+2013212421,2013212421
+2013212422,2013212422
+2013212423,2013212423
+2013212424,2013212424
+2013212425,2013212425
+2013212426,2013212426
+2013212427,2013212427
+2013212428,2013212428
+2013212429,2013212429
+2013212430,2013212430
+2013212431,2013212431
+2013212432,2013212432
+2013212433,2013212433
+2013212434,2013212434
+2013212435,2013212435
+2013212436,2013212436
+2013212437,2013212437
+2013212438,2013212438
+2013212439,2013212439
+2013212440,2013212440
+2013212441,2013212441
+2013212442,2013212442
+2013212443,2013212443
+2013212444,2013212444
+2013212445,2013212445
+2013212446,2013212446
+2013212447,2013212447
+2013212448,2013212448
+2013212449,2013212449
+2013212450,2013212450
+2013212451,2013212451
+2013212452,2013212452
+2013212453,2013212453
+2013212454,2013212454
+2013212455,2013212455
+2013212456,2013212456
+2013212457,2013212457
+2013212458,2013212458
+2013212459,2013212459
+2013212460,2013212460
+2013212461,2013212461
+2013212462,2013212462
+2013212463,2013212463
+2013212464,2013212464
+2013212465,2013212465
+2013212466,2013212466
+2013212467,2013212467
+2013212468,2013212468
+2013212469,2013212469
+2013212470,2013212470
+2013212471,2013212471
+2013212472,2013212472
+2013212473,2013212473
+2013212474,2013212474
+2013212475,2013212475
+2013212476,2013212476
+2013212477,2013212477
+2013212478,2013212478
+2013212479,2013212479
+2013212480,2013212480
+2013212481,2013212481
+2013212482,2013212482
+2013212483,2013212483
+2013212484,2013212484
+2013212485,2013212485
+2013212486,2013212486
+2013212487,2013212487
+2013212488,2013212488
+2013212489,2013212489
+2013212490,2013212490
+2013212491,2013212491
+2013212492,2013212492
+2013212493,2013212493
+2013212494,2013212494
+2013212495,2013212495
+2013212496,2013212496
+2013212497,2013212497
+2013212498,2013212498
+2013212499,2013212499
+2013212500,2013212500
+2013212501,2013212501
+2013212502,2013212502
+2013212503,2013212503
+2013212504,2013212504
+2013212505,2013212505
+2013212506,2013212506
+2013212507,2013212507
+2013212508,2013212508
+2013212509,2013212509
+2013212510,2013212510
+2013212511,2013212511
+2013212512,2013212512
+2013212513,2013212513
+2013212514,2013212514
+2013212515,2013212515
+2013212516,2013212516
+2013212517,2013212517
+2013212518,2013212518
+2013212519,2013212519
+2013212520,2013212520
+2013212521,2013212521
+2013212522,2013212522
+2013212523,2013212523
+2013212524,2013212524
+2013212525,2013212525
+2013212526,2013212526
+2013212527,2013212527
+2013212528,2013212528
+2013212529,2013212529
+2013212530,2013212530
+2013212531,2013212531
+2013212532,2013212532
+2013212533,2013212533
+2013212534,2013212534
+2013212535,2013212535
+2013212536,2013212536
+2013212537,2013212537
+2013212538,2013212538
+2013212539,2013212539
+2013212540,2013212540
+2013212541,2013212541
+2013212542,2013212542
+2013212543,2013212543
+2013212544,2013212544
+2013212545,2013212545
+2013212546,2013212546
+2013212547,2013212547
+2013212548,2013212548
+2013212549,2013212549
+2013212550,2013212550
+2013212551,2013212551
+2013212552,2013212552
+2013212553,2013212553
+2013212554,2013212554
+2013212555,2013212555
+2013212556,2013212556
+2013212557,2013212557
+2013212558,2013212558
+2013212559,2013212559
+2013212560,2013212560
+2013240001,2013211341
+2013240002,2013211389
+2013240003,2013211398
+2013240004,2013211390
+2013240005,2013211342
+2013240006,2013240006
+2013240007,2013211335
+2013240008,2013211452
+2013240009,2013211451
+2013240010,2013240010
+2013240011,2013240011
+2013240012,2013240012
+2013240013,2013240013
+2013240014,2013240014
+2013240015,2013240015
+2013240016,2013240016
+2013240017,2013240017
+2013240018,2013240018
+2013240019,2013240019
+2013240020,2013240020
+2013240021,2013240021
+2013240022,2013240022
+2013240023,2013240023
+2013240024,2013240024
+2013240025,2013240025
+2013240026,2013240026
+2013240027,2013240027
+2013240028,2013240028
+2013240029,2013240029
+2013240030,2013240030
+2013240031,2013240031
+2013240032,2013240032
+2013240033,2013240033
+2013240034,2013240034
+2013240035,2013240035
+2013240036,2013240036
+2013240037,2013240037
+2013240038,2013240038
+2013240039,2013240039
+2013240040,2013240040
+2013240041,2013240041
+2013240042,2013240042
+2013240043,2013240043
+2013240044,2013240044
+2013240045,2013240045
+2013240046,2013240046
+2013240047,2013240047
+2013240048,2013240048
+2013240049,2013240049
+2013240050,2013240050
+2013240051,2013240051
+2013240052,2013240052
+2013240053,2013240053
+2013240054,2013211500
+2013240055,2013240055
+2013240056,2013240056
+2013240057,2013240057
+2013240058,2013240058
+2013240059,2013240059
+2013240060,2013240060
+2013240061,2013240061
+2013240062,2013240062
+2013240063,2013240063
+2013240064,2013240064
+2013240065,2013240065
+2013240066,2013240066
+2013240067,2013240067
+2013240068,2013240068
+2013240069,2013240069
+2013240070,2013240070
+2013240071,2013240071
+2013240072,2013240072
+2013240073,2013240073
+2013240074,2008270045
+2013240075,2013240075
+2013240076,2013240076
+2013240077,2013240077
+2013240078,2013240078
+2013240079,042334
+2013240080,2013240080
+2013240081,2013240081
+2013240082,2013240082
+2013240083,2013240083
+2013240084,2013240084
+2013240085,2013240085
+2013240086,2013240086
+2013240087,2013240087
+2013240088,2013240088
+2013240089,2013240089
+2013240090,2013240090
+2013240091,2013240091
+2013240092,2013240092
+2013240093,2013240093
+2013240094,2013240094
+2013240095,2013240095
+2013240096,2013240096
+2013240097,2013240097
+2013240098,2013240098
+2013240099,2013240099
+2013240100,2013240100
+2013240101,2013240101
+2013240102,2013240102
+2013240103,2013240103
+2013240104,2013240104
+2013240105,2013240105
+2013240106,2013240106
+2013240107,2013240107
+2013240108,2013240108
+2013240109,2013240109
+2013240110,2013240110
+2013240111,2013240111
+2013240112,2013240112
+2013240113,2013240113
+2013240114,2013240114
+2013240115,2013240115
+2013240116,2013240116
+2013240117,2013240117
+2013240118,2013240118
+2013240119,2013240119
+2013240120,2013240120
+2013240121,2013240121
+2013240122,2013240122
+2013240123,2013240123
+2013240124,2013240124
+2013240125,2013240125
+2013240126,2013240126
+2013240127,2013240127
+2013240128,2013240128
+2013240129,2013240129
+2013240130,2013240130
+2013240131,2013240131
+2013240132,2013240132
+2013240133,2013240133
+2013240134,2013240134
+2013240135,2013240135
+2013240136,2013240136
+2013240137,2013240137
+2013240138,2013240138
+2013240139,2013240139
+2013240140,2013240140
+2013240141,2013240141
+2013240142,2013240142
+2013240143,2013240143
+2013240144,2013240144
+2013240145,2013240145
+2013240146,2013240146
+2013240147,2013240147
+2013240148,2013240148
+2013240149,2013240149
+2013240150,2013240150
+2013240151,2013240151
+2013240152,2013240152
+2013240153,2013240153
+2013240154,2013240154
+2013240155,2013240155
+2013240156,2013240156
+2013240157,2013240157
+2013240158,2013240158
+2013240159,2013240159
+2013240160,2013240160
+2013240161,2013240161
+2013240162,2013240162
+2013240163,2013240163
+2013240164,2013240164
+2013240165,2013240165
+2013240166,2013240166
+2013240167,2013240167
+2013240168,2013240168
+2013240169,2013240169
+2013240170,2013240170
+2013240171,2013240171
+2013240172,2013240172
+2013240173,2013240173
+2013240174,2013240174
+2013240175,2013240175
+2013240176,2013240176
+2013240177,2013240177
+2013240178,2013240178
+2013240179,2013240179
+2013240180,2013240180
+2013240181,2013240181
+2013240182,2013240182
+2013240183,2013240183
+2013240184,2013240184
+2013240185,2013240185
+2013240186,2013240186
+2013240187,2013240187
+2013240188,2013240188
+2013240189,2013240189
+2013240190,2013240190
+2013240191,2013240191
+2013240192,2013240192
+2013240193,2013240193
+2013240194,2013240194
+2013240195,2013240195
+2013240196,2013240196
+2013240197,2013240197
+2013240198,2013240198
+2013240199,2013240199
+2013240200,2013240200
+2013240201,2013240201
+2013240202,2013240202
+2013240203,2008301113
+2013240204,2013240204
+2013240205,2013240205
+2013240206,2013240206
+2013240207,2013240207
+2013240208,2013240208
+2013240209,2013240209
+2013240210,2013240210
+2013240211,2013240211
+2013240212,2013240212
+2013240213,2013240213
+2013240214,2013240214
+2013240215,2013240215
+2013240216,2013240216
+2013240217,2013240217
+2013240218,2013240218
+2013240219,2013240219
+2013240220,2013240220
+2013240221,2013240221
+2013240222,2013240222
+2013240223,2013240223
+2013240224,2013240224
+2013240225,2013240225
+2013240226,2013240226
+2013240227,2013240227
+2013240228,2013240228
+2013240229,2013240229
+2013240230,2013240230
+2013240231,2013240231
+2013240232,2013240232
+2013240233,2013240233
+2013240234,2013240234
+2013240235,2013240235
+2013240236,2013240236
+2013240237,2013240237
+2013240238,2013240238
+2013240239,2013240239
+2013240240,2013240240
+2013240241,2013240241
+2013240242,2013240242
+2013240243,2013240215
+2013240244,2013240244
+2013240245,2013240245
+2013240246,2013240246
+2013240247,2013240247
+2013240248,2013240248
+2013240249,2013240249
+2013240250,2013240250
+2013240251,2013240251
+2013240252,2013240252
+2013240253,2013240253
+2013240254,2013240254
+2013240255,2013240255
+2013240256,2013240256
+2013240257,2013240257
+2013240258,2013240258
+2013240259,2013240259
+2013240260,2013240260
+2013240261,2013240261
+2013240262,2013240262
+2013240263,2013240263
+2013240264,2013240264
+2013240265,2013240265
+2013240266,2013240266
+2013240267,2013240267
+2013240268,2013240268
+2013240269,2013240269
+2013240270,2013240270
+2013240271,2013240271
+2013240272,2013212553
+2013240273,2013240273
+2013240274,2013240274
+2013240275,2013240275
+2013240276,2013240276
+2013240277,2013240277
+2013240278,2013240278
+2013240279,2013240279
+2013240280,2013240280
+2013240281,2013240281
+2013240282,2013240282
+2013240283,2013240283
+2013240284,2013240284
+2013240285,2013240285
+2013240286,2013240286
+2013240287,2013240287
+2013240288,2013240288
+2013240289,2013240289
+2013240290,2013240290
+2013240291,2013240291
+2013240292,2013240292
+2013240293,2013240293
+2013240294,2013240294
+2013240295,2013240295
+2013240296,2013240296
+2013240297,2013240297
+2013240298,2013240298
+2013240299,2013240299
+2013240300,2013240300
+2013240301,2013240301
+2013240302,2013240302
+2013240303,2013240303
+2013240304,2013240304
+2013240305,2013240305
+2013240306,2013240306
+2013240307,2013240307
+2013240308,2013240308
+2013240309,2013240309
+2013240310,2013240310
+2013240311,2013240311
+2013240312,2013240312
+2013240313,2013240313
+2013240314,2013240314
+2013240315,2013240315
+2013240316,2013240316
+2013240317,2013240317
+2013240318,2013240318
+2013240319,2013240319
+2013240320,2013240320
+2013240321,2013240321
+2013240322,2013240322
+2013240323,2013240323
+2013240324,2013240324
+2013240325,2013240325
+2013240326,2013240326
+2013240327,2013240327
+2013240328,2013240328
+2013240329,2013240329
+2013240330,2013240330
+2013240331,2013240331
+2013240332,2013240332
+2013240333,2013240333
+2013240334,2013240334
+2013240335,2013240335
+2013240336,2013240336
+2013240337,2013240337
+2013240338,2013240338
+2013240339,2013240339
+2013240340,2013240340
+2013240341,2013240341
+2013240342,2013240342
+2013240343,2013240343
+2013240344,2013240344
+2013240345,2013240345
+2013240346,2013240346
+2013240347,2013240347
+2013240348,2013240348
+2013240349,2013240349
+2013240350,2013240350
+2013240351,2013240351
+2013240352,2013240352
+2013240353,2013240353
+2013240354,2013240354
+2013240355,2013240355
+2013240356,2013240356
+2013240357,2013240357
+2013240358,2013240358
+2013240359,2013240359
+2013240360,2013240360
+2013240361,2013240361
+2013240362,2013240362
+2013240363,2013240363
+2013240364,2013240364
+2013240365,2013240365
+2013240366,2013240366
+2013240367,2013240367
+2013240368,2013240368
+2013240369,2013240369
+2013240370,2013240370
+2013240371,2013240371
+2013240372,2013240372
+2013250001,2013250001
+2013250002,2013250002
+2013250003,2013250003
+2013250004,2009301273
+2013250005,2013250005
+2013250006,2009300190
+2013250007,051943
+2013250008,2013250008
+2013250009,2013250009
+2013250010,2013250010
+2013250011,2013250011
+2013250012,2013250012
+2013250013,2013250013
+2013250014,2013250014
+2013250015,2013250015
+2013250016,2013250016
+2013250017,2013250017
+2013250018,2013250018
+2013250019,2013250019
+2013250020,2013250020
+2013250021,2009300280
+2013250022,2009300590
+2013250023,2009300570
+2013250024,2013250024
+2013250025,2013250025
+2013250026,2007301479
+2013250027,2009300593
+2013250028,2013250028
+2013250029,2013250029
+2013250030,2009300634
+2013250031,2013250031
+2013250032,2013250032
+2013250033,2009300411
+2013250034,2009301736
+2013250035,2009300310
+2013250036,2013250036
+2013250037,2009303317
+2013250038,2009300278
+2013250039,2008301412
+2013250040,2013250040
+2013250041,2013250041
+2013250042,2013250042
+2013250043,2013250043
+2013250044,2013250044
+2013250045,2013250045
+2013250046,2013250046
+2013250047,2013250047
+2013250048,2013250048
+2013250049,2013250049
+2013250050,2013250050
+2013250051,2013250051
+2013250052,2013250052
+2013250053,2013250053
+2013250054,2013250054
+2013250055,2013250055
+2013250056,2013250056
+2013250057,2013250057
+2013250058,2013250058
+2013250059,2009301368
+2013250060,2013250060
+2013250061,2013250061
+2013250062,2013250062
+2013250063,2013250063
+2013250064,2013250064
+2013250065,2013250065
+2013250066,2013250066
+2013250067,2013250067
+2013250068,2013250068
+2013250069,2013250069
+2013250070,2009300309
+2013250071,2013250071
+2013250072,2013250072
+2013250073,2013250073
+2013250074,2013250074
+2013250075,2013250075
+2013250076,2013250076
+2013250077,2013250077
+2013250078,2013250078
+2013250079,2013250079
+2013250080,2013250080
+2013250081,2013250081
+2013250082,2013250082
+2013250083,2013250083
+2013250084,2013250084
+2013250085,2013250085
+2013250086,2008300244
+2013250087,2013250087
+2013250088,2013250088
+2013250089,2013250089
+2013250090,2013250090
+2013250091,2013250091
+2013250092,2013250092
+2013250093,2013250093
+2013250094,2013250094
+2013250095,2013250095
+2013250096,2009300480
+2013250097,2009300473
+2013250098,2013250098
+2013250099,2013250099
+2013250100,2013250100
+2013250101,2013250101
+2013250102,2013250102
+2013250103,2013250103
+2013250104,2013250104
+2013250105,2009302172
+2013250106,2013250106
+2013250107,2013250107
+2013250108,2009300220
+2013250109,2009300998
+2013250110,2009301183
+2013250111,2013250111
+2013250112,2009301291
+2013250113,2013250113
+2013250114,2013250114
+2013250115,2009300605
+2013250116,2013250116
+2013250117,2013250117
+2013250118,2013250118
+2013250119,2013250119
+2013250120,2013250120
+2013250121,2013250121
+2013250122,2013250122
+2013250123,2013250123
+2013250124,2013250124
+2013250125,2013250125
+2013250126,2013250126
+2013250127,2013250127
+2013250128,2013250128
+2013250129,2013250129
+2013250130,2013250130
+2013250131,2013250131
+2013250132,2013250132
+2013250133,2013250133
+2013250134,2013250134
+2013250135,2013250135
+2013250136,2013250136
+2013250137,2013250137
+2013250138,2013250138
+2013250139,2013250139
+2013250140,2013250140
+2013250141,2013250141
+2013250142,2013250142
+2013250143,2013250143
+2013250144,2013250144
+2013250145,2013250145
+2013250146,2009300625
+2013250147,2013250147
+2013250148,2013250148
+2013250149,2013250149
+2013250150,2013250150
+2013250151,2013250151
+2013250152,2013250152
+2013250153,2013250153
+2013250154,2013250154
+2013250155,2013250155
+2013250156,2009302125
+2013250157,2013250157
+2013250158,2013250158
+2013250159,2013250159
+2013250160,2013250160
+2013250161,2013250161
+2013260154,2009300293
+2013260155,2009300355
+2013260156,2013260156
+2013260157,2009300401
+2013260158,2009300264
+2013260159,2009300235
+2013260160,2009300419
+2013260161,2009301519
+2013260162,2009300167
+2013260163,2013260163
+2013260164,2009300209
+2013260165,2013260165
+2013260166,2009300347
+2013260167,2013260167
+2013260168,2013260168
+2013260169,2009300291
+2013260170,2013260170
+2013260171,2013260171
+2013260172,2013260172
+2013260173,2009303501
+2013260174,2009300368
+2013260175,2013260175
+2013260176,2009302592
+2013260177,2013260177
+2013260178,2009301466
+2013260179,2009300186
+2013260180,2009300198
+2013260181,2009300457
+2013260182,2009300400
+2013260183,2013260183
+2013260184,2013260184
+2013260185,2013260185
+2013260186,2009300889
+2013260187,2009300361
+2013260188,2009300367
+2013260189,2009300374
+2013260190,2009300351
+2013260191,2009300424
+2013260192,2009300377
+2013260193,2013260193
+2013260194,2009300393
+2013260195,2013260195
+2013260196,2009302815
+2013260197,2013260197
+2013260198,2009300257
+2013260199,2009300386
+2013260200,2013260200
+2013260201,2013260201
+2013260202,2009300333
+2013260203,2009300196
+2013260204,2009302817
+2013260205,2013260205
+2013260206,2009302998
+2013260207,2009302538
+2013260208,2009300467
+2013260209,2013260209
+2013260210,2013260210
+2013260211,2009300447
+2013260212,2009300322
+2013260213,2009300412
+2013260214,2009301512
+2013260215,2009300366
+2013260216,2009300265
+2013260305,2013260305
+2013260306,2009300654
+2013260307,2009300621
+2013260308,2009300638
+2013260309,2013260309
+2013260310,2008300551
+2013260311,2009300636
+2013260312,2013260312
+2013260313,2009302411
+2013260314,2009300607
+2013260315,2009300619
+2013260316,040569
+2013260317,2009300068
+2013260318,2013260318
+2013260319,2009300630
+2013260320,2009302608
+2013260321,2013260321
+2013260322,2013260322
+2013260323,2013260323
+2013260324,2009300635
+2013260325,2009300525
+2013260326,2009300534
+2013260327,2009300588
+2013260328,2009300551
+2013260329,2009300665
+2013260330,2009300678
+2013260331,2009300552
+2013260332,2009300567
+2013260333,2013260333
+2013260334,2013260334
+2013260335,2009300600
+2013260336,2009300533
+2013260337,2013260337
+2013260338,2008300479
+2013260339,2009300499
+2013260340,2009300518
+2013260341,2009300604
+2013260342,2009300592
+2013260343,2013260343
+2013260344,2009300491
+2013260345,2009300672
+2013260346,2009300669
+2013260347,2009300558
+2013260348,2009300474
+2013260456,2009300829
+2013260457,2009300832
+2013260458,2009300862
+2013260459,2013260459
+2013260460,2013260460
+2013260461,2009300865
+2013260462,2013260462
+2013260463,2009300827
+2013260464,2009300815
+2013260465,2009300833
+2013260466,2013260466
+2013260467,2013260467
+2013260468,2013260468
+2013260469,2013260469
+2013260470,2009300787
+2013260471,2013260471
+2013260472,2013260472
+2013260473,2013260473
+2013260474,2013260474
+2013260475,2009300748
+2013260476,2009300747
+2013260477,2013260477
+2013260478,2013260478
+2013260479,2013260479
+2013260480,2013260480
+2013260481,2009300813
+2013260482,2013260482
+2013260483,2013260483
+2013260484,2013260484
+2013260485,2009300725
+2013260486,2013260486
+2013260487,2013260487
+2013260488,2013260488
+2013260489,2009300734
+2013260490,2013260490
+2013260491,061525
+2013260492,2013260492
+2013260493,2013260493
+2013260494,2009300874
+2013260495,2013260495
+2013260496,2013260496
+2013260497,2013260497
+2013260498,2009300718
+2013260499,2013260499
+2013260500,2009300875
+2013260501,2009300917
+2013260502,2013260502
+2013260503,2009300139
+2013260654,2009300987
+2013260655,2009300963
+2013260656,2009300941
+2013260657,2009301081
+2013260658,2013260658
+2013260659,2013260659
+2013260660,2009301052
+2013260661,2013260661
+2013260662,2009301028
+2013260663,2009300999
+2013260664,2009300986
+2013260665,2013260665
+2013260666,2009301147
+2013260667,2009300931
+2013260668,2013260668
+2013260669,2013260669
+2013260670,2009301029
+2013260671,2013260671
+2013260672,2013260672
+2013260673,2013260673
+2013260674,2013260674
+2013260675,2013260675
+2013260676,2013260676
+2013260677,2013260677
+2013260678,2013260678
+2013260679,2013260679
+2013260680,2009301020
+2013260681,2013260681
+2013260682,2013260682
+2013260683,2013260683
+2013260684,2013260684
+2013260685,2013260685
+2013260686,2013260686
+2013260687,2013260687
+2013260688,2009301119
+2013260689,2009301132
+2013260690,2009301001
+2013260691,2013260691
+2013260692,2013260692
+2013260693,2009301002
+2013260694,2013260694
+2013260695,2013260695
+2013260696,2009301009
+2013260697,2009300966
+2013260698,2013260698
+2013260699,2009301035
+2013260700,2009301054
+2013260701,2013260701
+2013260702,2013260702
+2013260703,2013260703
+2013260704,2013260704
+2013260705,2009301039
+2013260706,2013260706
+2013260707,2013260707
+2013260708,2013260708
+2013260709,2013260709
+2013260710,2009301034
+2013260711,2013260711
+2013260712,2013260712
+2013260713,2009301006
+2013260901,2009301297
+2013260902,2009301426
+2013260903,2009301307
+2013260904,2009301383
+2013260905,2013260905
+2013260906,2009301311
+2013260907,2013260907
+2013260908,2009301325
+2013260909,2009301447
+2013260910,2013260910
+2013260911,2013260911
+2013260912,2009301401
+2013260913,2009302721
+2013260914,2013260914
+2013260915,2009301329
+2013260916,2013260916
+2013260917,2013260917
+2013260918,2009301320
+2013260919,2013260919
+2013260920,2009301316
+2013260921,2013260921
+2013260922,2013260922
+2013260923,2013260923
+2013260924,2013260924
+2013260925,2009301483
+2013260926,2013260926
+2013260927,2013260927
+2013260928,2008301362
+2013260929,2013260929
+2013260930,2013260930
+2013260931,2009302276
+2013260932,2013260932
+2013260933,2013260933
+2013260934,2013260934
+2013260935,2013260935
+2013260936,2009301226
+2013260937,2009301217
+2013260938,2013260938
+2013260939,2013260939
+2013260940,2013260940
+2013260941,2013260941
+2013260942,2013260942
+2013260943,2013260943
+2013260944,2009300126
+2013260945,2013260945
+2013260946,2013260946
+2013260947,2013260947
+2013260948,2013260948
+2013260949,2009301488
+2013260950,2013260950
+2013260951,2013260951
+2013260952,2013260952
+2013260953,2013260953
+2013260954,2009301328
+2013260955,2009301258
+2013260956,2009301231
+2013260957,2009301330
+2013260958,2009301256
+2013260959,2009301282
+2013260960,2013260960
+2013260961,2013260961
+2013260962,2013260962
+2013260963,2013260963
+2013260964,2009301155
+2013261016,2009301557
+2013261017,2009301007
+2013261018,2009301586
+2013261019,2013261019
+2013261020,2009301540
+2013261021,2013261021
+2013261022,2009301493
+2013261023,2013261023
+2013261024,2013261024
+2013261025,2009301542
+2013261026,2013261026
+2013261027,2009301547
+2013261028,2009301591
+2013261029,2013261029
+2013261030,2013261030
+2013261031,2009301516
+2013261032,2013261032
+2013261033,2009301521
+2013261034,2013261034
+2013261035,2008301548
+2013261036,2007302157
+2013261037,2013261037
+2013261121,2013261121
+2013261122,2009301845
+2013261123,2009301771
+2013261124,2009301780
+2013261125,2009301787
+2013261126,2013261126
+2013261127,2009301756
+2013261128,2009301658
+2013261129,2013261129
+2013261130,2009301687
+2013261131,2009301679
+2013261132,2009301641
+2013261133,2008301706
+2013261134,2009302989
+2013261135,2009301647
+2013261136,2009301808
+2013261137,2013261137
+2013261138,2013261138
+2013261139,2009301834
+2013261140,2013261140
+2013261141,2009301735
+2013261142,2009301823
+2013261143,2009301836
+2013261144,2013261144
+2013261145,2009301825
+2013261146,2009301683
+2013261147,2009301758
+2013261148,2009301711
+2013261149,2009301694
+2013261150,2009301764
+2013261151,2009301681
+2013261152,2009301848
+2013261153,2009301690
+2013261154,2013261154
+2013261155,2013261155
+2013261156,2013261156
+2013261157,2013261157
+2013261158,2009301796
+2013261159,2009301790
+2013261160,2009301697
+2013261161,2009301657
+2013261162,2009301770
+2013261163,2009301816
+2013261164,2009301822
+2013261165,2013261165
+2013261166,2009301698
+2013261167,2013261167
+2013261168,2009301776
+2013261169,2009301720
+2013261350,2009302047
+2013261351,2009302103
+2013261352,2013261352
+2013261353,2013261353
+2013261354,2013261354
+2013261355,2009301980
+2013261356,2013261356
+2013261357,2013261357
+2013261358,2009301976
+2013261359,2009302060
+2013261360,2009301975
+2013261361,2013261361
+2013261362,2009301964
+2013261363,2009301899
+2013261364,2013261364
+2013261365,2009301911
+2013261366,2013261366
+2013261367,2009301941
+2013261368,2009301952
+2013261369,2013261369
+2013261370,2013261370
+2013261371,2009301977
+2013261372,2009302070
+2013261373,2013261373
+2013261374,2013261374
+2013261375,2013261375
+2013261376,2007302360
+2013261377,2009301886
+2013261378,2009301883
+2013261379,2009302046
+2013261380,2013261380
+2013261381,2013261381
+2013261382,2013261382
+2013261383,2009301917
+2013261384,2009302043
+2013261385,2009301929
+2013261386,2013261386
+2013261387,2013261387
+2013261388,2013261388
+2013261389,2013261389
+2013261390,2009303328
+2013261391,2013261391
+2013261392,2013261392
+2013261393,2009301988
+2013261394,2009301987
+2013261395,2009302031
+2013261396,2009301942
+2013261397,2009302008
+2013261398,2009301985
+2013261399,2009301991
+2013261400,2009302012
+2013261401,2007300573
+2013261402,2009302006
+2013261403,2009301994
+2013261404,2009301995
+2013261589,2008302091
+2013261590,2009302406
+2013261591,2013261591
+2013261592,2013261592
+2013261593,2009302186
+2013261594,2013261594
+2013261595,2013261595
+2013261596,2009302383
+2013261597,2013261597
+2013261598,2009302286
+2013261599,2013261599
+2013261600,2013261600
+2013261601,2013261601
+2013261602,2009302277
+2013261603,2009302255
+2013261604,2009302241
+2013261605,2009302303
+2013261606,2013261606
+2013261607,2009302242
+2013261608,2013261608
+2013261609,2013261609
+2013261610,2009302318
+2013261611,2009302440
+2013261612,2009302290
+2013261613,2009302263
+2013261614,2009302217
+2013261615,2013261615
+2013261616,2009302179
+2013261617,2007302196
+2013261618,2009302377
+2013261619,2009302341
+2013261620,2009302339
+2013261621,2009302335
+2013261622,2009302380
+2013261623,2009302166
+2013261624,2009302132
+2013261625,2008303239
+2013261626,2009302362
+2013261627,2009302427
+2013261628,2009302391
+2013261629,2009302326
+2013261630,2009302349
+2013261631,2009302209
+2013261632,2009302200
+2013261633,2009302193
+2013261634,2013261634
+2013261635,2009302188
+2013261636,2009302208
+2013261637,2009302119
+2013261638,2009302330
+2013261639,2009302365
+2013261640,2009302357
+2013261641,2009302319
+2013261642,2009302167
+2013261643,2013261643
+2013261644,2009302311
+2013261645,2013261645
+2013261646,2013261646
+2013261647,2013261647
+2013261648,2013261648
+2013261649,2013261649
+2013261650,2013261650
+2013261651,2013261651
+2013261652,2009302374
+2013261653,2009302371
+2013261783,2009302553
+2013261784,2013261784
+2013261785,2013261785
+2013261786,2009302583
+2013261787,2009302589
+2013261788,2009302635
+2013261789,2013261789
+2013261790,2013261790
+2013261791,2013261791
+2013261792,2013261792
+2013261793,2013261793
+2013261794,2013261794
+2013261795,2013261795
+2013261796,2009302552
+2013261797,2009302544
+2013261798,2013261798
+2013261799,2013261799
+2013261800,2009302593
+2013261801,2013261801
+2013261802,2009302574
+2013261803,2013261803
+2013261804,2013261804
+2013261805,2009302646
+2013261806,2009302591
+2013261807,2013261807
+2013261808,2013261808
+2013261809,2013261809
+2013261810,2009303530
+2013261811,2009303568
+2013261812,2009302510
+2013261813,2013261813
+2013261814,2009302573
+2013261815,2013261815
+2013261816,2009302587
+2013261817,2013261817
+2013261818,2009302655
+2013261819,2013261819
+2013261820,2013261820
+2013261970,2013261970
+2013261971,2013261971
+2013261972,2013261972
+2013261973,2013261973
+2013261974,2013261974
+2013261975,2009302977
+2013261976,2013261976
+2013261977,2013261977
+2013261978,2013261978
+2013261979,2013261979
+2013261980,2013261980
+2013261981,2013261981
+2013261982,2008302964
+2013261983,2009302956
+2013261984,2009302938
+2013261985,2009302672
+2013261986,2013261986
+2013261987,2008302934
+2013261988,2009302980
+2013261989,2009302924
+2013261990,2013261990
+2013261991,2013261991
+2013261992,2009302963
+2013261993,2013261993
+2013261994,2013261994
+2013261995,2013261995
+2013261996,2013261996
+2013261997,053024
+2013261998,2013261998
+2013261999,2013261999
+2013262000,2009302997
+2013262001,2013262001
+2013262002,2013262002
+2013262003,2013262003
+2013262004,2013262004
+2013262005,2013262005
+2013262006,2013262006
+2013262007,2009302205
+2013262008,2013262008
+2013262009,2009303223
+2013262010,2009303305
+2013262011,2013262011
+2013262012,2009303001
+2013262013,2009303014
+2013262014,2009303077
+2013262015,2013262015
+2013262016,2009303096
+2013262017,2009303196
+2013262018,2013262018
+2013262019,2009303010
+2013262020,2013262020
+2013262021,2013262021
+2013262022,2009303082
+2013262023,2009303054
+2013262024,2013262024
+2013262025,2013262025
+2013262026,2013262026
+2013262027,2013262027
+2013262028,2013262028
+2013262029,2013262029
+2013262030,2013262030
+2013262031,2009303038
+2013262032,2013262032
+2013262033,2009303103
+2013262034,2013262034
+2013262035,2013262035
+2013262036,2013262036
+2013262037,2009303057
+2013262038,2013262038
+2013262039,2013262039
+2013262040,2009303030
+2013262041,2009303102
+2013262042,2009302745
+2013262043,2013262043
+2013262044,2013262044
+2013262045,2009303232
+2013262046,2013262046
+2013262047,2013262047
+2013262048,2013262048
+2013262049,2013262049
+2013262050,2013262050
+2013262051,2013262051
+2013262052,2013262052
+2013262053,2013262053
+2013262054,2013262054
+2013262055,2013262055
+2013262056,2013262056
+2013262057,2013262057
+2013262120,2013262120
+2013262121,2013262121
+2013262122,2013262122
+2013262123,2013262123
+2013262124,2013262124
+2013262125,2013262125
+2013262126,2013262126
+2013262127,2013262127
+2013262128,2012240154
+2013262129,2013262129
+2013262130,2013262130
+2013262131,2013262131
+2013262132,2013262132
+2013262133,2013262133
+2013262134,2013262134
+2013262135,2013262135
+2013262136,2013262136
+2013262137,2013262137
+2013262138,2013262138
+2013262139,2013262139
+2013262140,2013262140
+2013262141,2013262141
+2013262142,2013262142
+2013262143,2013262143
+2013262144,2013262144
+2013262145,2013262145
+2013262146,2013262146
+2013262147,2013262147
+2013262148,2013262148
+2013262149,2013262149
+2013262150,2013262150
+2013262151,2012240122
+2013262152,2013262152
+2013262153,2012240155
+2013262154,2013262154
+2013262155,2013262155
+2013262156,2013262156
+2013262157,2013262157
+2013262158,2013262158
+2013262159,2012240127
+2013262160,2013262160
+2013262161,2012240125
+2013262162,2012240128
+2013262163,2013262163
+2013262164,2012240132
+2013262165,2013262165
+2013262166,2012240157
+2013262167,2013262167
+2013262168,2013262168
+2013262169,2013262169
+2013262170,2013262170
+2013262171,2012240145
+2013262172,2013262172
+2013262173,2013262173
+2013262174,2013262174
+2013262175,2012240163
+2013262176,2012240169
+2013262177,2012240120
+2013262178,2013262178
+2013262179,2013262179
+2013262180,2013262180
+2013262181,2013262181
+2013262182,2013262182
+2013262183,2013262183
+2013262184,2013262184
+2013262185,2012240099
+2013262186,2013262186
+2013262187,2013262187
+2013262188,2013262188
+2013262189,2013262189
+2013262190,2013262190
+2013262191,2012240161
+2013262192,2013262192
+2013262193,2013262193
+2013262194,2012240185
+2013262195,2013262195
+2013262196,2013262196
+2013262197,2013262197
+2013262198,2013262198
+2013262199,2013262199
+2013262200,2013262200
+2013262201,2013262201
+2013262202,2013262202
+2013262203,2013262203
+2013262204,2013262204
+2013262205,2008250130
+2013262206,2013262206
+2013262207,2013262207
+2013262208,2013262208
+2013262209,2013262209
+2013262210,2013262210
+2013262211,2013262211
+2013262212,2013262212
+2013262213,2013262213
+2013262214,2013262214
+2013262215,2013262215
+2013262216,2013262216
+2013262217,2013262217
+2013262218,2013262218
+2013262219,2013262219
+2013262220,2013262220
+2013262221,2013262221
+2013262222,2013262222
+2013262223,2012240152
+2013262224,2012240117
+2013262225,2012240153
+2013262226,2012240158
+2013262227,2013262227
+2013262228,2013262228
+2013262229,2013262229
+2013262230,2013262230
+2013262231,2013262231
+2013262232,2012240131
+2013262233,2013262233
+2013262234,2013262234
+2013262235,2013262235
+2013262236,2013262236
+2013262237,2013262237
+2013262238,2013262238
+2013262239,2013262239
+2013262240,2013262240
+2013262241,2013262241
+2013262242,2013262242
+2013262243,2013262243
+2013262244,2013262244
+2013262245,2012240139
+2013262246,2013262246
+2013262247,2013262247
+2013262248,2013262248
+2013262249,2013262249
+2013262250,2013262250
+2013262251,2013262251
+2013262252,2012240181
+2013262253,2013262253
+2013262254,2013262254
+2013262255,2013262255
+2013262256,2013262256
+2013262257,2013262257
+2013262258,2012240149
+2013262259,2013262259
+2013262260,2013262260
+2013262261,2013262261
+2013262262,2013262262
+2013262263,2013262263
+2013262264,2012240136
+2013262265,2013262265
+2013262266,2013262266
+2013262267,2013262267
+2013262268,2013262268
+2013262269,2013262269
+2013262270,2013262270
+2013262271,2013262271
+2013262272,2013262272
+2013262273,2013262273
+2013262274,2012240167
+2013262275,2013262275
+2013262276,2013262276
+2013262277,2013262277
+2013262278,2013262278
+2013262279,2013262279
+2013262280,2013262280
+2013262281,2013262281
+2013262282,2013262282
+2013262283,2012240134
+2013262284,2013262284
+2013262285,2012240172
+2013262286,2013262286
+2013262287,2013262287
+2013262288,2013262288
+2013262289,2013262289
+2013262290,2013262290
+2013262291,2013262291
+2013262292,2013262292
+2013262293,2013262293
+2013262294,2013262294
+2013262295,2013262295
+2013262296,2013262296
+2013262297,2013262297
+2013262298,2013262298
+2013262299,2013262299
+2013262300,2013262300
+2013262301,2013262301
+2013262302,2012240144
+2013262303,2013262303
+2013262304,2012240108
+2013262305,2013262305
+2013262306,2013262306
+2013262307,2013262307
+2013262308,2013262308
+2013262309,2013262309
+2013262310,2013262310
+2013262311,2013262311
+2013262312,2012240184
+2013262313,2013262313
+2013262314,2013262314
+2013262315,2013262315
+2013262316,2013262316
+2013262317,2013262317
+2013262318,2012240147
+2013262319,2013262319
+2013262320,2012240010
+2013262321,2013262321
+2013262322,2013262322
+2013262323,2013262323
+2013262324,2012240138
+2013262325,2012240097
+2013262326,2013262326
+2013262327,2013262327
+2013262328,2013262328
+2013262329,2013262329
+2013262330,2013262330
+2013262331,2013262331
+2013262332,2013262332
+2013262333,2013262333
+2013262334,2013262334
+2013262335,2013262335
+2013262336,2013262336
+2013262337,2013262337
+2013262338,2013262338
+2013262339,2013262339
+2013262340,2013262340
+2013262341,2013262341
+2013262342,2013262342
+2013262343,2012240133
+2013262344,2013262344
+2013262345,2013262345
+2013262346,2013262346
+2013262347,2013262347
+2013262348,2013262348
+2013262349,2012240166
+2013262350,2012240083
+2013262351,2013262351
+2013262352,2013262352
+2013262353,2013262353
+2013262354,2013262354
+2013262355,2013262355
+2013262356,2012240085
+2013262357,2013262357
+2013262358,2013262358
+2013262359,2013262359
+2013262360,2013262360
+2013262361,2013262361
+2013262362,2013262362
+2013262363,2013262363
+2013262364,2011210444
+2013262365,2013262365
+2013262366,2013262366
+2013262367,2013262367
+2013262368,2013262368
+2013262369,2013262369
+2013262370,2013262370
+2013262371,2013262371
+2013262372,2013262372
+2013262373,2013262373
+2013262374,2013262374
+2013262375,2013262375
+2013262376,2013262376
+2013262377,2013262377
+2013262378,2013262378
+2013262379,2013262379
+2013262380,2012240092
+2013262381,2012240091
+2013262382,2012240087
+2013262383,2013262383
+2013262384,2013262384
+2013262385,2013262385
+2013262386,2013262386
+2013262387,2013262387
+2013262388,2013262388
+2013262389,2013262389
+2013262390,2013262390
+2013262391,2013262391
+2013262392,2013262392
+2013262393,2013262393
+2013262394,2013262394
+2013262395,2013262395
+2013262396,2013262396
+2013262397,2013262397
+2013262398,061466
+2013262399,2013262399
+2013262461,2013262461
+2013262462,2013262462
+2013262463,2013262463
+2013262464,2013262464
+2013262465,2013262465
+2013262466,2009303165
+2013262467,2013262467
+2013262468,2013262468
+2013262469,2013262469
+2013262470,2013262470
+2013262471,2013262471
+2013262472,2013262472
+2013262473,2013262473
+2013262474,2013262474
+2013262475,2013262475
+2013262476,2013262476
+2013262477,2013262477
+2013262478,2013262478
+2013262479,2013262479
+2013262480,2013262480
+2013262491,2013262491
+2013262492,2013262492
+2013262493,2013262493
+2013262494,2013262494
+2013262495,2013262495
+2013262496,2013262496
+2013262497,2013262497
+2013262498,2013262498
+2013262499,2013262499
+2013262500,2013262500
+2013262501,2013262501
+2013262502,2013262502
+2013262503,2013262503
+2013262504,2013262504
+2013262505,2013262505
+2013262506,2013262506
+2013262507,2013262507
+2013262508,2013262508
+2013262509,2013262509
+2013262510,2013262510
+2013262511,2013262511
+2013262512,2013262512
+2013262513,2013262513
+2013262514,2013262514
+2013262515,2013262515
+2013262516,2013262516
+2013262517,2013262517
+2013262518,2013262518
+2013262519,2013210618
+2013262520,2013262520
+2013262521,2013262521
+2013262522,2013262522
+2013262523,2013262523
+2013262524,2013262524
+2013262525,2013262525
+2013262526,2013262526
+2013262527,2013262527
+2013262528,2013262528
+2013262529,2013262529
+2013262530,2013262530
+2013262531,2013262531
+2013262532,2013262532
+2013262533,2013262533
+2013262534,2013262534
+2013262535,2013262535
+2013262536,2013262536
+2013262537,2013262537
+2013262538,2013262538
+2013262539,2013262539
+2013262540,2013262540
+2013262541,2013262541
+2013262542,2013262542
+2013262543,2013262543
+2013262544,2013262544
+2013262545,2013262545
+2013262546,2013210567
+2013262547,2013262547
+2013262548,2013262548
+2013262549,2013262549
+2013262550,2013262550
+2013262551,2013262551
+2013262552,2013262552
+2013262553,2011210761
+2013262554,2013262554
+2013262555,2013262555
+2013262556,2013262556
+2013262557,2013262557
+2013262558,2013210592
+2013262562,2013262562
+2013262563,2009303466
+2013262564,2013262564
+2013262565,2009302838
+2013262566,2013262566
+2013262567,2013262567
+2013262568,2009303445
+2013262569,2013262569
+2013262570,2009302173
+2013262571,2009303535
+2013262572,2009303510
+2013262573,2009303536
+2013262574,2013262574
+2013262575,2013262575
+2013262576,2013262576
+2013262577,2013262577
+2013262578,2013262578
+2013262579,2009303543
+2013262580,2013262580
+2013262581,2013262581
+2013262582,2013262582
+2013262583,2009303340
+2013262584,2013262584
+2013262585,2008302205
+2013262586,2013262586
+2013262587,2013262587
+2013262588,2013262588
+2013262589,2013262589
+2013262590,2009303361
+2013262591,2008303459
+2013262592,2009302778
+2013262593,2013262593
+2013262594,2009303526
+2013262595,2009301289
+2013262596,2013262596
+2013262597,2013262597
+2013262598,2013262598
+2013262599,2007302035
+2013262600,2013262600
+2013262601,2013262601
+2013262602,2009303365
+2013262603,2007301804
+2013262604,2012210216
+2013262605,2013262605
+2013262606,2009303476
+2013262607,2009303527
+2013262608,2009303378
+2013262609,2013262609
+2013262610,2013262610
+2013262611,2009302261
+2013262612,2013262612
+2013262613,2013262613
+2013262614,2012210001
+2013262615,2013262615
+2013262616,2011210091
+2013262617,2009303444
+2013262618,2009302479
+2013262619,2013262619
+2013262620,2013262620
+2013262621,2013262621
+2013262622,2013262622
+2013262623,2009303386
+2013262624,2009303385
+2013300001,2013300001
+2013300002,2013300002
+2013300003,2013300003
+2013300004,2013300004
+2013300005,2013300005
+2013300006,2013300006
+2013300007,2013300007
+2013300008,2013300008
+2013300009,2013300009
+2013300010,2013300010
+2013300011,2013300011
+2013300012,2013300012
+2013300013,2013300013
+2013300014,2013300014
+2013300015,2013300015
+2013300016,2013300016
+2013300017,2013300017
+2013300018,2013300018
+2013300019,2013300019
+2013300020,2013300020
+2013300021,2013300021
+2013300022,2013300022
+2013300023,2013300023
+2013300024,2013300024
+2013300025,2013300025
+2013300026,2013300026
+2013300027,2013300027
+2013300028,2013300028
+2013300029,2013300029
+2013300030,2013300030
+2013300031,2013300031
+2013300032,2013300032
+2013300033,2013300033
+2013300034,2013300034
+2013300035,2013300035
+2013300036,2013300036
+2013300037,2013300037
+2013300038,2013300038
+2013300039,2013300039
+2013300040,2013300040
+2013300041,2013300041
+2013300042,2013300042
+2013300043,2013300043
+2013300044,2013300044
+2013300045,2013300045
+2013300046,2013300046
+2013300047,2013300047
+2013300048,2013300048
+2013300049,2020100048
+2013300051,2013300051
+2013300052,2013300052
+2013300053,2013300053
+2013300054,2013300054
+2013300055,2013300055
+2013300056,2013300056
+2013300057,2013300057
+2013300058,2013300058
+2013300059,2013300059
+2013300060,2013300060
+2013300061,2013300061
+2013300062,2013300062
+2013300063,2013300063
+2013300064,2013300064
+2013300065,2013300065
+2013300066,2013300066
+2013300067,2013300067
+2013300068,2013300068
+2013300069,2013300069
+2013300070,2013300070
+2013300071,2013300071
+2013300072,2013300072
+2013300073,2013300073
+2013300074,2013300074
+2013300075,2013300075
+2013300076,2013300076
+2013300077,2013300077
+2013300078,2013300078
+2013300079,2013300079
+2013300080,2013300080
+2013300081,2013300081
+2013300082,2013300082
+2013300083,2013300083
+2013300084,2013300084
+2013300085,2013300085
+2013300086,2013300086
+2013300087,2013300087
+2013300088,2013300088
+2013300089,2013300089
+2013300090,2013300090
+2013300091,2013300091
+2013300092,2013300092
+2013300093,2013300093
+2013300094,2013300094
+2013300095,2013300095
+2013300096,2013300096
+2013300097,2013300097
+2013300098,2013300098
+2013300099,2013300099
+2013300100,2013300100
+2013300101,2013300101
+2013300102,2013300102
+2013300103,2013300103
+2013300104,2013300104
+2013300105,2013300105
+2013300106,2013300106
+2013300107,2013300107
+2013300108,2013300108
+2013300109,2013300109
+2013300110,2013300110
+2013300111,2013300111
+2013300112,2013300112
+2013300113,2013300113
+2013300114,2013300114
+2013300115,2013300115
+2013300116,2013300116
+2013300117,2013300117
+2013300118,2013300118
+2013300119,2013300119
+2013300120,2013300120
+2013300121,2013300121
+2013300122,2013300122
+2013300123,2013300123
+2013300124,2013300124
+2013300125,2013300125
+2013300126,2013300126
+2013300127,2013300127
+2013300128,2013300128
+2013300129,2013300129
+2013300130,2013300130
+2013300131,2013300131
+2013300132,2013300132
+2013300133,2013300133
+2013300134,2013300134
+2013300135,2013300135
+2013300136,2013300136
+2013300137,2013300137
+2013300138,2013300138
+2013300139,2013300139
+2013300140,2013300140
+2013300141,2013300141
+2013300142,2013300142
+2013300143,2013300143
+2013300144,2013300144
+2013300145,2013300145
+2013300146,2013300146
+2013300147,2013300147
+2013300148,2013300148
+2013300149,2013300149
+2013300150,2013300150
+2013300151,2013300151
+2013300152,2013300152
+2013300153,2013300153
+2013300154,2013300154
+2013300155,2013300155
+2013300156,2013300156
+2013300157,2013300157
+2013300158,2013300158
+2013300159,2013300159
+2013300160,2013300160
+2013300161,2013300161
+2013300162,2013300162
+2013300163,2013300163
+2013300164,2013300164
+2013300165,2013300165
+2013300166,2013300166
+2013300167,2013300167
+2013300168,2013300168
+2013300169,2013300169
+2013300170,2013300170
+2013300171,2013300171
+2013300172,2013300172
+2013300173,2013300173
+2013300174,2013300174
+2013300175,2013300175
+2013300176,2013300176
+2013300177,2013300177
+2013300178,2013300178
+2013300179,2013300179
+2013300180,2013300180
+2013300181,2013300181
+2013300182,2013300182
+2013300183,2013300183
+2013300184,2013300184
+2013300185,2013300185
+2013300186,2013300186
+2013300187,2013300187
+2013300188,2013300188
+2013300189,2013300189
+2013300190,2013300190
+2013300191,2013300191
+2013300192,2013300192
+2013300193,2013300193
+2013300194,2013300194
+2013300195,2013300195
+2013300196,2013300196
+2013300197,2013300197
+2013300198,2013300198
+2013300199,2013300199
+2013300200,2013300200
+2013300201,2013300201
+2013300202,2013300202
+2013300203,2013300203
+2013300204,2013300204
+2013300205,2013300205
+2013300206,2013300206
+2013300207,2013300207
+2013300208,2013300208
+2013300209,2013300209
+2013300210,2013300210
+2013300211,2013300211
+2013300212,2013300212
+2013300213,2013300213
+2013300214,2013300214
+2013300215,2013300215
+2013300216,2013300216
+2013300217,2013300217
+2013300218,2013300218
+2013300219,2013300219
+2013300220,2013300220
+2013300221,2013300221
+2013300222,2013300222
+2013300223,2013300223
+2013300224,2013300224
+2013300225,2013300225
+2013300226,2013300226
+2013300227,2013300227
+2013300228,2013300228
+2013300229,2013300229
+2013300230,2013300230
+2013300231,2013300231
+2013300232,2013300232
+2013300233,2013300233
+2013300234,2013300234
+2013300235,2013300235
+2013300236,2013300236
+2013300237,2013300237
+2013300238,2013300238
+2013300239,2013300239
+2013300240,2013300240
+2013300241,2013300241
+2013300242,2013300242
+2013300243,2013300243
+2013300244,2013300244
+2013300245,2013300245
+2013300246,2013300246
+2013300247,2013300247
+2013300248,2013300248
+2013300249,2013300249
+2013300250,2013300250
+2013300251,2013300251
+2013300252,2013300252
+2013300253,2013300253
+2013300254,2013300254
+2013300255,2013300255
+2013300256,2013300256
+2013300257,2013300257
+2013300258,2013300258
+2013300259,2013300259
+2013300260,2013300260
+2013300261,2013300261
+2013300262,2013300262
+2013300263,2013300263
+2013300264,2013300264
+2013300265,2013300265
+2013300266,2013300266
+2013300267,2013300267
+2013300268,2013300268
+2013300269,2013300269
+2013300270,2013300270
+2013300271,2013300271
+2013300272,2013300272
+2013300273,2013300273
+2013300274,2013300274
+2013300275,2013300275
+2013300276,2013300276
+2013300277,2013300277
+2013300278,2013300278
+2013300279,2013300279
+2013300280,2013300280
+2013300281,2013300281
+2013300282,2013300282
+2013300283,2013300283
+2013300284,2013300284
+2013300285,2013300285
+2013300286,2013300286
+2013300287,2013300287
+2013300288,2013300288
+2013300289,2013300289
+2013300290,2013300290
+2013300291,2013300291
+2013300292,2013300292
+2013300293,2013300293
+2013300294,2013300294
+2013300295,2013300295
+2013300296,2013300296
+2013300297,2013300297
+2013300298,2013300298
+2013300299,2013300299
+2013300300,2013300300
+2013300301,2013300301
+2013300302,2013300302
+2013300303,2013300303
+2013300304,2013300304
+2013300305,2013300305
+2013300306,2013300306
+2013300307,2013300307
+2013300308,2013300308
+2013300309,2013300309
+2013300310,2013300310
+2013300311,2013300311
+2013300312,2013300312
+2013300314,2013300314
+2013300315,2013300315
+2013300316,2013300316
+2013300317,2013300317
+2013300318,2013300318
+2013300319,2013300319
+2013300320,2013300320
+2013300321,2013300321
+2013300322,2013300322
+2013300323,2013300323
+2013300324,2013300324
+2013300325,2013300325
+2013300326,2013300326
+2013300327,2013300327
+2013300328,2013300328
+2013300329,2013300329
+2013300330,2013300330
+2013300331,2020100033
+2013300332,2013300332
+2013300333,2013300333
+2013300334,2013300334
+2013300335,2013300335
+2013300336,2013300336
+2013300337,2013300337
+2013300338,2013300338
+2013300339,2013300339
+2013300340,2013300340
+2013300341,2013300341
+2013300342,2013300342
+2013300343,2013300343
+2013300344,2013300344
+2013300345,2013300345
+2013300346,2013300346
+2013300347,2013300347
+2013300348,2013300348
+2013300349,2013300349
+2013300350,2013300350
+2013300351,2013300351
+2013300352,2013300352
+2013300353,2013300353
+2013300354,2013300354
+2013300355,2013300355
+2013300356,2013300356
+2013300357,2013300357
+2013300358,2013300358
+2013300359,2013300359
+2013300360,2013300360
+2013300361,2013300361
+2013300362,2013300362
+2013300363,2013300363
+2013300364,2013300364
+2013300365,2013300365
+2013300366,2013300366
+2013300367,2013300367
+2013300368,2013300368
+2013300369,2013300369
+2013300370,2013300370
+2013300371,2013300371
+2013300372,2013300372
+2013300373,2013300373
+2013300374,2013300374
+2013300375,2013300375
+2013300376,2013300376
+2013300377,2013300377
+2013300378,2013300378
+2013300379,2013300379
+2013300380,2013300380
+2013300381,2013300381
+2013300382,2013300382
+2013300383,2013300383
+2013300384,2013300384
+2013300385,2013300385
+2013300386,2013300386
+2013300387,2013300387
+2013300388,2013300388
+2013300389,2013300389
+2013300390,2013300390
+2013300391,2013300391
+2013300392,2013300392
+2013300393,2013300393
+2013300394,2013300394
+2013300395,2013300395
+2013300396,2013300396
+2013300397,2013300397
+2013300398,2013300398
+2013300399,2013300399
+2013300400,2013300400
+2013300401,2013300401
+2013300402,2013300402
+2013300403,2013300403
+2013300404,2013300404
+2013300405,2013300405
+2013300406,2013300406
+2013300407,2013300407
+2013300408,2013300408
+2013300409,2013300409
+2013300410,2013300410
+2013300411,2013300411
+2013300412,2013300412
+2013300413,2013300413
+2013300414,2013300414
+2013300415,2013300415
+2013300416,2013300416
+2013300417,2013300417
+2013300418,2013300418
+2013300419,2013300419
+2013300420,2013300420
+2013300421,2013300421
+2013300422,2020100035
+2013300423,2013300423
+2013300424,2013300424
+2013300425,2013300425
+2013300426,2013300426
+2013300427,2013300427
+2013300428,2013300428
+2013300429,2013300429
+2013300430,2013300430
+2013300431,2013300431
+2013300432,2013300432
+2013300433,2013300433
+2013300434,2013300434
+2013300435,2013300435
+2013300436,2013300436
+2013300437,2013300437
+2013300438,2013300438
+2013300439,2013300439
+2013300440,2013300440
+2013300441,2013300441
+2013300442,2013300442
+2013300443,2013300443
+2013300444,2013300444
+2013300445,2013300445
+2013300446,2013300446
+2013300447,2013300447
+2013300448,2013300448
+2013300449,2013300449
+2013300450,2013300450
+2013300451,2013300451
+2013300452,2013300452
+2013300453,2013300453
+2013300454,2013300454
+2013300455,2013300455
+2013300456,2013300456
+2013300457,2013300457
+2013300458,2013300458
+2013300459,2013300459
+2013300460,2013300460
+2013300461,2013300461
+2013300462,2013300462
+2013300463,2013300463
+2013300464,2013300464
+2013300465,2013300465
+2013300466,2013300466
+2013300467,2013300467
+2013300468,2013300468
+2013300469,2013300469
+2013300470,2013300470
+2013300471,2013300471
+2013300472,2013300472
+2013300473,2013300473
+2013300474,2013300474
+2013300475,2013300475
+2013300476,2013300476
+2013300477,2013300477
+2013300478,2013300478
+2013300479,2013300479
+2013300480,2013300480
+2013300481,2013300481
+2013300482,2013300482
+2013300483,2013300483
+2013300484,2013300484
+2013300485,2013300485
+2013300486,2013300486
+2013300487,2013300487
+2013300488,2013300488
+2013300489,2013300489
+2013300490,2013300490
+2013300491,2013300491
+2013300492,2013300492
+2013300493,2013300493
+2013300494,2013300494
+2013300495,2013300495
+2013300496,2013300496
+2013300497,2013300497
+2013300498,2013300498
+2013300499,2013300499
+2013300500,2013300500
+2013300501,2013300501
+2013300502,2013300502
+2013300503,2013300503
+2013300504,2013300504
+2013300505,2013300505
+2013300506,2013300506
+2013300507,2013300507
+2013300508,2013300508
+2013300509,2013300509
+2013300510,2013300510
+2013300511,2013300511
+2013300512,2013300512
+2013300513,2013300513
+2013300514,2013300514
+2013300515,2013300515
+2013300516,2013300516
+2013300517,2013300517
+2013300518,2013300518
+2013300519,2013300519
+2013300520,2013300520
+2013300521,2013300521
+2013300522,2013300522
+2013300523,2013300523
+2013300524,2013300524
+2013300525,2013300525
+2013300526,2013300526
+2013300527,2013300527
+2013300528,2013300528
+2013300529,2013300529
+2013300530,2013300530
+2013300531,2013300531
+2013300532,2013300532
+2013300533,2013300533
+2013300534,2013300534
+2013300535,2013300535
+2013300536,2013300536
+2013300537,2013300537
+2013300538,2013300538
+2013300539,2013300539
+2013300540,2013300540
+2013300541,2013300541
+2013300542,2013300542
+2013300543,2013300543
+2013300544,2013300544
+2013300545,2013300545
+2013300546,2013300546
+2013300547,2013300547
+2013300548,2013300548
+2013300549,2013300549
+2013300550,2013300550
+2013300551,2013300551
+2013300552,2013300552
+2013300553,2013300553
+2013300554,2013300554
+2013300555,2013300555
+2013300556,2013300556
+2013300557,2013300557
+2013300558,2013300558
+2013300559,2013300559
+2013300560,2013300560
+2013300561,2013300561
+2013300562,2013300562
+2013300563,2013300563
+2013300564,2013300564
+2013300565,2013300565
+2013300566,2013300566
+2013300567,2013300567
+2013300568,2013300568
+2013300569,2013300569
+2013300570,2013300570
+2013300571,2013300571
+2013300572,2013300572
+2013300573,2013300573
+2013300574,2013300574
+2013300575,2013300575
+2013300576,2013300576
+2013300577,2013300577
+2013300578,2013300578
+2013300579,2012301507
+2013300580,2013300580
+2013300581,2013300581
+2013300583,2013300583
+2013300584,2013300584
+2013300585,2013300585
+2013300586,2013300586
+2013300587,2013300587
+2013300588,2013300588
+2013300589,2013300589
+2013300590,2013300590
+2013300591,2013300591
+2013300592,2013300592
+2013300593,2013300593
+2013300594,2013300594
+2013300595,2013300595
+2013300596,2013300596
+2013300597,2013300597
+2013300598,2013300598
+2013300599,2013300599
+2013300600,2013300600
+2013300601,2013300601
+2013300602,2013300602
+2013300603,2013300603
+2013300604,2013300604
+2013300605,2013300605
+2013300606,2013300606
+2013300607,2013300607
+2013300608,2013300608
+2013300609,2013300609
+2013300610,2013300610
+2013300611,2013300611
+2013300612,2013300612
+2013300613,2013300613
+2013300614,2013300614
+2013300615,2013300615
+2013300616,2013300616
+2013300617,2013300617
+2013300618,2013300618
+2013300619,2013300619
+2013300620,2013300620
+2013300621,2013300621
+2013300622,2013300622
+2013300623,2013300623
+2013300624,2013300624
+2013300625,2013300625
+2013300626,2013300626
+2013300627,2013300627
+2013300628,2013300628
+2013300629,2013300629
+2013300630,2013300630
+2013300631,2013300631
+2013300632,2013300632
+2013300633,2013300633
+2013300634,2013300634
+2013300635,2013300635
+2013300636,2013300636
+2013300637,2013300637
+2013300638,2013300638
+2013300639,2013300639
+2013300640,2013300640
+2013300641,2013300641
+2013300642,2013300642
+2013300643,2013300643
+2013300644,2013300644
+2013300645,2013300645
+2013300646,2013300646
+2013300647,2013300647
+2013300648,2013300648
+2013300649,2013300649
+2013300650,2013300650
+2013300651,2013300651
+2013300652,2013300652
+2013300653,2013300653
+2013300654,2013300654
+2013300655,2013300655
+2013300656,2013300656
+2013300657,2013300657
+2013300658,2013300658
+2013300659,2013300659
+2013300660,2013300660
+2013300661,2013300661
+2013300662,2013300662
+2013300663,2013300663
+2013300664,2013300664
+2013300665,2013300665
+2013300666,2013300666
+2013300667,2013300667
+2013300668,2013300668
+2013300669,2013300669
+2013300670,2013300670
+2013300671,2020100079
+2013300672,2013300672
+2013300673,2013300673
+2013300674,2013300674
+2013300675,2013300675
+2013300676,2013300676
+2013300677,2013300677
+2013300678,2013300678
+2013300679,2013300679
+2013300680,2013300680
+2013300681,2013300681
+2013300682,2013300682
+2013300683,2013300683
+2013300684,2013300684
+2013300685,2013300685
+2013300686,2013300686
+2013300687,2013300687
+2013300688,2013300688
+2013300689,2013300689
+2013300690,2013300690
+2013300691,2013300691
+2013300692,2013300692
+2013300693,2013300693
+2013300694,2013300694
+2013300695,2013300695
+2013300696,2013300696
+2013300697,2013300697
+2013300698,2013300698
+2013300699,2013300699
+2013300700,2013300700
+2013300701,2013300701
+2013300702,2013300702
+2013300703,2013300703
+2013300704,2013300704
+2013300705,2013300705
+2013300706,2013300706
+2013300707,2013300707
+2013300708,2013300708
+2013300709,2013300709
+2013300710,2013300710
+2013300711,2013300711
+2013300712,2013300712
+2013300713,2013300713
+2013300714,2013300714
+2013300715,2013300715
+2013300716,2013300716
+2013300717,2013300717
+2013300718,2013300718
+2013300719,2013300719
+2013300720,2013300720
+2013300721,2013300721
+2013300722,2013300722
+2013300723,2013300723
+2013300724,2013300724
+2013300725,2013300725
+2013300726,2013300726
+2013300727,2013300727
+2013300728,2013300728
+2013300729,2013300729
+2013300730,2013300730
+2013300731,2013300731
+2013300732,2013300732
+2013300733,2013300733
+2013300734,2013300734
+2013300735,2013300735
+2013300736,2013300736
+2013300737,2013300737
+2013300738,2013300738
+2013300739,2013300739
+2013300740,2013300740
+2013300741,2013300741
+2013300742,2013300742
+2013300743,2013300743
+2013300744,2013300744
+2013300745,2013300745
+2013300746,2013300746
+2013300747,2013300747
+2013300748,2013300748
+2013300749,2013300749
+2013300750,2013300750
+2013300751,2013300751
+2013300752,2013300752
+2013300753,2013300753
+2013300754,2013300754
+2013300755,2013300755
+2013300756,2013300756
+2013300757,2013300757
+2013300758,2013300758
+2013300759,2013300759
+2013300760,2013300760
+2013300761,2013300761
+2013300762,2013300762
+2013300763,2013300763
+2013300764,2013300764
+2013300765,2013300765
+2013300766,2013300766
+2013300767,2013300767
+2013300768,2013300768
+2013300769,2013300769
+2013300770,2013300770
+2013300771,2013300771
+2013300772,2013300772
+2013300773,2013300773
+2013300774,2013300774
+2013300775,2013300775
+2013300776,2013300776
+2013300777,2013300777
+2013300778,2013300778
+2013300779,2013300779
+2013300780,2013300780
+2013300781,2013300781
+2013300782,2013300782
+2013300783,2013300783
+2013300784,2013300784
+2013300785,2013300785
+2013300786,2013300786
+2013300787,2013300787
+2013300788,2013300788
+2013300789,2013300789
+2013300790,2013300790
+2013300791,2013300791
+2013300792,2013300792
+2013300793,2013300793
+2013300794,2013300794
+2013300795,2020100082
+2013300796,2013300796
+2013300797,2013300797
+2013300798,2013300798
+2013300799,2013300799
+2013300800,2013300800
+2013300801,2013300801
+2013300802,2013300802
+2013300803,2013300803
+2013300804,2013300804
+2013300805,2013300805
+2013300806,2013300806
+2013300807,2013300807
+2013300808,2013300808
+2013300809,2013300809
+2013300810,2013300810
+2013300811,2013300811
+2013300812,2013300812
+2013300813,2013300813
+2013300814,2013300814
+2013300815,2013300815
+2013300816,2013300816
+2013300817,2013300817
+2013300818,2013300818
+2013300819,2013300819
+2013300820,2013300820
+2013300821,2013300821
+2013300822,2013300822
+2013300823,2013300823
+2013300824,2013300824
+2013300825,2013300825
+2013300826,2013300826
+2013300827,2013300827
+2013300828,2013300828
+2013300829,2013300829
+2013300830,2013300830
+2013300831,2013300831
+2013300832,2013300832
+2013300833,2013300833
+2013300834,2013300834
+2013300835,2013300835
+2013300836,2013300836
+2013300837,2013300837
+2013300838,2013300838
+2013300839,2013300839
+2013300840,2013300840
+2013300841,2013300841
+2013300842,2013300842
+2013300843,2013300843
+2013300844,2013300844
+2013300845,2013300845
+2013300846,2013300846
+2013300847,2013300847
+2013300848,2013300848
+2013300849,2013300849
+2013300850,2013300850
+2013300851,2013300851
+2013300852,2013300852
+2013300853,2013300853
+2013300854,2013300854
+2013300855,2013300855
+2013300856,2013300856
+2013300857,2013300857
+2013300858,2013300858
+2013300859,2013300859
+2013300860,2013300860
+2013300861,2013300861
+2013300862,2013300862
+2013300863,2013300863
+2013300864,2013300864
+2013300865,2013300865
+2013300866,2013300866
+2013300867,2013300867
+2013300868,2013300868
+2013300869,2013300869
+2013300870,2013300870
+2013300871,2013300871
+2013300872,2013300872
+2013300873,2013300873
+2013300874,2013300874
+2013300875,2013300875
+2013300876,2013300876
+2013300877,2013300877
+2013300878,2013300878
+2013300880,2013300880
+2013300881,2013300881
+2013300882,2013300882
+2013300883,2013300883
+2013300884,2013300884
+2013300885,2013300885
+2013300886,2013300886
+2013300887,2013300887
+2013300888,2013300888
+2013300889,2013300889
+2013300890,2013300890
+2013300891,2013300891
+2013300892,2013300892
+2013300893,2013300893
+2013300894,2013300894
+2013300895,2013300895
+2013300896,2013300896
+2013300897,2013300897
+2013300898,2013300898
+2013300899,2013300899
+2013300900,2013300900
+2013300901,2020100099
+2013300902,2013300902
+2013300903,2013300903
+2013300904,2013300904
+2013300905,2013300905
+2013300906,2013300906
+2013300907,2013300907
+2013300908,2013300908
+2013300909,2013300909
+2013300910,2013300910
+2013300911,2013300911
+2013300912,2013300912
+2013300913,2013300913
+2013300914,2013300914
+2013300915,2013300915
+2013300916,2013300916
+2013300917,2013300917
+2013300918,2013300918
+2013300919,2013300919
+2013300920,2013300920
+2013300921,2013300921
+2013300922,2013300922
+2013300923,2013300923
+2013300924,2013300924
+2013300925,2013300925
+2013300926,2013300926
+2013300927,2013300927
+2013300928,2013300928
+2013300929,2013300929
+2013300930,2013300930
+2013300931,2013300931
+2013300932,2013300932
+2013300933,2013300933
+2013300934,2013300934
+2013300935,2013300935
+2013300936,2013300936
+2013300937,2013300937
+2013300938,2013300938
+2013300939,2013300939
+2013300940,2013300940
+2013300941,2013300941
+2013300942,2013300942
+2013300943,2013300943
+2013300944,2013300944
+2013300945,2013300945
+2013300946,2013300946
+2013300947,2013300947
+2013300948,2013300948
+2013300949,2013300949
+2013300950,2013300950
+2013300951,2013300951
+2013300952,2013300952
+2013300953,2013300953
+2013300954,2013300954
+2013300955,2013300955
+2013300956,2013300956
+2013300957,2013300957
+2013300958,2013300958
+2013300959,2013300959
+2013300960,2013300960
+2013300961,2013300961
+2013300962,2013300962
+2013300963,2013300963
+2013300964,2013300964
+2013300965,2013300965
+2013300966,2013300966
+2013300967,2013300967
+2013300968,2013300968
+2013300969,2013300969
+2013300970,2013300970
+2013300971,2013300971
+2013300972,2013300972
+2013300973,2013300973
+2013300974,2013300974
+2013300975,2013300975
+2013300976,2013300976
+2013300977,2013300977
+2013300978,2013300978
+2013300979,2013300979
+2013300980,2013300980
+2013300981,2013300981
+2013300982,2013300982
+2013300983,2013300983
+2013300984,2013300984
+2013300985,2013300985
+2013300986,2013300986
+2013300987,2013300987
+2013300988,2013300988
+2013300989,2013300989
+2013300990,2013300990
+2013300991,2013300991
+2013300992,2013300992
+2013300993,2013300993
+2013300994,2013300994
+2013300995,2013300995
+2013300996,2013300996
+2013300997,2013300997
+2013300998,2013300998
+2013300999,2013300999
+2013301000,2013301000
+2013301001,2013301001
+2013301002,2013301002
+2013301003,2013301003
+2013301004,2013301004
+2013301005,2013301005
+2013301006,2013301006
+2013301007,2013301007
+2013301008,2013301008
+2013301009,2013301009
+2013301010,2013301010
+2013301011,2013301011
+2013301012,2013301012
+2013301013,2013301013
+2013301014,2013301014
+2013301015,2013301015
+2013301016,2013301016
+2013301017,2013301017
+2013301018,2013301018
+2013301019,2013301019
+2013301020,2013301020
+2013301021,2013301021
+2013301022,2013301022
+2013301023,2013301023
+2013301024,2013301024
+2013301025,2013301025
+2013301026,2013301026
+2013301027,2013301027
+2013301028,2013301028
+2013301029,2013301029
+2013301030,2013301030
+2013301031,2013301031
+2013301032,2013301032
+2013301033,2013301033
+2013301034,2013301034
+2013301035,2013301035
+2013301036,2013301036
+2013301037,2013301037
+2013301038,2013301038
+2013301039,2013301039
+2013301040,2013301040
+2013301041,2013301041
+2013301042,2013301042
+2013301043,2013301043
+2013301044,2013301044
+2013301045,2013301045
+2013301046,2013301046
+2013301047,2013301047
+2013301048,2013301048
+2013301049,2013301049
+2013301050,2013301050
+2013301051,2013301051
+2013301052,2013301052
+2013301053,2013301053
+2013301054,2013301054
+2013301055,2013301055
+2013301056,2013301056
+2013301057,2013301057
+2013301058,2013301058
+2013301059,2013301059
+2013301060,2013301060
+2013301061,2013301061
+2013301062,2013301062
+2013301063,2013301063
+2013301064,2013301064
+2013301065,2013301065
+2013301066,2013301066
+2013301067,2013301067
+2013301068,2013301068
+2013301069,2013301069
+2013301070,2013301070
+2013301071,2013301071
+2013301072,2013301072
+2013301073,2013301073
+2013301074,2013301074
+2013301075,2013301075
+2013301076,2013301076
+2013301077,2013301077
+2013301078,2013301078
+2013301079,2013301079
+2013301080,2013301080
+2013301081,2013301081
+2013301082,2013301082
+2013301083,2013301083
+2013301084,2013301084
+2013301085,2013301085
+2013301086,2013301086
+2013301087,2013301087
+2013301088,2013301088
+2013301089,2013301089
+2013301090,2013301090
+2013301091,2013301091
+2013301092,2013301092
+2013301093,2013301093
+2013301094,2013301094
+2013301095,2013301095
+2013301096,2013301096
+2013301097,2013301097
+2013301098,2013301098
+2013301099,2013301099
+2013301100,2013301100
+2013301101,2013301101
+2013301102,2013301102
+2013301103,2013301103
+2013301104,2013301104
+2013301105,2013301105
+2013301106,2013301106
+2013301107,2013301107
+2013301108,2013301108
+2013301109,2013301109
+2013301110,2013301110
+2013301111,2013301111
+2013301112,2013301112
+2013301113,2013301113
+2013301114,2013301114
+2013301115,2013301115
+2013301116,2013301116
+2013301117,2013301117
+2013301118,2013301118
+2013301119,2013301119
+2013301120,2013301120
+2013301121,2013301121
+2013301122,2013301122
+2013301123,2013301123
+2013301124,2013301124
+2013301125,2013301125
+2013301126,2013301126
+2013301127,2013301127
+2013301128,2013301128
+2013301129,2013301129
+2013301130,2013301130
+2013301131,2013301131
+2013301132,2013301132
+2013301133,2013301133
+2013301134,2013301134
+2013301135,2013301135
+2013301136,2013301136
+2013301137,2013301137
+2013301138,2013301138
+2013301139,2013301139
+2013301140,2013301140
+2013301141,2013301141
+2013301142,2013301142
+2013301143,2013301143
+2013301144,2013301144
+2013301145,2013301145
+2013301146,2013301146
+2013301147,2013301147
+2013301148,2013301148
+2013301149,2013301149
+2013301150,2013301150
+2013301151,2013301151
+2013301152,2013301152
+2013301153,2013301153
+2013301154,2013301154
+2013301155,2013301155
+2013301156,2013301156
+2013301157,2013301157
+2013301158,2013301158
+2013301159,2013301159
+2013301160,2013301160
+2013301161,2013301161
+2013301162,2013301162
+2013301163,2013301163
+2013301164,2013301164
+2013301165,2013301165
+2013301166,2013301166
+2013301167,2013301167
+2013301168,2013301168
+2013301169,2013301169
+2013301170,2013301170
+2013301171,2013301171
+2013301172,2013301172
+2013301173,2013301173
+2013301174,2013301174
+2013301175,2013301175
+2013301176,2013301176
+2013301177,2013301177
+2013301178,2013301178
+2013301179,2013301179
+2013301180,2013301180
+2013301181,2013301181
+2013301182,2013301182
+2013301183,2013301183
+2013301184,2013301184
+2013301185,2013301185
+2013301186,2013301186
+2013301187,2013301187
+2013301188,2013301188
+2013301189,2013301189
+2013301190,2013301190
+2013301191,2013301191
+2013301192,2013301192
+2013301193,2013301193
+2013301194,2013301194
+2013301195,2013301195
+2013301196,2013301196
+2013301197,2013301197
+2013301198,2013301198
+2013301199,2013301199
+2013301200,2013301200
+2013301201,2013301201
+2013301202,2013301202
+2013301203,2013301203
+2013301204,2013301204
+2013301205,2013301205
+2013301206,2013301206
+2013301207,2013301207
+2013301208,2013301208
+2013301209,2013301209
+2013301210,2013301210
+2013301211,2013301211
+2013301212,2013301212
+2013301213,2013301213
+2013301214,2013301214
+2013301215,2013301215
+2013301216,2013301216
+2013301217,2013301217
+2013301218,2013301218
+2013301219,2013301219
+2013301220,2013301220
+2013301221,2013301221
+2013301222,2013301222
+2013301223,2013301223
+2013301224,2013301224
+2013301225,2013301225
+2013301226,2013301226
+2013301227,2013301227
+2013301228,2013301228
+2013301229,2013301229
+2013301230,2013301230
+2013301231,2013301231
+2013301232,2013301232
+2013301233,2013301233
+2013301234,2013301234
+2013301235,2013301235
+2013301236,2013301236
+2013301237,2013301237
+2013301238,2013301238
+2013301239,2013301239
+2013301240,2013301240
+2013301241,2013301241
+2013301242,2013301242
+2013301243,2013301243
+2013301244,2013301244
+2013301245,2013301245
+2013301246,2013301246
+2013301247,2013301247
+2013301248,2013301248
+2013301249,2013301249
+2013301250,2013301250
+2013301251,2013301251
+2013301252,2013301252
+2013301253,2013301253
+2013301254,2013301254
+2013301255,2013301255
+2013301256,2013301256
+2013301257,2013301257
+2013301258,2013301258
+2013301259,2013301259
+2013301260,2013301260
+2013301261,2013301261
+2013301262,2013301262
+2013301263,2013301263
+2013301264,2013301264
+2013301265,2013301265
+2013301266,2013301266
+2013301267,2013301267
+2013301268,2013301268
+2013301269,2013301269
+2013301270,2013301270
+2013301271,2013301271
+2013301272,2013301272
+2013301273,2013301273
+2013301274,2013301274
+2013301275,2013301275
+2013301276,2013301276
+2013301277,2013301277
+2013301278,2013301278
+2013301279,2013301279
+2013301280,2013301280
+2013301281,2013301281
+2013301282,2013301282
+2013301283,2013301283
+2013301284,2013301284
+2013301285,2013301285
+2013301286,2013301286
+2013301287,2013301287
+2013301288,2013301288
+2013301289,2013301289
+2013301290,2013301290
+2013301291,2013301291
+2013301292,2013301292
+2013301293,2013301293
+2013301294,2013301294
+2013301295,2013301295
+2013301296,2013301296
+2013301297,2013301297
+2013301298,2013301298
+2013301299,2013301299
+2013301300,2013301300
+2013301301,2013301301
+2013301302,2013301302
+2013301303,2013301303
+2013301304,2013301304
+2013301305,2013301305
+2013301306,2013301306
+2013301307,2013301307
+2013301308,2013301308
+2013301309,2013301309
+2013301310,2013301310
+2013301311,2013301311
+2013301312,2013301312
+2013301313,2013301313
+2013301314,2013301314
+2013301315,2013301315
+2013301316,2013301316
+2013301317,2013301317
+2013301318,2013301318
+2013301319,2013301319
+2013301320,2013301320
+2013301321,2013301321
+2013301322,2013301322
+2013301323,2013301323
+2013301324,2013301324
+2013301325,2013301325
+2013301326,2013301326
+2013301327,2013301327
+2013301328,2013301328
+2013301329,2013301329
+2013301330,2013301330
+2013301331,2013301331
+2013301332,2013301332
+2013301333,2013301333
+2013301334,2013301334
+2013301335,2013301335
+2013301336,2013301336
+2013301337,2013301337
+2013301338,2013301338
+2013301339,2013301339
+2013301340,2013301340
+2013301341,2013301341
+2013301342,2013301342
+2013301343,2013301343
+2013301344,2013301344
+2013301345,2013301345
+2013301346,2013301346
+2013301347,2013301347
+2013301348,2013301348
+2013301349,2013301349
+2013301350,2013301350
+2013301351,2013301351
+2013301352,2013301352
+2013301353,2013301353
+2013301354,2013301354
+2013301355,2013301355
+2013301356,2013301356
+2013301357,2013301357
+2013301358,2013301358
+2013301359,2013301359
+2013301360,2013301360
+2013301361,2013301361
+2013301362,2013301362
+2013301363,2013301363
+2013301364,2013301364
+2013301365,2013301365
+2013301366,2013301366
+2013301367,2013301367
+2013301368,2013301368
+2013301369,2013301369
+2013301370,2013301370
+2013301371,2013301371
+2013301372,2013301372
+2013301373,2013301373
+2013301374,2013301374
+2013301375,2013301375
+2013301376,2013301376
+2013301377,2013301377
+2013301378,2013301378
+2013301379,2013301379
+2013301380,2013301380
+2013301381,2013301381
+2013301382,2013301382
+2013301383,2013301383
+2013301384,2013301384
+2013301385,2013301385
+2013301386,2013301386
+2013301387,2013301387
+2013301388,2013301388
+2013301389,2013301389
+2013301390,2013301390
+2013301391,2013301391
+2013301392,2013301392
+2013301393,2013301393
+2013301394,2013301394
+2013301395,2013301395
+2013301396,2013301396
+2013301397,2013301397
+2013301398,2013301398
+2013301399,2013301399
+2013301400,2013301400
+2013301401,2013301401
+2013301402,2013301402
+2013301403,2013301403
+2013301404,2013301404
+2013301405,2013301405
+2013301406,2013301406
+2013301407,2013301407
+2013301408,2013301408
+2013301409,2013301409
+2013301410,2013301410
+2013301411,2013301411
+2013301412,2013301412
+2013301413,2013301413
+2013301414,2013301414
+2013301415,2013301415
+2013301416,2013301416
+2013301417,2013301417
+2013301418,2013301418
+2013301419,2013301419
+2013301420,2013301420
+2013301421,2013301421
+2013301422,2013301422
+2013301423,2013301423
+2013301424,2013301424
+2013301426,2013301426
+2013301427,2013301427
+2013301428,2013301428
+2013301429,2013301429
+2013301430,2013301430
+2013301431,2013301431
+2013301432,2013301432
+2013301433,2013301433
+2013301434,2013301434
+2013301435,2013301435
+2013301436,2013301436
+2013301437,2013301437
+2013301438,2013301438
+2013301439,2013301439
+2013301440,2013301440
+2013301441,2013301441
+2013301442,2013301442
+2013301443,2013301443
+2013301444,2013301444
+2013301445,2013301445
+2013301446,2013301446
+2013301447,2013301447
+2013301448,2013301448
+2013301449,2013301449
+2013301450,2013301450
+2013301451,2013301451
+2013301452,2013301452
+2013301453,2013301453
+2013301454,2013301454
+2013301455,2013301455
+2013301456,2013301456
+2013301457,2013301457
+2013301458,2013301458
+2013301459,2013301459
+2013301460,2013301460
+2013301461,2013301461
+2013301462,2013301462
+2013301463,2013301463
+2013301464,2013301464
+2013301465,2013301465
+2013301466,2013301466
+2013301467,2013301467
+2013301468,2013301468
+2013301469,2013301469
+2013301470,2013301470
+2013301471,2013301471
+2013301472,2013301472
+2013301473,2013301473
+2013301474,2013301474
+2013301475,2013301475
+2013301476,2013301476
+2013301477,2013301477
+2013301478,2013301478
+2013301479,2013301479
+2013301480,2013301480
+2013301481,2013301481
+2013301482,2013301482
+2013301483,2013301483
+2013301484,2013301484
+2013301485,2013301485
+2013301486,2013301486
+2013301487,2013301487
+2013301488,2013301488
+2013301489,2013301489
+2013301490,2013301490
+2013301491,2013301491
+2013301492,2013301492
+2013301493,2013301493
+2013301494,2013301494
+2013301495,2013301495
+2013301496,2013301496
+2013301497,2013301497
+2013301498,2013301498
+2013301499,2013301499
+2013301500,2013301500
+2013301501,2013301501
+2013301502,2013301502
+2013301503,2013301503
+2013301504,2013301504
+2013301505,2013301505
+2013301506,2013301506
+2013301507,2013301507
+2013301508,2013301508
+2013301509,2013301509
+2013301510,2013301510
+2013301511,2013301511
+2013301512,2013301512
+2013301513,2013301513
+2013301514,2013301514
+2013301515,2013301515
+2013301516,2013301516
+2013301517,2013301517
+2013301518,2013301518
+2013301519,2013301519
+2013301520,2013301520
+2013301522,2013301522
+2013301523,2013301523
+2013301524,2013301524
+2013301525,2013301525
+2013301526,2013301526
+2013301527,2013301527
+2013301528,2013301528
+2013301529,2013301529
+2013301530,2013301530
+2013301531,2013301531
+2013301532,2013301532
+2013301533,2013301533
+2013301534,2013301534
+2013301535,2013301535
+2013301536,2013301536
+2013301537,2013301537
+2013301538,2013301538
+2013301539,2013301539
+2013301540,2013301540
+2013301541,2013301541
+2013301542,2013301542
+2013301543,2013301543
+2013301544,2013301544
+2013301545,2013301545
+2013301546,2013301546
+2013301547,2013301547
+2013301548,2013301548
+2013301549,2013301549
+2013301550,2013301550
+2013301551,2013301551
+2013301552,2013301552
+2013301553,2013301553
+2013301554,2013301554
+2013301555,2013301555
+2013301556,2013301556
+2013301557,2013301557
+2013301558,2013301558
+2013301559,2013301559
+2013301560,2013301560
+2013301561,2013301561
+2013301562,2013301562
+2013301563,2013301563
+2013301564,2013301564
+2013301565,2013301565
+2013301566,2013301566
+2013301567,2013301567
+2013301568,2013301568
+2013301569,2013301569
+2013301570,2013301570
+2013301571,2013301571
+2013301572,2013301572
+2013301573,2013301573
+2013301574,2013301574
+2013301575,2013301575
+2013301576,2013301576
+2013301577,2013301577
+2013301578,2013301578
+2013301579,2013301579
+2013301580,2013301580
+2013301581,2013301581
+2013301582,2013301582
+2013301583,2013301583
+2013301584,2013301584
+2013301585,2013301585
+2013301586,2013301586
+2013301587,2013301587
+2013301588,2013301588
+2013301589,2013301589
+2013301590,2013301590
+2013301591,2013301591
+2013301592,2013301592
+2013301593,2013301593
+2013301594,2013301594
+2013301595,2013301595
+2013301596,2013301596
+2013301597,2013301597
+2013301598,2013301598
+2013301599,2013301599
+2013301600,2013301600
+2013301601,2013301601
+2013301602,2013301602
+2013301603,2013301603
+2013301604,2013301604
+2013301605,2013301605
+2013301606,2013301606
+2013301607,2013301607
+2013301608,2013301608
+2013301609,2013301609
+2013301610,2013301610
+2013301611,2013301611
+2013301612,2013301612
+2013301613,2013301613
+2013301614,2013301614
+2013301615,2013301615
+2013301616,2013301616
+2013301617,2013301617
+2013301618,2013301618
+2013301619,2013301619
+2013301620,2013301620
+2013301621,2013301621
+2013301622,2013301622
+2013301623,2013301623
+2013301624,2013301624
+2013301625,2013301625
+2013301626,2013301626
+2013301627,2013301627
+2013301628,2013301628
+2013301629,2013301629
+2013301630,2013301630
+2013301631,2013301631
+2013301632,2013301632
+2013301633,2013301633
+2013301634,2013301634
+2013301635,2013301635
+2013301636,2013301636
+2013301637,2013301637
+2013301638,2013301638
+2013301639,2013301639
+2013301640,2013301640
+2013301641,2013301641
+2013301642,2013301642
+2013301643,2013301643
+2013301644,2013301644
+2013301645,2013301645
+2013301646,2013301646
+2013301647,2013301647
+2013301648,2013301648
+2013301649,2013301649
+2013301650,2013301650
+2013301651,2013301651
+2013301652,2013301652
+2013301653,2013301653
+2013301654,2013301654
+2013301655,2013301655
+2013301656,2013301656
+2013301657,2013301657
+2013301658,2013301658
+2013301659,2013301659
+2013301660,2013301660
+2013301661,2013301661
+2013301662,2013301662
+2013301663,2013301663
+2013301664,2013301664
+2013301665,2013301665
+2013301666,2013301666
+2013301667,2013301667
+2013301668,2013301668
+2013301669,2013301669
+2013301670,2013301670
+2013301671,2013301671
+2013301672,2013301672
+2013301673,2013301673
+2013301674,2013301674
+2013301675,2013301675
+2013301676,2013301676
+2013301677,2013301677
+2013301678,2013301678
+2013301679,2013301679
+2013301680,2013301680
+2013301681,2013301681
+2013301682,2013301682
+2013301683,2013301683
+2013301684,2013301684
+2013301685,2013301685
+2013301686,2013301686
+2013301687,2013301687
+2013301688,2013301688
+2013301689,2013301689
+2013301690,2013301690
+2013301691,2013301691
+2013301692,2013301692
+2013301693,2013301693
+2013301694,2013301694
+2013301695,2013301695
+2013301696,2013301696
+2013301697,2013301697
+2013301698,2013301698
+2013301699,2013301699
+2013301700,2013301700
+2013301701,2013301701
+2013301702,2013301702
+2013301703,2013301703
+2013301704,2013301704
+2013301705,2013301705
+2013301706,2013301706
+2013301707,2013301707
+2013301708,2013301708
+2013301709,2020100065
+2013301710,2013301710
+2013301711,2013301711
+2013301712,2013301712
+2013301713,2013301713
+2013301714,2013301714
+2013301715,2013301715
+2013301716,2013301716
+2013301717,2013301717
+2013301718,2013301718
+2013301719,2013301719
+2013301720,2013301720
+2013301721,2013301721
+2013301722,2013301722
+2013301723,2013301723
+2013301724,2013301724
+2013301725,2013301725
+2013301726,2013301726
+2013301727,2013301727
+2013301728,2013301728
+2013301729,2013301729
+2013301730,2013301730
+2013301731,2013301731
+2013301732,2013301732
+2013301733,2013301733
+2013301734,2013301734
+2013301735,2013301735
+2013301736,2013301736
+2013301737,2013301737
+2013301738,2013301738
+2013301739,2013301739
+2013301740,2013301740
+2013301741,2013301741
+2013301742,2013301742
+2013301743,2013301743
+2013301744,2013301744
+2013301745,2013301745
+2013301746,2013301746
+2013301747,2013301747
+2013301748,2013301748
+2013301749,2013301749
+2013301750,2013301750
+2013301751,2013301751
+2013301752,2013301752
+2013301753,2013301753
+2013301754,2013301754
+2013301755,2013301755
+2013301756,2013301756
+2013301757,2013301757
+2013301758,2013301758
+2013301759,2013301759
+2013301760,2013301760
+2013301761,2013301761
+2013301762,2013301762
+2013301763,2013301763
+2013301764,2013301764
+2013301765,2013301765
+2013301766,2013301766
+2013301767,2013301767
+2013301768,2013301768
+2013301769,2013301769
+2013301770,2013301770
+2013301771,2013301771
+2013301772,2013301772
+2013301773,2013301773
+2013301774,2013301774
+2013301775,2013301775
+2013301776,2013301776
+2013301777,2013301777
+2013301778,2013301778
+2013301779,2013301779
+2013301780,2013301780
+2013301781,2013301781
+2013301782,2013301782
+2013301783,2013301783
+2013301784,2013301784
+2013301785,2013301785
+2013301786,2013301786
+2013301787,2013301787
+2013301788,2009302894
+2013301789,2013301789
+2013301790,2013301790
+2013301791,2013301791
+2013301792,2013301792
+2013301793,2013301793
+2013301794,2013301794
+2013301795,2013301795
+2013301796,2013301796
+2013301797,2013301797
+2013301798,2013301798
+2013301799,2013301799
+2013301800,2013301800
+2013301801,2013301801
+2013301802,2013301802
+2013301803,2013301803
+2013301804,2013301804
+2013301805,2013301805
+2013301806,2013301806
+2013301807,2013301807
+2013301808,2013301808
+2013301809,2013301809
+2013301810,2013301810
+2013301811,2013301811
+2013301812,2013301812
+2013301813,2013301813
+2013301814,2013301814
+2013301815,2013301815
+2013301816,2013301816
+2013301817,2013301817
+2013301818,2013301818
+2013301819,2013301819
+2013301820,2013301820
+2013301821,2013301821
+2013301822,2013301822
+2013301823,2013301823
+2013301824,2013301824
+2013301825,2013301825
+2013301826,2013301826
+2013301827,2013301827
+2013301828,2013301828
+2013301829,2013301829
+2013301830,2013301830
+2013301831,2013301831
+2013301832,2013301832
+2013301833,2013301833
+2013301834,2013301834
+2013301835,2013301835
+2013301836,2013301836
+2013301837,2013301837
+2013301838,2013301838
+2013301839,2013301839
+2013301840,2013301840
+2013301841,2013301841
+2013301842,2013301842
+2013301843,2013301843
+2013301844,2013301844
+2013301845,2013301845
+2013301846,2013301846
+2013301847,2013301847
+2013301848,2013301848
+2013301849,2013301849
+2013301850,2013301850
+2013301851,2013301851
+2013301852,2013301852
+2013301853,2013301853
+2013301854,2013301854
+2013301855,2013301855
+2013301856,2013301856
+2013301857,2013301857
+2013301858,2013301858
+2013301859,2013301859
+2013301860,2013301860
+2013301861,2013301861
+2013301862,2013301862
+2013301863,2013301863
+2013301864,2013301864
+2013301865,2013301865
+2013301866,2013301866
+2013301867,2013301867
+2013301868,2013301868
+2013301869,2013301869
+2013301870,2013301870
+2013301871,2013301871
+2013301872,2013301872
+2013301873,2013301873
+2013301874,2013301874
+2013301875,2013301875
+2013301876,2013301876
+2013301877,2013301877
+2013301878,2013301878
+2013301879,2013301879
+2013301880,2013301880
+2013301881,2013301881
+2013301882,2013301882
+2013301883,2013301883
+2013301884,2013301884
+2013301885,2013301885
+2013301886,2013301886
+2013301887,2013301887
+2013301888,2013301888
+2013301889,2013301889
+2013301890,2013301890
+2013301891,2013301891
+2013301892,2013301892
+2013301893,2013301893
+2013301894,2013301894
+2013301895,2013301895
+2013301896,2013301896
+2013301897,2013301897
+2013301898,2013301898
+2013301899,2013301899
+2013301900,2013301900
+2013301901,2013301901
+2013301902,2013301902
+2013301903,2013301903
+2013301904,2013301904
+2013301905,2013301905
+2013301906,2013301906
+2013301907,2013301907
+2013301908,2013301908
+2013301909,2013301909
+2013301910,2013301910
+2013301911,2013301911
+2013301912,2013301912
+2013301913,2013301913
+2013301914,2013301914
+2013301915,2013301915
+2013301916,2013301916
+2013301917,2013301917
+2013301918,2013301918
+2013301919,2013301919
+2013301920,2013301920
+2013301921,2013301921
+2013301922,2013301922
+2013301923,2013301923
+2013301924,2013301924
+2013301925,2013301925
+2013301926,2013301926
+2013301927,2013301927
+2013301928,2013301928
+2013301929,2013301929
+2013301930,2013301930
+2013301931,2013301931
+2013301932,2013301932
+2013301933,2013301933
+2013301934,2013301934
+2013301935,2013301935
+2013301936,2013301936
+2013301937,2013301937
+2013301938,2013301938
+2013301939,2013301939
+2013301940,2013301940
+2013301941,2013301941
+2013301942,2013301942
+2013301943,2013301943
+2013301944,2013301944
+2013301945,2013301945
+2013301946,2013301946
+2013301947,2013301947
+2013301948,2013301948
+2013301949,2013301949
+2013301950,2013301950
+2013301951,2013301951
+2013301952,2013301952
+2013301953,2013301953
+2013301954,2013301954
+2013301955,2013301955
+2013301956,2013301956
+2013301957,2013301957
+2013301958,2013301958
+2013301959,2013301959
+2013301960,2013301960
+2013301961,2013301961
+2013301962,2013301962
+2013301963,2013301963
+2013301964,2013301964
+2013301965,2013301965
+2013301966,2013301966
+2013301967,2013301967
+2013301968,2013301968
+2013301969,2013301969
+2013301970,2013301970
+2013301971,2013301971
+2013301972,2013301972
+2013301973,2013301973
+2013301974,2013301974
+2013301975,2013301975
+2013301976,2013301976
+2013301977,2013301977
+2013301978,2013301978
+2013301979,2013301979
+2013301980,2013301980
+2013301981,2013301981
+2013301982,2013301982
+2013301983,2013301983
+2013301984,2013301984
+2013301985,2013301985
+2013301986,2013301986
+2013301987,2013301987
+2013301988,2013301988
+2013301989,2013301989
+2013301990,2013301990
+2013301991,2013301991
+2013301992,2013301992
+2013301993,2013301993
+2013301994,2013301994
+2013301995,2013301995
+2013301996,2013301996
+2013301997,2013301997
+2013301998,2013301998
+2013301999,2013301999
+2013302000,2013302000
+2013302001,2013302001
+2013302002,2013302002
+2013302003,2013302003
+2013302004,2013302004
+2013302005,2013302005
+2013302006,2013302006
+2013302007,2013302007
+2013302008,2013302008
+2013302009,2013302009
+2013302010,2013302010
+2013302011,2013302011
+2013302012,2013302012
+2013302013,2013302013
+2013302014,2013302014
+2013302015,2013302015
+2013302016,2013302016
+2013302017,2013302017
+2013302018,2013302018
+2013302019,2013302019
+2013302020,2013302020
+2013302021,2013302021
+2013302022,2013302022
+2013302023,2013302023
+2013302024,2013302024
+2013302025,2013302025
+2013302026,2013302026
+2013302027,2013302027
+2013302028,2013302028
+2013302029,2013302029
+2013302030,2013302030
+2013302031,2013302031
+2013302032,2013302032
+2013302033,2013302033
+2013302034,2013302034
+2013302035,2013302035
+2013302036,2013302036
+2013302037,2013302037
+2013302038,2013302038
+2013302039,2013302039
+2013302040,2013302040
+2013302041,2013302041
+2013302042,2013302042
+2013302043,2013302043
+2013302044,2013302044
+2013302045,2013302045
+2013302046,2013302046
+2013302047,2013302047
+2013302048,2013302048
+2013302049,2013302049
+2013302050,2013302050
+2013302051,2013302051
+2013302052,2013302052
+2013302053,2013302053
+2013302054,2013302054
+2013302055,2013302055
+2013302056,2013302056
+2013302057,2013302057
+2013302058,2013302058
+2013302059,2013302059
+2013302060,2013302060
+2013302061,2013302061
+2013302062,2013302062
+2013302063,2013302063
+2013302064,2013302064
+2013302065,2013302065
+2013302066,2013302066
+2013302067,2020100285
+2013302068,2013302068
+2013302069,2013302069
+2013302070,2013302070
+2013302071,2013302071
+2013302072,2013302072
+2013302073,2013302073
+2013302074,2013302074
+2013302075,2013302075
+2013302076,2013302076
+2013302077,2013302077
+2013302078,2013302078
+2013302079,2013302079
+2013302081,2013302081
+2013302082,2013302082
+2013302083,2013302083
+2013302084,2013302084
+2013302085,2013302085
+2013302086,2013302086
+2013302087,2013302087
+2013302088,2013302088
+2013302089,2020100287
+2013302090,2013302090
+2013302091,2013302091
+2013302092,2013302092
+2013302093,2013302093
+2013302094,2013302094
+2013302095,2013302095
+2013302096,2013302096
+2013302097,2013302097
+2013302098,2013302098
+2013302099,2013302099
+2013302100,2013302100
+2013302101,2013302101
+2013302102,2013302102
+2013302103,2013302103
+2013302104,2013302104
+2013302105,2013302105
+2013302106,2013302106
+2013302107,2013302107
+2013302108,2013302108
+2013302109,2013302109
+2013302110,2013302110
+2013302111,2013302111
+2013302112,2013302112
+2013302113,2013302113
+2013302114,2013302114
+2013302115,2013302115
+2013302117,2013302117
+2013302118,2013302118
+2013302119,2013302119
+2013302120,2013302120
+2013302121,2013302121
+2013302122,2013302122
+2013302123,2013302123
+2013302124,2013302124
+2013302125,2013302125
+2013302126,2013302126
+2013302127,2013302127
+2013302128,2013302128
+2013302129,2013302129
+2013302130,2013302130
+2013302131,2013302131
+2013302132,2013302132
+2013302133,2013302133
+2013302134,2013302134
+2013302135,2013302135
+2013302136,2013302136
+2013302137,2013302137
+2013302138,2013302138
+2013302139,2013302139
+2013302140,2013302140
+2013302141,2013302141
+2013302142,2013302142
+2013302143,2013302143
+2013302144,2013302144
+2013302145,2013302145
+2013302146,2013302146
+2013302147,2013302147
+2013302148,2013302148
+2013302149,2013302149
+2013302150,2013302150
+2013302151,2013302151
+2013302152,2013302152
+2013302153,2013302153
+2013302154,2013302154
+2013302155,2013302155
+2013302156,2013302156
+2013302157,2013302157
+2013302158,2013302158
+2013302159,2013302159
+2013302160,2013302160
+2013302161,2013302161
+2013302162,2013302162
+2013302163,2013302163
+2013302164,2013302164
+2013302165,2013302165
+2013302166,2013302166
+2013302167,2013302167
+2013302168,2013302168
+2013302169,2013302169
+2013302170,2013302170
+2013302171,2013302171
+2013302172,2013302172
+2013302173,2013302173
+2013302174,2013302174
+2013302175,2013302175
+2013302176,2013302176
+2013302177,2013302177
+2013302178,2013302178
+2013302179,2013302179
+2013302180,2013302180
+2013302181,2013302181
+2013302182,2013302182
+2013302183,2013302183
+2013302184,2013302184
+2013302185,2013302185
+2013302186,2013302186
+2013302187,2013302187
+2013302188,2013302188
+2013302189,2013302189
+2013302190,2013302190
+2013302191,2013302191
+2013302192,2013302192
+2013302193,2013302193
+2013302194,2013302194
+2013302195,2013302195
+2013302196,2013302196
+2013302197,2013302197
+2013302198,2013302198
+2013302199,2013302199
+2013302200,2013302200
+2013302201,2013302201
+2013302202,2013302202
+2013302203,2013302203
+2013302204,2013302204
+2013302205,2013302205
+2013302206,2013302206
+2013302207,2013302207
+2013302208,2013302208
+2013302209,2013302209
+2013302210,2013302210
+2013302211,2013302211
+2013302212,2013302212
+2013302213,2013302213
+2013302214,2013302214
+2013302215,2013302215
+2013302216,2013302216
+2013302217,2013302217
+2013302218,2013302218
+2013302219,2013302219
+2013302220,2013302220
+2013302221,2013302221
+2013302222,2013302222
+2013302223,2013302223
+2013302224,2013302224
+2013302225,2013302225
+2013302226,2013302226
+2013302227,2013302227
+2013302228,2013302228
+2013302229,2013302229
+2013302230,2013302230
+2013302231,2013302231
+2013302232,2013302232
+2013302233,2013302233
+2013302234,2013302234
+2013302235,2013302235
+2013302236,2013302236
+2013302237,2013302237
+2013302238,2013302238
+2013302239,2013302239
+2013302240,2013302240
+2013302242,2013302242
+2013302243,2013302243
+2013302244,2013302244
+2013302245,2013302245
+2013302246,2013302246
+2013302247,2013302247
+2013302248,2013302248
+2013302249,2013302249
+2013302250,2013302250
+2013302251,2013302251
+2013302252,2013302252
+2013302253,2013302253
+2013302254,2013302254
+2013302255,2013302255
+2013302256,2013302256
+2013302257,2013302257
+2013302258,2013302258
+2013302259,2013302259
+2013302260,2013302260
+2013302261,2013302261
+2013302262,2013302262
+2013302263,2013302263
+2013302264,2013302264
+2013302265,2013302265
+2013302266,2013302266
+2013302267,2013302267
+2013302268,2013302268
+2013302269,2013302269
+2013302270,2013302270
+2013302271,2013302271
+2013302272,2013302272
+2013302273,2013302273
+2013302274,2013302274
+2013302275,2013302275
+2013302276,2013302276
+2013302277,2013302277
+2013302278,2013302278
+2013302279,2013302279
+2013302280,2013302280
+2013302281,2013302281
+2013302282,2013302282
+2013302283,2013302283
+2013302284,2013302284
+2013302285,2013302285
+2013302286,2013302286
+2013302287,2013302287
+2013302288,2013302288
+2013302289,2013302289
+2013302290,2013302290
+2013302291,2013302291
+2013302292,2013302292
+2013302293,2013302293
+2013302294,2013302294
+2013302295,2013302295
+2013302296,2013302296
+2013302297,2013302297
+2013302298,2013302298
+2013302299,2013302299
+2013302300,2013302300
+2013302301,2013302301
+2013302302,2013302302
+2013302303,2013302303
+2013302304,2013302304
+2013302305,2013302305
+2013302306,2013302306
+2013302307,2013302307
+2013302308,2013302308
+2013302309,2013302309
+2013302310,2013302310
+2013302311,2013302311
+2013302312,2013302312
+2013302313,2013302313
+2013302314,2013302314
+2013302315,2013302315
+2013302316,2013302316
+2013302317,2013302317
+2013302318,2013302318
+2013302319,2013302319
+2013302320,2013302320
+2013302321,2013302321
+2013302322,2013302322
+2013302323,2013302323
+2013302324,2013302324
+2013302325,2013302325
+2013302326,2013302326
+2013302327,2013302327
+2013302328,2013302328
+2013302329,2013302329
+2013302330,2013302330
+2013302331,2013302331
+2013302332,2013302332
+2013302333,2013302333
+2013302334,2013302334
+2013302335,2013302335
+2013302336,2013302336
+2013302337,2013302337
+2013302338,2013302338
+2013302339,2013302339
+2013302340,2013302340
+2013302341,2013302341
+2013302342,2013302342
+2013302343,2013302343
+2013302344,2013302344
+2013302345,2013302345
+2013302346,2013302346
+2013302347,2013302347
+2013302348,2013302348
+2013302349,2020100339
+2013302350,2013302350
+2013302351,2013302351
+2013302352,2013302352
+2013302353,2013302353
+2013302354,2013302354
+2013302355,2013302355
+2013302356,2013302356
+2013302357,2013302357
+2013302358,2013302358
+2013302359,2013302359
+2013302360,2013302360
+2013302361,2013302361
+2013302362,2013302362
+2013302363,2013302363
+2013302364,2013302364
+2013302365,2013302365
+2013302366,2013302366
+2013302367,2013302367
+2013302368,2013302368
+2013302369,2013302369
+2013302370,2013302370
+2013302371,2013302371
+2013302372,2013302372
+2013302373,2013302373
+2013302374,2013302374
+2013302375,2013302375
+2013302376,2013302376
+2013302377,2013302377
+2013302378,2013302378
+2013302379,2013302379
+2013302380,2013302380
+2013302381,2013302381
+2013302382,2013302382
+2013302383,2013302383
+2013302384,2013302384
+2013302385,2013302385
+2013302386,2013302386
+2013302387,2013302387
+2013302388,2013302388
+2013302389,2013302389
+2013302390,2013302390
+2013302391,2013302391
+2013302392,2013302392
+2013302393,2013302393
+2013302394,2013302394
+2013302395,2013302395
+2013302396,2013302396
+2013302397,2013302397
+2013302398,2013302398
+2013302399,2013302399
+2013302400,2013302400
+2013302401,2013302401
+2013302402,2013302402
+2013302403,2013302403
+2013302404,2013302404
+2013302405,2013302405
+2013302406,2013302406
+2013302407,2013302407
+2013302408,2013302408
+2013302409,2013302409
+2013302410,2013302410
+2013302411,2013302411
+2013302412,2013302412
+2013302413,2013302413
+2013302414,2013302414
+2013302415,2013302415
+2013302416,2013302416
+2013302417,2013302417
+2013302418,2013302418
+2013302419,2013302419
+2013302420,2013302420
+2013302421,2013302421
+2013302422,2013302422
+2013302423,2013302423
+2013302424,2013302424
+2013302425,2013302425
+2013302426,2013302426
+2013302427,2013302427
+2013302428,2013302428
+2013302429,2013302429
+2013302430,2013302430
+2013302431,2013302431
+2013302432,2013302432
+2013302433,2013302433
+2013302434,2013302434
+2013302435,2013302435
+2013302436,2013302436
+2013302437,2020100228
+2013302438,2013302438
+2013302439,2013302439
+2013302440,2013302440
+2013302441,2013302441
+2013302442,2013302442
+2013302443,2013302443
+2013302444,2013302444
+2013302445,2013302445
+2013302446,2013302446
+2013302447,2013302447
+2013302448,2013302448
+2013302449,2013302449
+2013302450,2013302450
+2013302451,2013302451
+2013302452,2013302452
+2013302453,2013302453
+2013302454,2013302454
+2013302455,2013302455
+2013302456,2013302456
+2013302457,2013302457
+2013302458,2013302458
+2013302459,2013302459
+2013302460,2013302460
+2013302461,2013302461
+2013302462,2013302462
+2013302463,2013302463
+2013302464,2013302464
+2013302465,2013302465
+2013302466,2013302466
+2013302467,2013302467
+2013302468,2013302468
+2013302469,2013302469
+2013302470,2013302470
+2013302471,2013302471
+2013302472,2013302472
+2013302473,2013302473
+2013302474,2013302474
+2013302475,2013302475
+2013302476,2013302476
+2013302477,2013302477
+2013302478,2013302478
+2013302479,2013302479
+2013302480,2013302480
+2013302481,2013302481
+2013302482,2013302482
+2013302483,2013302483
+2013302484,2013302484
+2013302485,2013302485
+2013302486,2013302486
+2013302487,2013302487
+2013302488,2013302488
+2013302489,2013302489
+2013302490,2013302490
+2013302491,2013302491
+2013302492,2013302492
+2013302493,2013302493
+2013302494,2013302494
+2013302495,2013302495
+2013302496,2013302496
+2013302497,2013302497
+2013302498,2013302498
+2013302499,2013302499
+2013302500,2013302500
+2013302501,2013302501
+2013302502,2013302502
+2013302503,2013302503
+2013302504,2013302504
+2013302505,2013302505
+2013302506,2013302506
+2013302507,2013302507
+2013302508,2013302508
+2013302509,2013302509
+2013302510,2013302510
+2013302511,2013302511
+2013302512,2013302512
+2013302513,2013302513
+2013302514,2013302514
+2013302515,2013302515
+2013302516,2013302516
+2013302517,2013302517
+2013302518,2013302518
+2013302519,2013302519
+2013302520,2013302520
+2013302521,2013302521
+2013302522,2013302522
+2013302523,2013302523
+2013302524,2013302524
+2013302525,2013302525
+2013302526,2013302526
+2013302527,2013302527
+2013302528,2013302528
+2013302529,2013302529
+2013302530,2013302530
+2013302531,2013302531
+2013302532,2013302532
+2013302533,2013302533
+2013302534,2013302534
+2013302535,2013302535
+2013302536,2013302536
+2013302537,2013302537
+2013302538,2013302538
+2013302539,2013302539
+2013302540,2013302540
+2013302541,2013302541
+2013302542,2013302542
+2013302543,2013302543
+2013302544,2013302544
+2013302545,2013302545
+2013302546,2013302546
+2013302547,2013302547
+2013302548,2013302548
+2013302549,2013302549
+2013302550,2013302550
+2013302551,2013302551
+2013302552,2013302552
+2013302553,2013302553
+2013302554,2013302554
+2013302555,2013302555
+2013302556,2013302556
+2013302557,2013302557
+2013302558,2013302558
+2013302559,2013302559
+2013302560,2013302560
+2013302561,2013302561
+2013302562,2013302562
+2013302563,2013302563
+2013302564,2013302564
+2013302565,2013302565
+2013302566,2013302566
+2013302567,2013302567
+2013302568,2013302568
+2013302569,2013302569
+2013302570,2013302570
+2013302571,2013302571
+2013302572,2013302572
+2013302573,2013302573
+2013302574,2013302574
+2013302575,2013302575
+2013302576,2013302576
+2013302577,2013302577
+2013302578,2013302578
+2013302579,2013302579
+2013302580,2013302580
+2013302581,2013302581
+2013302582,2013302582
+2013302583,2013302583
+2013302584,2013302584
+2013302585,2013302585
+2013302586,2013302586
+2013302587,2013302587
+2013302588,2013302588
+2013302589,2013302589
+2013302590,2013302590
+2013302591,2013302591
+2013302592,2013302592
+2013302593,2013302593
+2013302594,2013302594
+2013302595,2013302595
+2013302596,2013302596
+2013302597,2013302597
+2013302598,2013302598
+2013302599,2013302599
+2013302600,2013302600
+2013302601,2013302601
+2013302602,2013302602
+2013302603,2013302603
+2013302604,2013302604
+2013302605,2013302605
+2013302606,2013302606
+2013302607,2013302607
+2013302608,2013302608
+2013302609,2013302609
+2013302610,2013302610
+2013302611,2013302611
+2013302612,2013302612
+2013302613,2013302613
+2013302614,2013302614
+2013302615,2013302615
+2013302616,2013302616
+2013302617,2013302617
+2013302618,2013302618
+2013302619,2013302619
+2013302620,2013302620
+2013302621,2013302621
+2013302622,2013302622
+2013302623,2013302623
+2013302624,2013302624
+2013302625,2013302625
+2013302627,2013302627
+2013302628,2013302628
+2013302629,2013302629
+2013302630,2013302630
+2013302631,2013302631
+2013302632,2013302632
+2013302633,2013302633
+2013302634,2013302634
+2013302635,2013302635
+2013302636,2013302636
+2013302637,2013302637
+2013302638,2013302638
+2013302639,2013302639
+2013302640,2013302640
+2013302641,2013302641
+2013302642,2013302642
+2013302643,2013302643
+2013302644,2013302644
+2013302646,2013302646
+2013302647,2013302647
+2013302648,2013302648
+2013302649,2013302649
+2013302650,2013302650
+2013302651,2013302651
+2013302652,2013302652
+2013302653,2013302653
+2013302654,2013302654
+2013302655,2013302655
+2013302656,2013302656
+2013302657,2013302657
+2013302658,2013302658
+2013302659,2013302659
+2013302660,2013302660
+2013302661,2013302661
+2013302662,2013302662
+2013302663,2013302663
+2013302664,2013302664
+2013302665,2013302665
+2013302666,2013302666
+2013302667,2013302667
+2013302668,2013302668
+2013302669,2013302669
+2013302670,2013302670
+2013302671,2013302671
+2013302672,2013302672
+2013302673,2013302673
+2013302674,2013302674
+2013302675,2013302675
+2013302676,2013302676
+2013302677,2013302677
+2013302678,2013302678
+2013302679,2013302679
+2013302680,2013302680
+2013302681,2013302681
+2013302682,2013302682
+2013302683,2013302683
+2013302684,2013302684
+2013302685,2013302685
+2013302686,2013302686
+2013302687,2013302687
+2013302688,2013302688
+2013302689,2013302689
+2013302690,2013302690
+2013302691,2013302691
+2013302692,2013302692
+2013302693,2013302693
+2013302694,2013302694
+2013302695,2013302695
+2013302696,2013302696
+2013302697,2013302697
+2013302698,2013302698
+2013302699,2013302699
+2013302700,2013302700
+2013302701,2013302701
+2013302702,2013302702
+2013302703,2013302703
+2013302704,2013302704
+2013302705,2013302705
+2013302706,2013302706
+2013302707,2013302707
+2013302708,2013302708
+2013302709,2013302709
+2013302710,2013302710
+2013302711,2013302711
+2013302712,2013302712
+2013302713,2013302713
+2013302714,2013302714
+2013302715,2013302715
+2013302716,2013302716
+2013302717,2013302717
+2013302718,2013302718
+2013302719,2013302719
+2013302720,2013302720
+2013302721,2013302721
+2013302722,2013302722
+2013302723,2013302723
+2013302724,2013302724
+2013302725,2013302725
+2013302726,2013302726
+2013302727,2013302727
+2013302728,2013302728
+2013302729,2013302729
+2013302730,2013302730
+2013302731,2013302731
+2013302732,2013302732
+2013302733,2013302733
+2013302734,2013302734
+2013302735,2013302735
+2013302736,2013302736
+2013302737,2013302737
+2013302738,2013302738
+2013302739,2013302739
+2013302740,2013302740
+2013302741,2013302741
+2013302742,2013302742
+2013302743,2013302743
+2013302744,2013302744
+2013302745,2013302745
+2013302746,2013302746
+2013302747,2013302747
+2013302748,2013302748
+2013302749,2013302749
+2013302750,2013302750
+2013302751,2013302751
+2013302752,2013302752
+2013302753,2013302753
+2013302754,2013302754
+2013302755,2013302755
+2013302756,2013302756
+2013302757,2013302757
+2013302758,2013302758
+2013302759,2013302759
+2013302760,2013302760
+2013302761,2013302761
+2013302762,2013302762
+2013302763,2013302763
+2013302764,2013302764
+2013302765,2013302765
+2013302766,2013302766
+2013302767,2013302767
+2013302769,2013302769
+2013302770,2013302770
+2013302771,2013302771
+2013302772,2013302772
+2013302773,2013302773
+2013302774,2013302774
+2013302775,2013302775
+2013302776,2013302776
+2013302777,2013302777
+2013302778,2013302778
+2013302779,2013302779
+2013302780,2013302780
+2013302781,2013302781
+2013302782,2013302782
+2013302783,2013302783
+2013302784,2013302784
+2013302785,2013302785
+2013302786,2013302786
+2013302787,2013302787
+2013302788,2013302788
+2013302789,2013302789
+2013302790,2013302790
+2013302791,2013302791
+2013302792,2013302792
+2013302793,2013302793
+2013302794,2013302794
+2013302795,2013302795
+2013302796,2013302796
+2013302797,2013302797
+2013302798,2013302798
+2013302799,2013302799
+2013302800,2013302800
+2013302801,2013302801
+2013302802,2013302802
+2013302803,2013302803
+2013302804,2013302804
+2013302805,2013302805
+2013302806,2013302806
+2013302807,2013302807
+2013302808,2013302808
+2013302809,2013302809
+2013302810,2013302810
+2013302811,2013302811
+2013302812,2013302812
+2013302813,2013302813
+2013302814,2013302814
+2013302815,2013302815
+2013302816,2013302816
+2013302817,2013302817
+2013302818,2013302818
+2013302819,2013302819
+2013302820,2013302820
+2013302821,2013302821
+2013302822,2013302822
+2013302823,2013302823
+2013302824,2013302824
+2013302825,2013302825
+2013302826,2013302826
+2013302827,2013302827
+2013302828,2013302828
+2013302829,2013302829
+2013302830,2013302830
+2013302831,2013302831
+2013302832,2013302832
+2013302833,2013302833
+2013302834,2013302834
+2013302835,2013302835
+2013302836,2013302836
+2013302837,2013302837
+2013302838,2013302838
+2013302839,2013302839
+2013302840,2013302840
+2013302841,2013302841
+2013302842,2013302842
+2013302843,2013302843
+2013302844,2013302844
+2013302845,2013302845
+2013302846,2013302846
+2013302847,2013302847
+2013302848,2013302848
+2013302849,2013302849
+2013302850,2013302850
+2013302851,2013302851
+2013302852,2013302852
+2013302853,2013302853
+2013302854,2013302854
+2013302855,2013302855
+2013302856,2013302856
+2013302857,2013302857
+2013302858,2013302858
+2013302859,2013302859
+2013302860,2013302860
+2013302861,2013302861
+2013302862,2013302862
+2013302863,2013302863
+2013302864,2013302864
+2013302865,2013302865
+2013302866,2013302866
+2013302867,2013302867
+2013302868,2013302868
+2013302869,2013302869
+2013302870,2013302870
+2013302871,2013302871
+2013302872,2013302872
+2013302873,2013302873
+2013302874,2013302874
+2013302875,2013302875
+2013302876,2013302876
+2013302877,2013302877
+2013302878,2013302878
+2013302879,2013302879
+2013302880,2013302880
+2013302881,2013302881
+2013302882,2013302882
+2013302883,2013302883
+2013302884,2013302884
+2013302885,2013302885
+2013302886,2013302886
+2013302887,2013302887
+2013302888,2013302888
+2013302889,2013302889
+2013302890,2013302890
+2013302891,2013302891
+2013302892,2013302892
+2013302893,2013302893
+2013302894,2013302894
+2013302895,2013302895
+2013302896,2013302896
+2013302897,2013302897
+2013302898,2013302898
+2013302899,2013302899
+2013302900,2013302900
+2013302901,2013302901
+2013302902,2013302902
+2013302903,2013302903
+2013302904,2013302904
+2013302905,2013302905
+2013302906,2013302906
+2013302907,2013302907
+2013302908,2013302908
+2013302909,2013302909
+2013302910,2013302910
+2013302911,2013302911
+2013302912,2013302912
+2013302913,2013302913
+2013302914,2013302914
+2013302915,2013302915
+2013302916,2013302916
+2013302917,2013302917
+2013302918,2013302918
+2013302919,2013302919
+2013302920,2013302920
+2013302921,2013302921
+2013302922,2013302922
+2013302923,2013302923
+2013302924,2013302924
+2013302925,2013302925
+2013302926,2013302926
+2013302927,2013302927
+2013302928,2013302928
+2013302929,2013302929
+2013302930,2013302930
+2013302931,2013302931
+2013302932,2013302932
+2013302933,2013302933
+2013302934,2013302934
+2013302935,2013302935
+2013302936,2013302936
+2013302937,2013302937
+2013302938,2013302938
+2013302939,2013302939
+2013302940,2013302940
+2013302941,2013302941
+2013302942,2013302942
+2013302943,2013302943
+2013302944,2013302944
+2013302945,2013302945
+2013302946,2013302946
+2013302947,2013302947
+2013302948,2013302948
+2013302949,2013302949
+2013302950,2013302950
+2013302951,2013302951
+2013302952,2013302952
+2013302953,2013302953
+2013302954,2013302954
+2013302955,2013302955
+2013302956,2013302956
+2013302957,2013302957
+2013302958,2013302958
+2013302959,2013302959
+2013302960,2013302960
+2013302961,2013302961
+2013302962,2013302962
+2013302963,2013302963
+2013302964,2013302964
+2013302965,2013302965
+2013302966,2013302966
+2013302967,2013302967
+2013302968,2013302968
+2013302969,2013302969
+2013302970,2013302970
+2013302971,2013302971
+2013302972,2013302972
+2013302973,2013302973
+2013302974,2013302974
+2013302975,2013302975
+2013302976,2013302976
+2013302977,2013302977
+2013302978,2013302978
+2013302979,2013302979
+2013302980,2013302980
+2013302981,2013302981
+2013302982,2013302982
+2013302983,2013302983
+2013302984,2013302984
+2013302985,2013302985
+2013302986,2013302986
+2013302987,2013302987
+2013302988,2013302988
+2013302989,2013302989
+2013302990,2013302990
+2013302991,2013302991
+2013302992,2013302992
+2013302993,2013302993
+2013302994,2013302994
+2013302995,2013302995
+2013302996,2013302996
+2013302997,2013302997
+2013302998,2013302998
+2013302999,2013302999
+2013303000,2013303000
+2013303001,2013303001
+2013303002,2013303002
+2013303003,2013303003
+2013303004,2013303004
+2013303005,2013303005
+2013303006,2013303006
+2013303007,2013303007
+2013303008,2013303008
+2013303009,2013303009
+2013303010,2013303010
+2013303011,2013303011
+2013303012,2013303012
+2013303013,2013303013
+2013303014,2013303014
+2013303015,2013303015
+2013303016,2013303016
+2013303017,2013303017
+2013303018,2013303018
+2013303019,2013303019
+2013303020,2013303020
+2013303021,2013303021
+2013303022,2013303022
+2013303023,2013303023
+2013303024,2013303024
+2013303025,2013303025
+2013303026,2013303026
+2013303027,2013303027
+2013303028,2013303028
+2013303029,2013303029
+2013303030,2013303030
+2013303031,2013303031
+2013303032,2013303032
+2013303033,2013303033
+2013303034,2013303034
+2013303035,2013303035
+2013303036,2013303036
+2013303037,2013303037
+2013303038,2013303038
+2013303039,2013303039
+2013303040,2013303040
+2013303041,2013303041
+2013303042,2013303042
+2013303044,2013303044
+2013303045,2013303045
+2013303046,2013303046
+2013303047,2013303047
+2013303048,2013303048
+2013303049,2013303049
+2013303050,2013303050
+2013303051,2013303051
+2013303052,2013303052
+2013303053,2013303053
+2013303054,2013303054
+2013303055,2013303055
+2013303056,2013303056
+2013303057,2013303057
+2013303058,2013303058
+2013303060,2013303060
+2013303061,2013303061
+2013303062,2013303062
+2013303063,2013303063
+2013303064,2013303064
+2013303065,2013303065
+2013303066,2013303066
+2013303067,2013303067
+2013303068,2013303068
+2013303069,2013303069
+2013303070,2013303070
+2013303071,2013303071
+2013303072,2013303072
+2013303073,2013303073
+2013303074,2013303074
+2013303075,2013303075
+2013303076,2013303076
+2013303077,2013303077
+2013303078,2013303078
+2013303079,2013303079
+2013303080,2013303080
+2013303081,2013303081
+2013303082,2013303082
+2013303083,2013303083
+2013303084,2013303084
+2013303085,2013303085
+2013303086,2013303086
+2013303087,2013303087
+2013303088,2013303088
+2013303089,2013303089
+2013303090,2013303090
+2013303091,2013303091
+2013303092,2013303092
+2013303093,2013303093
+2013303094,2013303094
+2013303095,2013303095
+2013303096,2013303096
+2013303097,2013303097
+2013303098,2013303098
+2013303099,2013303099
+2013303100,2013303100
+2013303101,2013303101
+2013303102,2013303102
+2013303103,2013303103
+2013303104,2013303104
+2013303105,2013303105
+2013303106,2013303106
+2013303107,2013303107
+2013303108,2013303108
+2013303109,2013303109
+2013303110,2013303110
+2013303111,2013303111
+2013303112,2013303112
+2013303113,2013303113
+2013303114,2013303114
+2013303115,2013303115
+2013303116,2013303116
+2013303117,2013303117
+2013303118,2013303118
+2013303119,2013303119
+2013303120,2013303120
+2013303121,2013303121
+2013303122,2013303122
+2013303123,2013303123
+2013303124,2013303124
+2013303125,2013303125
+2013303126,2013303126
+2013303127,2013303127
+2013303128,2013303128
+2013303129,2013303129
+2013303130,2013303130
+2013303131,2013303131
+2013303132,2013303132
+2013303133,2013303133
+2013303134,2013303134
+2013303135,2013303135
+2013303136,2013303136
+2013303137,2013303137
+2013303138,2013303138
+2013303139,2013303139
+2013303140,2013303140
+2013303141,2013303141
+2013303142,2013303142
+2013303143,2013303143
+2013303144,2013303144
+2013303145,2013303145
+2013303146,2013303146
+2013303147,2013303147
+2013303148,2013303148
+2013303149,2013303149
+2013303150,2013303150
+2013303151,2013303151
+2013303152,2013303152
+2013303153,2013303153
+2013303154,2013303154
+2013303155,2013303155
+2013303156,2013303156
+2013303157,2013303157
+2013303158,2013303158
+2013303159,2013303159
+2013303160,2013303160
+2013303161,2013303161
+2013303162,2013303162
+2013303163,2013303163
+2013303164,2013303164
+2013303165,2013303165
+2013303166,2013303166
+2013303167,2013303167
+2013303168,2013303168
+2013303169,2013303169
+2013303170,2013303170
+2013303171,2013303171
+2013303172,2013303172
+2013303173,2013303173
+2013303174,2013303174
+2013303175,2013303175
+2013303176,2013303176
+2013303177,2013303177
+2013303178,2013303178
+2013303179,2013303179
+2013303180,2013303180
+2013303181,2013303181
+2013303182,2013303182
+2013303183,2013303183
+2013303184,2013303184
+2013303185,2013303185
+2013303186,2013303186
+2013303187,2013303187
+2013303188,2013303188
+2013303189,2013303189
+2013303190,2013303190
+2013303191,2013303191
+2013303192,2013303192
+2013303193,2013303193
+2013303194,2013303194
+2013303195,2013303195
+2013303196,2013303196
+2013303197,2013303197
+2013303198,2013303198
+2013303199,2013303199
+2013303200,2013303200
+2013303201,2013303201
+2013303202,2013303202
+2013303203,2013303203
+2013303204,2013303204
+2013303205,2013303205
+2013303206,2013303206
+2013303207,2013303207
+2013303208,2013303208
+2013303209,2013303209
+2013303210,2013303210
+2013303211,2013303211
+2013303212,2013303212
+2013303213,2013303213
+2013303214,2013303214
+2013303215,2013303215
+2013303216,2013303216
+2013303217,2013303217
+2013303218,2013303218
+2013303219,2013303219
+2013303220,2013303220
+2013303221,2013303221
+2013303222,2013303222
+2013303223,2013303223
+2013303224,2013303224
+2013303225,2013303225
+2013303226,2013303226
+2013303227,2013303227
+2013303228,2013303228
+2013303229,2013303229
+2013303230,2013303230
+2013303231,2013303231
+2013303232,2013303232
+2013303233,2013303233
+2013303234,2013303234
+2013303235,2013303235
+2013303236,2013303236
+2013303237,2013303237
+2013303238,2013303238
+2013303239,2013303239
+2013303240,2013303240
+2013303241,2013303241
+2013303242,2013303242
+2013303243,2013303243
+2013303244,2013303244
+2013303245,2013303245
+2013303246,2013303246
+2013303247,2013303247
+2013303248,2013303248
+2013303249,2013303249
+2013303250,2013303250
+2013303251,2013303251
+2013303252,2013303252
+2013303253,2013303253
+2013303254,2013303254
+2013303255,2013303255
+2013303256,2013303256
+2013303257,2013303257
+2013303258,2013303258
+2013303259,2013303259
+2013303260,2013303260
+2013303261,2013303261
+2013303262,2013303262
+2013303263,2013303263
+2013303264,2013303264
+2013303265,2013303265
+2013303266,2013303266
+2013303267,2013303267
+2013303268,2013303268
+2013303269,2013303269
+2013303270,2013303270
+2013303271,2013303271
+2013303272,2013303272
+2013303273,2013303273
+2013303274,2013303274
+2013303275,2013303275
+2013303276,2013303276
+2013303277,2013303277
+2013303279,2013303279
+2013303280,2013303280
+2013303281,2013303281
+2013303282,2013303282
+2013303283,2013303283
+2013303284,2013303284
+2013303285,2013303285
+2013303286,2013303286
+2013303287,2013303287
+2013303288,2013303288
+2013303289,2013303289
+2013303290,2020100373
+2013303291,2013303291
+2013303292,2013303292
+2013303293,2013303293
+2013303294,2013303294
+2013303295,2013303295
+2013303296,2013303296
+2013303297,2013303297
+2013303298,2013303298
+2013303299,2013303299
+2013303300,2013303300
+2013303301,2013303301
+2013303302,2013303302
+2013303303,2013303303
+2013303304,2013303304
+2013303305,2013303305
+2013303306,2013303306
+2013303307,2013303307
+2013303308,2013303308
+2013303309,2013303309
+2013303310,2013303310
+2013303311,2013303311
+2013303312,2013303312
+2013303313,2013303313
+2013303314,2013303314
+2013303315,2013303315
+2013303316,2013303316
+2013303317,2013303317
+2013303318,2013303318
+2013303319,2013303319
+2013303320,2013303320
+2013303321,2013303321
+2013303322,2013303322
+2013303323,2013303323
+2013303324,2013303324
+2013303325,2013303325
+2013303326,2013303326
+2013303327,2013303327
+2013303328,2013303328
+2013303329,2013303329
+2013303330,2013303330
+2013303331,2013303331
+2013303332,2013303332
+2013303333,2013303333
+2013303334,2013303334
+2013303335,2013303335
+2013303336,2013303336
+2013303337,2013303337
+2013303338,2013303338
+2013303339,2013303339
+2013303340,2013303340
+2013303341,2013303341
+2013303342,2013303342
+2013303343,2013303343
+2013303344,2013303344
+2013303345,2013303345
+2013303346,2013303346
+2013303347,2013303347
+2013303348,2013303348
+2013303349,2013303349
+2013303350,2013303350
+2013303351,2013303351
+2013303352,2013303352
+2013303353,2013303353
+2013303354,2013303354
+2013303355,2013303355
+2013303356,2013303356
+2013303357,2013303357
+2013303358,2013303358
+2013303359,2013303359
+2013303360,2013303360
+2013303361,2013303361
+2013303362,2013303362
+2013303363,2013303363
+2013303364,2013303364
+2013303365,2013303365
+2013303366,2013303366
+2013303367,2013303367
+2013303368,2013303368
+2013303369,2013303369
+2013303370,2013303370
+2013303371,2013303371
+2013303372,2013303372
+2013303373,2013303373
+2013303374,2013303374
+2013303375,2013303375
+2013303376,2013303376
+2013303377,2013303377
+2013303378,2013303378
+2013303379,2013303379
+2013303380,2013303380
+2013303381,2013303381
+2013303382,2013303382
+2013303383,2013303383
+2013303384,2013303384
+2013303385,2013303385
+2013303386,2013303386
+2013303387,2013303387
+2013303388,2013303388
+2013303389,2013303389
+2013303390,2013303390
+2013303391,2013303391
+2013303392,2013303392
+2013303393,2013303393
+2013303394,2013303394
+2013303395,2013303395
+2013303396,2013303396
+2013303397,2013303397
+2013303398,2013303398
+2013303399,2013303399
+2013303400,2013303400
+2013303401,2013303401
+2013303402,2013303402
+2013303403,2013303403
+2013303404,2013303404
+2013303405,2013303405
+2013303407,2013303407
+2013303408,2013303408
+2013303409,2013303409
+2013303410,2013303410
+2013303411,2013303411
+2013303412,2013303412
+2013303413,2013303413
+2013303414,2013303414
+2013303415,2013303415
+2013303416,2013303416
+2013303417,2013303417
+2013303418,2013303418
+2013303419,2013303419
+2013303420,2013303420
+2013303421,2013303421
+2013303422,2013303422
+2013303423,2013303423
+2013303424,2013303424
+2013303425,2013303425
+2013303426,2013303426
+2013303427,2013303427
+2013303428,2013303428
+2013303429,2013303429
+2013303430,2013303430
+2013303431,2013303431
+2013303432,2013303432
+2013303433,2013303433
+2013303434,2013303434
+2013303435,2013303435
+2013303436,2013303436
+2013303437,2013303437
+2013303438,2013303438
+2013303439,2013303439
+2013303440,2013303440
+2013303441,2013303441
+2013303442,2013303442
+2013303443,2013303443
+2013303444,2013303444
+2013303445,2013303445
+2013303446,2013303446
+2013303447,2013303447
+2013303448,2013303448
+2013303449,2013303449
+2013303450,2013303450
+2013303451,2013303451
+2013303452,2013303452
+2013303453,2013303453
+2013303454,2013303454
+2013303455,2013303455
+2013303456,2013303456
+2013303457,2013303457
+2013303458,2013303458
+2013303459,2013303459
+2013303460,2013303460
+2013303461,2013303461
+2013303462,2013303462
+2013303463,2013303463
+2013303464,2013303464
+2013303465,2013303465
+2013303466,2013303466
+2013303467,2013303467
+2013303468,2013303468
+2013303469,2013303469
+2013303470,2013303470
+2013303471,2013303471
+2013303472,2013303472
+2013303473,2013303473
+2013303474,2013303474
+2013303475,2013303475
+2013303476,2013303476
+2013303477,2013303477
+2013303478,2013303478
+2013303479,2013303479
+2013303480,2013303480
+2013303481,2013303481
+2013303482,2013303482
+2013303483,2013303483
+2013303484,2013303484
+2013303485,2013303485
+2013303486,2013303486
+2013303487,2013303487
+2013303488,2013303488
+2013303489,2013303489
+2013303490,2013303490
+2013303491,2013303491
+2013303492,2013303492
+2013303493,2013303493
+2013303494,2013303494
+2013303495,2013303495
+2013303496,2013303496
+2013303497,2013303497
+2013303498,2013303498
+2013303499,2013303499
+2013303500,2013303500
+2013303501,2013303501
+2013303502,2013303502
+2013303503,2013303503
+2013303504,2013303504
+2013303505,2013303505
+2013303506,2013303506
+2013303507,2013303507
+2013303508,2013303508
+2013303509,2013303509
+2013303510,2013303510
+2013303511,2013303511
+2013303512,2013303512
+2013303513,2013303513
+2013303514,2013303514
+2013303515,2013303515
+2013303516,2013303516
+2013303517,2013303517
+2013303518,2013303518
+2013303519,2013303519
+2013303520,2013303520
+2013303521,2013303521
+2013303522,2013303522
+2013303523,2013303523
+2013303524,2013303524
+2013303525,2013303525
+2013303526,2013303526
+2013303527,2013303527
+2013303528,2013303528
+2013303529,2020100377
+2013303530,2013303530
+2013303531,2013303531
+2013303532,2013303532
+2013303533,2013303533
+2013303534,2013303534
+2013303535,2013303535
+2013303536,2013303536
+2013303537,2013303537
+2013303538,2013303538
+2013303539,2013303539
+2013303540,2013303540
+2013303541,2013303541
+2013303542,2013303542
+2013303543,2013303543
+2013303544,2013303544
+2013303545,2013303545
+2013303546,2013303546
+2013303547,2013303547
+2013303548,2013303548
+2013303549,2013303549
+2013303550,2013303550
+2013303551,2013303551
+2013303552,2013303552
+2013303553,2013303553
+2013303554,2013303554
+2013303555,2013303555
+2013303556,2013303556
+2013303557,2013303557
+2013303558,2013303558
+2013303559,2013303559
+2013303560,2013303560
+2013303561,2013303561
+2013303562,2013303562
+2013303563,2013303563
+2013303564,2013303564
+2013303565,2013303565
+2013303566,2013303566
+2013303567,2013303567
+2013303568,2013303568
+2013303569,2013303569
+2013303570,2013303570
+2013303571,2013303571
+2013303572,2013303572
+2013303573,2013303573
+2013303574,2013303574
+2013303575,2013303575
+2013303576,2013303576
+2013310001,2013310001
+2013310002,2013310002
+2013310003,2013310003
+2013310004,2013310004
+2013310118,2013310118
+2013310119,2013310119
+2013410001,2013410001
+2013410002,2013410002
+2013410003,2013410003
+2013410004,2013410004
+2013410005,2013410005
+2013410006,2013410006
+2013410007,2013410007
+2013410008,2013410008
+2013410009,2013410009
+2013410010,2013410010
+2013410011,2013410011
+2013410012,2013410012
+2013410013,2013410013
+2013410014,2013410014
+2013410015,2013410015
+2013410016,2013410016
+2013410017,2013410017
+2013420002,2013420002
+2013420003,2013420003
+2013420004,2013420004
+2013420005,2013420005
+2013420006,2013420006
+2013420007,2013420007
+2013420008,2013420008
+2013420009,2013420009
+2013420010,2013420010
+2013420011,2009430049
+2013420012,2013420012
+2013420013,2013420013
+2013420014,2013420014
+2013420015,2013420015
+2013420016,2013420016
+2013420017,2013420017
+2013420018,2013420018
+2013420019,2013420019
+2013420021,2013420021
+2013420022,2013420022
+2013420023,2013420023
+2013420024,2013420024
+2013420025,2013420025
+2013420026,2013420026
+2013420027,2013420027
+2013420028,2013420028
+2013420029,2013420029
+2013420030,2013420030
+2013420032,2013420032
+2013420033,2013420033
+2013420034,2013420034
+2013420035,2013420035
+2013420036,2013420036
+2013420037,2013420037
+2013420038,2013420038
+2013420061,2013420061
+2013420062,2013420062
+2013420063,2013420063
+2013420064,2013420064
+2013420065,2013420065
+2013420066,2013420066
+2013420067,2013420067
+2013430010,2013430010
+2013430011,2013430011
+2013430012,2013430012
+2013430013,2013430013
+2013431000,2013431000
+2013431001,2013431001
+2013431002,2013431002
+2013431004,2013431004
+2013431005,2013431005
+2013431006,2013431006
+2013431007,2013431007
+2013431008,2013431008
+2013431009,2013431009
+2013431010,2013431010
+2013431011,2013431011
+2013431012,2013431012
+2013431013,2013431013
+2013431014,2013431007
+2013431015,2013431015
+2013431016,2013431016
+2013431017,2013431017
+2013431018,2013431018
+2013431019,2013431019
+2013431020,2013431020
+2013431021,2013431021
+2013431022,2013431022
+2013431023,2013431023
+2013431024,2013431024
+2013431025,2013431025
+2013431026,2013431026
+2013431027,2013431027
+2013431028,2013431028
+2013431080,2013431080
+2013431210,2013431210
+2013435000,2013435000
+2013435001,2013435001
+2013435002,2013435002
+2013435003,2013435003
+2013435004,2013435004
+2013435005,2013435005
+2013435006,2013435006
+2013435007,2013435007
+2013435008,2013435008
+2013435009,2013435009
+2013435010,2013435010
+2013435011,2013435011
+2013435012,2013435012
+2013435013,2013435013
+2013435014,2013435014
+2013435015,2013435015
+2013435016,2013435016
+2013435017,2013435017
+2013436001,2013436001
+2013438001,2013438001
+2013439000,2013439000
+2013439001,2013439001
+2013439002,2013439002
+2013439003,2013439003
+2013439004,2013439004
+2013439005,2013439005
+2013439006,2013439006
+2013439007,2013439007
+2013439008,2013439008
+2013439009,2013439009
+2013439010,2013439010
+2013440123,2013440123
+20139999,20139999
+2014000217,2014000217
+2014010001,040068
+2014010002,2007200764
+2014010003,046050338
+2014010004,2014010004
+2014010005,2014010005
+2014010006,2014010006
+2014010007,066026073
+2014010008,056090531
+2014010009,2014010009
+2014010010,2014010010
+2014010011,2014010011
+2014010012,043117
+2014010013,2008201644
+2014010014,043092
+2014010015,2014010015
+2014010016,067050083
+2014010017,066120731
+2014010018,066100631
+2014010019,2014010019
+2014010020,066090516
+2014010021,056010053
+2014010022,2014010022
+2014010023,2014010023
+2014010029,2014010029
+2014010030,2014010030
+2014010032,057020075
+2014010033,2014010033
+2014010034,2007201152
+2014010035,2008303161
+2014010047,2014010047
+2014010048,2007200835
+2014010049,2014010049
+2014010051,2014010051
+2014010052,2014010052
+2014010053,2014010053
+2014010054,2014010054
+2014010057,2014010057
+2014010058,2014010058
+2014010059,2014010059
+2014010060,2014010060
+2014010061,2014010061
+2014010063,062982
+2014010064,061370
+2014010065,063112
+2014010066,053164
+2014010067,053429
+2014010068,2011202341
+2014010069,2011201306
+2014010070,2007303143
+2014010071,2007301569
+2014010072,050032
+2014010073,2014010073
+2014010074,2007200859
+2014010075,2007201001
+2014010076,2007200922
+2014010077,2007300554
+2014010078,2007200268
+2014010079,2014010079
+2014010080,066060351
+2014010081,066066415
+2014010082,2007100224
+2014010084,2014010084
+2014010085,066080443
+2014010088,2007201517
+2014010089,077134146
+2014010090,2014010090
+2014010091,2014010091
+2014010092,042519
+2014010093,066096562
+2014010094,2007300860
+2014010095,2014010095
+2014010096,2014010096
+2014010097,2014010097
+2014010098,2014010098
+2014010099,2014010099
+2014010100,2014010100
+2014010109,2014010109
+2014010110,2014010110
+2014010111,2014010111
+2014010112,2014010112
+2014010113,2014010113
+2014010114,2011200453
+2014010115,2014010115
+2014010116,2014010116
+2014010117,2014010117
+2014010118,2014010118
+2014010119,2014010119
+2014010120,2014010120
+2014010121,2014010121
+2014010122,2014010122
+2014010123,2014010123
+2014010124,2007303053
+2014010126,2014010126
+2014010127,042868
+2014010128,050220
+2014010129,2008201727
+2014010130,2007200936
+2014010131,2010100579
+2014010132,2008202050
+2014010133,2014010133
+2014010134,2012262189
+2014010135,050482
+2014010138,2014010138
+2014010139,2013060101
+2014010140,2014010140
+2014010141,2014010141
+2014010142,042663
+2014010143,2014010143
+2014010144,040821
+2014010145,053180
+2014010146,2007100119
+2014010147,2014010147
+2014010148,052826
+2014010149,2014010149
+2014010150,2014010150
+2014010151,046040263
+2014010152,052349
+2014010153,2007200843
+2014010154,2014010154
+2014010155,2014010155
+2014010156,2014010156
+2014010157,2014010157
+2014010158,2014010158
+2014010159,2014010159
+2014010160,2014010160
+2014010163,046116731
+2014010164,2014010164
+2014010165,2014010165
+2014010166,2014010166
+2014010167,2014010167
+2014010168,2014010168
+2014010169,2014010169
+2014010170,046096569
+2014010205,056090529
+2014010206,067050386
+2014010207,2014010207
+2014010208,2014010208
+2014010209,067070427
+2014010210,2014010210
+2014010211,2014010211
+2014010212,2014010212
+2014010213,2014010213
+2014010214,2014010214
+2014010215,2014010215
+2014010223,2014010223
+2014010225,051132
+2014010226,050432
+2014010227,040826
+2014010228,2007200227
+2014010229,040477
+2014010230,2007200068
+2014010231,2009200966
+2014010232,053552
+2014010233,053572
+2014010234,041878
+2014010235,2007200417
+2014010236,041855
+2014030031,2007201863
+2014030050,066046268
+2014030062,2007200480
+2014030083,056010025
+2014030086,057010071
+2014030136,2014030136
+2014030137,2009100300
+2014030161,056040223
+2014030216,050092
+2014030222,2014030222
+2014030237,2014030237
+2014060055,2014010054
+2014060056,2014010053
+2014060087,2014060087
+2014060162,2014060162
+2014060186,2014060186
+2014060204,2014060204
+2014060218,2014060218
+2014060224,2014060224
+2014060238,2014060238
+2014070001,2014070001
+2014070002,2014070002
+2014070003,2014070003
+2014070004,2014070004
+2014070005,2014070005
+2014070006,2014070006
+2014070007,2014070007
+2014070008,2014070008
+2014070009,2014070009
+2014070010,2014070010
+2014070011,2014070011
+2014070012,2014070012
+2014070013,2014070013
+2014070014,2014070014
+2014070015,2014070015
+2014070016,2014070016
+2014070017,2013212176
+2014070018,2014070018
+2014070019,2014070019
+2014070020,2014070020
+2014070021,2014070021
+2014070022,2014070022
+2014070023,2014070023
+2014070024,2014070024
+2014070025,2014070025
+2014070026,2014070026
+2014070027,060447
+2014070028,2014070028
+2014070029,2010202188
+2014070030,2014070030
+2014070031,2014070031
+2014070032,2014070032
+2014070033,2014070033
+2014070034,2013210443
+2014070035,2014070035
+2014070036,2014070036
+2014070037,2014070037
+2014070038,2014070038
+2014070039,2014070039
+2014070040,2014070040
+2014070041,2014070041
+2014070042,2014070042
+2014070043,2014070043
+2014070044,2014070044
+2014070045,2014070045
+2014070046,2014070046
+2014070047,2014070047
+2014070048,2014070048
+2014070049,2014070049
+2014070050,2014070050
+2014070051,2014070051
+2014070052,2014070052
+2014070054,2014070054
+2014070055,2014070055
+2014070056,2014070056
+2014070057,2014070057
+2014070058,2014070058
+2014070059,2014070059
+2014070060,2010300877
+2014070061,2010303374
+2014070062,2010303130
+2014070063,2014070063
+2014070064,2014070064
+2014070065,2014070065
+2014070066,2014070066
+2014070067,2014070067
+2014070068,2014070068
+2014070069,2014070069
+2014070070,2014070070
+2014070071,2014070071
+2014070072,2014070072
+2014070073,2014070073
+2014070074,2014070074
+2014070075,2014070075
+2014070076,2014070076
+2014070077,2014070077
+2014070078,2014070078
+2014070079,2014070079
+2014070080,2014070080
+2014070081,2014070081
+2014070082,2014070082
+2014070083,2014070083
+2014070084,2014070084
+2014070086,2014070086
+2014070087,2014070087
+2014070088,2014070088
+2014070089,2014070089
+2014070090,2014070090
+2014070091,2014070091
+2014070092,2014070092
+2014070093,2014070093
+2014070094,2014070094
+2014070095,2014070095
+2014070097,2014070097
+2014070098,2014070098
+2014070099,2014070099
+2014070100,2014070100
+2014070101,2014070101
+2014070102,2014070102
+2014070103,2014070103
+2014070104,2014070104
+2014070105,2014070105
+2014070106,2014070106
+2014070107,2014070107
+2014070108,2014070108
+2014070109,2014070109
+2014070110,2010210679
+2014070111,2014070111
+2014070112,2014070112
+2014070113,2014070113
+2014070114,2014070114
+2014070115,2014070115
+2014070116,2014070116
+2014070117,2014070117
+2014070118,2014070118
+2014070119,2014070119
+2014070120,2014070120
+2014070121,2014070121
+2014070122,2014070122
+2014070123,2014070123
+2014070124,2014070124
+2014070125,2014070125
+2014070126,2014070126
+2014070127,2014070127
+2014070128,2014070128
+2014070129,2014070129
+2014070130,2014070130
+2014070131,2014070131
+2014070132,2014070132
+2014070133,2014070133
+2014070134,2014070134
+2014070135,2014070135
+2014070136,2014070136
+2014070137,2014070137
+2014070138,2014070138
+2014070139,2014070139
+2014070140,2014070140
+2014070141,2014070141
+2014070142,2014070142
+2014070143,2014070143
+2014070144,2014070144
+2014070145,2007210005
+2014070146,2014070146
+2014070147,2014070147
+2014070148,2014070148
+2014070149,2014070149
+2014070150,2014070150
+2014070151,2014070151
+2014070152,2014070152
+2014070153,2014070153
+2014070154,2014070154
+2014070155,2014070155
+2014070156,2014070156
+2014070157,2014070157
+2014070158,2014070158
+2014070159,2014070159
+2014070160,2014070160
+2014070161,2014070161
+2014070162,2014070162
+2014070163,2014070163
+2014070164,2014070164
+2014070165,2014070165
+2014070166,2014070166
+2014070167,2014070167
+2014070299,2014070299
+20140P0006,20140P0006
+20140P0009,20140P0009
+20140P0013,20140P0013
+20140P0015,20140P0015
+20140P0025,20140P0025
+20140P0026,2009202139
+20140P0031,20140P0031
+20140P0032,20140P0032
+20140P0034,1988010055
+20140P0050,2009202152
+20140P0057,20140P0057
+20140P0059,20140P0059
+20140P0061,20140P0061
+20140P0070,2007201750
+20140P0078,20140P0078
+20140P0079,20140P0079
+20140P0080,20140P0080
+20140P0081,20140P0081
+20140P0082,20140P0082
+20140P0083,066130756
+20140P0084,20140P0084
+20140P0085,20140P0085
+20140P0086,20140P0086
+20140P0087,20140P0087
+20140P0088,20140P0088
+20140P0089,20140P0089
+20140P0090,20140P0090
+20140P0091,20140P0091
+20140P0092,20140P0092
+20140P0093,20140P0093
+20140P0094,20140P0094
+20140P0095,046136927
+20140P0096,20140P0096
+20140P0097,20140P0097
+20140P0098,20140P0098
+20140P0099,20140P0099
+20140P0100,046136929
+20140P0101,2007200828
+20140P0102,20140P0102
+20140P0103,063037
+20140P0104,056136885
+20140P0105,20140P0105
+20140P0106,20140P0106
+20140P0107,20140P0107
+20140P0108,20140P0108
+20140P0109,20140P0109
+20140P0110,20140P0110
+20140P0111,20140P0111
+20140P0112,2010210071
+20140P0113,20140P0113
+20140P0114,20140P0114
+20140P0115,20140P0115
+20140P0116,20140P0116
+20140P0117,20140P0117
+20140P0118,20140P0118
+20140P0119,20140P0119
+20140P0120,20140P0120
+20140P0121,20140P0121
+20140P0122,20140P0122
+20140P0123,20140P0123
+20140P0124,20140P0124
+20140P0125,20140P0125
+20140P0126,20140P0126
+20140P0132,20140P0132
+20140P0134,20140P0134
+20140P0138,20140P0138
+20140P0139,20140P0139
+20140P0140,20140P0140
+20140P0141,20140P0141
+20140P0142,20140P0142
+20140P0143,066046175
+20140P0147,062963
+20140P0153,066187049
+20140P0155,061369
+20140P0156,2007302806
+20140P0158,20140P0158
+20140P0159,20140P0159
+20140P0160,20140P0160
+20140P0161,20140P0161
+20140P0162,20140P0162
+20140P0163,20140P0163
+20140P0164,20140P0164
+20140P0165,20140P0165
+20140P0166,20140P0166
+20140P0167,20140P0167
+20140P0168,2009210310
+20140P0169,20140P0169
+20140P0170,2009210525
+20140P0171,20140P0171
+20140P0172,20140P0172
+20140P0173,20140P0173
+20140P0174,20140P0174
+20140P0175,20140P0175
+20140P0176,20140P0176
+20140P0177,20140P0177
+20140P0178,20140P0178
+20140P0179,20140P0179
+20140P0180,2012262328
+20140P0181,20140P0181
+20140P0182,20140P0182
+20140P0183,20140P0183
+20140P0184,20140P0184
+20140P0185,20140P0185
+20140P0186,20140P0186
+20140P0187,20140P0187
+20140P0188,20140P0188
+20140P0189,20140P0189
+20140P0190,2013212364
+20140P0191,20140P0191
+20140P0192,20140P0192
+20140P0193,2008210436
+20140P0194,20140P0194
+20140P0195,20140P0195
+20140P0196,20140P0196
+20140P0197,2010210678
+20140P0198,20140P0198
+20140P0199,20140P0199
+20140P0200,20140P0200
+20140P0201,20140P0201
+20140P0202,20140P0202
+20140P0203,20140P0203
+20140P0204,2008210431
+20140P0205,20140P0205
+20140P0206,2011262415
+20140P0207,20140P0207
+20140P0208,20140P0208
+20140P0209,20140P0209
+20140P0210,20140P0210
+20140P0211,20140P0211
+20140P0212,20140P0212
+20140P0213,20140P0213
+20140P0214,20140P0214
+20140P0215,20140P0215
+20140P0216,20140P0216
+20140P0217,2011210464
+20140P0218,20140P0218
+20140P0219,20140P0219
+20140P0220,20140P0220
+20140P0221,20140P0221
+20140P0222,20140P0222
+20140P0223,20140P0223
+20140P0224,20140P0224
+20140P0227,20140P0227
+20140P0229,20140P0229
+20140P0237,00105061
+20140P0242,20140P0242
+20140P0243,20140P0243
+20140P0244,20140P0244
+20140P0245,20140P0245
+20140P0246,20140P0246
+20140P0247,20140P0247
+20140P0248,20140P0248
+20140P0249,20140P0249
+20140P0250,20140P0250
+20140P0251,20140P0251
+20140P0252,20140P0252
+20140P0253,20140P0253
+20140P0254,062273
+20140P0255,20140P0255
+20140P0256,20140P0256
+20140P0257,2009202164
+20140P0259,20140P0259
+20140P0261,20140P0261
+20140P0264,2011210081
+20140P0272,20140P0272
+20140P0274,20140P0274
+20140P0277,20140P0277
+20140P0278,20140P0278
+20140P0279,20140P0279
+20140P0280,20140P0280
+20140P0281,066036137
+20140P0283,2007201794
+20140P0284,20140P0284
+20140P0285,20140P0285
+20140P0286,20140P0286
+20140P0287,20140P0287
+20140P0288,20140P0288
+20140P0289,20140P0289
+20140P0290,20140P0290
+20140P0291,20140P0291
+20140P0292,20140P0292
+20140P0293,20140P0293
+20140P0294,20140P0294
+20140P0295,20140P0295
+20140P0296,20140P0296
+20140P0297,20140P0297
+20140P0298,20140P0298
+20140P0299,20140P0299
+20140P0300,20140P0300
+20140P0301,20140P0301
+20140P0302,2009210146
+20140P0304,20140P0304
+20140P0305,20140P0305
+20140P0307,2007210182
+20140P0309,20140P0309
+20140P0310,20140P0310
+20140P0311,20140P0311
+20140P0312,20140P0312
+20140P0313,20140P0313
+20140P0314,20140P0314
+20140P0315,20140P0315
+20140P0316,20140P0316
+20140P0317,20140P0317
+20140P0318,20140P0318
+20140P0320,20140P0320
+20140P0323,20140P0323
+20140P0324,20140P0324
+20140P0325,20140P0325
+20140P0326,2007210384
+20140P0327,20140P0327
+20140P0328,20140P0328
+20140P0329,20140P0329
+20140P0330,20140P0330
+20140P0331,20140P0331
+20140P0332,20140P0332
+20140P0333,20140P0333
+20140P0338,20140P0338
+20140P0339,20140P0339
+20140P0341,20140P0341
+20140P0342,20140P0342
+20140P0343,20140P0343
+20140P0344,20140P0344
+20140P0345,20140P0345
+20140P0346,20140P0346
+20140P0347,20140P0347
+20140P0349,20140P0349
+20140P0350,20140P0350
+20140P0353,20140P0353
+20140P0354,2010302888
+20140P0359,20140P0359
+20140P0360,20140P0360
+20140P0361,20140P0361
+20140P0363,20140P0363
+20140P0365,20140P0365
+20140P0366,20140P0366
+20140P0368,20140P0368
+20140P0371,20140P0371
+20140P0377,2013210533
+20140P0378,20140P0378
+20140P0383,20140P0383
+20140P0384,20140P0384
+20140P0385,20140P0385
+20140P0386,20140P0386
+20140P0387,20140P0387
+20140P0389,20140P0389
+20140P0390,20140P0390
+20140P0391,20140P0391
+20140P0392,20140P0392
+20140P0393,20140P0393
+20140P0394,20140P0394
+20140P0395,20140P0395
+20140P0396,20140P0396
+20140P0398,20140P0398
+20140P0401,20140P0401
+20140P0402,20140P0402
+20140P0403,20140P0403
+20140P0404,046046204
+20140P0405,20140P0405
+20140P0406,20140P0406
+20140P0407,20140P0407
+20140P0408,2009210329
+20140P0409,20140P0409
+20140P0410,2012202388
+20140P0412,20140P0412
+20140P0413,20140P0413
+20140P0414,20140P0414
+20140P0415,20140P0415
+20140P0417,20140P0417
+20140P0422,20140P0422
+20140P0423,20140P0423
+20140P0425,20140P0425
+20140P0426,20140P0426
+20140P0428,20140P0428
+20140P0430,20140P0430
+20140P0434,20140P0434
+20140P0435,20140P0435
+20140P0436,20140P0436
+20140P0437,20140P0437
+20140P0439,20140P0439
+20140P0440,20140P0440
+20140P0445,20140P0445
+20140P0446,20140P0446
+20140P0500,20140P0500
+2014100001,2014100001
+2014100002,2014100002
+2014100003,2014100003
+2014100004,2007300320
+2014100005,2007200032
+2014100006,2020010043
+2014100007,2014100007
+2014100008,2007302153
+2014100009,2011200266
+2014100010,2007300083
+2014100011,2007300529
+2014100012,2014100012
+2014100013,060583
+2014100014,2008201122
+2014100015,040625
+2014100016,040715
+2014100017,042458
+2014100018,2014100018
+2014100019,2014100019
+2014100020,2014100020
+2014100021,2014100021
+2014100022,2014100022
+2014100023,2014100023
+2014100024,2014100024
+2014100025,2014100025
+2014100026,2014100026
+2014100027,2010260657
+2014100028,066056353
+2014100029,2014100029
+2014100030,2014100030
+2014100031,2009200470
+2014100032,2014100032
+2014100033,2014100033
+2014100034,2007300998
+2014100035,060864
+2014100036,056016002
+2014100037,2014100037
+2014100038,2014100038
+2014100039,2014100039
+2014100040,2014100040
+2014100041,2014100041
+2014100042,2014100042
+2014100043,2008200635
+2014100044,2014100044
+2014100045,2014100045
+2014100046,2014100046
+2014100047,2014100047
+2014100048,2014100048
+2014100049,2007301183
+2014100050,2014100050
+2014100051,2014100051
+2014100052,2014100052
+2014100053,2014100053
+2014100054,040635
+2014100055,2014100055
+2014100056,2014100056
+2014100057,056050326
+2014100058,2014100058
+2014100059,2014100059
+2014100060,2014100060
+2014100061,2014100061
+2014100062,2014100062
+2014100063,2007301085
+2014100064,2014100064
+2014100065,2014100065
+2014100066,2008301235
+2014100067,2014100067
+2014100068,066074048
+2014100069,2008201751
+2014100070,2014100070
+2014100071,2014100071
+2014100072,2007300387
+2014100073,2014100073
+2014100074,2014100074
+2014100075,2008200957
+2014100076,2011010039
+2014100077,2014100077
+2014100078,066085021
+2014100079,2014100079
+2014100080,2010262254
+2014100081,2014100081
+2014100082,2007301928
+2014100083,2014100083
+2014100084,2007300418
+2014100085,2014100085
+2014100086,2014100086
+2014100087,2014100087
+2014100088,2014100088
+2014100089,2014100089
+2014100090,2008200973
+2014100091,2007301745
+2014100092,2007301876
+2014100093,2014100093
+2014100094,2014100094
+2014100095,2010201401
+2014100096,2014100096
+2014100097,2014100097
+2014100098,2014100098
+2014100099,066050282
+2014100100,2010201470
+2014100101,2007201731
+2014100102,2014100102
+2014100103,056095067
+2014100104,2007200314
+2014100105,2014100105
+2014100106,2014100106
+2014100107,2014100107
+2014100108,2014100108
+2014100109,2014100109
+2014100110,2014100110
+2014100111,2011201777
+2014100112,2014100112
+2014100113,2014100113
+2014100114,2008210515
+2014100115,066100578
+2014100116,2014100116
+2014100117,2014100117
+2014100118,046116714
+2014100119,2014100119
+2014100120,2014100120
+2014100121,2014100121
+2014100122,2009201767
+2014100123,2014100123
+2014100124,2014100124
+2014100125,2012100201
+2014100126,2009261895
+2014100127,2014100127
+2014100128,2014100128
+2014100129,2014100129
+2014100130,2007302679
+2014100131,2014100131
+2014100132,2014100132
+2014100133,2014100133
+2014100134,1996000036
+2014100135,2014100135
+2014100136,2014100136
+2014100137,2014100137
+2014100138,2014100138
+2014100139,2014100139
+2014100140,2009202073
+2014100141,2014100141
+2014100142,2014100142
+2014100143,2014100143
+2014100144,2006020046
+2014100145,066130765
+2014100146,2014100146
+2014100147,2014100147
+2014100148,056136859
+2014100149,2014100149
+2014100150,2014100150
+2014100151,2010202152
+2014100152,2014100152
+2014100153,2014100153
+2014100154,2014100154
+2014100155,2014100155
+2014100156,2014100156
+2014100157,2014100157
+2014100158,2007300817
+2014100159,2014100159
+2014100160,2014100160
+2014100161,2014100161
+2014100162,2014100162
+2014100164,066066409
+2014100165,2014100165
+2014100166,2007301634
+2014100167,2014100167
+2014100168,2014100168
+2014100169,2014100169
+2014100170,2014100170
+2014100171,2014100171
+2014100172,2014100172
+2014100173,2014100173
+2014100174,2014100174
+2014100175,2014100175
+2014100176,2014100176
+2014100177,2014100177
+2014100178,2008300192
+2014100179,2011200019
+2014100180,2010300123
+2014100181,2010300096
+2014100182,2010300034
+2014100183,2014100183
+2014100184,2014100184
+2014100185,2007300379
+2014100186,2010300014
+2014100187,2010300071
+2014100188,2010300382
+2014100189,2009200021
+2014100190,2010300074
+2014100191,2010300375
+2014100192,2010301290
+2014100193,2010300053
+2014100194,2010300057
+2014100195,2010300081
+2014100196,2008300232
+2014100197,2011261209
+2014100198,2008300233
+2014100199,2008300219
+2014100200,2008300290
+2014100201,2008300279
+2014100202,2008300265
+2014100203,2008300387
+2014100204,2014100204
+2014100205,2008200071
+2014100206,2011260204
+2014100207,2007301739
+2014100208,2008300070
+2014100209,2008300083
+2014100210,2008300133
+2014100211,2013200139
+2014100212,2008300151
+2014100213,2010302409
+2014100214,2007300188
+2014100215,2008300051
+2014100216,2010300093
+2014100217,2010300073
+2014100218,2014100218
+2014100219,2012200882
+2014100220,2008300662
+2014100221,2012200847
+2014100222,2009300290
+2014100223,2014100223
+2014100224,2012200242
+2014100225,2012201814
+2014100226,2008300571
+2014100227,2014100227
+2014100228,2007300548
+2014100229,060348
+2014100230,2007300038
+2014100231,2008302773
+2014100232,2014100232
+2014100233,2008300107
+2014100234,2008300561
+2014100235,2010300108
+2014100236,2008300506
+2014100237,2008300508
+2014100238,2013200260
+2014100239,2014100239
+2014100240,2008300502
+2014100241,2010300080
+2014100242,2010300018
+2014100243,2011200146
+2014100244,2008300527
+2014100245,2008300513
+2014100246,2012200277
+2014100247,060066
+2014100248,2012200305
+2014100249,2008300549
+2014100250,2009300048
+2014100251,2014100251
+2014100252,2010300012
+2014100253,2008300498
+2014100254,2009300547
+2014100255,2014100255
+2014100256,2007300494
+2014100257,2010300015
+2014100258,2008300638
+2014100259,2009301682
+2014100260,2008300626
+2014100261,2012200325
+2014100262,2008302840
+2014100263,2012200320
+2014100264,2007300771
+2014100265,2013200455
+2014100266,2011201790
+2014100267,2010300002
+2014100268,2009300823
+2014100269,2008301945
+2014100270,2008300794
+2014100271,2012200398
+2014100272,2007300716
+2014100273,2010302697
+2014100274,2014100274
+2014100275,046146940
+2014100276,2011200394
+2014100277,2010300739
+2014100278,2010300807
+2014100279,2010300783
+2014100280,2010300125
+2014100281,2010300088
+2014100282,2010300065
+2014100283,2010300092
+2014100284,2007300734
+2014100285,2010300775
+2014100286,2007200277
+2014100287,2008300835
+2014100288,2013200418
+2014100289,2010300634
+2014100290,2012200382
+2014100291,2008300774
+2014100292,2010300640
+2014100293,2010300101
+2014100294,2014100294
+2014100295,2012200454
+2014100296,2009300793
+2014100297,2014100297
+2014100298,2014100298
+2014100299,2007302479
+2014100300,2014100300
+2014100301,2011200539
+2014100302,2013200513
+2014100303,2014100303
+2014100304,2014100304
+2014100305,2014100305
+2014100306,2013200524
+2014100307,2010300894
+2014100308,2014100308
+2014100309,2014100309
+2014100310,2013200597
+2014100311,2011200599
+2014100312,2011200584
+2014100313,2010301014
+2014100314,2008301068
+2014100315,2008300013
+2014100316,2010302471
+2014100317,2011202005
+2014100318,2014100318
+2014100319,2007301005
+2014100320,2012200510
+2014100321,2013200550
+2014100322,2009301149
+2014100323,2014100323
+2014100324,2010300991
+2014100325,2014100325
+2014100326,2012201901
+2014100327,2011200601
+2014100328,2007300383
+2014100329,2014100329
+2014100330,2014100330
+2014100331,2009303334
+2014100332,2009303311
+2014100333,2014100333
+2014100334,2008300922
+2014100336,2014100336
+2014100337,2014100337
+2014100338,2012200648
+2014100339,2013200590
+2014100340,2012200633
+2014100341,2010300007
+2014100342,2014100342
+2014100343,2013200599
+2014100344,2013200598
+2014100345,2010300975
+2014100346,2014100346
+2014100347,2010300986
+2014100348,2010300935
+2014100349,2009200648
+2014100350,2012200609
+2014100351,2012200613
+2014100352,2010300946
+2014100353,2010300973
+2014100354,2012200617
+2014100355,2013200629
+2014100356,2011200673
+2014100357,2013200633
+2014100358,2014100358
+2014100359,2013200639
+2014100360,2010300984
+2014100361,2010300933
+2014100362,2010301365
+2014100363,2012200718
+2014100364,2010301267
+2014100365,2011200774
+2014100366,2014100366
+2014100367,2014100367
+2014100368,2011200793
+2014100369,2012200845
+2014100370,2013200857
+2014100371,2012200746
+2014100372,2008301275
+2014100373,2010301374
+2014100374,2011200946
+2014100375,2012200766
+2014100376,2010302512
+2014100377,2010300051
+2014100378,2014100378
+2014100379,066050287
+2014100380,2011200948
+2014100381,2012200792
+2014100382,2010301247
+2014100383,2010301385
+2014100384,2007302662
+2014100385,050905
+2014100386,2014100386
+2014100387,046110740
+2014100388,2010302756
+2014100389,2014100389
+2014100390,2011200924
+2014100391,2014100391
+2014100392,2012200860
+2014100393,2012200875
+2014100394,2010300105
+2014100395,2008302367
+2014100396,2012200856
+2014100397,2009301249
+2014100398,2014100398
+2014100399,2010300124
+2014100400,2010300118
+2014100401,051002
+2014100402,2009301266
+2014100403,2013200842
+2014100404,2013200889
+2014100405,2010302693
+2014100406,2009301189
+2014100407,2010301197
+2014100408,2014100408
+2014100409,2014100409
+2014100410,2014100410
+2014100411,2014100411
+2014100412,2003000103
+2014100413,2014100413
+2014100414,2014100414
+2014100415,2010301426
+2014100416,2014100416
+2014100417,2008301452
+2014100418,2008301431
+2014100419,2010301398
+2014100420,2008200086
+2014100421,2009301498
+2014100422,2002000023
+2014100423,2012201020
+2014100424,2010301472
+2014100425,2010301454
+2014100426,2012201013
+2014100427,2010301434
+2014100428,2010301432
+2014100429,2010200962
+2014100430,2010300107
+2014100431,2009301710
+2014100432,2008300129
+2014100433,2009301728
+2014100434,2010301563
+2014100435,2010301666
+2014100436,2009301653
+2014100437,2010300102
+2014100438,2010300009
+2014100439,2008301650
+2014100440,2008301666
+2014100441,2010301607
+2014100442,2014100442
+2014100443,2009301743
+2014100444,2014100444
+2014100445,2008301586
+2014100446,2012201128
+2014100447,2008301603
+2014100448,2009301700
+2014100449,2010301629
+2014100450,2010300129
+2014100451,2009301702
+2014100452,2014100452
+2014100453,2008301890
+2014100454,2014100454
+2014100455,2014100455
+2014100456,2009301972
+2014100457,2008301762
+2014100458,2013201219
+2014100459,2012201331
+2014100460,2013201195
+2014100461,2009300114
+2014100462,061712
+2014100463,2008300138
+2014100464,2014100464
+2014100465,2014100465
+2014100466,2008301904
+2014100467,2013201247
+2014100468,2014100468
+2014100469,2014100469
+2014100470,2008302072
+2014100471,2009300028
+2014100472,2012201320
+2014100473,2008303591
+2014100474,2007301909
+2014100475,2008301766
+2014100476,2008301861
+2014100477,2014100477
+2014100478,2012201266
+2014100479,2010301896
+2014100480,2010300134
+2014100481,2012201338
+2014100482,2014100482
+2014100483,2014100483
+2014100484,2014100484
+2014100485,2007302245
+2014100486,2012201187
+2014100487,2009302296
+2014100488,2010302238
+2014100489,2008302265
+2014100490,2008302266
+2014100491,2008302204
+2014100492,2011200461
+2014100493,2014100493
+2014100494,2008302198
+2014100495,2009302305
+2014100496,2012201434
+2014100497,2009302288
+2014100498,2009302251
+2014100499,2014100499
+2014100500,2014100500
+2014100501,2013201528
+2014100502,2008302689
+2014100503,2010302307
+2014100504,2014100504
+2014100505,2012200235
+2014100506,2014100506
+2014100507,2007302134
+2014100508,2013201472
+2014100509,2013201574
+2014100510,2012201508
+2014100511,2008302295
+2014100512,2010302132
+2014100513,2014100513
+2014100514,2007302164
+2014100515,2007302011
+2014100516,2014100516
+2014100517,2008302167
+2014100518,060661
+2014100519,2010300691
+2014100520,2008302162
+2014100521,2012201515
+2014100522,2013201471
+2014100523,2009302352
+2014100524,2011201594
+2014100525,2012201514
+2014100526,2008201174
+2014100527,2014100527
+2014100528,2014100528
+2014100529,2014100529
+2014100530,2014100530
+2014100531,2014100531
+2014100532,2014100532
+2014100533,2014100533
+2014100534,2014100534
+2014100535,2010302597
+2014100536,2014100536
+2014100537,2012201332
+2014100538,2008300071
+2014100539,2010302362
+2014100540,2012201557
+2014100541,056080437
+2014100542,046036125
+2014100543,2009300045
+2014100544,2008302161
+2014100545,2011201679
+2014100546,2014100546
+2014100547,2010302350
+2014100548,2014100548
+2014100549,2011201559
+2014100550,2008302615
+2014100551,2010302652
+2014100552,2014100552
+2014100553,2014100553
+2014100554,2008303589
+2014100555,2012201719
+2014100556,2014100556
+2014100557,2010300039
+2014100558,2010302459
+2014100559,2013200428
+2014100560,2010302489
+2014100561,2010302430
+2014100562,2014100562
+2014100563,2010303458
+2014100564,2014100564
+2014100565,2010300099
+2014100566,2010302432
+2014100567,2010302431
+2014100568,2008302467
+2014100569,2010303267
+2014100570,2010303435
+2014100571,2011201763
+2014100572,2014100572
+2014100573,2014100573
+2014100574,2014100574
+2014100575,2010302717
+2014100576,2014100576
+2014100577,2012201821
+2014100578,2012201822
+2014100579,2010302712
+2014100580,2011201933
+2014100581,2010302629
+2014100582,2014100582
+2014100583,2010302659
+2014100584,2012201852
+2014100585,2008302767
+2014100586,2010302657
+2014100587,2010302668
+2014100588,2014100588
+2014100589,2014100589
+2014100590,2012201928
+2014100591,2013201941
+2014100592,2009302955
+2014100593,2010302883
+2014100594,2014100594
+2014100595,2012201883
+2014100596,2008302947
+2014100597,2013201940
+2014100598,2008302930
+2014100599,2012201885
+2014100600,2013202634
+2014100601,2012201899
+2014100602,2010302939
+2014100603,2009302885
+2014100604,2010302842
+2014100605,2010302845
+2014100606,2014100606
+2014100607,2010302816
+2014100608,2014100608
+2014100609,2008302841
+2014100610,2010302850
+2014100611,2010302676
+2014100612,2010302788
+2014100613,2008302832
+2014100614,2010302809
+2014100615,2010302761
+2014100616,2010302796
+2014100617,2010302863
+2014100618,2008302972
+2014100619,2014100619
+2014100620,2014100620
+2014100621,2013201903
+2014100622,2010302874
+2014100623,2008303062
+2014100624,2008301915
+2014100625,2011202072
+2014100626,2013202410
+2014100627,2012202058
+2014100628,2014100628
+2014100629,2013100185
+2014100630,2014100630
+2014100631,2014100631
+2014100632,2014100632
+2014100633,2011202085
+2014100634,2014100634
+2014100635,2013202096
+2014100636,2008303119
+2014100637,2008303177
+2014100638,2008303077
+2014100639,2007201794
+2014100640,2008303090
+2014100641,2012202377
+2014100642,2014100642
+2014100643,2014100643
+2014100644,063112
+2014100645,2007303030
+2014100646,2010303542
+2014100647,2010303538
+2014100648,2009303310
+2014100649,2013202631
+2014100650,2014100650
+2014140001,2014140001
+2014150001,041636
+2014150002,2014150002
+2014150003,2014150003
+2014150004,2014150004
+2014150005,040206
+2014150006,2014150006
+2014150007,2014150007
+2014150008,2014150008
+2014150009,041796
+2014150010,2014150010
+2014150011,2014150011
+2014150012,2014150012
+2014150013,2014150013
+2014150014,2014150014
+2014150015,2011250129
+2014150016,2011250150
+2014150017,2014150017
+2014150018,2014150018
+2014150019,2014150019
+2014200001,2010300350
+2014200002,2014200002
+2014200003,2010301055
+2014200004,2008300304
+2014200005,2010300271
+2014200006,2010300381
+2014200007,2010300394
+2014200008,2010300166
+2014200009,2007300365
+2014200010,2010300218
+2014200011,2010300185
+2014200012,2010300242
+2014200013,2014200013
+2014200014,2010300397
+2014200015,2010300369
+2014200016,2010300003
+2014200017,2010300033
+2014200018,2010300265
+2014200019,2014200019
+2014200020,2008302442
+2014200021,2010300047
+2014200022,2010300205
+2014200023,2014200023
+2014200024,2014200024
+2014200025,2010300268
+2014200026,2010300210
+2014200027,2010300361
+2014200028,2010300284
+2014200029,2010300198
+2014200030,2010300213
+2014200031,2010302902
+2014200032,2010300005
+2014200033,2010300046
+2014200034,2010300376
+2014200035,2010300338
+2014200036,2010300248
+2014200037,2010300193
+2014200038,2010300179
+2014200039,2010300167
+2014200040,2010300030
+2014200041,2010300970
+2014200042,2010300377
+2014200043,2010300261
+2014200044,2010300139
+2014200045,2014200045
+2014200046,2010300240
+2014200047,2009300170
+2014200048,2010300228
+2014200049,2014200049
+2014200050,2010300262
+2014200051,2010300385
+2014200052,2010300237
+2014200053,2010300362
+2014200054,2010300011
+2014200055,2010300221
+2014200056,2010300328
+2014200057,2010301344
+2014200058,2010302703
+2014200059,2010300341
+2014200060,2010300371
+2014200061,2014200061
+2014200062,2010300138
+2014200063,2010300181
+2014200064,2010300220
+2014200065,2010300184
+2014200066,2014200066
+2014200067,2014200067
+2014200068,2014200068
+2014200069,2010300192
+2014200070,2010301685
+2014200071,2010300326
+2014200072,2014200072
+2014200073,2014200073
+2014200074,2014200074
+2014200075,2014200075
+2014200076,2010300351
+2014200077,2014200077
+2014200078,2010300267
+2014200079,2010300401
+2014200080,2010300206
+2014200081,2010300318
+2014200082,2010300310
+2014200083,2010300299
+2014200084,2009300444
+2014200085,2010300315
+2014200086,2014200086
+2014200087,2010300297
+2014200088,2010302771
+2014200089,2010300067
+2014200090,2010300069
+2014200091,2014200091
+2014200092,2014200092
+2014200093,2010300151
+2014200094,2010300254
+2014200095,2010300117
+2014200096,2010300292
+2014200097,2009302915
+2014200098,2010300346
+2014200099,2010300195
+2014200100,2014200100
+2014200101,2014200101
+2014200102,2014200102
+2014200103,2010300272
+2014200104,2014200104
+2014200105,2010300214
+2014200106,2014200106
+2014200107,2014200107
+2014200108,2014200108
+2014200109,2010301153
+2014200110,2014200110
+2014200111,2014200111
+2014200112,2014200112
+2014200113,2010300145
+2014200114,2010302952
+2014200115,2010300183
+2014200116,2014200116
+2014200117,2014200117
+2014200118,2014200118
+2014200119,2014200119
+2014200120,2010300353
+2014200121,2010300164
+2014200122,2014200122
+2014200123,2014200123
+2014200124,2014200124
+2014200125,2014200125
+2014200126,2010300455
+2014200127,2010300232
+2014200128,2010300290
+2014200129,2010300370
+2014200130,2014200130
+2014200131,2014200131
+2014200132,2014200132
+2014200133,2010300270
+2014200134,2014200134
+2014200135,2010300160
+2014200136,2014200136
+2014200137,2014200137
+2014200138,2010301428
+2014200139,2010300356
+2014200140,2010300114
+2014200141,2010300060
+2014200142,2010300337
+2014200143,2010300345
+2014200144,2010300327
+2014200145,2010300367
+2014200146,2010300404
+2014200214,2008300642
+2014200215,2010300555
+2014200216,2014200216
+2014200217,2014200217
+2014200218,2010300502
+2014200219,2014200219
+2014200220,2014200220
+2014200221,2010300579
+2014200222,2014200222
+2014200223,2010300029
+2014200224,2010300507
+2014200225,2014200225
+2014200226,2010300064
+2014200227,2014200227
+2014200228,2010300004
+2014200229,2010300478
+2014200230,2014200230
+2014200231,2010300131
+2014200232,2010300020
+2014200233,2010300054
+2014200234,2014200234
+2014200235,2010300497
+2014200236,2010300489
+2014200237,2010300508
+2014200238,2014200238
+2014200239,2010300084
+2014200240,2010300048
+2014200241,2010300035
+2014200242,2010300116
+2014200243,2014200243
+2014200244,2014200244
+2014200245,2010300503
+2014200246,2008302178
+2014200247,061894
+2014200248,2010300135
+2014200249,2010300032
+2014200250,2014200250
+2014200251,2009300523
+2014200252,2010301416
+2014200253,2010301494
+2014200254,2010300599
+2014200255,2010301767
+2014200256,2010300604
+2014200257,2010300068
+2014200258,2010300456
+2014200259,2010300491
+2014200260,2010300423
+2014200261,2014200261
+2014200262,2014200262
+2014200263,2009300548
+2014200264,2010300451
+2014200265,2010300127
+2014200266,2010300045
+2014200267,2014200267
+2014200268,2014200268
+2014200269,2010300121
+2014200270,2010300594
+2014200271,2010300578
+2014200272,2014200272
+2014200273,2010300574
+2014200274,2010300589
+2014200275,2010300466
+2014200276,2010300052
+2014200277,2014200277
+2014200278,2010302413
+2014200279,2010300469
+2014200280,2010300437
+2014200281,2010300448
+2014200282,2010300441
+2014200283,2014200283
+2014200284,2014200284
+2014200285,2010300528
+2014200286,2014200286
+2014200287,2010300532
+2014200288,2010300557
+2014200289,2010301004
+2014200290,2010302968
+2014200291,2014200291
+2014200292,2014200292
+2014200293,2010301296
+2014200294,2008300634
+2014200295,2008300614
+2014200296,2010300544
+2014200297,2014200297
+2014200298,2010300551
+2014200299,2010300548
+2014200300,2010300834
+2014200301,2010302688
+2014200302,2010300540
+2014200303,2010302836
+2014200304,2010300526
+2014200305,2010300530
+2014200306,2014200306
+2014200307,2013240086
+2014200348,2010300794
+2014200349,2010300799
+2014200350,2010300813
+2014200351,2010300795
+2014200352,2010300808
+2014200353,2010300791
+2014200354,2014200354
+2014200355,2010300671
+2014200356,2014200356
+2014200357,2010300617
+2014200358,2010300755
+2014200359,2010300629
+2014200360,2010300613
+2014200361,2010300626
+2014200362,2014200362
+2014200363,2014200363
+2014200364,2014200364
+2014200365,2010300716
+2014200366,2014200366
+2014200367,2010300722
+2014200368,2010300085
+2014200369,2010300748
+2014200370,2014200370
+2014200371,2010301986
+2014200372,2010300703
+2014200373,2010300702
+2014200374,2014200374
+2014200375,2010300759
+2014200376,2010300724
+2014200377,2014200377
+2014200378,2014200378
+2014200379,2010300719
+2014200380,2014200380
+2014200381,2014200381
+2014200382,2014200382
+2014200383,2014200383
+2014200384,2014200384
+2014200385,2014200385
+2014200386,2014200386
+2014200387,2010300686
+2014200388,2010300679
+2014200389,2010300130
+2014200390,2010300692
+2014200391,2010300693
+2014200392,2014200392
+2014200393,2010300756
+2014200394,2010300714
+2014200395,2010300607
+2014200396,2010300656
+2014200397,2010300660
+2014200398,2010301751
+2014200399,2010301768
+2014200400,2014200400
+2014200401,2010300804
+2014200402,2009300894
+2014200403,2010300766
+2014200404,2010300072
+2014200405,2010300786
+2014200406,2010300763
+2014200407,2010300761
+2014200408,2010300128
+2014200409,2010300788
+2014200410,2014200410
+2014200411,2010300752
+2014200412,2014200412
+2014200413,2014200413
+2014200414,2014200414
+2014200415,2010300758
+2014200416,2010300707
+2014200417,2010300647
+2014200418,2014200418
+2014200419,2014200419
+2014200420,2010300727
+2014200421,2010300089
+2014200422,2014200422
+2014200423,2008300701
+2014200424,2014200424
+2014200425,2010300621
+2014200426,2010300615
+2014200427,2010300711
+2014200428,2010300631
+2014200429,2014200429
+2014200430,2014200430
+2014200431,2010300746
+2014200432,2014200432
+2014200433,2010300637
+2014200434,2014200434
+2014200435,2014200435
+2014200436,2014200436
+2014200437,2010300708
+2014200438,2014200438
+2014200439,2014200439
+2014200440,2010300608
+2014200441,2009300771
+2014200442,2010300664
+2014200443,2014200443
+2014200444,2014200444
+2014200445,2014200445
+2014200446,2014200446
+2014200447,2010300802
+2014200448,2010300798
+2014200449,2010300789
+2014200450,2010300811
+2014200451,2010300792
+2014200452,2010300803
+2014200496,2014200496
+2014200497,2010300825
+2014200498,2010301005
+2014200499,2014200499
+2014200500,2014200500
+2014200501,2014200501
+2014200502,2014200502
+2014200503,2014200503
+2014200504,2014200504
+2014200505,2014200505
+2014200506,2014200506
+2014200507,2014200507
+2014200508,2014200508
+2014200509,2014200509
+2014200510,2014200510
+2014200511,2014200511
+2014200512,2010300843
+2014200513,2010301008
+2014200514,2014200514
+2014200515,2014200515
+2014200516,2010300887
+2014200517,2014200517
+2014200518,2014200518
+2014200519,2014200519
+2014200520,2014200520
+2014200521,2010300110
+2014200522,2010300086
+2014200523,2010300871
+2014200524,2014200524
+2014200525,2014200525
+2014200526,2014200526
+2014200527,2014200527
+2014200528,2010300056
+2014200529,2010300819
+2014200530,2010300827
+2014200531,2010300831
+2014200532,2014200532
+2014200533,2014200533
+2014200534,2014200534
+2014200535,2014200535
+2014200536,2014200536
+2014200537,2014200537
+2014200538,2014200538
+2014200539,2009301142
+2014200540,2014200540
+2014200541,2009301075
+2014200542,2014200542
+2014200543,2014200543
+2014200544,2010300815
+2014200545,2014200545
+2014200546,2014200546
+2014200547,2014200547
+2014200548,2014200548
+2014200549,2014200549
+2014200550,2014200550
+2014200551,2014200551
+2014200552,2010301011
+2014200553,2014200553
+2014200554,2014200554
+2014200555,2014200555
+2014200556,2010300989
+2014200557,2010300836
+2014200558,2010300823
+2014200559,2014200559
+2014200560,2014200560
+2014200561,2014200561
+2014200562,2014200562
+2014200563,2014200563
+2014200564,2014200564
+2014200565,2010301009
+2014200566,2014200566
+2014200567,2014200567
+2014200568,2014200568
+2014200569,2014200569
+2014200570,2014200570
+2014200571,2014200571
+2014200572,2014200572
+2014200573,2010300818
+2014200574,2010300875
+2014200575,2014200575
+2014200576,2014200576
+2014200577,2014200577
+2014200578,2014200578
+2014200579,2010300944
+2014200580,2014200580
+2014200581,2014200581
+2014200582,2014200582
+2014200583,2010301001
+2014200584,2014200584
+2014200585,2014200585
+2014200586,2014200586
+2014200587,2014200587
+2014200588,2014200588
+2014200589,2014200589
+2014200590,2014200590
+2014200591,2014200591
+2014200592,2014200592
+2014200593,2014200593
+2014200594,2014200594
+2014200595,2014200595
+2014200596,2010300910
+2014200597,2010300908
+2014200598,2014200598
+2014200599,2010300936
+2014200600,2014200600
+2014200601,2014200601
+2014200602,2014200602
+2014200603,2014200603
+2014200604,2010300855
+2014200605,2010300979
+2014200606,2009301026
+2014200607,2014200607
+2014200608,2014200608
+2014200609,2014200609
+2014200610,2014200610
+2014200611,2014200611
+2014200612,2014200612
+2014200613,2014200613
+2014200614,2014200614
+2014200615,2014200615
+2014200616,2014200616
+2014200617,2014200617
+2014200618,2014200618
+2014200619,2014200619
+2014200620,2014200620
+2014200621,2010300930
+2014200622,2014200622
+2014200623,2014200623
+2014200624,2014200624
+2014200625,2014200625
+2014200626,2014200626
+2014200627,2014200627
+2014200628,2014200628
+2014200629,2014200629
+2014200630,2014200630
+2014200631,2014200631
+2014200632,2014200632
+2014200633,2014200633
+2014200634,2014200634
+2014200635,2014200635
+2014200636,2010300835
+2014200711,2010300440
+2014200712,2014200712
+2014200713,2014200713
+2014200714,2014200714
+2014200715,2010301278
+2014200716,2010301255
+2014200717,2014200717
+2014200718,2014200718
+2014200719,2014200719
+2014200720,2014200720
+2014200721,2014200721
+2014200722,2010301178
+2014200723,2014200723
+2014200724,2014200724
+2014200725,2014200725
+2014200726,2014200726
+2014200727,2009301459
+2014200728,2014200728
+2014200729,2014200729
+2014200730,2014200730
+2014200731,2014200731
+2014200732,2014200732
+2014200733,2010301288
+2014200734,2010301332
+2014200735,2010301381
+2014200736,2010301095
+2014200737,2014200737
+2014200738,2013240089
+2014200739,2014200739
+2014200740,2014200740
+2014200741,2014200741
+2014200742,2014200742
+2014200743,2014200743
+2014200744,2014200744
+2014200745,2014200745
+2014200746,2014200746
+2014200747,2010301234
+2014200748,2010301355
+2014200749,2014200749
+2014200750,2014200750
+2014200751,2014200751
+2014200752,2014200752
+2014200753,2014200753
+2014200754,2014200754
+2014200755,2010301341
+2014200756,2014200756
+2014200757,2010301211
+2014200758,2014200758
+2014200759,2014200759
+2014200760,2010301262
+2014200761,2010301303
+2014200762,2010301166
+2014200763,2010301232
+2014200764,2008301277
+2014200765,2010301155
+2014200766,2014200766
+2014200767,2014200767
+2014200768,2014200768
+2014200769,2014200769
+2014200770,2010301331
+2014200771,2010301212
+2014200772,2014200772
+2014200773,2010301163
+2014200774,2010301238
+2014200775,2014200775
+2014200776,2014200776
+2014200777,2014200777
+2014200778,2010301271
+2014200779,2014200779
+2014200780,2010301226
+2014200781,2010301285
+2014200782,2014200782
+2014200783,2010301293
+2014200784,2014200784
+2014200785,2010301359
+2014200786,2014200786
+2014200787,2010301252
+2014200788,2014200788
+2014200789,2014200789
+2014200790,2010301243
+2014200791,2014200791
+2014200792,2010302768
+2014200793,2010301364
+2014200794,2014200794
+2014200795,2014200795
+2014200796,2014200796
+2014200797,2014200797
+2014200798,2014200798
+2014200799,2010302609
+2014200800,2014200800
+2014200801,2014200801
+2014200802,2014200802
+2014200803,2010301314
+2014200804,2014200804
+2014200805,2014200805
+2014200806,2014200806
+2014200807,2010301328
+2014200808,2014200808
+2014200809,2014200809
+2014200810,2014200810
+2014200811,2014200811
+2014200812,2014200812
+2014200813,2014200813
+2014200814,2014200814
+2014200815,2010301116
+2014200816,2014200816
+2014200817,2014200817
+2014200818,2014200818
+2014200819,2014200819
+2014200820,2014200820
+2014200821,2014200821
+2014200822,2014200822
+2014200823,2014200823
+2014200824,2014200824
+2014200825,2014200825
+2014200826,2014200826
+2014200827,2014200827
+2014200828,2014200828
+2014200829,2010301108
+2014200830,2014200830
+2014200831,2014200831
+2014200832,2014200832
+2014200833,2014200833
+2014200834,2014200834
+2014200835,2014200835
+2014200836,2014200836
+2014200837,2014200837
+2014200838,2014200838
+2014200839,2014200839
+2014200840,2014200840
+2014200841,2014200841
+2014200842,2010301111
+2014200843,2014200843
+2014200844,2010301059
+2014200845,2014200845
+2014200846,2014200846
+2014200847,2014200847
+2014200848,2014200848
+2014200849,2010301289
+2014200850,2010301076
+2014200851,2014200851
+2014200852,2010301096
+2014200853,2014200853
+2014200854,2014200854
+2014200855,2014200855
+2014200856,2014200856
+2014200857,2014200857
+2014200858,2014200858
+2014200859,2014200859
+2014200860,2010301297
+2014200861,2010301085
+2014200862,2010301347
+2014200863,2010301120
+2014200864,2014200864
+2014200865,2014200865
+2014200866,2010301058
+2014200867,2014200867
+2014200868,2014200868
+2014200869,2009301333
+2014200870,2014200870
+2014200871,2010300104
+2014200872,2010300106
+2014200873,2014200873
+2014200874,2014200874
+2014200875,2010301121
+2014200876,2014200876
+2014200877,2014200877
+2014200878,2014200878
+2014200879,2014200879
+2014200880,2014200880
+2014200881,2010301131
+2014200882,2014200882
+2014200883,2014200883
+2014200884,2014200884
+2014200885,2010301127
+2014200886,2010301128
+2014200887,2014200887
+2014200968,2014200968
+2014200969,2014200969
+2014200970,2014200970
+2014200971,2014200971
+2014200972,2010301405
+2014200973,2009301245
+2014200974,2014200974
+2014200975,2014200975
+2014200976,2014200976
+2014200977,2014200977
+2014200978,2010301401
+2014200979,2010301411
+2014200980,2010301399
+2014200981,2010301433
+2014200982,2010301425
+2014200983,2010301437
+2014200984,2010301404
+2014200985,2010301421
+2014200986,2014200986
+2014200987,2010301393
+2014200988,2014200988
+2014200989,2014200989
+2014200990,2014200990
+2014200991,2010301435
+2014200992,2014200992
+2014200993,2014200993
+2014200994,2014200994
+2014200995,2010301400
+2014200996,2014200996
+2014200997,2014200997
+2014200998,2014200998
+2014200999,2014200999
+2014201000,2010301431
+2014201001,2010301402
+2014201002,2010301409
+2014201003,2014201003
+2014201004,2014201004
+2014201005,2014201005
+2014201006,2014201006
+2014201007,2014201007
+2014201008,2008301522
+2014201009,2010301427
+2014201010,2010301396
+2014201011,2014201011
+2014201012,2014201012
+2014201013,2014201013
+2014201014,2010301315
+2014201015,2009301607
+2014201016,2014201016
+2014201017,2010301451
+2014201018,2014201018
+2014201019,2010301462
+2014201020,2010301480
+2014201021,2010301485
+2014201022,2014201022
+2014201043,2010302536
+2014201044,2010301736
+2014201045,2010301665
+2014201046,2010301674
+2014201047,2014201047
+2014201048,2010301689
+2014201049,2010301694
+2014201050,2014201050
+2014201051,2010301701
+2014201052,2014201052
+2014201053,2014201053
+2014201054,2010301552
+2014201055,2010301649
+2014201056,2010301554
+2014201057,2014201057
+2014201058,2010301663
+2014201059,2010301669
+2014201060,2010301731
+2014201061,2010301733
+2014201062,2010301748
+2014201063,2010300087
+2014201064,2010301556
+2014201065,2014201065
+2014201066,2014201066
+2014201067,2010301618
+2014201068,2010301659
+2014201069,2010301609
+2014201070,2010301654
+2014201071,2014201071
+2014201072,2014201072
+2014201073,2010301620
+2014201074,2014201074
+2014201075,2010300042
+2014201076,2010301608
+2014201077,2014201077
+2014201078,2014201078
+2014201079,2014201079
+2014201080,2014201080
+2014201081,2014201081
+2014201082,2010301747
+2014201083,2010301710
+2014201084,2010301734
+2014201085,2010301720
+2014201086,2010301724
+2014201087,2014201087
+2014201088,2010301633
+2014201089,2010301590
+2014201090,2010301611
+2014201091,2014201091
+2014201092,2009301725
+2014201093,2014201093
+2014201094,2010300021
+2014201095,2014201095
+2014201096,2014201096
+2014201097,2014201097
+2014201098,2010301714
+2014201099,2010301727
+2014201100,2010301732
+2014201101,2010301578
+2014201102,2010301558
+2014201103,2010301645
+2014201104,2014201104
+2014201105,2010300133
+2014201106,2014201106
+2014201107,2010300023
+2014201108,2010301597
+2014201109,2010301738
+2014201110,2014201110
+2014201111,2010301603
+2014201112,2010300091
+2014201113,2010301722
+2014201114,2010301610
+2014201115,2010301651
+2014201116,2014201116
+2014201117,2010301660
+2014201118,2010301636
+2014201119,2014201119
+2014201120,2010301619
+2014201121,2010300024
+2014201168,2014201168
+2014201169,2014201169
+2014201170,2014201170
+2014201171,2014201171
+2014201172,2010301775
+2014201173,2010301777
+2014201174,2014201174
+2014201175,2014201175
+2014201176,2014201176
+2014201177,2014201177
+2014201178,2014201178
+2014201179,2013240094
+2014201180,2013240100
+2014201181,2013240095
+2014201182,2010301782
+2014201183,2009301907
+2014201184,2014201184
+2014201185,2010301785
+2014201186,2013240092
+2014201187,2010301791
+2014201188,2014201188
+2014201189,2013240082
+2014201190,2014201190
+2014201191,2014201191
+2014201192,2014201192
+2014201193,2014201193
+2014201194,2014201194
+2014201195,2014201195
+2014201196,2014201196
+2014201197,2014201197
+2014201198,2014201198
+2014201199,2010302635
+2014201200,2014201200
+2014201201,2014201201
+2014201202,2010301841
+2014201203,2014201203
+2014201204,2010301881
+2014201205,2010302044
+2014201206,2010302047
+2014201207,2010301971
+2014201208,2010301813
+2014201209,2014201209
+2014201210,2010301849
+2014201211,2010302034
+2014201212,2010301827
+2014201213,2010301889
+2014201214,2010301856
+2014201215,2010301794
+2014201216,2010301840
+2014201217,2008301886
+2014201218,2010302045
+2014201219,2010302055
+2014201220,2014201220
+2014201221,2014201221
+2014201222,2014201222
+2014201223,2014201223
+2014201224,2009302072
+2014201225,2010302022
+2014201226,2014201226
+2014201227,2014201227
+2014201228,2014201228
+2014201229,2014201229
+2014201230,2010302012
+2014201231,2014201231
+2014201232,2014201232
+2014201233,2010302000
+2014201234,2010301998
+2014201235,2010302027
+2014201236,2010301957
+2014201237,2014201237
+2014201238,2010301861
+2014201239,2010301952
+2014201240,2010301974
+2014201241,2010302008
+2014201242,2010301967
+2014201243,2014201243
+2014201244,2014201244
+2014201245,2014201245
+2014201246,2010301882
+2014201247,2014201247
+2014201248,2014201248
+2014201249,2010302029
+2014201250,2010302002
+2014201251,2010301953
+2014201252,2014201252
+2014201253,2010301771
+2014201254,2010302003
+2014201255,2010302016
+2014201256,2010301857
+2014201257,2014201257
+2014201258,2014201258
+2014201259,2010302025
+2014201260,2010301961
+2014201261,2010303489
+2014201262,2014201262
+2014201263,2009301860
+2014201264,2010301948
+2014201265,2010301969
+2014201266,051984
+2014201267,2014201267
+2014201268,2010301851
+2014201269,2014201269
+2014201270,2014201270
+2014201271,2014201271
+2014201272,2014201272
+2014201273,2013240104
+2014201274,2010301819
+2014201275,2014201275
+2014201276,2014201276
+2014201277,2014201277
+2014201278,2010301809
+2014201279,2014201279
+2014201280,2010301832
+2014201281,2010301795
+2014201282,2010301805
+2014201283,2010301814
+2014201284,2014201284
+2014201285,2013240101
+2014201286,2013240106
+2014201287,2014201287
+2014201288,2010301822
+2014201289,2010301848
+2014201290,2010301826
+2014201291,2014201291
+2014201292,2010301844
+2014201293,2014201293
+2014201294,2010301995
+2014201295,2010301847
+2014201296,2013240087
+2014201297,2014201297
+2014201298,2013240102
+2014201299,2013240098
+2014201300,2010300416
+2014201301,2010301862
+2014201302,2013240103
+2014201303,2014201303
+2014201304,2014201304
+2014201305,2010301801
+2014201306,2014201306
+2014201307,2013240083
+2014201308,2014201308
+2014201309,2014201309
+2014201310,2014201310
+2014201311,2010301838
+2014201312,2014201312
+2014201313,2010300112
+2014201314,2014201314
+2014201315,2014201315
+2014201316,2014201316
+2014201317,2010301935
+2014201318,2010302578
+2014201319,2010301924
+2014201320,2010301941
+2014201321,2010301920
+2014201322,2010302018
+2014201323,2010301930
+2014201324,2010301919
+2014201325,2014201325
+2014201326,2010300113
+2014201327,2010300137
+2014201328,2014201328
+2014201329,2014201329
+2014201330,2010301926
+2014201331,2010301923
+2014201332,2009301900
+2014201333,2010300006
+2014201334,2014201334
+2014201403,2010302262
+2014201404,2010302373
+2014201405,2009302317
+2014201406,2010302319
+2014201407,2010302168
+2014201408,2010302306
+2014201409,2010302305
+2014201410,2010302321
+2014201411,2010302313
+2014201412,2010302402
+2014201413,2008302387
+2014201414,2014201414
+2014201415,2014201415
+2014201416,2014201416
+2014201417,2014201417
+2014201418,2010300036
+2014201419,2010300040
+2014201420,2010300126
+2014201421,2010302203
+2014201422,2010300028
+2014201423,2010302231
+2014201424,2010302268
+2014201425,2010302154
+2014201426,2010302229
+2014201427,2010302241
+2014201428,2014201428
+2014201429,2010302228
+2014201430,2010302363
+2014201431,2010302292
+2014201432,2010302278
+2014201433,2010302239
+2014201434,2009302278
+2014201435,2010302747
+2014201436,2010302214
+2014201437,2014201437
+2014201438,2010302255
+2014201439,2010302110
+2014201440,2014201440
+2014201441,2014201441
+2014201442,2010302249
+2014201443,2010302273
+2014201444,2010302184
+2014201445,2010302309
+2014201446,2010302206
+2014201447,2009302243
+2014201448,2010302209
+2014201449,2010302216
+2014201450,2010302272
+2014201451,2010302261
+2014201452,2010302244
+2014201453,2010302295
+2014201454,2010302226
+2014201455,2010302274
+2014201456,2010302287
+2014201457,2010302251
+2014201458,2010302280
+2014201459,2009302244
+2014201460,2014201460
+2014201461,2010302167
+2014201462,2014201462
+2014201463,2014201463
+2014201464,2010302310
+2014201465,2010302129
+2014201466,2014201466
+2014201467,2010302130
+2014201468,2010302057
+2014201469,2010300078
+2014201470,2014201470
+2014201471,2010302112
+2014201472,2010302093
+2014201473,2014201473
+2014201474,2010302064
+2014201475,2014201475
+2014201476,2010300098
+2014201477,2010300132
+2014201478,2010300055
+2014201479,2014201479
+2014201480,2010302156
+2014201481,2014201481
+2014201482,2014201482
+2014201483,2014201483
+2014201484,2010302090
+2014201485,2014201485
+2014201486,2010301725
+2014201487,2009302154
+2014201488,2010302158
+2014201489,2010302060
+2014201490,2010302140
+2014201491,2010302151
+2014201492,2010302095
+2014201493,2014201493
+2014201494,2014201494
+2014201495,2014201495
+2014201496,2014201496
+2014201497,2014201497
+2014201498,2010300026
+2014201499,2010300115
+2014201500,2010300017
+2014201501,2010300094
+2014201502,2014201502
+2014201503,2014201503
+2014201504,2014201504
+2014201505,2014201505
+2014201506,2014201506
+2014201507,2014201507
+2014201508,2014201508
+2014201509,2010302063
+2014201510,2014201510
+2014201511,2014201511
+2014201512,2014201512
+2014201513,2014201513
+2014201514,2014201514
+2014201515,2014201515
+2014201516,2014201516
+2014201517,2014201517
+2014201518,2014201518
+2014201519,2014201519
+2014201520,2010302131
+2014201521,2014201521
+2014201522,2014201522
+2014201523,2014201523
+2014201524,2014201524
+2014201525,2014201525
+2014201526,2014201526
+2014201527,2014201527
+2014201528,2014201528
+2014201529,2014201529
+2014201530,2014201530
+2014201531,2014201531
+2014201532,2010302339
+2014201533,2010302364
+2014201534,2010302181
+2014201535,2014201535
+2014201536,2014201536
+2014201537,2014201537
+2014201538,2014201538
+2014201539,2010302197
+2014201540,2014201540
+2014201541,2014201541
+2014201542,2014201542
+2014201543,2010302346
+2014201544,2014201544
+2014201545,2014201545
+2014201546,2014201546
+2014201547,2014201547
+2014201548,2014201548
+2014201549,2009302422
+2014201550,2014201550
+2014201551,2014201551
+2014201552,2010302176
+2014201553,2008302378
+2014201554,2014201554
+2014201555,2014201555
+2014201556,2014201556
+2014201557,2008302667
+2014201558,2010302098
+2014201559,2014201559
+2014201560,2014201560
+2014201561,2010300931
+2014201562,2010302105
+2014201563,2010302303
+2014201564,2013240084
+2014201565,2010302675
+2014201566,2010302352
+2014201567,2014201567
+2014201568,2013240107
+2014201569,2014201569
+2014201570,2014201570
+2014201571,2010302360
+2014201572,2014201572
+2014201573,2014201573
+2014201574,2010301216
+2014201575,2014201575
+2014201576,2014201576
+2014201577,2010302594
+2014201578,2013240105
+2014201579,2014201579
+2014201580,2014201580
+2014201658,2014201658
+2014201659,2010302423
+2014201660,2010303513
+2014201661,2014201661
+2014201662,2010302518
+2014201663,2014201663
+2014201664,2010303524
+2014201665,2014201665
+2014201666,2014201666
+2014201667,2010302477
+2014201668,2010302602
+2014201669,2010303505
+2014201670,2014201670
+2014201671,2014201671
+2014201672,2014201672
+2014201673,2014201673
+2014201674,2014201674
+2014201675,2014201675
+2014201676,2010302538
+2014201677,2010303296
+2014201678,2014201678
+2014201679,2014201679
+2014201680,2014201680
+2014201681,2010302558
+2014201682,2011310003
+2014201683,2014201683
+2014201684,2010302507
+2014201685,2010302465
+2014201686,2010302590
+2014201687,2014201687
+2014201688,2013240110
+2014201689,2014201689
+2014201690,2013240121
+2014201691,2009303475
+2014201692,2010302460
+2014201693,2010303298
+2014201694,2010300103
+2014201695,2014201695
+2014201696,2014201696
+2014201697,2014201697
+2014201698,2014201698
+2014201699,2014201699
+2014201700,2014201700
+2014201701,2014201701
+2014201702,2014201702
+2014201703,2014201703
+2014201704,2014201704
+2014201705,2010302572
+2014201706,2010303294
+2014201707,2010302499
+2014201708,2014201708
+2014201709,2014201709
+2014201710,2010303283
+2014201711,2010303046
+2014201712,2010302461
+2014201713,2010302732
+2014201714,2010303323
+2014201715,2014201715
+2014201716,2014201716
+2014201717,2014201717
+2014201718,2010302506
+2014201719,2014201719
+2014201720,2014201720
+2014201721,2010303325
+2014201722,2010303271
+2014201723,2010302478
+2014201724,2014201724
+2014201725,2010303268
+2014201726,2014201726
+2014201727,2014201727
+2014201728,2010302510
+2014201729,2010300097
+2014201730,2014201730
+2014201731,2010303347
+2014201732,2014201732
+2014201733,2014201733
+2014201734,2014201734
+2014201735,2014201735
+2014201736,2013240118
+2014201737,2013240115
+2014201738,2013240117
+2014201739,2013240112
+2014201740,2014201740
+2014201741,2010303265
+2014201742,2009302616
+2014201743,2010302485
+2014201744,2013240113
+2014201745,2010303430
+2014201746,2014201746
+2014201747,2010303433
+2014201748,2014201748
+2014201749,2014201749
+2014201750,2010300090
+2014201751,2010302557
+2014201752,2009303412
+2014201753,2014201753
+2014201754,2014201754
+2014201755,2014201755
+2014201756,2010303308
+2014201757,2010302549
+2014201758,2010302403
+2014201759,2010303415
+2014201760,2014201760
+2014201761,2010302480
+2014201762,2014201762
+2014201763,2010303373
+2014201764,2014201764
+2014201765,2014201765
+2014201766,2010302404
+2014201767,2014201767
+2014201768,2013212485
+2014201769,2010302444
+2014201770,2010303390
+2014201771,2013240097
+2014201772,2014201772
+2014201773,2010302705
+2014201774,2010303343
+2014201775,2010302498
+2014201776,2010302394
+2014201777,2014201777
+2014201778,2010303259
+2014201779,2010302435
+2014201780,2010302470
+2014201781,2014201781
+2014201782,2014201782
+2014201783,2014201783
+2014201784,2014201784
+2014201785,2014201785
+2014201786,2013240108
+2014201787,2013240120
+2014201788,2013240090
+2014201789,2014201789
+2014201790,2010303302
+2014201791,2014201791
+2014201792,2013240116
+2014201839,2014201839
+2014201840,2014201840
+2014201841,2014201841
+2014201842,2014201842
+2014201843,2014201843
+2014201844,2014201844
+2014201845,2014201845
+2014201846,2014201846
+2014201847,2014201847
+2014201848,2014201848
+2014201849,2014201849
+2014201850,2014201850
+2014201851,2014201851
+2014201852,2008302677
+2014201853,2014201853
+2014201854,2014201854
+2014201855,2010302710
+2014201856,2014201856
+2014201857,2014201857
+2014201858,2014201858
+2014201859,2014201859
+2014201860,2010302653
+2014201861,2014201861
+2014201862,2014201862
+2014201863,2014201863
+2014201864,2014201864
+2014201865,2014201865
+2014201866,2010302690
+2014201867,2014201867
+2014201868,2014201868
+2014201869,2014201869
+2014201870,2010302667
+2014201871,2014201871
+2014201872,2014201872
+2014201873,2008302772
+2014201874,2014201874
+2014201875,2009302754
+2014201876,2014201876
+2014201877,2014201877
+2014201878,2014201878
+2014201879,2014201879
+2014201880,2014201880
+2014201881,2014201881
+2014201882,2014201882
+2014201883,2014201883
+2014201884,2014201884
+2014201885,2014201885
+2014201886,2014201886
+2014201887,2010302612
+2014201888,2014201888
+2014201889,2014201889
+2014201890,2014201890
+2014201891,2014201891
+2014201892,2014201892
+2014201893,2010302748
+2014201894,2014201894
+2014201895,2014201895
+2014201896,2008302854
+2014201897,2014201897
+2014201898,2014201898
+2014201899,2014201899
+2014201900,2014201900
+2014201901,2009302775
+2014201902,2014201902
+2014201903,2014201903
+2014201904,2014201904
+2014201905,2014201905
+2014201906,2014201906
+2014201907,2010302801
+2014201908,2014201908
+2014201909,2014201909
+2014201910,2014201910
+2014201911,2010302818
+2014201912,2014201912
+2014201913,2014201913
+2014201914,2014201914
+2014201915,2010302930
+2014201916,2010302908
+2014201917,2010302941
+2014201918,2010302953
+2014201919,2009302971
+2014201920,2014201920
+2014201921,2014201921
+2014201922,2014201922
+2014201923,2014201923
+2014201924,2014201924
+2014201925,2010302924
+2014201926,2010302890
+2014201927,2014201927
+2014201928,2014201928
+2014201929,2014201929
+2014201930,2014201930
+2014201931,2014201931
+2014201932,2014201932
+2014201933,2010302909
+2014201934,2014201934
+2014201935,2014201935
+2014201936,2014201936
+2014201937,2014201937
+2014201938,2010302849
+2014201939,2014201939
+2014201940,2010302744
+2014201941,2010302817
+2014201942,2010302854
+2014201943,2014201943
+2014201944,2010302838
+2014201945,2009302832
+2014201946,2014201946
+2014201947,2010302825
+2014201948,2014201948
+2014201949,2014201949
+2014201950,2014201950
+2014201951,2014201951
+2014201952,2014201952
+2014201953,2014201953
+2014201954,2014201954
+2014201955,2014201955
+2014201956,2014201956
+2014201957,2010302767
+2014201958,2014201958
+2014201959,2014201959
+2014201960,2010302769
+2014201961,2010302798
+2014201962,2010302774
+2014201963,2014201963
+2014201964,2014201964
+2014201965,2014201965
+2014201966,2014201966
+2014201967,2014201967
+2014201968,2014201968
+2014201969,2010302919
+2014201970,2010302935
+2014201971,2014201971
+2014201972,2014201972
+2014201973,2014201973
+2014201974,2014201974
+2014201975,2014201975
+2014201976,2014201976
+2014201977,2014201977
+2014201978,2014201978
+2014201979,2014201979
+2014201980,2007302784
+2014201981,2009302930
+2014201982,2008302943
+2014201983,2010302906
+2014201984,2007302760
+2014201985,2014201985
+2014201986,2014201986
+2014201987,2014201987
+2014201988,2010302866
+2014201989,2010302881
+2014201990,2014201990
+2014201991,2010302862
+2014201992,2014201992
+2014201993,2014201993
+2014201994,2010302873
+2014201995,2014201995
+2014201996,2014201996
+2014201997,2009302986
+2014201998,2014201998
+2014201999,2014201999
+2014202000,2014202000
+2014202001,2014202001
+2014202002,2010302864
+2014202003,2014202003
+2014202004,2010302940
+2014202005,2010302950
+2014202006,2010302948
+2014202007,2010302951
+2014202008,2014202008
+2014202089,2014202089
+2014202090,2010303030
+2014202091,2014202091
+2014202092,2014202092
+2014202093,2010302960
+2014202094,2010302923
+2014202095,2014202095
+2014202096,2014202096
+2014202097,2014202097
+2014202098,2010302963
+2014202099,2014202099
+2014202100,2010303063
+2014202101,2014202101
+2014202102,2014202102
+2014202103,2014202103
+2014202104,2014202104
+2014202105,2014202105
+2014202106,2010303025
+2014202107,2010303038
+2014202108,2014202108
+2014202109,2014202109
+2014202110,2014202110
+2014202111,2014202111
+2014202112,2014202112
+2014202113,2010303009
+2014202114,2014202114
+2014202115,2014202115
+2014202116,2014202116
+2014202117,2010303035
+2014202118,2014202118
+2014202119,2014202119
+2014202120,2014202120
+2014202121,2009303081
+2014202122,2014202122
+2014202123,2010303014
+2014202124,2010302969
+2014202125,2010303074
+2014202126,2010302995
+2014202127,2010303012
+2014202128,2014202128
+2014202129,2014202129
+2014202130,2014202130
+2014202131,2010302996
+2014202132,2014202132
+2014202133,2014202133
+2014202134,2014202134
+2014202135,2014202135
+2014202136,2014202136
+2014202137,2014202137
+2014202138,2014202138
+2014202139,2014202139
+2014202140,2014202140
+2014202141,063019
+2014202142,2014202142
+2014202143,2014202143
+2014202144,2014202144
+2014202433,2010303174
+2014202434,2010303153
+2014202435,2014202435
+2014202436,2008303225
+2014202437,2014202437
+2014202438,2014202438
+2014202439,2014202439
+2014202440,2014202440
+2014202441,2010303148
+2014202442,2014202442
+2014202443,2014202443
+2014202444,2010303169
+2014202445,2014202445
+2014202446,2014202446
+2014202447,2010303151
+2014202448,2014202448
+2014202449,2010303134
+2014202450,2010303235
+2014202451,2010303226
+2014202452,2010303223
+2014202453,2014202453
+2014202454,2010303227
+2014202455,2009303293
+2014202456,2014202456
+2014202457,2014202457
+2014202458,2014202458
+2014202459,2014202459
+2014202460,2014202460
+2014202461,2014202461
+2014202462,2014202462
+2014202463,2014202463
+2014202464,2014202464
+2014202465,2014202465
+2014202466,2014202466
+2014202467,2014202467
+2014202468,2014202468
+2014202469,2014202469
+2014202470,2014202470
+2014202471,2014202471
+2014202472,2014202472
+2014202473,2014202473
+2014202474,2014202474
+2014202475,2014202475
+2014202476,2014202476
+2014202477,2014202477
+2014202478,2014202478
+2014202548,2014202548
+2014202549,2014202549
+2014202550,2014202550
+2014202629,2014202629
+2014202630,2014202630
+2014202631,2014202631
+2014202632,2010303549
+2014202633,2014202633
+2014202634,2014202634
+2014202635,2014202635
+2014202636,2014202636
+2014202637,2010303553
+2014202638,2014202638
+2014202639,2014202639
+2014202640,2014202640
+2014202641,2014202641
+2014202642,2014202642
+2014202643,2014202643
+2014202644,2014202644
+2014202645,2014202645
+2014202646,2010300886
+2014202647,2010300909
+2014202648,2010303534
+2014202649,2014202649
+2014202650,2014202650
+2014202651,2014202651
+2014202652,2014202652
+2014202653,2014202653
+2014202654,2014202654
+2014202655,2014202655
+2014202656,2014202656
+2014202657,2014202657
+2014202658,2014202658
+2014202659,2010303096
+2014202660,2010303119
+2014202661,2014202661
+2014202662,2014202662
+2014202663,2014202663
+2014202664,2014202664
+2014202665,2014202665
+2014202701,2010300034
+2014202702,2009302638
+2014202703,2010300057
+2014210001,2013240067
+2014210002,2014210002
+2014210003,2012240011
+2014210004,2014210004
+2014210005,2014210005
+2014210006,2014210006
+2014210007,2014210007
+2014210008,2014210008
+2014210009,2014210009
+2014210010,2014210010
+2014210011,2014210011
+2014210012,2014210012
+2014210013,2014210013
+2014210014,2014210014
+2014210015,2014210015
+2014210016,060790
+2014210017,2014210017
+2014210018,2014210018
+2014210019,2014210019
+2014210020,040847
+2014210021,2014210021
+2014210022,2014210022
+2014210023,2014210023
+2014210024,2014210024
+2014210025,2014210025
+2014210026,2014210026
+2014210027,050685
+2014210028,2014210028
+2014210029,2014210029
+2014210030,2014210030
+2014210031,2014210031
+2014210032,2014210032
+2014210033,2014210033
+2014210034,2014210034
+2014210035,2014210035
+2014210036,031102
+2014210037,2014210037
+2014210038,2013240061
+2014210039,2013240062
+2014210040,2013240065
+2014210041,2013240064
+2014210042,2014210042
+2014210043,2014210043
+2014210044,2014210044
+2014210045,2014210045
+2014210046,2014210046
+2014210047,2014210047
+2014210048,2012240079
+2014210049,2012240080
+2014210050,2012240082
+2014210051,2012240081
+2014210052,2012240069
+2014210053,2014210053
+2014210054,2014210054
+2014210055,2014210055
+2014210056,2014210056
+2014210057,2014210057
+2014210058,2014210058
+2014210059,2014210059
+2014210060,2014210060
+2014210061,2014210061
+2014210062,2014210062
+2014210063,2014210063
+2014210064,2014210064
+2014210065,2013240232
+2014210066,2014210066
+2014210067,2014210067
+2014210068,2014210068
+2014210069,2014210069
+2014210070,2014210070
+2014210071,2014210071
+2014210072,2014210072
+2014210073,2014210073
+2014210074,2014210074
+2014210075,2014210075
+2014210076,2014210076
+2014210077,2014210077
+2014210078,2014210078
+2014210079,2014210079
+2014210080,2014210080
+2014210081,042565
+2014210082,2014210082
+2014210083,2014210083
+2014210084,2014210084
+2014210085,2014210085
+2014210086,2014210086
+2014210087,2014210087
+2014210088,2014210088
+2014210089,2014210089
+2014210090,2014210090
+2014210091,2014210091
+2014210092,2014210092
+2014210093,2014210093
+2014210094,2014210094
+2014210095,2014210095
+2014210096,2014210096
+2014210097,2014210097
+2014210098,2014210098
+2014210099,2014210099
+2014210100,2014210100
+2014210101,2014210101
+2014210102,2014210102
+2014210103,2014210103
+2014210104,2014210104
+2014210105,2014210105
+2014210106,2014210106
+2014210107,2014210107
+2014210108,2014210108
+2014210109,2014210109
+2014210110,2014210110
+2014210111,040184
+2014210112,2014210112
+2014210113,2014210113
+2014210114,2014210114
+2014210115,2014210115
+2014210116,2014210116
+2014210117,053522
+2014210118,2014210118
+2014210119,2014210119
+2014210120,2014210120
+2014210121,2014210121
+2014210122,2014210122
+2014210123,2014210123
+2014210124,2014210124
+2014210125,2014210125
+2014210126,2014210126
+2014210127,2014210127
+2014210128,2014210128
+2014210129,2014210129
+2014210130,2014210130
+2014210131,2014210131
+2014210132,2014210132
+2014210133,2014210133
+2014210134,2014210134
+2014210135,2014210135
+2014210136,2014210136
+2014210137,2014210137
+2014210138,2014210138
+2014210139,2014210139
+2014210140,2014210140
+2014210141,2014210141
+2014210142,2014210142
+2014210143,2014210143
+2014210144,2014210144
+2014210145,2014210145
+2014210146,2014210146
+2014210147,2014210147
+2014210148,2014210148
+2014210149,2014210149
+2014210150,2014210150
+2014210151,2014210151
+2014210152,2014210152
+2014210153,2014210153
+2014210154,2014210154
+2014210155,2014210155
+2014210156,2014210156
+2014210157,2014210157
+2014210158,2014210158
+2014210159,2014210159
+2014210160,2014210160
+2014210161,2014210161
+2014210162,2014210162
+2014210163,2014210163
+2014210164,2014210164
+2014210165,2014210165
+2014210166,2014210166
+2014210167,2014210167
+2014210168,2014210168
+2014210169,2014210169
+2014210170,2014210170
+2014210171,2010210472
+2014210172,2014210172
+2014210173,2013240352
+2014210174,2013240349
+2014210175,2013240354
+2014210176,2014210176
+2014210177,2014210177
+2014210178,2014210178
+2014210179,2013240041
+2014210180,2014210180
+2014210181,2014210181
+2014210182,2014210182
+2014210183,2014210183
+2014210184,2014210184
+2014210185,2014210185
+2014210186,2014210186
+2014210187,2014210187
+2014210188,2014210188
+2014210189,2014210189
+2014210190,2014210190
+2014210191,2014210191
+2014210192,2014210192
+2014210193,2014210193
+2014210194,2014210194
+2014210195,2014210195
+2014210196,2014210196
+2014210197,2014210197
+2014210198,2014210198
+2014210199,2014210199
+2014210200,2014210200
+2014210201,2014210201
+2014210202,2013240343
+2014210203,2014210203
+2014210204,2014210204
+2014210205,2014210205
+2014210206,2014210206
+2014210207,042334
+2014210208,2010210149
+2014210209,2014210209
+2014210210,2013240010
+2014210211,2014210211
+2014210212,20140P0084
+2014210213,2013240056
+2014210214,2013240025
+2014210215,2014210215
+2014210216,2013240019
+2014210217,2013240018
+2014210218,2014070099
+2014210219,050778
+2014210220,2014210220
+2014210221,2005020150
+2014210222,2010010015
+2014210223,2014210223
+2014210224,20140P0290
+2014210225,2010010146
+2014210226,2014210226
+2014210227,2013240048
+2014210228,2013240043
+2014210229,2013240044
+2014210230,2013240037
+2014210231,2013240038
+2014210232,2014210232
+2014210233,2014210233
+2014210234,2014210234
+2014210235,2014210235
+2014210236,2014210236
+2014210237,2014210237
+2014210238,2014210238
+2014210239,2014210239
+2014210240,2014210240
+2014210241,2014210241
+2014210242,2014210242
+2014210243,2014210243
+2014210244,2014210244
+2014210245,2014210245
+2014210246,2014210246
+2014210247,2013240327
+2014210248,2014210248
+2014210249,2013240335
+2014210250,2014210250
+2014210251,2013240329
+2014210252,2013240330
+2014210253,2013240357
+2014210254,2013240348
+2014210255,2013240334
+2014210256,2013240331
+2014210257,2013240328
+2014210258,2013240339
+2014210259,2013240351
+2014210260,2013240346
+2014210261,2013240332
+2014210262,2013240360
+2014210263,2013240338
+2014210264,2014210264
+2014210265,2014210265
+2014210266,2014210266
+2014210267,2014210267
+2014210268,2014210268
+2014210269,2014210269
+2014210270,2014210270
+2014210271,2014210271
+2014210272,2014210272
+2014210273,2014210273
+2014210274,2014210274
+2014210275,2014210275
+2014210276,2014210276
+2014210277,2014210277
+2014210278,2014210278
+2014210279,2014210279
+2014210280,2014210280
+2014210281,2014210281
+2014210282,2014210282
+2014210283,2014210283
+2014210284,2014210284
+2014210285,2014210285
+2014210286,2014210286
+2014210287,2014210287
+2014210288,061980
+2014210289,2014210289
+2014210290,2014210290
+2014210291,2014210291
+2014210292,2014210292
+2014210293,2014210293
+2014210294,2014210294
+2014210295,2014210295
+2014210296,2014210296
+2014210297,2014210297
+2014210298,2014210298
+2014210299,2014210299
+2014210300,2014210300
+2014210301,2014210301
+2014210302,2014210302
+2014210303,2014210303
+2014210304,2014210304
+2014210305,2014210305
+2014210306,2014210306
+2014210307,2014210307
+2014210308,2014210308
+2014210309,2014210309
+2014210310,2014210310
+2014210311,2014210311
+2014210312,2014210312
+2014210313,2014210313
+2014210314,2014210314
+2014210315,2014210315
+2014210316,2014210316
+2014210317,2014210317
+2014210318,2014210318
+2014210319,2014210319
+2014210320,2014210320
+2014210321,052058
+2014210322,2014210322
+2014210323,2014210323
+2014210324,2014210324
+2014210325,2014210325
+2014210326,2014210326
+2014210327,2014210327
+2014210328,2014210328
+2014210329,2014210329
+2014210330,2014210330
+2014210331,2014210331
+2014210332,2014210332
+2014210333,2014210333
+2014210334,2014210334
+2014210335,2014210335
+2014210336,2014210336
+2014210337,2014210337
+2014210338,2013240076
+2014210339,2014210339
+2014210340,2014210340
+2014210341,2014210341
+2014210342,2014210342
+2014210343,2014210343
+2014210344,2014210344
+2014210345,2014210345
+2014210346,2014210346
+2014210347,2014210347
+2014210348,2014210348
+2014210349,2010270098
+2014210350,2014210350
+2014210351,2014210351
+2014210352,2014210352
+2014210353,2014210353
+2014210354,051235
+2014210355,2013240077
+2014210356,2013240075
+2014210357,2013240078
+2014210358,2008270045
+2014210359,2013240071
+2014210360,2013240072
+2014210361,2014210361
+2014210362,2014210362
+2014210363,2014210363
+2014210364,2014210364
+2014210365,2014210365
+2014210366,2014210366
+2014210367,2014210367
+2014210368,2014210368
+2014210369,2014210369
+2014210370,2014210370
+2014210371,2014210371
+2014210372,043143
+2014210373,2014210373
+2014210374,2014210374
+2014210375,2013211963
+2014210376,2014210376
+2014210377,2014210377
+2014210378,2014210378
+2014210379,2014210379
+2014210380,2014210380
+2014210381,2014210381
+2014210382,2014210382
+2014210383,2014210383
+2014210384,2014210384
+2014210385,2014210385
+2014210386,033856
+2014210387,2014210387
+2014210388,2014210388
+2014210389,2014210389
+2014210390,2014210390
+2014210391,2014210391
+2014210392,2013240362
+2014210393,2014210393
+2014210394,2014210394
+2014210395,2014210395
+2014210396,2014210396
+2014210397,2014210397
+2014210398,2014210398
+2014210399,2014210399
+2014210400,2014210400
+2014210401,2014210401
+2014210402,062197
+2014210403,2014210403
+2014210404,2014210404
+2014210405,2014210405
+2014210406,2014210406
+2014210407,2014210407
+2014210408,2014210408
+2014210409,2014210409
+2014210410,2014210410
+2014210411,2014210411
+2014210412,2014210412
+2014210413,2014210413
+2014210414,2014210414
+2014210415,2014210415
+2014210416,2014210416
+2014210417,2014210417
+2014210418,2014210418
+2014210419,052615
+2014210420,2014210420
+2014210421,2014210421
+2014210422,2014210422
+2014210423,2014210423
+2014210424,2014210424
+2014210425,2014210425
+2014210426,2013240309
+2014210427,2013240306
+2014210428,2013240307
+2014210429,2013240305
+2014210430,2013240312
+2014210431,2014210431
+2014210432,2014210432
+2014210433,2014210433
+2014210434,2014210434
+2014210435,2014210435
+2014210436,2014210436
+2014210437,2014210437
+2014210438,2014210438
+2014210439,2014210439
+2014210440,2014210440
+2014210441,2014210441
+2014210442,2014210442
+2014210443,053117
+2014210444,2014210444
+2014210445,2014210445
+2014210446,2014210446
+2014210447,2014210447
+2014210448,2014210448
+2014210449,2014210449
+2014210450,2014210450
+2014210451,2014210451
+2014210452,2014210452
+2014210453,050521
+2014210454,2014210454
+2014210455,2014210455
+2014210456,2014210456
+2014210457,2014210457
+2014210458,2014210458
+2014210459,2014210459
+2014210460,2014210460
+2014210461,2014210461
+2014210462,2014210462
+2014210463,2014210463
+2014210464,2014210464
+2014210465,2014210465
+2014210466,2014210466
+2014210467,2014210467
+2014210468,2014210468
+2014210469,2014210469
+2014210470,2014210470
+2014210471,2014210471
+2014210472,2014210472
+2014210473,2014210473
+2014210474,2014210474
+2014210475,2014210475
+2014210476,2014210476
+2014210477,2014210477
+2014210478,2014210478
+2014210479,2014210479
+2014210480,2014210480
+2014210481,2014210481
+2014210482,2014210482
+2014210483,2014210483
+2014210484,2014210484
+2014210485,2014210485
+2014210486,2007303161
+2014210487,2014210487
+2014210488,2014210488
+2014210489,2014210489
+2014210490,2014210490
+2014210491,2014210491
+2014210492,2014210492
+2014210493,2014210493
+2014210494,2014210494
+2014210495,2014210495
+2014210496,2014210496
+2014210497,2014210497
+2014210498,2014210498
+2014210499,2014210499
+2014210500,2014210500
+2014210501,052407
+2014210502,2014210502
+2014210503,2014210503
+2014210504,2014210504
+2014210505,2014210505
+2014210506,2014210506
+2014210507,2014210507
+2014210508,2014210508
+2014210509,2014210509
+2014210510,2014210510
+2014210511,2014210511
+2014210512,2014210512
+2014210513,2014210513
+2014210514,2014210514
+2014210515,2014210515
+2014210516,2014210516
+2014210517,2014210517
+2014210518,2014210518
+2014210519,2014210519
+2014210520,2014210520
+2014210521,2014210521
+2014210522,2014210522
+2014210523,2014210523
+2014210524,2014210524
+2014210525,2008300531
+2014210526,2014210526
+2014210527,2014210527
+2014210528,2014210528
+2014210529,2014210529
+2014210530,2014210530
+2014210531,2014210531
+2014210532,2014210532
+2014210533,2014210533
+2014210534,2014210534
+2014210535,2014210535
+2014210536,2014210536
+2014210537,2014210537
+2014210538,2014210538
+2014210539,2014210539
+2014210540,2014210540
+2014210541,2014210541
+2014210542,2014210542
+2014210543,2014210543
+2014210544,2014210544
+2014210545,2014210545
+2014210546,2014210546
+2014210547,2014210547
+2014210548,2014210548
+2014210549,2014210549
+2014210550,2014210550
+2014210551,2014210551
+2014210552,2014210552
+2014210553,2014210553
+2014210554,2014210554
+2014210555,2014210555
+2014210556,2014210556
+2014210557,2014210557
+2014210558,2014210558
+2014210559,2014210559
+2014210560,2014210560
+2014210561,2014210561
+2014210562,2014210562
+2014210563,2014210563
+2014210564,2014210564
+2014210565,2014210565
+2014210566,2014210566
+2014210567,2014210567
+2014210568,2014210568
+2014210569,2014210569
+2014210570,2014210570
+2014210571,2014210571
+2014210572,2014210572
+2014210573,2014210573
+2014210574,2014210574
+2014210575,2014210575
+2014210576,2014210576
+2014210577,2014210577
+2014210578,2014210578
+2014210579,2014210579
+2014210580,2014210580
+2014210581,2014210581
+2014210582,2014210582
+2014210583,2014210583
+2014210584,2014210584
+2014210585,2014210585
+2014210586,2014210586
+2014210587,2014210587
+2014210588,2014210588
+2014210589,2014210589
+2014210590,2014210590
+2014210591,2014210591
+2014210592,2014210592
+2014210593,2014210593
+2014210594,2014210594
+2014210595,2014210595
+2014210596,2014210596
+2014210597,2014210597
+2014210598,2014210598
+2014210599,2014210599
+2014210600,2014210600
+2014210601,2014210601
+2014210602,2014210602
+2014210603,2014210603
+2014210604,2014210604
+2014210605,2014210605
+2014210606,2014210606
+2014210607,2014210607
+2014210608,2014210608
+2014210609,2014210609
+2014210610,2014210610
+2014210611,2014210611
+2014210612,2014210612
+2014210613,2014210613
+2014210614,2014210614
+2014210615,2014210615
+2014210616,2014210616
+2014210617,2014210617
+2014210618,2014210618
+2014210619,2014210619
+2014210620,2014210620
+2014210621,2014210621
+2014210622,2014210622
+2014210623,2014210623
+2014210624,2014210624
+2014210625,2013240297
+2014210626,2014210626
+2014210627,2014210627
+2014210628,2014210628
+2014210629,2014210629
+2014210630,2014210630
+2014210631,2014210631
+2014210632,2013240290
+2014210633,2014210633
+2014210634,2013240295
+2014210635,2013240300
+2014210636,2014210636
+2014210637,2014210637
+2014210638,2014210638
+2014210639,2014210639
+2014210640,2014210640
+2014210641,2014210641
+2014210642,2014210642
+2014210643,2013240301
+2014210644,2014210644
+2014210645,2014210645
+2014210646,2013240298
+2014210647,2013240289
+2014210648,2014210648
+2014210649,2014210649
+2014210650,2014210650
+2014210651,2014210651
+2014210652,2014210652
+2014210653,2014210653
+2014210654,2014210654
+2014210655,2014210655
+2014210656,2014210656
+2014210657,2014210657
+2014210658,2014210658
+2014210659,2014210659
+2014210660,2014210660
+2014210661,2014210661
+2014210662,2013210937
+2014210663,2014210663
+2014210664,2014210664
+2014210665,2014210665
+2014210666,2014210666
+2014210667,2014210667
+2014210668,2014210668
+2014210669,2014210669
+2014210670,2014210670
+2014210671,2014210671
+2014210672,2014210672
+2014210673,2014210673
+2014210674,2014210674
+2014210675,2014210675
+2014210676,2014210676
+2014210677,2013240279
+2014210678,2013240273
+2014210679,2014210679
+2014210680,2014210680
+2014210681,2014210681
+2014210682,2014210682
+2014210683,2014210683
+2014210684,2014210684
+2014210685,2014210685
+2014210686,2014210686
+2014210687,2014210687
+2014210688,2014210688
+2014210689,2014210689
+2014240001,2014210681
+2014240002,2014210680
+2014240003,2014240003
+2014240004,2014240004
+2014240005,2014240005
+2014240006,2014210628
+2014240007,2014240007
+2014240008,2014240008
+2014240009,2014210650
+2014240010,2014210679
+2014240011,2014210657
+2014240012,2014210661
+2014240013,2014240013
+2014240014,2014210655
+2014240015,2014210651
+2014240016,2013240290
+2014240017,2014210640
+2014240018,2014210645
+2014240019,2014240019
+2014240020,2014210638
+2014240021,2014210648
+2014240022,2014240022
+2014240023,2014210637
+2014240024,2014240024
+2014240025,2014240025
+2014240026,2014240026
+2014240027,2014070054
+2014240028,2014240028
+2014240029,2014240029
+2014240030,2014240030
+2014240031,2014240031
+2014240032,2014240032
+2014240033,2014240033
+2014240034,2014240034
+2014240035,2014240035
+2014240036,2014240036
+2014240037,2014240037
+2014240038,2014240038
+2014240039,2014240039
+2014240040,2014240040
+2014240041,2014240041
+2014240042,042065
+2014240043,2008302245
+2014240044,2014240044
+2014240045,2014240045
+2014240046,2014240046
+2014240047,2014240047
+2014240048,2014240048
+2014240049,2007301760
+2014240050,2014240050
+2014240051,2014240051
+2014240052,2014240052
+2014240053,2014240053
+2014240054,2014240054
+2014240055,2014240055
+2014240056,2014240056
+2014240057,2014240057
+2014240058,2014240058
+2014240059,2014240059
+2014240060,2014240060
+2014240061,2014240061
+2014240062,2014240062
+2014240063,2014240063
+2014240064,2014240064
+2014240072,2014240072
+2014240073,2014240073
+2014240074,2014240074
+2014240075,2014240075
+2014240076,2014240076
+2014240077,2014240077
+2014240078,2014240078
+2014240079,2014240079
+2014240080,2014240080
+2014240081,2014240081
+2014240082,2014240082
+2014240083,2014240083
+2014240084,2014240084
+2014240085,2014240085
+2014240086,2014240086
+2014240087,2014240087
+2014240088,2014240088
+2014240089,2014240089
+2014240090,2014240090
+2014240091,2014240091
+2014240092,2014240092
+2014240093,2014240093
+2014240094,2014240094
+2014240095,2014240095
+2014240096,2014240096
+2014240097,2014240097
+2014240098,2014240098
+2014240099,2014240099
+2014240100,2014240100
+2014240101,2014240101
+2014240102,2014240102
+2014240103,2014240103
+2014240104,052157
+2014240105,2014240105
+2014240106,2014240106
+2014240107,2014240107
+2014240108,2014240108
+2014240109,2014240109
+2014240110,2014240110
+2014240111,2014240111
+2014240112,2014240112
+2014240113,041179
+2014240114,2014240114
+2014240115,2014240115
+2014240116,2014240116
+2014240117,2014240117
+2014240118,2014240118
+2014240119,2014240119
+2014240120,2014240120
+2014240121,2014240121
+2014240122,2014240122
+2014240123,2014240123
+2014240124,2014240124
+2014240125,2014240125
+2014240126,2014240126
+2014240127,2014240127
+2014240128,2014240128
+2014240129,2014240129
+2014240130,2014240130
+2014250001,2014250001
+2014250002,2014250002
+2014250003,2014250003
+2014250004,2014250004
+2014250005,2014250005
+2014250006,2014250006
+2014250007,2010301073
+2014250008,2014250008
+2014250009,2014250009
+2014250010,2014250010
+2014250011,2014250011
+2014250012,2014250012
+2014250013,2014250013
+2014250014,2014250014
+2014250015,2009300495
+2014250016,2010302096
+2014250017,2009300237
+2014250018,2010300230
+2014250019,2014250019
+2014250020,2014250020
+2014250021,2014250021
+2014250022,2014250022
+2014250023,2014250023
+2014250024,2014250024
+2014250025,2014250025
+2014250026,2014250026
+2014250027,2014250027
+2014250028,2014250028
+2014250029,2014250029
+2014250030,2014250030
+2014250031,2014250031
+2014250032,2014250032
+2014250033,2014250033
+2014250034,2014250034
+2014250035,2010300378
+2014250036,2010300200
+2014250037,2010300187
+2014250038,2014250038
+2014250039,2014250039
+2014250040,2014250040
+2014250041,050099
+2014250042,2014250042
+2014250043,2014250043
+2014250044,2014250044
+2014250045,2010300439
+2014250046,2014250046
+2014250047,2014250047
+2014250048,2014250048
+2014250049,2014250049
+2014250050,2014250050
+2014250051,2014250051
+2014250052,2014250052
+2014250053,2014250053
+2014250054,2014250054
+2014250055,2014250055
+2014250056,2014250056
+2014250057,2014250057
+2014250058,2014250058
+2014250059,2014250059
+2014250060,2014250060
+2014250061,2014250061
+2014250062,2014250062
+2014250063,2014250063
+2014250064,2014250064
+2014250065,2014250065
+2014250066,2014250066
+2014250067,2014250067
+2014250068,2014250068
+2014250069,2014250069
+2014250070,2014250070
+2014250071,2014250071
+2014250072,2014250072
+2014250073,2014250073
+2014250074,2014250074
+2014250075,2014250075
+2014250076,2014250076
+2014250077,2014250077
+2014250078,2010300431
+2014250079,2014250079
+2014250080,2014250080
+2014250081,2014250081
+2014250082,2014250082
+2014250083,2014250083
+2014250084,2010300988
+2014250085,2010300907
+2014250086,2014250086
+2014250087,2010300387
+2014250088,2014250088
+2014250089,2014250089
+2014250090,2014250090
+2014250091,2014250091
+2014250092,2014250092
+2014250093,2014250093
+2014250094,2014250094
+2014250095,2014250095
+2014250096,2014250096
+2014250097,2014250097
+2014250098,2014250098
+2014250099,2014250099
+2014250100,2014250100
+2014250101,2014250101
+2014250102,2014250102
+2014250103,2014250103
+2014250104,2014250104
+2014250105,2014250105
+2014250106,2014250106
+2014250107,2014250107
+2014250108,2014250108
+2014250109,2014250109
+2014250110,2010300906
+2014250111,2014250111
+2014250112,2014250112
+2014250113,2014250113
+2014250114,2014250114
+2014250115,2010301639
+2014250116,2014250116
+2014250117,2014250117
+2014250118,2010300165
+2014250119,2010300505
+2014250120,2014250120
+2014250121,2014250121
+2014250122,2008300589
+2014250123,2014250123
+2014250124,2014250124
+2014250125,2014250125
+2014250126,2014250126
+2014250127,2014250127
+2014250128,2014250128
+2014250129,2014250129
+2014250130,2014250130
+2014250131,2014250131
+2014250132,2014250132
+2014250133,2014250133
+2014250134,2014250134
+2014250135,2014250135
+2014250136,2014250136
+2014250137,2014250137
+2014250138,2014250138
+2014250139,2014250139
+2014250140,2014250140
+2014250141,2014250141
+2014250142,2014250142
+2014250143,2014250143
+2014250144,2014250144
+2014250145,2014250145
+2014250146,2014250146
+2014250147,2014250147
+2014250148,2014250148
+2014250149,2014250149
+2014250150,2010300787
+2014250151,2010300150
+2014250152,2014250152
+2014250153,2014250153
+2014250154,2014250154
+2014250155,2014250155
+2014250156,2008300390
+2014250157,2014250157
+2014250158,2014250158
+2014250159,2014250159
+2014250160,2014250160
+2014250161,2014250161
+2014250162,2014250162
+2014250163,2014250163
+2014250164,2014250164
+2014250165,2010301183
+2014250166,2014250166
+2014250167,2014250167
+2014250168,2014250168
+2014250169,2014250169
+2014250170,2014250170
+2014250171,2014250171
+2014250172,2014250172
+2014250173,2014250173
+2014260147,2014260147
+2014260148,2014260148
+2014260149,2010300349
+2014260150,2010300236
+2014260151,2010300226
+2014260152,2010300344
+2014260153,2014260153
+2014260154,2014260154
+2014260155,2010300359
+2014260156,2014260156
+2014260157,2014260157
+2014260158,2010300244
+2014260159,2010300343
+2014260160,2014260160
+2014260161,2010300306
+2014260162,2014260162
+2014260163,2014260163
+2014260164,2010300180
+2014260165,2010300317
+2014260166,2010300300
+2014260167,2010300291
+2014260168,2010300336
+2014260169,2010300207
+2014260170,2010300308
+2014260171,2010300304
+2014260172,2014260172
+2014260173,2010300294
+2014260174,2010300402
+2014260175,2010300175
+2014260176,2010301379
+2014260177,2010300398
+2014260178,2010300374
+2014260179,2014260179
+2014260180,2014260180
+2014260181,2014260181
+2014260182,2014260182
+2014260183,2010300354
+2014260184,2010300324
+2014260185,2014260185
+2014260186,2014260186
+2014260187,2014260187
+2014260188,2010300188
+2014260189,2010300174
+2014260190,2010300148
+2014260191,2014260191
+2014260192,2014260192
+2014260193,2010300334
+2014260194,2014260194
+2014260195,2010300278
+2014260196,2014260196
+2014260197,2008300248
+2014260198,2010300373
+2014260199,2010300217
+2014260200,2010300322
+2014260201,2014260201
+2014260202,2014260202
+2014260203,2010302943
+2014260204,2014260204
+2014260205,2010300307
+2014260206,2014260206
+2014260207,2014260207
+2014260208,2010300323
+2014260209,2014260209
+2014260210,2014260210
+2014260211,2010300191
+2014260212,2010300186
+2014260213,2010300296
+2014260308,2014260308
+2014260309,2010300504
+2014260310,2014260310
+2014260311,2014260311
+2014260312,2010300517
+2014260313,2010300452
+2014260314,2010300480
+2014260315,2014260315
+2014260316,2014260316
+2014260317,2010300511
+2014260318,2014260318
+2014260319,2014260319
+2014260320,2010300506
+2014260321,2008300546
+2014260322,2014260322
+2014260323,2010300499
+2014260324,2010300477
+2014260325,2010300515
+2014260326,2014260326
+2014260327,2010300476
+2014260328,2014260328
+2014260329,2010300545
+2014260330,2010300470
+2014260331,2010300467
+2014260332,2010300562
+2014260333,2010303047
+2014260334,2010300433
+2014260335,2010300564
+2014260336,2010300558
+2014260337,2010300571
+2014260338,2014260338
+2014260339,2008300451
+2014260340,2010300580
+2014260341,2010300584
+2014260342,2010300577
+2014260343,2010300601
+2014260344,2014260344
+2014260345,2010300593
+2014260346,2010300468
+2014260347,2010300453
+2014260453,2010300715
+2014260454,2010300753
+2014260455,2010302015
+2014260456,2010300760
+2014260457,2014260457
+2014260458,2014260458
+2014260459,2010300706
+2014260460,2010300764
+2014260461,2014260461
+2014260462,2010300684
+2014260463,2014260463
+2014260464,2014260464
+2014260465,2010300673
+2014260466,2014260466
+2014260467,2010300687
+2014260468,2010303059
+2014260469,2010300735
+2014260470,2014260470
+2014260471,2010301152
+2014260472,2010300743
+2014260473,2010300812
+2014260474,2014260474
+2014260475,2014260475
+2014260476,2010300765
+2014260477,2014260477
+2014260478,2010300653
+2014260479,2014260479
+2014260480,2014260480
+2014260481,2014260481
+2014260482,2010300768
+2014260483,2014260483
+2014260484,2010300769
+2014260485,2014260485
+2014260486,2010300618
+2014260487,2014260487
+2014260488,2010300744
+2014260489,2010300614
+2014260490,2014260490
+2014260491,2014260491
+2014260492,2010300774
+2014260493,2009300912
+2014260494,2010300797
+2014260495,2010300805
+2014260637,2014260637
+2014260638,2014260638
+2014260639,2010300880
+2014260640,2014260640
+2014260641,2014260641
+2014260642,2014260642
+2014260643,2014260643
+2014260644,2014260644
+2014260645,2014260645
+2014260646,2014260646
+2014260647,2014260647
+2014260648,2010300996
+2014260649,2014260649
+2014260650,2014260650
+2014260651,2014260651
+2014260652,2010300844
+2014260653,2014260653
+2014260654,2014260654
+2014260655,2010300947
+2014260656,2014260656
+2014260657,2010300943
+2014260658,2010300913
+2014260659,2010300976
+2014260660,2014260660
+2014260661,2014260661
+2014260662,2014260662
+2014260663,2014260663
+2014260664,2014260664
+2014260665,2014260665
+2014260666,2010300912
+2014260667,2014260667
+2014260668,2014260668
+2014260669,2010300941
+2014260670,2014260670
+2014260671,2014260671
+2014260672,2014260672
+2014260673,2014260673
+2014260674,2009300946
+2014260675,2014260675
+2014260676,2010300918
+2014260677,2014260677
+2014260678,2014260678
+2014260679,2010302878
+2014260680,2014260680
+2014260681,2010301017
+2014260682,2014260682
+2014260683,2009301072
+2014260684,2010300820
+2014260685,2014260685
+2014260686,2014260686
+2014260687,2014260687
+2014260688,2010300878
+2014260689,2014260689
+2014260690,2014260690
+2014260691,2014260691
+2014260692,2014260692
+2014260693,2010300980
+2014260694,2014260694
+2014260695,2014260695
+2014260696,2010300937
+2014260697,2014260697
+2014260698,2010300833
+2014260699,2010300814
+2014260700,2014260700
+2014260701,2014260701
+2014260702,2014260702
+2014260703,2014260703
+2014260704,2014260704
+2014260705,2014260705
+2014260706,2010300974
+2014260707,2014260707
+2014260708,2010301015
+2014260709,2014260709
+2014260710,2009301012
+2014260888,2010301228
+2014260889,2010301185
+2014260890,2014260890
+2014260891,2014260891
+2014260892,2010301281
+2014260893,2010301227
+2014260894,2010301162
+2014260895,2010301239
+2014260896,2014260896
+2014260897,2010301176
+2014260898,2014260898
+2014260899,2014260899
+2014260900,2014260900
+2014260901,2010301167
+2014260902,2014260902
+2014260903,2014260903
+2014260904,2010301182
+2014260905,2010301151
+2014260906,2014260906
+2014260907,2014260907
+2014260908,2010301330
+2014260909,2014260909
+2014260910,2014260910
+2014260911,2010301295
+2014260912,2010301352
+2014260913,2009301331
+2014260914,2010301350
+2014260915,2010301219
+2014260916,2010302724
+2014260917,2014260917
+2014260918,2010301283
+2014260919,2014260919
+2014260920,2014260920
+2014260921,2014260921
+2014260922,2014260922
+2014260923,2014260923
+2014260924,2014260924
+2014260925,2014260925
+2014260926,2014260926
+2014260927,2014260927
+2014260928,2010300062
+2014260929,2014260929
+2014260930,2014260930
+2014260931,2014260931
+2014260932,2014260932
+2014260933,2010302704
+2014260934,2014260934
+2014260935,2014260935
+2014260936,2010301130
+2014260937,2014260937
+2014260938,2014260938
+2014260939,2014260939
+2014260940,2010301106
+2014260941,2010302533
+2014260942,2010301075
+2014260943,2014260943
+2014260944,2010301078
+2014260945,2014260945
+2014260946,2014260946
+2014260947,2014260947
+2014260948,2010301100
+2014260949,2014260949
+2014260950,2014260950
+2014260951,2014260951
+2014260952,2010301134
+2014260953,2010301110
+2014260954,2014260954
+2014260955,2010301077
+2014260956,2014260956
+2014260957,2014260957
+2014260958,2014260958
+2014260959,2014260959
+2014260960,2014260960
+2014260961,2008301422
+2014260962,2014260962
+2014260963,2010301020
+2014260964,2014260964
+2014260965,2014260965
+2014260966,2014260966
+2014260967,2014260967
+2014261023,2014261023
+2014261024,2010301484
+2014261025,2010301413
+2014261026,2014261026
+2014261027,2010301468
+2014261028,2014261028
+2014261029,2014261029
+2014261030,2014261030
+2014261031,2014261031
+2014261032,2014261032
+2014261033,2014261033
+2014261034,2010301440
+2014261035,2010301466
+2014261036,2014261036
+2014261037,2010301422
+2014261038,2010301410
+2014261039,2009301609
+2014261040,2009301598
+2014261041,2010301445
+2014261042,2014261042
+2014261122,2010301571
+2014261123,2010301606
+2014261124,2010301695
+2014261125,2010301667
+2014261126,2014261126
+2014261127,2014261127
+2014261128,2014261128
+2014261129,2010301700
+2014261130,2010301561
+2014261131,2014261131
+2014261132,2010301673
+2014261133,2014261133
+2014261134,2010301646
+2014261135,2010301642
+2014261136,2010301735
+2014261137,2010301582
+2014261138,2010301577
+2014261139,2010301218
+2014261140,2010301683
+2014261141,2014261141
+2014261142,2010301730
+2014261143,2010303536
+2014261144,2010301715
+2014261145,2014261145
+2014261146,2010301615
+2014261147,2010301718
+2014261148,2010301650
+2014261149,2010300079
+2014261150,2010300639
+2014261151,2014261151
+2014261152,2014261152
+2014261153,2010301588
+2014261154,2014261154
+2014261155,2010301739
+2014261156,2014261156
+2014261157,2010301604
+2014261158,2014261158
+2014261159,2014261159
+2014261160,2010301617
+2014261161,2010301641
+2014261162,2014261162
+2014261163,2014261163
+2014261164,2014261164
+2014261165,2014261165
+2014261166,2010301569
+2014261167,2010301560
+2014261335,2010301962
+2014261336,2014261336
+2014261337,2014261337
+2014261338,2010301853
+2014261339,2010301772
+2014261340,2010301843
+2014261341,2014261341
+2014261342,2014261342
+2014261343,2010301760
+2014261344,2014261344
+2014261345,2010301783
+2014261346,2014261346
+2014261347,2010301981
+2014261348,2014261348
+2014261349,2014261349
+2014261350,2014261350
+2014261351,2014261351
+2014261352,2010301972
+2014261353,2014261353
+2014261354,2014261354
+2014261355,2014261355
+2014261356,2010301829
+2014261357,2014261357
+2014261358,2014261358
+2014261359,2014261359
+2014261360,2014261360
+2014261361,2010302010
+2014261362,2014261362
+2014261363,2014261363
+2014261364,2010302730
+2014261365,2010301877
+2014261366,2014261366
+2014261367,2010301869
+2014261368,2010301855
+2014261369,2010301774
+2014261370,2014261370
+2014261371,2014261371
+2014261372,2014261372
+2014261373,2010301983
+2014261374,2010301987
+2014261375,2014261375
+2014261376,2014261376
+2014261377,2014261377
+2014261378,2014261378
+2014261379,2010301947
+2014261380,2014261380
+2014261381,2014261381
+2014261382,2010301965
+2014261383,2014261383
+2014261384,2014261384
+2014261385,2014261385
+2014261386,2014261386
+2014261387,2014261387
+2014261388,2014261388
+2014261389,2014261389
+2014261390,2014261390
+2014261391,2010301922
+2014261392,2010301913
+2014261393,2014261393
+2014261394,2014261394
+2014261395,2014261395
+2014261396,2010302643
+2014261397,2014261397
+2014261398,2010302033
+2014261399,2010301901
+2014261400,2010301891
+2014261401,2010301908
+2014261402,2010301911
+2014261581,2014261581
+2014261582,2014261582
+2014261583,2014261583
+2014261584,2014261584
+2014261585,2010302308
+2014261586,2010302248
+2014261587,2014261587
+2014261588,2014261588
+2014261589,2010302223
+2014261590,2014261590
+2014261591,2014261591
+2014261592,2010302212
+2014261593,2010302259
+2014261594,2014261594
+2014261595,2010302215
+2014261596,2014261596
+2014261597,2010302217
+2014261598,2010302233
+2014261599,2010302222
+2014261600,2010302269
+2014261601,2014261601
+2014261602,2010302074
+2014261603,2010302227
+2014261604,2010302200
+2014261605,2010302254
+2014261606,2014261606
+2014261607,2010300332
+2014261608,2010302109
+2014261609,2014261609
+2014261610,2014261610
+2014261611,2014261611
+2014261612,2014261612
+2014261613,2010302314
+2014261614,2014261614
+2014261615,2010302347
+2014261616,2010301115
+2014261617,2010302082
+2014261618,2010302178
+2014261619,2010302153
+2014261620,2010302103
+2014261621,2010302127
+2014261622,2014261622
+2014261623,2014261623
+2014261624,2014261624
+2014261625,2014261625
+2014261626,2014261626
+2014261627,2014261627
+2014261628,2014261628
+2014261629,2010302081
+2014261630,2010302175
+2014261631,2010301745
+2014261632,2010302107
+2014261633,2014261633
+2014261634,2014261634
+2014261635,2014261635
+2014261636,2014261636
+2014261637,2010302375
+2014261638,2010302080
+2014261639,2010302522
+2014261640,2014261640
+2014261641,2010303017
+2014261642,2010302342
+2014261643,2014261643
+2014261644,2014261644
+2014261645,2014261645
+2014261646,2014261646
+2014261647,2014261647
+2014261648,2014261648
+2014261649,2014261649
+2014261650,2014261650
+2014261651,2014261651
+2014261652,2014261652
+2014261653,2014261653
+2014261654,2014261654
+2014261655,2014261655
+2014261656,2014261656
+2014261657,2014261657
+2014261793,2010303427
+2014261794,2010302534
+2014261795,2010302562
+2014261796,2014261796
+2014261797,2014261797
+2014261798,2014261798
+2014261799,2010302468
+2014261800,2014261800
+2014261801,2014261801
+2014261802,2014261802
+2014261803,2014261803
+2014261804,2014261804
+2014261805,2014261805
+2014261806,2010302514
+2014261807,2014261807
+2014261808,2010302567
+2014261809,2010302472
+2014261810,2014261810
+2014261811,2010302483
+2014261812,2010302466
+2014261813,2010302588
+2014261814,2010302469
+2014261815,2014261815
+2014261816,2010303380
+2014261817,2014261817
+2014261818,2014261818
+2014261819,2010302568
+2014261820,2014261820
+2014261821,2010302614
+2014261822,2013240109
+2014261823,2014261823
+2014261824,2014261824
+2014261825,2010302395
+2014261826,2014261826
+2014261827,2010302504
+2014261828,2014261828
+2014261829,2014261829
+2014261830,2010303475
+2014261831,2014261831
+2014261832,2014261832
+2014261833,2010302646
+2014261834,2010302447
+2014261835,2010302407
+2014261836,2014261836
+2014261837,2014261837
+2014261838,2010302391
+2014262009,2014262009
+2014262010,2014262010
+2014262011,2014262011
+2014262012,2014262012
+2014262013,2014262013
+2014262014,2010302936
+2014262015,2010302937
+2014262016,2014262016
+2014262017,2014262017
+2014262018,2010302664
+2014262019,2010302946
+2014262020,2010302913
+2014262021,2014262021
+2014262022,2010302938
+2014262023,2014262023
+2014262024,2014262024
+2014262025,2010302915
+2014262026,2014262026
+2014262027,2014262027
+2014262028,2014262028
+2014262029,2014262029
+2014262030,2014262030
+2014262031,2014262031
+2014262032,2010302858
+2014262033,2014262033
+2014262034,2014262034
+2014262035,2010303060
+2014262036,2014262036
+2014262037,2010303039
+2014262038,2014262038
+2014262039,2014262039
+2014262040,2014262040
+2014262041,2014262041
+2014262042,2014262042
+2014262043,2014262043
+2014262044,2010302961
+2014262045,2014262045
+2014262046,2014262046
+2014262047,2014262047
+2014262048,2010303052
+2014262049,2014262049
+2014262050,2014262050
+2014262051,2014262051
+2014262052,2014262052
+2014262053,2014262053
+2014262054,2014262054
+2014262055,2010303068
+2014262056,2009303053
+2014262057,2014262057
+2014262058,2014262058
+2014262059,2014262059
+2014262060,2014262060
+2014262061,2014262061
+2014262062,2014262062
+2014262063,2014262063
+2014262064,2014262064
+2014262065,2014262065
+2014262066,2010303140
+2014262067,2010302997
+2014262068,2014262068
+2014262069,2014262069
+2014262070,2014262070
+2014262071,2014262071
+2014262072,2014262072
+2014262073,2014262073
+2014262074,2014262074
+2014262075,2014262075
+2014262076,2014262076
+2014262077,2010303015
+2014262078,2014262078
+2014262079,2014262079
+2014262080,2014262080
+2014262081,2010303023
+2014262082,2014262082
+2014262083,2014262083
+2014262084,2014262084
+2014262085,2014262085
+2014262086,2014262086
+2014262087,2014262087
+2014262088,2014262088
+2014262145,2014262145
+2014262146,2012240146
+2014262147,2014262147
+2014262148,2014262148
+2014262149,2014262149
+2014262150,2013240201
+2014262151,2014262151
+2014262152,2014262152
+2014262153,2014262153
+2014262154,2014262154
+2014262155,2014262155
+2014262156,2014262156
+2014262157,2014262157
+2014262158,2013240221
+2014262159,2014262159
+2014262160,2014262160
+2014262161,2014262161
+2014262162,2014262162
+2014262163,2014262163
+2014262164,2014262164
+2014262165,2014262165
+2014262166,2014262166
+2014262167,2014262167
+2014262168,2014262168
+2014262169,2014262169
+2014262170,2014262170
+2014262171,2014262171
+2014262172,2014262172
+2014262173,2013240161
+2014262174,2014262174
+2014262175,2014262175
+2014262176,2013240320
+2014262177,2013240172
+2014262178,2014262178
+2014262179,2014262179
+2014262180,2014262180
+2014262181,2013240166
+2014262182,2014262182
+2014262183,2014262183
+2014262184,2014262184
+2014262185,2014262185
+2014262186,2013240188
+2014262187,2013240070
+2014262188,2014262188
+2014262189,2014262189
+2014262190,2014262190
+2014262191,2014262191
+2014262192,2014262192
+2014262193,2014262193
+2014262194,2013240134
+2014262195,2013240187
+2014262196,2014262196
+2014262197,2014262197
+2014262198,2014262198
+2014262199,2014262199
+2014262200,2014262200
+2014262201,2014262201
+2014262202,2014262202
+2014262203,2014262203
+2014262204,2014262204
+2014262205,2014262205
+2014262206,2013240237
+2014262207,2013240173
+2014262208,2013240171
+2014262209,2014262209
+2014262210,2014262210
+2014262211,2014262211
+2014262212,2014262212
+2014262213,2013240253
+2014262214,2014262214
+2014262215,2014262215
+2014262216,2014262216
+2014262217,2014262217
+2014262218,2014262218
+2014262219,2014262219
+2014262220,2014262220
+2014262221,2014262221
+2014262222,2014262222
+2014262223,2014262223
+2014262224,2014262224
+2014262225,2014262225
+2014262226,2013240145
+2014262227,2013240127
+2014262228,2013240151
+2014262229,2014262229
+2014262230,2014262230
+2014262231,2014262231
+2014262232,2014262232
+2014262233,2013240224
+2014262234,2014262234
+2014262235,2013240138
+2014262236,2013240155
+2014262237,2014262237
+2014262238,2014262238
+2014262239,2014262239
+2014262240,2014262240
+2014262241,2014262241
+2014262242,2014262242
+2014262243,2014262243
+2014262244,2014262244
+2014262245,2014262245
+2014262246,2014262246
+2014262247,2014262247
+2014262248,2014262248
+2014262249,2014262249
+2014262250,2014262250
+2014262251,2014262251
+2014262252,2014262252
+2014262253,2014262253
+2014262254,2014262254
+2014262255,2014262255
+2014262256,2014262256
+2014262257,2014262257
+2014262258,2014262258
+2014262259,2014262259
+2014262260,2013240317
+2014262261,2014262261
+2014262262,2014262262
+2014262263,2014262263
+2014262264,2013240255
+2014262265,2014262265
+2014262266,2014262266
+2014262267,2014262267
+2014262268,2014262268
+2014262269,2013240162
+2014262270,2014262270
+2014262271,2014262271
+2014262272,2013240189
+2014262273,2014262273
+2014262274,2014262274
+2014262275,2014262275
+2014262276,2014262276
+2014262277,2014262277
+2014262278,2014262278
+2014262279,2014262279
+2014262280,2012240186
+2014262281,2014262281
+2014262282,2014262282
+2014262283,2014262283
+2014262284,2014262284
+2014262285,2013240242
+2014262286,2014262286
+2014262287,2014262287
+2014262288,2014262288
+2014262289,2014262289
+2014262290,2014262290
+2014262291,2014262291
+2014262292,2014262292
+2014262293,2014262293
+2014262294,2013240315
+2014262295,2014262295
+2014262296,2014262296
+2014262297,2014262297
+2014262298,2014262298
+2014262299,2014262299
+2014262300,2014262300
+2014262301,2014262301
+2014262302,2014262302
+2014262303,2014262303
+2014262304,2014262304
+2014262305,2013240191
+2014262306,2014262306
+2014262307,2014262307
+2014262308,2014262308
+2014262309,2014262309
+2014262310,2014262310
+2014262311,2014262311
+2014262312,2014262312
+2014262313,2014262313
+2014262314,2014262314
+2014262315,2013240197
+2014262316,2014262316
+2014262317,2014262317
+2014262318,2014262318
+2014262319,2014262319
+2014262320,2014262320
+2014262321,2014262321
+2014262322,2014262322
+2014262323,2013240177
+2014262324,2014262324
+2014262325,2014262325
+2014262326,2014262326
+2014262327,2014262327
+2014262328,2014262328
+2014262329,2014262329
+2014262330,2014262330
+2014262331,2014262331
+2014262332,2014262332
+2014262333,2014262333
+2014262334,2014262334
+2014262335,2014262335
+2014262336,2014262336
+2014262337,2014262337
+2014262338,2014262338
+2014262339,2014262339
+2014262340,2014262340
+2014262341,2014262341
+2014262342,2014262342
+2014262343,2014262343
+2014262344,2014262344
+2014262345,2014262345
+2014262346,2014262346
+2014262347,2014262347
+2014262348,2014262348
+2014262349,2012240098
+2014262350,2013240321
+2014262351,2014262351
+2014262352,2014262352
+2014262353,2014262353
+2014262354,2014262354
+2014262355,2014262355
+2014262356,2014262356
+2014262357,2014262357
+2014262358,2014262358
+2014262359,2014262359
+2014262360,2014262360
+2014262361,2013240182
+2014262362,2013070021
+2014262363,2014262363
+2014262364,2014262364
+2014262365,2014262365
+2014262366,2014262366
+2014262367,2012240119
+2014262368,2014262368
+2014262369,2014262369
+2014262370,2014262370
+2014262371,2014262371
+2014262372,2014262372
+2014262373,2013240153
+2014262374,2013240140
+2014262375,2013240141
+2014262376,2014262376
+2014262377,2013240158
+2014262378,2013240125
+2014262379,2013240132
+2014262380,2014262380
+2014262381,2013240129
+2014262382,2014262382
+2014262383,2013240369
+2014262384,2014262384
+2014262385,2013240370
+2014262386,2013240368
+2014262387,2014262387
+2014262388,2014262388
+2014262389,2014262389
+2014262390,2014262390
+2014262391,2014262391
+2014262392,2014262392
+2014262393,2014262393
+2014262394,2014262394
+2014262395,2014262395
+2014262396,2013240059
+2014262397,2014262397
+2014262398,2013240304
+2014262399,2014262399
+2014262400,2014262400
+2014262401,2014262401
+2014262402,2014262402
+2014262403,2012240105
+2014262404,2014262404
+2014262405,2014262405
+2014262406,2013240363
+2014262407,2014262407
+2014262408,2014262408
+2014262409,2014262409
+2014262410,2014262410
+2014262411,2014262411
+2014262412,2014262412
+2014262413,2014262413
+2014262414,2014262414
+2014262415,2014262415
+2014262416,2014262416
+2014262417,2014262417
+2014262418,2014262418
+2014262419,2014262419
+2014262420,042627
+2014262421,2013240080
+2014262422,2014262422
+2014262423,2014262423
+2014262424,2013240217
+2014262425,2014262425
+2014262426,2014262426
+2014262427,2014262427
+2014262428,2013240060
+2014262429,2014262429
+2014262430,2014262430
+2014262431,2014262431
+2014262432,2014070099
+2014262479,2014262479
+2014262480,2014262480
+2014262481,2014262481
+2014262482,2007302401
+2014262483,2014262483
+2014262484,2014262484
+2014262485,2014262485
+2014262486,043924
+2014262487,2014262487
+2014262488,2014262488
+2014262489,2014262489
+2014262490,2014262490
+2014262491,2014262491
+2014262492,2014262492
+2014262493,063215
+2014262494,2014262494
+2014262495,2014262495
+2014262496,2014262496
+2014262497,2014262497
+2014262498,2014262498
+2014262499,2014262499
+2014262500,2014262500
+2014262501,2014262501
+2014262502,2014262502
+2014262503,2014262503
+2014262504,2014262504
+2014262505,2014262505
+2014262506,2013210637
+2014262507,2014262507
+2014262508,043362
+2014262509,2014262509
+2014262510,2014262510
+2014262511,2014262511
+2014262512,2014262512
+2014262513,2014262513
+2014262514,2014262514
+2014262515,2014262515
+2014262516,2014262516
+2014262517,2014262517
+2014262518,2014262518
+2014262519,2014262519
+2014262520,2014262520
+2014262521,2014262521
+2014262522,2014262522
+2014262523,2014262523
+2014262524,2014262524
+2014262525,2014262525
+2014262526,2014262526
+2014262527,2014262527
+2014262528,2014262528
+2014262529,2014262529
+2014262530,2014262530
+2014262531,2014262531
+2014262532,2014262532
+2014262533,2010010015
+2014262534,2007302977
+2014262535,2014262535
+2014262536,040677
+2014262537,2014262537
+2014262538,2014262538
+2014262539,2014262539
+2014262540,2014262540
+2014262541,2014262541
+2014262542,2014262542
+2014262543,2014262543
+2014262544,2014262544
+2014262545,2014262545
+2014262546,2014262546
+2014262547,2014262547
+2014262551,2010303303
+2014262552,2010303477
+2014262553,2008303452
+2014262554,2010303356
+2014262555,2014262555
+2014262556,2014262556
+2014262557,2010300895
+2014262558,2014262558
+2014262559,2014262559
+2014262560,2014262560
+2014262561,2010303486
+2014262562,2010303528
+2014262563,2014262563
+2014262564,2013210901
+2014262565,2010303391
+2014262566,2010303394
+2014262567,2010303376
+2014262568,2010302425
+2014262569,2014262569
+2014262570,2014262570
+2014262571,2014262571
+2014262572,2014262572
+2014262573,2014262573
+2014262574,2014262574
+2014262575,2014262575
+2014262576,2014262576
+2014262577,2010303334
+2014262578,2010303269
+2014262579,2014262579
+2014262580,2014262580
+2014262581,2014262581
+2014262582,2010303454
+2014262583,2010303518
+2014262584,2010303472
+2014262585,2014262585
+2014262586,2010303372
+2014262587,2010303448
+2014262588,2014262588
+2014262589,2014262589
+2014262590,2007302393
+2014262591,2014262591
+2014262592,2012210213
+2014262593,2010303264
+2014262594,2010303277
+2014262595,2014262595
+2014262596,2014262596
+2014262597,2014262597
+2014262598,2013211497
+2014262599,2010303396
+2014262600,2010303492
+2014262601,2014262601
+2014262602,2010303478
+2014262603,2010303533
+2014262604,2014262604
+2014262605,2013211506
+2014262606,2010303392
+2014262607,2010303247
+2014262608,2014262608
+2014262609,2014262609
+2014262610,2014262610
+2014262611,2012210212
+2014262612,2010303350
+2014262613,2010303312
+2014262614,2010303272
+2014262615,2014262615
+2014262616,2014262616
+2014262617,2010303473
+2014262618,2014262618
+2014262619,2014262619
+2014262620,2014262620
+2014262621,2010303386
+2014262622,2010303270
+2014262623,2008303294
+2014262624,2010303299
+2014262625,2010302484
+2014262626,2010302500
+2014262627,061875
+2014262628,2010303313
+2014262666,2014262666
+2014262667,2014262667
+2014262668,2014262668
+2014262669,2014262669
+2014262670,2014262670
+2014262671,2014262671
+2014262672,2014262672
+2014262673,2010303093
+2014262674,2014262674
+2014262675,2014262675
+2014262676,2014262676
+2014262677,2010303099
+2014262678,2014262678
+2014262679,2014262679
+2014262680,2014262680
+2014262681,2014262681
+2014262682,2014262682
+2014262683,2014262683
+2014262684,2014262684
+2014262685,2014262685
+2014262686,2014262686
+2014262687,2010303108
+2014262688,2014262688
+2014262689,2014262689
+2014262690,2014262690
+2014262691,2014262691
+2014262692,2014262692
+2014300001,2014300001
+2014300002,2014300002
+2014300003,2014300003
+2014300004,2014300004
+2014300005,2014300005
+2014300006,2014300006
+2014300007,2014300007
+2014300008,2014300008
+2014300009,2014300009
+2014300010,2014300010
+2014300011,2014300011
+2014300012,2014300012
+2014300013,2014300013
+2014300013f,2014300013
+2014300014,2014300014
+2014300015,2014300015
+2014300016,2014300016
+2014300017,2014300017
+2014300018,2014300018
+2014300019,2014300019
+2014300020,2014300020
+2014300021,2014300021
+2014300022,2014300022
+2014300023,2014300023
+2014300024,2014300024
+2014300025,2014300025
+2014300026,2014300026
+2014300027,2014300027
+2014300028,2014300028
+2014300029,2014300029
+2014300030,2014300030
+2014300031,2014300031
+2014300032,2014300032
+2014300033,2014300033
+2014300034,2014300034
+2014300035,2014300035
+2014300036,2014300036
+2014300037,2014300037
+2014300038,2014300038
+2014300039,2014300039
+2014300040,2014300040
+2014300041,2014300041
+2014300042,2014300042
+2014300043,2014300043
+2014300044,2014300044
+2014300045,2014300045
+2014300046,2014300046
+2014300047,2014300047
+2014300047f,2014300047
+2014300048,2014300048
+2014300049,2014300049
+2014300049f,2014300049
+2014300050,2014300050
+2014300050f,2014300050
+2014300051,2014300051
+2014300052,2014300052
+2014300053,2014300053
+2014300054,2014300054
+2014300055,2014300055
+2014300056,2014300056
+2014300057,2014300057
+2014300058,2014300058
+2014300059,2014300059
+2014300060,2014300060
+2014300061,2014300061
+2014300062,2014300062
+2014300063,2014300063
+2014300064,2014300064
+2014300065,2014300065
+2014300066,2014300066
+2014300067,2014300067
+2014300068,2014300068
+2014300069,2014300069
+2014300070,2014300070
+2014300071,2014300071
+2014300072,2014300072
+2014300073,2014300073
+2014300074,2014300074
+2014300075,2014300075
+2014300076,2014300076
+2014300077,2014300077
+2014300078,2014300078
+2014300079,2014300079
+2014300080,2014300080
+2014300081,2014300081
+2014300082,2014300082
+2014300083,2014300083
+2014300084,2014300084
+2014300085,2014300085
+2014300086,2014300086
+2014300087,2014300087
+2014300088,2014300088
+2014300089,2014300089
+2014300090,2014300090
+2014300091,2014300091
+2014300092,2014300092
+2014300093,2014300093
+2014300094,2014300094
+2014300095,2014300095
+2014300096,2014300096
+2014300097,2014300097
+2014300098,2014300098
+2014300099,2014300099
+2014300100,2014300100
+2014300101,2014300101
+2014300102,2014300102
+2014300103,2014300103
+2014300104,2014300104
+2014300105,2014300105
+2014300106,2014300106
+2014300107,2014300107
+2014300108,2014300108
+2014300109,2014300109
+2014300110,2014300110
+2014300111,2014300111
+2014300112,2014300112
+2014300113,2014300113
+2014300114,2014300114
+2014300115,2014300115
+2014300116,2014300116
+2014300117,2014300117
+2014300118,2014300118
+2014300119,2014300119
+2014300120,2014300120
+2014300121,2014300121
+2014300122,2014300122
+2014300123,2014300123
+2014300124,2014300124
+2014300125,2014300125
+2014300126,2014300126
+2014300127,2014300127
+2014300128,2014300128
+2014300129,2014300129
+2014300130,2014300130
+2014300131,2014300131
+2014300132,2014300132
+2014300133,2014300133
+2014300134,2014300134
+2014300135,2014300135
+2014300136,2014300136
+2014300137,2014300137
+2014300138,2014300138
+2014300139,2014300139
+2014300140,2014300140
+2014300141,2014300141
+2014300142,2014300142
+2014300143,2014300143
+2014300144,2014300144
+2014300145,2014300145
+2014300146,2014300146
+2014300147,2014300147
+2014300148,2014300148
+2014300149,2014300149
+2014300150,2014300150
+2014300151,2014300151
+2014300152,2014300152
+2014300153,2014300153
+2014300154,2014300154
+2014300155,2014300155
+2014300156,2014300156
+2014300157,2014300157
+2014300158,2014300158
+2014300159,2014300159
+2014300160,2014300160
+2014300161,2014300161
+2014300162,2014300162
+2014300163,2014300163
+2014300164,2014300164
+2014300165,2014300165
+2014300166,2014300166
+2014300167,2014300167
+2014300168,2014300168
+2014300169,2014300169
+2014300170,2014300170
+2014300171,2014300171
+2014300172,2014300172
+2014300173,2014300173
+2014300174,2014300174
+2014300175,2014300175
+2014300176,2014300176
+2014300177,2014300177
+2014300178,2014300178
+2014300179,2014300179
+2014300180,2014300180
+2014300181,2014300181
+2014300182,2014300182
+2014300183,2014300183
+2014300184,2014300184
+2014300185,2014300185
+2014300186,2014300186
+2014300187,2014300187
+2014300188,2014300188
+2014300188f,2014300188
+2014300189,2014300189
+2014300190,2014300190
+2014300191,2014300191
+2014300192,2014300192
+2014300193,2014300193
+2014300194,2014300194
+2014300195,2014300195
+2014300196,2014300196
+2014300197,2014300197
+2014300198,2014300198
+2014300199,2014300199
+2014300200,2014300200
+2014300201,2014300201
+2014300202,2014300202
+2014300203,2014300203
+2014300204,2014300204
+2014300205,2014300205
+2014300206,2014300206
+2014300207,2014300207
+2014300208,2014300208
+2014300209,2014300209
+2014300210,2014300210
+2014300211,2014300211
+2014300212,2014300212
+2014300213,2014300213
+2014300214,2014300214
+2014300215,2014300215
+2014300216,2014300216
+2014300217,2014300217
+2014300218,2014300218
+2014300219,2014300219
+2014300220,2014300220
+2014300221,2014300221
+2014300222,2014300222
+2014300223,2014300223
+2014300224,2014300224
+2014300225,2014300225
+2014300226,2014300226
+2014300227,2014300227
+2014300228,2014300228
+2014300229,2014300229
+2014300230,2014300230
+2014300231,2014300231
+2014300232,2014300232
+2014300233,2014300233
+2014300234,2014300234
+2014300235,2014300235
+2014300236,2014300236
+2014300237,2014300237
+2014300238,2014300238
+2014300239,2014300239
+2014300240,2014300240
+2014300241,2014300241
+2014300242,2014300242
+2014300242f,2014300242
+2014300243,2014300243
+2014300244,2014300244
+2014300245,2014300245
+2014300246,2014300246
+2014300247,2014300247
+2014300248,2014300248
+2014300249,2014300249
+2014300249f,2014300249
+2014300250,2014300250
+2014300251,2014300251
+2014300252,2014300252
+2014300253,2014300253
+2014300254,2014300254
+2014300255,2014300255
+2014300256,2014300256
+2014300257,2014300257
+2014300258,2014300258
+2014300259,2014300259
+2014300260,2014300260
+2014300261,2014300261
+2014300262,2014300262
+2014300263,2014300263
+2014300264,2014300264
+2014300265,2014300265
+2014300266,2014300266
+2014300267,2014300267
+2014300268,2014300268
+2014300269,2014300269
+2014300269f,2014300269
+2014300270,2014300270
+2014300271,2014300271
+2014300272,2014300272
+2014300273,2014300273
+2014300274,2014300274
+2014300275,2014300275
+2014300276,2014300276
+2014300277,2014300277
+2014300278,2014300278
+2014300279,2014300279
+2014300280,2014300280
+2014300281,2014300281
+2014300282,2014300282
+2014300283,2014300283
+2014300284,2014300284
+2014300285,2014300285
+2014300286,2014300286
+2014300287,2014300287
+2014300288,2014300288
+2014300289,2014300289
+2014300290,2014300290
+2014300291,2014300291
+2014300292,2014300292
+2014300293,2014300293
+2014300294,2014300294
+2014300295,2014300295
+2014300296,2014300296
+2014300296f,2014300296
+2014300297,2014300297
+2014300298,2014300298
+2014300299,2014300299
+2014300300,2014300300
+2014300301,2014300301
+2014300302,2014300302
+2014300303,2014300303
+2014300304,2014300304
+2014300305,2014300305
+2014300306,2014300306
+2014300307,2014300307
+2014300308,2020100007
+2014300309,2014300309
+2014300310,2014300310
+2014300311,2014300311
+2014300312,2014300312
+2014300313,2014300313
+2014300314,2014300314
+2014300315,2014300315
+2014300316,2014300316
+2014300317,2014300317
+2014300317f,2014300317
+2014300318,2014300318
+2014300319,2014300319
+2014300320,2014300320
+2014300321,2014300321
+2014300322,2014300322
+2014300323,2014300323
+2014300324,2014300324
+2014300325,2014300325
+2014300326,2014300326
+2014300327,2014300327
+2014300328,2014300328
+2014300329,2014300329
+2014300330,2014300330
+2014300331,2014300331
+2014300332,2014300332
+2014300333,2014300333
+2014300334,2014300334
+2014300335,2014300335
+2014300336,2014300336
+2014300337,2014300337
+2014300338,2014300338
+2014300339,2014300339
+2014300340,2014300340
+2014300341,2014300341
+2014300342,2014300342
+2014300343,2014300343
+2014300344,2014300344
+2014300345,2014300345
+2014300346,2014300346
+2014300347,2014300347
+2014300348,2014300348
+2014300349,2014300349
+2014300350,2014300350
+2014300351,2014300351
+2014300352,2014300352
+2014300353,2014300353
+2014300354,2014300354
+2014300355,2014300355
+2014300356,2014300356
+2014300357,2014300357
+2014300358,2014300358
+2014300359,2014300359
+2014300361,2014300361
+2014300362,2014300362
+2014300363,2014300363
+2014300364,2014300364
+2014300365,2014300365
+2014300366,2014300366
+2014300367,2014300367
+2014300368,2014300368
+2014300369,2014300369
+2014300370,2014300370
+2014300371,2014300371
+2014300372,2014300372
+2014300373,2014300373
+2014300374,2014300374
+2014300375,2014300375
+2014300376,2014300376
+2014300377,2014300377
+2014300378,2014300378
+2014300379,2014300379
+2014300380,2014300380
+2014300381,2014300381
+2014300382,2014300382
+2014300383,2014300383
+2014300384,2014300384
+2014300385,2014300385
+2014300386,2014300386
+2014300387,2014300387
+2014300388,2014300388
+2014300389,2014300389
+2014300390,2014300390
+2014300391,2014300391
+2014300392,2014300392
+2014300393,2014300393
+2014300394,2014300394
+2014300395,2014300395
+2014300396,2014300396
+2014300397,2014300397
+2014300398,2014300398
+2014300399,2014300399
+2014300400,2014300400
+2014300401,2014300401
+2014300402,2014300402
+2014300403,2014300403
+2014300404,2014300404
+2014300405,2014300405
+2014300406,2014300406
+2014300407,2014300407
+2014300408,2014300408
+2014300409,2014300409
+2014300410,2014300410
+2014300411,2014300411
+2014300412,2014300412
+2014300413,2014300413
+2014300414,2014300414
+2014300415,2014300415
+2014300416,2014300416
+2014300417,2014300417
+2014300418,2014300418
+2014300419,2014300419
+2014300420,2014300420
+2014300421,2014300421
+2014300422,2014300422
+2014300423,2014300423
+2014300424,2014300424
+2014300425,2014300425
+2014300427,2014300427
+2014300428,2014300428
+2014300429,2014300429
+2014300430,2014300430
+2014300431,2014300431
+2014300432,2014300432
+2014300433,2014300433
+2014300434,2020100012
+2014300435,2014300435
+2014300436,2014300436
+2014300437,2014300437
+2014300438,2014300438
+2014300439,2014300439
+2014300440,2014300440
+2014300441,2014300441
+2014300442,2014300442
+2014300443,2014300443
+2014300444,2014300444
+2014300445,2014300445
+2014300446,2014300446
+2014300447,2014300447
+2014300448,2014300448
+2014300449,2014300449
+2014300450,2014300450
+2014300451,2014300451
+2014300452,2014300452
+2014300453,2014300453
+2014300454,2014300454
+2014300455,2014300455
+2014300456,2014300456
+2014300457,2014300457
+2014300458,2014300458
+2014300459,2014300459
+2014300460,2014300460
+2014300461,2014300461
+2014300462,2014300462
+2014300463,2014300463
+2014300464,2014300464
+2014300465,2014300465
+2014300466,2014300466
+2014300467,2014300467
+2014300468,2014300468
+2014300469,2014300469
+2014300470,2014300470
+2014300471,2014300471
+2014300472,2014300472
+2014300473,2014300473
+2014300474,2014300474
+2014300475,2014300475
+2014300476,2014300476
+2014300477,2014300477
+2014300478,2014300478
+2014300479,2014300479
+2014300480,2014300480
+2014300481,2014300481
+2014300482,2014300482
+2014300483,2014300483
+2014300484,2014300484
+2014300485,2014300485
+2014300485f,2014300485
+2014300486,2014300486
+2014300487,2014300487
+2014300488,2014300488
+2014300489,2014300489
+2014300490,2014300490
+2014300491,2014300491
+2014300492,2014300492
+2014300493,2014300493
+2014300494,2014300494
+2014300495,2014300495
+2014300496,2014300496
+2014300497,2014300497
+2014300498,2014300498
+2014300499,2014300499
+2014300500,2014300500
+2014300501,2014300501
+2014300502,2014300502
+2014300503,2014300503
+2014300504,2014300504
+2014300505,2014300505
+2014300506,2014300506
+2014300507,2014300507
+2014300508,2014300508
+2014300509,2014300509
+2014300510,2014300510
+2014300511,2014300511
+2014300512,2014300512
+2014300513,2014300513
+2014300514,2014300514
+2014300515,2014300515
+2014300516,2014300516
+2014300517,2014300517
+2014300518,2014300518
+2014300519,2014300519
+2014300520,2014300520
+2014300520f,2014300520
+2014300521,2014300521
+2014300522,2014300522
+2014300523,2014300523
+2014300523f,2014300523
+2014300524,2014300524
+2014300525,2014300525
+2014300526,2014300526
+2014300527,2014300527
+2014300528,2014300528
+2014300529,2014300529
+2014300530,2014300530
+2014300531,2014300531
+2014300532,2014300532
+2014300533,2014300533
+2014300534,2014300534
+2014300535,2014300535
+2014300536,2014300536
+2014300537,2014300537
+2014300538,2014300538
+2014300539,2014300539
+2014300540,2014300540
+2014300541,2014300541
+2014300542,2014300542
+2014300543,2014300543
+2014300543f,2014300543
+2014300544,2014300544
+2014300545,2014300545
+2014300546,2014300546
+2014300546f,2014300546
+2014300547,2014300547
+2014300548,2014300548
+2014300549,2014300549
+2014300550,2014300550
+2014300551,2014300551
+2014300552,2014300552
+2014300553,2014300553
+2014300554,2014300554
+2014300555,2014300555
+2014300556,2014300556
+2014300557,2014300557
+2014300558,2014300558
+2014300559,2014300559
+2014300560,2014300560
+2014300561,2014300561
+2014300562,2014300562
+2014300563,2014300563
+2014300564,2014300564
+2014300565,2014300565
+2014300566,2014300566
+2014300567,2014300567
+2014300568,2014300568
+2014300569,2014300569
+2014300570,2014300570
+2014300571,2014300571
+2014300572,2014300572
+2014300573,2014300573
+2014300574,2014300574
+2014300575,2014300575
+2014300576,2014300576
+2014300577,2014300577
+2014300578,2014300578
+2014300579,2014300579
+2014300580,2014300580
+2014300581,2014300581
+2014300582,2014300582
+2014300583,2014300583
+2014300584,2014300584
+2014300585,2014300585
+2014300586,2014300586
+2014300587,2014300587
+2014300588,2014300588
+2014300589,2014300589
+2014300590,2014300590
+2014300591,2014300591
+2014300592,2014300592
+2014300593,2014300593
+2014300594,2014300594
+2014300595,2014300595
+2014300596,2014300596
+2014300597,2014300597
+2014300598,2014300598
+2014300599,2014300599
+2014300600,2014300600
+2014300601,2014300601
+2014300603,2014300603
+2014300604,2014300604
+2014300605,2014300605
+2014300606,2014300606
+2014300607,2014300607
+2014300608,2014300608
+2014300609,2014300609
+2014300610,2014300610
+2014300611,2014300611
+2014300612,2014300612
+2014300613,2014300613
+2014300614,2014300614
+2014300615,2014300615
+2014300616,2014300616
+2014300617,2014300617
+2014300618,2014300618
+2014300619,2014300619
+2014300620,2014300620
+2014300620f,2014300620
+2014300621,2014300621
+2014300622,2014300622
+2014300623,2014300623
+2014300624,2014300624
+2014300625,2014300625
+2014300626,2014300626
+2014300627,2014300627
+2014300628,2014300628
+2014300629,2014300629
+2014300630,2014300630
+2014300631,2014300631
+2014300632,2014300632
+2014300633,2014300633
+2014300634,2014300634
+2014300635,2014300635
+2014300636,2014300636
+2014300637,2014300637
+2014300638,2014300638
+2014300639,2014300639
+2014300640,2014300640
+2014300641,2014300641
+2014300642,2014300642
+2014300643,2014300643
+2014300644,2014300644
+2014300645,2014300645
+2014300646,2014300646
+2014300647,2014300647
+2014300648,2014300648
+2014300649,2014300649
+2014300650,2014300650
+2014300651,2014300651
+2014300652,2014300652
+2014300653,2014300653
+2014300654,2014300654
+2014300655,2014300655
+2014300656,2014300656
+2014300657,2014300657
+2014300658,2014300658
+2014300659,2014300659
+2014300660,2014300660
+2014300661,2014300661
+2014300662,2014300662
+2014300663,2014300663
+2014300664,2014300664
+2014300665,2014300665
+2014300666,2014300666
+2014300667,2014300667
+2014300668,2014300668
+2014300669,2014300669
+2014300670,2014300670
+2014300671,2014300671
+2014300672,2014300672
+2014300673,2014300673
+2014300674,2014300674
+2014300675,2014300675
+2014300676,2014300676
+2014300677,2014300677
+2014300678,2014300678
+2014300679,2014300679
+2014300680,2014300680
+2014300681,2014300681
+2014300682,2014300682
+2014300683,2014300683
+2014300684,2014300684
+2014300685,2014300685
+2014300686,2014300686
+2014300687,2014300687
+2014300688,2014300688
+2014300689,2014300689
+2014300690,2014300690
+2014300691,2014300691
+2014300692,2014300692
+2014300693,2014300693
+2014300694,2014300694
+2014300695,2014300695
+2014300696,2014300696
+2014300696f,2014300696
+2014300697,2014300697
+2014300698,2014300698
+2014300698f,2014300698
+2014300699,2014300699
+2014300700,2014300700
+2014300701,2014300701
+2014300702,2014300702
+2014300703,2014300703
+2014300704,2014300704
+2014300705,2014300705
+2014300706,2014300706
+2014300707,2014300707
+2014300708,2014300708
+2014300709,2014300709
+2014300710,2014300710
+2014300711,2014300711
+2014300712,2014300712
+2014300713,2014300713
+2014300714,2014300714
+2014300715,2014300715
+2014300716,2014300716
+2014300717,2014300717
+2014300718,2014300718
+2014300719,2014300719
+2014300720,2014300720
+2014300721,2014300721
+2014300722,2014300722
+2014300723,2014300723
+2014300724,2014300724
+2014300725,2014300725
+2014300726,2014300726
+2014300727,2014300727
+2014300728,2014300728
+2014300729,2014300729
+2014300730,2014300730
+2014300731,2014300731
+2014300732,2014300732
+2014300733,2014300733
+2014300734,2014300734
+2014300735,2014300735
+2014300736,2014300736
+2014300737,2014300737
+2014300738,2014300738
+2014300738f,2014300738
+2014300739,2014300739
+2014300740,2014300740
+2014300741,2014300741
+2014300742,2014300742
+2014300743,2014300743
+2014300744,2014300744
+2014300745,2014300745
+2014300746,2014300746
+2014300747,2014300747
+2014300748,2014300748
+2014300749,2014300749
+2014300750,2014300750
+2014300751,2014300751
+2014300753,2014300753
+2014300754,2014300754
+2014300755,2014300755
+2014300756,2014300756
+2014300757,2014300757
+2014300758,2014300758
+2014300759,2014300759
+2014300760,2014300760
+2014300761,2014300761
+2014300762,2014300762
+2014300763,2014300763
+2014300764,2014300764
+2014300765,2014300765
+2014300766,2014300766
+2014300767,2014300767
+2014300768,2014300768
+2014300769,2014300769
+2014300770,2014300770
+2014300771,2014300771
+2014300772,2014300772
+2014300773,2014300773
+2014300774,2014300774
+2014300775,2014300775
+2014300776,2014300776
+2014300777,2014300777
+2014300778,2014300778
+2014300779,2014300779
+2014300780,2014300780
+2014300781,2014300781
+2014300782,2014300782
+2014300783,2014300783
+2014300784,2014300784
+2014300785,2014300785
+2014300786,2014300786
+2014300787,2014300787
+2014300788,2014300788
+2014300789,2014300789
+2014300790,2014300790
+2014300791,2014300791
+2014300792,2014300792
+2014300793,2014300793
+2014300794,2014300794
+2014300795,2014300795
+2014300796,2014300796
+2014300797,2014300797
+2014300798,2014300798
+2014300799,2014300799
+2014300800,2014300800
+2014300801,2014300801
+2014300802,2014300802
+2014300803,2014300803
+2014300804,2014300804
+2014300805,2014300805
+2014300806,2014300806
+2014300807,2014300807
+2014300808,2014300808
+2014300809,2014300809
+2014300810,2014300810
+2014300811,2014300811
+2014300812,2014300812
+2014300813,2014300813
+2014300814,2014300814
+2014300815,2014300815
+2014300816,2014300816
+2014300816f,2014300816
+2014300817,2014300817
+2014300818,2014300818
+2014300819,2014300819
+2014300820,2014300820
+2014300821,2014300821
+2014300822,2014300822
+2014300823,2014300823
+2014300824,2014300824
+2014300825,2014300825
+2014300825f,2014300825
+2014300826,2014300826
+2014300827,2014300827
+2014300828,2014300828
+2014300829,2014300829
+2014300830,2014300830
+2014300831,2014300831
+2014300832,2014300832
+2014300833,2014300833
+2014300834,2014300834
+2014300835,2014300835
+2014300836,2014300836
+2014300837,2014300837
+2014300838,2014300838
+2014300839,2014300839
+2014300840,2014300840
+2014300841,2014300841
+2014300842,2014300842
+2014300843,2014300843
+2014300844,2014300844
+2014300845,2014300845
+2014300846,2014300846
+2014300847,2014300847
+2014300848,2014300848
+2014300849,2014300849
+2014300850,2014300850
+2014300851,2014300851
+2014300852,2014300852
+2014300853,2014300853
+2014300854,2014300854
+2014300855,2014300855
+2014300856,2014300856
+2014300857,2014300857
+2014300858,2014300858
+2014300859,2014300859
+2014300860,2014300860
+2014300861,2014300861
+2014300862,2014300862
+2014300863,2014300863
+2014300864,2014300864
+2014300865,2014300865
+2014300866,2014300866
+2014300867,2014300867
+2014300868,2014300868
+2014300869,2014300869
+2014300870,2014300870
+2014300871,2014300871
+2014300872,2014300872
+2014300873,2014300873
+2014300874,2014300874
+2014300875,2014300875
+2014300876,2014300876
+2014300877,2014300877
+2014300878,2014300878
+2014300879,2014300879
+2014300880,2014300880
+2014300881,2014300881
+2014300882,2014300882
+2014300883,2014300883
+2014300885,2014300885
+2014300886,2014300886
+2014300887,2014300887
+2014300888,2014300888
+2014300889,2014300889
+2014300890,2014300890
+2014300891,2014300891
+2014300892,2014300892
+2014300893,2014300893
+2014300894,2014300894
+2014300895,2014300895
+2014300896,2014300896
+2014300897,2014300897
+2014300898,2014300898
+2014300899,2014300899
+2014300900,2014300900
+2014300901,2014300901
+2014300903,2014300903
+2014300904,2014300904
+2014300905,2014300905
+2014300906,2014300906
+2014300906f,2014300906
+2014300907,2014300907
+2014300908,2014300908
+2014300909,2014300909
+2014300910,2014300910
+2014300911,2014300911
+2014300912,2014300912
+2014300913,2014300913
+2014300914,2014300914
+2014300914f,2014300914
+2014300915,2014300915
+2014300916,2014300916
+2014300917,2014300917
+2014300918,2014300918
+2014300919,2014300919
+2014300920,2014300920
+2014300921,2014300921
+2014300922,2014300922
+2014300923,2014300923
+2014300924,2014300924
+2014300925,2014300925
+2014300926,2014300926
+2014300927,2014300927
+2014300928,2014300928
+2014300929,2014300929
+2014300929f,2014300929
+2014300930,2014300930
+2014300931,2014300931
+2014300932,2014300932
+2014300933,2014300933
+2014300934,2014300934
+2014300935,2014300935
+2014300936,2014300936
+2014300937,2014300937
+2014300938,2014300938
+2014300939,2014300939
+2014300940,2014300940
+2014300941,2014300941
+2014300942,2014300942
+2014300943,2014300943
+2014300944,2014300944
+2014300945,2014300945
+2014300946,2014300946
+2014300947,2014300947
+2014300948,2014300948
+2014300949,2014300949
+2014300950,2014300950
+2014300951,2014300951
+2014300952,2014300952
+2014300953,2014300953
+2014300954,2014300954
+2014300955,2014300955
+2014300956,2014300956
+2014300957,2014300957
+2014300958,2014300958
+2014300959,2014300959
+2014300960,2014300960
+2014300961,2014300961
+2014300962,2014300962
+2014300963,2014300963
+2014300964,2014300964
+2014300965,2014300965
+2014300966,2014300966
+2014300967,2014300967
+2014300968,2014300968
+2014300969,2014300969
+2014300970,2014300970
+2014300971,2014300971
+2014300972,2014300972
+2014300973,2014300973
+2014300974,2014300974
+2014300975,2014300975
+2014300976,2014300976
+2014300977,2014300977
+2014300978,2014300978
+2014300979,2014300979
+2014300980,2014300980
+2014300981,2014300981
+2014300982,2014300982
+2014300983,2014300983
+2014300984,2014300984
+2014300985,2014300985
+2014300986,2014300986
+2014300987,2014300987
+2014300988,2014300988
+2014300989,2014300989
+2014300990,2014300990
+2014300991,2014300991
+2014300992,2014300992
+2014300993,2014300993
+2014300994,2014300994
+2014300995,2014300995
+2014300996,2014300996
+2014300997,2014300997
+2014300998,2014300998
+2014300999,2014300999
+2014301000,2014301000
+2014301001,2014301001
+2014301002,2014301002
+2014301003,2014301003
+2014301004,2014301004
+2014301005,2014301005
+2014301006,2014301006
+2014301007,2014301007
+2014301008,2014301008
+2014301009,2014301009
+2014301010,2014301010
+2014301011,2014301011
+2014301012,2014301012
+2014301013,2014301013
+2014301014,2014301014
+2014301015,2014301015
+2014301016,2014301016
+2014301017,2014301017
+2014301018,2014301018
+2014301019,2014301019
+2014301020,2014301020
+2014301021,2014301021
+2014301022,2014301022
+2014301023,2014301023
+2014301024,2014301024
+2014301025,2014301025
+2014301026,2014301026
+2014301027,2014301027
+2014301028,2014301028
+2014301028f,2014301028
+2014301029,2014301029
+2014301030,2014301030
+2014301031,2014301031
+2014301032,2014301032
+2014301033,2014301033
+2014301034,2014301034
+2014301035,2014301035
+2014301036,2014301036
+2014301037,2014301037
+2014301038,2014301038
+2014301039,2014301039
+2014301040,2014301040
+2014301040f,2014301040f
+2014301041,2014301041
+2014301042,2014301042
+2014301043,2014301043
+2014301044,2014301044
+2014301045,2014301045
+2014301046,2014301046
+2014301047,2014301047
+2014301048,2014301048
+2014301049,2014301049
+2014301050,2014301050
+2014301051,2014301051
+2014301052,2014301052
+2014301053,2014301053
+2014301054,2014301054
+2014301055,2014301055
+2014301056,2014301056
+2014301057,2014301057
+2014301058,2014301058
+2014301059,2014301059
+2014301060,2014301060
+2014301061,2014301061
+2014301062,2014301062
+2014301063,2014301063
+2014301064,2014301064
+2014301065,2014301065
+2014301066,2014301066
+2014301067,2014301067
+2014301068,2014301068
+2014301069,2014301069
+2014301070,2014301070
+2014301071,2014301071
+2014301072,2014301072
+2014301073,2014301073
+2014301074,2014301074
+2014301075,2014301075
+2014301076,2014301076
+2014301077,2014301077
+2014301078,2014301078
+2014301079,2014301079
+2014301080,2014301080
+2014301081,2014301081
+2014301082,2014301082
+2014301083,2014301083
+2014301084,2014301084
+2014301085,2014301085
+2014301086,2014301086
+2014301087,2014301087
+2014301088,2014301088
+2014301089,2014301089
+2014301090,2014301090
+2014301091,2014301091
+2014301092,2014301092
+2014301093,2014301093
+2014301094,2014301094
+2014301095,2014301095
+2014301096,2014301096
+2014301097,2014301097
+2014301098,2014301098
+2014301099,2014301099
+2014301100,2014301100
+2014301101,2014301101
+2014301102,2014301102
+2014301103,2014301103
+2014301104,2014301104
+2014301105,2014301105
+2014301106,2014301106
+2014301107,2014301107
+2014301108,2014301108
+2014301109,2014301109
+2014301110,2014301110
+2014301111,2014301111
+2014301112,2014301112
+2014301113,2014301113
+2014301114,2014301114
+2014301115,2014301115
+2014301116,2014301116
+2014301117,2014301117
+2014301118,2014301118
+2014301119,2014301119
+2014301120,2014301120
+2014301121,2014301121
+2014301122,2014301122
+2014301123,2014301123
+2014301124,2014301124
+2014301125,2014301125
+2014301126,2014301126
+2014301127,2014301127
+2014301128,2014301128
+2014301129,2014301129
+2014301130,2014301130
+2014301131,2014301131
+2014301132,2014301132
+2014301133,2014301133
+2014301134,2014301134
+2014301135,2014301135
+2014301136,2014301136
+2014301137,2014301137
+2014301138,2014301138
+2014301139,2014301139
+2014301140,2014301140
+2014301141,2014301141
+2014301142,2014301142
+2014301143,2014301143
+2014301144,2014301144
+2014301145,2014301145
+2014301146,2014301146
+2014301147,2014301147
+2014301148,2014301148
+2014301149,2014301149
+2014301150,2014301150
+2014301151,2014301151
+2014301152,2014301152
+2014301153,2014301153
+2014301154,2014301154
+2014301155,2014301155
+2014301156,2014301156
+2014301157,2014301157
+2014301158,2014301158
+2014301159,2014301159
+2014301160,2014301160
+2014301161,2014301161
+2014301162,2014301162
+2014301163,2014301163
+2014301164,2014301164
+2014301165,2014301165
+2014301166,2014301166
+2014301167,2014301167
+2014301168,2014301168
+2014301169,2014301169
+2014301170,2014301170
+2014301171,2014301171
+2014301172,2014301172
+2014301173,2014301173
+2014301174,2014301174
+2014301175,2014301175
+2014301176,2014301176
+2014301177,2014301177
+2014301178,2014301178
+2014301179,2014301179
+2014301180,2014301180
+2014301181,2014301181
+2014301182,2014301182
+2014301183,2014301183
+2014301184,2014301184
+2014301185,2014301185
+2014301186,2014301186
+2014301187,2014301187
+2014301188,2014301188
+2014301189,2014301189
+2014301190,2014301190
+2014301191,2014301191
+2014301192,2014301192
+2014301193,2014301193
+2014301194,2014301194
+2014301195,2014301195
+2014301196,2014301196
+2014301197,2014301197
+2014301198,2014301198
+2014301199,2014301199
+2014301200,2014301200
+2014301201,2014301201
+2014301202,2014301202
+2014301203,2014301203
+2014301204,2014301204
+2014301205,2014301205
+2014301206,2014301206
+2014301207,2014301207
+2014301208,2014301208
+2014301209,2014301209
+2014301210,2014301210
+2014301211,2014301211
+2014301212,2014301212
+2014301213,2014301213
+2014301214,2014301214
+2014301215,2014301215
+2014301216,2014301216
+2014301217,2014301217
+2014301218,2014301218
+2014301219,2014301219
+2014301220,2014301220
+2014301221,2014301221
+2014301222,2014301222
+2014301223,2014301223
+2014301224,2014301224
+2014301225,2014301225
+2014301226,2014301226
+2014301227,2014301227
+2014301228,2014301228
+2014301229,2014301229
+2014301230,2014301230
+2014301231,2014301231
+2014301232,2014301232
+2014301233,2014301233
+2014301234,2014301234
+2014301235,2014301235
+2014301236,2014301236
+2014301237,2014301237
+2014301238,2014301238
+2014301239,2014301239
+2014301240,2014301240
+2014301241,2014301241
+2014301242,2014301242
+2014301243,2014301243
+2014301244,2014301244
+2014301245,2014301245
+2014301246,2014301246
+2014301247,2014301247
+2014301248,2014301248
+2014301249,2014301249
+2014301250,2014301250
+2014301251,2014301251
+2014301252,2014301252
+2014301253,2014301253
+2014301254,2014301254
+2014301255,2014301255
+2014301256,2014301256
+2014301257,2014301257
+2014301258,2014301258
+2014301259,2014301259
+2014301260,2014301260
+2014301261,2014301261
+2014301262,2014301262
+2014301263,2014301263
+2014301264,2014301264
+2014301265,2014301265
+2014301266,2014301266
+2014301267,2014301267
+2014301268,2014301268
+2014301269,2014301269
+2014301270,2014301270
+2014301271,2014301271
+2014301272,2014301272
+2014301273,2014301273
+2014301274,2014301274
+2014301275,2014301275
+2014301276,2014301276
+2014301277,2014301277
+2014301278,2014301278
+2014301279,2014301279
+2014301280,2014301280
+2014301281,2014301281
+2014301282,2014301282
+2014301283,2014301283
+2014301284,2014301284
+2014301285,2014301285
+2014301286,2014301286
+2014301287,2014301287
+2014301288,2014301288
+2014301289,2014301289
+2014301290,2014301290
+2014301291,2014301291
+2014301292,2014301292
+2014301293,2014301293
+2014301294,2014301294
+2014301295,2014301295
+2014301296,2014301296
+2014301297,2014301297
+2014301298,2014301298
+2014301299,2014301299
+2014301300,2014301300
+2014301301,2014301301
+2014301302,2014301302
+2014301303,2014301303
+2014301304,2014301304
+2014301305,2014301305
+2014301306,2014301306
+2014301307,2014301307
+2014301308,2014301308
+2014301308f,2014301308
+2014301309,2014301309
+2014301310,2014301310
+2014301310f,2014301310f
+2014301311,2014301311
+2014301312,2014301312
+2014301313,2014301313
+2014301314,2014301314
+2014301315,2014301315
+2014301316,2014301316
+2014301317,2014301317
+2014301318,2014301318
+2014301319,2014301319
+2014301320,2014301320
+2014301321,2014301321
+2014301322,2014301322
+2014301323,2014301323
+2014301324,2014301324
+2014301325,2014301325
+2014301326,2014301326
+2014301327,2014301327
+2014301328,2014301328
+2014301329,2014301329
+2014301330,2014301330
+2014301331,2014301331
+2014301332,2014301332
+2014301333,2014301333
+2014301334,2014301334
+2014301335,2014301335
+2014301336,2014301336
+2014301337,2014301337
+2014301339,2014301339
+2014301340,2014301340
+2014301341,2014301341
+2014301342,2014301342
+2014301343,2014301343
+2014301344,2014301344
+2014301345,2014301345
+2014301346,2014301346
+2014301347,2014301347
+2014301348,2014301348
+2014301349,2014301349
+2014301350,2014301350
+2014301351,2014301351
+2014301352,2014301352
+2014301353,2014301353
+2014301354,2014301354
+2014301355,2014301355
+2014301356,2014301356
+2014301357,2014301357
+2014301358,2014301358
+2014301359,2014301359
+2014301360,2014301360
+2014301361,2014301361
+2014301362,2014301362
+2014301363,2014301363
+2014301364,2014301364
+2014301365,2014301365
+2014301366,2014301366
+2014301367,2014301367
+2014301368,2014301368
+2014301369,2014301369
+2014301370,2014301370
+2014301371,2014301371
+2014301372,2014301372
+2014301373,2014301373
+2014301374,2014301374
+2014301375,2014301375
+2014301376,2014301376
+2014301377,2014301377
+2014301378,2014301378
+2014301379,2014301379
+2014301380,2014301380
+2014301381,2014301381
+2014301382,2014301382
+2014301383,2014301383
+2014301384,2014301384
+2014301385,2014301385
+2014301386,2014301386
+2014301387,2014301387
+2014301388,2014301388
+2014301389,2014301389
+2014301390,2014301390
+2014301391,2014301391
+2014301392,2014301392
+2014301393,2014301393
+2014301394,2014301394
+2014301395,2014301395
+2014301396,2014301396
+2014301397,2014301397
+2014301398,2014301398
+2014301399,2014301399
+2014301400,2014301400
+2014301401,2014301401
+2014301402,2014301402
+2014301403,2014301403
+2014301404,2014301404
+2014301405,2014301405
+2014301406,2014301406
+2014301407,2014301407
+2014301408,2014301408
+2014301409,2014301409
+2014301410,2014301410
+2014301411,2014301411
+2014301412,2014301412
+2014301413,2014301413
+2014301414,2014301414
+2014301415,2014301415
+2014301416,2014301416
+2014301417,2014301417
+2014301418,2014301418
+2014301419,2014301419
+2014301420,2014301420
+2014301421,2014301421
+2014301422,2014301422
+2014301423,2014301423
+2014301424,2014301424
+2014301425,2014301425
+2014301426,2014301426
+2014301427,2014301427
+2014301428,2014301428
+2014301429,2014301429
+2014301430,2014301430
+2014301431,2014301431
+2014301432,2014301432
+2014301433,2014301433
+2014301434,2014301434
+2014301435,2014301435
+2014301436,2014301436
+2014301437,2014301437
+2014301438,2014301438
+2014301439,2014301439
+2014301440,2014301440
+2014301441,2014301441
+2014301442,2014301442
+2014301443,2014301443
+2014301444,2014301444
+2014301445,2014301445
+2014301446,2014301446
+2014301447,2014301447
+2014301448,2014301448
+2014301449,2014301449
+2014301450,2014301450
+2014301451,2014301451
+2014301452,2014301452
+2014301453,2014301453
+2014301454,2014301454
+2014301455,2014301455
+2014301456,2014301456
+2014301457,2014301457
+2014301458,2014301458
+2014301459,2014301459
+2014301460,2014301460
+2014301461,2014301461
+2014301462,2014301462
+2014301463,2014301463
+2014301464,2014301464
+2014301465,2014301465
+2014301467,2014301467
+2014301468,2014301468
+2014301469,2014301469
+2014301470,2014301470
+2014301471,2014301471
+2014301472,2014301472
+2014301473,2014301473
+2014301474,2014301474
+2014301475,2014301475
+2014301476,2014301476
+2014301477,2014301477
+2014301478,2014301478
+2014301479,2014301479
+2014301480,2014301480
+2014301481,2014301481
+2014301482,2014301482
+2014301483,2014301483
+2014301484,2014301484
+2014301485,2014301485
+2014301485f,2014301485
+2014301486,2014301486
+2014301487,2014301487
+2014301488,2014301488
+2014301489,2014301489
+2014301490,2014301490
+2014301491,2014301491
+2014301492,2014301492
+2014301493,2014301493
+2014301494,2014301494
+2014301495,2014301495
+2014301496,2014301496
+2014301497,2014301497
+2014301498,2014301498
+2014301499,2014301499
+2014301500,2014301500
+2014301501,2014301501
+2014301502,2014301502
+2014301503,2014301503
+2014301504,2014301504
+2014301505,2014301505
+2014301506,2014301506
+2014301507,2014301507
+2014301508,2014301508
+2014301509,2014301509
+2014301510,2014301510
+2014301511,2014301511
+2014301512,2014301512
+2014301513,2014301513
+2014301513f,2014301513
+2014301514,2014301514
+2014301515,2014301515
+2014301516,2014301516
+2014301517,2014301517
+2014301518,2014301518
+2014301519,2014301519
+2014301520,2014301520
+2014301521,2014301521
+2014301522,2014301522
+2014301523,2014301523
+2014301524,2014301524
+2014301524f,2014301524
+2014301525,2014301525
+2014301526,2014301526
+2014301527,2014301527
+2014301528,2014301528
+2014301529,2014301529
+2014301530,2014301530
+2014301531,2014301531
+2014301531f,2014301531
+2014301532,2014301532
+2014301533,2014301533
+2014301534,2014301534
+2014301535,2014301535
+2014301536,2014301536
+2014301537,2014301537
+2014301538,2014301538
+2014301539,2014301539
+2014301540,2014301540
+2014301541,2014301541
+2014301542,2014301542
+2014301543,2014301543
+2014301544,2014301544
+2014301545,2014301545
+2014301546,2014301546
+2014301547,2014301547
+2014301548,2014301548
+2014301549,2014301549
+2014301550,2014301550
+2014301551,2014301551
+2014301552,2014301552
+2014301553,2014301553
+2014301554,2014301554
+2014301555,2014301555
+2014301556,2014301556
+2014301557,2020100245
+2014301558,2014301558
+2014301559,2014301559
+2014301560,2014301560
+2014301561,2014301561
+2014301562,2014301562
+2014301563,2014301563
+2014301564,2014301564
+2014301565,2014301565
+2014301566,2014301566
+2014301567,2014301567
+2014301568,2014301568
+2014301569,2014301569
+2014301570,2014301570
+2014301571,2014301571
+2014301572,2014301572
+2014301573,2014301573
+2014301574,2014301574
+2014301575,2014301575
+2014301576,2014301576
+2014301577,2014301577
+2014301578,2014301578
+2014301579,2014301579
+2014301580,2014301580
+2014301581,2014301581
+2014301582,2014301582
+2014301583,2014301583
+2014301584,2014301584
+2014301585,2014301585
+2014301586,2014301586
+2014301587,2014301587
+2014301588,2014301588
+2014301590,2014301590
+2014301591,2014301591
+2014301592,2014301592
+2014301593,2014301593
+2014301594,2014301594
+2014301595,2014301595
+2014301596,2014301596
+2014301597,2014301597
+2014301598,2014301598
+2014301599,2014301599
+2014301600,2014301600
+2014301601,2014301601
+2014301602,2014301602
+2014301603,2014301603
+2014301604,2014301604
+2014301606,2014301606
+2014301607,2014301607
+2014301608,2014301608
+2014301609,2014301609
+2014301610,2014301610
+2014301611,2014301611
+2014301612,2014301612
+2014301613,2014301613
+2014301614,2014301614
+2014301615,2014301615
+2014301616,2014301616
+2014301618,2014301618
+2014301619,2014301619
+2014301620,2014301620
+2014301621,2014301621
+2014301622,2014301622
+2014301623,2014301623
+2014301624,2014301624
+2014301625,2014301625
+2014301626,2014301626
+2014301627,2014301627
+2014301628,2014301628
+2014301629,2014301629
+2014301630,2014301630
+2014301631,2014301631
+2014301632,2014301632
+2014301633,2014301633
+2014301634,2014301634
+2014301635,2014301635
+2014301636,2014301636
+2014301637,2014301637
+2014301638,2014301638
+2014301639,2014301639
+2014301640,2014301640
+2014301641,2014301641
+2014301642,2014301642
+2014301643,2014301643
+2014301644,2014301644
+2014301645,2014301645
+2014301646,2014301646
+2014301647,2014301647
+2014301648,2014301648
+2014301649,2014301649
+2014301650,2014301650
+2014301651,2014301651
+2014301652,2014301652
+2014301653,2014301653
+2014301654,2014301654
+2014301655,2014301655
+2014301656,2014301656
+2014301657,2014301657
+2014301658,2014301658
+2014301659,2014301659
+2014301660,2014301660
+2014301661,2014301661
+2014301662,2014301662
+2014301663,2014301663
+2014301664,2014301664
+2014301665,2014301665
+2014301666,2014301666
+2014301667,2014301667
+2014301668,2014301668
+2014301669,2014301669
+2014301670,2014301670
+2014301671,2014301671
+2014301672,2014301672
+2014301673,2014301673
+2014301674,2014301674
+2014301675,2014301675
+2014301676,2014301676
+2014301677,2014301677
+2014301678,2014301678
+2014301679,2014301679
+2014301680,2014301680
+2014301681,2014301681
+2014301682,2014301682
+2014301683,2014301683
+2014301684,2014301684
+2014301685,2014301685
+2014301686,2014301686
+2014301687,2014301687
+2014301688,2014301688
+2014301689,2014301689
+2014301690,2014301690
+2014301691,2014301691
+2014301692,2014301692
+2014301693,2014301693
+2014301694,2014301694
+2014301695,2014301695
+2014301696,2014301696
+2014301697,2014301697
+2014301698,2014301698
+2014301699,2014301699
+2014301700,2014301700
+2014301701,2014301701
+2014301702,2014301702
+2014301703,2014301703
+2014301704,2014301704
+2014301705,2014301705
+2014301706,2014301706
+2014301707,2014301707
+2014301708,2014301708
+2014301709,2014301709
+2014301710,2014301710
+2014301711,2014301711
+2014301712,2014301712
+2014301713,2014301713
+2014301714,2014301714
+2014301715,2014301715
+2014301716,2014301716
+2014301717,2014301717
+2014301718,2014301718
+2014301719,2014301719
+2014301720,2014301720
+2014301721,2014301721
+2014301722,2014301722
+2014301723,2014301723
+2014301724,2014301724
+2014301725,2014301725
+2014301726,2014301726
+2014301727,2014301727
+2014301728,2014301728
+2014301729,2014301729
+2014301730,2014301730
+2014301731,2014301731
+2014301732,2014301732
+2014301733,2014301733
+2014301734,2014301734
+2014301735,2014301735
+2014301736,2014301736
+2014301737,2014301737
+2014301738,2014301738
+2014301739,2014301739
+2014301740,2014301740
+2014301741,2014301741
+2014301742,2014301742
+2014301743,2014301743
+2014301744,2014301744
+2014301745,2014301745
+2014301746,2014301746
+2014301747,2014301747
+2014301748,2014301748
+2014301749,2014301749
+2014301750,2014301750
+2014301751,2014301751
+2014301752,2014301752
+2014301753,2014301753
+2014301754,2014301754
+2014301755,2014301755
+2014301756,2014301756
+2014301757,2014301757
+2014301758,2014301758
+2014301759,2014301759
+2014301760,2014301760
+2014301761,2014301761
+2014301762,2014301762
+2014301763,2014301763
+2014301764,2014301764
+2014301765,2014301765
+2014301766,2014301766
+2014301767,2014301767
+2014301768,2014301768
+2014301769,2014301769
+2014301770,2014301770
+2014301771,2014301771
+2014301772,2014301772
+2014301773,2014301773
+2014301774,2014301774
+2014301775,2014301775
+2014301776,2014301776
+2014301777,2014301777
+2014301778,2014301778
+2014301779,2014301779
+2014301780,2014301780
+2014301781,2014301781
+2014301782,2014301782
+2014301783,2014301783
+2014301784,2014301784
+2014301785,2014301785
+2014301786,2014301786
+2014301787,2014301787
+2014301788,2014301788
+2014301789,2014301789
+2014301790,2014301790
+2014301791,2014301791
+2014301792,2014301792
+2014301793,2014301793
+2014301794,2014301794
+2014301795,2014301795
+2014301796,2014301796
+2014301797,2014301797
+2014301798,2014301798
+2014301799,2014301799
+2014301800,2014301800
+2014301801,2014301801
+2014301802,2014301802
+2014301803,2014301803
+2014301804,2014301804
+2014301805,2014301805
+2014301806,2014301806
+2014301807,2014301807
+2014301808,2014301808
+2014301809,2014301809
+2014301810,2014301810
+2014301811,2014301811
+2014301812,2014301812
+2014301813,2014301813
+2014301814,2014301814
+2014301815,2014301815
+2014301816,2014301816
+2014301817,2014301817
+2014301818,2014301818
+2014301819,2014301819
+2014301820,2014301820
+2014301821,2014301821
+2014301822,2014301822
+2014301823,2014301823
+2014301824,2014301824
+2014301825,2014301825
+2014301826,2014301826
+2014301827,2014301827
+2014301828,2014301828
+2014301829,2014301829
+2014301830,2014301830
+2014301831,2014301831
+2014301832,2014301832
+2014301833,2014301833
+2014301834,2014301834
+2014301835,2014301835
+2014301836,2014301836
+2014301837,2014301837
+2014301838,2014301838
+2014301839,2014301839
+2014301840,2014301840
+2014301841,2014301841
+2014301842,2014301842
+2014301843,2014301843
+2014301844,2014301844
+2014301845,2014301845
+2014301846,2014301846
+2014301847,2014301847
+2014301848,2014301848
+2014301849,2014301849
+2014301850,2014301850
+2014301851,2014301851
+2014301852,2014301852
+2014301853,2014301853
+2014301854,2014301854
+2014301855,2014301855
+2014301856,2014301856
+2014301857,2014301857
+2014301858,2014301858
+2014301859,2014301859
+2014301860,2014301860
+2014301861,2014301861
+2014301862,2014301862
+2014301863,2014301863
+2014301864,2014301864
+2014301865,2014301865
+2014301866,2014301866
+2014301867,2014301867
+2014301868,2014301868
+2014301869,2014301869
+2014301870,2014301870
+2014301871,2014301871
+2014301872,2014301872
+2014301873,2014301873
+2014301874,2014301874
+2014301875,2014301875
+2014301876,2014301876
+2014301877,2014301877
+2014301878,2014301878
+2014301879,2014301879
+2014301880,2014301880
+2014301881,2014301881
+2014301882,2014301882
+2014301883,2014301883
+2014301884,2014301884
+2014301885,2014301885
+2014301886,2014301886
+2014301887,2014301887
+2014301888,2014301888
+2014301889,2014301889
+2014301890,2014301890
+2014301891,2014301891
+2014301892,2014301892
+2014301893,2014301893
+2014301894,2014301894
+2014301895,2014301895
+2014301896,2014301896
+2014301897,2014301897
+2014301898,2014301898
+2014301899,2014301899
+2014301900,2014301900
+2014301901,2014301901
+2014301902,2014301902
+2014301903,2014301903
+2014301904,2014301904
+2014301905,2014301905
+2014301906,2014301906
+2014301907,2014301907
+2014301908,2014301908
+2014301909,2014301909
+2014301910,2014301910
+2014301911,2014301911
+2014301912,2014301912
+2014301913,2014301913
+2014301914,2014301914
+2014301915,2014301915
+2014301916,2014301916
+2014301917,2014301917
+2014301918,2014301918
+2014301919,2014301919
+2014301920,2014301920
+2014301920f,2014301920
+2014301921,2014301921
+2014301922,2014301922
+2014301923,2014301923
+2014301924,2014301924
+2014301925,2014301925
+2014301926,2014301926
+2014301927,2014301927
+2014301928,2014301928
+2014301929,2014301929
+2014301930,2014301930
+2014301931,2014301931
+2014301932,2014301932
+2014301933,2014301933
+2014301934,2014301934
+2014301935,2014301935
+2014301936,2014301936
+2014301937,2014301937
+2014301938,2014301938
+2014301939,2014301939
+2014301940,2014301940
+2014301941,2014301941
+2014301942,2014301942
+2014301943,2014301943
+2014301944,2014301944
+2014301945,2014301945
+2014301946,2014301946
+2014301947,2014301947
+2014301948,2014301948
+2014301949,2014301949
+2014301950,2014301950
+2014301952,2014301952
+2014301953,2014301953
+2014301954,2014301954
+2014301955,2014301955
+2014301956,2014301956
+2014301957,2014301957
+2014301958,2014301958
+2014301959,2014301959
+2014301960,2014301960
+2014301961,2014301961
+2014301962,2014301962
+2014301963,2014301963
+2014301964,2014301964
+2014301965,2014301965
+2014301966,2014301966
+2014301967,2014301967
+2014301968,2014301968
+2014301969,2014301969
+2014301970,2014301970
+2014301971,2014301971
+2014301972,2014301972
+2014301973,2014301973
+2014301974,2014301974
+2014301975,2014301975
+2014301976,2014301976
+2014301977,2014301977
+2014301978,2014301978
+2014301979,2014301979
+2014301980,2014301980
+2014301981,2014301981
+2014301982,2014301982
+2014301983,2014301983
+2014301984,2014301984
+2014301985,2014301985
+2014301986,2014301986
+2014301987,2014301987
+2014301988,2014301988
+2014301989,2014301989
+2014301990,2014301990
+2014301991,2014301991
+2014301992,2014301992
+2014301993,2014301993
+2014301994,2014301994
+2014301995,2014301995
+2014301996,2014301996
+2014301997,2014301997
+2014301998,2014301998
+2014301999,2014301999
+2014302000,2014302000
+2014302001,2014302001
+2014302002,2014302002
+2014302003,2014302003
+2014302004,2014302004
+2014302005,2014302005
+2014302006,2014302006
+2014302007,2014302007
+2014302008,2014302008
+2014302009,2014302009
+2014302010,2014302010
+2014302011,2014302011
+2014302012,2014302012
+2014302013,2014302013
+2014302015,2014302015
+2014302016,2014302016
+2014302017,2014302017
+2014302018,2014302018
+2014302019,2014302019
+2014302020,2014302020
+2014302021,2014302021
+2014302022,2014302022
+2014302023,2014302023
+2014302024,2014302024
+2014302025,2014302025
+2014302026,2014302026
+2014302027,2014302027
+2014302028,2014302028
+2014302029,2014302029
+2014302030,2014302030
+2014302031,2014302031
+2014302032,2014302032
+2014302033,2014302033
+2014302034,2014302034
+2014302035,2014302035
+2014302036,2014302036
+2014302037,2014302037
+2014302038,2014302038
+2014302039,2014302039
+2014302040,2014302040
+2014302041,2014302041
+2014302042,2014302042
+2014302043,2014302043
+2014302044,2014302044
+2014302045,2014302045
+2014302046,2014302046
+2014302047,2014302047
+2014302048,2014302048
+2014302049,2014302049
+2014302050,2014302050
+2014302051,2014302051
+2014302052,2014302052
+2014302053,2014302053
+2014302054,2014302054
+2014302055,2014302055
+2014302056,2014302056
+2014302057,2014302057
+2014302058,2014302058
+2014302059,2014302059
+2014302060,2014302060
+2014302061,2014302061
+2014302062,2014302062
+2014302063,2014302063
+2014302064,2014302064
+2014302065,2014302065
+2014302066,2014302066
+2014302067,2014302067
+2014302068,2014302068
+2014302069,2014302069
+2014302070,2014302070
+2014302071,2014302071
+2014302072,2014302072
+2014302073,2014302073
+2014302074,2014302074
+2014302075,2014302075
+2014302076,2014302076
+2014302077,2014302077
+2014302078,2014302078
+2014302079,2014302079
+2014302080,2014302080
+2014302081,2014302081
+2014302082,2014302082
+2014302083,2014302083
+2014302084,2014302084
+2014302085,2014302085
+2014302086,2014302086
+2014302087,2014302087
+2014302088,2014302088
+2014302089,2014302089
+2014302090,2014302090
+2014302091,2014302091
+2014302092,2014302092
+2014302093,2014302093
+2014302094,2014302094
+2014302095,2014302095
+2014302096,2014302096
+2014302097,2014302097
+2014302098,2014302098
+2014302099,2014302099
+2014302100,2014302100
+2014302101,2014302101
+2014302102,2014302102
+2014302103,2014302103
+2014302104,2014302104
+2014302105,2014302105
+2014302106,2014302106
+2014302107,2014302107
+2014302108,2014302108
+2014302109,2014302109
+2014302110,2014302110
+2014302111,2014302111
+2014302112,2014302112
+2014302113,2014302113
+2014302114,2014302114
+2014302115,2014302115
+2014302116,2014302116
+2014302117,2014302117
+2014302118,2014302118
+2014302119,2014302119
+2014302120,2014302120
+2014302121,2014302121
+2014302122,2014302122
+2014302123,2014302123
+2014302124,2014302124
+2014302125,2014302125
+2014302126,2014302126
+2014302127,2014302127
+2014302128,2014302128
+2014302129,2014302129
+2014302130,2014302130
+2014302131,2014302131
+2014302132,2014302132
+2014302133,2014302133
+2014302134,2014302134
+2014302135,2014302135
+2014302136,2014302136
+2014302137,2014302137
+2014302138,2014302138
+2014302139,2014302139
+2014302140,2014302140
+2014302141,2014302141
+2014302142,2014302142
+2014302143,2014302143
+2014302144,2014302144
+2014302145,2014302145
+2014302146,2014302146
+2014302147,2014302147
+2014302148,2014302148
+2014302149,2014302149
+2014302150,2014302150
+2014302151,2014302151
+2014302152,2014302152
+2014302153,2014302153
+2014302154,2014302154
+2014302154f,2014302154
+2014302155,2014302155
+2014302156,2014302156
+2014302157,2014302157
+2014302158,2014302158
+2014302159,2014302159
+2014302160,2014302160
+2014302161,2014302161
+2014302161f,2014302161
+2014302162,2014302162
+2014302162f,2014302162
+2014302163,2014302163
+2014302164,2014302164
+2014302164f,2014302164
+2014302165,2014302165
+2014302166,2014302166
+2014302167,2014302167
+2014302168,2014302168
+2014302169,2014302169
+2014302170,2014302170
+2014302171,2014302171
+2014302172,2014302172
+2014302173,2014302173
+2014302174,2014302174
+2014302175,2014302175
+2014302176,2014302176
+2014302177,2014302177
+2014302178,2014302178
+2014302179,2014302179
+2014302180,2014302180
+2014302181,2014302181
+2014302182,2014302182
+2014302183,2014302183
+2014302184,2014302184
+2014302185,2014302185
+2014302186,2014302186
+2014302187,2014302187
+2014302188,2014302188
+2014302189,2014302189
+2014302190,2014302190
+2014302191,2014302191
+2014302192,2014302192
+2014302193,2014302193
+2014302194,2014302194
+2014302195,2014302195
+2014302196,2014302196
+2014302197,2014302197
+2014302198,2014302198
+2014302199,2014302199
+2014302199f,2014302199
+2014302200,2014302200
+2014302201,2014302201
+2014302202,2014302202
+2014302203,2014302203
+2014302204,2014302204
+2014302205,2014302205
+2014302206,2014302206
+2014302207,2014302207
+2014302208,2014302208
+2014302209,2014302209
+2014302210,2014302210
+2014302211,2014302211
+2014302212,2014302212
+2014302213,2014302213
+2014302214,2014302214
+2014302215,2014302215
+2014302216,2014302216
+2014302216f,2014302216
+2014302217,2014302217
+2014302218,2014302218
+2014302219,2014302219
+2014302220,2014302220
+2014302221,2014302221
+2014302222,2014302222
+2014302223,2014302223
+2014302224,2014302224
+2014302225,2014302225
+2014302226,2014302226
+2014302227,2014302227
+2014302228,2014302228
+2014302229,2014302229
+2014302230,2014302230
+2014302231,2014302231
+2014302231f,2014302231
+2014302232,2014302232
+2014302233,2014302233
+2014302234,2014302234
+2014302235,2014302235
+2014302236,2014302236
+2014302237,2014302237
+2014302238,2014302238
+2014302239,2014302239
+2014302240,2014302240
+2014302241,2014302241
+2014302242,2014302242
+2014302243,2014302243
+2014302244,2014302244
+2014302245,2014302245
+2014302246,2014302246
+2014302247,2014302247
+2014302248,2014302248
+2014302249,2014302249
+2014302250,2014302250
+2014302251,2014302251
+2014302252,2014302252
+2014302253,2014302253
+2014302254,2014302254
+2014302255,2014302255
+2014302256,2014302256
+2014302257,2014302257
+2014302258,2014302258
+2014302259,2014302259
+2014302260,2014302260
+2014302261,2014302261
+2014302262,2014302262
+2014302263,2014302263
+2014302264,2014302264
+2014302265,2014302265
+2014302266,2014302266
+2014302267,2014302267
+2014302268,2014302268
+2014302269,2014302269
+2014302270,2014302270
+2014302271,2014302271
+2014302272,2014302272
+2014302273,2014302273
+2014302274,2014302274
+2014302275,2014302275
+2014302276,2014302276
+2014302277,2014302277
+2014302278,2014302278
+2014302279,2014302279
+2014302280,2014302280
+2014302281,2014302281
+2014302282,2014302282
+2014302283,2014302283
+2014302284,2014302284
+2014302285,2014302285
+2014302286,2014302286
+2014302287,2014302287
+2014302288,2014302288
+2014302289,2014302289
+2014302290,2014302290
+2014302291,2014302291
+2014302292,2014302292
+2014302293,2014302293
+2014302294,2014302294
+2014302295,2014302295
+2014302296,2014302296
+2014302297,2014302297
+2014302298,2014302298
+2014302299,2014302299
+2014302300,2014302300
+2014302301,2014302301
+2014302302,2014302302
+2014302303,2014302303
+2014302304,2014302304
+2014302305,2014302305
+2014302306,2014302306
+2014302308,2014302308
+2014302309,2014302309
+2014302310,2014302310
+2014302311,2014302311
+2014302312,2014302312
+2014302313,2014302313
+2014302314,2014302314
+2014302315,2014302315
+2014302316,2014302316
+2014302317,2014302317
+2014302318,2014302318
+2014302319,2014302319
+2014302320,2014302320
+2014302321,2014302321
+2014302322,2014302322
+2014302323,2014302323
+2014302324,2014302324
+2014302325,2014302325
+2014302326,2014302326
+2014302327,2014302327
+2014302328,2014302328
+2014302329,2014302329
+2014302330,2014302330
+2014302331,2014302331
+2014302332,2014302332
+2014302333,2014302333
+2014302333f,2014302333
+2014302334,2014302334
+2014302335,2014302335
+2014302336,2014302336
+2014302337,2014302337
+2014302338,2014302338
+2014302339,2014302339
+2014302340,2014302340
+2014302341,2014302341
+2014302342,2014302342
+2014302343,2014302343
+2014302344,2014302344
+2014302344f,2014302344
+2014302345,2014302345
+2014302346,2014302346
+2014302347,2014302347
+2014302348,2014302348
+2014302349,2014302349
+2014302350,2014302350
+2014302351,2014302351
+2014302352,2014302352
+2014302353,2014302353
+2014302354,2014302354
+2014302355,2014302355
+2014302356,2014302356
+2014302357,2014302357
+2014302358,2014302358
+2014302359,2014302359
+2014302360,2014302360
+2014302361,2014302361
+2014302362,2014302362
+2014302363,2014302363
+2014302364,2014302364
+2014302365,2014302365
+2014302366,2014302366
+2014302367,2014302367
+2014302368,2014302368
+2014302369,2014302369
+2014302370,2014302370
+2014302371,2014302371
+2014302372,2014302372
+2014302373,2014302373
+2014302374,2014302374
+2014302375,2014302375
+2014302375f,2014302375
+2014302376,2014302376
+2014302377,2014302377
+2014302378,2014302378
+2014302379,2014302379
+2014302380,2014302380
+2014302381,2014302381
+2014302382,2014302382
+2014302383,2014302383
+2014302384,2014302384
+2014302385,2014302385
+2014302386,2014302386
+2014302387,2014302387
+2014302388,2014302388
+2014302389,2014302389
+2014302390,2014302390
+2014302391,2014302391
+2014302392,2014302392
+2014302393,2014302393
+2014302394,2014302394
+2014302395,2014302395
+2014302396,2014302396
+2014302397,2014302397
+2014302398,2014302398
+2014302399,2014302399
+2014302400,2014302400
+2014302401,2014302401
+2014302402,2014302402
+2014302403,2014302403
+2014302404,2014302404
+2014302405,2014302405
+2014302406,2014302406
+2014302407,2014302407
+2014302408,2014302408
+2014302409,2014302409
+2014302410,2014302410
+2014302411,2014302411
+2014302412,2014302412
+2014302413,2014302413
+2014302413f,2014302413
+2014302414,2014302414
+2014302414f,2014302414
+2014302415,2014302415
+2014302416,2014302416
+2014302417,2014302417
+2014302418,2014302418
+2014302418f,2014302418
+2014302419,2014302419
+2014302419f,2014302419
+2014302420,2014302420
+2014302421,2014302421
+2014302421f,2014302421
+2014302422,2014302422
+2014302423,2014302423
+2014302424,2014302424
+2014302425,2014302425
+2014302426,2014302426
+2014302427,2014302427
+2014302428,2014302428
+2014302429,2014302429
+2014302429f,2014302429
+2014302430,2014302430
+2014302431,2014302431
+2014302432,2014302432
+2014302433,2014302433
+2014302434,2014302434
+2014302435,2014302435
+2014302436,2014302436
+2014302436f,2014302436
+2014302437,2014302437
+2014302438,2014302438
+2014302439,2014302439
+2014302440,2014302440
+2014302441,2014302441
+2014302442,2014302442
+2014302443,2014302443
+2014302444,2014302444
+2014302445,2014302445
+2014302446,2014302446
+2014302447,2014302447
+2014302448,2014302448
+2014302449,2014302449
+2014302450,2014302450
+2014302451,2014302451
+2014302452,2014302452
+2014302453,2014302453
+2014302454,2014302454
+2014302455,2014302455
+2014302456,2014302456
+2014302457,2014302457
+2014302458,2014302458
+2014302459,2014302459
+2014302460,2014302460
+2014302461,2014302461
+2014302462,2014302462
+2014302463,2014302463
+2014302464,2014302464
+2014302464f,2014302464
+2014302465,2014302465
+2014302466,2014302466
+2014302467,2014302467
+2014302468,2014302468
+2014302469,2014302469
+2014302470,2014302470
+2014302471,2014302471
+2014302472,2014302472
+2014302473,2014302473
+2014302474,2014302474
+2014302474f,2014302474
+2014302475,2014302475
+2014302476,2014302476
+2014302477,2014302477
+2014302478,2014302478
+2014302478f,2014302478
+2014302479,2014302479
+2014302479f,2014302479
+2014302480,2014302480
+2014302481,2014302481
+2014302482,2014302482
+2014302483,2014302483
+2014302484,2014302484
+2014302485,2014302485
+2014302486,2014302486
+2014302486f,2014302486
+2014302487,2014302487
+2014302488,2014302488
+2014302488f,2014302488
+2014302489,2014302489
+2014302490,2014302490
+2014302491,2014302491
+2014302492,2014302492
+2014302493,2014302493
+2014302494,2014302494
+2014302495,2014302495
+2014302496,2014302496
+2014302497,2014302497
+2014302498,2014302498
+2014302499,2014302499
+2014302499f,2014302499
+2014302500,2014302500
+2014302501,2014302501
+2014302502,2014302502
+2014302502f,2014302502
+2014302503,2014302503
+2014302504,2014302504
+2014302505,2014302505
+2014302507,2014302507
+2014302508,2014302508
+2014302509,2014302509
+2014302510,2014302510
+2014302511,2014302511
+2014302512,2014302512
+2014302513,2014302513
+2014302514,2014302514
+2014302515,2014302515
+2014302516,2014302516
+2014302517,2014302517
+2014302518,2014302518
+2014302519,2014302519
+2014302520,2014302520
+2014302521,2014302521
+2014302522,2014302522
+2014302523,2014302523
+2014302524,2014302524
+2014302525,2014302525
+2014302526,2014302526
+2014302527,2014302527
+2014302528,2014302528
+2014302529,2014302529
+2014302530,2014302530
+2014302531,2014302531
+2014302532,2014302532
+2014302533,2014302533
+2014302534,2014302534
+2014302535,2014302535
+2014302536,2014302536
+2014302537,2014302537
+2014302538,2014302538
+2014302539,2014302539
+2014302540,2014302540
+2014302541,2014302541
+2014302542,2014302542
+2014302543,2014302543
+2014302544,2014302544
+2014302545,2014302545
+2014302546,2014302546
+2014302547,2014302547
+2014302548,2014302548
+2014302549,2014302549
+2014302550,2014302550
+2014302551,2014302551
+2014302552,2014302552
+2014302553,2014302553
+2014302554,2014302554
+2014302555,2014302555
+2014302556,2014302556
+2014302557,2014302557
+2014302558,2014302558
+2014302559,2014302559
+2014302560,2014302560
+2014302561,2014302561
+2014302562,2014302562
+2014302563,2014302563
+2014302564,2014302564
+2014302565,2014302565
+2014302566,2014302566
+2014302567,2014302567
+2014302568,2014302568
+2014302569,2014302569
+2014302570,2014302570
+2014302571,2014302571
+2014302572,2014302572
+2014302573,2014302573
+2014302574,2014302574
+2014302575,2014302575
+2014302576,2014302576
+2014302577,2014302577
+2014302578,2014302578
+2014302579,2014302579
+2014302580,2014302580
+2014302581,2014302581
+2014302582,2014302582
+2014302583,2014302583
+2014302584,2014302584
+2014302585,2014302585
+2014302586,2014302586
+2014302587,2014302587
+2014302588,2014302588
+2014302589,2014302589
+2014302590,2014302590
+2014302591,2014302591
+2014302592,2014302592
+2014302593,2014302593
+2014302594,2014302594
+2014302595,2014302595
+2014302596,2014302596
+2014302597,2014302597
+2014302598,2014302598
+2014302599,2014302599
+2014302600,2014302600
+2014302601,2014302601
+2014302602,2014302602
+2014302603,2014302603
+2014302604,2014302604
+2014302605,2014302605
+2014302606,2014302606
+2014302607,2014302607
+2014302608,2014302608
+2014302609,2014302609
+2014302610,2014302610
+2014302611,2014302611
+2014302612,2014302612
+2014302613,2014302613
+2014302614,2014302614
+2014302615,2014302615
+2014302616,2014302616
+2014302617,2014302617
+2014302618,2014302618
+2014302619,2014302619
+2014302620,2014302620
+2014302621,2014302621
+2014302622,2014302622
+2014302623,2014302623
+2014302624,2014302624
+2014302625,2014302625
+2014302626,2014302626
+2014302627,2014302627
+2014302628,2014302628
+2014302628f,2014302628
+2014302629,2014302629
+2014302630,2014302630
+2014302631,2014302631
+2014302632,2014302632
+2014302633,2014302633
+2014302634,2014302634
+2014302635,2014302635
+2014302636,2014302636
+2014302637,2014302637
+2014302638,2014302638
+2014302639,2014302639
+2014302640,2014302640
+2014302641,2014302641
+2014302642,2014302642
+2014302643,2014302643
+2014302644,2014302644
+2014302645,2014302645
+2014302646,2014302646
+2014302647,2014302647
+2014302648,2014302648
+2014302649,2014302649
+2014302650,2014302650
+2014302651,2014302651
+2014302652,2014302652
+2014302653,2014302653
+2014302654,2014302654
+2014302655,2014302655
+2014302656,2014302656
+2014302657,2014302657
+2014302658,2014302658
+2014302659,2014302659
+2014302660,2014302660
+2014302661,2014302661
+2014302662,2014302662
+2014302663,2014302663
+2014302664,2014302664
+2014302665,2014302665
+2014302666,2014302666
+2014302667,2014302667
+2014302668,2014302668
+2014302669,2014302669
+2014302670,2014302670
+2014302671,2014302671
+2014302671f,2014302671
+2014302672,2014302672
+2014302673,2014302673
+2014302674,2014302674
+2014302675,2014302675
+2014302676,2014302676
+2014302676f,2014302676
+2014302677,2014302677
+2014302678,2014302678
+2014302679,2014302679
+2014302680,2014302680
+2014302681,2014302681
+2014302682,2014302682
+2014302683,2014302683
+2014302684,2014302684
+2014302685,2014302685
+2014302685f,2014302685
+2014302686,2014302686
+2014302687,2014302687
+2014302688,2014302688
+2014302689,2014302689
+2014302690,2014302690
+2014302691,2014302691
+2014302692,2014302692
+2014302693,2014302693
+2014302694,2014302694
+2014302695,2014302695
+2014302696,2014302696
+2014302697,2014302697
+2014302698,2014302698
+2014302699,2014302699
+2014302700,2014302700
+2014302701,2014302701
+2014302702,2014302702
+2014302703,2014302703
+2014302704,2014302704
+2014302705,2014302705
+2014302706,2014302706
+2014302707,2014302707
+2014302708,2014302708
+2014302709,2014302709
+2014302710,2014302710
+2014302711,2014302711
+2014302712,2014302712
+2014302713,2014302713
+2014302714,2014302714
+2014302715,2014302715
+2014302716,2014302716
+2014302717,2014302717
+2014302718,2014302718
+2014302719,2014302719
+2014302720,2014302720
+2014302721,2014302721
+2014302722,2014302722
+2014302723,2014302723
+2014302724,2014302724
+2014302725,2014302725
+2014302726,2014302726
+2014302727,2014302727
+2014302728,2014302728
+2014302729,2014302729
+2014302730,2014302730
+2014302731,2014302731
+2014302732,2014302732
+2014302733,2014302733
+2014302734,2014302734
+2014302735,2014302735
+2014302736,2014302736
+2014302737,2014302737
+2014302738,2014302738
+2014302739,2014302739
+2014302740,2014302740
+2014302741,2014302741
+2014302742,2014302742
+2014302743,2014302743
+2014302744,2014302744
+2014302745,2014302745
+2014302746,2014302746
+2014302747,2014302747
+2014302748,2014302748
+2014302749,2014302749
+2014302750,2014302750
+2014302751,2014302751
+2014302752,2014302752
+2014302753,2014302753
+2014302754,2014302754
+2014302755,2014302755
+2014302756,2014302756
+2014302757,2014302757
+2014302758,2014302758
+2014302759,2014302759
+2014302760,2014302760
+2014302761,2014302761
+2014302762,2014302762
+2014302763,2014302763
+2014302764,2014302764
+2014302765,2014302765
+2014302766,2014302766
+2014302767,2014302767
+2014302768,2014302768
+2014302769,2014302769
+2014302770,2014302770
+2014302771,2014302771
+2014302772,2014302772
+2014302773,2014302773
+2014302774,2014302774
+2014302775,2014302775
+2014302776,2014302776
+2014302777,2014302777
+2014302778,2014302778
+2014302779,2014302779
+2014302780,2014302780
+2014302781,2014302781
+2014302782,2014302782
+2014302783,2014302783
+2014302784,2014302784
+2014302785,2014302785
+2014302786,2014302786
+2014302787,2014302787
+2014302788,2014302788
+2014302789,2020100397
+2014302790,2014302790
+2014302791,2014302791
+2014302792,2014302792
+2014302793,2014302793
+2014302794,2014302794
+2014302795,2014302795
+2014302796,2014302796
+2014302797,2014302797
+2014302798,2014302798
+2014302799,2014302799
+2014302800,2014302800
+2014302801,2014302801
+2014302802,2014302802
+2014302803,2014302803
+2014302804,2014302804
+2014302805,2014302805
+2014302806,2014302806
+2014302807,2014302807
+2014302808,2014302808
+2014302809,2014302809
+2014302810,2014302810
+2014302811,2014302811
+2014302812,2014302812
+2014302813,2014302813
+2014302814,2014302814
+2014302815,2014302815
+2014302816,2014302816
+2014302817,2014302817
+2014302818,2014302818
+2014302819,2014302819
+2014302820,2014302820
+2014302821,2014302821
+2014302822,2014302822
+2014302823,2014302823
+2014302824,2014302824
+2014302825,2014302825
+2014302826,2014302826
+2014302827,2014302827
+2014302828,2014302828
+2014302829,2014302829
+2014302830,2014302830
+2014302830f,2014302830
+2014302831,2014302831
+2014302832,2014302832
+2014302833,2014302833
+2014302834,2014302834
+2014302835,2014302835
+2014302836,2014302836
+2014302837,2014302837
+2014302838,2014302838
+2014302839,2014302839
+2014302840,2014302840
+2014302841,2014302841
+2014302842,2014302842
+2014302843,2014302843
+2014302844,2014302844
+2014302845,2014302845
+2014302846,2014302846
+2014302847,2014302847
+2014302848,2014302848
+2014302849,2014302849
+2014302850,2014302850
+2014302851,2014302851
+2014302853,2014302853
+2014302854,2014302854
+2014302855,2014302855
+2014302856,2014302856
+2014302857,2014302857
+2014302858,2014302858
+2014302859,2014302859
+2014302860,2014302860
+2014302861,2014302861
+2014302862,2014302862
+2014302863,2014302863
+2014302864,2014302864
+2014302865,2014302865
+2014302866,2014302866
+2014302867,2014302867
+2014302868,2014302868
+2014302869,2014302869
+2014302870,2014302870
+2014302871,2014302871
+2014302872,2014302872
+2014302873,2014302873
+2014302875,2014302875
+2014302876,2014302876
+2014302877,2014302877
+2014302878,2014302878
+2014302879,2014302879
+2014302880,2014302880
+2014302881,2014302881
+2014302882,2014302882
+2014302882f,2014302882
+2014302883,2014302883
+2014302884,2014302884
+2014302884f,2014302884
+2014302885,2014302885
+2014302886,2014302886
+2014302887,2014302887
+2014302888,2014302888
+2014302889,2014302889
+2014302890,2014302890
+2014302891,2014302891
+2014302892,2014302892
+2014302893,2014302893
+2014302894,2014302894
+2014302895,2014302895
+2014302896,2014302896
+2014302897,2014302897
+2014302898,2014302898
+2014302899,2014302899
+2014302900,2014302900
+2014302901,2014302901
+2014302902,2014302902
+2014302903,2014302903
+2014302904,2014302904
+2014302905,2014302905
+2014302906,2014302906
+2014302907,2014302907
+2014302908,2014302908
+2014302909,2014302909
+2014302910,2014302910
+2014302911,2014302911
+2014302912,2014302912
+2014302913,2014302913
+2014302914,2014302914
+2014302915,2014302915
+2014302916,2014302916
+2014302917,2014302917
+2014302918,2014302918
+2014302919,2014302919
+2014302920,2014302920
+2014302921,2014302921
+2014302922,2014302922
+2014302923,2014302923
+2014302923f,2014302923
+2014302924,2014302924
+2014302925,2014302925
+2014302926,2014302926
+2014302927,2014302927
+2014302928,2014302928
+2014302929,2014302929
+2014302930,2014302930
+2014302931,2014302931
+2014302931f,2014302931
+2014302932,2014302932
+2014302933,2014302933
+2014302934,2014302934
+2014302935,2014302935
+2014302936,2014302936
+2014302937,2014302937
+2014302938,2014302938
+2014302939,2014302939
+2014302940,2014302940
+2014302941,2014302941
+2014302942,2014302942
+2014302943,2014302943
+2014302944,2014302944
+2014302945,2014302945
+2014302946,2014302946
+2014302947,2014302947
+2014302948,2014302948
+2014302949,2014302949
+2014302950,2014302950
+2014302951,2014302951
+2014302952,2014302952
+2014302953,2014302953
+2014302954,2014302954
+2014302955,2014302955
+2014302956,2014302956
+2014302957,2014302957
+2014302958,2014302958
+2014302959,2014302959
+2014302960,2014302960
+2014302961,2014302961
+2014302962,2014302962
+2014302963,2014302963
+2014302964,2014302964
+2014302965,2014302965
+2014302966,2014302966
+2014302967,2014302967
+2014302968,2014302968
+2014302969,2014302969
+2014302970,2014302970
+2014302971,2014302971
+2014302972,2014302972
+2014302973,2014302973
+2014302974,2014302974
+2014302975,2014302975
+2014302976,2014302976
+2014302977,2014302977
+2014302978,2014302978
+2014302979,2014302979
+2014302980,2014302980
+2014302981,2014302981
+2014302982,2014302982
+2014302983,2014302983
+2014302984,2014302984
+2014302985,2014302985
+2014302986,2014302986
+2014302987,2014302987
+2014302988,2014302988
+2014302989,2014302989
+2014302990,2014302990
+2014302991,2014302991
+2014302992,2014302992
+2014302993,2014302993
+2014302994,2014302994
+2014302995,2014302995
+2014302996,2014302996
+2014302997,2014302997
+2014302998,2014302998
+2014302999,2014302999
+2014303000,2014303000
+2014303001,2014303001
+2014303002,2014303002
+2014303003,2014303003
+2014303003f,2014303003
+2014303004,2014303004
+2014303005,2014303005
+2014303006,2014303006
+2014303007,2014303007
+2014303008,2014303008
+2014303009,2014303009
+2014303010,2014303010
+2014303011,2014303011
+2014303012,2014303012
+2014303013,2014303013
+2014303014,2014303014
+2014303015,2014303015
+2014303016,2014303016
+2014303017,2014303017
+2014303018,2020100413
+2014303019,2014303019
+2014303020,2014303020
+2014303021,2014303021
+2014303022,2014303022
+2014303023,2014303023
+2014303024,2014303024
+2014303025,2014303025
+2014303026,2014303026
+2014303027,2014303027
+2014303028,2014303028
+2014303029,2014303029
+2014303030,2014303030
+2014303031,2014303031
+2014303032,2014303032
+2014303033,2014303033
+2014303034,2014303034
+2014303035,2014303035
+2014303036,2014303036
+2014303037,2014303037
+2014303038,2014303038
+2014303039,2014303039
+2014303039f,2014303039
+2014303040,2014303040
+2014303041,2014303041
+2014303042,2014303042
+2014303043,2014303043
+2014303044,2014303044
+2014303045,2014303045
+2014303046,2014303046
+2014303047,2014303047
+2014303048,2014303048
+2014303049,2014303049
+2014303050,2014303050
+2014303051,2014303051
+2014303052,2014303052
+2014303053,2014303053
+2014303054,2014303054
+2014303055,2014303055
+2014303056,2014303056
+2014303057,2014303057
+2014303057f,2014303057
+2014303058,2014303058
+2014303059,2014303059
+2014303059f,2014303059
+2014303060,2014303060
+2014303061,2014303061
+2014303062,2014303062
+2014303063,2014303063
+2014303064,2014303064
+2014303065,2014303065
+2014303067,2014303067
+2014303068,2014303068
+2014303069,2014303069
+2014303070,2014303070
+2014303071,2014303071
+2014303072,2014303072
+2014303073,2014303073
+2014303074,2014303074
+2014303075,2014303075
+2014303076,2014303076
+2014303077,2014303077
+2014303078,2014303078
+2014303079,2014303079
+2014303080,2014303080
+2014303080f,2014303080
+2014303081,2014303081
+2014303082,2014303082
+2014303082f,2014303082
+2014303083,2014303083
+2014303083f,2014303083
+2014303084,2014303084
+2014303085,2014303085
+2014303086,2014303086
+2014303087,2014303087
+2014303088,2014303088
+2014303089,2014303089
+2014303090,2014303090
+2014303091,2014303091
+2014303092,2014303092
+2014303093,2014303093
+2014303094,2014303094
+2014303095,2014303095
+2014303096,2014303096
+2014303097,2014303097
+2014303098,2014303098
+2014303099,2014303099
+2014303100,2014303100
+2014303101,2014303101
+2014303102,2014303102
+2014303103,2014303103
+2014303104,2014303104
+2014303105,2014303105
+2014303106,2014303106
+2014303107,2014303107
+2014303108,2014303108
+2014303109,2014303109
+2014303110,2014303110
+2014303111,2014303111
+2014303112,2014303112
+2014303113,2014303113
+2014303114,2014303114
+2014303115,2014303115
+2014303116,2014303116
+2014303117,2014303117
+2014303118,2014303118
+2014303119,2014303119
+2014303120,2014303120
+2014303121,2014303121
+2014303122,2014303122
+2014303123,2014303123
+2014303124,2014303124
+2014303125,2014303125
+2014303126,2014303126
+2014303127,2014303127
+2014303128,2014303128
+2014303129,2014303129
+2014303130,2014303130
+2014303131,2014303131
+2014303132,2014303132
+2014303133,2014303133
+2014303134,2014303134
+2014303135,2014303135
+2014303136,2014303136
+2014303137,2014303137
+2014303138,2014303138
+2014303139,2014303139
+2014303140,2014303140
+2014303141,2014303141
+2014303142,2014303142
+2014303143,2014303143
+2014303144,2014303144
+2014303145,2014303145
+2014303146,2014303146
+2014303147,2014303147
+2014303148,2014303148
+2014303149,2014303149
+2014303150,2014303150
+2014303151,2014303151
+2014303152,2014303152
+2014303153,2014303153
+2014303154,2014303154
+2014303155,2014303155
+2014303156,2014303156
+2014303157,2014303157
+2014303158,2014303158
+2014303159,2014303159
+2014303160,2014303160
+2014303161,2014303161
+2014303162,2014303162
+2014303163,2014303163
+2014303164,2014303164
+2014303165,2014303165
+2014303166,2014303166
+2014303167,2014303167
+2014303168,2014303168
+2014303170,2014303170
+2014303171,2014303171
+2014303172,2014303172
+2014303173,2014303173
+2014303174,2014303174
+2014303175,2014303175
+2014303176,2014303176
+2014303177,2014303177
+2014303178,2014303178
+2014303179,2014303179
+2014303180,2014303180
+2014303181,2014303181
+2014303182,2014303182
+2014303183,2014303183
+2014303184,2014303184
+2014303185,2014303185
+2014303186,2014303186
+2014303187,2014303187
+2014303188,2014303188
+2014303189,2014303189
+2014303190,2014303190
+2014303191,2014303191
+2014303192,2014303192
+2014303193,2014303193
+2014303194,2014303194
+2014303195,2014303195
+2014303196,2014303196
+2014303197,2014303197
+2014303198,2014303198
+2014303199,2014303199
+2014303200,2014303200
+2014303201,2014303201
+2014303202,2014303202
+2014303203,2014303203
+2014303204,2014303204
+2014303205,2014303205
+2014303206,2014303206
+2014303207,2014303207
+2014303209,2014303209
+2014303210,2014303210
+2014303210f,2014303210
+2014303211,2014303211
+2014303211f,2014303211
+2014303212,2014303212
+2014303212f,2014303212
+2014303213,2014303213
+2014303214,2014303214
+2014303214f,2014303214
+2014303215,2014303215
+2014303215f,2014303215
+2014303216,2014303216
+2014303217,2014303217
+2014303218,2014303218
+2014303219,2014303219
+2014303220,2014303220
+2014303221,2014303221
+2014303222,2014303222
+2014303223,2014303223
+2014303224,2014303224
+2014303225,2014303225
+2014303226,2014303226
+2014303227,2014303227
+2014303228,2014303228
+2014303229,2014303229
+2014303230,2014303230
+2014303231,2014303231
+2014303232,2014303232
+2014303232f,2014303232
+2014303233,2014303233
+2014303233f,2014303233
+2014303234,2014303234
+2014303235,2014303235
+2014303236,2014303236
+2014303237,2014303237
+2014303238,2014303238
+2014303238f,2014303238
+2014303239,2014303239
+2014303240,2014303240
+2014303241,2014303241
+2014303242,2014303242
+2014303243,2014303243
+2014303243f,2014303243
+2014303244,2014303244
+2014303245,2014303245
+2014303246,2014303246
+2014303247,2014303247
+2014303248,2014303248
+2014303249,2014303249
+2014303250,2014303250
+2014303251,2014303251
+2014303252,2014303252
+2014303253,2014303253
+2014303254,2014303254
+2014303255,2014303255
+2014303256,2014303256
+2014303257,2014303257
+2014303257f,2014303257
+2014303258,2014303258
+2014303258f,2014303258
+2014303259,2014303259
+2014303259f,2014303259
+2014303260,2014303260
+2014303261,2014303261
+2014303262,2014303262
+2014303263,2014303263
+2014303264,2014303264
+2014303265,2014303265
+2014303266,2014303266
+2014303267,2014303267
+2014303268,2014303268
+2014303269,2014303269
+2014303270,2014303270
+2014303271,2014303271
+2014303272,2014303272
+2014303273,2014303273
+2014303274,2014303274
+2014303275,2014303275
+2014303276,2014303276
+2014303277,2014303277
+2014303278,2014303278
+2014303279,2014303279
+2014303280,2014303280
+2014303281,2014303281
+2014303282,2014303282
+2014303283,2014303283
+2014303284,2014303284
+2014303285,2014303285
+2014303286,2014303286
+2014303287,2014303287
+2014303288,2014303288
+2014303289,2014303289
+2014303290,2014303290
+2014303291,2014303291
+2014303292,2014303292
+2014303293,2014303293
+2014303294,2014303294
+2014303295,2014303295
+2014303296,2014303296
+2014303297,2014303297
+2014303298,2014303298
+2014303299,2014303299
+2014303300,2014303300
+2014303301,2014303301
+2014303302,2014303302
+2014303303,2014303303
+2014303304,2014303304
+2014303305,2014303305
+2014303306,2014303306
+2014303306f,2014303306
+2014303307,2014303307
+2014303308,2014303308
+2014303309,2014303309
+2014303310,2014303310
+2014303312,2014303312
+2014303313,2014303313
+2014303314,2014303314
+2014303315,2014303315
+2014303316,2014303316
+2014303316f,2014303316
+2014303317,2014303317
+2014303318,2014303318
+2014303319,2014303319
+2014303320,2014303320
+2014303321,2014303321
+2014303322,2014303322
+2014303323,2014303323
+2014303324,2014303324
+2014303325,2014303325
+2014303326,2014303326
+2014303327,2014303327
+2014303328,2014303328
+2014303330,2014303330
+2014303331,2014303331
+2014303332,2014303332
+2014303333,2014303333
+2014303334,2014303334
+2014303335,2014303335
+2014303336,2014303336
+2014303337,2014303337
+2014303338,2014303338
+2014303339,2014303339
+2014303340,2014303340
+2014303341,2014303341
+2014303342,2014303342
+2014303343,2014303343
+2014303344,2014303344
+2014303345,2014303345
+2014303346,2014303346
+2014303347,2014303347
+2014303348,2014303348
+2014303349,2014303349
+2014303350,2014303350
+2014303351,2014303351
+2014303352,2014303352
+2014303353,2014303353
+2014303354,2014303354
+2014303355,2014303355
+2014303356,2014303356
+2014303357,2014303357
+2014303358,2014303358
+2014303359,2014303359
+2014303360,2014303360
+2014303361,2014303361
+2014303362,2014303362
+2014303363,2014303363
+2014303364,2014303364
+2014303365,2014303365
+2014303366,2014303366
+2014303367,2014303367
+2014303368,2014303368
+2014303369,2014303369
+2014303370,2014303370
+2014303371,2014303371
+2014303373,2014303373
+2014303374,2014303374
+2014303375,2014303375
+2014303376,2014303376
+2014303377,2014303377
+2014303378,2014303378
+2014303379,2014303379
+2014303380,2014303380
+2014303381,2014303381
+2014303382,2014303382
+2014303383,2014303383
+2014303384,2014303384
+2014303385,2014303385
+2014303386,2014303386
+2014303387,2014303387
+2014303388,2014303388
+2014303389,2014303389
+2014303390,2014303390
+2014303391,2014303391
+2014303392,2014303392
+2014303393,2014303393
+2014303394,2014303394
+2014303395,2014303395
+2014303396,2014303396
+2014303397,2014303397
+2014303398,2014303398
+2014303399,2014303399
+2014303400,2014303400
+2014303401,2014303401
+2014303402,2014303402
+2014303403,2014303403
+2014303405,2014303405
+2014303406,2014303406
+2014303407,2014303407
+2014303408,2014303408
+2014303409,2014303409
+2014303410,2014303410
+2014303411,2014303411
+2014303412,2014303412
+2014303413,2014303413
+2014303414,2014303414
+2014303415,2014303415
+2014303416,2014303416
+2014303417,2014303417
+2014303418,2014303418
+2014303419,2014303419
+2014303420,2014303420
+2014303421,2014303421
+2014303422,2014303422
+2014303423,2014303423
+2014303424,2014303424
+2014303426,2014303426
+2014303427,2014303427
+2014303428,2014303428
+2014303429,2014303429
+2014303430,2014303430
+2014303431,2014303431
+2014303432,2014303432
+2014303433,2014303433
+2014303434,2014303434
+2014303435,2014303435
+2014303436,2014303436
+2014303437,2014303437
+2014303438,2014303438
+2014303439,2014303439
+2014303440,2014303440
+2014303441,2014303441
+2014303442,2014303442
+2014303443,2014303443
+2014303444,2014303444
+2014303445,2014303445
+2014303446,2014303446
+2014303447,2014303447
+2014303448,2014303448
+2014303449,2014303449
+2014303450,2014303450
+2014303451,2014303451
+2014303452,2014303452
+2014303453,2014303453
+2014303454,2014303454
+2014303455,2014303455
+2014303456,2014303456
+2014303457,2014303457
+2014303458,2014303458
+2014303459,2014303459
+2014303460,2014303460
+2014303461,2014303461
+2014303462,2014303462
+2014303463,2014303463
+2014303464,2014303464
+2014303465,2014303465
+2014303466,2014303466
+2014303467,2014303467
+2014303468,2014303468
+2014303469,2014303469
+2014303470,2014303470
+2014303471,2014303471
+2014303472,2014303472
+2014303473,2014303473
+2014303474,2014303474
+2014303475,2014303475
+2014303476,2014303476
+2014303477,2014303477
+2014303478,2014303478
+2014303479,2014303479
+2014303480,2014303480
+2014303481,2014303481
+2014303482,2014303482
+2014303483,2014303483
+2014303484,2014303484
+2014303485,2014303485
+2014303486,2014303486
+2014303487,2014303487
+2014303488,2014303488
+2014303489,2014303489
+2014303490,2014303490
+2014303491,2014303491
+2014303492,2014303492
+2014303493,2014303493
+2014303494,2014303494
+2014303495,2014303495
+2014303497,2014303497
+2014303498,2014303498
+2014303499,2014303499
+2014303500,2014303500
+2014303501,2014303501
+2014303502,2014303502
+2014303504,2014303504
+2014303505,2014303505
+2014303506,2014303506
+2014303507,2014303507
+2014303508,2014303508
+2014303509,2014303509
+2014303510,2014303510
+2014303511,2014303511
+2014303512,2014303512
+2014303513,2014303513
+2014303514,2014303514
+2014303515,2014303515
+2014303516,2014303516
+2014303517,2014303517
+2014303518,2014303518
+2014303519,2014303519
+2014303520,2014303520
+2014303521,2014303521
+2014303521f,2014303521
+2014303522,2014303522
+2014303523,2014303523
+2014303524,2014303524
+2014303525,2014303525
+2014303526,2014303526
+2014303527,2014303527
+2014303528,2014303528
+2014303529,2014303529
+2014303530,2014303530
+2014303531,2014303531
+2014303532,2014303532
+2014303533,2014303533
+2014303534,2014303534
+2014303535,2014303535
+2014303536,2014303536
+2014303537,2014303537
+2014303538,2014303538
+2014303539,2014303539
+2014303540,2014303540
+2014303541,2014303541
+2014303542,2014303542
+2014303543,2014303543
+2014303544,2014303544
+2014303545,2014303545
+2014303546,2014303546
+2014303547,2014303547
+2014303548,2014303548
+2014303549,2014303549
+2014303550,2014303550
+2014303551,2014303551
+2014303552,2014303552
+2014303553,2014303553
+2014303554,2014303554
+2014303555,2014303555
+2014303556,2014303556
+2014303557,2014303557
+2014303558,2014303558
+2014303559,2014303559
+2014303560,2014303560
+2014303561,2014303561
+2014303562,2014303562
+2014303563,2014303563
+2014303564,2014303564
+2014303565,2014303565
+2014303566,2014303566
+2014303567,2014303567
+2014303568,2014303568
+2014303569,2014303569
+2014303570,2014303570
+2014303571,2014303571
+2014303572,2014303572
+2014303573,2014303573
+2014303574,2014303574
+2014303575,2014303575
+2014303576,2014303576
+2014303577,2014303577
+2014303578,2014303578
+2014303579,2014303579
+2014303580,2014303580
+2014303581,2014303581
+2014303582,2014303582
+2014303583,2014303583
+2014303584,2014303584
+2014303585,2014303585
+2014303586,2014303586
+2014303587,2014303587
+2014303588,2014303588
+2014303589,2014303589
+2014303590,2014303590
+2014303591,2014303591
+2014303592,2014303592
+2014303593,2014303593
+2014303594,2014303594
+2014303595,2014303595
+2014303596,2014303596
+2014303597,2014303597
+2014303598,2014303598
+2014303599,2014303599
+2014303600,2014303600
+2014303601,2014303601
+2014303602,2014303602
+2014303603,2014303603
+2014303604,2014303604
+2014303605,2014303605
+2014303606,2014303606
+2014303607,2014303607
+2014303608,2014303608
+2014303608f,2014303608
+2014303609,2014303609
+2014303610,2014303610
+2014303611,2014303611
+2014303612,2014303612
+2014303613,2014303613
+2014303614,2014303614
+2014303615,2014303615
+2014303616,2014303616
+2014303617,2014303617
+2014303618,2014303618
+2014303619,2014303619
+2014303620,2014303620
+2014303621,2014303621
+2014303622,2014303622
+2014303623,2014303623
+2014303624,2014303624
+2014303625,2014303625
+2014303626,2014303626
+2014303627,2014303627
+2014303628,2014303628
+2014303629,2014303629
+2014303631,2014303631
+2014303632,2014303632
+2014303633,2014303633
+2014303634,2014303634
+2014303635,2014303635
+2014303636,2014303636
+2014303637,2014303637
+2014303638,2014303638
+2014303639,2014303639
+2014303640,2014303640
+2014303641,2014303641
+2014303642,2014303642
+2014303643,2014303643
+2014303644,2014303644
+2014303645,2014303645
+2014303646,2014303646
+2014303647,2014303647
+2014303648,2014303648
+2014303649,2014303649
+2014303650,2014303650
+2014303651,2014303651
+2014303652,2014303652
+2014303653,2014303653
+2014303654,2014303654
+2014303655,2014303655
+2014303656,2014303656
+2014303657,2014303657
+2014303658,2014303658
+2014303659,2014303659
+2014303660,2014303660
+2014303661,2014303661
+2014303662,2014303662
+2014303663,2014303663
+2014303664,2014303664
+2014303665,2014303665
+2014303666,2014303666
+2014303667,2014303667
+2014303667f,2014303667
+2014303668,2014303668
+2014303669,2014303669
+2014303670,2014303670
+2014303671,2014303671
+2014303672,2014303672
+2014303673,2014303673
+2014303674,2014303674
+2014303674f,2014303674
+2014303675,2014303675
+2014303675f,2014303675
+2014303676,2014303676
+2014303677,2014303677
+2014303678,2014303678
+2014303679,2014303679
+2014303680,2014303680
+2014303681,2014303681
+2014303682,2014303682
+2014303682f,2014303682
+2014303683,2014303683
+2014303684,2014303684
+2014303685,2014303685
+2014303686,2014303686
+2014303687,2014303687
+2014303688,2014303688
+2014303688f,2014303688
+2014303689,2014303689
+2014303690,2014303690
+2014303691,2014303691
+2014303692,2014303692
+2014303693,2014303693
+2014303694,2014303694
+2014303695,2014303695
+2014303695f,2014303695
+2014303696,2014303696
+2014303697,2014303697
+2014303697f,2014303697
+2014303698,2014303698
+2014303699,2014303699
+2014303700,2014303700
+2014303700f,2014303700
+2014303701,2014303701
+2014303701f,2014303701
+2014303702,2014303702
+2014303702f,2014303702
+2014303703,2014303703
+2014303704,2014303704
+2014303705,2014303705
+2014303706,2014303706
+2014303707,2014303707
+2014303708,2014303708
+2014303709,2014303709
+2014303710,2014303710
+2014303711,2014303711
+2014303712,2014303712
+2014303712f,2014303712
+2014303713,2014303713
+2014303714,2014303714
+2014303714f,2014303714
+2014303715,2014303715
+2014303715f,2014303715
+2014303716,2014303716
+2014303717,2014303717
+2014303718,2014303718
+2014303719,2014303719
+2014303720,2014303720
+2014303721,2014303721
+2014303722,2014303722
+2014303723,2014303723
+2014303724,2014303724
+2014303725,2014303725
+2014303726,2014303726
+2014303727,2014303727
+2014303727f,2014303727
+2014303728,2014303728
+2014303728f,2014303728
+2014303729,2014303729
+2014303730,2014303730
+2014303731,2014303731
+2014303732,2014303732
+2014310001,2014310001
+2014310002,2014310002
+2014310003,2014310003
+2014310004,2014310004
+2014310005,2014310005
+2014310006,2014310006
+2014310008,2014310008
+2014310009,2014310009
+2014310010,2014310010
+2014310011,2014310011
+2014310101,2014310101
+2014310102,2014310102
+2014310103,2014310103
+2014310104,2014310104
+2014310105,2014310105
+2014310106,2014310106
+2014310107,2014310107
+2014310108,2014310108
+2014310109,2014310109
+2014310110,2014310110
+2014310111,2014310111
+2014310112,2014310112
+2014310201,2014310201
+2014310202,2014310202
+2014310203,2014310203
+2014310204,2014310204
+2014310205,2014310205
+2014310206,2014310206
+2014310207,2014310207
+2014310208,2014310208
+2014310209,2014310209
+2014310210,2014310210
+2014310211,2014310211
+2014310212,2014310212
+2014310213,2014310213
+2014310214,2014310214
+2014310215,2014310215
+2014310216,2014310216
+2014310217,2014310217
+2014310218,2014310218
+2014310219,2014310219
+2014410001,2014410001
+2014410002,2014410002
+2014410003,2014410003
+2014410004,2014410004
+2014410005,2014410005
+2014410006,2014410006
+2014410007,2014410007
+2014410008,2014410008
+2014410009,2014410009
+2014410010,2014410010
+2014410011,2014410011
+2014410012,2014410012
+2014410013,2014410013
+2014410014,2014410014
+2014410015,2014410015
+2014410016,2014410016
+2014410017,2014410017
+2014410018,2012420042
+2014410019,2014410019
+2014420001,2014420001
+2014420002,2014420002
+2014420003,2014420003
+2014420004,2014420004
+2014420005,2014420005
+2014420006,2014420006
+2014420007,2014420007
+2014420008,2014420008
+2014420009,2014420009
+2014420010,2014420010
+2014420011,2014420011
+2014420012,2014420012
+2014420013,2014420013
+2014420014,2014420014
+2014420015,2014420015
+2014420016,2014420016
+2014420017,2014420017
+2014420018,2014420018
+2014420019,2014420019
+2014420020,2014420020
+2014420021,2014420021
+2014420022,2014420022
+2014420023,2014420023
+2014420024,2014420024
+2014420025,2014420025
+2014420026,2014420026
+2014420027,2014420027
+2014420028,2014420028
+2014420029,2014420029
+2014420030,2014420030
+2014420031,2014420031
+2014420032,2014420032
+2014420033,2014420033
+2014420034,2014420034
+2014420035,2014420035
+2014420036,2014420036
+2014420037,2014420037
+2014420038,2014420038
+2014420039,2014420039
+2014420040,2014420040
+2014420041,2014420041
+2014420042,2014420042
+2014420043,2014420043
+2014420044,2014420044
+2014420045,2014420045
+2014420046,2014420046
+2014420047,2014420047
+2014420048,2014420048
+2014420049,2014420049
+2014420050,2014420050
+2014420051,2014420051
+2014420052,2014420052
+2014420053,2014420053
+2014420054,2014420054
+2014420055,2014420055
+2014420056,2014420056
+2014420057,2014420057
+2014420058,2014420058
+2014420059,2014420059
+2014420060,2014420060
+2014420061,2014420061
+2014420062,2014420062
+2014420063,2014420063
+2014420064,2014420064
+2014420065,2014420065
+2014420100,2014420100
+2014420101,2014420101
+2014430001,2014430001
+2014430002,2014430002
+2014430003,2014430003
+2014430004,2014430004
+2014430005,2014430005
+2014430006,2014430006
+2014430007,2014430007
+2014430008,2014430008
+2014430010,2014430010
+2014430011,2014430011
+2014430012,2014430012
+2014430013,2014430013
+2014430014,2014430014
+2014430101,2014430101
+2014430102,2014430102
+2014430103,2014430103
+2014430104,2014430104
+2014430105,2014430105
+2014430106,2014430106
+2014430107,2014430107
+2014430108,2014430108
+2014430109,2014430109
+2014430110,2014430110
+2014430111,2014430111
+2014430112,2014430112
+2014430113,2014430113
+2014430114,2014430114
+2014430115,2014430115
+2014430116,2014430116
+2014430117,2014430117
+2014430118,2014430118
+2014430119,2014430119
+2014430120,2014430120
+2014430121,2014430121
+2014430122,2014430122
+2014430123,2014430123
+2014430124,2014430124
+2014430125,2014430125
+2014430126,2014430126
+2014430127,2014430127
+2014430201,2014430201
+2014430202,2014430202
+2014430203,2014430203
+2014430301,2014430301
+2014430501,2014430501
+2014430502,2014430502
+2014430503,2014430503
+2014430504,2014430504
+2014430505,2014430505
+2014430506,2014430506
+2014430507,2014430507
+2014430508,2014430508
+2014430509,2014430509
+2014430510,2014430510
+2014430511,2014430511
+2014430512,2014430512
+2014430513,2014430513
+2014430514,2014430514
+2014430515,2014430515
+2014430516,2014430516
+2014430517,2014430517
+2014430518,2014430518
+2014430519,2014430519
+2014430520,2014430520
+2014430521,2014430521
+2014430601,2014430601
+2014430602,2014430602
+2014430603,2014430603
+2014430604,2014430604
+2014430606,2014430606
+2014430607,2014430607
+2014430608,2014430608
+2014430610,2014430610
+2014430611,2014430611
+2014430612,2014430612
+2014430613,2014430613
+2014430614,2014430614
+2014430621,2014430621
+2014430701,2014430701
+2014430801,2014430801
+2014430802,2014430802
+2014430803,2014430803
+2014430804,2014430804
+2014430805,2014430805
+2014430806,2014430806
+2014430807,2014430807
+2014430901,2014430901
+2014430902,2014430902
+2014430903,2014430903
+2014430904,2014430904
+2014430905,2014430905
+2014430906,2014430906
+2014430907,2014430907
+2014430908,2014430908
+2014430909,2014430909
+2014430910,2014430910
+2014430911,2014430911
+2014430912,2014430912
+2014430913,2014430913
+2014430915,2014430915
+2014430916,2014430916
+2014431002,2014431002
+2014431003,2014431003
+2014431004,2014431004
+2014431005,2014431005
+2014431201,2014431201
+2014431202,2014431202
+2014436001,2014436001
+2015000075,2015000075
+2015010003,2008100456
+2015010004,046100659
+2015010005,043093
+2015010006,2015010006
+2015010007,2007200575
+2015010008,040017
+2015010009,2009200120
+2015010010,2008200664
+2015010011,2015010011
+2015010012,2015010012
+2015010013,2015010013
+2015010014,046050325
+2015010015,042892
+2015010016,2008200182
+2015010017,2015010017
+2015010018,2015010018
+2015010019,040003
+2015010020,063067
+2015010022,2015010022
+2015010031,2015010031
+2015010033,052792
+2015010034,2008200481
+2015010035,060047
+2015010036,050318
+2015010037,2008201562
+2015010038,040980
+2015010039,2007201458
+2015010040,062963
+2015010041,2007301939
+2015010042,2007300551
+2015010043,2008300571
+2015010044,2008302559
+2015010045,2008303119
+2015010046,060604
+2015010047,2008303262
+2015010048,2020100464
+2015010049,061369
+2015010050,2007302914
+2015010051,2007301204
+2015010052,2008300755
+2015010053,2008300840
+2015010054,2008303142
+2015010055,2008303470
+2015010056,2007303365
+2015010057,2008302973
+2015010058,2008301489
+2015010059,2008300422
+2015010060,2008300177
+2015010061,2008303136
+2015010062,2008301812
+2015010063,2008302113
+2015010064,2012202390
+2015010065,2008300268
+2015010066,2015010066
+2015010067,2008302467
+2015010068,2015010068
+2015010069,2008300789
+2015010070,051425
+2015010071,2015010071
+2015010073,051581
+2015010080,2015010080
+2015010081,2015010081
+2015010082,2015010082
+2015010083,2015010083
+2015010084,2015010084
+2015010085,2015010085
+2015010088,2015010088
+2015010089,2015010089
+2015010091,2007201553
+2015010092,2008302735
+2015010093,2015010093
+2015010094,047020086
+2015010096,2008302531
+2015010097,2015010097
+2015010098,062273
+2015010099,2015010099
+2015010100,2008301086
+2015010101,042942
+2015010102,2007200419
+2015010103,2015010103
+2015010104,2015010104
+2015010105,2015010105
+2015010106,2009200438
+2015010107,066080405
+2015010108,2015010108
+2015010109,2009100084
+2015010110,2007201415
+2015010111,2015010111
+2015010112,2015010112
+2015010113,2020100513
+2015010114,2015010114
+2015010115,2015010115
+2015010116,043048
+2015010117,2015010117
+2015010118,2015010118
+2015010119,2015010119
+2015010120,2007200768
+2015010121,2015010121
+2015010122,042398
+2015010123,2015010123
+2015010124,056090579
+2015010125,2015010125
+2015010126,2015010126
+2015010127,2015010127
+2015010128,2015010128
+2015010130,2015010130
+2015010131,2015010131
+2015010132,2015010132
+2015010133,060220
+2015010134,2007200449
+2015010135,060866
+2015010136,2015010136
+2015010138,2015010138
+2015010139,2015010139
+2015010140,2015010140
+2015010141,056064064
+2015010142,2015010142
+2015010145,2015010145
+2015010146,2015010146
+2015010151,052973
+2015010152,2015010152
+2015010154,2015010154
+2015010155,2015010155
+2015010156,2015010156
+2015010158,2015010158
+2015010159,2011301044
+2015010160,2015010160
+2015010161,2015010161
+2015010162,2015010162
+2015010163,066026069
+2015010164,2015010164
+2015010165,2015010165
+2015010166,2015010166
+2015010169,2015010169
+2015010170,2015010170
+2015010171,066120732
+2015010172,2015010172
+2015010173,2008302982
+2015010174,2015010174
+2015010175,2015010175
+2015010176,2015010176
+2015010180,2015010180
+2015010181,2015010181
+2015010186,061091
+2015010187,2007200192
+2015010189,2015010189
+2015010190,2015010190
+2015010191,2015010191
+2015010192,053158
+2015010193,053023
+2015010194,2015010194
+2015010197,2015010197
+2015010198,2015010198
+2015010199,2008200540
+2015030023,2015030023
+2015030024,2007201385
+2015030025,2015030025
+2015030029,2015030029
+2015030072,2015030072
+2015030086,2007201213
+2015030087,046126900
+2015030129,2008200185
+2015030143,040412
+2015030144,046050346
+2015030147,2009201533
+2015030150,2011100023
+2015030168,2015010121
+2015030179,2009100255
+2015030188,2007100306
+2015030195,2008100092
+2015030196,2015030196
+2015060001,2015060001
+2015060002,2015060002
+2015060021,2015060021
+2015060026,2015060026
+2015060027,2015060027
+2015060028,2015060028
+2015060030,2015060030
+2015060032,2015060032
+2015060074,2015060074
+2015060076,2015060076
+2015060077,2015060077
+2015060078,2015060078
+2015060079,2015060079
+2015060090,2015060090
+2015060095,2015060095
+2015060137,2015060137
+2015060148,2015060148
+2015060149,2015060149
+2015060153,2015060153
+2015060157,2015060157
+2015060167,2015060167
+2015060177,2015060177
+2015060178,2015060178
+2015060182,2015060182
+2015060183,2015060183
+2015060184,2015060184
+2015060185,2015060185
+2015060200,2015060200
+2015070001,2015070001
+2015070002,2015070002
+2015070003,2015070003
+2015070004,2015070004
+2015070005,2015070005
+2015070006,2015070006
+2015070007,2015070007
+2015070008,2015070008
+2015070009,2015070009
+2015070010,2015070010
+2015070011,2015070011
+2015070013,2015070013
+2015070014,2015070014
+2015070015,2015070015
+2015070016,2015070016
+2015070017,2015070017
+2015070018,2015070018
+2015070019,2015070019
+2015070020,2015070020
+2015070021,2015070021
+2015070022,2015070022
+2015070023,2015070023
+2015070024,2015070024
+2015070025,2015070025
+2015070026,2015070026
+2015070027,2015070027
+2015070028,2015070028
+2015070029,2015070029
+2015070031,2015070031
+2015070034,2015070034
+2015070035,2015070035
+2015070036,2015070036
+2015070037,2015070037
+2015070038,2015070038
+2015070039,2015070039
+2015070040,2015070040
+2015070041,2015070041
+2015070042,2015070042
+2015070043,2015070043
+2015070044,2015070044
+2015070045,2015070045
+2015070046,2015070046
+2015070047,2015070047
+2015070048,2011300419
+2015070049,2015070049
+2015070050,2015070050
+2015070051,2015070051
+2015070053,2015070053
+2015070054,2015070054
+2015070055,2011300710
+2015070056,2011303460
+2015070057,2015070057
+2015070058,2015070058
+2015070059,2015070059
+2015070060,2015070060
+2015070061,2015070061
+2015070062,2015070062
+2015070063,2015070063
+2015070064,2015070064
+2015070065,2015070065
+2015070066,2015070066
+2015070067,2015070067
+2015070068,2015070068
+2015070069,2015070069
+2015070070,2015070070
+2015070072,2015070072
+2015070073,2015070073
+2015070074,2015070074
+2015070075,2015070075
+2015070076,2015070076
+2015070078,2015070078
+2015070079,2015070079
+2015070080,2015070080
+2015070081,2015070081
+2015070082,2015070082
+2015070083,2015070083
+2015070084,2015070084
+2015070085,2015070085
+2015070087,2015070087
+2015070088,2015070088
+2015070089,2015070089
+2015070090,2015070090
+2015070091,2015070091
+2015070092,2015070092
+2015070093,2015070093
+2015070094,2015070094
+2015070095,2015070095
+2015070096,2015070096
+2015070097,2015070097
+2015070098,2015070098
+2015070099,2015070099
+2015070100,2015070100
+2015070101,2015070101
+2015070102,2015070102
+2015070103,2015070103
+2015070104,2015070104
+2015070105,2015070105
+2015070106,2015070106
+2015070107,2015070107
+2015070108,2015070108
+2015070109,2015070109
+2015070110,2015070110
+2015070111,2015070111
+2015070112,2015070112
+2015070113,2015070113
+2015070114,2015070114
+2015070115,2015070115
+2015070116,2015070116
+2015070117,2015070117
+2015070118,2015070118
+2015070119,2015070119
+2015100001,2007300178
+2015100002,2015100002
+2015100003,2015100003
+2015100004,2008300200
+2015100005,2008300382
+2015100006,2015100006
+2015100007,2013100160
+2015100008,2008300226
+2015100009,2008302838
+2015100010,050067
+2015100011,2015100011
+2015100012,2015100012
+2015100013,2008300207
+2015100014,2008300585
+2015100015,2009200203
+2015100016,2015100016
+2015100017,052075
+2015100018,2012200260
+2015100019,2012262537
+2015100020,2008300635
+2015100021,2015100021
+2015100022,2015100022
+2015100023,2015100023
+2015100024,2015100024
+2015100025,2015100025
+2015100026,050544
+2015100027,2015100027
+2015100028,2015100028
+2015100029,2007200095
+2015100030,2015100030
+2015100031,2015100031
+2015100032,2007303224
+2015100033,2015100033
+2015100034,2015100034
+2015100035,2008300732
+2015100036,2008300736
+2015100037,2008300742
+2015100038,2008301079
+2015100039,2015100039
+2015100040,2015100040
+2015100041,2015100041
+2015100042,2008300912
+2015100043,2015100043
+2015100044,2009100018
+2015100045,046050293
+2015100046,2015100046
+2015100047,2015100047
+2015100048,2015100048
+2015100049,2015100049
+2015100050,2015100050
+2015100051,2015100051
+2015100052,056045023
+2015100053,2015100053
+2015100054,2015100054
+2015100055,2015100055
+2015100056,2008302961
+2015100057,2015100057
+2015100058,2008301000
+2015100059,2007200528
+2015100060,2012260704
+2015100061,2015100061
+2015100062,2015100062
+2015100063,2012260919
+2015100064,2015100064
+2015100065,2008301220
+2015100066,2015100066
+2015100067,041160
+2015100068,2015100068
+2015100069,2007301274
+2015100070,2015100070
+2015100071,2015100071
+2015100072,2015100072
+2015100073,2008301383
+2015100074,2015100074
+2015100075,2015100075
+2015100076,2015100076
+2015100077,2015100077
+2015100078,2015100078
+2015100079,2015100079
+2015100080,2015100080
+2015100081,2015100081
+2015100082,2011201045
+2015100083,2015100083
+2015100084,2011261084
+2015100085,2015100085
+2015100086,2015100086
+2015100087,2008301654
+2015100088,2015100088
+2015100089,2015100089
+2015100090,05608J005
+2015100091,2015100091
+2015100092,042032
+2015100093,2012261391
+2015100094,2015100094
+2015100095,2015100095
+2015100096,051761
+2015100097,2015100097
+2015100098,2015100098
+2015100099,2015100099
+2015100100,2015100100
+2015100101,2015100101
+2015100102,052458
+2015100103,2015100103
+2015100104,2015100104
+2015100105,2015100105
+2015100106,2015100106
+2015100107,2011201656
+2015100108,2015100108
+2015100109,2015100109
+2015100110,2006000057
+2015100111,2015100111
+2015100112,2015100112
+2015100113,2015100113
+2015100114,2015100114
+2015100115,2015100115
+2015100116,2012261789
+2015100117,2015100117
+2015100118,2015100118
+2015100119,2015100119
+2015100120,2008302547
+2015100121,2015100121
+2015100122,2012201703
+2015100123,2012262573
+2015100124,2012262545
+2015100125,2015100125
+2015100126,2015100126
+2015100127,2015100127
+2015100128,2015100128
+2015100129,2015100129
+2015100130,2015100130
+2015100131,062817
+2015100132,2015100132
+2015100133,2015100133
+2015100134,062682
+2015100135,2015100135
+2015100136,2015100136
+2015100137,2012261980
+2015100138,2015100138
+2015100139,2011202075
+2015100140,2015100140
+2015100141,2015100141
+2015100142,2015100142
+2015100143,2015100143
+2015100144,2015100144
+2015100145,2015100145
+2015100146,2015100146
+2015100147,2008303059
+2015100148,046126899
+2015100149,2015100149
+2015100150,2015100150
+2015100151,2015100151
+2015100152,2002000045
+2015100153,2015100153
+2015100154,2015100154
+2015100155,2015100155
+2015100156,2015100156
+2015100157,2015100157
+2015100158,2015100158
+2015100159,043576
+2015100160,2015100160
+2015100161,2015100161
+2015100162,046136922
+2015100163,2015100163
+2015100164,2015100164
+2015100165,2015100165
+2015100166,2015100166
+2015100167,2015100167
+2015100168,2015100168
+2015100169,2015100169
+2015100170,2015100170
+2015100171,2015100171
+2015100172,2015100172
+2015100173,2015100173
+2015100174,2015100174
+2015100176,2015100176
+2015100177,2015100177
+2015100178,2015100178
+2015100179,2015100179
+2015100181,2015100181
+2015100183,2008300224
+2015100184,2007300291
+2015100185,2008300301
+2015100186,2008300504
+2015100187,2012201278
+2015100188,2012201337
+2015100189,2008300675
+2015100190,2012200084
+2015100191,2012200580
+2015100192,2012200638
+2015100193,2012200630
+2015100194,2012200720
+2015100195,2012201828
+2015100196,2012200896
+2015100197,2008301205
+2015100198,2008301197
+2015100199,2015100199
+2015100200,2012201085
+2015100201,2008301825
+2015100202,2008301946
+2015100203,2012201227
+2015100204,2012201269
+2015100205,2012201537
+2015100206,2008302269
+2015100207,2012201570
+2015100208,2008302113
+2015100209,2012200460
+2015100210,062248
+2015100211,2012201815
+2015100212,2012201818
+2015100213,2012201904
+2015100214,2012201809
+2015100215,2012201834
+2015100216,2008302783
+2015100217,2012201886
+2015100218,2008302990
+2015100219,2012201921
+2015100220,2015100220
+2015100221,2012202429
+2015100222,2012202371
+2015100223,2012202379
+2015100224,2008300163
+2015100225,2011300046
+2015100226,2011300001
+2015100227,2011300324
+2015100228,2011300118
+2015100229,2009100095
+2015100230,2003020085
+2015100231,2015100231
+2015100232,2009300440
+2015100233,2009300334
+2015100234,2015100234
+2015100235,2011300342
+2015100236,2009300299
+2015100237,2011301777
+2015100238,2009300436
+2015100239,2011300110
+2015100240,2011303661
+2015100241,2009300385
+2015100242,2011300101
+2015100243,2009300379
+2015100244,050079
+2015100245,046015009
+2015100246,2009300315
+2015100247,2009200061
+2015100248,2007300165
+2015100249,2015100249
+2015100250,2008300409
+2015100251,2015100251
+2015100252,2015100252
+2015100253,2009300183
+2015100254,2011300038
+2015100255,2009300254
+2015100256,2011300591
+2015100257,2011300353
+2015100258,2009300236
+2015100259,2013200075
+2015100260,2009300364
+2015100261,2009300042
+2015100262,2009301290
+2015100263,2015100263
+2015100264,2011300338
+2015100265,2013200069
+2015100266,2009300096
+2015100267,2013200037
+2015100268,2011300050
+2015100269,2011300010
+2015100270,2011302732
+2015100271,2009300234
+2015100272,2009300192
+2015100273,2011300349
+2015100274,2011300092
+2015100275,2009300302
+2015100276,2011300016
+2015100277,2015100277
+2015100278,2011300015
+2015100279,2011300090
+2015100280,2009300396
+2015100281,2009300390
+2015100282,2015100282
+2015100283,2015100283
+2015100284,2015100284
+2015100285,2015100285
+2015100286,2015100286
+2015100287,2011300089
+2015100288,2015100288
+2015100289,046026041
+2015100290,2007300564
+2015100291,2015100291
+2015100292,2015100292
+2015100293,2011300103
+2015100294,2013200262
+2015100295,2011300427
+2015100296,2011302825
+2015100297,2011300055
+2015100298,2011300426
+2015100299,2007300511
+2015100300,2015100300
+2015100301,2015100301
+2015100302,2015100302
+2015100303,2011300112
+2015100304,2009300099
+2015100305,2015100305
+2015100306,2015100306
+2015100307,2015100307
+2015100308,2009300698
+2015100309,2011300558
+2015100310,2008301719
+2015100311,2013200294
+2015100312,2015100312
+2015100313,061511
+2015100314,2015100314
+2015100315,2015100315
+2015100316,2015100316
+2015100319,2009300910
+2015100320,2011300766
+2015100321,2013200349
+2015100322,2013200370
+2015100323,2013200419
+2015100324,2013200399
+2015100325,2010201467
+2015100326,2011300796
+2015100327,2015100327
+2015100328,2011300763
+2015100329,2009300913
+2015100330,2011300012
+2015100331,2013200408
+2015100332,2013200409
+2015100333,2011300792
+2015100334,2011300747
+2015100335,2009300760
+2015100336,2013200434
+2015100337,2011300586
+2015100338,2011300601
+2015100339,2011300783
+2015100340,2009300736
+2015100341,2011300099
+2015100342,2011300035
+2015100343,2011300624
+2015100344,2015100344
+2015100345,2015100345
+2015100346,2015100346
+2015100347,2013200449
+2015100348,2009300849
+2015100349,2015100349
+2015100350,2013200356
+2015100351,2015100351
+2015100352,2013200504
+2015100353,2015100353
+2015100354,2015100354
+2015100355,2015100355
+2015100356,2015100356
+2015100357,2015100357
+2015100358,2015100358
+2015100359,2011301017
+2015100360,2013200523
+2015100361,2013200525
+2015100362,2015100362
+2015100363,2015100363
+2015100364,2015100364
+2015100365,2011300085
+2015100366,2013200538
+2015100367,2009300932
+2015100368,2013200506
+2015100369,2015100369
+2015100370,2013200544
+2015100371,050837
+2015100372,2015100372
+2015100373,2015100373
+2015100374,2015100374
+2015100375,2015100375
+2015100376,2009301134
+2015100377,2015100377
+2015100378,2015100378
+2015100379,2011300888
+2015100380,2015100380
+2015100381,2015100381
+2015100382,2015100382
+2015100383,2015100383
+2015100384,2012201866
+2015100385,2015100385
+2015100386,2012200571
+2015100387,2015100387
+2015100388,2015100388
+2015100389,2013200581
+2015100390,2015100390
+2015100391,2013200648
+2015100392,2009301115
+2015100393,2011300937
+2015100394,2015100394
+2015100395,2015100395
+2015100396,2015100396
+2015100397,2011300909
+2015100398,2013200608
+2015100399,2015100399
+2015100400,2015100400
+2015100401,2015100401
+2015100402,2014310204
+2015100403,2013200617
+2015100404,2009301095
+2015100405,2015100405
+2015100406,2009301019
+2015100407,2013200638
+2015100408,2011300908
+2015100409,2011300955
+2015100410,2009301027
+2015100411,2015100411
+2015100412,2013200649
+2015100413,2015100413
+2015100415,2008301330
+2015100416,2011301188
+2015100417,2013200726
+2015100418,2015100418
+2015100419,2015100419
+2015100420,2015100420
+2015100421,2015100421
+2015100422,2015100422
+2015100423,2011301373
+2015100424,2011301366
+2015100425,2011301281
+2015100426,2011301280
+2015100427,2008301239
+2015100428,2013200733
+2015100429,2011301212
+2015100430,2015100430
+2015100431,2015100431
+2015100432,2013200782
+2015100433,2015100433
+2015100434,2011301175
+2015100435,2015100435
+2015100436,2015100436
+2015100437,2015100437
+2015100438,2015100438
+2015100439,2015100439
+2015100440,2015100440
+2015100441,2015100441
+2015100442,2015100442
+2015100443,2011301170
+2015100444,2013200832
+2015100445,2013200835
+2015100446,2011301157
+2015100447,2011301075
+2015100448,2009301221
+2015100449,2011302883
+2015100450,2011301128
+2015100451,2013200875
+2015100452,2013200876
+2015100453,2011301163
+2015100454,2011301084
+2015100455,2015100455
+2015100456,2013200881
+2015100457,2015100457
+2015100458,2015100458
+2015100459,2015100459
+2015100460,2011301148
+2015100461,2011301321
+2015100462,2011301155
+2015100465,2008303098
+2015100466,20140P0338
+2015100467,2011301426
+2015100468,2009301572
+2015100469,2011301417
+2015100470,2015100470
+2015100471,2009301571
+2015100472,2011261085
+2015100473,2009301505
+2015100474,2013200984
+2015100475,2011301471
+2015100476,2011301467
+2015100477,2011301475
+2015100478,2013201001
+2015100479,2011300093
+2015100480,2015100480
+2015100481,2009301839
+2015100482,2015100482
+2015100483,2011301639
+2015100484,2009301788
+2015100485,2009301669
+2015100486,2009301795
+2015100487,2011301586
+2015100488,2008301728
+2015100489,2015100489
+2015100490,2009301805
+2015100491,2015100491
+2015100492,2015100492
+2015100493,2013201052
+2015100494,2011301634
+2015100495,2009301755
+2015100496,2009301843
+2015100497,2009301747
+2015100498,2009301695
+2015100499,2009301732
+2015100500,2009301739
+2015100501,2009301757
+2015100502,2009301753
+2015100503,2009301793
+2015100504,2015100504
+2015100505,2015100505
+2015100506,2009301869
+2015100507,2015100507
+2015100508,2015100508
+2015100509,2015100509
+2015100510,2015100510
+2015100511,2015100511
+2015100512,2011261428
+2015100513,2009302110
+2015100514,2008301863
+2015100515,2015100515
+2015100516,2015100516
+2015100517,2015100517
+2015100518,2008010128
+2015100519,2013201246
+2015100520,2015100520
+2015100521,2015100521
+2015100522,2015100522
+2015100523,066086493
+2015100524,2013201197
+2015100525,2015100525
+2015100526,2015100526
+2015100527,2015100527
+2015100532,2011302208
+2015100533,2015100533
+2015100534,066096561
+2015100535,2009302245
+2015100536,2009300103
+2015100537,2009300101
+2015100538,2009300100
+2015100539,2011302226
+2015100540,2012201427
+2015100541,2008302187
+2015100542,2011302255
+2015100543,2013201450
+2015100544,2015100544
+2015100545,2011302200
+2015100546,2015100546
+2015100547,2015100547
+2015100548,2015100548
+2015100549,2015100549
+2015100550,2011302067
+2015100551,2009302333
+2015100552,2013201562
+2015100553,2015100553
+2015100554,2009302178
+2015100555,2013201466
+2015100556,2011302155
+2015100557,2009302432
+2015100558,042883
+2015100559,2013201500
+2015100560,2013201482
+2015100561,2009300095
+2015100562,046090588
+2015100563,2013200393
+2015100564,2009302115
+2015100565,2013010059
+2015100566,2010210088
+2015100567,2015100567
+2015100568,2007302403
+2015100569,2008303329
+2015100570,2015100570
+2015100571,2009302563
+2015100572,2011302600
+2015100573,2011302681
+2015100574,2015100574
+2015100575,2015100575
+2015100576,2008210508
+2015100577,2012201210
+2015100578,2011302556
+2015100579,2011302464
+2015100580,2011303383
+2015100581,2015100581
+2015100582,2011302428
+2015100583,046106663
+2015100584,2015100584
+2015100585,2015100585
+2015100586,2015100586
+2015100587,2008303302
+2015100589,2011302713
+2015100590,2011302765
+2015100591,2013201830
+2015100592,2011302690
+2015100593,2011302777
+2015100594,2011302733
+2015100595,2013201871
+2015100596,2013201834
+2015100597,2013201861
+2015100598,2015100598
+2015100599,2013201847
+2015100600,2011302687
+2015100601,056116708
+2015100602,2011302864
+2015100603,2007201471
+2015100604,2011302911
+2015100605,2015100605
+2015100606,2015100606
+2015100607,2015100607
+2015100608,2011302983
+2015100609,2013201966
+2015100610,2011302980
+2015100611,2011302912
+2015100612,2011302875
+2015100613,2011302787
+2015100614,2011302887
+2015100615,2009302888
+2015100616,2011302860
+2015100617,2015100617
+2015100618,2011302886
+2015100619,2009302785
+2015100620,2015100620
+2015100621,2013201939
+2015100622,2015100622
+2015100623,2015100623
+2015100624,2011302914
+2015100625,2009302912
+2015100626,2011262415
+2015100627,2015100627
+2015100628,2015100628
+2015100629,2012010038
+2015100630,2009303106
+2015100631,2012262107
+2015100632,2015100632
+2015100633,2009303002
+2015100634,2015100634
+2015100635,2015100635
+2015100636,2015100636
+2015100637,2015100637
+2015100638,2010262055
+2015100639,2009303222
+2015100640,2009201954
+2015100641,2015100641
+2015100642,2011202101
+2015100643,2015100643
+2015100644,2015100644
+2015100645,2015100645
+2015100646,2015100646
+2015100647,046134129
+2015100648,2015100648
+2015100649,2013202628
+2015100650,2013202627
+2015100651,2013202639
+2015100652,2015100652
+2015100653,2013201247
+2015140001,2015140001
+2015140002,2008201341
+2015140003,2015140003
+2015140006,2015140006
+2015140007,2015140007
+2015140008,2015140008
+2015140009,2015140009
+2015140011,2015140011
+2015140012,2012302834
+2015140013,2012300057
+2015140014,2012302075
+2015140015,2012300109
+2015140016,2012300059
+2015150001,2015150001
+2015150002,2015150002
+2015150003,2015150003
+2015150004,2015150004
+2015150005,2015150005
+2015150006,2015150006
+2015150007,2015150007
+2015150008,2015150008
+2015150009,2015150009
+2015150010,2015150010
+2015150011,2015150011
+2015150012,2015150012
+2015150013,2015150013
+2015150014,2015150014
+2015150015,056100589
+2015150016,2015150016
+2015150017,2015150017
+2015150018,2015150018
+2015150019,060240
+2015150020,2015150020
+2015160317,2015160317
+2015160318,2015160318
+2015160414,2015160414
+2015160463,2015160463
+2015160464,2015160464
+2015160528,2015160528
+2015160529,2015160529
+2015160530,2015160530
+2015160531,2015160531
+2015160588,2015160588
+2015200001,2015200001
+2015200002,2011300309
+2015200003,2015200003
+2015200004,2011300164
+2015200005,2011300182
+2015200006,2011300233
+2015200007,2011300355
+2015200008,2011300358
+2015200009,2011300315
+2015200010,2011300072
+2015200011,2011300255
+2015200012,2010300280
+2015200013,2011300301
+2015200014,2011300193
+2015200015,2011300186
+2015200016,2011300348
+2015200017,2011300334
+2015200018,2010300386
+2015200019,2015200019
+2015200020,2011300149
+2015200021,2011300237
+2015200022,2011300258
+2015200023,2011300229
+2015200024,2011300321
+2015200025,2011300339
+2015200026,2011300418
+2015200027,2011300328
+2015200028,2011300163
+2015200029,2011300261
+2015200030,2015200030
+2015200031,2015200031
+2015200032,2011300184
+2015200033,2011300039
+2015200034,2011300289
+2015200035,2011300354
+2015200036,2011300206
+2015200037,2011300203
+2015200038,2011302666
+2015200039,2015200039
+2015200040,2015200040
+2015200041,2011300232
+2015200042,2015200042
+2015200043,2011300327
+2015200044,2011300156
+2015200045,2011302762
+2015200046,2011300235
+2015200047,2015200047
+2015200048,2015200048
+2015200049,2015200049
+2015200050,2011300027
+2015200051,2011300323
+2015200052,2015200052
+2015200053,2011300200
+2015200054,2015200054
+2015200055,2011300260
+2015200056,2011300145
+2015200057,2011300241
+2015200058,2011300074
+2015200059,2011300117
+2015200060,2011300262
+2015200061,2011300212
+2015200062,2011300273
+2015200063,2011300066
+2015200064,2015200064
+2015200065,2011300204
+2015200066,2015200066
+2015200067,2015200067
+2015200068,2011300227
+2015200069,2011300252
+2015200070,2011302691
+2015200071,2011300347
+2015200072,2015200072
+2015200073,2015200073
+2015200074,2015200074
+2015200075,2015200075
+2015200076,2015200076
+2015200077,2011300364
+2015200078,2011300285
+2015200079,2011300284
+2015200080,2011300282
+2015200081,2011300270
+2015200082,2011300279
+2015200083,2015200083
+2015200084,2015200084
+2015200085,2011300144
+2015200086,2011300369
+2015200087,2011300322
+2015200088,2011300083
+2015200089,2011300133
+2015200090,2011300129
+2015200091,2011300068
+2015200092,2009300301
+2015200093,2011300395
+2015200094,2015200094
+2015200095,2011300105
+2015200096,2011300197
+2015200097,2011300207
+2015200098,2011300091
+2015200099,2014310208
+2015200100,2015200100
+2015200101,2011300411
+2015200102,2011300244
+2015200103,2015200103
+2015200104,2015200104
+2015200105,2015200105
+2015200106,2015200106
+2015200107,2011300394
+2015200108,2011300169
+2015200109,2011300174
+2015200110,2015200110
+2015200111,2011300317
+2015200112,2011302739
+2015200113,2011302675
+2015200114,2014310207
+2015200115,2014310206
+2015200116,2011300194
+2015200117,2011302816
+2015200118,2015200118
+2015200119,2010300368
+2015200120,2011300222
+2015200121,2011300176
+2015200122,2011300303
+2015200123,2015200123
+2015200124,2011300158
+2015200125,2011300181
+2015200126,2011300409
+2015200127,2011300053
+2015200128,2011302946
+2015200129,2015200129
+2015200130,051965
+2015200131,2015200131
+2015200132,2011300078
+2015200133,2015200133
+2015200134,2011300196
+2015200135,2011300607
+2015200136,2015200136
+2015200137,2015200137
+2015200138,2011300136
+2015200139,2011300296
+2015200140,2011300162
+2015200141,2015200141
+2015200142,2011302592
+2015200143,2011300397
+2015200144,2011300119
+2015200145,2011300116
+2015200146,2011300311
+2015200226,2010301586
+2015200227,2015200227
+2015200228,2015200228
+2015200229,2011300531
+2015200230,2011300500
+2015200231,2010300472
+2015200232,2010300498
+2015200233,2011300507
+2015200234,2015200234
+2015200235,2015200235
+2015200236,2011300519
+2015200237,2011300022
+2015200238,2015200238
+2015200239,2011300069
+2015200240,2011300532
+2015200241,2015200241
+2015200242,2011300070
+2015200243,2011300524
+2015200244,2011300487
+2015200245,2011302149
+2015200246,2015200246
+2015200247,2011300488
+2015200248,2011300047
+2015200249,2011301779
+2015200250,2011302479
+2015200251,2015200251
+2015200252,2011300037
+2015200253,2011300502
+2015200254,2011300438
+2015200255,2011300490
+2015200256,2015200256
+2015200257,2011300494
+2015200258,2015200258
+2015200259,2015200259
+2015200260,2011300514
+2015200261,2011300506
+2015200262,2011300014
+2015200263,2011300040
+2015200264,2011300415
+2015200265,2011302546
+2015200266,2011300437
+2015200267,2011300460
+2015200268,2011300051
+2015200269,2011300416
+2015200270,2011300400
+2015200271,2015200271
+2015200272,2015200272
+2015200273,2010300446
+2015200274,2011300407
+2015200275,2011300403
+2015200276,2011300134
+2015200277,2011300439
+2015200278,2011300420
+2015200279,2011300475
+2015200280,2015200280
+2015200281,2011300468
+2015200282,2011300473
+2015200283,2011302790
+2015200284,2015200284
+2015200285,2015200285
+2015200286,2015200286
+2015200287,2011300482
+2015200288,2011300478
+2015200289,2015200289
+2015200290,2011300017
+2015200291,2010300566
+2015200292,2015200292
+2015200293,2011300033
+2015200294,2011300483
+2015200295,2011300584
+2015200296,2011300580
+2015200297,2011301196
+2015200298,2015200298
+2015200299,2011300552
+2015200300,2015200300
+2015200301,2011301679
+2015200302,2010300493
+2015200303,2011300579
+2015200304,2011300071
+2015200305,2011301218
+2015200306,2010300263
+2015200307,2015200307
+2015200308,2011302110
+2015200309,2015200309
+2015200310,2015200310
+2015200311,2010300556
+2015200312,2011300562
+2015200313,2010300549
+2015200314,2011300577
+2015200315,2015200315
+2015200316,2015200316
+2015200317,2015200317
+2015200364,2011300764
+2015200365,2015200365
+2015200366,2011300779
+2015200367,2011300777
+2015200368,2011300784
+2015200369,2011300604
+2015200370,2015200370
+2015200371,2011300606
+2015200372,2015200372
+2015200373,2011300597
+2015200374,2011300599
+2015200375,2011300593
+2015200376,2011300592
+2015200377,2015200377
+2015200378,2011300714
+2015200379,2015200379
+2015200380,2011300718
+2015200381,2011300676
+2015200382,2011300686
+2015200383,2011300790
+2015200384,2011300698
+2015200385,2011300683
+2015200386,2011300706
+2015200387,2010300730
+2015200388,2011300679
+2015200389,2011300692
+2015200390,2011300687
+2015200391,2011300716
+2015200392,2011300028
+2015200393,2011300021
+2015200394,2011300703
+2015200395,2011300721
+2015200396,2011300773
+2015200397,2011300680
+2015200398,2011300707
+2015200399,2011300694
+2015200400,2011300677
+2015200401,2011300693
+2015200402,2011300681
+2015200403,2011300659
+2015200404,2015200404
+2015200405,2015200405
+2015200406,2015200406
+2015200407,2015200407
+2015200408,2011300666
+2015200409,2011300673
+2015200410,2015200410
+2015200411,2011300656
+2015200412,2010300698
+2015200413,2015200413
+2015200414,2015200414
+2015200415,2011300756
+2015200416,2015200416
+2015200417,2015200417
+2015200418,2015200418
+2015200419,2011300750
+2015200420,2011300797
+2015200421,2015200421
+2015200422,2015200422
+2015200423,2011300789
+2015200424,2011300744
+2015200425,2015200425
+2015200426,2011300809
+2015200427,2011300808
+2015200428,2011300805
+2015200429,2011300734
+2015200430,2011300663
+2015200431,2011300612
+2015200432,2015200432
+2015200433,2015200433
+2015200434,2011302745
+2015200435,2015200435
+2015200436,2011300634
+2015200437,2011300637
+2015200438,2011300647
+2015200439,2015200439
+2015200440,2015200440
+2015200441,2015200441
+2015200442,2011300696
+2015200443,2015200443
+2015200444,2011300630
+2015200445,2015200445
+2015200446,2015200446
+2015200447,2015200447
+2015200448,2015200448
+2015200449,2011300689
+2015200450,2011300619
+2015200451,2011300775
+2015200452,2011300583
+2015200453,2011300711
+2015200454,2011300752
+2015200455,2014310205
+2015200456,2015200456
+2015200457,2011300652
+2015200458,2011300614
+2015200459,2011300780
+2015200460,2011301129
+2015200461,2011300781
+2015200462,2011300778
+2015200522,2015200522
+2015200523,2015200523
+2015200524,2015200524
+2015200525,2015200525
+2015200526,2015200526
+2015200527,2015200527
+2015200528,2015200528
+2015200529,2015200529
+2015200530,2015200530
+2015200531,2015200531
+2015200532,2011300030
+2015200533,2015200533
+2015200534,2015200534
+2015200535,2015200535
+2015200536,2015200536
+2015200537,2011300894
+2015200538,2015200538
+2015200539,2015200539
+2015200540,2011301000
+2015200541,2015200541
+2015200542,2015200542
+2015200543,2015200543
+2015200544,2015200544
+2015200545,2015200545
+2015200546,2015200546
+2015200547,2015200547
+2015200548,2011300882
+2015200549,2015200549
+2015200550,2011301238
+2015200551,2011300898
+2015200552,2015200552
+2015200553,2015200553
+2015200554,2011302813
+2015200555,2015200555
+2015200556,2015200556
+2015200557,2015200557
+2015200558,2011300873
+2015200559,2011301006
+2015200560,2015200560
+2015200561,2011300881
+2015200562,2011300861
+2015200563,2015200563
+2015200564,2015200564
+2015200565,2015200565
+2015200566,2015200566
+2015200567,2015200567
+2015200568,2015200568
+2015200569,2015200569
+2015200570,2011300844
+2015200571,2015200571
+2015200572,2015200572
+2015200573,2015200573
+2015200574,2015200574
+2015200575,2011303098
+2015200576,2015200576
+2015200577,2011300041
+2015200578,2015200578
+2015200579,2011300817
+2015200580,2011301009
+2015200581,2015200581
+2015200582,2011300903
+2015200583,2015200583
+2015200584,2011300884
+2015200585,2015200585
+2015200586,2011300860
+2015200587,2011300875
+2015200588,2015200588
+2015200589,2015200589
+2015200590,2015200590
+2015200591,2015200591
+2015200592,2015200592
+2015200593,2011300833
+2015200594,2011301003
+2015200595,2015200595
+2015200596,2015200596
+2015200597,2015200597
+2015200598,2015200598
+2015200599,2015200599
+2015200600,2015200600
+2015200601,2011301028
+2015200602,2015200602
+2015200603,2011300837
+2015200604,2011300926
+2015200605,2015200605
+2015200606,2010300940
+2015200607,2015200607
+2015200608,2015200608
+2015200609,2015200609
+2015200610,2011300910
+2015200611,2014310203
+2015200612,2015200612
+2015200613,2015200613
+2015200614,2011301022
+2015200615,2015200615
+2015200616,2015200616
+2015200617,2015200617
+2015200618,2015200618
+2015200619,2015200619
+2015200620,2015200620
+2015200621,2015200621
+2015200622,2015200622
+2015200623,2011300950
+2015200624,2011300982
+2015200625,2011300934
+2015200626,2015200626
+2015200627,2015200627
+2015200628,2011300985
+2015200629,2015200629
+2015200630,2010300929
+2015200631,2015200631
+2015200632,2011300923
+2015200633,2015200633
+2015200634,2011300938
+2015200635,2015200635
+2015200636,2015200636
+2015200637,2015200637
+2015200638,2011300954
+2015200639,2015200639
+2015200640,2011302836
+2015200641,2015200641
+2015200642,2015200642
+2015200643,2015200643
+2015200644,2015200644
+2015200645,2015200645
+2015200646,2015200646
+2015200647,2015200647
+2015200648,2015200648
+2015200649,2015200649
+2015200650,2015200650
+2015200651,2015200651
+2015200652,2015200652
+2015200653,2015200653
+2015200654,2015200654
+2015200655,2015200655
+2015200656,2015200656
+2015200657,2015200657
+2015200658,2015200658
+2015200659,2015200659
+2015200660,2015200660
+2015200661,2015200661
+2015200662,2015200662
+2015200663,2015200663
+2015200664,2015200664
+2015200665,2015200665
+2015200666,2011300915
+2015200667,2015200667
+2015200668,2011300957
+2015200669,2015200669
+2015200670,2015200670
+2015200671,2015200671
+2015200672,2015200672
+2015200673,2015200673
+2015200674,2015200674
+2015200675,2015200675
+2015200676,2015200676
+2015200677,2015200677
+2015200759,2011301202
+2015200760,2011301182
+2015200761,2011301261
+2015200762,2015200762
+2015200763,2015200763
+2015200764,2010301172
+2015200765,2015200765
+2015200766,2011301220
+2015200767,2011301183
+2015200768,2011301396
+2015200769,2015200769
+2015200770,2015200770
+2015200771,2015200771
+2015200772,2011301347
+2015200773,2015200773
+2015200774,2015200774
+2015200775,2015200775
+2015200776,2011301309
+2015200777,2011301178
+2015200778,2011301392
+2015200779,2015200779
+2015200780,2015200780
+2015200781,2011301397
+2015200782,2015200782
+2015200783,2015200783
+2015200784,2015200784
+2015200785,2015200785
+2015200786,2011301191
+2015200787,2015200787
+2015200788,2011301400
+2015200789,2011301403
+2015200790,2015200790
+2015200791,2011301375
+2015200792,2015200792
+2015200793,2015200793
+2015200794,2015200794
+2015200795,2011301194
+2015200796,2011301368
+2015200797,2015200797
+2015200798,2015200798
+2015200799,2015200799
+2015200800,2011301199
+2015200801,2015200801
+2015200802,2015200802
+2015200803,2015200803
+2015200804,2015200804
+2015200805,2011301364
+2015200806,2015200806
+2015200807,2011301259
+2015200808,2015200808
+2015200809,2011300922
+2015200810,2015200810
+2015200811,2015200811
+2015200812,2015200812
+2015200813,2015200813
+2015200814,2015200814
+2015200815,2015200815
+2015200816,2015200816
+2015200817,2011301391
+2015200818,2015200818
+2015200819,2011301346
+2015200820,2011303640
+2015200821,2011301179
+2015200822,2011301192
+2015200823,2015200823
+2015200824,2015200824
+2015200825,2015200825
+2015200826,2015200826
+2015200827,2015200827
+2015200828,2015200828
+2015200829,2015200829
+2015200830,2015200830
+2015200831,2015200831
+2015200832,2015200832
+2015200833,2015200833
+2015200834,2011301283
+2015200835,2011301186
+2015200836,2011301201
+2015200837,2015200837
+2015200838,2015200838
+2015200839,2010301188
+2015200840,2015200840
+2015200841,2015200841
+2015200842,2011301308
+2015200843,2007301136
+2015200844,2011301290
+2015200845,2011301275
+2015200846,2015200846
+2015200847,2011301369
+2015200848,2011301388
+2015200849,2015200849
+2015200850,2015200850
+2015200851,2015200851
+2015200852,2015200852
+2015200853,2011301160
+2015200854,2011301370
+2015200855,2011301371
+2015200856,2011301389
+2015200857,2015200857
+2015200858,2011301367
+2015200859,2011301383
+2015200860,2011301216
+2015200861,2015200861
+2015200862,2011301329
+2015200863,2015200863
+2015200864,2011301341
+2015200865,2015200865
+2015200866,2015200866
+2015200867,2011301343
+2015200868,2011301355
+2015200869,2015200869
+2015200870,2011302143
+2015200871,2015200871
+2015200872,2015200872
+2015200873,2011301132
+2015200874,2011301070
+2015200875,2015200875
+2015200876,2015200876
+2015200877,2015200877
+2015200878,2011301080
+2015200879,2011301168
+2015200880,2015200880
+2015200881,2015200881
+2015200882,2010302694
+2015200883,2015200883
+2015200884,2015200884
+2015200885,2015200885
+2015200886,2011301173
+2015200887,2011301083
+2015200888,2015200888
+2015200889,2015200889
+2015200890,2015200890
+2015200891,2011301097
+2015200892,2011301101
+2015200893,2011301066
+2015200894,2015200894
+2015200895,2011301130
+2015200896,2011301138
+2015200897,2015200897
+2015200898,2011301265
+2015200899,2011301278
+2015200900,2015200900
+2015200901,2011301180
+2015200902,2015200902
+2015200903,2015200903
+2015200904,2015200904
+2015200905,2011301141
+2015200906,2011301073
+2015200907,2011301104
+2015200908,2011301135
+2015200909,2011301131
+2015200910,2015200910
+2015200911,2015200911
+2015200912,2011301089
+2015200913,2015200913
+2015200914,2015200914
+2015200915,2015200915
+2015200916,2015200916
+2015200917,2015200917
+2015200918,2015200918
+2015200919,2011300057
+2015200920,2011301152
+2015200921,2015200921
+2015200922,2015200922
+2015200923,2011301065
+2015200924,2015200924
+2015200925,2015200925
+2015200926,2015200926
+2015200927,2015200927
+2015200928,2011301118
+2015200929,2015200929
+2015200930,2011301125
+2015200931,2011301127
+2015200932,2015200932
+2015200933,2015200933
+2015200934,2011301067
+2015200935,2015200935
+2015200936,2015200936
+2015200937,2011301358
+2015201019,2015201019
+2015201020,2011301044
+2015201021,2015201021
+2015201022,2011301040
+2015201023,2010301023
+2015201024,2011301064
+2015201025,2011301474
+2015201026,2015201026
+2015201027,2010301403
+2015201028,2011300152
+2015201029,2011301423
+2015201030,2015201030
+2015201031,2011301419
+2015201032,2011301429
+2015201033,2015201033
+2015201034,2015201034
+2015201035,2015201035
+2015201036,2015201036
+2015201037,2011301448
+2015201038,2015201038
+2015201039,2015201039
+2015201040,2015201040
+2015201041,2011301427
+2015201042,2015201042
+2015201043,2015201043
+2015201044,2011301436
+2015201045,2011301454
+2015201046,2015201046
+2015201047,2015201047
+2015201048,2015201048
+2015201049,2011301519
+2015201050,2011301507
+2015201051,2015201051
+2015201052,2011301422
+2015201053,2015201053
+2015201054,2015201054
+2015201055,2015201055
+2015201056,2015201056
+2015201057,2010301407
+2015201058,2015201058
+2015201059,2015201059
+2015201060,2015201060
+2015201061,2015201061
+2015201062,2011301418
+2015201063,2015201063
+2015201064,2015201064
+2015201065,2015201065
+2015201066,2015201066
+2015201067,2015201067
+2015201068,2015201068
+2015201069,2010301510
+2015201070,2011301461
+2015201071,2010301473
+2015201072,2011301500
+2015201073,2011301508
+2015201074,2011301528
+2015201075,2015201075
+2015201076,2015201076
+2015201103,2015201103
+2015201104,2011301660
+2015201105,2011301718
+2015201106,2015201106
+2015201107,2015201107
+2015201108,2011301656
+2015201109,2015201109
+2015201110,2011301708
+2015201111,2011301657
+2015201112,2015201112
+2015201113,2015201113
+2015201114,2011301580
+2015201115,2011301696
+2015201116,2011301736
+2015201117,2011301630
+2015201118,2011301652
+2015201119,2011301711
+2015201120,2015201120
+2015201121,2010301703
+2015201122,2011301731
+2015201123,2011301729
+2015201124,061624
+2015201125,2015201125
+2015201126,2011301658
+2015201127,2011301726
+2015201128,2015201128
+2015201129,2011301770
+2015201130,2011301591
+2015201131,2011301727
+2015201132,2015201132
+2015201133,2011300870
+2015201134,2010301565
+2015201135,2015201135
+2015201136,2011301582
+2015201137,2011301655
+2015201138,2015201138
+2015201139,2011301601
+2015201140,2011301763
+2015201141,2011301682
+2015201142,2011301615
+2015201143,2015201143
+2015201144,2011301640
+2015201145,2011301607
+2015201146,2015201146
+2015201147,2011301647
+2015201148,2011301575
+2015201149,2011301659
+2015201150,2015201150
+2015201151,2015201151
+2015201152,2011301760
+2015201153,2011301741
+2015201154,2011301775
+2015201155,2011301747
+2015201156,2011301622
+2015201157,2015201157
+2015201158,2015201158
+2015201159,2011301602
+2015201160,2011301773
+2015201161,2011301672
+2015201162,2011301592
+2015201163,2011301740
+2015201164,2011301755
+2015201165,2015201165
+2015201166,2011301644
+2015201167,2011301749
+2015201168,2015201168
+2015201169,2011301687
+2015201170,2011301614
+2015201171,2011301681
+2015201172,2011301697
+2015201173,2011301700
+2015201174,2011301714
+2015201175,2011301617
+2015201176,2011301662
+2015201177,2011301576
+2015201178,2011301751
+2015201179,2015201179
+2015201180,2015201180
+2015201181,2015201181
+2015201182,2015201182
+2015201183,2011301583
+2015201184,2011301756
+2015201185,2011301661
+2015201186,2015201186
+2015201187,2015201187
+2015201188,2011300081
+2015201189,2011301605
+2015201190,2015201190
+2015201191,2011301600
+2015201192,2011301715
+2015201237,2015201237
+2015201238,2015201238
+2015201239,2015201239
+2015201240,2015201240
+2015201241,2015201241
+2015201242,2015201242
+2015201243,2015201243
+2015201244,2015201244
+2015201245,2015201245
+2015201246,2015201246
+2015201247,2015201247
+2015201248,2015201248
+2015201249,2015201249
+2015201250,2011301817
+2015201251,2015201251
+2015201252,2015201252
+2015201253,2015201253
+2015201254,2011302051
+2015201255,2011302053
+2015201256,2011301917
+2015201257,2011301972
+2015201258,2015201258
+2015201259,2011301806
+2015201260,2010301792
+2015201261,2011301869
+2015201262,2011302063
+2015201263,2011302059
+2015201264,2015201264
+2015201265,2010302051
+2015201266,2015201266
+2015201267,2011301837
+2015201268,2011301848
+2015201269,2011302039
+2015201270,2011302045
+2015201271,2011301893
+2015201272,2011301860
+2015201273,2011301887
+2015201274,2011301850
+2015201275,2015201275
+2015201276,2011301879
+2015201277,2011302054
+2015201278,2015201278
+2015201279,2015201279
+2015201280,2011302000
+2015201281,2011301975
+2015201282,2011301977
+2015201283,2010301956
+2015201284,2015201284
+2015201285,2011301987
+2015201286,2011301984
+2015201287,2015201287
+2015201288,2015201288
+2015201289,2015201289
+2015201290,2015201290
+2015201291,2015201291
+2015201292,2011302032
+2015201293,2011301971
+2015201294,2011301986
+2015201295,2015201295
+2015201296,2015201296
+2015201297,2011301832
+2015201298,2011302002
+2015201299,2011301974
+2015201300,2011302034
+2015201301,2015201301
+2015201302,2011302007
+2015201303,2015201303
+2015201304,2011301993
+2015201305,2011301862
+2015201306,2015201306
+2015201307,2011302020
+2015201308,2015201308
+2015201309,2015201309
+2015201310,2011301874
+2015201311,2015201311
+2015201312,2015201312
+2015201313,2011301905
+2015201314,2011301970
+2015201315,2011301809
+2015201316,2011303594
+2015201317,2015201317
+2015201318,2011301968
+2015201319,2011302019
+2015201320,2015201320
+2015201321,2011300368
+2015201322,2015201322
+2015201323,2010302030
+2015201324,2011302026
+2015201325,2011302028
+2015201326,2011302393
+2015201327,2015201327
+2015201328,2015201328
+2015201329,2011301827
+2015201330,2015201330
+2015201331,2015201331
+2015201332,2015201332
+2015201333,2011301820
+2015201334,2011300111
+2015201335,2011300113
+2015201336,2011301801
+2015201337,2015201337
+2015201338,2011301878
+2015201339,2015201339
+2015201340,2015201340
+2015201341,2015201341
+2015201342,2015201342
+2015201343,2015201343
+2015201344,2015201344
+2015201345,2011301781
+2015201346,2015201346
+2015201347,2011301914
+2015201348,2011301899
+2015201349,2015201349
+2015201350,2015201350
+2015201351,2010301796
+2015201352,2015201352
+2015201353,2015201353
+2015201354,2015201354
+2015201355,2015201355
+2015201356,2015201356
+2015201357,2015201357
+2015201358,2015201358
+2015201359,2015201359
+2015201360,2015201360
+2015201361,2011301940
+2015201362,2015201362
+2015201363,2015201363
+2015201364,2011300011
+2015201365,2011301959
+2015201366,2011300004
+2015201367,2011301941
+2015201368,2015201368
+2015201369,2015201369
+2015201370,2015201370
+2015201371,2011301937
+2015201372,2010301925
+2015201373,2011301945
+2015201374,2010301917
+2015201375,2015201375
+2015201376,2011300130
+2015201377,2015201377
+2015201378,2011301930
+2015201379,2009301931
+2015201380,2011301921
+2015201381,2011301924
+2015201382,2011301938
+2015201383,2015201383
+2015201443,2015201443
+2015201444,2011302327
+2015201445,2011302352
+2015201446,2011302311
+2015201447,2011302293
+2015201448,2011302314
+2015201449,2011302306
+2015201450,2015201450
+2015201451,2015201451
+2015201452,2011302247
+2015201453,2015201453
+2015201454,2015201454
+2015201455,2011302172
+2015201456,2015201456
+2015201457,2015201457
+2015201458,2015201458
+2015201459,2015201459
+2015201460,2011302258
+2015201461,2011302173
+2015201462,2015201462
+2015201463,2011302296
+2015201464,2015201464
+2015201465,2011302184
+2015201466,2011302199
+2015201467,2011302235
+2015201468,2011302183
+2015201469,2011302168
+2015201470,2011302220
+2015201471,2011300026
+2015201472,2011302315
+2015201473,2011302219
+2015201474,2011302174
+2015201475,2015201475
+2015201476,2015201476
+2015201477,2011302242
+2015201478,2011302225
+2015201479,2011302203
+2015201480,2015201480
+2015201481,2011302167
+2015201482,2015201482
+2015201483,2011302249
+2015201484,2011302210
+2015201485,2011302171
+2015201486,2011302215
+2015201487,2011302195
+2015201488,2011302175
+2015201489,2011302193
+2015201490,2010302722
+2015201491,2011302188
+2015201492,2015201492
+2015201493,2015201493
+2015201494,2011302269
+2015201495,2011302707
+2015201496,2015201496
+2015201497,2011302086
+2015201498,2011302071
+2015201499,2011302319
+2015201500,2015201500
+2015201501,2015201501
+2015201502,2011302069
+2015201503,2011302127
+2015201504,2011302115
+2015201505,2011302150
+2015201506,2015201506
+2015201507,2011302122
+2015201508,2015201508
+2015201509,2015201509
+2015201510,2015201510
+2015201511,2015201511
+2015201512,2015201512
+2015201513,2011302411
+2015201514,2011302139
+2015201515,2011302126
+2015201516,2015201516
+2015201517,2011300002
+2015201518,2011300020
+2015201519,2015201519
+2015201520,2011302156
+2015201521,2011302160
+2015201522,2011302702
+2015201523,2015201523
+2015201524,2015201524
+2015201525,2015201525
+2015201526,2015201526
+2015201527,2011302712
+2015201528,2015201528
+2015201529,2011302076
+2015201530,2015201530
+2015201531,2011302322
+2015201532,2015201532
+2015201533,2011302289
+2015201534,2015201534
+2015201535,2015201535
+2015201536,2011302072
+2015201537,2011302103
+2015201538,2015201538
+2015201539,2015201539
+2015201540,2011302365
+2015201541,2011302373
+2015201542,2010302530
+2015201543,2015201543
+2015201544,2015201544
+2015201545,2011300077
+2015201546,2011300036
+2015201547,2011300065
+2015201548,2011300031
+2015201549,2011302761
+2015201550,2011302273
+2015201551,2015201551
+2015201552,2011302378
+2015201553,2011302381
+2015201554,2011302080
+2015201555,2015201555
+2015201556,2015201556
+2015201557,2011301414
+2015201558,2011302337
+2015201559,2011302346
+2015201560,2011302338
+2015201561,2015201561
+2015201562,2015201562
+2015201563,2015201563
+2015201564,2009302363
+2015201565,2011302339
+2015201566,2011302320
+2015201567,2011302372
+2015201568,2015201568
+2015201569,2015201569
+2015201570,2011300520
+2015201571,2011302135
+2015201572,2015201572
+2015201573,2015201573
+2015201574,2011302092
+2015201575,2015201575
+2015201576,2015201576
+2015201577,2015201577
+2015201578,2015201578
+2015201579,2010302366
+2015201580,2015201580
+2015201581,2015201581
+2015201582,2011302700
+2015201583,2015201583
+2015201584,2015201584
+2015201585,2015201585
+2015201586,2015201586
+2015201587,2015201587
+2015201588,2011302141
+2015201589,2015201589
+2015201590,2011302304
+2015201591,2009302403
+2015201592,2015201592
+2015201593,2011302284
+2015201594,2010302370
+2015201595,2015201595
+2015201596,2015201596
+2015201597,2011302131
+2015201598,2015201598
+2015201599,2015201599
+2015201600,2015201600
+2015201601,2015201601
+2015201602,2009302898
+2015201603,2011302734
+2015201604,2011302165
+2015201605,2011302377
+2015201606,2015201606
+2015201607,2015201607
+2015201608,2011302764
+2015201609,2015201609
+2015201610,2015201610
+2015201611,2011302390
+2015201612,2015201612
+2015201678,2015201678
+2015201679,2011303575
+2015201680,2015201680
+2015201681,2011303602
+2015201682,2011302548
+2015201683,2015201683
+2015201684,2011303399
+2015201685,2015201685
+2015201686,2011303629
+2015201687,2011303581
+2015201688,2015201688
+2015201689,2011302467
+2015201690,2011303632
+2015201691,2011302518
+2015201692,2011300076
+2015201693,2011300365
+2015201694,2015201694
+2015201695,2011302473
+2015201696,2015201696
+2015201697,2011303576
+2015201698,2011300009
+2015201699,2011302416
+2015201700,2011302450
+2015201701,2011302452
+2015201702,2015201702
+2015201703,2011303450
+2015201704,2011302631
+2015201705,2015201705
+2015201706,2011302503
+2015201707,2015201707
+2015201708,2011302572
+2015201709,2015201709
+2015201710,2011302613
+2015201711,2011302424
+2015201712,2011303406
+2015201713,2011303570
+2015201714,2011302486
+2015201715,2011302481
+2015201716,2011302415
+2015201717,2015201717
+2015201718,2015201718
+2015201719,2011302607
+2015201720,2015201720
+2015201721,2011302643
+2015201722,2015201722
+2015201723,2015201723
+2015201724,2015201724
+2015201725,2015201725
+2015201726,2011302496
+2015201727,2011303457
+2015201728,2011302509
+2015201729,2011302605
+2015201730,2011302506
+2015201731,2011302458
+2015201732,2010303510
+2015201733,2011302620
+2015201734,2015201734
+2015201735,2015201735
+2015201736,2015201736
+2015201737,2015201737
+2015201738,2015201738
+2015201739,2011303606
+2015201740,2010302586
+2015201741,2011302622
+2015201742,2011302497
+2015201743,2011302460
+2015201744,2015201744
+2015201745,2011302444
+2015201746,2011303402
+2015201747,2011302500
+2015201748,2011302510
+2015201749,2011303511
+2015201750,2011302717
+2015201751,2011302747
+2015201752,2011303400
+2015201753,2015201753
+2015201754,2011300108
+2015201755,2011302504
+2015201756,2011302501
+2015201757,2011302482
+2015201758,2011302468
+2015201759,2015201759
+2015201760,2011302654
+2015201761,2011302542
+2015201762,2011302234
+2015201763,2011300097
+2015201764,2011302614
+2015201765,2011303456
+2015201766,2011303407
+2015201767,2010302401
+2015201768,2015201768
+2015201769,2015201769
+2015201770,2011302519
+2015201771,2015201771
+2015201772,2011303592
+2015201773,2011303617
+2015201774,2011302499
+2015201775,2015201775
+2015201776,2015201776
+2015201777,2011302532
+2015201778,2011303395
+2015201779,2011302521
+2015201780,2015201780
+2015201781,2011302502
+2015201782,2011302629
+2015201783,2011302561
+2015201784,2011302772
+2015201785,2015201785
+2015201786,2015201786
+2015201787,2011303470
+2015201788,2015201788
+2015201789,2011302477
+2015201790,2011302434
+2015201791,2011303416
+2015201792,2011302461
+2015201793,2010302462
+2015201794,2010302439
+2015201795,2015201795
+2015201849,2011302780
+2015201850,2015201850
+2015201851,2015201851
+2015201852,2015201852
+2015201853,2015201853
+2015201854,2015201854
+2015201855,2011302689
+2015201856,2015201856
+2015201857,2011302737
+2015201858,2011302754
+2015201859,2015201859
+2015201860,2015201860
+2015201861,2015201861
+2015201862,2015201862
+2015201863,2015201863
+2015201864,2011302763
+2015201865,2011302773
+2015201866,2015201866
+2015201867,2015201867
+2015201868,2015201868
+2015201869,2015201869
+2015201870,2015201870
+2015201871,2010302623
+2015201872,2015201872
+2015201873,2015201873
+2015201874,2015201874
+2015201875,2015201875
+2015201876,2015201876
+2015201877,2015201877
+2015201878,2015201878
+2015201879,2011302669
+2015201880,2015201880
+2015201881,2015201881
+2015201882,2015201882
+2015201883,2015201883
+2015201884,2011302663
+2015201885,2015201885
+2015201886,2015201886
+2015201887,2015201887
+2015201888,2011302767
+2015201889,2015201889
+2015201890,2015201890
+2015201891,2015201891
+2015201892,2015201892
+2015201893,2015201893
+2015201894,2015201894
+2015201895,2015201895
+2015201896,2015201896
+2015201897,2011302672
+2015201898,2011302657
+2015201899,2015201899
+2015201900,2011302685
+2015201901,2015201901
+2015201902,2015201902
+2015201903,2015201903
+2015201904,2011302726
+2015201905,2015201905
+2015201906,2015201906
+2015201907,2015201907
+2015201908,2015201908
+2015201909,2015201909
+2015201910,2011302789
+2015201911,2015201911
+2015201912,2015201912
+2015201913,2011302945
+2015201914,2011302954
+2015201915,2010302888
+2015201916,2011302952
+2015201917,2011302951
+2015201918,2011302973
+2015201919,2015201919
+2015201920,2015201920
+2015201921,2011302975
+2015201922,2010302931
+2015201923,2015201923
+2015201924,2015201924
+2015201925,2010302905
+2015201926,2011302939
+2015201927,2011302957
+2015201928,2015201928
+2015201929,2011302968
+2015201930,2015201930
+2015201931,2015201931
+2015201932,2015201932
+2015201933,2015201933
+2015201934,2015201934
+2015201935,2010302876
+2015201936,2011302933
+2015201937,2015201937
+2015201938,2015201938
+2015201939,2015201939
+2015201940,2011302873
+2015201941,2015201941
+2015201942,2011302852
+2015201943,2011302823
+2015201944,2011302834
+2015201945,2011302858
+2015201946,2015201946
+2015201947,2015201947
+2015201948,2015201948
+2015201949,2011302824
+2015201950,2015201950
+2015201951,2011302840
+2015201952,2015201952
+2015201953,2011302796
+2015201954,2011302809
+2015201955,2015201955
+2015201956,2015201956
+2015201957,2011302806
+2015201958,2015201958
+2015201959,2011302826
+2015201960,2015201960
+2015201961,2015201961
+2015201962,2015201962
+2015201963,2011302820
+2015201964,2011302821
+2015201965,2010302782
+2015201966,2015201966
+2015201967,2015201967
+2015201968,2015201968
+2015201969,2010302898
+2015201970,2015201970
+2015201971,2015201971
+2015201972,2011302944
+2015201973,2011302927
+2015201974,2015201974
+2015201975,2010302889
+2015201976,2015201976
+2015201977,2011302934
+2015201978,2011302964
+2015201979,2015201979
+2015201980,2015201980
+2015201981,2015201981
+2015201982,2010302916
+2015201983,2015201983
+2015201984,2015201984
+2015201985,2015201985
+2015201986,2011302994
+2015201987,2011302950
+2015201988,2011302940
+2015201989,2015201989
+2015201990,2011302907
+2015201991,2011302966
+2015201992,2011302971
+2015201993,2011302958
+2015201994,2015201994
+2015201995,2011302936
+2015201996,2015201996
+2015201997,2015201997
+2015201998,2015201998
+2015201999,2015201999
+2015202000,2015202000
+2015202001,2015202001
+2015202002,2015202002
+2015202003,2015202003
+2015202004,2015202004
+2015202005,2015202005
+2015202006,2015202006
+2015202007,2015202007
+2015202008,2011302922
+2015202009,2015202009
+2015202010,2015202010
+2015202011,2015202011
+2015202012,2011302981
+2015202013,2011302982
+2015202014,2011302986
+2015202015,2011302972
+2015202069,2011303057
+2015202070,2011303113
+2015202071,2015202071
+2015202072,2011303021
+2015202073,2011303005
+2015202074,2011303115
+2015202075,2011303135
+2015202076,2011303133
+2015202077,2015202077
+2015202078,2015202078
+2015202079,2015202079
+2015202080,2015202080
+2015202081,2015202081
+2015202082,2011300096
+2015202083,2015202083
+2015202084,2015202084
+2015202085,2011303112
+2015202086,2015202086
+2015202087,2015202087
+2015202088,2015202088
+2015202089,2015202089
+2015202090,2011303091
+2015202091,2015202091
+2015202092,2011303126
+2015202093,2015202093
+2015202094,2015202094
+2015202095,2015202095
+2015202096,2015202096
+2015202097,2015202097
+2015202098,2011303059
+2015202099,2015202099
+2015202100,2011303083
+2015202101,2011303081
+2015202102,2015202102
+2015202103,2015202103
+2015202104,2011303104
+2015202105,2015202105
+2015202106,2015202106
+2015202107,2015202107
+2015202108,2015202108
+2015202109,2015202109
+2015202110,2011303061
+2015202111,2015202111
+2015202112,2015202112
+2015202113,2015202113
+2015202114,2015202114
+2015202115,2011303007
+2015202116,2011303013
+2015202117,2011303006
+2015202118,2015202118
+2015202119,2015202119
+2015202120,2015202120
+2015202121,2015202121
+2015202122,2011303084
+2015202123,2011303094
+2015202124,2015202124
+2015202125,2015202125
+2015202126,2015202126
+2015202127,2015202127
+2015202128,2015202128
+2015202129,2015202129
+2015202130,2015202130
+2015202131,2015202131
+2015202132,2010302999
+2015202133,2015202133
+2015202134,2015202134
+2015202135,2015202135
+2015202136,2015202136
+2015202137,2015202137
+2015202430,2010303103
+2015202431,2015202431
+2015202432,2015202432
+2015202433,2015202433
+2015202434,2015202434
+2015202435,2011303240
+2015202436,2011303247
+2015202437,2015202437
+2015202438,2015202438
+2015202439,2011303259
+2015202440,2015202440
+2015202441,2015202441
+2015202442,2011303221
+2015202443,2015202443
+2015202444,2011303222
+2015202445,2011303230
+2015202446,2011303246
+2015202447,2015202447
+2015202448,2010303184
+2015202449,2009303254
+2015202450,2015202450
+2015202451,2015202451
+2015202452,2011303328
+2015202453,2010303225
+2015202454,2015202454
+2015202455,2015202455
+2015202456,2010303239
+2015202457,2011303327
+2015202458,2015202458
+2015202459,2015202459
+2015202460,2011303203
+2015202461,2015202461
+2015202462,2015202462
+2015202463,2015202463
+2015202464,2015202464
+2015202465,2015202465
+2015202466,2015202466
+2015202467,2015202467
+2015202468,2015202468
+2015202469,2015202469
+2015202470,2015202470
+2015202471,2010303130
+2015202472,2015202472
+2015202473,2015202473
+2015202474,2015202474
+2015202475,2011303299
+2015202476,2011303281
+2015202477,2011303282
+2015202478,2015202478
+2015202479,2015202479
+2015202480,2015202480
+2015202481,2011303659
+2015202482,2015202482
+2015202483,2015202483
+2015202484,2015202484
+2015202485,2015202485
+2015202486,2015202486
+2015202487,2015202487
+2015202566,2015202566
+2015202567,2015202567
+2015202645,2010303560
+2015202646,2015202646
+2015202647,2015202647
+2015202648,2015202648
+2015202649,2015202649
+2015202650,2015202650
+2015202651,2015202651
+2015202652,2015202652
+2015202653,2015202653
+2015202654,2015202654
+2015202655,2015202655
+2015202656,2011303643
+2015202657,2015202657
+2015202658,2011303657
+2015202659,2015202659
+2015202660,2015202660
+2015202661,2015202661
+2015202662,2015202662
+2015202663,2015202663
+2015202664,2015202664
+2015202665,2015202665
+2015202666,2015202666
+2015202672,2015202672
+2015202673,2011303158
+2015202674,2015202674
+2015202675,2015202675
+2015202676,2011303161
+2015202677,2015202677
+2015202678,2011303168
+2015202679,2010303124
+2015202680,2015202680
+2015202681,2015202681
+2015202682,2011303169
+2015202683,2015202683
+2015202684,2015202684
+2015202685,2011303258
+2015202686,2011303157
+2015202687,2015202687
+2015202688,2015202688
+2015202689,2015202689
+2015202690,2011303176
+2015202691,2011303153
+2015202692,2011303167
+2015202901,2010300088
+2015203001,2010300073
+2015203002,2011300046
+2015203003,2011301639
+2015203004,2011300353
+2015203005,2010301374
+2015203006,2015203006
+2015210001,2014240038
+2015210002,2014240063
+2015210003,2007300549
+2015210004,2013240066
+2015210005,2015210005
+2015210006,2015210006
+2015210007,2015210007
+2015210008,2015210008
+2015210009,2007302441
+2015210010,2015210010
+2015210011,2010300710
+2015210012,2015210012
+2015210013,2015210013
+2015210014,2015210014
+2015210015,2015210015
+2015210016,2015210016
+2015210017,2015210017
+2015210018,2015210018
+2015210019,2015210019
+2015210020,2015210020
+2015210021,061753
+2015210022,2015210022
+2015210023,2015210023
+2015210024,2015210024
+2015210025,2015210025
+2015210026,2015210026
+2015210027,2015210027
+2015210028,2015210028
+2015210029,061868
+2015210030,2015210030
+2015210031,2015210031
+2015210032,2015210032
+2015210033,2015210033
+2015210034,2015210034
+2015210035,2015210035
+2015210036,2015210036
+2015210037,2015210037
+2015210038,2015210038
+2015210039,2015210039
+2015210040,2015210040
+2015210041,2015210041
+2015210042,2015210042
+2015210043,2015210043
+2015210044,2015210044
+2015210045,2015210045
+2015210046,2015210046
+2015210047,2015210047
+2015210048,2015210048
+2015210049,2015210049
+2015210050,2015210050
+2015210051,2015210051
+2015210052,2010270132
+2015210053,2015210053
+2015210054,2015210054
+2015210055,2015210055
+2015210056,2015210056
+2015210057,2015210057
+2015210058,2015210058
+2015210059,2015210059
+2015210060,2015210060
+2015210061,2015210061
+2015210062,2015210062
+2015210063,2015210063
+2015210064,2014240055
+2015210065,2015210065
+2015210066,2015210066
+2015210067,2015210067
+2015210068,2015210068
+2015210069,2015210069
+2015210070,2015210070
+2015210071,2015210071
+2015210072,2015210072
+2015210073,2015210073
+2015210074,2015210074
+2015210075,2015210075
+2015210076,2015210076
+2015210077,2015210077
+2015210078,2015210078
+2015210079,2015210079
+2015210080,2015210080
+2015210081,2015210081
+2015210082,2015210082
+2015210083,2015210083
+2015210084,2015210084
+2015210085,2015210085
+2015210086,2015210086
+2015210087,2015210087
+2015210088,2015210088
+2015210089,2015210089
+2015210090,2015210090
+2015210091,2015210091
+2015210092,2015210092
+2015210093,2013240040
+2015210094,2013240057
+2015210095,2015210095
+2015210096,2015210096
+2015210097,2015210097
+2015210098,2013240353
+2015210099,2015210099
+2015210100,2015210100
+2015210101,2014240040
+2015210102,2015210102
+2015210103,2015210103
+2015210104,2013240347
+2015210105,2015210105
+2015210106,2014240039
+2015210107,2013240341
+2015210108,051116
+2015210109,2015210109
+2015210110,20140P0132
+2015210111,2015210111
+2015210112,2013240340
+2015210113,2015210113
+2015210114,2015210114
+2015210115,2015210115
+2015210116,2013240344
+2015210117,051146
+2015210118,2015210118
+2015210119,2015210119
+2015210120,2015210120
+2015210121,2015210121
+2015210122,2015210122
+2015210123,2015210123
+2015210124,2013240345
+2015210125,2015210125
+2015210126,2015210126
+2015210127,051220
+2015210128,2015210128
+2015210129,2003020079
+2015210130,2015210130
+2015210131,2015210131
+2015210132,2015210132
+2015210133,2015210133
+2015210134,2015210134
+2015210135,2015210135
+2015210136,2015210136
+2015210137,2015210137
+2015210138,2015210138
+2015210139,2015210139
+2015210140,2015210140
+2015210141,2015210141
+2015210142,2015210142
+2015210143,2015210143
+2015210144,2015210144
+2015210145,2015210145
+2015210146,2015210146
+2015210147,2015210147
+2015210148,2015210148
+2015210149,2015210149
+2015210150,2015210150
+2015210151,2015210151
+2015210152,2015210152
+2015210153,2015210153
+2015210154,2015210154
+2015210155,2015210155
+2015210156,2015210156
+2015210157,2015210157
+2015210158,2015210158
+2015210159,2015210159
+2015210160,2015210160
+2015210161,2015210161
+2015210162,2015210162
+2015210163,2015210163
+2015210164,2015210164
+2015210165,2015210165
+2015210166,2013240023
+2015210167,2015210167
+2015210168,2007302247
+2015210169,2015210169
+2015210170,2015210170
+2015210171,2015210171
+2015210172,2015210172
+2015210173,2015210173
+2015210174,2015210174
+2015210175,2015210175
+2015210176,2015210176
+2015210177,2015210177
+2015210178,2015210178
+2015210179,2014250141
+2015210180,2014250134
+2015210181,2014250132
+2015210182,2014250137
+2015210183,2014250136
+2015210184,2014250142
+2015210185,2014250127
+2015210186,2014250138
+2015210187,2014250131
+2015210188,2014250143
+2015210189,2014250140
+2015210190,2014250126
+2015210191,2014250144
+2015210192,2014250128
+2015210193,2015210193
+2015210194,2014250124
+2015210195,2014250125
+2015210196,2015210196
+2015210197,2015210197
+2015210198,2015210198
+2015210199,2014250130
+2015210200,2014250135
+2015210201,2015210201
+2015210202,2015210202
+2015210203,2015210203
+2015210204,2015210204
+2015210205,2015210205
+2015210206,2015210206
+2015210207,2015210207
+2015210208,2015210208
+2015210209,2015210209
+2015210210,2015210210
+2015210211,2015210211
+2015210212,2015210212
+2015210213,2015210213
+2015210214,2015210214
+2015210215,2015210215
+2015210216,2015210216
+2015210217,2015210217
+2015210218,2015210218
+2015210219,2015210219
+2015210220,2015210220
+2015210221,2015210221
+2015210222,2015210222
+2015210223,2015210223
+2015210224,2015210224
+2015210225,2015210225
+2015210226,2015210226
+2015210227,2015210227
+2015210228,2015210228
+2015210229,2015210229
+2015210230,2015210230
+2015210231,2015210231
+2015210232,2015210232
+2015210233,2015210233
+2015210234,2015210234
+2015210235,2015210235
+2015210236,2015210236
+2015210237,2015210237
+2015210238,2015210238
+2015210239,060848
+2015210240,2015210240
+2015210241,2015210241
+2015210242,2015210242
+2015210243,2015210243
+2015210244,2015210244
+2015210245,2015210245
+2015210246,2015210246
+2015210247,2015210247
+2015210248,2015210248
+2015210249,2015210249
+2015210250,2015210250
+2015210251,2015210251
+2015210252,2015210252
+2015210253,2015210253
+2015210254,2015210254
+2015210255,2015210255
+2015210256,2015210256
+2015210257,2015210257
+2015210258,041959
+2015210259,2012240199
+2015210260,2012240220
+2015210261,2012240208
+2015210262,2012240212
+2015210263,2012240213
+2015210264,2015210264
+2015210265,2015210265
+2015210266,2015210266
+2015210267,2015210267
+2015210268,2015210268
+2015210269,2015210269
+2015210270,2015210270
+2015210271,2015210271
+2015210272,2015210272
+2015210273,061018
+2015210274,2015210274
+2015210275,041326
+2015210276,2015210276
+2015210277,041308
+2015210278,061013
+2015210279,2015210279
+2015210280,2007301021
+2015210281,2015210281
+2015210282,2015210282
+2015210283,2015210283
+2015210284,2015210284
+2015210285,2015210285
+2015210286,2015210286
+2015210287,2015210287
+2015210288,2015210288
+2015210289,2015210289
+2015210290,2015210290
+2015210291,2015210291
+2015210292,2015210292
+2015210293,2015210293
+2015210294,2015210294
+2015210295,2015210295
+2015210296,2015210296
+2015210297,2015210297
+2015210298,051406
+2015210299,2014240037
+2015210300,2015210300
+2015210301,2015210301
+2015210302,2015210302
+2015210303,2015210303
+2015210304,2015210304
+2015210305,2015210305
+2015210306,2015210306
+2015210307,2015210307
+2015210308,2015210308
+2015210309,2015210309
+2015210310,2015210310
+2015210311,2007301721
+2015210312,2015210312
+2015210313,2015210313
+2015210314,2015210314
+2015210315,2015210315
+2015210316,2015210316
+2015210317,2015210317
+2015210318,2015210318
+2015210319,2015210319
+2015210320,2015210320
+2015210321,2015210321
+2015210322,2015210322
+2015210323,2015210323
+2015210324,2014240052
+2015210325,2015210325
+2015210326,2015210326
+2015210327,2015210327
+2015210328,052431
+2015210329,2015210329
+2015210330,2015210330
+2015210331,2015210331
+2015210332,2014240058
+2015210333,2015210333
+2015210334,2015210334
+2015210335,2015210335
+2015210336,2015210336
+2015210337,2014240047
+2015210338,2014240029
+2015210339,2014240050
+2015210340,2014240032
+2015210341,2014240044
+2015210342,2013240314
+2015210343,2014240028
+2015210344,2013240267
+2015210345,2014240054
+2015210346,2015210346
+2015210347,2014240036
+2015210348,2014240045
+2015210349,2015210349
+2015210350,2015210350
+2015210351,2015210351
+2015210352,2015210352
+2015210353,2015210353
+2015210354,2015210354
+2015210355,2015210355
+2015210356,2015210356
+2015210357,2015210357
+2015210358,2015210358
+2015210359,2015210359
+2015210360,2015210360
+2015210361,2015210361
+2015210362,2015210362
+2015210363,2015210363
+2015210364,2015210364
+2015210365,2015210365
+2015210366,2015210366
+2015210367,2015210367
+2015210368,2015210368
+2015210369,2015210369
+2015210370,2015210370
+2015210371,2015210371
+2015210372,2015210372
+2015210373,2015210373
+2015210374,2015210374
+2015210375,2015210375
+2015210376,2015210376
+2015210377,2015210377
+2015210378,2015210378
+2015210379,2015210379
+2015210380,2015210380
+2015210381,2015210381
+2015210382,2015210382
+2015210383,2015210383
+2015210384,2015210384
+2015210385,2015210385
+2015210386,2015210386
+2015210387,2015210387
+2015210388,2015210388
+2015210389,2015210389
+2015210390,2015210390
+2015210391,2015210391
+2015210392,2015210392
+2015210393,2015210393
+2015210394,2015210394
+2015210395,2015210395
+2015210396,2015210396
+2015210397,2015210397
+2015210398,2015210398
+2015210399,2015210399
+2015210400,2015210400
+2015210401,2015210401
+2015210402,2015210402
+2015210403,2015210403
+2015210404,2015210404
+2015210405,2015210405
+2015210406,2015210406
+2015210407,2015210407
+2015210408,2015210408
+2015210409,2015210409
+2015210410,2015210410
+2015210411,2015210411
+2015210412,2015210412
+2015210413,2015210413
+2015210414,2015210414
+2015210415,2015210415
+2015210416,2015210416
+2015210417,2015210417
+2015210418,2015210418
+2015210419,2015210419
+2015210420,2015210420
+2015210421,2015210421
+2015210422,2015210422
+2015210423,2015210423
+2015210424,2015210424
+2015210425,2015210425
+2015210426,2015210426
+2015210427,2015210427
+2015210428,2015210428
+2015210429,2015210429
+2015210430,2015210430
+2015210431,2015210431
+2015210432,2015210432
+2015210433,2015210433
+2015210434,2015210434
+2015210435,2015210435
+2015210436,2014240079
+2015210437,2015210437
+2015210438,2015210438
+2015210439,2014240022
+2015210440,2013240292
+2015210441,2015210441
+2015210442,2015210442
+2015210443,2015210443
+2015210444,2015210444
+2015210445,2015210445
+2015210446,2015210446
+2015210447,2015210447
+2015210448,2015210448
+2015210449,2015210449
+2015210450,2015210450
+2015210451,2015210451
+2015210452,2015210452
+2015210453,2015210453
+2015210454,2013240274
+2015210455,2015210455
+2015210456,2015210456
+2015240001,2012240003
+2015240002,2015240002
+2015240003,2015240003
+2015240004,2015240004
+2015240006,2015240006
+2015240012,2015240012
+2015240013,2015240013
+2015240014,2015240014
+2015240015,2012300030
+2015240016,2012300041
+2015240017,2012300059
+2015240018,2012300083
+2015240019,2012300099
+2015240020,2012300122
+2015240021,2012300135
+2015240022,2012301928
+2015240023,2012300003
+2015240024,2012300028
+2015240025,2012300042
+2015240026,2012300082
+2015240027,2012300088
+2015240028,2015240028
+2015240029,2012300120
+2015240030,2012300123
+2015240031,2012301059
+2015240032,2012300056
+2015240033,2012300006
+2015240034,2012300064
+2015240035,2012302244
+2015240036,2012300686
+2015240037,2012300096
+2015240038,2012301335
+2015240039,2012301112
+2015240040,2012300019
+2015240041,2012300107
+2015240042,2012300109
+2015240043,2012300334
+2015240044,2012301239
+2015240045,2012300047
+2015240046,2012300076
+2015240047,2012300081
+2015240048,2012300093
+2015240049,2012300173
+2015240050,2012301133
+2015240051,2012302834
+2015240052,2012300039
+2015240053,2012300057
+2015240054,2012300150
+2015240055,2012301442
+2015240056,2012302075
+2015240057,2012300012
+2015240058,2012300032
+2015240059,2012300033
+2015240060,2012300052
+2015240061,2012300067
+2015240062,2012300133
+2015240063,2012300142
+2015240064,2012300149
+2015240065,2012300004
+2015240066,2012300016
+2015240067,2012300037
+2015240068,2015240068
+2015240069,2012300091
+2015240070,2012300094
+2015240071,2012300118
+2015240072,2012300843
+2015240073,2012301298
+2015240074,2012300014
+2015240075,2012300027
+2015240076,2012300078
+2015240077,2012300098
+2015240078,2012300131
+2015240079,2012300836
+2015240080,2012301136
+2015240081,2012301190
+2015240082,2012302080
+2015240083,2012302148
+2015240084,2012302243
+2015240085,2012300026
+2015240086,2012300063
+2015240087,2012302466
+2015240088,2012300079
+2015240089,2012300146
+2015240090,2012301769
+2015240091,2015240091
+2015240092,2015240092
+2015240093,2015240093
+2015240094,2015240094
+2015240095,2012302393
+2015240096,2012302408
+2015240097,2012302575
+2015240098,2012302582
+2015240099,2012302583
+2015240100,2012302071
+2015240101,2012302145
+2015240102,2012302081
+2015240103,2012301906
+2015240104,2012301931
+2015240105,2012301921
+2015240106,2012301911
+2015240107,2012301804
+2015240109,2012302036
+2015240110,2012301810
+2015240111,2012302239
+2015240112,2012302178
+2015240113,2012302197
+2015240114,2012302240
+2015240115,2015240115
+2015240116,2010301800
+2015240117,2015240117
+2015240118,2015240118
+2015240119,2015240119
+2015240120,2015240120
+2015240121,2015240121
+2015240122,2015240122
+2015240123,041845
+2015240124,2015240124
+2015240125,2015240125
+2015240126,2015240126
+2015240127,2015240127
+2015240128,2015240128
+2015240130,2015240130
+2015240131,2015240131
+2015240132,2015240132
+2015240133,2015240133
+2015240134,2015240134
+2015240135,2015240135
+2015240136,2015240136
+2015240137,2015240137
+2015240138,2015240138
+2015240139,2015240139
+2015240140,2015240140
+2015240141,2015240141
+2015250001,2015250001
+2015250002,2015250002
+2015250003,2015250003
+2015250004,2015250004
+2015250005,2015250005
+2015250006,2015250006
+2015250007,2015250007
+2015250008,2011300202
+2015250009,2015250009
+2015250010,2015250010
+2015250011,2015250011
+2015250012,2015250012
+2015250013,2015250013
+2015250014,2015250014
+2015250015,2015250015
+2015250016,2015250016
+2015250017,2010302171
+2015250018,2011300467
+2015250019,2015250019
+2015250020,2011300389
+2015250021,2015250021
+2015250022,2011300655
+2015250023,2015250023
+2015250024,2015250024
+2015250025,2015250025
+2015250026,2011300142
+2015250027,2011300356
+2015250028,2015250028
+2015250029,2011301774
+2015250030,2015250030
+2015250031,2015250031
+2015250032,2015250032
+2015250033,2015250033
+2015250034,2015250034
+2015250035,2015250035
+2015250036,2015250036
+2015250037,2008301293
+2015250038,2015250038
+2015250039,2015250039
+2015250040,2015250040
+2015250041,2015250041
+2015250042,2015250042
+2015250043,2015250043
+2015250044,2015250044
+2015250045,2015250045
+2015250046,2015250046
+2015250047,2015250047
+2015250048,2015250048
+2015250049,2015250049
+2015250050,2015250050
+2015250051,2015250051
+2015250052,2011300442
+2015250053,2015250053
+2015250054,2015250054
+2015250055,2015250055
+2015250056,2015250056
+2015250057,2015250057
+2015250058,2015250058
+2015250059,2015250059
+2015250060,2015250060
+2015250061,2015250061
+2015250062,2015250062
+2015250063,2015250063
+2015250064,2015250064
+2015250065,2015250065
+2015250066,2011302650
+2015250067,2011301277
+2015250068,2011302683
+2015250069,2015250069
+2015250070,2011300497
+2015250071,2011301113
+2015250072,2015250072
+2015250073,2015250073
+2015250074,2015250074
+2015250075,2015250075
+2015250076,2015250076
+2015250077,2015250077
+2015250078,2015250078
+2015250079,2015250079
+2015250080,2015250080
+2015250081,2015250081
+2015250082,2015250082
+2015250083,2015250083
+2015250084,2015250084
+2015250085,2015250085
+2015250086,2015250086
+2015250087,2011301092
+2015250088,2015250088
+2015250089,2015250089
+2015250090,2015250090
+2015250091,2015250091
+2015250092,2009300282
+2015250093,2015250093
+2015250094,2015250094
+2015250095,2015250095
+2015250096,2015250096
+2015250097,2015250097
+2015250098,2015250098
+2015250099,2015250099
+2015250100,2015250100
+2015250101,2015250101
+2015250102,2015250102
+2015250103,2015250103
+2015250104,2015250104
+2015250105,2015250105
+2015250106,2015250106
+2015250107,2015250107
+2015250108,2015250108
+2015250109,2015250109
+2015250110,2015250110
+2015250111,2015250111
+2015250112,2015250112
+2015250113,2015250113
+2015250114,2015250114
+2015250115,2015250115
+2015250116,2015250116
+2015250117,2015250117
+2015250118,2015250118
+2015250119,2011300228
+2015250120,2015250120
+2015250121,2015250121
+2015250122,2015250122
+2015250123,2015250123
+2015250124,2011300254
+2015250125,2015250125
+2015250126,2011300485
+2015250127,2015250127
+2015250128,2015250128
+2015250129,2015250129
+2015250130,2011300847
+2015250131,2011301015
+2015250132,2015250132
+2015250133,2015250133
+2015250134,2015250134
+2015250135,2015250135
+2015250136,2011300291
+2015250137,2015250137
+2015250138,2015250138
+2015250139,2015250139
+2015250140,2015250140
+2015250141,2015250141
+2015250142,2015250142
+2015250143,2015250143
+2015250144,2015250144
+2015250145,2015250145
+2015250146,2015250146
+2015250147,2008300202
+2015250148,2011300056
+2015250149,2011301086
+2015250150,2011301078
+2015250151,2015250151
+2015260147,2015260147
+2015260148,2011300276
+2015260149,2009302838
+2015260150,2015260150
+2015260151,2011300333
+2015260152,2010300225
+2015260153,2015260153
+2015260154,2015260154
+2015260155,2011300166
+2015260156,2011300192
+2015260157,2011300177
+2015260158,2011300148
+2015260159,2015260159
+2015260160,2015260160
+2015260161,2009300277
+2015260162,2010300257
+2015260163,2015260163
+2015260164,2011300359
+2015260165,2010302687
+2015260166,2015260166
+2015260167,050056
+2015260168,2010300172
+2015260169,2011300319
+2015260170,2015260170
+2015260171,2011300183
+2015260172,2010300286
+2015260173,2015260173
+2015260174,2011303019
+2015260175,2015260175
+2015260176,2015260176
+2015260177,2015260177
+2015260178,2015260178
+2015260179,2015260179
+2015260180,2011300380
+2015260181,2011300127
+2015260182,2010300253
+2015260183,2015260183
+2015260184,2009300168
+2015260185,2011300378
+2015260186,2011300379
+2015260187,2015260187
+2015260188,2015260188
+2015260189,2015260189
+2015260190,2015260190
+2015260191,2015260191
+2015260192,2015260192
+2015260193,2015260193
+2015260194,2015260194
+2015260195,2015260195
+2015260196,2011300286
+2015260197,2010300380
+2015260198,2015260198
+2015260199,2015260199
+2015260200,2015260200
+2015260201,2015260201
+2015260202,2015260202
+2015260203,2011300211
+2015260204,2011300153
+2015260205,2011301445
+2015260206,2011301864
+2015260207,2015260207
+2015260208,2015260208
+2015260209,2011300337
+2015260210,2015260210
+2015260211,2015260211
+2015260212,2015260212
+2015260213,2015260213
+2015260214,2015260214
+2015260215,2015260215
+2015260216,2011300007
+2015260217,2015260217
+2015260218,2011301513
+2015260219,2011300175
+2015260220,2015260220
+2015260221,2015260221
+2015260222,2011300264
+2015260223,2011300268
+2015260224,2011300275
+2015260225,2015260225
+2015260318,2015260318
+2015260319,2011300534
+2015260320,2015260320
+2015260321,2015260321
+2015260322,2015260322
+2015260323,2015260323
+2015260324,2011300505
+2015260325,2011300516
+2015260326,2010300525
+2015260327,2011300517
+2015260328,2015260328
+2015260329,2011300503
+2015260330,2015260330
+2015260331,2015260331
+2015260332,2011300495
+2015260333,2010300475
+2015260334,2015260334
+2015260335,2015260335
+2015260336,2010301802
+2015260337,2009300550
+2015260338,2010300459
+2015260339,2015260339
+2015260340,2011300447
+2015260341,2011300095
+2015260342,2015260342
+2015260343,2011300551
+2015260344,2011300421
+2015260345,2011300582
+2015260346,2011300571
+2015260347,2015260347
+2015260348,2011300549
+2015260349,2011300390
+2015260350,2015260350
+2015260351,2011300465
+2015260352,2011300469
+2015260353,2011300205
+2015260354,2015260354
+2015260355,2015260355
+2015260356,2011300471
+2015260357,2011300455
+2015260358,2015260358
+2015260359,2011300479
+2015260360,2011300429
+2015260361,2011300430
+2015260362,2011300402
+2015260363,2011300568
+2015260463,2011300688
+2015260464,2015260464
+2015260465,2015260465
+2015260466,2015260466
+2015260467,2015260467
+2015260468,2015260468
+2015260469,2015260469
+2015260470,2015260470
+2015260471,2014310202
+2015260472,2015260472
+2015260473,2015260473
+2015260474,2011300670
+2015260475,2015260475
+2015260476,2015260476
+2015260477,2011301407
+2015260478,2015260478
+2015260479,2015260479
+2015260480,2015260480
+2015260481,2011300669
+2015260482,2015260482
+2015260483,2011301790
+2015260484,060673
+2015260485,2011300665
+2015260486,2015260486
+2015260487,060610
+2015260488,2015260488
+2015260489,2015260489
+2015260490,2015260490
+2015260491,2011300761
+2015260492,2011300804
+2015260493,2015260493
+2015260494,2011300371
+2015260495,2011301231
+2015260496,2015260496
+2015260497,2015260497
+2015260498,2011300814
+2015260499,2011301406
+2015260500,2009302794
+2015260501,2015260501
+2015260502,2015260502
+2015260503,2015260503
+2015260504,2015260504
+2015260505,2015260505
+2015260506,2015260506
+2015260507,2015260507
+2015260508,2011300589
+2015260509,2015260509
+2015260510,2015260510
+2015260511,2015260511
+2015260512,2011300598
+2015260513,2011300590
+2015260514,2015260514
+2015260515,2015260515
+2015260516,2015260516
+2015260517,2015260517
+2015260518,2010301123
+2015260519,2009300920
+2015260520,2015260520
+2015260521,2015260521
+2015260678,2015260678
+2015260679,2011300895
+2015260680,2011300999
+2015260681,2015260681
+2015260682,2015260682
+2015260683,2011300879
+2015260684,2015260684
+2015260685,2011300842
+2015260686,2011300887
+2015260687,2015260687
+2015260688,2015260688
+2015260689,2015260689
+2015260690,2015260690
+2015260691,2015260691
+2015260692,2015260692
+2015260693,2011301023
+2015260694,2015260694
+2015260695,2011300960
+2015260696,2015260696
+2015260697,2015260697
+2015260698,2015260698
+2015260699,2015260699
+2015260700,2015260700
+2015260701,2015260701
+2015260702,2011300829
+2015260703,2015260703
+2015260704,2015260704
+2015260705,2015260705
+2015260706,2015260706
+2015260707,2015260707
+2015260708,2015260708
+2015260709,2011301014
+2015260710,2015260710
+2015260711,2015260711
+2015260712,2015260712
+2015260713,2015260713
+2015260714,2015260714
+2015260715,2015260715
+2015260716,2015260716
+2015260717,2011300919
+2015260718,2015260718
+2015260719,2011302541
+2015260720,2015260720
+2015260721,2015260721
+2015260722,2011300948
+2015260723,2015260723
+2015260724,2015260724
+2015260725,2011300927
+2015260726,2015260726
+2015260727,2015260727
+2015260728,2011300907
+2015260729,2015260729
+2015260730,2015260730
+2015260731,2011300824
+2015260732,2015260732
+2015260733,2015260733
+2015260734,2015260734
+2015260735,2015260735
+2015260736,2015260736
+2015260737,2015260737
+2015260738,2011300843
+2015260739,2015260739
+2015260740,2015260740
+2015260741,2015260741
+2015260742,2015260742
+2015260743,2015260743
+2015260744,2015260744
+2015260745,2015260745
+2015260746,2015260746
+2015260747,2015260747
+2015260748,2015260748
+2015260749,2015260749
+2015260750,2015260750
+2015260751,2015260751
+2015260752,2015260752
+2015260753,2015260753
+2015260754,2015260754
+2015260755,2015260755
+2015260756,2011300904
+2015260757,2015260757
+2015260758,2015260758
+2015260938,2015260938
+2015260939,2015260939
+2015260940,2015260940
+2015260941,2015260941
+2015260942,2015260942
+2015260943,2011301299
+2015260944,2015260944
+2015260945,2015260945
+2015260946,2011301260
+2015260947,2015260947
+2015260948,2015260948
+2015260949,2015260949
+2015260950,2015260950
+2015260951,2015260951
+2015260952,2015260952
+2015260953,2015260953
+2015260954,2011301214
+2015260955,2015260955
+2015260956,2015260956
+2015260957,2011301205
+2015260958,2015260958
+2015260959,2015260959
+2015260960,2015260960
+2015260961,2011301295
+2015260962,2015260962
+2015260963,2015260963
+2015260964,2015260964
+2015260965,2015260965
+2015260966,2015260966
+2015260967,2015260967
+2015260968,2015260968
+2015260969,2011301234
+2015260970,2011301263
+2015260971,2011303652
+2015260972,2015260972
+2015260973,2015260973
+2015260974,2015260974
+2015260975,2015260975
+2015260976,2015260976
+2015260977,2015260977
+2015260978,2015260978
+2015260979,2015260979
+2015260980,2015260980
+2015260981,2015260981
+2015260982,2015260982
+2015260983,2015260983
+2015260984,2015260984
+2015260985,2015260985
+2015260986,2011301230
+2015260987,2015260987
+2015260988,2015260988
+2015260989,2015260989
+2015260990,2015260990
+2015260991,2015260991
+2015260992,2015260992
+2015260993,2015260993
+2015260994,2015260994
+2015260995,2015260995
+2015260996,2015260996
+2015260997,2015260997
+2015260998,2015260998
+2015260999,2015260999
+2015261000,2015261000
+2015261001,2011301140
+2015261002,2015261002
+2015261003,2015261003
+2015261004,2015261004
+2015261005,2015261005
+2015261006,2015261006
+2015261007,2015261007
+2015261008,2015261008
+2015261009,2015261009
+2015261010,2015261010
+2015261011,2015261011
+2015261012,2015261012
+2015261013,2015261013
+2015261014,2015261014
+2015261015,2011301326
+2015261016,2011301320
+2015261017,2011301333
+2015261018,2011301315
+2015261077,2015261077
+2015261078,2015261078
+2015261079,2015261079
+2015261080,2015261080
+2015261081,2015261081
+2015261082,2015261082
+2015261083,2015261083
+2015261084,2015261084
+2015261085,2015261085
+2015261086,2015261086
+2015261087,2011301466
+2015261088,2015261088
+2015261089,2015261089
+2015261090,2015261090
+2015261091,2015261091
+2015261092,2015261092
+2015261093,2015261093
+2015261094,2015261094
+2015261095,2015261095
+2015261096,2015261096
+2015261097,2015261097
+2015261098,2015261098
+2015261099,2015261099
+2015261100,2015261100
+2015261101,2015261101
+2015261102,2015261102
+2015261193,2015261193
+2015261194,2015261194
+2015261195,2010300059
+2015261196,2015261196
+2015261197,2015261197
+2015261198,2011301776
+2015261199,2010301598
+2015261200,2010301551
+2015261201,2011301598
+2015261202,2011301759
+2015261203,2015261203
+2015261204,2015261204
+2015261205,2015261205
+2015261206,2015261206
+2015261207,2015261207
+2015261208,2011301587
+2015261209,2015261209
+2015261210,2010301966
+2015261211,2011301738
+2015261212,2009301656
+2015261213,2011301606
+2015261214,2011301745
+2015261215,2011301621
+2015261216,2011301599
+2015261217,2011301594
+2015261218,2015261218
+2015261219,2015261219
+2015261220,2015261220
+2015261221,2011301585
+2015261222,2010301550
+2015261223,2015261223
+2015261224,2015261224
+2015261225,2011301762
+2015261226,2015261226
+2015261227,2015261227
+2015261228,2010301637
+2015261229,2009301638
+2015261230,2011301765
+2015261231,2015261231
+2015261232,2015261232
+2015261233,2015261233
+2015261234,2015261234
+2015261235,2015261235
+2015261236,2011301675
+2015261384,2015261384
+2015261385,2015261385
+2015261386,2015261386
+2015261387,2015261387
+2015261388,2015261388
+2015261389,2015261389
+2015261390,2015261390
+2015261391,2015261391
+2015261392,2015261392
+2015261393,2015261393
+2015261394,2015261394
+2015261395,2015261395
+2015261396,2011302030
+2015261397,2011302029
+2015261398,2015261398
+2015261399,2015261399
+2015261400,2011302006
+2015261401,2015261401
+2015261402,2015261402
+2015261403,2011300383
+2015261404,2015261404
+2015261405,2015261405
+2015261406,2011301904
+2015261407,2015261407
+2015261408,2015261408
+2015261409,2015261409
+2015261410,2015261410
+2015261411,2011301882
+2015261412,2015261412
+2015261413,2015261413
+2015261414,2015261414
+2015261415,2015261415
+2015261416,2011301815
+2015261417,2011302898
+2015261418,2015261418
+2015261419,2010302017
+2015261420,2015261420
+2015261421,2015261421
+2015261422,2015261422
+2015261423,2015261423
+2015261424,2015261424
+2015261425,2015261425
+2015261426,2015261426
+2015261427,2011301795
+2015261428,2015261428
+2015261429,2011301834
+2015261430,2010301903
+2015261431,2011300518
+2015261432,2015261432
+2015261433,2011300533
+2015261434,2015261434
+2015261435,2011300515
+2015261436,2015261436
+2015261437,2011301158
+2015261438,2011301159
+2015261439,2015261439
+2015261440,2010301898
+2015261441,2008301983
+2015261442,2015261442
+2015261613,2015261613
+2015261614,2011302348
+2015261615,2015261615
+2015261616,2011302075
+2015261617,2011302355
+2015261618,2015261618
+2015261619,2015261619
+2015261620,2011302233
+2015261621,2015261621
+2015261622,2011302276
+2015261623,2015261623
+2015261624,2015261624
+2015261625,2011302245
+2015261626,2015261626
+2015261627,2015261627
+2015261628,2015261628
+2015261629,2015261629
+2015261630,2015261630
+2015261631,2011302206
+2015261632,2011302207
+2015261633,2015261633
+2015261634,2015261634
+2015261635,2011302189
+2015261636,2011302204
+2015261637,2015261637
+2015261638,2011302238
+2015261639,2011302228
+2015261640,2011302229
+2015261641,2011302216
+2015261642,2015261642
+2015261643,2015261643
+2015261644,2015261644
+2015261645,2015261645
+2015261646,2015261646
+2015261647,2015261647
+2015261648,2011302294
+2015261649,2011302405
+2015261650,2015261650
+2015261651,2015261651
+2015261652,2015261652
+2015261653,2015261653
+2015261654,2011302084
+2015261655,2011302369
+2015261656,2011301766
+2015261657,2015261657
+2015261658,2011302358
+2015261659,2015261659
+2015261660,2015261660
+2015261661,2015261661
+2015261662,2015261662
+2015261663,2008301961
+2015261664,2011302267
+2015261665,2015261665
+2015261666,2015261666
+2015261667,2015261667
+2015261668,2015261668
+2015261669,2011302316
+2015261670,2015261670
+2015261671,2015261671
+2015261672,2010302192
+2015261673,2011300025
+2015261674,2011302782
+2015261675,2015261675
+2015261676,2015261676
+2015261677,2015261677
+2015261796,2015261796
+2015261797,2015261797
+2015261798,2015261798
+2015261799,2015261799
+2015261800,2011303391
+2015261801,2015261801
+2015261802,2011303475
+2015261803,2015261803
+2015261804,2015261804
+2015261805,2011303559
+2015261806,2015261806
+2015261807,2015261807
+2015261808,2010302542
+2015261809,2015261809
+2015261810,2015261810
+2015261811,2015261811
+2015261812,2015261812
+2015261813,2011300995
+2015261814,2015261814
+2015261815,2011302644
+2015261816,2011302641
+2015261817,2015261817
+2015261818,2015261818
+2015261819,2015261819
+2015261820,2010302728
+2015261821,2015261821
+2015261822,2015261822
+2015261823,2015261823
+2015261824,2011302437
+2015261825,2015261825
+2015261826,2011302465
+2015261827,2015261827
+2015261828,2011303389
+2015261829,2009302481
+2015261830,2011303382
+2015261831,2015261831
+2015261832,2011302449
+2015261833,2015261833
+2015261834,2015261834
+2015261835,2010302598
+2015261836,2011302612
+2015261837,2015261837
+2015261838,2015261838
+2015261839,2015261839
+2015261840,2011302571
+2015261841,2015261841
+2015261842,2011302435
+2015261843,2015261843
+2015261844,2015261844
+2015261845,2015261845
+2015261846,2015261846
+2015261847,2011303486
+2015261848,2011302495
+2015262016,2015262016
+2015262017,2015262017
+2015262018,2015262018
+2015262019,2015262019
+2015262020,2015262020
+2015262021,2015262021
+2015262022,2015262022
+2015262023,2015262023
+2015262024,2015262024
+2015262025,2015262025
+2015262026,2015262026
+2015262027,2015262027
+2015262028,2015262028
+2015262029,2014310215
+2015262030,2015262030
+2015262031,2015262031
+2015262032,2015262032
+2015262033,2015262033
+2015262034,2011302924
+2015262035,2015262035
+2015262036,2015262036
+2015262037,2011303053
+2015262038,2015262038
+2015262039,2015262039
+2015262040,2015262040
+2015262041,2015262041
+2015262042,2015262042
+2015262043,2010303080
+2015262044,2015262044
+2015262045,2015262045
+2015262046,2011303023
+2015262047,2015262047
+2015262048,2011303122
+2015262049,2015262049
+2015262050,2015262050
+2015262051,2015262051
+2015262052,2015262052
+2015262053,2015262053
+2015262054,2015262054
+2015262055,2015262055
+2015262056,2009302515
+2015262057,2015262057
+2015262058,2015262058
+2015262059,2015262059
+2015262060,2015262060
+2015262061,2015262061
+2015262062,2015262062
+2015262063,2015262063
+2015262064,2015262064
+2015262065,2015262065
+2015262066,2011303062
+2015262067,2015262067
+2015262068,2015262068
+2015262138,2015262138
+2015262139,2015262139
+2015262140,2015262140
+2015262141,2015262141
+2015262142,2015262142
+2015262143,2015262143
+2015262144,2015262144
+2015262145,2015262145
+2015262146,2015262146
+2015262147,2015262147
+2015262148,2015262148
+2015262149,2015262149
+2015262150,2015262150
+2015262151,2015262151
+2015262152,2015262152
+2015262153,2015262153
+2015262154,2015262154
+2015262155,2015262155
+2015262156,2015262156
+2015262157,2015262157
+2015262158,2015262158
+2015262159,2015262159
+2015262160,2015262160
+2015262161,2015262161
+2015262162,050213
+2015262163,2015262163
+2015262164,2015262164
+2015262165,2015262165
+2015262166,2015262166
+2015262167,2015262167
+2015262168,2013240186
+2015262169,2015262169
+2015262170,2015262170
+2015262171,2015262171
+2015262172,2015262172
+2015262173,2013240208
+2015262174,2015262174
+2015262175,2015262175
+2015262176,2013240150
+2015262177,2015262177
+2015262178,2015262178
+2015262179,2015262179
+2015262180,2015262180
+2015262181,2015262181
+2015262182,2015262182
+2015262183,2015262183
+2015262184,2015262184
+2015262185,2015262185
+2015262186,2015262186
+2015262187,2015262187
+2015262188,2015262188
+2015262189,2015262189
+2015262190,2015262190
+2015262191,2015262191
+2015262192,2015262192
+2015262193,2015262193
+2015262194,2015262194
+2015262195,2015262195
+2015262196,2015262196
+2015262197,2015262197
+2015262198,2015262198
+2015262199,2015262199
+2015262200,2015262200
+2015262201,2015262201
+2015262202,2015262202
+2015262203,2015262203
+2015262204,2015262204
+2015262205,2015262205
+2015262206,2015262206
+2015262207,2015262207
+2015262208,2015262208
+2015262209,2015262209
+2015262210,2015262210
+2015262211,2015262211
+2015262212,2015262212
+2015262213,2015262213
+2015262214,2015262214
+2015262215,2015262215
+2015262216,2015262216
+2015262217,046096530
+2015262218,2015262218
+2015262219,2015262219
+2015262220,2015262220
+2015262221,2015262221
+2015262222,2015262222
+2015262223,2015262223
+2015262224,2015262224
+2015262225,2015262225
+2015262226,2015262226
+2015262227,2015262227
+2015262228,2013240240
+2015262229,2015262229
+2015262230,2015262230
+2015262231,2013240147
+2015262232,2015262232
+2015262233,2015262233
+2015262234,2015262234
+2015262235,2015262235
+2015262236,2013240144
+2015262237,2015262237
+2015262238,2015262238
+2015262239,2015262239
+2015262240,2015262240
+2015262241,2015262241
+2015262242,2015262242
+2015262243,2015262243
+2015262244,2015262244
+2015262245,2015262245
+2015262246,2015262246
+2015262247,2013240131
+2015262248,2015262248
+2015262249,2013240165
+2015262250,2015262250
+2015262251,2015262251
+2015262252,2015262252
+2015262253,2015262253
+2015262254,2015262254
+2015262255,2015262255
+2015262256,2013240137
+2015262257,2013240180
+2015262258,2015262258
+2015262259,2015262259
+2015262260,2015262260
+2015262261,2015262261
+2015262262,2015262262
+2015262263,2015262263
+2015262264,2015262264
+2015262265,2015262265
+2015262266,2015262266
+2015262267,2015262267
+2015262268,2015262268
+2015262269,2015262269
+2015262270,2015262270
+2015262271,2015262271
+2015262272,2015262272
+2015262273,2015262273
+2015262274,2015262274
+2015262275,2015262275
+2015262276,2015262276
+2015262277,2015262277
+2015262278,2015262278
+2015262279,2015262279
+2015262280,2015262280
+2015262281,2015262281
+2015262282,2015262282
+2015262283,2015262283
+2015262284,2015262284
+2015262285,2015262285
+2015262286,2015262286
+2015262287,2015262287
+2015262288,2015262288
+2015262289,2015262289
+2015262290,2015262290
+2015262291,2015262291
+2015262292,2015262292
+2015262293,2015262293
+2015262294,2015262294
+2015262295,2015262295
+2015262296,2015262296
+2015262297,2015262297
+2015262298,2013240124
+2015262299,2013240324
+2015262300,2015262300
+2015262301,2015262301
+2015262302,2015262302
+2015262303,2015262303
+2015262304,2013240170
+2015262305,2015262305
+2015262306,2015262306
+2015262307,2015262307
+2015262308,2015262308
+2015262309,2015262309
+2015262310,2015262310
+2015262311,2015262311
+2015262312,2015262312
+2015262313,2015262313
+2015262314,2015262314
+2015262315,2015262315
+2015262316,2015262316
+2015262317,2015262317
+2015262318,2015262318
+2015262319,2015262319
+2015262320,2013240239
+2015262321,2013240258
+2015262322,2015262322
+2015262323,2015262323
+2015262324,2015262324
+2015262325,2015262325
+2015262326,2015262326
+2015262327,2015262327
+2015262328,2015262328
+2015262329,2015262329
+2015262330,2015262330
+2015262331,2015262331
+2015262332,2015262332
+2015262333,2015262333
+2015262334,2015262334
+2015262335,2015262335
+2015262336,2015262336
+2015262337,2015262337
+2015262338,2015262338
+2015262339,2015262339
+2015262340,2015262340
+2015262341,2015262341
+2015262342,2015262342
+2015262343,2013240133
+2015262344,2015262344
+2015262345,2015262345
+2015262346,2015262346
+2015262347,2015262347
+2015262348,2015262348
+2015262349,2015262349
+2015262350,2013240156
+2015262351,2013240142
+2015262352,2013240245
+2015262353,2015262353
+2015262354,2015262354
+2015262355,2013240233
+2015262356,2015262356
+2015262357,2013240130
+2015262358,2015262358
+2015262359,2015262359
+2015262360,2015262360
+2015262361,2015262361
+2015262362,2015262362
+2015262363,2015262363
+2015262364,2015262364
+2015262365,2015262365
+2015262366,2013240365
+2015262367,2015262367
+2015262368,2015262368
+2015262369,2015262369
+2015262370,2015262370
+2015262371,2013240364
+2015262372,2014240041
+2015262373,2015262373
+2015262374,2013240366
+2015262375,2013240372
+2015262376,2015262376
+2015262377,2015262377
+2015262378,2015262378
+2015262379,2015262379
+2015262380,2015262380
+2015262381,2015262381
+2015262382,2015262382
+2015262383,2012240088
+2015262384,2015262384
+2015262385,2015262385
+2015262386,2015262386
+2015262387,2015262387
+2015262388,2015262388
+2015262389,2015262389
+2015262390,2015262390
+2015262391,2015262391
+2015262392,2015262392
+2015262393,2015262393
+2015262394,2015262394
+2015262395,2015262395
+2015262396,2015262396
+2015262397,2015262397
+2015262398,2015262398
+2015262399,2015262399
+2015262400,2015262400
+2015262401,2015262401
+2015262402,2015262402
+2015262403,2015262403
+2015262404,2015262404
+2015262405,2015262405
+2015262406,2015262406
+2015262407,2015262407
+2015262408,2015262408
+2015262409,2015262409
+2015262410,2015262410
+2015262411,2015262411
+2015262412,2015262412
+2015262413,2015262413
+2015262414,2015262414
+2015262415,2015262415
+2015262416,2015262416
+2015262417,2013240303
+2015262418,2013240081
+2015262419,2015262419
+2015262420,2015262420
+2015262421,2015262421
+2015262422,2015262422
+2015262423,2015262423
+2015262424,2015262424
+2015262425,2015262425
+2015262426,2015262426
+2015262427,2014070054
+2015262428,2015262428
+2015262429,2015262429
+2015262488,2015262488
+2015262489,2015262489
+2015262490,2015262490
+2015262491,2015262491
+2015262492,2015262492
+2015262493,2015262493
+2015262494,2015262494
+2015262495,2015262495
+2015262496,2015262496
+2015262497,2015262497
+2015262498,2015262498
+2015262499,2015262499
+2015262500,2015262500
+2015262501,2015262501
+2015262502,2015262502
+2015262503,2015262503
+2015262504,2015262504
+2015262505,2015262505
+2015262506,2015262506
+2015262507,2015262507
+2015262508,2012070077
+2015262509,2015262509
+2015262510,2015262510
+2015262511,2015262511
+2015262512,2015262512
+2015262513,2015262513
+2015262514,2015262514
+2015262515,041934
+2015262516,2015262516
+2015262517,2015262517
+2015262518,2015262518
+2015262519,2015262519
+2015262520,2015262520
+2015262521,2015262521
+2015262522,2010010150
+2015262523,2015262523
+2015262524,2015262524
+2015262525,2015262525
+2015262526,2015262526
+2015262527,2015262527
+2015262528,2015262528
+2015262529,2015262529
+2015262530,2015262530
+2015262531,2015262531
+2015262532,2015262532
+2015262533,2015262533
+2015262534,2015262534
+2015262535,2015262535
+2015262536,2015262536
+2015262537,2015262537
+2015262538,2015262538
+2015262539,2015262539
+2015262540,2015262540
+2015262541,2015262541
+2015262542,2015262542
+2015262543,2015262543
+2015262544,2015262544
+2015262545,2015262545
+2015262546,2015262546
+2015262547,2015262547
+2015262548,2015262548
+2015262549,2015262549
+2015262550,2015262550
+2015262551,2015262551
+2015262552,2015262552
+2015262553,20140P0207
+2015262554,2015262554
+2015262555,2015262555
+2015262556,2015262556
+2015262557,2015262557
+2015262558,2015262558
+2015262559,2015262559
+2015262560,2015262560
+2015262561,2015262561
+2015262562,2015262562
+2015262563,2015262563
+2015262564,2015262564
+2015262565,2015262565
+2015262568,2015262568
+2015262569,2015262569
+2015262570,2015262570
+2015262571,2015262571
+2015262572,2015262572
+2015262573,2015262573
+2015262574,2015262574
+2015262575,2015262575
+2015262576,2015262576
+2015262577,2015262577
+2015262578,2015262578
+2015262579,2011303451
+2015262580,2011303556
+2015262581,2011303532
+2015262582,2011303376
+2015262583,2015262583
+2015262584,2015262584
+2015262585,2015262585
+2015262586,2015262586
+2015262587,2015262587
+2015262588,2011303525
+2015262589,2015262589
+2015262590,2011303390
+2015262591,2015262591
+2015262592,2011303555
+2015262593,2011303493
+2015262594,2015262594
+2015262595,2015262595
+2015262596,2015262596
+2015262597,2015262597
+2015262598,2011303564
+2015262599,2015262599
+2015262600,2015262600
+2015262601,2009303551
+2015262602,2015262602
+2015262603,2015262603
+2015262604,2015262604
+2015262605,2015262605
+2015262606,2015262606
+2015262607,2015262607
+2015262608,2015262608
+2015262609,2015262609
+2015262610,2013211493
+2015262611,2015262611
+2015262612,2015262612
+2015262613,2011303533
+2015262614,2015262614
+2015262615,2015262615
+2015262616,2015262616
+2015262617,2015262617
+2015262618,2011303387
+2015262619,2011303520
+2015262620,2015262620
+2015262621,2015262621
+2015262622,2015262622
+2015262623,2015262623
+2015262624,2015262624
+2015262625,2010303530
+2015262626,2015262626
+2015262627,2011300889
+2015262628,2015262628
+2015262629,2015262629
+2015262630,2015262630
+2015262631,2015262631
+2015262632,2015262632
+2015262633,2015262633
+2015262634,2015262634
+2015262635,2010262274
+2015262636,2010303329
+2015262637,2015262637
+2015262638,2015262638
+2015262639,2011303546
+2015262640,2015262640
+2015262641,2015262641
+2015262642,2011303537
+2015262643,2015262643
+2015262644,2015262644
+2015262667,2015262667
+2015262668,2015262668
+2015262669,2015262669
+2015262670,2015262670
+2015262671,2015262671
+2015262693,2015262693
+2015262694,2015262694
+2015262695,2015262695
+2015262696,2015262696
+2015262697,2015262697
+2015262698,2015262698
+2015262699,2011303147
+2015262700,2010303085
+2015262701,2000010009
+2015262702,2011303141
+2015262703,2015262703
+2015262704,2015262704
+2015262705,2015262705
+2015262706,2015262706
+2015262707,2015262707
+2015262708,2015262708
+2015262709,2015262709
+2015262710,2015262710
+2015262711,2015262711
+2015262712,2015262712
+2015262713,2015262713
+2015262714,2015262714
+2015262715,2015262715
+2015262716,2015262716
+2015300001,2015300001
+2015300002,2015300002
+2015300003,2015300003
+2015300004,2015300004
+2015300005,2015300005
+2015300006,2015300006
+2015300007,2015300007
+2015300008,2015300008
+2015300009,2015300009
+2015300010,2015300010
+2015300011,2015300011
+2015300012,2015300012
+2015300013,2015300013
+2015300014,2015300014
+2015300015,2015300015
+2015300016,2015300016
+2015300017,2015300017
+2015300018,2015300018
+2015300019,2015300019
+2015300020,2015300020
+2015300021,2015300021
+2015300022,2015300022
+2015300023,2015300023
+2015300024,2015300024
+2015300025,2015300025
+2015300026,2015300026
+2015300027,2015300027
+2015300028,2015300028
+2015300029,2015300029
+2015300030,2015300030
+2015300031,2015300031
+2015300032,2015300032
+2015300033,2015300033
+2015300034,2015300034
+2015300035,2015300035
+2015300036,2015300036
+2015300037,2015300037
+2015300038,2015300038
+2015300039,2015300039
+2015300040,2015300040
+2015300041,2015300041
+2015300042,2015300042
+2015300043,2015300043
+2015300044,2015300044
+2015300045,2015300045
+2015300046,2015300046
+2015300047,2015300047
+2015300048,2015300048
+2015300049,2015300049
+2015300050,2015300050
+2015300051,2015300051
+2015300052,2015300052
+2015300053,2015300053
+2015300054,2015300054
+2015300055,2015300055
+2015300056,2015300056
+2015300057,2015300057
+2015300058,2015300058
+2015300059,2015300059
+2015300060,2015300060
+2015300061,2015300061
+2015300062,2015300062
+2015300063,2015300063
+2015300064,2015300064
+2015300065,2015300065
+2015300066,2015300066
+2015300067,2015300067
+2015300068,2015300068
+2015300069,2015300069
+2015300070,2015300070
+2015300071,2015300071
+2015300072,2015300072
+2015300073,2015300073
+2015300074,2015300074
+2015300075,2015300075
+2015300076,2015300076
+2015300077,2015300077
+2015300078,2015300078
+2015300079,2015300079
+2015300080,2015300080
+2015300081,2015300081
+2015300082,2015300082
+2015300083,2015300083
+2015300084,2015300084
+2015300085,2015300085
+2015300086,2015300086
+2015300087,2015300087
+2015300088,2015300088
+2015300089,2015300089
+2015300090,2015300090
+2015300091,2015300091
+2015300092,2015300092
+2015300093,2015300093
+2015300094,2015300094
+2015300095,2015300095
+2015300096,2015300096
+2015300097,2015300097
+2015300098,2015300098
+2015300099,2015300099
+2015300100,2015300100
+2015300101,2015300101
+2015300102,2015300102
+2015300103,2015300103
+2015300104,2015300104
+2015300105,2015300105
+2015300106,2015300106
+2015300107,2015300107
+2015300108,2015300108
+2015300109,2015300109
+2015300110,2015300110
+2015300111,2015300111
+2015300112,2015300112
+2015300113,2015300113
+2015300114,2015300114
+2015300115,2015300115
+2015300116,2015300116
+2015300117,2015300117
+2015300118,2015300118
+2015300119,2015300119
+2015300120,2015300120
+2015300121,2015300121
+2015300122,2015300122
+2015300123,2015300123
+2015300124,2015300124
+2015300125,2015300125
+2015300126,2015300126
+2015300127,2015300127
+2015300128,2015300128
+2015300129,2015300129
+2015300130,2015300130
+2015300131,2015300131
+2015300132,2015300132
+2015300133,2015300133
+2015300134,2015300134
+2015300135,2015300135
+2015300136,2015300136
+2015300137,2015300137
+2015300138,2015300138
+2015300139,2015300139
+2015300140,2015300140
+2015300141,2015300141
+2015300142,2015300142
+2015300143,2015300143
+2015300144,2015300144
+2015300145,2015300145
+2015300146,2015300146
+2015300147,2015300147
+2015300148,2015300148
+2015300149,2015300149
+2015300150,2015300150
+2015300151,2015300151
+2015300152,2015300152
+2015300153,2015300153
+2015300154,2015300154
+2015300155,2015300155
+2015300156,2015300156
+2015300157,2015300157
+2015300158,2015300158
+2015300159,2015300159
+2015300160,2015300160
+2015300161,2015300161
+2015300162,2015300162
+2015300163,2015300163
+2015300164,2015300164
+2015300165,2015300165
+2015300166,2015300166
+2015300167,2015300167
+2015300168,2015300168
+2015300169,2015300169
+2015300170,2015300170
+2015300171,2015300171
+2015300172,2015300172
+2015300173,2015300173
+2015300174,2015300174
+2015300175,2015300175
+2015300176,2015300176
+2015300177,2015300177
+2015300178,2015300178
+2015300179,2015300179
+2015300180,2015300180
+2015300181,2015300181
+2015300182,2015300182
+2015300183,2015300183
+2015300184,2015300184
+2015300185,2015300185
+2015300186,2015300186
+2015300187,2015300187
+2015300188,2015300188
+2015300189,2015300189
+2015300190,2015300190
+2015300191,2015300191
+2015300192,2015300192
+2015300193,2015300193
+2015300194,2015300194
+2015300195,2015300195
+2015300196,2015300196
+2015300197,2015300197
+2015300198,2015300198
+2015300199,2015300199
+2015300200,2015300200
+2015300201,2015300201
+2015300202,2015300202
+2015300203,2015300203
+2015300204,2015300204
+2015300205,2015300205
+2015300206,2015300206
+2015300207,2015300207
+2015300208,2015300208
+2015300209,2015300209
+2015300210,2015300210
+2015300211,2015300211
+2015300212,2015300212
+2015300213,2015300213
+2015300214,2015300214
+2015300215,2015300215
+2015300216,2015300216
+2015300217,2015300217
+2015300218,2015300218
+2015300219,2015300219
+2015300220,2015300220
+2015300221,2015300221
+2015300222,2015300222
+2015300223,2015300223
+2015300224,2015300224
+2015300225,2015300225
+2015300226,2015300226
+2015300227,2015300227
+2015300228,2015300228
+2015300229,2015300229
+2015300230,2015300230
+2015300231,2015300231
+2015300232,2015300232
+2015300233,2015300233
+2015300234,2015300234
+2015300235,2015300235
+2015300236,2015300236
+2015300237,2015300237
+2015300238,2015300238
+2015300239,2015300239
+2015300240,2015300240
+2015300241,2015300241
+2015300242,2015300242
+2015300243,2015300243
+2015300244,2015300244
+2015300245,2015300245
+2015300246,2015300246
+2015300247,2015300247
+2015300248,2015300248
+2015300249,2015300249
+2015300250,2015300250
+2015300251,2015300251
+2015300252,2015300252
+2015300253,2015300253
+2015300254,2015300254
+2015300255,2015300255
+2015300256,2015300256
+2015300257,2015300257
+2015300258,2015300258
+2015300259,2015300259
+2015300260,2015300260
+2015300261,2015300261
+2015300262,2015300262
+2015300263,2015300263
+2015300264,2015300264
+2015300265,2015300265
+2015300266,2015300266
+2015300267,2015300267
+2015300268,2015300268
+2015300269,2015300269
+2015300270,2015300270
+2015300271,2015300271
+2015300272,2015300272
+2015300273,2015300273
+2015300274,2015300274
+2015300275,2015300275
+2015300276,2015300276
+2015300277,2015300277
+2015300278,2015300278
+2015300279,2015300279
+2015300280,2015300280
+2015300281,2015300281
+2015300282,2015300282
+2015300283,2015300283
+2015300284,2015300284
+2015300285,2015300285
+2015300286,2015300286
+2015300287,2015300287
+2015300288,2015300288
+2015300289,2015300289
+2015300290,2015300290
+2015300291,2015300291
+2015300292,2015300292
+2015300293,2015300293
+2015300294,2015300294
+2015300295,2015300295
+2015300296,2015300296
+2015300297,2015300297
+2015300298,2015300298
+2015300299,2015300299
+2015300300,2015300300
+2015300301,2015300301
+2015300302,2015300302
+2015300303,2015300303
+2015300304,2015300304
+2015300305,2015300305
+2015300306,2015300306
+2015300307,2015300307
+2015300308,2015300308
+2015300309,2015300309
+2015300310,2015300310
+2015300311,2015300311
+2015300312,2015300312
+2015300313,2015300313
+2015300314,2015300314
+2015300315,2015300315
+2015300316,2015300316
+2015300317,2015300317
+2015300318,2015300318
+2015300319,2015300319
+2015300320,2015300320
+2015300321,2015300321
+2015300322,2015300322
+2015300323,2015300323
+2015300324,2015300324
+2015300325,2015300325
+2015300326,2015300326
+2015300327,2015300327
+2015300328,2015300328
+2015300329,2015300329
+2015300330,2015300330
+2015300331,2015300331
+2015300332,2015300332
+2015300333,2015300333
+2015300334,2015300334
+2015300335,2015300335
+2015300336,2015300336
+2015300337,2015300337
+2015300338,2015300338
+2015300339,2015300339
+2015300340,2015300340
+2015300341,2015300341
+2015300342,2015300342
+2015300343,2015300343
+2015300344,2015300344
+2015300345,2015300345
+2015300346,2015300346
+2015300347,2015300347
+2015300348,2015300348
+2015300349,2015300349
+2015300350,2015300350
+2015300351,2015300351
+2015300352,2015300352
+2015300353,2015300353
+2015300354,2015300354
+2015300355,2015300355
+2015300356,2015300356
+2015300357,2015300357
+2015300358,2015300358
+2015300359,2015300359
+2015300360,2015300360
+2015300361,2015300361
+2015300362,2015300362
+2015300363,2015300363
+2015300364,2015300364
+2015300365,2015300365
+2015300366,2015300366
+2015300367,2015300367
+2015300368,2015300368
+2015300369,2015300369
+2015300370,2015300370
+2015300371,2015300371
+2015300372,2015300372
+2015300373,2015300373
+2015300374,2015300374
+2015300375,2015300375
+2015300376,2015300376
+2015300377,2015300377
+2015300378,2015300378
+2015300379,2015300379
+2015300380,2015300380
+2015300381,2015300381
+2015300382,2015300382
+2015300383,2015300383
+2015300384,2015300384
+2015300385,2015300385
+2015300386,2015300386
+2015300387,2015300387
+2015300388,2015300388
+2015300389,2015300389
+2015300390,2015300390
+2015300391,2015300391
+2015300392,2015300392
+2015300393,2015300393
+2015300394,2015300394
+2015300395,2015300395
+2015300396,2015300396
+2015300397,2015300397
+2015300398,2015300398
+2015300399,2015300399
+2015300400,2015300400
+2015300401,2015300401
+2015300402,2015300402
+2015300403,2015300403
+2015300404,2015300404
+2015300405,2015300405
+2015300406,2015300406
+2015300407,2015300407
+2015300408,2015300408
+2015300409,2015300409
+2015300410,2015300410
+2015300411,2015300411
+2015300412,2015300412
+2015300413,2015300413
+2015300414,2015300414
+2015300415,2015300415
+2015300416,2015300416
+2015300417,2015300417
+2015300418,2015300418
+2015300419,2015300419
+2015300420,2015300420
+2015300421,2015300421
+2015300422,2015300422
+2015300423,2015300423
+2015300424,2015300424
+2015300425,2015300425
+2015300426,2015300426
+2015300427,2015300427
+2015300428,2015300428
+2015300429,2015300429
+2015300430,2015300430
+2015300431,2015300431
+2015300432,2015300432
+2015300433,2015300433
+2015300434,2015300434
+2015300435,2015300435
+2015300436,2015300436
+2015300437,2015300437
+2015300438,2015300438
+2015300439,2015300439
+2015300440,2015300440
+2015300441,2015300441
+2015300442,2015300442
+2015300443,2015300443
+2015300444,2015300444
+2015300445,2015300445
+2015300446,2015300446
+2015300447,2015300447
+2015300448,2015300448
+2015300449,2015300449
+2015300450,2015300450
+2015300451,2015300451
+2015300452,2015300452
+2015300453,2015300453
+2015300454,2015300454
+2015300455,2015300455
+2015300456,2015300456
+2015300457,2015300457
+2015300458,2015300458
+2015300459,2015300459
+2015300460,2015300460
+2015300461,2015300461
+2015300462,2015300462
+2015300463,2015300463f
+2015300464,2015300464
+2015300465,2015300465
+2015300466,2015300466
+2015300467,2015300467
+2015300468,2015300468
+2015300469,2015300469
+2015300470,2015300470
+2015300471,2015300471
+2015300472,2015300472
+2015300473,2015300473
+2015300474,2015300474
+2015300475,2015300475
+2015300476,2015300476
+2015300477,2015300477
+2015300478,2015300478
+2015300479,2015300479
+2015300480,2015300480
+2015300481,2015300481
+2015300482,2015300482
+2015300483,2015300483
+2015300484,2015300484
+2015300485,2015300485
+2015300486,2015300486
+2015300487,2015300487
+2015300488,2015300488
+2015300489,2015300489
+2015300490,2015300490
+2015300491,2015300491
+2015300492,2015300492
+2015300493,2015300493
+2015300494,2015300494
+2015300495,2015300495
+2015300496,2015300496
+2015300497,2015300497
+2015300498,2015300498
+2015300499,2015300499
+2015300500,2015300500
+2015300501,2015300501
+2015300502,2015300502
+2015300503,2015300503
+2015300504,2015300504
+2015300505,2015300505
+2015300506,2015300506
+2015300507,2015300507
+2015300508,2015300508
+2015300509,2015300509
+2015300510,2015300510
+2015300511,2015300511
+2015300512,2015300512
+2015300513,2015300513
+2015300514,2015300514
+2015300515,2015300515
+2015300516,2015300516
+2015300517,2015300517
+2015300518,2015300518
+2015300519,2015300519
+2015300520,2015300520
+2015300521,2015300521
+2015300522,2015300522
+2015300523,2015300523
+2015300524,2015300524
+2015300525,2015300525
+2015300526,2015300526
+2015300527,2015300527
+2015300528,2015300528
+2015300529,2015300529
+2015300530,2015300530
+2015300531,2015300531
+2015300532,2015300532
+2015300533,2015300533
+2015300534,2015300534
+2015300535,2015300535
+2015300536,2015300536
+2015300537,2015300537
+2015300538,2015300538
+2015300539,2015300539
+2015300540,2015300540
+2015300541,2015300541
+2015300542,2015300542
+2015300543,2015300543
+2015300544,2015300544
+2015300545,2015300545
+2015300546,2015300546
+2015300547,2015300547
+2015300548,2015300548
+2015300549,2015300549
+2015300550,2015300550
+2015300551,2015300551
+2015300552,2015300552
+2015300553,2015300553
+2015300554,2015300554
+2015300555,2015300555
+2015300556,2015300556
+2015300557,2015300557
+2015300558,2015300558
+2015300559,2015300559
+2015300560,2015300560
+2015300561,2015300561
+2015300562,2015300562
+2015300563,2015300563
+2015300564,2015300564
+2015300565,2015300565
+2015300566,2015300566
+2015300567,2015300567
+2015300568,2015300568
+2015300569,2015300569
+2015300570,2015300570
+2015300571,2015300571
+2015300572,2015300572
+2015300573,2015300573
+2015300574,2015300574
+2015300575,2015300575
+2015300576,2015300576
+2015300577,2015300577
+2015300578,2015300578
+2015300579,2015300579
+2015300580,2015300580
+2015300581,2015300581
+2015300582,2015300582
+2015300583,2015300583
+2015300584,2015300584
+2015300585,2015300585
+2015300586,2015300586
+2015300587,2015300587
+2015300588,2015300588
+2015300589,2015300589
+2015300590,2015300590
+2015300591,2015300591
+2015300592,2015300592
+2015300593,2015300593
+2015300594,2015300594
+2015300595,2015300595
+2015300596,2015300596
+2015300597,2015300597
+2015300598,2015300598
+2015300599,2015300599
+2015300600,2015300600
+2015300601,2015300601
+2015300602,2015300602
+2015300603,2015300603
+2015300604,2015300604
+2015300605,2015300605
+2015300606,2015300606
+2015300607,2015300607
+2015300608,2015300608
+2015300609,2015300609
+2015300610,2015300610
+2015300611,2015300611
+2015300612,2015300612
+2015300613,2015300613
+2015300614,2015300614
+2015300615,2015300615
+2015300616,2015300616
+2015300617,2015300617
+2015300618,2015300618
+2015300619,2015300619
+2015300620,2015300620
+2015300621,2015300621
+2015300622,2015300622
+2015300623,2015300623
+2015300624,2015300624
+2015300625,2015300625
+2015300626,2015300626
+2015300627,2015300627
+2015300628,2015300628
+2015300629,2015300629
+2015300630,2015300630
+2015300631,2015300631
+2015300632,2015300632
+2015300633,2015300633
+2015300634,2015300634
+2015300635,2015300635
+2015300636,2015300636
+2015300637,2015300637
+2015300638,2015300638
+2015300639,2015300639
+2015300640,2015300640
+2015300641,2015300641
+2015300642,2015300642
+2015300643,2015300643
+2015300644,2015300644
+2015300645,2015300645
+2015300646,2015300646
+2015300647,2015300647
+2015300648,2015300648
+2015300649,2015300649
+2015300650,2015300650
+2015300651,2015300651
+2015300652,2015300652
+2015300653,2015300653
+2015300654,2015300654
+2015300655,2015300655
+2015300656,2015300656
+2015300657,2015300657
+2015300658,2015300658
+2015300659,2015300659
+2015300660,2015300660
+2015300661,2015300661
+2015300662,2015300662
+2015300663,2015300663
+2015300664,2015300664
+2015300665,2015300665
+2015300666,2015300666
+2015300667,2015300667
+2015300668,2015300668
+2015300669,2015300669
+2015300670,2015300670
+2015300671,2015300671
+2015300672,2015300672
+2015300673,2015300673
+2015300674,2015300674
+2015300675,2015300675
+2015300676,2015300676
+2015300677,2015300677
+2015300678,2015300678
+2015300679,2015300679
+2015300680,2015300680
+2015300681,2015300681
+2015300682,2015300682
+2015300683,2015300683
+2015300684,2015300684
+2015300685,2015300685
+2015300686,2015300686
+2015300687,2015300687
+2015300688,2015300688
+2015300689,2015300689
+2015300690,2015300690
+2015300691,2015300691
+2015300692,2015300692
+2015300693,2015300693
+2015300694,2015300694
+2015300695,2015300695
+2015300696,2015300696
+2015300697,2015300697
+2015300698,2015300698
+2015300699,2015300699
+2015300700,2015300700
+2015300701,2015300701
+2015300702,2015300702
+2015300703,2015300703
+2015300704,2015300704
+2015300705,2015300705
+2015300706,2015300706
+2015300707,2015300707
+2015300708,2015300708
+2015300709,2015300709
+2015300710,2015300710
+2015300711,2015300711
+2015300712,2015300712
+2015300713,2015300713
+2015300714,2015300714
+2015300715,2015300715
+2015300716,2015300716
+2015300717,2015300717
+2015300718,2015300718
+2015300719,2015300719
+2015300720,2015300720
+2015300721,2015300721
+2015300722,2015300722
+2015300723,2015300723
+2015300724,2015300724
+2015300725,2015300725
+2015300726,2015300726
+2015300727,2015300727
+2015300728,2015300728
+2015300729,2015300729
+2015300730,2015300730
+2015300731,2015300731
+2015300732,2015300732
+2015300733,2015300733
+2015300734,2015300734
+2015300735,2015300735
+2015300736,2015300736
+2015300737,2015300737
+2015300738,2015300738
+2015300739,2015300739
+2015300740,2015300740
+2015300741,2015300741
+2015300742,2015300742
+2015300743,2015300743
+2015300744,2015300744
+2015300745,2015300745
+2015300746,2015300746
+2015300747,2015300747
+2015300748,2015300748
+2015300749,2015300749
+2015300750,2015300750
+2015300751,2015300751
+2015300752,2015300752
+2015300753,2015300753
+2015300754,2015300754
+2015300755,2015300755
+2015300756,2015300756
+2015300757,2015300757
+2015300758,2015300758
+2015300759,2015300759
+2015300760,2015300760
+2015300761,2015300761
+2015300762,2015300762
+2015300763,2015300763
+2015300764,2015300764
+2015300765,2015300765
+2015300766,2015300766
+2015300767,2015300767
+2015300768,2015300768
+2015300769,2015300769
+2015300770,2015300770
+2015300771,2015300771
+2015300772,2015300772
+2015300773,2015300773
+2015300774,2015300774
+2015300775,2015300775
+2015300776,2015300776
+2015300777,2015300777
+2015300778,2015300778
+2015300779,2015300779
+2015300780,2015300780
+2015300781,2015300781
+2015300782,2015300782
+2015300783,2015300783
+2015300784,2015300784
+2015300785,2015300785
+2015300786,2015300786
+2015300787,2015300787
+2015300788,2015300788
+2015300789,2015300789
+2015300790,2015300790
+2015300791,2015300791
+2015300792,2015300792
+2015300793,2015300793
+2015300794,2015300794
+2015300795,2015300795
+2015300796,2015300796
+2015300797,2015300797
+2015300798,2015300798
+2015300799,2015300799
+2015300800,2015300800
+2015300801,2015300801
+2015300802,2015300802
+2015300803,2015300803
+2015300804,2015300804
+2015300805,2015300805
+2015300806,2015300806
+2015300807,2015300807
+2015300808,2015300808
+2015300809,2015300809
+2015300810,2015300810
+2015300811,2015300811
+2015300812,2015300812
+2015300813,2015300813
+2015300814,2015300814
+2015300815,2015300815
+2015300816,2015300816
+2015300817,2015300817
+2015300818,2015300818
+2015300819,2015300819
+2015300820,2015300820
+2015300821,2015300821
+2015300822,2015300822
+2015300823,2015300823
+2015300824,2015300824
+2015300825,2015300825
+2015300826,2015300826
+2015300827,2015300827
+2015300828,2015300828
+2015300829,2015300829
+2015300830,2015300830
+2015300831,2015300831
+2015300832,2015300832
+2015300833,2015300833
+2015300834,2015300834
+2015300835,2015300835
+2015300836,2015300836
+2015300837,2015300837
+2015300838,2015300838
+2015300839,2015300839
+2015300840,2015300840
+2015300841,2015300841
+2015300842,2015300842
+2015300843,2015300843
+2015300844,2015300844
+2015300845,2015300845
+2015300846,2015300846
+2015300847,2015300847
+2015300848,2015300848
+2015300849,2015300849
+2015300850,2015300850
+2015300851,2015300851
+2015300852,2015300852
+2015300853,2015300853
+2015300854,2015300854
+2015300855,2015300855
+2015300856,2015300856
+2015300857,2015300857
+2015300858,2015300858
+2015300859,2015300859
+2015300860,2015300860
+2015300861,2015300861
+2015300862,2015300862
+2015300863,2015300863
+2015300864,2015300864
+2015300865,2015300865
+2015300866,2015300866
+2015300867,2015300867
+2015300868,2015300868
+2015300869,2015300869
+2015300870,2015300870
+2015300871,2015300871
+2015300872,2015300872
+2015300873,2015300873
+2015300874,2015300874
+2015300875,2015300875
+2015300876,2015300876
+2015300877,2015300877
+2015300878,2015300878
+2015300879,2015300879
+2015300880,2015300880
+2015300881,2015300881
+2015300882,2015300882
+2015300883,2015300883
+2015300884,2015300884
+2015300885,2015300885
+2015300886,2015300886
+2015300887,2015300887
+2015300888,2015300888
+2015300889,2015300889
+2015300890,2015300890
+2015300891,2015300891
+2015300892,2015300892
+2015300893,2015300893
+2015300894,2015300894
+2015300895,2015300895
+2015300896,2015300896
+2015300897,2015300897
+2015300898,2015300898
+2015300899,2015300899
+2015300900,2015300900
+2015300901,2015300901
+2015300902,2015300902
+2015300903,2015300903
+2015300904,2015300904
+2015300905,2015300905
+2015300906,2015300906
+2015300907,2015300907
+2015300908,2015300908
+2015300909,2015300909
+2015300910,2015300910
+2015300911,2015300911
+2015300912,2015300912
+2015300913,2015300913
+2015300914,2015300914
+2015300915,2015300915
+2015300916,2015300916
+2015300917,2015300917
+2015300918,2015300918
+2015300919,2015300919
+2015300920,2015300920
+2015300921,2015300921
+2015300922,2015300922
+2015300923,2015300923
+2015300924,2015300924
+2015300925,2015300925
+2015300926,2015300926
+2015300927,2015300927
+2015300928,2015300928
+2015300929,2015300929
+2015300930,2015300930
+2015300931,2015300931
+2015300932,2015300932
+2015300933,2015300933
+2015300934,2015300934
+2015300935,2015300935
+2015300936,2015300936
+2015300937,2015300937
+2015300938,2015300938
+2015300939,2015300939
+2015300940,2015300940
+2015300941,2015300941
+2015300942,2015300942
+2015300943,2015300943
+2015300944,2015300944
+2015300945,2015300945
+2015300946,2015300946
+2015300947,2015300947
+2015300948,2015300948
+2015300949,2015300949
+2015300950,2015300950
+2015300951,2015300951
+2015300952,2015300952
+2015300953,2015300953
+2015300954,2015300954
+2015300955,2015300955
+2015300956,2015300956
+2015300957,2015300957
+2015300958,2015300958
+2015300959,2015300959
+2015300960,2015300960
+2015300961,2015300961
+2015300962,2015300962
+2015300963,2015300963
+2015300964,2015300964
+2015300965,2015300965
+2015300966,2015300966
+2015300967,2015300967
+2015300968,2015300968
+2015300969,2015300969
+2015300970,2015300970
+2015300971,2015300971
+2015300972,2015300972
+2015300973,2015300973
+2015300974,2015300974
+2015300975,2015300975
+2015300976,2015300976
+2015300977,2015300977
+2015300978,2015300978
+2015300979,2015300979
+2015300980,2015300980
+2015300981,2015300981
+2015300982,2015300982
+2015300983,2015300983
+2015300984,2015300984
+2015300985,2015300985
+2015300986,2015300986
+2015300987,2015300987
+2015300988,2015300988
+2015300989,2015300989
+2015300990,2015300990
+2015300991,2015300991
+2015300992,2015300992
+2015300993,2015300993
+2015300994,2015300994
+2015300995,2015300995
+2015300996,2015300996
+2015300997,2015300997
+2015300998,2015300998
+2015300999,2015300999
+2015301000,2015301000
+2015301001,2015301001
+2015301002,2015301002
+2015301003,2015301003
+2015301004,2015301004
+2015301005,2015301005
+2015301006,2015301006
+2015301007,2015301007
+2015301008,2015301008
+2015301009,2015301009
+2015301010,2015301010
+2015301011,2015301011
+2015301012,2015301012
+2015301013,2015301013
+2015301014,2015301014
+2015301015,2015301015
+2015301016,2015301016
+2015301017,2015301017
+2015301018,2015301018
+2015301019,2015301019
+2015301020,2015301020
+2015301021,2015301021
+2015301022,2015301022
+2015301023,2015301023
+2015301024,2015301024
+2015301025,2015301025
+2015301026,2015301026
+2015301027,2015301027
+2015301028,2015301028
+2015301029,2015301029
+2015301030,2015301030
+2015301031,2015301031
+2015301032,2015301032
+2015301033,2015301033
+2015301034,2015301034
+2015301035,2015301035
+2015301036,2015301036
+2015301037,2015301037
+2015301038,2015301038
+2015301039,2015301039
+2015301040,2015301040
+2015301041,2015301041
+2015301042,2015301042
+2015301043,2015301043
+2015301044,2015301044
+2015301045,2015301045
+2015301046,2015301046
+2015301047,2015301047
+2015301048,2015301048
+2015301049,2015301049f
+2015301050,2015301050
+2015301051,2015301051
+2015301052,2015301052
+2015301053,2015301053
+2015301054,2015301054
+2015301055,2015301055
+2015301056,2015301056
+2015301057,2015301057
+2015301058,2015301058
+2015301059,2015301059
+2015301060,2015301060
+2015301061,2015301061
+2015301062,2015301062
+2015301063,2015301063
+2015301064,2015301064
+2015301065,2015301065
+2015301066,2015301066
+2015301067,2015301067
+2015301068,2015301068
+2015301069,2015301069
+2015301070,2015301070
+2015301071,2015301071f
+2015301072,2015301072
+2015301073,2015301073
+2015301074,2015301074
+2015301075,2015301075
+2015301076,2015301076
+2015301077,2015301077
+2015301078,2015301078
+2015301079,2015301079
+2015301080,2015301080
+2015301081,2015301081
+2015301082,2015301082
+2015301083,2015301083
+2015301084,2015301084
+2015301085,2015301085
+2015301086,2015301086
+2015301087,2015301087
+2015301088,2015301088
+2015301089,2015301089
+2015301090,2015301090
+2015301091,2015301091
+2015301092,2015301092
+2015301093,2015301093
+2015301094,2015301094
+2015301095,2015301095
+2015301096,2015301096
+2015301097,2015301097
+2015301098,2015301098
+2015301099,2015301099
+2015301100,2015301100
+2015301101,2015301101
+2015301102,2015301102
+2015301103,2015301103
+2015301104,2015301104
+2015301105,2015301105
+2015301106,2015301106
+2015301107,2015301107
+2015301108,2015301108
+2015301109,2015301109
+2015301110,2015301110
+2015301111,2015301111
+2015301112,2015301112
+2015301113,2015301113
+2015301114,2015301114
+2015301115,2015301115
+2015301116,2015301116
+2015301117,2015301117
+2015301118,2015301118
+2015301119,2015301119
+2015301120,2015301120
+2015301121,2015301121
+2015301122,2015301122
+2015301123,2015301123
+2015301124,2015301124
+2015301125,2015301125
+2015301126,2015301126
+2015301127,2015301127
+2015301128,2015301128
+2015301129,2015301129
+2015301130,2015301130
+2015301131,2015301131
+2015301132,2015301132
+2015301133,2015301133
+2015301134,2015301134
+2015301135,2015301135
+2015301136,2015301136
+2015301137,2015301137
+2015301138,2015301138
+2015301139,2015301139
+2015301140,2015301140
+2015301141,2015301141
+2015301142,2015301142
+2015301143,2015301143
+2015301144,2015301144
+2015301145,2015301145
+2015301146,2015301146
+2015301147,2015301147
+2015301148,2015301148
+2015301149,2015301149
+2015301150,2015301150
+2015301151,2015301151
+2015301152,2015301152
+2015301153,2015301153
+2015301154,2015301154
+2015301155,2015301155
+2015301156,2015301156
+2015301157,2015301157
+2015301158,2015301158
+2015301159,2015301159
+2015301160,2015301160
+2015301161,2015301161
+2015301162,2015301162
+2015301163,2015301163
+2015301164,2015301164
+2015301165,2015301165
+2015301166,2015301166
+2015301167,2015301167
+2015301168,2015301168
+2015301169,2015301169
+2015301170,2015301170
+2015301171,2015301171
+2015301172,2015301172
+2015301173,2015301173
+2015301174,2015301174
+2015301175,2015301175
+2015301176,2015301176
+2015301177,2015301177
+2015301178,2015301178
+2015301179,2015301179
+2015301180,2015301180
+2015301181,2015301181
+2015301182,2015301182
+2015301183,2015301183
+2015301184,2015301184
+2015301185,2015301185
+2015301186,2015301186
+2015301187,2015301187
+2015301188,2015301188
+2015301189,2015301189
+2015301190,2015301190
+2015301191,2015301191
+2015301192,2015301192
+2015301193,2015301193
+2015301194,2015301194
+2015301195,2015301195
+2015301196,2015301196
+2015301197,2015301197
+2015301198,2015301198
+2015301199,2015301199
+2015301200,2015301200
+2015301201,2015301201
+2015301202,2015301202
+2015301203,2015301203
+2015301204,2015301204
+2015301205,2015301205
+2015301206,2015301206
+2015301207,2015301207
+2015301208,2015301208
+2015301209,2015301209
+2015301210,2015301210
+2015301211,2015301211
+2015301212,2015301212
+2015301213,2015301213
+2015301214,2015301214
+2015301215,2015301215
+2015301216,2015301216
+2015301217,2015301217
+2015301218,2015301218
+2015301219,2015301219
+2015301220,2015301220
+2015301221,2015301221
+2015301222,2015301222
+2015301223,2015301223
+2015301224,2015301224
+2015301225,2015301225
+2015301226,2015301226
+2015301227,2015301227
+2015301228,2015301228
+2015301229,2015301229
+2015301230,2015301230
+2015301231,2015301231
+2015301232,2015301232
+2015301233,2015301233
+2015301234,2015301234
+2015301235,2015301235
+2015301236,2015301236
+2015301237,2015301237
+2015301238,2015301238
+2015301239,2015301239
+2015301240,2015301240
+2015301241,2015301241
+2015301242,2015301242
+2015301243,2015301243
+2015301244,2015301244
+2015301245,2015301245
+2015301246,2015301246
+2015301247,2015301247
+2015301248,2015301248
+2015301249,2015301249
+2015301250,2015301250
+2015301251,2015301251
+2015301252,2015301252
+2015301253,2015301253
+2015301254,2015301254
+2015301255,2015301255
+2015301256,2015301256
+2015301257,2015301257
+2015301258,2015301258
+2015301259,2015301259
+2015301260,2015301260
+2015301261,2015301261
+2015301262,2015301262
+2015301263,2015301263
+2015301264,2015301264
+2015301265,2015301265
+2015301266,2015301266
+2015301267,2015301267
+2015301268,2015301268
+2015301269,2015301269
+2015301270,2015301270
+2015301271,2015301271
+2015301272,2015301272
+2015301273,2015301273
+2015301274,2015301274
+2015301275,2015301275
+2015301276,2015301276
+2015301277,2015301277
+2015301278,2015301278
+2015301279,2015301279
+2015301280,2015301280
+2015301281,2015301281
+2015301282,2015301282
+2015301283,2015301283
+2015301284,2015301284
+2015301285,2015301285
+2015301286,2015301286
+2015301287,2015301287
+2015301288,2015301288
+2015301289,2015301289
+2015301290,2015301290
+2015301291,2015301291
+2015301292,2015301292
+2015301293,2015301293
+2015301294,2015301294
+2015301295,2015301295
+2015301296,2015301296
+2015301297,2015301297
+2015301298,2015301298
+2015301299,2015301299
+2015301300,2015301300
+2015301301,2015301301
+2015301302,2015301302
+2015301303,2015301303
+2015301304,2015301304
+2015301305,2015301305
+2015301306,2015301306
+2015301307,2015301307
+2015301308,2015301308
+2015301309,2015301309
+2015301310,2015301310
+2015301311,2015301311
+2015301312,2015301312
+2015301313,2015301313
+2015301314,2015301314
+2015301315,2015301315
+2015301316,2015301316
+2015301317,2015301317
+2015301318,2015301318
+2015301319,2015301319
+2015301320,2015301320
+2015301321,2015301321
+2015301322,2015301322
+2015301323,2015301323
+2015301324,2015301324
+2015301325,2015301325
+2015301326,2015301326
+2015301327,2015301327
+2015301328,2015301328
+2015301329,2015301329
+2015301330,2015301330
+2015301331,2015301331
+2015301332,2015301332
+2015301333,2015301333
+2015301334,2015301334
+2015301335,2015301335
+2015301336,2015301336
+2015301337,2015301337
+2015301338,2015301338
+2015301339,2015301339
+2015301340,2015301340
+2015301341,2015301341
+2015301342,2015301342
+2015301343,2015301343
+2015301344,2015301344
+2015301345,2015301345
+2015301346,2015301346
+2015301347,2015301347
+2015301348,2015301348
+2015301349,2015301349
+2015301350,2015301350
+2015301351,2015301351
+2015301352,2015301352
+2015301353,2015301353
+2015301354,2015301354
+2015301355,2015301355
+2015301356,2015301356
+2015301357,2015301357
+2015301358,2015301358
+2015301359,2015301359
+2015301360,2015301360
+2015301361,2015301361
+2015301362,2015301362
+2015301363,2015301363
+2015301364,2015301364
+2015301365,2015301365
+2015301366,2015301366
+2015301367,2015301367
+2015301368,2015301368
+2015301369,2015301369
+2015301370,2015301370
+2015301371,2015301371
+2015301372,2015301372
+2015301373,2015301373
+2015301374,2015301374
+2015301375,2015301375
+2015301376,2015301376
+2015301377,2015301377
+2015301378,2015301378
+2015301379,2015301379
+2015301380,2015301380
+2015301381,2015301381
+2015301382,2015301382
+2015301383,2015301383
+2015301384,2015301384
+2015301385,2015301385
+2015301386,2015301386
+2015301387,2015301387
+2015301388,2015301388
+2015301389,2015301389
+2015301390,2015301390
+2015301391,2015301391
+2015301392,2015301392
+2015301393,2015301393
+2015301394,2015301394
+2015301395,2015301395
+2015301396,2015301396
+2015301397,2015301397
+2015301398,2015301398
+2015301399,2015301399
+2015301400,2015301400
+2015301401,2015301401
+2015301402,2015301402
+2015301403,2015301403
+2015301404,2015301404
+2015301405,2015301405
+2015301406,2015301406
+2015301407,2015301407
+2015301408,2015301408
+2015301409,2015301409
+2015301410,2015301410
+2015301411,2015301411
+2015301412,2015301412
+2015301413,2015301413
+2015301414,2015301414
+2015301415,2015301415
+2015301416,2015301416
+2015301417,2015301417
+2015301418,2015301418
+2015301419,2015301419
+2015301420,2015301420
+2015301421,2015301421
+2015301422,2015301422
+2015301423,2015301423
+2015301424,2015301424
+2015301425,2015301425
+2015301426,2015301426
+2015301427,2015301427
+2015301428,2015301428
+2015301429,2015301429
+2015301430,2015301430
+2015301431,2015301431
+2015301432,2015301432
+2015301433,2015301433
+2015301434,2015301434
+2015301435,2015301435
+2015301436,2015301436
+2015301437,2015301437
+2015301438,2015301438
+2015301439,2015301439
+2015301440,2015301440
+2015301441,2015301441
+2015301442,2015301442
+2015301443,2015301443
+2015301444,2015301444
+2015301445,2015301445
+2015301446,2015301446
+2015301447,2015301447
+2015301448,2015301448
+2015301449,2015301449
+2015301450,2015301450
+2015301451,2015301451
+2015301452,2015301452
+2015301453,2015301453
+2015301454,2015301454
+2015301455,2015301455
+2015301456,2015301456
+2015301457,2015301457
+2015301458,2015301458
+2015301459,2015301459
+2015301460,2015301460
+2015301461,2015301461
+2015301462,2015301462
+2015301463,2015301463
+2015301464,2015301464
+2015301465,2015301465
+2015301466,2015301466
+2015301467,2015301467
+2015301468,2015301468
+2015301469,2015301469
+2015301470,2015301470
+2015301471,2015301471
+2015301472,2015301472
+2015301473,2015301473
+2015301474,2015301474
+2015301475,2015301475
+2015301476,2015301476
+2015301477,2015301477
+2015301478,2015301478
+2015301479,2015301479
+2015301480,2015301480
+2015301481,2015301481f
+2015301482,2015301482
+2015301483,2015301483
+2015301484,2015301484
+2015301485,2015301485
+2015301486,2015301486
+2015301487,2015301487
+2015301488,2015301488
+2015301489,2015301489
+2015301490,2015301490
+2015301491,2015301491
+2015301492,2015301492
+2015301493,2015301493
+2015301494,2015301494
+2015301495,2015301495
+2015301496,2015301496
+2015301497,2015301497
+2015301498,2015301498
+2015301499,2015301499
+2015301500,2015301500
+2015301501,2015301501
+2015301502,2015301502
+2015301503,2015301503
+2015301504,2015301504
+2015301505,2015301505
+2015301506,2015301506
+2015301507,2015301507
+2015301508,2015301508
+2015301509,2015301509
+2015301510,2015301510
+2015301511,2015301511
+2015301512,2015301512
+2015301513,2015301513
+2015301514,2015301514f
+2015301515,2015301515
+2015301516,2015301516
+2015301517,2015301517
+2015301518,2015301518
+2015301519,2015301519
+2015301520,2015301520
+2015301521,2015301521
+2015301522,2015301522
+2015301523,2015301523
+2015301524,2015301524
+2015301525,2015301525
+2015301526,2015301526
+2015301527,2015301527
+2015301528,2015301528
+2015301529,2015301529
+2015301530,2015301530
+2015301531,2015301531
+2015301532,2015301532
+2015301533,2015301533
+2015301534,2015301534
+2015301535,2015301535
+2015301536,2015301536
+2015301537,2015301537
+2015301538,2015301538
+2015301539,2015301539
+2015301540,2015301540
+2015301541,2015301541
+2015301542,2015301542
+2015301543,2015301543
+2015301544,2015301544
+2015301545,2015301545
+2015301546,2015301546
+2015301547,2015301547
+2015301548,2015301548
+2015301549,2015301549
+2015301550,2015301550
+2015301551,2015301551
+2015301552,2015301552
+2015301553,2015301553
+2015301554,2015301554
+2015301555,2015301555
+2015301556,2015301556
+2015301557,2015301557
+2015301558,2015301558
+2015301559,2015301559
+2015301560,2015301560
+2015301561,2015301561
+2015301562,2015301562
+2015301563,2015301563
+2015301564,2015301564
+2015301565,2015301565
+2015301566,2015301566
+2015301567,2015301567
+2015301568,2015301568
+2015301569,2015301569
+2015301570,2015301570
+2015301571,2015301571
+2015301572,2015301572
+2015301573,2015301573
+2015301574,2015301574
+2015301575,2015301575
+2015301576,2015301576
+2015301577,2015301577
+2015301578,2015301578
+2015301579,2015301579
+2015301580,2015301580
+2015301581,2015301581
+2015301582,2015301582
+2015301583,2015301583
+2015301584,2015301584
+2015301585,2015301585
+2015301586,2015301586
+2015301587,2015301587
+2015301588,2015301588
+2015301589,2015301589
+2015301590,2015301590
+2015301591,2015301591
+2015301592,2015301592
+2015301593,2015301593
+2015301594,2015301594
+2015301595,2015301595
+2015301596,2015301596
+2015301597,2015301597
+2015301598,2015301598
+2015301599,2015301599
+2015301600,2015301600
+2015301601,2015301601
+2015301602,2015301602
+2015301603,2015301603
+2015301604,2015301604
+2015301605,2015301605
+2015301606,2015301606
+2015301607,2015301607
+2015301608,2015301608
+2015301609,2015301609
+2015301610,2015301610
+2015301611,2015301611
+2015301612,2015301612
+2015301613,2015301613
+2015301614,2015301614
+2015301615,2015301615
+2015301616,2015301616
+2015301617,2015301617
+2015301618,2015301618
+2015301619,2015301619
+2015301620,2015301620
+2015301621,2015301621
+2015301622,2015301622
+2015301623,2015301623
+2015301624,2015301624
+2015301625,2015301625
+2015301626,2015301626f
+2015301627,2015301627
+2015301628,2015301628
+2015301629,2015301629
+2015301630,2015301630
+2015301631,2015301631
+2015301632,2015301632
+2015301633,2015301633
+2015301634,2015301634
+2015301635,2015301635
+2015301636,2015301636
+2015301637,2015301637
+2015301638,2015301638
+2015301639,2015301639
+2015301640,2015301640
+2015301641,2015301641
+2015301642,2015301642
+2015301643,2015301643
+2015301644,2015301644
+2015301645,2015301645
+2015301646,2015301646
+2015301647,2015301647
+2015301648,2015301648
+2015301649,2015301649
+2015301650,2015301650
+2015301651,2015301651
+2015301652,2015301652
+2015301653,2015301653
+2015301654,2015301654
+2015301655,2015301655
+2015301656,2015301656
+2015301657,2015301657
+2015301658,2015301658
+2015301659,2015301659
+2015301660,2015301660
+2015301661,2015301661
+2015301662,2015301662
+2015301663,2015301663
+2015301664,2015301664
+2015301665,2015301665
+2015301666,2015301666
+2015301667,2015301667
+2015301668,2015301668
+2015301669,2015301669
+2015301670,2015301670
+2015301671,2015301671
+2015301672,2015301672
+2015301673,2015301673
+2015301674,2015301674
+2015301675,2015301675
+2015301676,2015301676
+2015301677,2015301677
+2015301678,2015301678
+2015301679,2015301679
+2015301680,2015301680f
+2015301681,2015301681
+2015301682,2015301682
+2015301683,2015301683
+2015301684,2015301684
+2015301685,2015301685
+2015301686,2015301686
+2015301687,2015301687
+2015301688,2015301688
+2015301689,2015301689
+2015301690,2015301690
+2015301691,2015301691
+2015301692,2015301692
+2015301693,2015301693
+2015301694,2015301694
+2015301695,2015301695
+2015301696,2015301696
+2015301697,2015301697
+2015301698,2015301698
+2015301699,2015301699
+2015301700,2015301700
+2015301701,2015301701
+2015301702,2015301702
+2015301703,2015301703
+2015301704,2015301704
+2015301705,2015301705
+2015301706,2015301706
+2015301707,2015301707
+2015301708,2015301708
+2015301709,2015301709
+2015301710,2015301710
+2015301711,2015301711
+2015301712,2015301712
+2015301713,2015301713
+2015301714,2015301714
+2015301715,2015301715
+2015301716,2015301716
+2015301717,2015301717
+2015301718,2015301718
+2015301719,2015301719
+2015301720,2015301720
+2015301721,2015301721
+2015301722,2015301722
+2015301723,2015301723
+2015301724,2015301724
+2015301725,2015301725
+2015301726,2015301726
+2015301727,2015301727
+2015301728,2015301728
+2015301729,2015301729
+2015301730,2015301730
+2015301731,2015301731
+2015301732,2015301732
+2015301733,2015301733
+2015301734,2015301734
+2015301735,2015301735
+2015301736,2015301736
+2015301737,2015301737
+2015301738,2015301738
+2015301739,2015301739
+2015301740,2015301740
+2015301741,2015301741
+2015301742,2015301742
+2015301743,2015301743
+2015301744,2015301744
+2015301745,2015301745
+2015301746,2015301746
+2015301747,2015301747
+2015301748,2015301748
+2015301749,2015301749
+2015301750,2015301750
+2015301751,2015301751
+2015301752,2015301752
+2015301753,2015301753
+2015301754,2015301754
+2015301755,2015301755
+2015301756,2015301756
+2015301757,2015301757
+2015301758,2015301758
+2015301759,2015301759
+2015301760,2015301760
+2015301761,2015301761
+2015301762,2015301762
+2015301763,2015301763
+2015301764,2015301764
+2015301765,2015301765
+2015301766,2015301766
+2015301767,2015301767
+2015301768,2015301768
+2015301769,2015301769
+2015301770,2015301770
+2015301771,2015301771
+2015301772,2015301772
+2015301773,2015301773
+2015301774,2015301774
+2015301775,2015301775
+2015301776,2015301776
+2015301777,2015301777
+2015301778,2015301778
+2015301779,2015301779
+2015301780,2015301780
+2015301781,2015301781
+2015301782,2015301782
+2015301783,2015301783
+2015301784,2015301784
+2015301785,2015301785
+2015301786,2015301786
+2015301787,2015301787
+2015301788,2015301788
+2015301789,2015301789
+2015301790,2015301790
+2015301791,2015301791
+2015301792,2015301792
+2015301793,2015301793
+2015301794,2015301794
+2015301795,2015301795f
+2015301796,2015301796
+2015301797,2015301797
+2015301798,2015301798
+2015301799,2015301799
+2015301800,2015301800
+2015301801,2015301801
+2015301802,2015301802
+2015301803,2015301803
+2015301804,2015301804
+2015301805,2015301805
+2015301806,2015301806
+2015301807,2015301807
+2015301808,2015301808
+2015301809,2015301809
+2015301810,2015301810
+2015301811,2015301811
+2015301812,2015301812
+2015301813,2015301813
+2015301814,2015301814
+2015301815,2015301815
+2015301816,2015301816
+2015301817,2015301817
+2015301818,2015301818
+2015301819,2015301819
+2015301820,2015301820
+2015301821,2015301821
+2015301822,2015301822
+2015301823,2015301823
+2015301824,2015301824
+2015301825,2015301825
+2015301826,2015301826
+2015301827,2015301827
+2015301828,2015301828
+2015301829,2015301829
+2015301830,2015301830
+2015301831,2015301831
+2015301832,2015301832
+2015301833,2015301833
+2015301834,2015301834
+2015301835,2015301835
+2015301836,2015301836
+2015301837,2015301837
+2015301838,2015301838
+2015301839,2015301839
+2015301840,2015301840
+2015301841,2015301841
+2015301842,2015301842
+2015301843,2015301843
+2015301844,2015301844
+2015301845,2015301845
+2015301846,2015301846
+2015301847,2015301847
+2015301848,2015301848
+2015301849,2015301849
+2015301850,2015301850
+2015301851,2015301851
+2015301852,2015301852
+2015301853,2015301853
+2015301854,2015301854
+2015301855,2015301855
+2015301856,2015301856
+2015301857,2015301857
+2015301858,2015301858
+2015301859,2015301859
+2015301860,2015301860
+2015301861,2015301861
+2015301862,2015301862
+2015301863,2015301863
+2015301864,2015301864
+2015301865,2015301865
+2015301866,2015301866
+2015301867,2015301867
+2015301868,2015301868
+2015301869,2015301869
+2015301870,2015301870
+2015301871,2015301871
+2015301872,2015301872
+2015301873,2015301873
+2015301874,2015301874
+2015301875,2015301875
+2015301876,2015301876
+2015301877,2015301877
+2015301878,2015301878
+2015301879,2015301879
+2015301880,2015301880
+2015301881,2015301881
+2015301882,2015301882
+2015301883,2015301883
+2015301884,2015301884
+2015301885,2015301885
+2015301886,2015301886
+2015301887,2015301887
+2015301888,2015301888
+2015301889,2015301889
+2015301890,2015301890
+2015301891,2015301891
+2015301892,2015301892
+2015301893,2015301893
+2015301894,2015301894
+2015301895,2015301895
+2015301896,2015301896
+2015301897,2015301897
+2015301898,2015301898
+2015301899,2015301899
+2015301900,2015301900
+2015301901,2015301901
+2015301902,2015301902
+2015301903,2015301903
+2015301904,2015301904
+2015301905,2015301905
+2015301906,2015301906
+2015301907,2015301907
+2015301908,2015301908
+2015301909,2015301909
+2015301910,2015301910
+2015301911,2015301911
+2015301912,2015301912
+2015301913,2015301913
+2015301914,2015301914
+2015301915,2015301915
+2015301916,2015301916
+2015301917,2015301917
+2015301918,2015301918
+2015301919,2015301919
+2015301920,2015301920
+2015301921,2015301921
+2015301922,2015301922
+2015301923,2015301923
+2015301924,2015301924
+2015301925,2015301925
+2015301926,2015301926
+2015301927,2015301927
+2015301928,2015301928
+2015301929,2015301929
+2015301930,2015301930
+2015301931,2015301931
+2015301932,2015301932
+2015301933,2015301933
+2015301934,2015301934
+2015301935,2015301935
+2015301936,2015301936
+2015301937,2015301937
+2015301938,2015301938
+2015301939,2015301939
+2015301940,2015301940
+2015301941,2015301941
+2015301942,2015301942
+2015301943,2015301943
+2015301944,2015301944
+2015301945,2015301945
+2015301946,2015301946
+2015301947,2015301947
+2015301948,2015301948f
+2015301949,2015301949
+2015301950,2015301950
+2015301951,2015301951
+2015301952,2015301952
+2015301953,2015301953
+2015301954,2015301954
+2015301955,2015301955
+2015301956,2015301956
+2015301957,2015301957
+2015301958,2015301958
+2015301959,2015301959
+2015301960,2015301960
+2015301961,2015301961
+2015301962,2015301962
+2015301963,2015301963
+2015301964,2015301964
+2015301965,2015301965
+2015301966,2015301966
+2015301967,2015301967
+2015301968,2015301968
+2015301969,2015301969
+2015301970,2015301970
+2015301971,2015301971
+2015301972,2015301972
+2015301973,2015301973
+2015301974,2015301974
+2015301975,2015301975
+2015301976,2015301976
+2015301977,2015301977
+2015301978,2015301978
+2015301979,2015301979
+2015301980,2015301980
+2015301981,2015301981
+2015301982,2015301982
+2015301983,2015301983
+2015301984,2015301984
+2015301985,2015301985
+2015301986,2015301986
+2015301987,2015301987
+2015301988,2015301988
+2015301989,2015301989
+2015301990,2015301990
+2015301991,2015301991
+2015301992,2015301992
+2015301993,2015301993
+2015301994,2015301994
+2015301995,2015301995
+2015301996,2015301996
+2015301997,2015301997
+2015301998,2015301998
+2015301999,2015301999
+2015302000,2015302000
+2015302001,2015302001
+2015302002,2015302002
+2015302003,2015302003
+2015302004,2015302004
+2015302005,2015302005
+2015302006,2015302006
+2015302007,2015302007
+2015302008,2015302008
+2015302009,2015302009
+2015302010,2015302010
+2015302011,2015302011
+2015302012,2015302012
+2015302013,2015302013f
+2015302014,2015302014
+2015302015,2015302015
+2015302016,2015302016
+2015302017,2015302017
+2015302018,2015302018
+2015302019,2015302019
+2015302020,2015302020
+2015302021,2015302021
+2015302022,2015302022
+2015302023,2015302023
+2015302024,2015302024
+2015302025,2015302025
+2015302026,2015302026
+2015302027,2015302027
+2015302028,2015302028
+2015302029,2015302029
+2015302030,2015302030
+2015302031,2015302031
+2015302032,2015302032
+2015302033,2015302033
+2015302034,2015302034
+2015302035,2015302035
+2015302036,2015302036
+2015302037,2015302037
+2015302038,2015302038
+2015302039,2015302039
+2015302040,2015302040
+2015302041,2015302041
+2015302042,2015302042
+2015302043,2015302043
+2015302044,2015302044
+2015302045,2015302045
+2015302046,2015302046
+2015302047,2015302047
+2015302048,2015302048
+2015302049,2015302049
+2015302050,2015302050
+2015302051,2015302051
+2015302052,2015302052
+2015302053,2015302053
+2015302054,2015302054
+2015302055,2015302055
+2015302056,2015302056
+2015302057,2015302057
+2015302058,2015302058
+2015302059,2015302059
+2015302060,2015302060
+2015302061,2015302061
+2015302062,2015302062
+2015302063,2015302063
+2015302064,2015302064
+2015302065,2015302065
+2015302066,2015302066
+2015302067,2015302067
+2015302068,2015302068
+2015302069,2015302069
+2015302070,2015302070
+2015302071,2015302071
+2015302072,2015302072
+2015302073,2015302073
+2015302074,2015302074
+2015302075,2015302075
+2015302076,2015302076
+2015302077,2015302077
+2015302078,2015302078
+2015302079,2015302079
+2015302080,2015302080
+2015302081,2015302081
+2015302082,2015302082
+2015302083,2015302083
+2015302084,2015302084
+2015302085,2015302085
+2015302086,2015302086
+2015302087,2015302087
+2015302088,2015302088
+2015302089,2015302089
+2015302090,2015302090
+2015302091,2015302091
+2015302092,2015302092
+2015302093,2015302093
+2015302094,2015302094
+2015302095,2015302095
+2015302096,2015302096
+2015302097,2015302097
+2015302098,2015302098
+2015302099,2015302099
+2015302100,2015302100
+2015302101,2015302101
+2015302102,2015302102
+2015302103,2015302103
+2015302104,2015302104
+2015302105,2015302105
+2015302106,2015302106
+2015302107,2015302107
+2015302108,2015302108
+2015302109,2015302109
+2015302110,2015302110
+2015302111,2015302111
+2015302112,2015302112
+2015302113,2015302113
+2015302114,2015302114
+2015302115,2015302115
+2015302116,2015302116
+2015302117,2015302117
+2015302118,2015302118
+2015302119,2015302119
+2015302120,2015302120
+2015302121,2015302121
+2015302122,2015302122
+2015302123,2015302123
+2015302124,2015302124
+2015302125,2015302125
+2015302126,2015302126
+2015302127,2015302127
+2015302128,2015302128
+2015302129,2015302129
+2015302130,2015302130
+2015302131,2015302131
+2015302132,2015302132
+2015302133,2015302133
+2015302134,2015302134
+2015302135,2015302135
+2015302136,2015302136
+2015302137,2015302137
+2015302138,2015302138
+2015302139,2015302139
+2015302140,2015302140
+2015302141,2015302141
+2015302142,2015302142
+2015302143,2015302143
+2015302144,2015302144
+2015302145,2015302145
+2015302146,2015302146
+2015302147,2015302147
+2015302148,2015302148
+2015302149,2015302149
+2015302150,2015302150
+2015302151,2015302151
+2015302152,2015302152
+2015302153,2015302153
+2015302154,2015302154
+2015302155,2015302155
+2015302156,2015302156
+2015302157,2015302157
+2015302158,2015302158
+2015302159,2015302159
+2015302160,2015302160
+2015302161,2015302161
+2015302162,2015302162
+2015302163,2015302163
+2015302164,2015302164
+2015302165,2015302165
+2015302166,2015302166
+2015302167,2015302167
+2015302168,2015302168
+2015302169,2015302169
+2015302170,2015302170
+2015302171,2015302171
+2015302172,2015302172
+2015302173,2015302173
+2015302174,2015302174
+2015302175,2015302175
+2015302176,2015302176
+2015302177,2015302177
+2015302178,2015302178
+2015302179,2015302179
+2015302180,2015302180
+2015302181,2015302181
+2015302182,2015302182
+2015302183,2015302183
+2015302184,2015302184
+2015302185,2015302185
+2015302186,2015302186
+2015302187,2015302187
+2015302188,2015302188
+2015302189,2015302189
+2015302190,2015302190
+2015302191,2015302191
+2015302192,2015302192
+2015302193,2015302193
+2015302194,2015302194
+2015302195,2015302195
+2015302196,2015302196
+2015302197,2015302197
+2015302198,2015302198
+2015302199,2015302199
+2015302200,2015302200
+2015302201,2015302201
+2015302202,2015302202
+2015302203,2015302203
+2015302204,2015302204
+2015302205,2015302205
+2015302206,2015302206
+2015302207,2015302207
+2015302208,2015302208
+2015302209,2015302209
+2015302210,2015302210
+2015302211,2015302211
+2015302212,2015302212
+2015302213,2015302213
+2015302214,2015302214
+2015302215,2015302215
+2015302216,2015302216
+2015302217,2015302217
+2015302218,2015302218
+2015302219,2015302219
+2015302220,2015302220
+2015302221,2015302221
+2015302222,2015302222
+2015302223,2015302223
+2015302224,2015302224
+2015302225,2015302225
+2015302226,2015302226
+2015302227,2015302227
+2015302228,2015302228
+2015302229,2015302229
+2015302230,2015302230
+2015302231,2015302231
+2015302232,2015302232
+2015302233,2015302233
+2015302234,2015302234
+2015302235,2015302235
+2015302236,2015302236
+2015302237,2015302237
+2015302238,2015302238
+2015302239,2015302239
+2015302240,2015302240
+2015302241,2015302241
+2015302242,2015302242
+2015302243,2015302243
+2015302244,2015302244
+2015302245,2015302245
+2015302246,2015302246
+2015302247,2015302247
+2015302248,2015302248
+2015302249,2015302249
+2015302250,2015302250
+2015302251,2015302251
+2015302252,2015302252
+2015302253,2015302253
+2015302254,2015302254
+2015302255,2015302255
+2015302256,2015302256
+2015302257,2015302257
+2015302258,2015302258
+2015302259,2015302259
+2015302260,2015302260
+2015302261,2015302261
+2015302262,2015302262
+2015302263,2015302263
+2015302264,2015302264
+2015302265,2015302265
+2015302266,2015302266
+2015302267,2015302267
+2015302268,2015302268
+2015302269,2015302269
+2015302270,2015302270
+2015302271,2015302271
+2015302272,2015302272
+2015302273,2015302273
+2015302274,2015302274
+2015302275,2015302275
+2015302276,2015302276
+2015302277,2015302277
+2015302278,2015302278
+2015302279,2015302279
+2015302280,2015302280
+2015302281,2015302281
+2015302282,2015302282
+2015302283,2015302283
+2015302284,2015302284
+2015302285,2015302285
+2015302286,2015302286
+2015302287,2015302287
+2015302288,2015302288
+2015302289,2015302289
+2015302290,2015302290
+2015302291,2015302291
+2015302292,2015302292
+2015302293,2015302293
+2015302294,2015302294
+2015302295,2015302295
+2015302296,2015302296
+2015302297,2015302297
+2015302298,2015302298
+2015302299,2015302299
+2015302300,2015302300
+2015302301,2015302301
+2015302302,2015302302
+2015302303,2015302303
+2015302304,2015302304
+2015302305,2015302305
+2015302306,2015302306
+2015302307,2015302307
+2015302308,2015302308
+2015302309,2015302309
+2015302310,2015302310
+2015302311,2015302311
+2015302312,2015302312
+2015302313,2015302313
+2015302314,2015302314
+2015302315,2015302315
+2015302316,2015302316
+2015302317,2015302317
+2015302318,2015302318
+2015302319,2015302319
+2015302320,2015302320
+2015302321,2015302321
+2015302322,2015302322
+2015302323,2015302323
+2015302324,2015302324
+2015302325,2015302325
+2015302326,2015302326
+2015302327,2015302327
+2015302328,2015302328
+2015302329,2015302329
+2015302330,2015302330
+2015302331,2015302331
+2015302332,2015302332
+2015302333,2015302333
+2015302334,2015302334
+2015302335,2015302335
+2015302336,2015302336
+2015302337,2015302337
+2015302338,2015302338
+2015302339,2015302339
+2015302340,2015302340
+2015302341,2015302341
+2015302342,2015302342
+2015302343,2015302343
+2015302344,2015302344
+2015302345,2015302345
+2015302346,2015302346
+2015302347,2015302347
+2015302348,2015302348
+2015302349,2015302349
+2015302350,2015302350
+2015302351,2015302351
+2015302352,2015302352
+2015302353,2015302353
+2015302354,2015302354
+2015302355,2015302355
+2015302356,2015302356
+2015302357,2015302357
+2015302358,2015302358
+2015302359,2015302359
+2015302360,2015302360
+2015302361,2015302361
+2015302362,2015302362
+2015302363,2015302363
+2015302364,2015302364
+2015302365,2015302365
+2015302366,2015302366
+2015302367,2015302367
+2015302368,2015302368
+2015302369,2015302369
+2015302370,2015302370
+2015302371,2015302371
+2015302372,2015302372
+2015302373,2015302373
+2015302374,2015302374
+2015302375,2015302375
+2015302376,2015302376
+2015302377,2015302377
+2015302378,2015302378
+2015302379,2015302379
+2015302380,2015302380
+2015302381,2015302381
+2015302382,2015302382
+2015302383,2015302383
+2015302384,2015302384
+2015302385,2015302385
+2015302386,2015302386
+2015302387,2015302387
+2015302388,2015302388
+2015302389,2015302389
+2015302390,2015302390
+2015302391,2015302391
+2015302392,2015302392
+2015302393,2015302393
+2015302394,2015302394
+2015302395,2015302395
+2015302396,2015302396
+2015302397,2015302397
+2015302398,2015302398
+2015302399,2015302399
+2015302400,2015302400
+2015302401,2015302401
+2015302402,2015302402
+2015302403,2015302403
+2015302404,2015302404
+2015302405,2015302405
+2015302406,2015302406
+2015302407,2015302407
+2015302408,2015302408
+2015302409,2015302409
+2015302410,2015302410
+2015302411,2015302411
+2015302412,2015302412
+2015302413,2015302413
+2015302414,2015302414
+2015302415,2015302415
+2015302416,2015302416
+2015302417,2015302417
+2015302418,2015302418
+2015302419,2015302419
+2015302420,2015302420
+2015302421,2015302421
+2015302422,2015302422
+2015302423,2015302423
+2015302424,2015302424
+2015302425,2015302425
+2015302426,2015302426
+2015302427,2015302427
+2015302428,2015302428
+2015302429,2015302429
+2015302430,2015302430
+2015302431,2015302431
+2015302432,2015302432
+2015302433,2015302433
+2015302434,2015302434
+2015302435,2015302435
+2015302436,2015302436
+2015302437,2015302437
+2015302438,2015302438
+2015302439,2015302439
+2015302440,2015302440
+2015302441,2015302441
+2015302442,2015302442
+2015302443,2015302443
+2015302444,2015302444
+2015302445,2015302445
+2015302446,2015302446
+2015302447,2015302447
+2015302448,2015302448
+2015302449,2015302449
+2015302450,2015302450
+2015302451,2015302451
+2015302452,2015302452
+2015302453,2015302453
+2015302454,2015302454
+2015302455,2015302455
+2015302456,2015302456
+2015302457,2015302457
+2015302458,2015302458
+2015302459,2015302459
+2015302460,2015302460
+2015302461,2015302461
+2015302462,2015302462
+2015302463,2015302463
+2015302464,2015302464
+2015302465,2015302465
+2015302466,2015302466
+2015302467,2015302467
+2015302468,2015302468
+2015302469,2015302469
+2015302470,2015302470
+2015302471,2015302471
+2015302472,2015302472
+2015302473,2015302473
+2015302474,2015302474
+2015302475,2015302475
+2015302476,2015302476
+2015302477,2015302477
+2015302478,2015302478
+2015302479,2015302479
+2015302480,2015302480
+2015302481,2015302481
+2015302482,2015302482
+2015302483,2015302483
+2015302484,2015302484
+2015302485,2015302485
+2015302486,2015302486
+2015302487,2015302487
+2015302488,2015302488
+2015302489,2015302489
+2015302490,2015302490
+2015302491,2015302491
+2015302492,2015302492
+2015302493,2015302493
+2015302494,2015302494
+2015302495,2015302495
+2015302496,2015302496
+2015302497,2015302497
+2015302498,2015302498
+2015302499,2015302499
+2015302500,2015302500
+2015302501,2015302501
+2015302502,2015302502
+2015302503,2015302503
+2015302504,2015302504
+2015302505,2015302505
+2015302506,2015302506
+2015302507,2015302507
+2015302508,2015302508
+2015302509,2015302509
+2015302510,2015302510
+2015302511,2015302511
+2015302512,2015302512
+2015302513,2015302513
+2015302514,2015302514
+2015302515,2015302515
+2015302516,2015302516
+2015302517,2015302517
+2015302518,2015302518
+2015302519,2015302519
+2015302520,2015302520
+2015302521,2015302521
+2015302522,2015302522
+2015302523,2015302523
+2015302524,2015302524
+2015302525,2015302525
+2015302526,2015302526
+2015302527,2015302527
+2015302528,2015302528
+2015302529,2015302529
+2015302530,2015302530
+2015302531,2015302531
+2015302532,2015302532
+2015302533,2015302533
+2015302534,2015302534
+2015302535,2015302535
+2015302536,2015302536
+2015302537,2015302537
+2015302538,2015302538
+2015302539,2015302539
+2015302540,2015302540
+2015302541,2015302541
+2015302542,2015302542
+2015302543,2015302543
+2015302544,2015302544
+2015302545,2015302545
+2015302546,2015302546
+2015302547,2015302547
+2015302548,2015302548
+2015302549,2015302549
+2015302550,2015302550
+2015302551,2015302551
+2015302552,2015302552
+2015302553,2015302553
+2015302554,2015302554
+2015302555,2015302555
+2015302556,2015302556
+2015302557,2015302557
+2015302558,2015302558
+2015302559,2015302559
+2015302560,2015302560
+2015302561,2015302561
+2015302562,2015302562
+2015302563,2015302563
+2015302564,2015302564
+2015302565,2015302565
+2015302566,2015302566
+2015302567,2015302567
+2015302568,2015302568
+2015302569,2015302569
+2015302570,2015302570
+2015302571,2015302571
+2015302572,2015302572
+2015302573,2015302573
+2015302574,2015302574
+2015302575,2015302575
+2015302576,2015302576
+2015302577,2015302577
+2015302578,2015302578
+2015302579,2015302579
+2015302580,2015302580
+2015302581,2015302581
+2015302582,2015302582
+2015302583,2015302583
+2015302584,2015302584
+2015302585,2015302585
+2015302586,2015302586
+2015302587,2015302587
+2015302588,2015302588
+2015302589,2015302589
+2015302590,2015302590
+2015302591,2015302591
+2015302592,2015302592
+2015302593,2015302593
+2015302594,2015302594
+2015302595,2015302595
+2015302596,2015302596
+2015302597,2015302597
+2015302598,2015302598
+2015302599,2015302599
+2015302600,2015302600
+2015302601,2015302601
+2015302602,2015302602
+2015302603,2015302603
+2015302604,2015302604
+2015302605,2015302605
+2015302606,2015302606
+2015302607,2015302607
+2015302608,2015302608
+2015302609,2015302609
+2015302610,2015302610
+2015302611,2015302611
+2015302612,2015302612
+2015302613,2015302613
+2015302614,2015302614
+2015302615,2015302615
+2015302616,2015302616
+2015302617,2015302617
+2015302618,2015302618
+2015302619,2015302619
+2015302620,2015302620
+2015302621,2015302621
+2015302622,2015302622
+2015302623,2015302623
+2015302624,2015302624
+2015302625,2015302625
+2015302626,2015302626
+2015302627,2015302627
+2015302628,2015302628
+2015302629,2015302629
+2015302630,2015302630
+2015302631,2015302631
+2015302632,2015302632
+2015302633,2015302633
+2015302634,2015302634
+2015302635,2015302635
+2015302636,2015302636
+2015302637,2015302637
+2015302638,2015302638
+2015302639,2015302639
+2015302640,2015302640
+2015302641,2015302641
+2015302642,2015302642
+2015302643,2015302643
+2015302644,2015302644
+2015302645,2015302645
+2015302646,2015302646
+2015302647,2015302647
+2015302648,2015302648
+2015302649,2015302649
+2015302650,2015302650
+2015302651,2015302651
+2015302652,2015302652
+2015302653,2015302653
+2015302654,2015302654
+2015302655,2015302655
+2015302656,2015302656
+2015302657,2015302657
+2015302658,2015302658
+2015302659,2015302659
+2015302660,2015302660
+2015302661,2015302661
+2015302662,2015302662
+2015302663,2015302663
+2015302664,2015302664
+2015302665,2015302665
+2015302666,2015302666
+2015302667,2015302667
+2015302668,2015302668
+2015302669,2015302669
+2015302670,2015302670
+2015302671,2015302671
+2015302672,2015302672
+2015302673,2015302673
+2015302674,2015302674
+2015302675,2015302675
+2015302676,2015302676
+2015302677,2015302677
+2015302678,2015302678
+2015302679,2015302679
+2015302680,2015302680
+2015302681,2015302681
+2015302682,2015302682
+2015302683,2015302683
+2015302684,2015302684
+2015302685,2015302685
+2015302686,2015302686
+2015302687,2015302687
+2015302688,2015302688
+2015302689,2015302689
+2015302690,2015302690
+2015302691,2015302691
+2015302692,2015302692
+2015302693,2015302693
+2015302694,2015302694
+2015302695,2015302695
+2015302696,2015302696
+2015302697,2015302697
+2015302698,2015302698
+2015302699,2015302699
+2015302700,2015302700
+2015302701,2015302701
+2015302702,2015302702
+2015302703,2015302703
+2015302704,2015302704
+2015302705,2015302705
+2015302706,2015302706
+2015302707,2015302707
+2015302708,2015302708
+2015302709,2015302709
+2015302710,2015302710
+2015302711,2015302711
+2015302712,2015302712
+2015302713,2015302713
+2015302714,2015302714
+2015302715,2015302715
+2015302716,2015302716
+2015302717,2015302717
+2015302718,2015302718
+2015302719,2015302719
+2015302720,2015302720
+2015302721,2015302721
+2015302722,2015302722
+2015302723,2015302723
+2015302724,2015302724
+2015302725,2015302725
+2015302726,2015302726
+2015302727,2015302727
+2015302728,2015302728
+2015302729,2015302729
+2015302730,2015302730
+2015302731,2015302731
+2015302732,2015302732
+2015302733,2015302733
+2015302734,2015302734
+2015302735,2015302735
+2015302736,2015302736
+2015302737,2015302737
+2015302738,2015302738
+2015302739,2015302739
+2015302740,2015302740
+2015302741,2015302741
+2015302742,2015302742
+2015302743,2015302743
+2015302744,2015302744
+2015302745,2015302745
+2015302746,2015302746
+2015302747,2015302747
+2015302748,2015302748
+2015302749,2015302749
+2015302750,2015302750
+2015302751,2015302751
+2015302752,2015302752
+2015302753,2015302753
+2015302754,2015302754
+2015302755,2015302755
+2015302756,2015302756
+2015302757,2015302757
+2015302758,2015302758
+2015302759,2015302759
+2015302760,2015302760
+2015302761,2015302761
+2015302762,2015302762
+2015302763,2015302763
+2015302764,2015302764
+2015302765,2015302765
+2015302766,2015302766
+2015302767,2015302767
+2015302768,2015302768
+2015302769,2015302769
+2015302770,2015302770
+2015302771,2015302771
+2015302772,2015302772
+2015302773,2015302773
+2015302774,2015302774
+2015302775,2015302775
+2015302776,2015302776
+2015302777,2015302777
+2015302778,2015302778
+2015302779,2015302779
+2015302780,2015302780
+2015302781,2015302781
+2015302782,2015302782
+2015302783,2015302783
+2015302784,2015302784
+2015302785,2015302785
+2015302786,2015302786
+2015302787,2015302787
+2015302788,2015302788
+2015302789,2015302789
+2015302790,2015302790
+2015302791,2015302791
+2015302792,2015302792
+2015302793,2015302793
+2015302794,2015302794
+2015302795,2015302795
+2015302796,2015302796
+2015302797,2015302797
+2015302798,2015302798
+2015302799,2015302799
+2015302800,2015302800
+2015302801,2015302801
+2015302802,2015302802
+2015302803,2015302803
+2015302804,2015302804
+2015302805,2015302805
+2015302806,2015302806
+2015302807,2015302807
+2015302808,2015302808
+2015302809,2015302809
+2015302810,2015302810
+2015302811,2015302811
+2015302812,2015302812
+2015302813,2015302813
+2015302814,2015302814
+2015302815,2015302815
+2015302816,2015302816
+2015302817,2015302817
+2015302818,2015302818
+2015302819,2015302819
+2015302820,2015302820
+2015302821,2015302821
+2015302822,2015302822
+2015302823,2015302823
+2015302824,2015302824
+2015302825,2015302825
+2015302826,2015302826
+2015302827,2015302827
+2015302828,2015302828
+2015302829,2015302829
+2015302830,2015302830
+2015302831,2015302831
+2015302832,2015302832
+2015302833,2015302833
+2015302834,2015302834
+2015302835,2015302835
+2015302836,2015302836
+2015302837,2015302837
+2015302838,2015302838
+2015302839,2015302839
+2015302840,2015302840
+2015302841,2015302841
+2015302842,2015302842
+2015302843,2015302843
+2015302844,2015302844
+2015302845,2015302845
+2015302846,2015302846
+2015302847,2015302847
+2015302848,2015302848
+2015302849,2015302849
+2015302850,2015302850
+2015302851,2015302851
+2015302852,2015302852
+2015302853,2015302853
+2015302854,2015302854
+2015302855,2015302855
+2015302856,2015302856
+2015302857,2015302857
+2015302858,2015302858
+2015302859,2015302859
+2015302860,2015302860
+2015302861,2015302861
+2015302862,2015302862
+2015302863,2015302863
+2015302864,2015302864
+2015302865,2015302865
+2015302866,2015302866
+2015302867,2015302867
+2015302868,2015302868
+2015302869,2015302869
+2015302870,2015302870
+2015302871,2015302871
+2015302872,2015302872
+2015302873,2015302873
+2015302874,2015302874
+2015302875,2015302875
+2015302876,2015302876
+2015302877,2015302877
+2015302878,2015302878
+2015302879,2015302879
+2015302880,2015302880
+2015302881,2015302881
+2015302882,2015302882
+2015302883,2015302883
+2015302884,2015302884
+2015302885,2015302885
+2015302886,2015302886
+2015302887,2015302887
+2015302888,2015302888
+2015302889,2015302889
+2015302890,2015302890
+2015302891,2015302891
+2015302892,2015302892
+2015302893,2015302893
+2015302894,2015302894
+2015302895,2015302895
+2015302896,2015302896
+2015302897,2015302897
+2015302898,2015302898
+2015302899,2015302899
+2015302900,2015302900
+2015302901,2015302901
+2015302902,2015302902
+2015302903,2015302903
+2015302904,2015302904
+2015302905,2015302905
+2015302906,2015302906
+2015302907,2015302907
+2015302908,2015302908
+2015302909,2015302909
+2015302910,2015302910
+2015302911,2015302911
+2015302912,2015302912
+2015302913,2015302913
+2015302914,2015302914
+2015302915,2015302915f
+2015302916,2015302916
+2015302917,2015302917
+2015302918,2015302918
+2015302919,2015302919
+2015302920,2015302920
+2015302921,2015302921
+2015302922,2015302922
+2015302923,2015302923
+2015302924,2015302924
+2015302925,2015302925
+2015302926,2015302926
+2015302927,2015302927
+2015302928,2015302928
+2015302929,2015302929
+2015302930,2015302930
+2015302931,2015302931
+2015302932,2015302932
+2015302933,2015302933
+2015302934,2015302934
+2015302935,2015302935
+2015302936,2015302936
+2015302937,2015302937
+2015302938,2015302938
+2015302939,2015302939
+2015302940,2015302940
+2015302941,2015302941
+2015302942,2015302942
+2015302943,2015302943
+2015302944,2015302944
+2015302945,2015302945
+2015302946,2015302946
+2015302947,2015302947
+2015302948,2015302948
+2015302949,2015302949
+2015302950,2015302950
+2015302951,2015302951
+2015302952,2015302952
+2015302953,2015302953
+2015302954,2015302954
+2015302955,2015302955
+2015302956,2015302956
+2015302957,2015302957
+2015302958,2015302958
+2015302959,2015302959
+2015302960,2015302960
+2015302961,2015302961
+2015302962,2015302962
+2015302963,2015302963
+2015302964,2015302964
+2015302965,2015302965
+2015302966,2015302966
+2015302967,2015302967
+2015302968,2015302968
+2015302969,2015302969
+2015302970,2015302970
+2015302971,2015302971
+2015302972,2015302972
+2015302973,2015302973
+2015302974,2015302974
+2015302975,2015302975
+2015302976,2015302976
+2015302977,2015302977
+2015302978,2015302978
+2015302979,2015302979
+2015302980,2015302980
+2015302981,2015302981
+2015302982,2015302982
+2015302983,2015302983
+2015302984,2015302984
+2015302985,2015302985
+2015302986,2015302986
+2015302987,2015302987
+2015302988,2015302988
+2015302989,2015302989
+2015302990,2015302990
+2015302991,2015302991
+2015302992,2015302992
+2015302993,2015302993
+2015302994,2015302994
+2015302995,2015302995
+2015302996,2015302996
+2015302997,2015302997
+2015302998,2015302998
+2015302999,2015302999
+2015303000,2015303000
+2015303001,2015303001
+2015303002,2015303002
+2015303003,2015303003
+2015303004,2015303004
+2015303005,2015303005
+2015303006,2015303006
+2015303007,2015303007
+2015303008,2015303008
+2015303009,2015303009
+2015303010,2015303010
+2015303011,2015303011
+2015303012,2015303012
+2015303013,2015303013
+2015303014,2015303014
+2015303015,2015303015
+2015303016,2015303016
+2015303017,2015303017
+2015303018,2015303018
+2015303019,2015303019
+2015303020,2015303020
+2015303021,2015303021
+2015303022,2015303022
+2015303023,2015303023
+2015303024,2015303024
+2015303025,2015303025
+2015303026,2015303026
+2015303027,2015303027
+2015303028,2015303028
+2015303029,2015303029
+2015303030,2015303030
+2015303031,2015303031
+2015303032,2015303032
+2015303033,2015303033
+2015303034,2015303034
+2015303035,2015303035
+2015303036,2015303036
+2015303037,2015303037
+2015303038,2015303038
+2015303039,2015303039
+2015303040,2015303040
+2015303041,2015303041
+2015303042,2015303042
+2015303043,2015303043
+2015303044,2015303044
+2015303045,2015303045
+2015303046,2015303046
+2015303047,2015303047
+2015303048,2015303048
+2015303049,2015303049
+2015303050,2015303050
+2015303051,2015303051
+2015303052,2015303052
+2015303053,2015303053
+2015303054,2015303054
+2015303055,2015303055
+2015303056,2015303056
+2015303057,2015303057
+2015303058,2015303058
+2015303059,2015303059
+2015303060,2015303060
+2015303061,2015303061
+2015303062,2015303062
+2015303063,2015303063
+2015303064,2015303064
+2015303065,2015303065
+2015303066,2015303066
+2015303067,2015303067
+2015303068,2015303068
+2015303069,2015303069
+2015303070,2015303070
+2015303071,2015303071
+2015303072,2015303072
+2015303073,2015303073
+2015303074,2015303074
+2015303075,2015303075
+2015303076,2015303076
+2015303077,2015303077
+2015303078,2015303078
+2015303079,2015303079
+2015303080,2015303080
+2015303081,2015303081
+2015303082,2015303082
+2015303083,2015303083
+2015303084,2015303084
+2015303085,2015303085
+2015303086,2015303086
+2015303087,2015303087
+2015303088,2015303088
+2015303089,2015303089
+2015303090,2015303090
+2015303091,2015303091
+2015303092,2015303092
+2015303093,2015303093
+2015303094,2015303094
+2015303095,2015303095
+2015303096,2015303096
+2015303097,2015303097
+2015303098,2015303098
+2015303099,2015303099
+2015303100,2015303100
+2015303101,2015303101
+2015303102,2015303102
+2015303103,2015303103
+2015303104,2015303104
+2015303105,2015303105
+2015303106,2015303106
+2015303107,2015303107
+2015303108,2015303108
+2015303109,2015303109
+2015303110,2015303110
+2015303111,2015303111
+2015303112,2015303112
+2015303113,2015303113
+2015303114,2015303114
+2015303115,2015303115
+2015303116,2015303116
+2015303117,2015303117
+2015303118,2015303118
+2015303119,2015303119
+2015303120,2015303120
+2015303121,2015303121
+2015303122,2015303122
+2015303123,2015303123
+2015303124,2015303124
+2015303125,2015303125
+2015303126,2015303126
+2015303127,2015303127
+2015303128,2015303128
+2015303129,2015303129
+2015303130,2015303130
+2015303131,2015303131
+2015303132,2015303132
+2015303133,2015303133
+2015303134,2015303134
+2015303135,2015303135
+2015303136,2015303136
+2015303137,2015303137
+2015303138,2015303138
+2015303139,2015303139
+2015303140,2015303140
+2015303141,2015303141
+2015303142,2015303142
+2015303143,2015303143
+2015303144,2015303144
+2015303145,2015303145
+2015303146,2015303146
+2015303147,2015303147
+2015303148,2015303148
+2015303149,2015303149
+2015303150,2015303150
+2015303151,2015303151
+2015303152,2015303152
+2015303153,2015303153
+2015303154,2015303154
+2015303155,2015303155
+2015303156,2015303156
+2015303157,2015303157
+2015303158,2015303158
+2015303159,2015303159
+2015303160,2015303160
+2015303161,2015303161
+2015303162,2015303162
+2015303163,2015303163
+2015303164,2015303164
+2015303165,2015303165
+2015303166,2015303166
+2015303167,2015303167
+2015303168,2015303168
+2015303169,2015303169
+2015303170,2015303170
+2015303171,2015303171
+2015303172,2015303172
+2015303173,2015303173
+2015303174,2015303174
+2015303175,2015303175
+2015303176,2015303176
+2015303177,2015303177
+2015303178,2015303178
+2015303179,2015303179
+2015303180,2015303180
+2015303181,2015303181
+2015303182,2015303182
+2015303183,2015303183
+2015303184,2015303184
+2015303185,2015303185
+2015303186,2015303186
+2015303187,2015303187
+2015303188,2015303188
+2015303189,2015303189
+2015303190,2015303190
+2015303191,2015303191
+2015303192,2015303192
+2015303193,2015303193
+2015303194,2015303194
+2015303195,2015303195
+2015303196,2015303196
+2015303197,2015303197
+2015303198,2015303198
+2015303199,2015303199
+2015303200,2015303200
+2015303201,2015303201
+2015303202,2015303202
+2015303203,2015303203
+2015303204,2015303204
+2015303205,2015303205
+2015303206,2015303206
+2015303207,2015303207
+2015303208,2015303208
+2015303209,2015303209
+2015303210,2015303210
+2015303211,2015303211
+2015303212,2015303212
+2015303213,2015303213
+2015303214,2015303214
+2015303215,2015303215
+2015303216,2015303216
+2015303217,2015303217
+2015303218,2015303218
+2015303219,2015303219
+2015303220,2015303220
+2015303221,2015303221
+2015303222,2015303222
+2015303223,2015303223
+2015303224,2015303224
+2015303225,2015303225
+2015303226,2015303226
+2015303227,2015303227
+2015303228,2015303228
+2015303229,2015303229
+2015303230,2015303230
+2015303231,2015303231
+2015303232,2015303232
+2015303233,2015303233
+2015303234,2015303234
+2015303235,2015303235
+2015303236,2015303236
+2015303237,2015303237
+2015303238,2015303238
+2015303239,2015303239
+2015303240,2015303240
+2015303241,2015303241
+2015303242,2015303242
+2015303243,2015303243
+2015303244,2015303244
+2015303245,2015303245
+2015303246,2015303246
+2015303247,2015303247
+2015303248,2015303248
+2015303249,2015303249
+2015303250,2015303250
+2015303251,2015303251
+2015303252,2015303252
+2015303253,2015303253
+2015303254,2015303254
+2015303255,2015303255
+2015303256,2015303256
+2015303257,2015303257
+2015303258,2015303258
+2015303259,2015303259
+2015303260,2015303260
+2015303261,2015303261
+2015303262,2015303262
+2015303263,2015303263
+2015303264,2015303264
+2015303265,2015303265
+2015303266,2015303266
+2015303267,2015303267
+2015303268,2015303268
+2015303269,2015303269
+2015303270,2015303270
+2015303271,2015303271
+2015303272,2015303272
+2015303273,2015303273
+2015303274,2015303274
+2015303275,2015303275
+2015303276,2015303276
+2015303277,2015303277
+2015303278,2015303278
+2015303279,2015303279
+2015303280,2015303280
+2015303281,2015303281
+2015303282,2015303282
+2015303283,2015303283
+2015303284,2015303284
+2015303285,2015303285
+2015303286,2015303286
+2015303287,2015303287
+2015303288,2015303288
+2015303289,2015303289
+2015303290,2015303290
+2015303291,2015303291
+2015303292,2015303292
+2015303293,2015303293
+2015303294,2015303294
+2015303295,2015303295
+2015303296,2015303296
+2015303297,2015303297
+2015303298,2015303298
+2015303299,2015303299
+2015303300,2015303300
+2015303301,2015303301
+2015303302,2015303302
+2015303303,2015303303
+2015303304,2015303304
+2015303305,2015303305
+2015303306,2015303306
+2015303307,2015303307
+2015303308,2015303308
+2015303309,2015303309
+2015303310,2015303310
+2015303311,2015303311
+2015303312,2015303312
+2015303313,2015303313
+2015303314,2015303314
+2015303315,2015303315
+2015303316,2015303316
+2015303317,2015303317
+2015303318,2015303318
+2015303319,2015303319
+2015303320,2015303320
+2015303321,2015303321
+2015303322,2015303322
+2015303323,2015303323
+2015303324,2015303324
+2015303325,2015303325
+2015303326,2015303326
+2015303327,2015303327
+2015303328,2015303328
+2015303329,2015303329
+2015303330,2015303330
+2015303331,2015303331
+2015303332,2015303332
+2015303333,2015303333
+2015303334,2015303334
+2015303335,2015303335
+2015303336,2015303336
+2015303337,2015303337
+2015303338,2015303338
+2015303339,2015303339
+2015303340,2015303340
+2015303341,2015303341
+2015303342,2015303342
+2015303343,2015303343
+2015303344,2015303344
+2015303345,2015303345
+2015303346,2015303346
+2015303347,2015303347
+2015303348,2015303348
+2015303349,2015303349
+2015303350,2015303350
+2015303351,2015303351
+2015303352,2015303352
+2015303353,2015303353
+2015303354,2015303354
+2015303355,2015303355
+2015303356,2015303356
+2015303357,2015303357
+2015303358,2015303358
+2015303359,2015303359
+2015303360,2015303360
+2015303361,2015303361
+2015303362,2015303362
+2015303363,2015303363
+2015303364,2015303364
+2015303365,2015303365
+2015303366,2015303366
+2015303367,2015303367
+2015303368,2015303368
+2015303369,2015303369
+2015303370,2015303370
+2015303371,2015303371
+2015303372,2015303372
+2015303373,2015303373
+2015303374,2015303374
+2015303375,2015303375
+2015303376,2015303376
+2015303377,2015303377
+2015303378,2015303378
+2015303379,2015303379
+2015303380,2015303380
+2015303381,2015303381
+2015303382,2015303382
+2015303383,2015303383
+2015303384,2015303384
+2015303385,2015303385
+2015303386,2015303386
+2015303387,2015303387
+2015303388,2015303388
+2015303389,2015303389
+2015303390,2015303390
+2015303391,2015303391
+2015303392,2015303392
+2015303393,2015303393
+2015303394,2015303394
+2015303395,2015303395
+2015303396,2015303396
+2015303397,2015303397
+2015303398,2015303398
+2015303399,2015303399
+2015303400,2015303400
+2015303401,2015303401
+2015303402,2015303402
+2015303403,2015303403
+2015303404,2015303404
+2015303405,2015303405
+2015303406,2015303406
+2015303407,2015303407
+2015303408,2015303408
+2015303409,2015303409
+2015303410,2015303410
+2015303411,2015303411
+2015303412,2015303412
+2015303413,2015303413
+2015303414,2015303414
+2015303415,2015303415
+2015303416,2015303416
+2015303417,2015303417
+2015303418,2015303418f
+2015303419,2015303419
+2015303420,2015303420
+2015303421,2015303421
+2015303422,2015303422
+2015303423,2015303423
+2015303424,2015303424
+2015303425,2015303425
+2015303426,2015303426
+2015303427,2015303427
+2015303428,2015303428
+2015303429,2015303429
+2015303430,2015303430
+2015303431,2015303431
+2015303432,2015303432
+2015303433,2015303433
+2015303434,2015303434
+2015303435,2015303435
+2015303436,2015303436
+2015303437,2015303437
+2015303438,2015303438
+2015303439,2015303439
+2015303440,2015303440
+2015303441,2015303441
+2015303442,2015303442
+2015303443,2015303443
+2015303444,2015303444
+2015303445,2015303445
+2015303446,2015303446
+2015303447,2015303447
+2015303448,2015303448
+2015303449,2015303449
+2015303450,2015303450
+2015303451,2015303451
+2015303452,2015303452
+2015303453,2015303453
+2015303454,2015303454
+2015303455,2015303455
+2015303456,2015303456
+2015303457,2015303457
+2015303458,2015303458
+2015303459,2015303459
+2015303460,2015303460
+2015303461,2015303461
+2015303462,2015303462
+2015303463,2015303463
+2015303464,2015303464
+2015303465,2015303465
+2015303466,2015303466
+2015303467,2015303467
+2015303468,2015303468
+2015303469,2015303469
+2015303470,2015303470
+2015303471,2015303471
+2015303472,2015303472
+2015303473,2015303473
+2015303474,2015303474
+2015303475,2015303475
+2015303476,2015303476
+2015303477,2015303477
+2015303478,2015303478
+2015303479,2015303479
+2015303480,2015303480
+2015303481,2015303481
+2015303482,2015303482
+2015303483,2015303483
+2015303484,2015303484
+2015303485,2015303485
+2015303486,2015303486
+2015303487,2015303487
+2015303488,2015303488
+2015303489,2015303489
+2015303490,2015303490
+2015310001,2015310001
+2015310002,2015310002
+2015310003,2015310003
+2015310004,2015310004
+2015310005,2015310005
+2015310006,2015310006
+2015310007,2015310007
+2015310008,2015310008
+2015310009,2015310009
+2015319001,2015319001
+2015319002,2015319002
+2015319003,2015319003
+2015319004,2015319004
+2015319005,2015319005
+2015319006,2015319006
+2015319007,2015319007
+2015319008,2015319008
+2015319009,2015319009
+2015319010,2015319010
+2015319011,2015319011
+2015319012,2015319012
+2015410001,2015410001
+2015410002,2015410002
+2015410003,2015410003
+2015410004,2015410004
+2015410005,2015410005
+2015410006,2015410006
+2015410007,2015410007
+2015410008,2015410008
+2015410009,2015410009
+2015410010,2015410010
+2015410011,2015410011
+2015410012,2015410012
+2015410013,2015410013
+2015410014,2015410014
+2015410015,2015410015
+2015410016,2015410016
+2015410017,2015410017
+2015410018,2015410018
+2015410019,2015410019
+2015410020,2015410020
+2015410021,2015410021
+2015410022,2015410022
+2015410023,2015410023
+2015410024,2015410024
+2015410025,2015410025
+2015410026,2015410026
+2015410027,2015410027
+2015420001,2015420001
+2015420002,2015420002
+2015420003,2015420003
+2015420004,2015420004
+2015420005,2015420005
+2015420006,2015420006
+2015420007,2015420007
+2015420008,2015420008
+2015420009,2015420009
+2015420010,2015420010
+2015420011,2015420011
+2015420012,2015420012
+2015420013,2015420013
+2015420014,2015420014
+2015420015,2015420015
+2015420016,2015420016
+2015420017,2015420017
+2015420018,2015420018
+2015420019,2015420019
+2015420020,2015420020
+2015420021,2015420021
+2015420022,2015420022
+2015420023,2015420023
+2015420024,2015420024
+2015420025,2015420025
+2015420026,2015420026
+2015420027,2015420027
+2015420028,2015420028
+2015420029,2015420029
+2015420030,2015420030
+2015420031,2015420031
+2015420032,2015420032
+2015420033,2015420033
+2015420034,2015420034
+2015420035,2015420035
+2015420036,2015420036
+2015420037,2015420037
+2015420038,2015420038
+2015420039,2015420039
+2015420040,2015420040
+2015420041,2015420041
+2015420042,2015420042
+2015420043,2015420043
+2015420044,2015420044
+2015420045,2015420045
+2015420046,2015420046
+2015420047,2015420047
+2015420048,2015420048
+2015420049,2015420049
+2015420050,2015420050
+2015420051,2015420051
+2015420052,2015420052
+2015420053,2015420053
+2015420054,2015420054
+2015420055,2015420055
+2015420056,2015420056
+2015420057,2015420057
+2015420058,2015420058
+2015420059,2015420059
+2015420060,2015420060
+2015420061,2015420061
+2015420062,2015420062
+2015420063,2015420063
+2015430001,2015430001
+2015430002,2015430002
+2015430003,2015430003
+2015430004,2015430004
+2015430005,2015430005
+2015430006,2015430006
+2015430009,2015430009
+2015430101,2015430101
+2015430110,2015430110
+2015430111,2015430111
+2015430112,2015430112
+2015430113,2015430113
+2015430114,2015430114
+2015430115,2015430115
+2015430116,2015430116
+2015430117,2015430117
+2015430120,2015430120
+2015430121,2015430121
+2015430122,2015430122
+2015430123,2015430123
+2015430125,2015430001
+2015430201,2015430201
+2015430202,2015430202
+2015430203,2015430203
+2015430205,2015430205
+2015430206,2015430206
+2015430501,2015430501
+2015430510,2015430510
+2015430511,2015430511
+2015430512,2015430512
+2015430513,2015430513
+2015430514,2015430514
+2015430515,2015430515
+2015430516,2015430516
+2015430517,2015430517
+2015430518,2015430518
+2015430519,2015430519
+2015430520,2015430117
+2015430521,2015430521
+2015430522,2015430522
+2015430523,2015430523
+2015430524,2015430524
+2015430525,2015430525
+2015430526,2015430526
+2015430527,2015430527
+2015430528,2015430528
+2015430529,2015430529
+2015430531,2015430531
+2015430601,2015430601
+2015430602,2015430602
+2015430603,2015430603
+2015430604,2015430604
+2015430605,2015430605
+2015430606,2015430606
+2015430620,2015430620
+2015430621,2015430621
+2015430623,2015430623
+2015430625,2015430625
+2015430627,2015430625
+2015430631,2015430631
+2015430801,2015430801
+2015430803,2015430803
+2015430804,2015430804
+2015430805,2015430805
+2015430806,2015430806
+2015430901,2015430901
+2015430902,2015430902
+2015430904,2015430904
+2015430905,2015430905
+2015430906,2015430906
+2015430907,2015430907
+2015430908,2015430908
+2015430909,2015430909
+2015431001,2015431001
+2015431002,2015431002
+2015431003,2015431003
+2015431004,2015431004
+2015431005,2015431005
+2015431006,2015431006
+2015431201,2015431201
+20160001,20160001
+20160002,20160002
+20160004,20160004
+20160005,20160005
+2016010001,2016010001
+2016010002,2016010002
+2016010003,2016010003
+2016010005,2016010005
+2016010006,046040260
+2016010007,2016010007
+2016010008,2016010008
+2016010010,2015060149
+2016010012,042091
+2016010013,2016010013
+2016010014,040665
+2016010015,2007200218
+2016010016,040048
+2016010017,2016010017
+2016010018,2016010018
+2016010020,2016010020
+2016010021,2016010021
+2016010022,060153
+2016010023,040525
+2016010024,2016010024
+2016010025,2016010025
+2016010026,050251
+2016010027,053255
+2016010028,2016010028
+2016010029,040142
+2016010030,2007201405
+2016010031,2016010031
+2016010032,2016010032
+2016010033,2016010033
+2016010034,2016010034
+2016010035,040115
+2016010036,2016010036
+2016010037,2016010037
+2016010038,2016010038
+2016010039,2016010039
+2016010040,2016010040
+2016010041,2016010041
+2016010042,2016010042
+2016010043,2016010043
+2016010044,2016010044
+2016010045,2016010045
+2016010046,2008300933
+2016010047,2008302205
+2016010048,2008303459
+2016010049,2007302196
+2016010050,2007302653
+2016010051,2009302804
+2016010052,2008302833
+2016010053,2009300747
+2016010054,2009301924
+2016010055,2009301037
+2016010056,2009300363
+2016010057,2009301538
+2016010058,2009302538
+2016010059,2016010059
+2016010060,2009303310
+2016010061,2009301764
+2016010062,2009302507
+2016010063,2009301780
+2016010064,046096557
+2016010065,2009302284
+2016010066,2016010066
+2016010067,2009303061
+2016010068,2009303196
+2016010069,2009302997
+2016010070,2015060157
+2016010071,2016010071
+2016010072,2013200409
+2016010073,2013260712
+2016010074,2016010074
+2016010076,2016010076
+2016010078,2008301828
+2016010079,2016010079
+2016010080,2016010080
+2016010082,2016010082
+2016010083,2010303158
+2016010084,2016010084
+2016010085,2016010085
+2016010086,2016010086
+2016010087,2016010087
+2016010088,2007201316
+2016010089,2009201073
+2016010090,2016010090
+2016010091,2016010091
+2016010092,2016010092
+2016010093,2016010093
+2016010094,2016010094
+2016010097,2016010097
+2016010098,2016010098
+2016010099,2016010099
+2016010100,2016010100
+2016010101,2016010101
+2016010102,2016010102
+2016010103,2016010103
+2016010104,2016010104
+2016010105,2016010105
+2016010106,2016010106
+2016010107,2016010107
+2016010108,053550
+2016010110,2016010110
+2016010111,2016010111
+2016010112,2016010112
+2016010113,2016010113
+2016010114,2016010114
+2016010115,2016010115
+2016010116,2009202123
+2016010117,2009301154
+2016010118,2016010118
+2016010119,2016010119
+2016010120,2016010120
+2016010121,2016010121
+2016010122,2015060032
+2016010123,2016010123
+2016010124,2016010124
+2016010125,2016010125
+2016010126,2016010126
+2016010127,2016010127
+2016010128,2016010128
+2016010129,2016010129
+2016010130,2016010130
+2016010131,2016010131
+2016010133,2016010133
+2016010134,2016010134
+2016010135,2016010135
+2016010136,2016010136
+2016010137,2016010137
+2016010138,2016010138
+2016010139,2016010139
+2016010140,2016010140
+2016010141,2016010141
+2016010142,2016010142
+2016010143,2016010143
+2016010144,060016
+2016010145,060006
+2016010146,05614G002
+2016010147,2016010147
+2016010148,2016010148
+2016010149,2016010149
+2016010150,2016010150
+2016010151,2016010151
+2016010152,2016010152
+2016010153,2016010153
+2016010155,2016010155
+2016010157,2016010157
+2016010158,2016010158
+2016010159,2010201755
+2016010160,2009303278
+2016010161,2008303249
+2016010163,2016010163
+2016010164,040823
+2016010168,2016010168
+2016010169,2016010169
+2016010170,2016010170
+2016010171,20140P0280
+2016010172,2016010172
+2016010173,2016010173
+2016010174,2016010174
+2016010176,2016010176
+2016010177,2016010177
+2016010179,2007200104
+2016010180,2016010180
+2016010181,2007200555
+2016010182,2016010182
+2016010183,2016010183
+2016010184,2016010184
+2016010185,2016010185
+2016010186,066187049
+2016010187,051389
+2016010189,2016010189
+2016010190,2016010190
+2016010191,2016010191
+2016010192,2016010192
+2016010193,2016010193
+2016010194,2016010194
+2016010196,056056330
+2016010197,2016010197
+2016010198,040672
+2016010199,2016010199
+2016010200,2016010200
+2016010201,2007100026
+2016010202,2016010202
+2016010203,060677
+2016010204,2016010204
+2016010205,2016010205
+2016010206,2016010206
+2016010208,2016010208
+2016010210,2016010210
+2016010211,2016010211
+2016010213,2016010213
+2016010215,2007300853
+2016010217,2016010217
+2016010218,2016010218
+2016010219,053809
+2016010220,040105
+2016010221,2007200579
+2016010222,2007301138
+2016010223,2016010223
+2016010224,2016010224
+2016010225,062939
+2016010226,2009201378
+2016010227,2016010227
+2016010228,062240
+2016010229,2016010229
+2016010230,2016010230
+2016010231,2016010231
+2016010232,2016010232
+2016010233,2016010233
+2016010234,2016010234
+2016010235,2007302233
+2016010236,2016010236
+2016010238,2016010238
+2016010239,2015070054
+2016010240,2016010240
+2016030004,2016030004
+2016030009,2016030009
+2016030077,2016030077
+2016030095,046100669
+2016030096,2016030096
+2016030154,2016030154
+2016030166,2016030166
+2016030167,2016030167
+2016030175,2016030175
+2016030188,2016030188
+2016030207,2016030207
+2016030209,2008200350
+2016030214,060928
+2016060011,2016060011
+2016060019,2016060019
+2016060075,2016060075
+2016060081,2016060081
+2016060109,2016060109
+2016060132,2016060132
+2016060156,2016060156
+2016060162,2016060162
+2016060165,2016060165
+2016060178,2016060178
+2016060195,2016060195
+2016060212,2016060212
+2016060216,2016060216
+2016060237,2016060237
+2016060241,2016060241
+2016070001,2016070001
+2016070002,2016070002
+2016070003,2016070003
+2016070004,2016070004
+2016070005,2016070005
+2016070006,2016070006
+2016070007,2016070007
+2016070008,2016070008
+2016070009,2016070009
+2016070010,2013200617
+2016070011,2016070011
+2016070012,2016070012
+2016070013,2016070013
+2016070014,2011303158
+2016070015,2016070015
+2016070016,2016070016
+2016070017,2016070017
+2016070018,2016070018
+2016070019,2016070019
+2016070020,2016070020
+2016070021,2016070021
+2016070022,2012100407
+2016070023,2016070023
+2016070024,2016070024
+2016070025,2016070025
+2016070026,2016070026
+2016070027,2016070027
+2016070028,2016070028
+2016070029,2016070029
+2016070030,2016070030
+2016070031,2016070031
+2016070032,2016070032
+2016070033,2016070033
+2016070035,2016070035
+2016070036,2016070036
+2016070037,2016070037
+2016070038,2016070038
+2016070039,2016070039
+2016070040,2016070040
+2016070041,2016070041
+2016070042,2009303222
+2016070043,2016070043
+2016070044,2016070044
+2016070045,2016070045
+2016070046,2016070046
+2016070047,2016070047
+2016070048,2016070048
+2016070049,2016070049
+2016070050,2016070050
+2016070051,2016070051
+2016070052,2016070052
+2016070053,2011303086
+2016070054,2016070054
+2016070055,2016070055
+2016070056,2016070056
+2016070057,2016070057
+2016070058,2016070058
+2016070059,2016070059
+2016070060,2016070060
+2016070061,2016070061
+2016070062,2016070062
+2016070063,2016070063
+2016070064,2016070064
+2016070065,2016070065
+2016070066,2016070066
+2016070067,2016070067
+2016070069,2016070069
+2016070070,2016070070
+2016070071,2016070071
+2016070072,2016070072
+2016070073,2016070073
+2016070075,2016070075
+2016070076,2016070076
+2016070077,2016070077
+2016070078,2016070078
+2016070079,2016070079
+2016070080,2016070080
+2016070081,2016070081
+2016070082,2016070082
+2016070083,2016070083
+2016070084,2016070084
+2016070085,2016070085
+2016070086,2016070086
+2016070087,2016070087
+2016070088,2016070088
+2016070089,2008302978
+2016070090,2016070090
+2016070091,2016070091
+2016070092,2013262218
+2016070093,2016070093
+2016070094,2016070094
+2016070095,2016070095
+2016070096,2016070096
+2016070098,2016070098
+2016070099,2016070099
+2016070100,2016070100
+2016070102,2016070102
+2016070103,2016070103
+2016070104,2016070104
+2016070105,2016070105
+2016070106,2016070106
+2016070107,2016070107
+2016070108,2012301039
+2016070109,2012302153
+2016070110,2016070110
+2016070112,2016070112
+2016070113,2016070113
+2016070114,2016070114
+2016070115,2016070115
+2016070116,2012303255
+2016070117,2016070117
+2016070118,2016070118
+2016070119,2016070119
+2016070120,2016070120
+2016070121,2016070121
+2016070122,2016070122
+2016070123,2016070123
+2016070124,2016070124
+2016070125,2016070125
+2016070126,2010300940
+2016070128,2016070128
+2016070129,2016070129
+2016070130,2016070130
+2016070131,2016070131
+2016070132,2016070132
+2016070135,2016070135
+2016070136,2016070136
+2016070138,2016070138
+2016070139,2016070139
+2016070140,2016070140
+2016070141,2016070141
+2016070143,2016070143
+2016070144,2016070144
+2016070145,2012201964
+2016070146,2016070146
+2016070148,2016070148
+2016070149,2016070149
+2016070150,2016070150
+2016070151,2012070088
+2016070152,2016070152
+2016070153,2016070153
+2016070154,2016070154
+2016070155,2016070155
+2016070156,2016070156
+2016070157,2016070157
+2016070158,2016070158
+2016070159,2016070159
+2016070160,2016070160
+2016070161,2016070161
+2016070162,2016070162
+2016070163,2016070163
+2016070164,2016070164
+2016070165,2016070165
+2016070166,2016070166
+2016070167,2016070167
+2016070168,2016070168
+2016070169,2016070169
+2016070170,2016070170
+2016070171,2016070171
+2016070172,2016070172
+2016070173,2016070173
+2016070174,2016070174
+2016070175,2016070175
+2016070176,2016070176
+2016070177,2016070177
+2016070178,2016070178
+2016070179,2016070179
+2016070180,2016070180
+2016070181,2016070181
+2016070182,2016070182
+2016070183,2016070183
+2016070184,2016070184
+2016070185,2016070185
+2016070186,2016070186
+2016070187,2013202437
+2016070188,2016070188
+2016070189,2016070189
+2016070190,2016070190
+2016070191,2016070191
+2016070192,2016070192
+2016070193,2016070193
+2016070194,2016070194
+2016070198,2016070198
+2016079901,2016079901
+20160P0002,20160P0002
+20160P0003,20160P0003
+20160P0012,20160P0012
+20160P0013,20160P0013
+20160P0014,2012262295
+20160P0015,20160P0015
+20160P0016,20160P0016
+20160P0017,20160P0017
+20160P0018,20160P0018
+20160P0019,20160P0019
+20160P0020,20160P0020
+20160P0021,20160P0021
+20160P0022,20160P0022
+20160P0023,20160P0023
+20160P0024,20160P0024
+20160P0025,20160P0025
+20160P0026,2011261026
+20160P0027,20160P0027
+20160P0030,20160P0030
+20160P0038,20160P0038
+20160P0039,20160P0039
+20160P0042,20160P0042
+20160P0045,20160P0045
+20160P0046,2011202391
+20160P0047,20160P0047
+20160P0048,20160P0048
+20160P0049,20160P0049
+20160P0051,2013202449
+20160P0052,20160P0052
+20160P0057,20160P0057
+20160P0061,20160P0061
+20160P0066,2007100111
+20160P0067,20160P0067
+20160P0070,20160P0070
+20160P0073,20160P0073
+20160P0075,20160P0075
+20160P0076,20160P0076
+20160P0077,20160P0077
+20160P0078,20160P0078
+20160P0081,20160P0081
+20160P0082,20160P0082
+20160P0084,2008301422
+20160P0086,20160P0086
+20160P0087,20160P0087
+20160P0088,20160P0088
+20160P0089,20160P0089
+20160P0090,20160P0090
+20160P0091,20160P0091
+20160P0092,2009202173
+20160P0093,20160P0093
+20160P0094,2007201477
+20160P0095,2013262338
+20160P0096,2013202435
+20160P0097,20160P0097
+20160P0098,20160P0098
+20160P0099,20160P0099
+20160P0100,20160P0100
+20160P0101,20160P0101
+20160P0102,2010210624
+20160P0103,20160P0103
+20160P0104,2009100463
+20160P0105,2010100154
+20160P0106,2007100254
+20160P0107,2007100327
+20160P0108,20160P0108
+20160P0109,20160P0109
+20160P0110,077104123
+20160P0111,20160P0111
+20160P0112,20160P0112
+20160P0113,20160P0113
+20160P0114,20160P0114
+20160P0115,047094201
+20160P0116,20160P0116
+20160P0117,20160P0117
+20160P0118,20160P0118
+20160P0119,2011303089
+20160P0120,20160P0120
+20160P0121,20160P0121
+20160P0122,20160P0122
+20160P0123,20160P0123
+20160P0124,20160P0124
+20160P0125,20160P0125
+20160P0126,20160P0126
+20160P0127,20160P0127
+20160P0128,20160P0128
+20160P0130,2012070073
+20160P0131,2016070094
+20160P0132,2012201964
+20160P0133,20160P0133
+20160P0134,2016070024
+20160P0135,2016070136
+20160P0136,2016070067
+20160P0137,2016070015
+20160P0138,2016070066
+20160P0139,2016070043
+20160P0140,20140P0031
+20160P0141,20140P0032
+20160P0142,20160P0142
+20160P0143,20160P0143
+20160P0144,20160P0144
+20160P0145,20160P0145
+20160P0146,20160P0146
+20160P0147,20160P0147
+20160P0148,20160P0148
+20160P0149,20160P0149
+20160P0150,20160P0150
+20160P0151,20160P0151
+20160P0152,20160P0152
+20160P0153,20160P0153
+20160P0154,20160P0154
+20160P0155,20160P0155
+20160P0156,20160P0156
+20160P0157,20160P0157
+20160P0158,20160P0158
+20160P0159,20160P0159
+20160P0160,20160P0160
+20160P0161,20160P0161
+20160P0162,20160P0162
+20160P0163,20160P0163
+20160P0164,20160P0164
+20160P0165,20160P0165
+20160P0166,20160P0166
+20160P0167,20160P0167
+20160P0168,20160P0168
+20160P0169,20160P0169
+20160P0170,20160P0170
+20160P0171,20160P0171
+20160P0172,20160P0172
+20160P0173,20160P0173
+20160P0174,20160P0174
+20160P0175,20160P0175
+20160P0176,20160P0176
+20160P0177,20160P0177
+20160P0178,20160P0178
+20160P0179,20160P0179
+20160P0180,20160P0180
+20160P0181,20160P0181
+20160P0182,20160P0182
+20160P0183,20160P0183
+20160P0184,20160P0184
+20160P0185,20160P0185
+20160P0186,20160P0186
+20160P0187,20160P0187
+20160P0188,20160P0188
+20160P0189,20160P0189
+20160P0190,20160P0190
+20160P0191,20160P0191
+20160P0192,20160P0192
+20160P0193,20160P0193
+20160P0194,20160P0194
+20160P0195,20160P0195
+20160P0196,20160P0196
+20160P0197,20160P0197
+20160P0198,20160P0198
+20160P0199,20160P0199
+20160P0200,20160P0200
+20160P0201,20160P0201
+20160P0202,20160P0202
+20160P0203,20160P0203
+20160P0204,20160P0204
+20160P0205,20160P0205
+20160P0206,20160P0206
+20160P0207,20160P0207
+20160P0208,20160P0208
+20160P0209,20160P0209
+20160P0210,20160P0210
+20160P0211,20160P0211
+20160P0212,20160P0212
+20160P0213,061991
+20160P0214,20160P0214
+20160P0215,20160P0215
+20160P0216,066040241
+20160P0217,20160P0217
+20160P0218,20160P0218
+20160P0219,2012302105
+20160P0220,20160P0220
+20160P0221,20160P0221
+20160P0222,20160P0222
+20160P0223,20160P0223
+20160P0224,20160P0224
+20160P0225,20160P0225
+20160P0226,20160P0226
+20160P0227,20160P0227
+20160P0228,2011303242
+20160P0229,20160P0229
+20160P0230,2012303201
+20160P0231,20160P0231
+20160P0232,20160P0232
+20160P0233,20160P0233
+20160P0234,20160P0234
+20160P0235,20160P0235
+20160P0236,2011260353
+20160P0237,20160P0237
+20160P0238,20160P0238
+20160P0239,20160P0239
+20160P0240,20160P0240
+20160P0241,20160P0241
+20160P0242,20160P0242
+20160P0243,20160P0243
+20160P0244,2015210289
+20160P0245,20160P0245
+20160P0246,20160P0246
+20160P0247,20160P0247
+20160P0248,20160P0248
+20160P0249,20160P0249
+20160P0250,20160P0250
+20160P0251,20160P0251
+20160P0252,20160P0252
+20160P0253,20160P0253
+20160P0254,20160P0254
+20160P0255,20160P0255
+20160P0256,20160P0256
+20160P0257,20160P0257
+20160P0258,20160P0258
+20160P0259,20160P0259
+20160P0260,20160P0260
+20160P0261,20160P0261
+20160P0262,20160P0262
+20160P0263,20160P0263
+20160P0264,20160P0264
+20160P0265,20160P0265
+20160P0266,20160P0266
+20160P0267,20160P0267
+20160P0268,20160P0268
+20160P0269,20160P0269
+20160P0270,20160P0270
+20160P0271,20160P0271
+20160P0272,20160P0272
+20160P0273,2009202133
+20160P0274,20160P0274
+20160P0275,20160P0275
+20160P0276,20160P0276
+20160P0277,20160P0277
+20160P0278,20160P0278
+20160P0279,20160P0279
+20160P0280,20160P0280
+20160P0281,20160P0281
+20160P0282,20160P0282
+20160P0283,20160P0283
+20160P0284,20160P0284
+20160P0285,20160P0285
+20160P0286,20160P0286
+20160P0287,20160P0287
+20160P0288,20160P0288
+20160P0289,20160P0289
+20160P0290,20160P0290
+20160P0291,20160P0291
+20160P0292,20160P0292
+20160P0293,20160P0293
+20160P0294,20160P0294
+20160P0295,20160P0295
+20160P0296,20160P0296
+20160P0297,20160P0297
+20160P0298,20160P0298
+20160P0299,20160P0299
+20160P0300,20160P0300
+20160P0301,20160P0301
+20160P0302,20160P0302
+20160P0303,20160P0303
+20160P0304,20160P0304
+20160P0305,20160P0305
+20160P0306,20160P0306
+20160P0307,20160P0307
+20160P0308,20160P0308
+20160P0309,20160P0309
+20160P0310,20160P0310
+20160P0311,20160P0311
+20160P0312,20160P0312
+20160P0313,20160P0313
+20160P0314,20160P0314
+20160P0315,20160P0315
+20160P0316,20160P0316
+20160P0317,20160P0317
+20160P0318,20160P0318
+20160P0319,20160P0319
+20160P0320,20160P0320
+20160P0321,20160P0321
+20160P0322,20160P0322
+20160P0323,20160P0323
+20160P0324,20160P0324
+20160P0325,20160P0325
+20160P0326,20160P0326
+20160P0327,20160P0327
+20160P0328,20160P0328
+20160P0329,20160P0329
+20160P0330,20160P0330
+20160P0331,20160P0331
+20160P0332,20160P0332
+20160P0333,20160P0333
+20160P0334,20160P0334
+20160P0335,20160P0335
+20160P0336,20160P0336
+20160P0337,20160P0337
+20160P0338,20160P0338
+20160P0339,20160P0339
+20160P0340,20160P0340
+2016100001,2016100001
+2016100002,2016100002
+2016100003,2009300424
+2016100004,060945
+2016100005,2016100005
+2016100006,2008300470
+2016100007,2016100007
+2016100008,2016100008
+2016100009,2013260195
+2016100010,2008300260
+2016100011,2009300235
+2016100012,2013200072
+2016100013,2009300265
+2016100014,2016100014
+2016100015,2016100015
+2016100016,2009302817
+2016100017,2013260172
+2016100018,2009300198
+2016100019,2009302592
+2016100020,2016100020
+2016100021,2016100021
+2016100022,2016100022
+2016100023,2009300621
+2016100024,2016100024
+2016100025,2013260323
+2016100026,2016100026
+2016100027,2008300791
+2016100028,2016100028
+2016100029,2009300518
+2016100030,2016100030
+2016100031,2007200245
+2016100032,2009301510
+2016100033,2009300544
+2016100034,2009300687
+2016100035,2013201258
+2016100036,2016100036
+2016100037,2016100037
+2016100038,2016100038
+2016100039,2016100039
+2016100040,2012260337
+2016100041,2016100041
+2016100042,2013260473
+2016100043,2016100043
+2016100044,2016070118
+2016100045,2008200480
+2016100046,2016100046
+2016100047,2016100047
+2016100048,2016100048
+2016100049,2016100049
+2016100050,2016100050
+2016100051,2016100051
+2016100052,2016100052
+2016100053,2016100053
+2016100054,062805
+2016100055,2016100055
+2016100056,2016100056
+2016100057,2013260671
+2016100058,2016100058
+2016100059,2016100059
+2016100060,2016100060
+2016100061,2016100061
+2016100062,2016100062
+2016100063,2016100063
+2016100064,2016100064
+2016100065,2013260941
+2016100066,2013260922
+2016100067,2009301426
+2016100068,2016100068
+2016100069,2016100069
+2016100070,2013260961
+2016100071,2016100071
+2016100072,2013260946
+2016100073,2016100073
+2016100074,2016100074
+2016100075,2016100075
+2016100076,2007250016
+2016100077,2008010089
+2016100078,2013200988
+2016100079,2016070130
+2016100080,2016100080
+2016100081,2013261030
+2016100082,2008301478
+2016100083,2009301514
+2016100084,2016100084
+2016100085,2009301790
+2016100086,2009301679
+2016100087,2009301687
+2016100088,2016100088
+2016100089,2009301632
+2016100090,2016100090
+2016100091,2016100091
+2016100092,061884
+2016100093,2016100093
+2016100094,2016100094
+2016100095,2013261370
+2016100096,2016100096
+2016100097,2013261382
+2016100098,2016100098
+2016100099,2016100099
+2016100100,2016100100
+2016100101,2009301883
+2016100102,2016100102
+2016100103,052073
+2016100104,2007302240
+2016100105,2016100105
+2016100106,2016100106
+2016100107,2009302311
+2016100108,2016100108
+2016100109,2016100109
+2016100110,2016100110
+2016100111,2016100111
+2016100112,2016100112
+2016100113,2010262323
+2016100114,2009301289
+2016100115,2016100115
+2016100116,2016100116
+2016100117,2016100117
+2016100118,2016100118
+2016100119,2016100119
+2016100120,2016100120
+2016100121,2016100121
+2016100123,2016100123
+2016100124,2016100124
+2016100125,2013261970
+2016100126,2016100126
+2016100127,2016100127
+2016100128,2016100128
+2016100129,2016100129
+2016100130,2016100130
+2016100131,2016100131
+2016100132,2016100132
+2016100133,067124197
+2016100134,2016100134
+2016100135,2016100135
+2016100136,2016100136
+2016100137,2016100137
+2016100138,2016100138
+2016100139,053255
+2016100140,2009303082
+2016100141,2016100141
+2016100142,2006020161
+2016100143,2016100143
+2016100144,2016100144
+2016100145,2016100145
+2016100146,2016070028
+2016100147,2016100147
+2016100148,2016100148
+2016100149,2016100149
+2016100150,2016100150
+2016100151,2016100151
+2016100152,2007210384
+2016100153,2016100153
+2016100154,2016100154
+2016100155,2016100155
+2016100156,2016100156
+2016100157,2016100157
+2016100158,2016100158
+2016100159,2016100159
+2016100160,2016100160
+2016100161,2009300419
+2016100162,2016100162
+2016100163,2009300686
+2016100164,2016100164
+2016100165,2009200566
+2016100166,2016100166
+2016100167,2016100167
+2016100168,2016100168
+2016100169,2016100169
+2016100170,2016100170
+2016100171,2016100171
+2016100172,2016100172
+2016100173,2009302326
+2016100174,2016100174
+2016100175,2016100175
+2016100177,2016100177
+2016100178,2016100178
+2016100179,2008302685
+2016100180,2016100180
+2016100181,2009300152
+2016100182,2009300328
+2016100183,2009300453
+2016100184,2009302640
+2016100185,2009301290
+2016100186,2009300150
+2016100187,2009300381
+2016100188,2013201307
+2016100189,2013200260
+2016100190,2009300574
+2016100191,2009300140
+2016100192,2009300650
+2016100193,2009300744
+2016100194,2013200440
+2016100195,2013200583
+2016100196,2013200626
+2016100197,2009301005
+2016100198,2013200564
+2016100199,2013200079
+2016100200,2013200573
+2016100201,2013200610
+2016100202,2013200632
+2016100203,2013200812
+2016100204,2013201824
+2016100205,2009301515
+2016100206,2013201002
+2016100207,2013200999
+2016100208,2009301759
+2016100209,2009301633
+2016100210,2009302091
+2016100211,2009302073
+2016100212,2013201234
+2016100213,2009300365
+2016100214,2013201837
+2016100215,2013201492
+2016100216,2013201848
+2016100217,2009302679
+2016100218,2013201714
+2016100219,2013201828
+2016100220,2013201860
+2016100221,2013201959
+2016100222,2013201954
+2016100223,2009302994
+2016100224,2013201937
+2016100225,2013201951
+2016100226,2013202099
+2016100227,2013202110
+2016100228,2013202430
+2016100229,2013202424
+2016100230,2013202625
+2016100231,2016100231
+2016100232,2007301569
+2016100233,2016100233
+2016100234,2007300441
+2016100235,2016100235
+2016100236,2016100236
+2016100239,2010300367
+2016100240,2012300200
+2016100241,2016100241
+2016100242,2012300400
+2016100243,2016100243
+2016100244,2016100244
+2016100245,2010300069
+2016100246,2010300011
+2016100247,2009300167
+2016100248,2010300184
+2016100249,2016100249
+2016100250,2016100250
+2016100251,2016100251
+2016100252,2016100252
+2016100253,2010300067
+2016100254,2014200410
+2016100255,2010300345
+2016100256,2010300183
+2016100257,2010302771
+2016100258,2014200137
+2016100259,2012301108
+2016100260,2012300323
+2016100261,2012300409
+2016100262,2016100262
+2016100263,2016100263
+2016100264,2012301341
+2016100265,2012300176
+2016100266,2012300459
+2016100267,2012300059
+2016100268,2012300172
+2016100269,2012300338
+2016100270,2012300184
+2016100271,2012300045
+2016100272,2012300218
+2016100274,063526
+2016100275,2013260321
+2016100276,2016100276
+2016100277,2016100277
+2016100278,2016100278
+2016100279,2016100279
+2016100280,2016100280
+2016100281,2016100281
+2016100282,2007300467
+2016100283,2016100283
+2016100285,2010300466
+2016100286,2009300523
+2016100287,2010300451
+2016100288,2010300045
+2016100289,2009300548
+2016100290,2010300423
+2016100291,2014200250
+2016100292,2010300469
+2016100293,2016100293
+2016100294,2012300469
+2016100295,2012300440
+2016100296,2012300433
+2016100297,2012300458
+2016100298,2012300466
+2016100299,2012300463
+2016100300,2016100300
+2016100301,2016100301
+2016100302,2016100302
+2016100303,2016100303
+2016100304,2007301479
+2016100305,2014200283
+2016100306,2010302968
+2016100309,2010300799
+2016100310,2016100310
+2016100311,2016100311
+2016100312,2016100312
+2016100313,2016100313
+2016100314,2010300719
+2016100315,2012300733
+2016100316,2012300743
+2016100317,2012300742
+2016100318,2012300746
+2016100319,2012300714
+2016100320,2010300607
+2016100321,2016100321
+2016100322,2016100322
+2016100323,2010300766
+2016100324,2009300894
+2016100325,2010300813
+2016100326,2010300763
+2016100327,2010300803
+2016100328,2012300821
+2016100329,2012300006
+2016100330,2012300791
+2016100331,2012300782
+2016100332,2016100332
+2016100333,2016100333
+2016100334,046036087
+2016100335,056090482
+2016100336,2008300803
+2016100337,2016100337
+2016100338,2016100338
+2016100339,2016100339
+2016100340,2016100340
+2016100341,2010300660
+2016100342,2010300656
+2016100343,2010300686
+2016100344,2014200429
+2016100345,2010300671
+2016100346,2010300615
+2016100347,2014200444
+2016100348,2012300664
+2016100349,2012300661
+2016100350,2012301112
+2016100351,2012300648
+2016100352,2012300680
+2016100353,2012300656
+2016100354,2012300642
+2016100355,2012300641
+2016100356,2012300610
+2016100357,2016100357
+2016100358,2016100358
+2016100359,2016100359
+2016100360,2016100360
+2016100361,2016100361
+2016100362,2016100362
+2016100363,2012200544
+2016100364,2012200507
+2016100365,2016100365
+2016100366,2016100366
+2016100367,2016100367
+2016100368,2009300987
+2016100369,2016100369
+2016100370,2016100370
+2016100371,2016100371
+2016100372,2016100372
+2016100373,2016100373
+2016100374,2016100374
+2016100375,2016100375
+2016100376,2016100376
+2016100377,2016100377
+2016100378,2016100378
+2016100379,2016100379
+2016100380,2016100380
+2016100381,2016100381
+2016100382,2016100382
+2016100383,2014200073
+2016100384,2014200572
+2016100385,2014200499
+2016100386,2010300086
+2016100387,2014200545
+2016100388,2014200554
+2016100389,2010300843
+2016100390,2014200576
+2016100391,2014202642
+2016100392,2014200515
+2016100393,2016100393
+2016100394,2016100394
+2016100395,2016100395
+2016100396,2012302917
+2016100397,2012300903
+2016100398,2016100398
+2016100399,2016100399
+2016100400,2016100400
+2016100401,2016100401
+2016100402,040937
+2016100403,2016100403
+2016100404,2016100404
+2016100405,2016100405
+2016100407,2014200630
+2016100408,2009301026
+2016100409,2010300979
+2016100410,2014200601
+2016100411,2010300930
+2016100412,2014200571
+2016100413,2014200534
+2016100414,2014200631
+2016100415,2014200613
+2016100416,2014200593
+2016100417,2014200582
+2016100418,2014200581
+2016100419,2016100419
+2016100420,2012302995
+2016100421,2016100421
+2016100422,2016100422
+2016100423,2016100423
+2016100424,2012300109
+2016100426,2012200899
+2016100427,2010301178
+2016100428,2016100428
+2016100429,2016100429
+2016100430,2014200855
+2016100431,2014200739
+2016100432,2014200804
+2016100433,2010301328
+2016100434,2016100434
+2016100436,2009301297
+2016100437,2012300629
+2016100438,2012301356
+2016100439,2016100439
+2016100440,2012301266
+2016100441,2016100441
+2016100442,2016100442
+2016100443,2016100443
+2016100444,2016100444
+2016100445,2016100445
+2016100446,2016100446
+2016100447,2008200781
+2016100448,2016100448
+2016100449,2007100009
+2016100450,2014200883
+2016100451,2014200838
+2016100452,2010301085
+2016100453,2012301123
+2016100454,2012301094
+2016100455,2012302834
+2016100456,2012301078
+2016100458,2012301388
+2016100459,2012301135
+2016100460,2012301138
+2016100461,2012301379
+2016100462,2012301389
+2016100470,2016100470
+2016100471,061370
+2016100472,2013261019
+2016100473,2016100473
+2016100475,2016100475
+2016100476,056060352
+2016100477,2013200778
+2016100478,2014200976
+2016100479,2010301421
+2016100480,2012302075
+2016100481,2012301428
+2016100482,2012301414
+2016100483,2012300057
+2016100484,2012301402
+2016100485,2016100485
+2016100486,066050278
+2016100487,2007301472
+2016100488,2012301588
+2016100489,2012301597
+2016100490,2012301568
+2016100491,2012301571
+2016100492,2013261144
+2016100493,2016100493
+2016100494,2016100494
+2016100495,2014202629
+2016100496,2010301669
+2016100497,2010301734
+2016100498,2010301733
+2016100499,2010301636
+2016100500,2010301660
+2016100501,2012301596
+2016100502,2012301576
+2016100503,2012301605
+2016100504,2012301137
+2016100506,2016100506
+2016100507,2016100507
+2016100508,2016100508
+2016100509,052795
+2016100510,2016100510
+2016100511,2016100511
+2016100512,2016100512
+2016100513,2014201200
+2016100514,2014201192
+2016100515,2010302635
+2016100516,2009301907
+2016100517,2014201178
+2016100518,2014201176
+2016100519,2014201334
+2016100521,2010302047
+2016100523,2011201331
+2016100524,040372
+2016100525,2016100525
+2016100526,2016100526
+2016100527,2016100527
+2016100528,2014201237
+2016100529,2014201247
+2016100530,2012302771
+2016100531,2016100531
+2016100532,2016100532
+2016100533,2016100533
+2016100534,2016100534
+2016100539,2016100539
+2016100540,060436
+2016100541,2016100541
+2016100542,2007301988
+2016100543,2014201440
+2016100544,2010300036
+2016100545,2012302160
+2016100546,2016100546
+2016100547,2016100547
+2016100548,2010262306
+2016100549,2016100549
+2016100550,2016100550
+2016100551,2016100551
+2016100552,2016100552
+2016100553,2016100553
+2016100554,2016100554
+2016100555,2016100555
+2016100557,2010300132
+2016100558,2010302310
+2016100559,2010302167
+2016100560,2012300672
+2016100561,2012302071
+2016100562,2016100562
+2016100563,2016100563
+2016100564,2012300011
+2016100565,2016100565
+2016100567,2016100567
+2016100568,2016100568
+2016100569,2016100569
+2016100570,2016100570
+2016100571,2016100571
+2016100572,2016100572
+2016100573,2016100573
+2016100574,2016100574
+2016100575,2016100575
+2016100576,2010303325
+2016100577,2012302546
+2016100578,2012302502
+2016100579,2016100579
+2016100580,2012303402
+2016100581,2012303510
+2016100582,2012302619
+2016100583,2012302583
+2016100584,2012302408
+2016100585,2012302598
+2016100586,2016100586
+2016100587,2012302348
+2016100588,2012303462
+2016100589,2016100589
+2016100590,2013201845
+2016100591,2016100591
+2016100592,2016100592
+2016100593,2016100593
+2016100594,052714
+2016100595,2016100595
+2016100596,2016100596
+2016100597,2016100597
+2016100598,2008302677
+2016100599,2014201880
+2016100600,2014201884
+2016100601,2014201883
+2016100602,2012302708
+2016100603,2012302722
+2016100604,2012302735
+2016100605,2012302821
+2016100606,2016100606
+2016100607,2012201876
+2016100608,2016100608
+2016100609,2016100609
+2016100610,2016100610
+2016100611,2014201929
+2016100612,2007302760
+2016100613,2012302884
+2016100614,2010302818
+2016100615,2014201939
+2016100616,2010302849
+2016100617,2012302843
+2016100618,2012302845
+2016100619,2012300127
+2016100620,2012302867
+2016100621,2016100621
+2016100622,2013261986
+2016100623,2013261972
+2016100624,2016100624
+2016100625,2014201948
+2016100626,2012302812
+2016100627,2012302810
+2016100628,2012302713
+2016100629,2016100629
+2016100630,2010302866
+2016100631,2014201966
+2016100632,2012302938
+2016100633,2012302943
+2016100634,2010302906
+2016100635,2008200366
+2016100636,2016100636
+2016100637,2016100637
+2016100638,2016100638
+2016100639,2016100639
+2016100640,2016100640
+2016100641,2016100641
+2016100642,2016100642
+2016100643,2014202435
+2016100644,2010303038
+2016100645,2014202139
+2016100646,2014202140
+2016100647,2016100647
+2016100648,20140P0110
+2016100649,2016100649
+2016100650,2016100650
+2016100651,2016100651
+2016100652,2016100652
+2016100653,2016100653
+2016100654,2016100654
+2016100655,2012303401
+2016100657,2016100657
+2016100658,20160P0067
+2016100659,2010202334
+2016100660,2016100660
+2016100661,2016100661
+2016100662,2016100662
+2016100663,2014202636
+2016100664,2014202631
+2016100665,2014202630
+2016100666,2014202638
+2016100667,2016100667
+2016100668,2016100668
+2016140001,2016140001
+2016140002,2016140002
+2016140003,2016140003
+2016150001,2016150001
+2016150002,2016150002
+2016150003,2016150003
+2016150004,2015150009
+2016150005,2016150005
+2016150006,2016150006
+2016150007,2016150007
+2016150008,2008200905
+2016150009,2007300080
+2016150010,2016150010
+2016150011,2016150011
+2016150012,056099049
+2016150013,2016150013
+2016150014,2016150014
+2016150015,2011250022
+2016150016,2016150016
+2016160273,2016160273
+2016160308,2016160308
+2016160425,066046171
+2016160463,2016160463
+2016160464,2016160464
+2016160465,2016160465
+2016160466,2016160466
+2016160467,2016160467
+2016160468,2016160468
+2016160469,2016160469
+2016160505,2016160505
+2016160535,2016160535
+2016160537,2016160537
+2016160566,2016160566
+2016180001,2016180001
+2016180002,2016180002
+2016180003,2016180003
+2016180004,2016180004
+2016180005,2016180005
+2016180006,2016180006
+2016180007,2016180007
+2016180008,2016180008
+2016180009,2016180009
+2016180010,2016180010
+2016180011,2016180011
+2016180012,2016180012
+2016180013,2016180013
+2016180014,2016180014
+2016180015,2016180015
+2016180016,2016180016
+2016180017,2016180017
+2016180018,2014431005
+2016180019,2016180019
+2016180020,2016180020
+2016180021,2016180021
+2016180022,2016180022
+2016180023,2016180023
+2016180024,2016180024
+2016180025,2016180025
+2016180026,2016180026
+2016180027,2016180027
+2016180028,2016180028
+2016180029,2016180029
+2016180030,2016180030
+2016180031,2016180031
+2016180032,2016180032
+2016180033,2016180033
+2016180034,2016180034
+2016180035,2016180035
+2016200001,2012300160
+2016200002,2016200002
+2016200003,2012300225
+2016200004,2012300366
+2016200005,2012300259
+2016200006,2016200006
+2016200007,2016200007
+2016200008,2012300865
+2016200009,2012300041
+2016200010,2012300008
+2016200011,2012300197
+2016200012,2016200012
+2016200014,2012300404
+2016200015,2012300326
+2016200016,2012300320
+2016200017,2012300318
+2016200018,2016200018
+2016200019,2012300411
+2016200020,2012300406
+2016200021,2012300158
+2016200022,2016200022
+2016200023,2012301864
+2016200024,2012300258
+2016200025,2012300043
+2016200026,2012300128
+2016200027,2012300161
+2016200028,2012302792
+2016200029,2012300413
+2016200030,2016200030
+2016200031,2012300221
+2016200033,2012301332
+2016200034,2011300230
+2016200035,2016200035
+2016200036,2012300152
+2016200037,2012300352
+2016200038,2012301141
+2016200039,2012302762
+2016200040,2012300365
+2016200041,2012303592
+2016200042,2012300125
+2016200043,2012300398
+2016200044,2012303585
+2016200045,2012300214
+2016200046,2012300101
+2016200047,2012300354
+2016200048,2012300159
+2016200049,2012300397
+2016200050,2012300071
+2016200051,2016200051
+2016200052,2012300162
+2016200053,2012300135
+2016200054,2012300099
+2016200055,2012302633
+2016200056,2012300030
+2016200057,2012300062
+2016200058,2012300203
+2016200059,2012301872
+2016200060,2012300772
+2016200061,2012300235
+2016200062,2012300233
+2016200063,2012300367
+2016200064,2016200064
+2016200065,2016200065
+2016200066,2016200066
+2016200067,2012300044
+2016200068,2011300240
+2016200069,2012300401
+2016200070,2012301121
+2016200071,2012300278
+2016200072,2012300349
+2016200073,2016200073
+2016200074,2016200074
+2016200075,2016200075
+2016200076,2016200076
+2016200077,2016200077
+2016200078,2012300395
+2016200079,2012300379
+2016200080,2012300389
+2016200081,2016200081
+2016200082,2012300281
+2016200083,2012300290
+2016200084,2012300396
+2016200085,2016200085
+2016200086,2012300380
+2016200087,2016200087
+2016200088,2016200088
+2016200089,2012301478
+2016200090,2012300269
+2016200091,2012300342
+2016200092,2016200092
+2016200093,2012301928
+2016200094,2012300241
+2016200095,2012300276
+2016200096,2016200096
+2016200097,2012300287
+2016200098,2012300412
+2016200099,2012300165
+2016200100,2016200100
+2016200101,2016200101
+2016200102,2012300154
+2016200103,2012300170
+2016200104,2016200104
+2016200105,2016200105
+2016200106,2012300055
+2016200107,2012300083
+2016200108,2012300399
+2016200109,2012300353
+2016200110,2012300324
+2016200111,2016200111
+2016200112,2012300358
+2016200113,2016200113
+2016200114,2012301493
+2016200115,2016200115
+2016200116,2012300350
+2016200117,2012300094
+2016200118,2012300301
+2016200119,2016200119
+2016200120,2016200120
+2016200121,2012300164
+2016200122,2016200122
+2016200123,2012300066
+2016200124,2012300305
+2016200125,2012300330
+2016200126,2012300331
+2016200127,2016200127
+2016200128,2016200128
+2016200129,2012300325
+2016200130,2012300102
+2016200131,2012300294
+2016200132,2016200132
+2016200133,2012303038
+2016200134,2012300335
+2016200135,2012301203
+2016200136,2012300238
+2016200137,2012300341
+2016200139,2012300403
+2016200140,2012300337
+2016200141,2012300297
+2016200142,2012300311
+2016200143,2016200143
+2016200144,2016200144
+2016200145,2016200145
+2016200222,2012300592
+2016200223,2012301556
+2016200224,2016200224
+2016200225,2012300527
+2016200226,2012300526
+2016200227,2012302478
+2016200228,2012300025
+2016200229,2012300537
+2016200230,2012300018
+2016200231,2012300097
+2016200232,2012300532
+2016200233,2016200233
+2016200234,2012300038
+2016200235,2016200235
+2016200236,2016200236
+2016200237,2012300515
+2016200238,2012302314
+2016200239,2012302535
+2016200240,2012300114
+2016200241,2012302875
+2016200242,2012300523
+2016200243,2012300061
+2016200244,2011302096
+2016200245,2012300120
+2016200246,2012300042
+2016200247,2012300549
+2016200248,2016200248
+2016200249,2012300123
+2016200250,2012300111
+2016200251,2012301059
+2016200252,2012300528
+2016200253,2012300088
+2016200254,2012300003
+2016200255,2016200255
+2016200256,2016200256
+2016200257,2012300020
+2016200258,2012300126
+2016200259,2016200259
+2016200260,2012300116
+2016200261,2016200261
+2016200262,2012300117
+2016200263,2012300441
+2016200264,2012300082
+2016200265,2012300028
+2016200266,2012300442
+2016200267,2012300437
+2016200268,2012302809
+2016200269,2012301317
+2016200270,2012300498
+2016200271,2011300405
+2016200272,2012300487
+2016200273,2012300473
+2016200274,2012303037
+2016200275,2012300464
+2016200276,2012300481
+2016200277,2012300484
+2016200278,2012300491
+2016200279,2012300478
+2016200280,2012300452
+2016200281,2012300445
+2016200282,2016200282
+2016200283,2012300421
+2016200284,2012300454
+2016200285,2012300455
+2016200286,2012300593
+2016200287,2012300575
+2016200288,2016200288
+2016200289,2011302104
+2016200290,2012300560
+2016200291,2011300578
+2016200292,2012300591
+2016200293,2012300587
+2016200294,2012300583
+2016200295,2012300577
+2016200296,2012300598
+2016200297,2016200297
+2016200298,2012300580
+2016200299,2011302114
+2016200300,2012300579
+2016200301,2012300594
+2016200302,2012302046
+2016200303,2016200303
+2016200304,2016200304
+2016200305,2016200305
+2016200352,2012300796
+2016200353,2012300779
+2016200354,2011300621
+2016200355,2016200355
+2016200356,2012300602
+2016200357,2012300612
+2016200358,2012300608
+2016200359,2009300731
+2016200360,2016200360
+2016200361,2016200361
+2016200362,2016200362
+2016200363,2016200363
+2016200364,2016200364
+2016200365,2016200365
+2016200366,2012300697
+2016200367,2016200367
+2016200368,2016200368
+2016200369,2016200369
+2016200370,2012300719
+2016200371,2012300693
+2016200372,2016200372
+2016200373,2012302244
+2016200374,2012300035
+2016200375,2016200375
+2016200376,2012300730
+2016200377,2012300707
+2016200378,2012300716
+2016200379,2012300724
+2016200380,2012300705
+2016200381,2012300710
+2016200382,2012300731
+2016200383,2012300721
+2016200384,2016200384
+2016200385,2016200385
+2016200386,2012300679
+2016200387,2016200387
+2016200388,2016200388
+2016200389,2012300673
+2016200390,2012300686
+2016200391,2012301335
+2016200392,2016200392
+2016200393,2012300671
+2016200394,2012300669
+2016200395,2012300682
+2016200396,2012300732
+2016200397,2012301985
+2016200398,2016200398
+2016200399,2016200399
+2016200400,2012300660
+2016200401,2012300776
+2016200402,2016200402
+2016200403,2012300807
+2016200404,2016200404
+2016200405,2016200405
+2016200406,2012300801
+2016200407,2012300798
+2016200408,2012300806
+2016200409,2012300815
+2016200410,2012300773
+2016200411,2016200411
+2016200412,2012300812
+2016200413,2012300056
+2016200414,2012300802
+2016200415,2012300064
+2016200416,2012300820
+2016200417,2012300756
+2016200418,2012300809
+2016200419,2012300737
+2016200420,2016200420
+2016200421,2012300692
+2016200422,2016200422
+2016200423,2012300657
+2016200424,2016200424
+2016200425,2011300628
+2016200426,2012300639
+2016200427,2012300096
+2016200428,2012300631
+2016200429,2016200429
+2016200430,2016200430
+2016200431,2012300605
+2016200432,2012300609
+2016200433,2016200433
+2016200434,2016200434
+2016200435,2016200435
+2016200436,2016200436
+2016200437,2012300651
+2016200438,2012300637
+2016200439,2016200439
+2016200440,2012300630
+2016200441,2011300616
+2016200442,2012300633
+2016200443,2016200443
+2016200444,2012300659
+2016200445,2012300635
+2016200446,2016200446
+2016200447,2012300663
+2016200448,2016200448
+2016200449,2016200449
+2016200450,2011300715
+2016200451,2016200451
+2016200452,2012300780
+2016200453,2016200453
+2016200454,2016200454
+2016200511,2012302646
+2016200512,2012300839
+2016200513,2012300900
+2016200514,2016200514
+2016200515,2016200515
+2016200516,2016200516
+2016200517,2016200517
+2016200518,2016200518
+2016200519,2012301015
+2016200520,2012300869
+2016200521,2016200521
+2016200522,2016200522
+2016200523,2016200523
+2016200524,2016200524
+2016200525,2016200525
+2016200526,2012301020
+2016200527,2012301016
+2016200528,2016200528
+2016200529,2016200529
+2016200530,2016200530
+2016200531,2016200531
+2016200532,2016200532
+2016200533,2012300107
+2016200534,2016200534
+2016200535,2012300036
+2016200536,2016200536
+2016200537,2012300892
+2016200538,2012300889
+2016200539,2016200539
+2016200540,2016200540
+2016200541,2016200541
+2016200542,2016200542
+2016200543,2016200543
+2016200544,2016200544
+2016200545,2012300828
+2016200546,2012300840
+2016200547,2012300829
+2016200548,2012301004
+2016200549,2016200549
+2016200550,2016200550
+2016200551,2016200551
+2016200552,2016200552
+2016200553,2016200553
+2016200554,2016200554
+2016200556,2016200556
+2016200557,043018
+2016200558,2016200558
+2016200559,2016200559
+2016200560,2016200560
+2016200561,2012300832
+2016200562,2016200562
+2016200563,2016200563
+2016200564,2016200564
+2016200565,2016200565
+2016200566,2016200566
+2016200567,2016200567
+2016200568,2012300841
+2016200569,2016200569
+2016200570,2016200570
+2016200571,2012300870
+2016200572,2016200572
+2016200573,2012300863
+2016200574,2016200574
+2016200575,2012300965
+2016200576,2016200576
+2016200577,2016200577
+2016200578,2016200578
+2016200579,2012302662
+2016200580,2016200580
+2016200581,2016200581
+2016200582,2012301010
+2016200583,2016200583
+2016200584,2012300830
+2016200585,2016200585
+2016200586,2012300893
+2016200587,2012300885
+2016200588,2016200588
+2016200589,2012301000
+2016200590,2016200590
+2016200591,2016200591
+2016200592,2016200592
+2016200593,2012302997
+2016200594,2016200594
+2016200595,2016200595
+2016200596,2016200596
+2016200597,2012301011
+2016200598,2016200598
+2016200599,2016200599
+2016200600,2016200600
+2016200601,2012300859
+2016200602,2016200602
+2016200603,2016200603
+2016200604,2012302823
+2016200605,2016200605
+2016200606,2016200606
+2016200607,2016200607
+2016200608,2016200608
+2016200609,2016200609
+2016200610,2016200610
+2016200611,2016200611
+2016200612,2012301239
+2016200613,2016200613
+2016200614,2016200614
+2016200615,2016200615
+2016200616,2012300932
+2016200617,2012300961
+2016200618,2016200618
+2016200619,2016200619
+2016200620,2016200620
+2016200621,2016200621
+2016200622,2012300938
+2016200623,2016200623
+2016200624,2016200624
+2016200625,2016200625
+2016200626,2016200626
+2016200627,2012300931
+2016200628,2012300967
+2016200629,2012300911
+2016200630,2016200630
+2016200631,2016200631
+2016200632,2012300334
+2016200633,2012300989
+2016200634,2016200634
+2016200635,2016200635
+2016200636,2012300949
+2016200637,2012300908
+2016200638,2012300964
+2016200639,2016200639
+2016200640,2016200640
+2016200641,2016200641
+2016200642,2016200642
+2016200643,2016200643
+2016200644,2016200644
+2016200645,2016200645
+2016200646,2016200646
+2016200647,2016200647
+2016200648,2012300944
+2016200649,2012300824
+2016200650,2016200650
+2016200651,2012300972
+2016200652,2012300969
+2016200653,2016200653
+2016200654,2016200654
+2016200655,2016200655
+2016200656,2016200656
+2016200657,2016200657
+2016200658,2016200658
+2016200659,2012300980
+2016200660,2012300974
+2016200661,2016200661
+2016200662,2011300819
+2016200663,2016200663
+2016200664,2016200664
+2016200665,2016200665
+2016200666,2016200666
+2016200667,2016200667
+2016200668,2016200668
+2016200669,2016200669
+2016200670,2012300901
+2016200671,2016200671
+2016200672,2016200672
+2016200673,2016200673
+2016200757,2016200757
+2016200758,2016200758
+2016200759,2016200759
+2016200760,2016200760
+2016200761,2016200761
+2016200762,2016200762
+2016200763,2016200763
+2016200764,2012301070
+2016200765,2016200765
+2016200766,2016200766
+2016200767,2012301156
+2016200768,2016200768
+2016200769,2016200769
+2016200770,2012301281
+2016200771,2016200771
+2016200772,2016200772
+2016200773,2016200773
+2016200774,2016200774
+2016200775,2012301289
+2016200776,2012301304
+2016200777,2012301218
+2016200778,2016200778
+2016200779,2012301230
+2016200780,2016200780
+2016200781,2016200781
+2016200782,2012301285
+2016200783,2012301342
+2016200784,2016200784
+2016200785,2016200785
+2016200786,2012301348
+2016200787,2012301333
+2016200788,2012301324
+2016200789,2012301352
+2016200790,2016200790
+2016200791,2016200791
+2016200792,2012301292
+2016200793,2016200793
+2016200794,2016200794
+2016200795,2012301391
+2016200796,2012301390
+2016200797,2016200797
+2016200798,2012301320
+2016200799,2012301301
+2016200800,2016200800
+2016200801,2016200801
+2016200802,2016200802
+2016200803,2016200803
+2016200804,2016200804
+2016200805,2016200805
+2016200806,2012301329
+2016200807,2016200807
+2016200808,2012301302
+2016200809,2016200809
+2016200810,2016200810
+2016200811,2012301373
+2016200812,2016200812
+2016200813,2016200813
+2016200814,2016200814
+2016200815,2016200815
+2016200816,2016200816
+2016200817,2016200817
+2016200818,2012301195
+2016200819,2016200819
+2016200820,2012301385
+2016200821,2016200821
+2016200822,2016200822
+2016200823,2016200823
+2016200824,2012301166
+2016200825,2012301251
+2016200826,2012301171
+2016200827,2016200827
+2016200828,2012301170
+2016200829,2012301339
+2016200830,2012301380
+2016200831,2012300086
+2016200832,2016200832
+2016200833,2012301153
+2016200834,2016200834
+2016200835,2012301250
+2016200836,2012301238
+2016200837,2016200837
+2016200838,2016200838
+2016200839,2012301374
+2016200840,2012301384
+2016200841,2012301354
+2016200842,2012301357
+2016200843,2016200843
+2016200844,2016200844
+2016200845,2012301355
+2016200846,2012301223
+2016200847,2012300047
+2016200848,2012301367
+2016200849,2012301365
+2016200850,2016200850
+2016200851,2012301375
+2016200852,2012301363
+2016200853,2012301154
+2016200854,2012301245
+2016200855,2012301272
+2016200856,2012301273
+2016200857,2016200857
+2016200858,2016200858
+2016200859,2011301349
+2016200860,2012301296
+2016200861,2016200861
+2016200862,2012301361
+2016200863,2011301401
+2016200864,2012301163
+2016200865,2016200865
+2016200866,2016200866
+2016200867,2012301084
+2016200868,2012301090
+2016200869,2016200869
+2016200870,2016200870
+2016200871,2016200871
+2016200872,2012301142
+2016200873,2016200873
+2016200874,2016200874
+2016200875,2012301252
+2016200876,2016200876
+2016200877,2012301086
+2016200878,2016200878
+2016200879,2016200879
+2016200880,2016200880
+2016200881,2012301199
+2016200882,2016200882
+2016200883,2009301193
+2016200884,2016200884
+2016200885,2012301330
+2016200886,2012301205
+2016200887,2016200887
+2016200888,2012300173
+2016200889,2016200889
+2016200890,2016200890
+2016200891,2016200891
+2016200892,2016200892
+2016200893,2012301132
+2016200894,2012301114
+2016200895,2016200895
+2016200896,2012301196
+2016200897,2016200897
+2016200898,2016200898
+2016200899,2012301053
+2016200900,2012301058
+2016200901,2012301075
+2016200902,2016200902
+2016200903,2016200903
+2016200904,2010301141
+2016200905,2016200905
+2016200906,2016200906
+2016200907,2016200907
+2016200908,2012301387
+2016200909,2012301394
+2016200910,2012301091
+2016200911,2012301096
+2016200912,2016200912
+2016200913,2016200913
+2016200914,2012301209
+2016200915,2012301124
+2016200916,2016200916
+2016200917,2016200917
+2016200918,2012300081
+2016200919,2016200919
+2016200920,2012301211
+2016200921,2016200921
+2016200922,2012301185
+2016200923,2011301094
+2016200924,2012301133
+2016200925,2012300093
+2016200926,2016200926
+2016200927,2012301183
+2016200928,2016200928
+2016200929,2016200929
+2016200930,2012300076
+2016200931,2012301143
+2016200932,2016200932
+2016200933,2016200933
+2016200934,2012301024
+2016200935,2012301044
+2016200936,2012301030
+2016200937,2012301045
+2016200938,2011301063
+2016201022,2012301501
+2016201023,2012301500
+2016201024,2016201024
+2016201025,2016201025
+2016201026,2011301447
+2016201027,2012301434
+2016201028,2011301442
+2016201029,2016201029
+2016201030,2012300084
+2016201031,2012301505
+2016201032,2012301400
+2016201033,2016201033
+2016201034,2012301416
+2016201035,2012300150
+2016201036,2016201036
+2016201037,2012301424
+2016201038,2012301421
+2016201039,2016201039
+2016201040,2016201040
+2016201041,2012301411
+2016201042,2012301442
+2016201043,2012301430
+2016201044,2012301422
+2016201045,2012300039
+2016201046,2012301436
+2016201047,2012301457
+2016201048,2012300100
+2016201049,2012301433
+2016201050,2016201050
+2016201051,2012301426
+2016201052,2016201052
+2016201053,2012301437
+2016201054,2012301405
+2016201055,2016201055
+2016201056,2016201056
+2016201057,2016201057
+2016201058,2016201058
+2016201059,2012301406
+2016201060,2012301415
+2016201061,2012301438
+2016201062,2016201062
+2016201063,2011301572
+2016201064,2011303238
+2016201065,2011301549
+2016201066,2016201066
+2016201067,2016201067
+2016201068,2010301514
+2016201069,2012301486
+2016201070,2016201070
+2016201071,2012301477
+2016201072,2012301475
+2016201073,2012301480
+2016201074,2012301487
+2016201075,2012301410
+2016201076,2012301495
+2016201103,2012300067
+2016201104,2012301702
+2016201105,2012301675
+2016201106,2012301683
+2016201107,2012301572
+2016201108,2016201108
+2016201109,2016201109
+2016201110,2012301680
+2016201111,2016201111
+2016201112,2012301669
+2016201113,2012301700
+2016201114,2012300597
+2016201115,2012301567
+2016201116,2016201116
+2016201117,2016201117
+2016201118,2016201118
+2016201119,2012301718
+2016201120,2012300148
+2016201121,2012301551
+2016201122,2016201122
+2016201123,2016201123
+2016201124,2012301694
+2016201125,2012301759
+2016201126,2012301650
+2016201127,2012301760
+2016201128,2012301646
+2016201129,2012300040
+2016201130,2012301267
+2016201131,2012301586
+2016201132,2012301565
+2016201133,2012301610
+2016201134,2012300012
+2016201135,2012301662
+2016201136,2012301555
+2016201137,2012301616
+2016201138,2012300133
+2016201139,2012301653
+2016201140,2012301558
+2016201141,2012300015
+2016201142,2012301717
+2016201143,2012300032
+2016201144,2011301664
+2016201145,2012301654
+2016201146,2016201146
+2016201147,2012301671
+2016201148,2012301728
+2016201149,2012301726
+2016201150,2016201150
+2016201151,2012301724
+2016201152,2012301756
+2016201153,2012300033
+2016201154,2012301739
+2016201155,2012301747
+2016201156,2016201156
+2016201157,2012301698
+2016201158,2016201158
+2016201159,2012301638
+2016201160,2012300108
+2016201161,2012301757
+2016201162,2012301744
+2016201163,2016201163
+2016201164,2012301737
+2016201165,2016201165
+2016201166,2012301758
+2016201167,2012300149
+2016201168,2012300023
+2016201169,2012301573
+2016201170,2012300142
+2016201171,2012301603
+2016201172,2012301618
+2016201173,2016201173
+2016201174,2016201174
+2016201175,2012300052
+2016201176,2012301465
+2016201177,2016201177
+2016201178,2016201178
+2016201179,2012301623
+2016201180,2016201180
+2016201181,2012301613
+2016201182,2016201182
+2016201183,2012301668
+2016201184,2016201184
+2016201185,2016201185
+2016201186,2012301664
+2016201187,2012301590
+2016201188,2016201188
+2016201189,2016201189
+2016201190,2016201190
+2016201191,2016201191
+2016201238,2016201238
+2016201239,2016201239
+2016201240,2012302401
+2016201241,2012301792
+2016201242,2012301782
+2016201243,2016201243
+2016201244,2016201244
+2016201245,2016201245
+2016201246,2016201246
+2016201247,2016201247
+2016201248,2016201248
+2016201249,2016201249
+2016201250,2012301788
+2016201251,2012301762
+2016201252,2016201252
+2016201253,2016201253
+2016201254,2016201254
+2016201255,2016201255
+2016201256,2012301823
+2016201257,2012301804
+2016201258,2012301810
+2016201259,2012301809
+2016201260,2012301814
+2016201261,2016201261
+2016201262,2012302027
+2016201263,2016201263
+2016201264,2012302034
+2016201265,2012302035
+2016201266,2012302038
+2016201267,2011302742
+2016201268,2012301869
+2016201269,2012301886
+2016201270,2012301970
+2016201271,2016201271
+2016201272,2012300124
+2016201273,2012302033
+2016201274,2012301847
+2016201275,2012301830
+2016201276,2012302029
+2016201277,2012301998
+2016201278,2012302040
+2016201279,2009302109
+2016201280,2012301831
+2016201281,2016201281
+2016201282,2016201282
+2016201283,2012301959
+2016201284,2012301986
+2016201285,2016201285
+2016201286,2012301980
+2016201287,2012301999
+2016201288,2012302001
+2016201289,2012302009
+2016201290,2016201290
+2016201291,2012302007
+2016201292,2012300004
+2016201293,2016201293
+2016201294,2016201294
+2016201295,2016201295
+2016201296,2012300016
+2016201297,2012301841
+2016201298,2016201298
+2016201299,2012301773
+2016201300,2012300843
+2016201301,2016201301
+2016201302,2016201302
+2016201303,2012301975
+2016201304,2012301997
+2016201305,2012302012
+2016201306,2012302019
+2016201307,2012301973
+2016201308,2012301967
+2016201309,2012301988
+2016201310,2012301779
+2016201311,2012301890
+2016201312,2012300604
+2016201313,2016201313
+2016201314,2012301965
+2016201315,2016201315
+2016201316,2012301994
+2016201317,2012301968
+2016201318,2016201318
+2016201319,2012301893
+2016201320,2012301871
+2016201321,2012301850
+2016201322,2012301856
+2016201323,2016201323
+2016201324,2012301827
+2016201325,2016201325
+2016201326,2016201326
+2016201327,2012300091
+2016201328,2016201328
+2016201329,2016201329
+2016201330,2016201330
+2016201331,2012301870
+2016201332,2016201332
+2016201333,2012301843
+2016201334,2012301897
+2016201335,2012301787
+2016201336,2016201336
+2016201337,2016201337
+2016201338,2012301833
+2016201339,2012301772
+2016201340,2012302657
+2016201341,2016201341
+2016201342,2012301895
+2016201343,2016201343
+2016201344,2016201344
+2016201345,2012301826
+2016201346,2012301803
+2016201347,2016201347
+2016201348,2016201348
+2016201349,2016201349
+2016201350,2016201350
+2016201351,2012302052
+2016201352,2016201352
+2016201353,2012301940
+2016201354,2012301943
+2016201355,2012301921
+2016201356,2012300087
+2016201357,2012301910
+2016201358,2012301911
+2016201359,2012301939
+2016201360,2012301945
+2016201361,2016201361
+2016201362,2011301172
+2016201363,2012302531
+2016201364,2012301906
+2016201365,2012301776
+2016201366,2012300118
+2016201367,2012300037
+2016201368,2012301918
+2016201369,2012301931
+2016201370,2012301912
+2016201371,2016201371
+2016201372,2012301298
+2016201373,2012302021
+2016201433,2016201433
+2016201434,2016201434
+2016201435,2011302153
+2016201436,2012302281
+2016201437,2012302067
+2016201438,2012302068
+2016201439,2012302272
+2016201440,2012301423
+2016201441,2016201441
+2016201442,2012302416
+2016201443,2012302355
+2016201444,2012302204
+2016201445,2012302188
+2016201446,2012302186
+2016201447,2009302220
+2016201448,2012302223
+2016201449,2012302238
+2016201450,2016201450
+2016201451,2012302175
+2016201452,2012302953
+2016201453,2012302198
+2016201454,2012302346
+2016201455,2012302215
+2016201456,2012302353
+2016201457,2012302226
+2016201458,2012302180
+2016201459,2012302213
+2016201460,2012301190
+2016201461,2012302356
+2016201462,2016201462
+2016201463,2011302252
+2016201464,2012302349
+2016201465,2012302237
+2016201466,2012302181
+2016201467,2012302182
+2016201468,2012302351
+2016201469,2012302193
+2016201470,2012302203
+2016201471,2012302240
+2016201472,2012302197
+2016201473,2016201473
+2016201474,2016201474
+2016201475,2012302239
+2016201476,2012302178
+2016201477,2012302839
+2016201478,2012302174
+2016201479,2012302190
+2016201480,2012302169
+2016201481,2016201481
+2016201482,2016201482
+2016201483,2016201483
+2016201484,2012302140
+2016201485,2012302066
+2016201486,2012302313
+2016201487,2012302064
+2016201488,2016201488
+2016201489,2016201489
+2016201490,2012302146
+2016201491,2016201491
+2016201492,2016201492
+2016201493,2016201493
+2016201494,2016201494
+2016201495,2016201495
+2016201496,2012302141
+2016201497,2016201497
+2016201498,2012300836
+2016201499,2012301136
+2016201500,2012302306
+2016201501,2016201501
+2016201502,2012302065
+2016201503,2016201503
+2016201504,2016201504
+2016201505,2012302097
+2016201506,2016201506
+2016201507,2012300078
+2016201508,2012302083
+2016201509,2012302106
+2016201510,2012302142
+2016201511,2016201511
+2016201512,2016201512
+2016201513,2012302250
+2016201514,2012302258
+2016201515,2011302078
+2016201516,2012302104
+2016201517,2012302080
+2016201518,2012302354
+2016201519,2016201519
+2016201520,2012303550
+2016201521,2016201521
+2016201522,2016201522
+2016201523,2012300014
+2016201524,2012302094
+2016201525,2012302340
+2016201526,2012302381
+2016201527,2016201527
+2016201528,2016201528
+2016201529,2012302088
+2016201530,2016201530
+2016201531,2012302148
+2016201532,2012302114
+2016201534,2012302081
+2016201535,2012302138
+2016201536,2012302732
+2016201537,2016201537
+2016201538,2012302063
+2016201539,2012302124
+2016201540,2012302096
+2016201541,2016201541
+2016201542,2016201542
+2016201543,2012302130
+2016201544,2016201544
+2016201545,2009302423
+2016201546,2016201546
+2016201547,2016201547
+2016201548,2016201548
+2016201549,2012302131
+2016201550,2012302112
+2016201551,2012302150
+2016201552,2011302357
+2016201553,2016201553
+2016201554,2012301783
+2016201555,2012302259
+2016201556,2012302729
+2016201557,2012300098
+2016201558,2012302266
+2016201559,2016201559
+2016201560,2012302149
+2016201561,2012302145
+2016201562,2016201562
+2016201563,2016201563
+2016201564,2016201564
+2016201565,2016201565
+2016201566,2016201566
+2016201567,2016201567
+2016201568,2010302068
+2016201569,2012302115
+2016201570,2012302121
+2016201571,2012302098
+2016201572,2012302263
+2016201573,2012302728
+2016201574,2012300131
+2016201575,2012302243
+2016201576,2012302307
+2016201577,2016201577
+2016201578,2012302323
+2016201579,2012302373
+2016201580,2011302404
+2016201581,2012302360
+2016201582,2012302321
+2016201583,2016201583
+2016201584,2012302336
+2016201585,2012302327
+2016201586,2016201586
+2016201587,2008302493
+2016201588,2012302382
+2016201589,2012302367
+2016201590,2012302358
+2016201591,2016201591
+2016201592,2016201592
+2016201593,2016201593
+2016201594,2016201594
+2016201595,2016201595
+2016201660,2016201660
+2016201661,2016201661
+2016201662,2016201662
+2016201663,2012302342
+2016201664,2016201664
+2016201665,2016201665
+2016201666,2012302404
+2016201667,2012302389
+2016201668,2012302500
+2016201669,2016201669
+2016201670,2016201670
+2016201671,2012302447
+2016201672,2012302576
+2016201673,2016201673
+2016201674,2012302607
+2016201675,2016201675
+2016201676,2012302540
+2016201677,2012303355
+2016201678,2012303369
+2016201679,2016201679
+2016201680,2016201680
+2016201681,2016201681
+2016201682,2012300060
+2016201683,2012303524
+2016201684,2016201684
+2016201685,2016201685
+2016201686,2012302595
+2016201687,2012302517
+2016201688,2012302579
+2016201689,2012302507
+2016201690,2012302596
+2016201691,2016201691
+2016201692,2012302444
+2016201693,2016201693
+2016201694,2012303521
+2016201695,2016201695
+2016201696,2016201696
+2016201697,2012303425
+2016201698,2012302428
+2016201699,2012302406
+2016201700,2016201700
+2016201701,2012302491
+2016201702,2012302543
+2016201703,2011302639
+2016201704,2012302555
+2016201705,2016201705
+2016201706,2016201706
+2016201707,2016201707
+2016201708,2016201708
+2016201709,2012303373
+2016201710,2012302510
+2016201711,2012302454
+2016201712,2012302673
+2016201713,2016201713
+2016201714,2016201714
+2016201715,2012303507
+2016201716,2012302591
+2016201717,2011303613
+2016201718,2008302538
+2016201719,2011300336
+2016201720,2012303363
+2016201721,2016201721
+2016201722,2012302488
+2016201723,2012303309
+2016201724,2012302498
+2016201725,2012303386
+2016201726,2012302539
+2016201727,2012302421
+2016201728,2016201728
+2016201729,2012302505
+2016201730,2016201730
+2016201731,2012303548
+2016201732,2012303519
+2016201733,2012303529
+2016201734,2016201734
+2016201735,2008302545
+2016201736,2016201736
+2016201737,2012302501
+2016201738,2012302443
+2016201739,2012302393
+2016201740,2012302582
+2016201741,2012302538
+2016201742,2012302493
+2016201743,2012302466
+2016201744,2012302536
+2016201745,2016201745
+2016201746,2012302534
+2016201747,2012302429
+2016201748,2012303028
+2016201749,2012302618
+2016201750,2012302559
+2016201751,2012302601
+2016201752,2012303380
+2016201753,2016201753
+2016201754,2012303407
+2016201755,2012301909
+2016201756,2012302593
+2016201757,2016201757
+2016201758,2012303509
+2016201759,2016201759
+2016201760,2012303520
+2016201761,2012303523
+2016201762,2016201762
+2016201764,2016201764
+2016201765,2016201765
+2016201766,2012302518
+2016201767,2012302362
+2016201768,2016201768
+2016201769,2012302551
+2016201770,2012302575
+2016201771,2012300063
+2016201772,2012300026
+2016201773,2012302400
+2016201774,2012300333
+2016201775,2016201775
+2016201776,2012302455
+2016201777,2016201777
+2016201778,2012302398
+2016201779,2012303305
+2016201780,2012302542
+2016201781,2012302541
+2016201782,2012302407
+2016201783,2010303374
+2016201843,2012302752
+2016201844,2016201844
+2016201845,2016201845
+2016201846,2016201846
+2016201847,2016201847
+2016201848,2012302638
+2016201849,2016201849
+2016201850,2016201850
+2016201851,2012302629
+2016201852,2016201852
+2016201853,2016201853
+2016201854,2016201854
+2016201855,2016201855
+2016201856,2012302688
+2016201857,2012302712
+2016201858,2016201858
+2016201859,2016201859
+2016201860,2012302690
+2016201861,2012302745
+2016201862,2016201862
+2016201863,2012302700
+2016201864,2012302749
+2016201865,2016201865
+2016201866,2016201866
+2016201867,2012302631
+2016201868,2016201868
+2016201869,2012302648
+2016201870,2012302635
+2016201871,2016201871
+2016201872,2016201872
+2016201873,2012302695
+2016201874,2016201874
+2016201875,2011302676
+2016201876,2012302743
+2016201877,2012302667
+2016201878,2016201878
+2016201879,2016201879
+2016201880,2012302693
+2016201881,2012302627
+2016201882,2016201882
+2016201883,2012302694
+2016201884,2016201884
+2016201885,2016201885
+2016201886,2016201886
+2016201887,2016201887
+2016201888,2012302719
+2016201889,2016201889
+2016201890,2012302746
+2016201891,2016201891
+2016201892,2016201892
+2016201893,2016201893
+2016201894,2016201894
+2016201895,2016201895
+2016201896,2016201896
+2016201897,2012302661
+2016201898,2016201898
+2016201899,2016201899
+2016201900,2012302798
+2016201901,2011302843
+2016201902,2016201902
+2016201903,2016201903
+2016201904,2016201904
+2016201905,2016201905
+2016201906,2016201906
+2016201907,2012302800
+2016201908,2016201908
+2016201909,2012302787
+2016201910,2012302837
+2016201911,2012302862
+2016201912,2012302857
+2016201913,2012302844
+2016201914,2012302864
+2016201915,2016201915
+2016201916,2016201916
+2016201917,2012302859
+2016201918,2016201918
+2016201919,2011302909
+2016201920,2016201920
+2016201921,2012302899
+2016201922,2012302900
+2016201923,2011302998
+2016201924,2016201924
+2016201925,2016201925
+2016201926,2012302939
+2016201927,2016201927
+2016201928,2012302940
+2016201929,2016201929
+2016201930,2016201930
+2016201931,2016201931
+2016201932,2016201932
+2016201933,2012302926
+2016201934,2012302896
+2016201935,2012302922
+2016201936,2016201936
+2016201937,2016201937
+2016201938,2012302893
+2016201939,2012302889
+2016201940,2012302731
+2016201941,2016201941
+2016201942,2012302865
+2016201943,2012302829
+2016201944,2012302840
+2016201945,2011302829
+2016201946,2012302758
+2016201947,2012302835
+2016201948,2016201948
+2016201949,2012300146
+2016201950,2012301769
+2016201951,2012302772
+2016201952,2012302830
+2016201953,2012302756
+2016201954,2016201954
+2016201955,2011302865
+2016201956,2016201956
+2016201957,2012300140
+2016201958,2012300079
+2016201959,2016201959
+2016201960,2012302799
+2016201961,2012302785
+2016201962,2012302726
+2016201963,2016201963
+2016201964,2016201964
+2016201965,2012302781
+2016201966,2012302754
+2016201967,2012302804
+2016201968,2012302775
+2016201969,2016201969
+2016201970,2016201970
+2016201971,2016201971
+2016201972,2012302768
+2016201973,2016201973
+2016201974,2016201974
+2016201975,2016201975
+2016201977,2012302897
+2016201978,2012302907
+2016201979,2016201979
+2016201980,2016201980
+2016201981,2010302900
+2016201982,2016201982
+2016201983,2010302895
+2016201984,2016201984
+2016201985,2012302905
+2016201986,2016201986
+2016201987,2016201987
+2016201988,2016201988
+2016201989,2016201989
+2016201990,2016201990
+2016201991,2016201991
+2016201992,2016201992
+2016201993,2016201993
+2016201994,2016201994
+2016201995,2016201995
+2016201996,2016201996
+2016201997,2016201997
+2016201998,2016201998
+2016201999,2016201999
+2016202000,2016202000
+2016202001,2016202001
+2016202002,2016202002
+2016202003,2012302883
+2016202004,2012302951
+2016202005,2016202005
+2016202006,2016202006
+2016202007,2012302892
+2016202008,2016202008
+2016202009,2016202009
+2016202010,2016202010
+2016202011,2012302966
+2016202012,2016202012
+2016202013,2016202013
+2016202014,2016202014
+2016202015,2016202015
+2016202016,2016202016
+2016202044,2013211529
+2016202045,2016202045
+2016202046,2012303093
+2016202047,2016202047
+2016202048,2012302983
+2016202049,2016202049
+2016202050,2012303035
+2016202051,2012303042
+2016202052,2016202052
+2016202053,2016202053
+2016202054,2016202054
+2016202055,2016202055
+2016202056,2016202056
+2016202057,2016202057
+2016202058,2016202058
+2016202059,2016202059
+2016202060,2012303091
+2016202061,2016202061
+2016202062,2012303045
+2016202063,2016202063
+2016202064,2016202064
+2016202065,2016202065
+2016202066,2016202066
+2016202067,2016202067
+2016202068,2016202068
+2016202069,2016202069
+2016202070,2016202070
+2016202071,2016202071
+2016202072,2012303073
+2016202073,2016202073
+2016202074,2016202074
+2016202075,2012303096
+2016202076,2012303085
+2016202077,2016202077
+2016202078,2016202078
+2016202079,2016202079
+2016202080,2016202080
+2016202081,2012302988
+2016202082,2012303064
+2016202083,2012302987
+2016202084,2012303061
+2016202085,2016202085
+2016202086,2016202086
+2016202087,2016202087
+2016202088,2016202088
+2016202089,2016202089
+2016202090,2016202090
+2016202091,2016202091
+2016202092,2016202092
+2016202093,2012303065
+2016202094,2016202094
+2016202095,2016202095
+2016202096,2016202096
+2016202097,2016202097
+2016202098,2016202098
+2016202099,2016202099
+2016202100,2016202100
+2016202101,2016202101
+2016202102,2016202102
+2016202103,2016202103
+2016202104,2012302993
+2016202105,2016202105
+2016202106,2016202106
+2016202107,2016202107
+2016202108,2016202108
+2016202109,2016202109
+2016202110,2012302991
+2016202111,2012303043
+2016202112,2011303036
+2016202113,2016202113
+2016202114,2016202114
+2016202115,2016202115
+2016202116,2016202116
+2016202117,2016202117
+2016202118,2016202118
+2016202119,2016202119
+2016202120,2012303003
+2016202121,2016202121
+2016202444,2016202444
+2016202445,2016202445
+2016202446,2016202446
+2016202447,2016202447
+2016202448,2016202448
+2016202449,2012303194
+2016202450,2016202450
+2016202451,2012303214
+2016202452,2016202452
+2016202453,2012303218
+2016202454,2016202454
+2016202455,2012303189
+2016202456,2016202456
+2016202457,2012303192
+2016202458,2016202458
+2016202459,2016202459
+2016202460,2016202460
+2016202461,2016202461
+2016202462,2012303224
+2016202463,2016202463
+2016202464,2011303266
+2016202465,2016202465
+2016202466,2012303225
+2016202467,2012303216
+2016202468,2014070066
+2016202469,2016202469
+2016202471,2012303271
+2016202472,2012303161
+2016202473,2016202473
+2016202474,2016202474
+2016202475,2012303278
+2016202476,2016202476
+2016202477,2012303281
+2016202478,2016202478
+2016202479,2012303000
+2016202480,2016202480
+2016202481,2016202481
+2016202482,2016202482
+2016202483,2016202483
+2016202484,2016202484
+2016202485,2016202485
+2016202486,2016202486
+2016202487,2016202487
+2016202488,2016202488
+2016202489,2012303193
+2016202490,2016202490
+2016202491,2016202491
+2016202492,2016202492
+2016202493,2016202493
+2016202494,2016202494
+2016202495,2016202495
+2016202496,2016202496
+2016202497,2016202497
+2016202498,2016202498
+2016202499,2011302091
+2016202500,2016202500
+2016202501,2016202501
+2016202502,2016202502
+2016202503,2016202503
+2016202504,2016202504
+2016202505,2016202505
+2016202506,2016202506
+2016202507,2016202507
+2016202508,2016202508
+2016202583,2016202583
+2016202584,2012303562
+2016202585,2012303470
+2016202586,2012303471
+2016202656,2016202656
+2016202657,2016202657
+2016202658,2012303603
+2016202659,2016202659
+2016202660,2016202660
+2016202661,2016202661
+2016202662,2012303589
+2016202663,2016202663
+2016202664,2016202664
+2016202665,2016202665
+2016202666,2016202666
+2016202667,2016202667
+2016202668,2016202668
+2016202669,2016202669
+2016202670,2016202670
+2016202671,2012303602
+2016202672,2016202672
+2016202673,2016202673
+2016202674,2016202674
+2016202675,2016202675
+2016202676,2011303645
+2016202677,2012300410
+2016202678,2016202678
+2016202679,2016202679
+2016202680,2016202680
+2016202681,2016202681
+2016202682,2016202682
+2016202683,2016202683
+2016202684,2008302980
+2016202685,2012303607
+2016202686,2016202686
+2016202687,2012302672
+2016202688,2016202688
+2016202689,2016202689
+2016202690,2016202690
+2016202697,2012303132
+2016202698,2012303119
+2016202699,2016202699
+2016202700,2016202700
+2016202701,2012303114
+2016202702,2011303154
+2016202703,2016202703
+2016202704,2016202704
+2016202705,2016202705
+2016202706,2016202706
+2016202707,2016202707
+2016202708,2016202708
+2016202709,2012303170
+2016202710,2016202710
+2016202711,2012303160
+2016202712,2016202712
+2016202713,2012303136
+2016202714,2012303112
+2016202715,2012303137
+2016202716,2012303141
+2016202801,2016202801
+2016202802,2016100280
+2016202803,2016202803
+2016202804,2015100401
+2016202805,2012301108
+2016202806,2011300050
+2016202807,2007301602
+2016202808,2010300973
+2016210001,2016210001
+2016210002,2016210002
+2016210003,2016210003
+2016210004,2016210004
+2016210005,2016210005
+2016210006,2016210006
+2016210007,2016210007
+2016210008,2016210008
+2016210009,2016210009
+2016210010,2016210010
+2016210011,2016210011
+2016210012,040254
+2016210013,2016210013
+2016210014,2016210014
+2016210015,2016210015
+2016210016,2016210016
+2016210017,2016210017
+2016210018,2016210018
+2016210019,2016210019
+2016210020,2016210020
+2016210021,2016210021
+2016210022,2016210022
+2016210023,2016210023
+2016210024,2016210024
+2016210025,2016210025
+2016210026,2016210026
+2016210027,2016210027
+2016210028,2016210028
+2016210029,2016210029
+2016210030,2016210030
+2016210031,2014250129
+2016210032,2014250133
+2016210033,2016210033
+2016210034,2016210034
+2016210035,2016210035
+2016210036,2016210036
+2016210037,2008300711
+2016210038,2016210038
+2016210039,2016210039
+2016210040,2008301021
+2016210041,2016210041
+2016210042,2016210042
+2016210043,2016210043
+2016210044,2016210044
+2016210045,2016210045
+2016210046,2016210046
+2016210047,2016210047
+2016210048,2016210048
+2016210049,2007300918
+2016210050,2016210050
+2016210051,2016210051
+2016210052,2008300720
+2016210053,2016210053
+2016210054,2008300967
+2016210055,2016210055
+2016210056,2016210056
+2016210057,2008301036
+2016210058,2016210058
+2016210059,2016210059
+2016210060,2016210060
+2016210061,2016210061
+2016210062,2016210062
+2016210063,2016210063
+2016210064,2008301338
+2016210065,2016210065
+2016210066,2016210066
+2016210067,2016210067
+2016210068,2016210068
+2016210069,2016210069
+2016210070,2016210070
+2016210071,2016210071
+2016210072,2016210072
+2016210073,2016210073
+2016210074,2016210074
+2016210075,2016210075
+2016210076,2010302986
+2016210077,2016210077
+2016210078,2016210078
+2016210079,2014240057
+2016210080,2016210080
+2016210081,2016210081
+2016210082,2016210082
+2016210083,2016210083
+2016210084,2016210084
+2016210085,2016210085
+2016210086,2008301273
+2016210087,061206
+2016210088,2016210088
+2016210089,2016210089
+2016210090,2008301640
+2016210091,2016210091
+2016210092,2016210092
+2016210093,2016210093
+2016210094,2007301560
+2016210095,2016210095
+2016210096,2016210096
+2016210097,2016210097
+2016210098,2008301257
+2016210099,2016210099
+2016210100,2016210100
+2016210101,2016210101
+2016210102,2016210102
+2016210103,2016210103
+2016210104,2016210104
+2016210105,2016210105
+2016210106,2016210106
+2016210107,2016210107
+2016210108,2016210108
+2016210109,2016210109
+2016210110,2008300721
+2016210111,2016210111
+2016210112,2016210112
+2016210113,2016210113
+2016210114,2016210114
+2016210115,2007301540
+2016210116,2016210116
+2016210117,2007300213
+2016210118,2016210118
+2016210119,2016210119
+2016210120,2016210120
+2016210121,2016210121
+2016210122,2008301625
+2016210123,2008301019
+2016210124,2008301565
+2016210125,2016210125
+2016210126,2016210126
+2016210127,2016210127
+2016210128,2016210128
+2016210129,2016210129
+2016210130,2008302212
+2016210131,2016210131
+2016210132,2016210132
+2016210133,2007301322
+2016210134,2016210134
+2016210135,2016210135
+2016210136,2016210136
+2016210137,2016210137
+2016210138,2016210138
+2016210139,2016210139
+2016210140,2016210140
+2016210141,2016210141
+2016210142,2010302134
+2016210143,2016210143
+2016210144,2016210144
+2016210145,2016210145
+2016210146,2016210146
+2016210147,2016210147
+2016210148,2016210148
+2016210149,2016210149
+2016210150,2016210150
+2016210151,2016210151
+2016210152,2016210152
+2016210153,2016210153
+2016210154,2016210154
+2016210155,2016210155
+2016210156,2016210156
+2016210157,2016210157
+2016210158,2016210158
+2016210159,2016210159
+2016210160,2016210160
+2016210161,2016210161
+2016210162,2016210162
+2016210163,2016210163
+2016210164,2016210164
+2016210165,2016210165
+2016210166,2016210166
+2016210167,2016210167
+2016210168,2008302416
+2016210169,2016210169
+2016210170,2016210170
+2016210171,2016210171
+2016210172,2016210172
+2016210173,2016210173
+2016210174,2016210174
+2016210175,2016210175
+2016210176,2016210176
+2016210177,2016210177
+2016210178,2016210178
+2016210179,2016210179
+2016210180,2016210180
+2016210181,2016210181
+2016210182,2016210182
+2016210183,2016210183
+2016210184,2016210184
+2016210185,2016210185
+2016210186,2016210186
+2016210187,2016210187
+2016210188,2016210188
+2016210189,2016210189
+2016210190,2016210190
+2016210191,2016210191
+2016210192,2016210192
+2016210193,2016210193
+2016210194,2016210194
+2016210195,2016210195
+2016210196,2016210196
+2016210197,2016210197
+2016210198,2016210198
+2016210199,2016210199
+2016210200,053757
+2016210201,2016210201
+2016210202,2016210202
+2016210203,2016210203
+2016210204,2016210204
+2016210205,2016210205
+2016210206,2016210206
+2016210207,2016210207
+2016210208,051909
+2016210209,2016210209
+2016210210,2016210210
+2016210211,2016210211
+2016210212,2010300266
+2016210213,2016210213
+2016210214,2016210214
+2016210215,2016210215
+2016210216,2016210216
+2016210217,2014240100
+2016210218,2016210218
+2016210219,2014240116
+2016210220,2016210220
+2016210221,2016210221
+2016210222,2016210222
+2016210223,2016210223
+2016210224,2016210224
+2016210225,2016210225
+2016210226,2016210226
+2016210227,2016210227
+2016210228,2016210228
+2016210229,2016210229
+2016210230,2016210230
+2016210231,2016210231
+2016210232,2016210232
+2016210233,2016210233
+2016210234,2010300241
+2016210235,2016210235
+2016210236,2016210236
+2016210237,2016210237
+2016210238,2014240118
+2016210239,2014240095
+2016210240,2014240096
+2016210241,2014240092
+2016210242,2014240086
+2016210243,2014240129
+2016210244,2014240121
+2016210245,2014240127
+2016210246,2014240128
+2016210247,2014240105
+2016210248,2014240106
+2016210249,2016210249
+2016210250,2016210250
+2016210251,2009302234
+2016210252,2016210252
+2016210253,2010303337
+2016210254,2016210254
+2016210255,2016210255
+2016210256,042065
+2016210257,2016210257
+2016210258,2016210258
+2016210259,2009302267
+2016210260,2016210260
+2016210261,2010302440
+2016210262,2016210262
+2016210263,2016210263
+2016210264,2016210264
+2016210265,2016210265
+2016210266,2014240089
+2016210267,2014240122
+2016210268,2016210268
+2016210269,2016210269
+2016210270,2016210270
+2016210271,2016210271
+2016210272,2016210272
+2016210273,2016210273
+2016210274,2016210274
+2016210275,2016210275
+2016210276,2016210276
+2016210277,2016210277
+2016210278,2008302913
+2016210279,2016210279
+2016210280,2016210280
+2016210281,2016210281
+2016210282,2016210282
+2016210283,2016210283
+2016210284,2016210284
+2016210285,2016210285
+2016210286,2016210286
+2016210287,2016210287
+2016210288,2016210288
+2016210289,2016210289
+2016210290,2016210290
+2016210291,2016210291
+2016210292,2016210292
+2016210293,2016210293
+2016210294,2016210294
+2016210295,2016210295
+2016210296,2016210296
+2016210297,2016210297
+2016210298,2016210298
+2016210299,2016210299
+2016210300,2016210300
+2016210301,2016210301
+2016210302,2016210302
+2016210303,2016210303
+2016210304,2016210304
+2016210305,2016210305
+2016210306,2016210306
+2016210307,2016210307
+2016210308,2016210308
+2016210309,2016210309
+2016210310,2016210310
+2016210311,2016210311
+2016210312,2016210312
+2016210313,2016210313
+2016210314,2016210314
+2016210315,2016210315
+2016210316,2016210316
+2016210317,2013240014
+2016210318,2016210318
+2016210319,2016210319
+2016210320,2003000098
+2016210321,20140P0118
+2016210322,2016210322
+2016210323,2016210323
+2016210324,2016210324
+2016210325,2016210325
+2016210326,2013240058
+2016210327,2016210327
+2016210328,2016210328
+2016210329,2016210329
+2016210330,2016210330
+2016210331,2016210331
+2016210332,2016210332
+2016210333,2016210333
+2016210334,2016210334
+2016210335,2016210335
+2016210336,2016210336
+2016210337,2016210337
+2016210338,2016210338
+2016210339,2016210339
+2016210340,2016210340
+2016210341,2016210341
+2016210342,2001020049
+2016210343,2011262434
+2016210344,2016210344
+2016210345,2016210345
+2016210346,2016210346
+2016210347,2016210347
+2016210348,2016210348
+2016210349,2016210349
+2016210350,2016210350
+2016210351,2016210351
+2016210352,2016210352
+2016210353,2016210353
+2016210354,2016210354
+2016210355,2009303430
+2016210356,2016210356
+2016210357,2016210357
+2016210358,2016210358
+2016210359,2016210359
+2016210360,2013240326
+2016210361,2016210361
+2016210362,2016210362
+2016210363,2016210363
+2016210364,2016210364
+2016210365,2016210365
+2016210366,2016210366
+2016210367,2016210367
+2016210368,2016210368
+2016210369,2016210369
+2016210370,2016210370
+2016210371,2016210371
+2016210372,2016210372
+2016210373,2016210373
+2016210374,2016210374
+2016210375,2016210375
+2016210376,2016210376
+2016210377,2016210377
+2016210378,2016210378
+2016210379,2016210379
+2016210380,2016210380
+2016210381,2016210381
+2016210382,2016210382
+2016210383,2016210383
+2016210384,2016210384
+2016210385,2016210385
+2016210386,2016210386
+2016210387,2016210387
+2016210388,2016210388
+2016210389,2016210389
+2016210390,2007302370
+2016210391,2016210391
+2016210392,2016210392
+2016210393,2016210393
+2016210394,2016210394
+2016210395,2016210395
+2016210396,2016210396
+2016210397,2016210397
+2016210398,2016210398
+2016210399,2016210399
+2016210400,2016210400
+2016210401,2016210401
+2016210402,2016210402
+2016210403,2016210403
+2016210404,2016210404
+2016210405,2016210405
+2016210406,2016210406
+2016210407,2014240074
+2016210408,2016210408
+2016210409,2016210409
+2016210410,2015240132
+2016210411,2016210411
+2016210412,2016210412
+2016210413,2016210413
+2016210414,2016210414
+2016210415,2016210415
+2016210416,2016210416
+2016210417,2016210417
+2016210418,2016210418
+2016210419,2016210419
+2016210420,2016210420
+2016210421,2016210421
+2016210422,2016210422
+2016210423,2016210423
+2016210424,2015240141
+2016210425,2016210425
+2016210426,2016210426
+2016210427,2016210427
+2016210428,2016210428
+2016210429,2016210429
+2016210430,2016210430
+2016210431,2016210431
+2016210432,2016210432
+2016210433,2016210433
+2016210434,2016210434
+2016210435,2016210435
+2016210436,2016210436
+2016210437,2016210437
+2016210438,2016210438
+2016210439,2016210439
+2016210440,2014240004
+2016210441,2016210441
+2016210442,2014240078
+2016210443,2016210443
+2016210444,2016210444
+2016210445,2016210445
+2016210446,2015240128
+2016210447,2016210447
+2016210448,2016210448
+2016210449,2016210449
+2016210450,2016210450
+2016210451,2016210451
+2016210452,2016210452
+2016210453,2016210453
+2016210454,2016210454
+2016210455,2016210455
+2016210456,2016210456
+2016210457,2016210457
+2016210458,2016210458
+2016210459,2016210459
+2016210460,2016210460
+2016210461,2016210461
+2016210462,2016210462
+2016210463,2016210463
+2016210464,2016210464
+2016210465,2016210465
+2016210466,2016210466
+2016210467,2016210467
+2016210468,2016210468
+2016210469,2016210469
+2016210470,2016210470
+2016210471,2016210471
+2016210472,2016210472
+2016210473,2016210473
+2016210474,2016210474
+2016210475,2016210475
+2016210476,2016210476
+2016210477,2016210477
+2016210478,2016210478
+2016210479,2016210479
+2016210480,2016210480
+2016210481,2016210481
+2016210482,2016210482
+2016210483,2016210483
+2016210484,2016210484
+2016210485,2016210485
+2016210486,2016210486
+2016210487,2016210487
+2016210488,2016210488
+2016210489,2016210489
+2016210490,2013240282
+2016210491,2016210491
+2016210492,2016210492
+2016210493,2016210493
+2016210494,2016210494
+2016210495,2013240280
+2016210496,2013240293
+2016210497,2016210497
+2016210498,2016210498
+2016210499,2015240139
+2016240001,2016240001
+2016240002,2016240002
+2016240003,2016240003
+2016240004,2016240004
+2016240005,2016240005
+2016240006,2016240006
+2016240007,2016240007
+2016240008,2016240008
+2016240009,2016240009
+2016240010,2016240010
+2016240011,2016240011
+2016240012,2016240012
+2016240013,2016240013
+2016240014,2016240014
+2016240015,2016240015
+2016240016,2016240016
+2016240017,2016240017
+2016240018,2016240018
+2016240019,2016240019
+2016240020,2016240020
+2016240021,2016240021
+2016240022,2016240022
+2016240023,2016240023
+2016240024,2016240024
+2016240025,2016240025
+2016240026,2016240026
+2016250001,2010300212
+2016250002,2009300501
+2016250003,2016250003
+2016250004,2016250004
+2016250005,2016250005
+2016250006,2016250006
+2016250007,2016250007
+2016250009,2016250009
+2016250010,2016250010
+2016250011,2012301057
+2016250012,2016250012
+2016250013,2016250013
+2016250014,2016250014
+2016250015,2012301916
+2016250016,2016250016
+2016250017,2016250017
+2016250018,2012300206
+2016250019,2016250019
+2016250020,2012302152
+2016250021,2011302287
+2016250022,2016250022
+2016250023,2016250023
+2016250024,2016250024
+2016250025,2016250025
+2016250026,2016250026
+2016250027,2016250027
+2016250028,2016250028
+2016250029,2016250029
+2016250030,2016250030
+2016250031,2012301216
+2016250032,2016250032
+2016250033,2016250033
+2016250034,2016250034
+2016250035,2016250035
+2016250036,2016250036
+2016250037,2012300226
+2016250038,2016250038
+2016250039,2016250039
+2016250040,2011300496
+2016250041,2016250041
+2016250042,2016250042
+2016250043,2016250043
+2016250044,2016250044
+2016250045,2016250045
+2016250046,2016250046
+2016250047,2016250047
+2016250048,2016250048
+2016250049,2016250049
+2016250050,2016250050
+2016250051,2016250051
+2016250052,2016250052
+2016250053,2016250053
+2016250054,2016250054
+2016250055,2016250055
+2016250056,2012300991
+2016250057,2012301007
+2016250058,2016250058
+2016250059,2016250059
+2016250060,2016250060
+2016250061,2016250061
+2016250062,2016250062
+2016250063,2011300245
+2016250064,2016250064
+2016250065,2016250065
+2016250066,2016250066
+2016250067,2010301087
+2016250068,2016250068
+2016250069,2008300454
+2016250070,2012301150
+2016250071,2016250071
+2016250072,2016250072
+2016250073,2016250073
+2016250074,2016250074
+2016250075,2016250075
+2016250076,2016250076
+2016250077,2016250077
+2016250078,2016250078
+2016250079,2016250079
+2016250080,2016250080
+2016250081,2012300034
+2016250082,2016250082
+2016250083,2016250083
+2016250084,2016250084
+2016250085,2016250085
+2016250086,2016250086
+2016250087,2016250087
+2016250088,2016250088
+2016250089,2016250089
+2016250090,2016250090
+2016250091,2016250091
+2016250092,2016250092
+2016250093,2011302275
+2016250094,2014250127
+2016250095,2016250095
+2016250096,2016250096
+2016250097,2016250097
+2016250098,2016250098
+2016250099,2016250099
+2016250100,2016250100
+2016250101,2016250101
+2016250102,2016250102
+2016250103,2016250103
+2016250104,2012301656
+2016250105,2016250105
+2016250106,2016250106
+2016250107,2016250107
+2016250108,2016250108
+2016250109,2016250109
+2016250110,2016250110
+2016250111,2016250111
+2016250112,2016250112
+2016250113,2016250113
+2016250114,2016250114
+2016250115,2012300499
+2016250116,2016250116
+2016250117,2016250117
+2016250118,2016250118
+2016250119,2016250119
+2016250120,2016250120
+2016250121,2016250121
+2016250122,2016250122
+2016250123,2016250123
+2016250124,2016250124
+2016250125,2016250125
+2016250126,2016250126
+2016250127,2016250127
+2016250128,2016250128
+2016260146,2011303366
+2016260147,2016260147
+2016260148,2016260148
+2016260149,2012300215
+2016260150,2016260150
+2016260151,2016260151
+2016260152,2016260152
+2016260153,2016260153
+2016260154,2012300363
+2016260155,2012300351
+2016260156,2012300167
+2016260157,2012300293
+2016260158,2016260158
+2016260159,2012300383
+2016260160,2016260160
+2016260161,2012300232
+2016260162,2012300261
+2016260163,2012300267
+2016260164,2016260164
+2016260165,2012300394
+2016260166,2016260166
+2016260167,2016260167
+2016260168,2012300153
+2016260169,2011300048
+2016260170,2011302264
+2016260171,2011300300
+2016260172,2016260172
+2016260173,2012300272
+2016260174,2012300262
+2016260175,2012300378
+2016260176,2012300387
+2016260177,2012300191
+2016260178,2012300359
+2016260179,2016260179
+2016260180,2016260180
+2016260181,2016260181
+2016260182,2016260182
+2016260183,2012300382
+2016260184,2016260184
+2016260185,2012300157
+2016260186,2016260186
+2016260187,2016260187
+2016260188,2016260188
+2016260189,2016260189
+2016260190,2016260190
+2016260191,2012300138
+2016260192,2016260192
+2016260193,2011300250
+2016260194,2016260194
+2016260195,2016260195
+2016260196,2016260196
+2016260197,2012300362
+2016260198,2016260198
+2016260199,2012300168
+2016260200,2012300343
+2016260201,2011301432
+2016260202,2010300340
+2016260203,2010300136
+2016260204,2012300106
+2016260205,2010300239
+2016260206,2016260206
+2016260207,2016260207
+2016260208,2016260208
+2016260209,2012300188
+2016260210,2016260210
+2016260211,2016260211
+2016260212,2016260212
+2016260213,2016260213
+2016260214,2012300384
+2016260215,2016260215
+2016260216,2016260216
+2016260217,2011300377
+2016260218,2012300374
+2016260219,2012300005
+2016260220,2012300308
+2016260221,2016260221
+2016260306,2016260306
+2016260307,2016260307
+2016260308,2016260308
+2016260309,2012300503
+2016260310,2012300501
+2016260311,2012302099
+2016260312,2016260312
+2016260313,2012300524
+2016260314,2012300546
+2016260315,2016260315
+2016260316,2011300511
+2016260317,2011300510
+2016260318,2012302291
+2016260319,2012300522
+2016260320,2016260320
+2016260321,2012300512
+2016260322,2016260322
+2016260323,2012300425
+2016260324,2016260324
+2016260325,2016260325
+2016260326,2016260326
+2016260327,2011300560
+2016260328,2012302856
+2016260329,2012300436
+2016260330,2016260330
+2016260331,2016260331
+2016260332,2016260332
+2016260333,2012302573
+2016260334,2016260334
+2016260335,2016260335
+2016260336,2012300799
+2016260337,2012300485
+2016260338,2012300136
+2016260339,2016260339
+2016260340,2010302752
+2016260341,2012300482
+2016260342,2012300474
+2016260343,2012300431
+2016260344,2016260344
+2016260345,2012300462
+2016260346,2012300438
+2016260347,2012300483
+2016260348,2012300555
+2016260349,2012300584
+2016260350,2012300569
+2016260351,2016260351
+2016260455,2012300741
+2016260456,2012300700
+2016260457,2016260457
+2016260458,2011300713
+2016260459,2012300702
+2016260460,2016260460
+2016260461,2016260461
+2016260462,2016260462
+2016260463,2016260463
+2016260464,2016260464
+2016260465,2012300681
+2016260466,2012300689
+2016260467,2016260467
+2016260468,2016260468
+2016260469,2016260469
+2016260470,2016260470
+2016260471,2016260471
+2016260472,2016260472
+2016260473,2016260473
+2016260474,2016260474
+2016260475,2012300652
+2016260476,2016260476
+2016260477,2016260477
+2016260478,2012300649
+2016260479,2016260479
+2016260480,2016260480
+2016260481,2016260481
+2016260482,2016260482
+2016260483,2016260483
+2016260484,2012300915
+2016260485,2016260485
+2016260486,2016260486
+2016260487,2016260487
+2016260488,2012300687
+2016260489,2016260489
+2016260490,2016260490
+2016260491,2010300728
+2016260492,2012300703
+2016260493,2012300757
+2016260494,2012300668
+2016260495,2012300607
+2016260496,2016260496
+2016260497,2016260497
+2016260498,2016260498
+2016260499,2012300804
+2016260500,2012300654
+2016260501,2016260501
+2016260502,2016260502
+2016260503,2016260503
+2016260504,2016260504
+2016260505,2016260505
+2016260506,2012300816
+2016260507,2012301977
+2016260508,2016260508
+2016260509,2016260509
+2016260510,2016260510
+2016260674,2012300894
+2016260675,2016260675
+2016260676,2016260676
+2016260677,2016260677
+2016260678,2016260678
+2016260679,2016260679
+2016260680,2016260680
+2016260681,2016260681
+2016260682,2016260682
+2016260683,2016260683
+2016260684,2012300872
+2016260685,2012300878
+2016260686,2016260686
+2016260687,2016260687
+2016260688,2016260688
+2016260689,2012300835
+2016260690,2016260690
+2016260691,2016260691
+2016260692,2012300933
+2016260693,2016260693
+2016260694,2016260694
+2016260695,2016260695
+2016260696,2016260696
+2016260697,2016260697
+2016260698,2016260698
+2016260699,2016260699
+2016260700,2016260700
+2016260701,2016260701
+2016260702,2012300971
+2016260703,2016260703
+2016260704,2010300877
+2016260705,2012300936
+2016260706,2016260706
+2016260707,2016260707
+2016260708,2016260708
+2016260709,2016260709
+2016260710,2016260710
+2016260711,2012300977
+2016260712,2016260712
+2016260713,2012300987
+2016260714,2016260714
+2016260715,2016260715
+2016260716,2016260716
+2016260717,2016260717
+2016260718,2016260718
+2016260719,2016260719
+2016260720,2012300998
+2016260721,2016260721
+2016260722,2016260722
+2016260723,2016260723
+2016260724,2016260724
+2016260725,2016260725
+2016260726,2016260726
+2016260727,2016260727
+2016260728,2016260728
+2016260729,2016260729
+2016260730,2016260730
+2016260731,2016260731
+2016260732,2012300966
+2016260733,2016260733
+2016260734,2016260734
+2016260735,2016260735
+2016260736,2016260736
+2016260737,2012301857
+2016260738,2016260738
+2016260739,2016260739
+2016260740,2016260740
+2016260741,2016260741
+2016260742,2016260742
+2016260743,2016260743
+2016260744,2016260744
+2016260745,2016260745
+2016260746,2016260746
+2016260747,2016260747
+2016260748,2016260748
+2016260749,2012300954
+2016260750,2016260750
+2016260751,2016260751
+2016260752,2016260752
+2016260753,2016260753
+2016260754,2016260754
+2016260755,2016260755
+2016260756,2016260756
+2016260939,2016260939
+2016260940,2016260940
+2016260941,2016260941
+2016260942,2016260942
+2016260943,2016260943
+2016260944,2016260944
+2016260945,2016260945
+2016260946,2016260946
+2016260947,2016260947
+2016260948,2016260948
+2016260949,2016260949
+2016260950,2016260950
+2016260951,2016260951
+2016260952,2016260952
+2016260953,2016260953
+2016260954,2016260954
+2016260955,2016260955
+2016260956,2016260956
+2016260957,2016260957
+2016260958,2011301297
+2016260959,2016260959
+2016260960,2016260960
+2016260961,2012301360
+2016260962,2016260962
+2016260963,2016260963
+2016260964,2016260964
+2016260965,2016260965
+2016260966,2016260966
+2016260967,2016260967
+2016260968,2016260968
+2016260969,2016260969
+2016260970,2016260970
+2016260971,2016260971
+2016260972,2016260972
+2016260973,2016260973
+2016260974,2016260974
+2016260975,2012301369
+2016260976,2016260976
+2016260977,2016260977
+2016260978,2016260978
+2016260979,2016260979
+2016260980,2016260980
+2016260981,2016260981
+2016260982,2016260982
+2016260983,2016260983
+2016260984,2016260984
+2016260985,2016260985
+2016260986,2016260986
+2016260987,2016260987
+2016260988,2016260988
+2016260989,2016260989
+2016260990,2016260990
+2016260991,2016260991
+2016260992,2016260992
+2016260993,2016260993
+2016260994,2016260994
+2016260995,2016260995
+2016260996,2016260996
+2016260997,2016260997
+2016260998,2016260998
+2016260999,2016260999
+2016261000,2016261000
+2016261001,2016261001
+2016261002,2016261002
+2016261003,2016261003
+2016261004,2016261004
+2016261005,2012301063
+2016261006,2016261006
+2016261007,2016261007
+2016261008,2016261008
+2016261009,2016261009
+2016261010,2016261010
+2016261011,2016261011
+2016261012,2016261012
+2016261013,2012301293
+2016261014,2012301295
+2016261015,2016261015
+2016261016,2012301294
+2016261017,2016261017
+2016261018,2012301259
+2016261019,2012301050
+2016261020,2016261020
+2016261021,2012301025
+2016261077,2016261077
+2016261078,2016261078
+2016261079,2016261079
+2016261080,2016261080
+2016261081,2016261081
+2016261082,2016261082
+2016261083,2016261083
+2016261084,2016261084
+2016261085,2016261085
+2016261086,2016261086
+2016261087,2016261087
+2016261088,2016261088
+2016261089,2012301418
+2016261090,2016261090
+2016261091,2016261091
+2016261092,2016261092
+2016261093,2016261093
+2016261094,2016261094
+2016261095,2016261095
+2016261096,2016261096
+2016261097,2016261097
+2016261098,2016261098
+2016261099,2016261099
+2016261100,2011301449
+2016261101,2016261101
+2016261102,2010301546
+2016261192,2016261192
+2016261193,2016261193
+2016261194,2016261194
+2016261195,2016261195
+2016261196,2016261196
+2016261197,2016261197
+2016261198,2012301584
+2016261199,2016261199
+2016261200,2016261200
+2016261201,2016261201
+2016261202,2016261202
+2016261203,2016261203
+2016261204,2012301713
+2016261205,2016261205
+2016261206,2010301692
+2016261207,2016261207
+2016261208,2016261208
+2016261209,2016261209
+2016261210,2012301734
+2016261211,2016261211
+2016261212,2012301644
+2016261213,2016261213
+2016261214,2012301600
+2016261215,2012301745
+2016261216,2012301736
+2016261217,2016261217
+2016261218,2016261218
+2016261219,2012301617
+2016261220,2016261220
+2016261221,2012301599
+2016261222,051494
+2016261223,2010301749
+2016261224,2016261224
+2016261225,2012301641
+2016261226,2016261226
+2016261227,2012301592
+2016261228,2016261228
+2016261229,2016261229
+2016261230,2012301639
+2016261231,2016261231
+2016261232,2011300316
+2016261233,2012301579
+2016261234,2012301604
+2016261235,2016261235
+2016261236,2016261236
+2016261237,2012301564
+2016261374,2012301993
+2016261375,2016261375
+2016261376,2009302097
+2016261377,2016261377
+2016261378,2016261378
+2016261379,2016261379
+2016261380,2016261380
+2016261381,2016261381
+2016261382,2016261382
+2016261383,2016261383
+2016261384,2016261384
+2016261385,2016261385
+2016261386,2012302194
+2016261387,2016261387
+2016261388,2016261388
+2016261389,2016261389
+2016261390,2012301863
+2016261391,2012301794
+2016261392,2016261392
+2016261393,2016261393
+2016261394,2016261394
+2016261395,2016261395
+2016261396,2016261396
+2016261397,2012301798
+2016261398,2012303567
+2016261399,2016261399
+2016261400,2016261400
+2016261401,2016261401
+2016261402,2011301898
+2016261403,2016261403
+2016261404,2012301949
+2016261405,2016261405
+2016261406,2011302679
+2016261407,2016261407
+2016261408,2016261408
+2016261409,2012302660
+2016261410,2012302037
+2016261411,2012301963
+2016261412,2016261412
+2016261413,2016261413
+2016261414,2012301961
+2016261415,2016261415
+2016261416,2010301892
+2016261417,2011301953
+2016261418,2016261418
+2016261419,2012301913
+2016261420,2012301900
+2016261421,2012301924
+2016261422,2016261422
+2016261423,2012301947
+2016261424,2012301914
+2016261425,2012301958
+2016261426,2012301946
+2016261427,2012300090
+2016261428,2012302016
+2016261429,2016261429
+2016261430,2016261430
+2016261432,2012301938
+2016261596,2016261596
+2016261597,2011302305
+2016261598,2016261598
+2016261599,2020100322
+2016261600,2011302325
+2016261601,2016261601
+2016261602,2011302190
+2016261603,2012302156
+2016261604,2016261604
+2016261605,2016261605
+2016261606,2016261606
+2016261607,2016261607
+2016261608,2016261608
+2016261609,2016261609
+2016261610,2016261610
+2016261611,2016261611
+2016261612,2016261612
+2016261613,2016261613
+2016261614,2016261614
+2016261615,2012302172
+2016261616,2016261616
+2016261617,2016261617
+2016261618,2016261618
+2016261619,2012302192
+2016261620,2012302228
+2016261621,2012302206
+2016261622,2016261622
+2016261623,2012302167
+2016261624,2016261624
+2016261625,2016261625
+2016261626,2016261626
+2016261627,2016261627
+2016261628,2016261628
+2016261629,2016261629
+2016261630,2016261630
+2016261631,2016261631
+2016261632,2016261632
+2016261633,2016261633
+2016261634,2016261634
+2016261635,2016261635
+2016261636,2016261636
+2016261637,2016261637
+2016261638,2016261638
+2016261639,2016261639
+2016261640,2016261640
+2016261641,2016261641
+2016261642,2016261642
+2016261643,2011301399
+2016261644,2016261644
+2016261645,2016261645
+2016261646,2016261646
+2016261647,2016261647
+2016261648,2016261648
+2016261649,2016261649
+2016261650,2016261650
+2016261651,2016261651
+2016261652,2016261652
+2016261653,2012302324
+2016261654,2016261654
+2016261655,2016261655
+2016261656,2016261656
+2016261657,2016261657
+2016261658,2016261658
+2016261659,2016261659
+2016261784,2016261784
+2016261785,2016261785
+2016261786,2016261786
+2016261787,2016261787
+2016261788,2012302435
+2016261789,2016261789
+2016261790,2012303416
+2016261791,2012301082
+2016261792,2012302705
+2016261793,2016261793
+2016261794,2016261794
+2016261795,2016261795
+2016261796,2016261796
+2016261797,2016261797
+2016261798,2012302468
+2016261799,2016261799
+2016261800,2016261800
+2016261801,2012302641
+2016261802,2016261802
+2016261803,2016261803
+2016261804,2012302441
+2016261805,2016261805
+2016261806,2016261806
+2016261807,2016261807
+2016261808,2016261808
+2016261809,2016261809
+2016261810,2016261810
+2016261811,2016261811
+2016261812,2012302888
+2016261813,2016261813
+2016261814,2016261814
+2016261815,2016261815
+2016261816,2016261816
+2016261817,2012302464
+2016261818,2016261818
+2016261819,2016261819
+2016261820,2016261820
+2016261821,2016261821
+2016261822,2016261822
+2016261823,2016261823
+2016261824,2016261824
+2016261825,2016261825
+2016261826,2012302467
+2016261827,2016261827
+2016261828,2016261828
+2016261829,2016261829
+2016261830,2016261830
+2016261831,2016261831
+2016261832,2016261832
+2016261833,2016261833
+2016261834,2010303522
+2016261835,2011301876
+2016261836,2016261836
+2016261837,2016261837
+2016261838,2016261838
+2016261839,2016261839
+2016261840,2012302525
+2016261841,2016261841
+2016261842,2016261842
+2016262017,2016262017
+2016262018,2012302836
+2016262019,2011302867
+2016262020,2012302868
+2016262021,2011302866
+2016262022,2012302773
+2016262023,2016262023
+2016262024,2016262024
+2016262025,2012302808
+2016262026,2016262026
+2016262027,2016262027
+2016262028,2016262028
+2016262029,2016262029
+2016262030,2012302755
+2016262031,2016262031
+2016262032,2016262032
+2016262033,2011302815
+2016262034,2016262034
+2016262035,2016262035
+2016262036,2016262036
+2016262037,2016262037
+2016262038,2016262038
+2016262039,2016262039
+2016262040,2016262040
+2016262041,2016262041
+2016262042,2016262042
+2016262043,2012302873
+2016262122,2012303081
+2016262123,2012303074
+2016262124,2016262124
+2016262125,2016262125
+2016262126,2016262126
+2016262127,2016262127
+2016262128,2016262128
+2016262129,2016262129
+2016262130,2016262130
+2016262131,2016262131
+2016262132,2016262132
+2016262133,2016262133
+2016262134,2016262134
+2016262135,2016262135
+2016262136,2016262136
+2016262137,2011303124
+2016262138,2016262138
+2016262139,2012303084
+2016262140,2016262140
+2016262141,2016262141
+2016262142,2016262142
+2016262143,2016262143
+2016262144,2016262144
+2016262145,2016262145
+2016262146,2016262146
+2016262147,2016262147
+2016262148,2016262148
+2016262149,2016262149
+2016262150,2016262150
+2016262151,2016262151
+2016262152,2016262152
+2016262153,2016262153
+2016262154,2012303036
+2016262155,2016262155
+2016262156,2013240246
+2016262157,2016262157
+2016262158,2016262158
+2016262159,2016262159
+2016262160,2016262160
+2016262161,2013240257
+2016262162,2016262162
+2016262164,2016262164
+2016262165,2016262165
+2016262167,2016262167
+2016262168,2016262168
+2016262169,041121
+2016262170,2016262170
+2016262171,2016262171
+2016262172,2016262172
+2016262173,2016262173
+2016262174,2016262174
+2016262175,2016262175
+2016262176,2016262176
+2016262177,2016262177
+2016262178,2016262178
+2016262179,2016262179
+2016262180,2016262180
+2016262181,2016262181
+2016262182,2016262182
+2016262183,2016262183
+2016262184,2016262184
+2016262185,2016262185
+2016262186,2016262186
+2016262187,2016262187
+2016262188,2016262188
+2016262189,2016262189
+2016262190,2016262190
+2016262191,2016262191
+2016262192,2016262192
+2016262193,2016262193
+2016262194,2016262194
+2016262195,2016262195
+2016262196,2016262196
+2016262197,2016262197
+2016262198,2016262198
+2016262199,2016262199
+2016262200,2016262200
+2016262201,2013240241
+2016262202,2016262202
+2016262203,2013240254
+2016262204,2016262204
+2016262205,2016262205
+2016262206,2016262206
+2016262207,2016262207
+2016262208,2016262208
+2016262209,2016262209
+2016262210,2016262210
+2016262211,2016262211
+2016262212,2016262212
+2016262213,2016262213
+2016262214,2016262214
+2016262215,2016262215
+2016262216,2013240183
+2016262217,2016262217
+2016262218,2016262218
+2016262219,2016262219
+2016262220,2016262220
+2016262221,2016262221
+2016262222,2016262222
+2016262223,2016262223
+2016262224,2016262224
+2016262225,2016262225
+2016262226,2016262226
+2016262227,2016262227
+2016262228,2016262228
+2016262229,2016262229
+2016262230,2016262230
+2016262231,2016262231
+2016262232,2016262232
+2016262233,2016262233
+2016262234,2016262234
+2016262235,2016262235
+2016262236,2016262236
+2016262237,2016262237
+2016262238,2016262238
+2016262239,2016262239
+2016262240,2016262240
+2016262241,2016262241
+2016262242,2016262242
+2016262243,2016262243
+2016262244,2016262244
+2016262245,2016262245
+2016262246,2016262246
+2016262247,2016262247
+2016262248,2016262248
+2016262249,2016262249
+2016262250,2016262250
+2016262251,2016262251
+2016262252,2016262252
+2016262253,2016262253
+2016262254,2016262254
+2016262255,2016262255
+2016262256,2016262256
+2016262257,2016262257
+2016262258,2016262258
+2016262259,2016262259
+2016262260,2016262260
+2016262261,2016262261
+2016262262,2016262262
+2016262263,2016262263
+2016262264,2016262264
+2016262265,2016262265
+2016262266,2016262266
+2016262267,2016262267
+2016262268,2016262268
+2016262269,2016262269
+2016262270,2016262270
+2016262271,2016262271
+2016262272,2016262272
+2016262273,2016262273
+2016262274,2013240323
+2016262275,2016262275
+2016262276,2016262276
+2016262277,2016262277
+2016262278,2016262278
+2016262279,2016262279
+2016262280,2016262280
+2016262281,2016262281
+2016262282,2016262282
+2016262283,2016262283
+2016262284,2016262284
+2016262285,2016262285
+2016262286,2016262286
+2016262287,2016262287
+2016262288,2016262288
+2016262289,2016262289
+2016262290,2016262290
+2016262291,2016262291
+2016262292,2016262292
+2016262293,2016262293
+2016262294,2016262294
+2016262295,2016262295
+2016262296,2016262296
+2016262297,2016262297
+2016262298,2016262298
+2016262299,2016262299
+2016262300,2016262300
+2016262301,2016262301
+2016262302,2016262302
+2016262303,2016262303
+2016262304,2016262304
+2016262305,2016262305
+2016262306,2016262306
+2016262307,2016262307
+2016262308,2016262308
+2016262309,2016262309
+2016262310,2016262310
+2016262311,2016262311
+2016262312,2016262312
+2016262313,2016262313
+2016262314,2016262314
+2016262315,2016262315
+2016262316,2016262316
+2016262317,2016262317
+2016262318,2016262318
+2016262319,2016262319
+2016262320,2016262320
+2016262321,2016262321
+2016262322,2016262322
+2016262323,2016262323
+2016262324,2016262324
+2016262325,2016262325
+2016262326,2013240167
+2016262327,2013240163
+2016262328,2016262328
+2016262329,2016262329
+2016262330,2016262330
+2016262331,2016262331
+2016262332,2016262332
+2016262333,2016262333
+2016262334,2016262334
+2016262335,2013240148
+2016262336,2016262336
+2016262337,2016262337
+2016262338,2016262338
+2016262339,2016262339
+2016262340,2016262340
+2016262341,2016262341
+2016262342,2016262342
+2016262343,2016262343
+2016262344,2016262344
+2016262345,2016262345
+2016262346,2016262346
+2016262347,2016262347
+2016262348,2016262348
+2016262349,2016262349
+2016262350,2016262350
+2016262351,2013240371
+2016262352,2016262352
+2016262353,2016262353
+2016262354,2016262354
+2016262355,2016262355
+2016262356,2016262356
+2016262357,2016262357
+2016262358,2016262358
+2016262359,2016262359
+2016262360,2016262360
+2016262361,2016262361
+2016262362,2016262362
+2016262363,2016262363
+2016262364,2016262364
+2016262365,2013240154
+2016262366,2016262366
+2016262367,2016262367
+2016262368,2016262368
+2016262369,2016262369
+2016262370,2016262370
+2016262371,2016262371
+2016262372,2016262372
+2016262373,2016262373
+2016262374,2016262374
+2016262375,2016262375
+2016262376,2016262376
+2016262377,2016262377
+2016262378,2016262378
+2016262379,2013240159
+2016262380,2016262380
+2016262381,2016262381
+2016262382,2016262382
+2016262383,2015240119
+2016262384,041845
+2016262385,2016262385
+2016262387,2016262387
+2016262388,2015240122
+2016262389,2015240120
+2016262390,2016262390
+2016262391,2016262391
+2016262392,2016262392
+2016262393,2015240121
+2016262394,2016262394
+2016262395,2016262395
+2016262396,2015210113
+2016262397,2016262397
+2016262398,2016262398
+2016262399,2016262399
+2016262400,2015240124
+2016262401,2016262401
+2016262402,2016262402
+2016262403,2016262403
+2016262404,2016262404
+2016262405,2016262405
+2016262406,2016262406
+2016262407,2016262407
+2016262408,2016262408
+2016262409,2016262409
+2016262410,2016262410
+2016262411,2016262411
+2016262412,2016262412
+2016262413,2016262413
+2016262414,2016262414
+2016262416,2016210294
+2016262417,2016262417
+2016262418,2016262418
+2016262420,2016262420
+2016262421,2016262421
+2016262422,2016262422
+2016262424,2016262424
+2016262425,2016262425
+2016262426,2016262426
+2016262427,2016262427
+2016262428,2016262428
+2016262429,2016262429
+2016262430,2016262430
+2016262431,2016262431
+2016262432,2016262432
+2016262433,2016262433
+2016262434,2016262434
+2016262435,2016262435
+2016262436,2016262436
+2016262437,2016262437
+2016262438,2016262438
+2016262439,2016262439
+2016262440,2016262440
+2016262441,2016262441
+2016262442,2016262442
+2016262443,2016262443
+2016262509,2016262509
+2016262510,2016262510
+2016262511,2016262511
+2016262512,2016262512
+2016262513,2016262513
+2016262514,20140P0208
+2016262515,2016262515
+2016262516,2016262516
+2016262517,2016262517
+2016262518,2016262518
+2016262519,2016262519
+2016262520,2016262520
+2016262521,2016262521
+2016262522,2016262522
+2016262523,2016262523
+2016262524,2016262524
+2016262525,2016262525
+2016262526,2016262526
+2016262527,043611
+2016262528,2016262528
+2016262529,2016262529
+2016262530,2016262530
+2016262531,2016262531
+2016262532,2016210396
+2016262533,2016262533
+2016262534,20140P0222
+2016262535,2016262535
+2016262536,2016262536
+2016262537,2016262537
+2016262538,2016262538
+2016262539,2016262539
+2016262540,2016262540
+2016262541,2016262541
+2016262542,2016262542
+2016262543,2016262543
+2016262544,2016262544
+2016262545,2016262545
+2016262546,2016262546
+2016262547,2016262547
+2016262548,2016262548
+2016262549,2016262549
+2016262550,2016262550
+2016262551,2016262551
+2016262552,2016262552
+2016262553,2016262553
+2016262554,2016262554
+2016262555,2016262555
+2016262556,2016262556
+2016262557,2016262557
+2016262558,2016262558
+2016262559,2016262559
+2016262560,2016262560
+2016262561,2016262561
+2016262562,2016262562
+2016262563,2016262563
+2016262564,2016262564
+2016262565,2016262565
+2016262566,2016262566
+2016262567,2016262567
+2016262568,2016262568
+2016262569,2016262569
+2016262570,2016262570
+2016262571,2016262571
+2016262572,2016262572
+2016262573,2016262573
+2016262574,2016262574
+2016262575,2016262575
+2016262576,2016262576
+2016262577,2016262577
+2016262578,2016262578
+2016262579,2016262579
+2016262580,2016262580
+2016262581,2016262581
+2016262582,2016262582
+2016262587,2016262587
+2016262588,2016262588
+2016262589,2016262589
+2016262590,2009303582
+2016262591,2016262591
+2016262592,2016262592
+2016262593,2012303330
+2016262594,2016262594
+2016262595,2016262595
+2016262596,2016262596
+2016262597,2016262597
+2016262598,2016262598
+2016262599,2016262599
+2016262600,2016262600
+2016262601,2011303361
+2016262602,2012303395
+2016262603,2016262603
+2016262604,2016262604
+2016262605,2016262605
+2016262606,2016262606
+2016262607,2012302782
+2016262608,2016262608
+2016262609,2016262609
+2016262610,2011300024
+2016262611,2012303431
+2016262612,2016262612
+2016262613,2016262613
+2016262614,2016262614
+2016262615,2016262615
+2016262616,2016262616
+2016262617,2016262617
+2016262618,2012303314
+2016262619,2016262619
+2016262620,2012303322
+2016262621,2012303508
+2016262622,2016262622
+2016262623,2012303463
+2016262624,2016262624
+2016262625,2016262625
+2016262626,2016262626
+2016262627,2016262627
+2016262628,2011303482
+2016262629,2016262629
+2016262630,2013211508
+2016262631,2016262631
+2016262632,2016262632
+2016262633,2012303518
+2016262634,2016262634
+2016262635,2016262635
+2016262636,2016262636
+2016262637,2016262637
+2016262638,2016262638
+2016262639,2016262639
+2016262640,2016262640
+2016262641,2016262641
+2016262642,2016262642
+2016262643,2016262643
+2016262644,2016262644
+2016262645,2016262645
+2016262646,2016262646
+2016262647,2012303360
+2016262648,2016262648
+2016262649,2012303465
+2016262650,2012303393
+2016262652,2012303403
+2016262653,2016262653
+2016262654,2016262654
+2016262655,2016262655
+2016262691,2016262691
+2016262692,2016262692
+2016262693,2016262693
+2016262694,2016262694
+2016262695,2016262695
+2016262696,2016262696
+2016262717,2011303250
+2016262718,2016262718
+2016262719,2016262719
+2016262720,2016262720
+2016262721,2016070100
+2016262722,2016262722
+2016262723,2012303105
+2016262724,2016262724
+2016262725,2016262725
+2016262726,2016262726
+2016262727,2012303113
+2016262728,2016262728
+2016262729,2016262729
+2016262730,2016262730
+2016262731,2016262731
+2016262732,2016262732
+2016262733,2016262733
+2016262734,2016262734
+2016262735,2016262735
+2016262736,2016262736
+2016262737,2016262737
+2016262738,2016262738
+2016262739,2016262739
+2016262740,2015070049
+2016262741,2016262741
+2016280001,2016280001
+2016280002,2016280002
+2016280003,2016280003
+2016280004,2016280004
+2016280005,2016280005
+2016280006,2016280006
+2016280007,2016280007
+2016280008,2016280008
+2016280009,2016280009
+2016280010,2016280010
+2016280011,2016280011
+2016280012,2016280012
+2016280013,2016280013
+2016280014,2016280014
+2016280015,2016280015
+2016280016,2016280016
+2016280017,2016280017
+2016280018,2016280018
+2016280019,2016280019
+2016280020,2016280020
+2016280021,2016280021
+2016280022,2016280022
+2016280023,2016280023
+2016280024,2016280024
+2016280025,2016280025
+2016280026,2016280026
+2016280027,2016280027
+2016280028,2016280028
+2016280029,2016280029
+2016280030,2016280030
+2016280031,2016280031
+2016280032,2016280032
+2016280033,2016280033
+2016280034,2016280034
+2016280035,2016280035
+2016280036,2016280036
+2016280037,2016280037
+2016280038,2016280038
+2016280039,2016280039
+2016280040,2016280040
+2016280041,2016280041
+2016280042,2016280042
+2016280043,2016280043
+2016280044,2016280044
+2016280045,2016280045
+2016280046,2016280046
+2016280047,2016280047
+2016280048,2016280048
+2016280049,2016280049
+2016280050,2016280050
+2016280051,2016280051
+2016280052,2016280052
+2016280053,2016280053
+2016280054,2016280054
+2016280055,2016280055
+2016280056,2016280056
+2016280057,2016280057
+2016280058,2016280058
+2016280059,2016280059
+2016280060,2016280060
+2016280061,2016280061
+2016280062,2016280062
+2016280063,2016280063
+2016300001,2016300001
+2016300002,2016300002
+2016300003,2016300003
+2016300004,2016300004
+2016300005,2016300005
+2016300006,2016300006
+2016300007,2016300007
+2016300008,2016300008
+2016300009,2016300009
+2016300010,2016300010
+2016300011,2016300011
+2016300012,2016300012
+2016300013,2016300013
+2016300014,2016300014
+2016300015,2016300015
+2016300016,2016300016
+2016300017,2016300017
+2016300018,2016300018
+2016300019,2016300019
+2016300020,2016300020
+2016300021,2016300021
+2016300022,2016300022
+2016300023,2016300023
+2016300024,2016300024
+2016300025,2016300025
+2016300026,2016300026
+2016300027,2016300027
+2016300028,2016300028
+2016300029,2016300029
+2016300030,2016300030
+2016300031,2016300031
+2016300032,2016300032
+2016300033,2016300033
+2016300034,2016300034
+2016300035,2016300035
+2016300036,2016300036
+2016300037,2016300037
+2016300038,2016300038
+2016300039,2016300039
+2016300040,2016300040
+2016300041,2016300041
+2016300042,2016300042
+2016300043,2016300043
+2016300044,2016300044
+2016300045,2016300045
+2016300046,2016300046
+2016300047,2016300047
+2016300048,2016300048
+2016300049,2016300049
+2016300050,2016300050
+2016300051,2016300051
+2016300052,2016300052
+2016300053,2016300053
+2016300054,2016300054
+2016300055,2016300055
+2016300056,2016300056
+2016300057,2016300057
+2016300058,2016300058
+2016300059,2016300059
+2016300060,2016300060
+2016300061,2016300061
+2016300062,2016300062
+2016300063,2016300063
+2016300064,2016300064
+2016300065,2016300065
+2016300066,2016300066
+2016300067,2016300067
+2016300068,2016300068
+2016300069,2016300069
+2016300070,2016300070
+2016300071,2016300071
+2016300072,2016300072
+2016300073,2016300073
+2016300074,2016300074
+2016300075,2016300075
+2016300076,2016300076
+2016300077,2016300077
+2016300078,2016300078
+2016300079,2016300079
+2016300080,2016300080
+2016300081,2016300081
+2016300082,2016300082
+2016300083,2016300083
+2016300084,2016300084
+2016300085,2016300085
+2016300086,2016300086
+2016300087,2016300087
+2016300088,2016300088
+2016300089,2016300089
+2016300090,2016300090
+2016300091,2016300091
+2016300092,2016300092
+2016300093,2016300093
+2016300094,2016300094
+2016300095,2016300095
+2016300096,2016300096
+2016300097,2016300097
+2016300098,2016300098
+2016300099,2016300099
+2016300100,2016300100
+2016300101,2016300101
+2016300102,2016300102
+2016300103,2016300103
+2016300104,2016300104
+2016300105,2016300105
+2016300106,2016300106
+2016300107,2016300107
+2016300108,2016300108
+2016300109,2016300109
+2016300110,2016300110
+2016300111,2016300111
+2016300112,2016300112
+2016300113,2016300113
+2016300114,2016300114
+2016300115,2016300115
+2016300116,2016300116
+2016300117,2016300117
+2016300118,2016300118
+2016300119,2016300119
+2016300120,2016300120
+2016300121,2016300121
+2016300122,2016300122
+2016300123,2016300123
+2016300124,2016300124
+2016300125,2016300125
+2016300126,2016300126
+2016300127,2016300127
+2016300128,2016300128
+2016300129,2016300129
+2016300130,2016300130
+2016300131,2016300131
+2016300132,2016300132
+2016300133,2016300133
+2016300134,2016300134
+2016300135,2016300135f
+2016300136,2016300136
+2016300137,2016300137
+2016300138,2016300138
+2016300139,2016300139
+2016300140,2016300140
+2016300141,2016300141
+2016300142,2016300142
+2016300143,2016300143
+2016300144,2016300144
+2016300145,2016300145
+2016300146,2016300146
+2016300147,2016300147
+2016300148,2016300148
+2016300149,2016300149
+2016300150,2016300150
+2016300151,2016300151
+2016300152,2016300152
+2016300153,2016300153
+2016300154,2016300154
+2016300155,2016300155
+2016300156,2016300156
+2016300157,2016300157
+2016300158,2016300158
+2016300159,2016300159
+2016300160,2016300160
+2016300161,2016300161
+2016300162,2016300162
+2016300163,2016300163
+2016300164,2016300164
+2016300165,2016300165
+2016300166,2016300166
+2016300167,2016300167
+2016300168,2016300168
+2016300169,2016300169
+2016300170,2016300170
+2016300171,2016300171
+2016300172,2016300172
+2016300173,2016300173
+2016300174,2016300174
+2016300175,2016300175
+2016300176,2016300176
+2016300177,2016300177
+2016300178,2016300178
+2016300179,2016300179
+2016300180,2016300180
+2016300181,2016300181
+2016300182,2016300182
+2016300183,2016300183
+2016300184,2016300184
+2016300185,2016300185
+2016300186,2016300186
+2016300187,2016300187
+2016300188,2016300188
+2016300189,2016300189
+2016300190,2016300190
+2016300191,2016300191
+2016300192,2016300192
+2016300193,2016300193
+2016300194,2016300194
+2016300195,2016300195
+2016300196,2016300196
+2016300197,2016300197
+2016300198,2016300198
+2016300199,2016300199
+2016300200,2016300200
+2016300201,2016300201
+2016300202,2012302928
+2016300203,2016300203
+2016300204,2016300204
+2016300205,2016300205
+2016300206,2016300206
+2016300207,2016300207
+2016300208,2016300208
+2016300209,2016300209
+2016300210,2016300210
+2016300211,2016300211
+2016300212,2016300212
+2016300213,2016300213
+2016300214,2016300214
+2016300215,2016300215
+2016300216,2016300216
+2016300217,2016300217
+2016300218,2016300218
+2016300219,2016300219
+2016300220,2016300220
+2016300221,2016300221
+2016300222,2016300222
+2016300223,2016300223
+2016300224,2016300224
+2016300225,2016300225
+2016300226,2016300226
+2016300227,2016300227
+2016300228,2016300228
+2016300229,2016300229
+2016300230,2016300230
+2016300231,2016300231
+2016300232,2016300232
+2016300233,2016300233
+2016300234,2016300234
+2016300235,2016300235
+2016300236,2016300236
+2016300237,2016300237
+2016300238,2016300238
+2016300239,2016300239
+2016300240,2016300240
+2016300241,2016300241
+2016300242,2016300242
+2016300243,2016300243
+2016300244,2016300244
+2016300245,2016300245
+2016300246,2016300246
+2016300247,2016300247
+2016300248,2016300248
+2016300249,2016300249
+2016300250,2016300250
+2016300251,2016300251
+2016300252,2016300252
+2016300253,2016300253
+2016300254,2016300254
+2016300255,2016300255
+2016300256,2016300256
+2016300257,2016300257
+2016300258,2016300258
+2016300259,2016300259
+2016300260,2016300260
+2016300261,2016300261
+2016300262,2016300262
+2016300263,2016300263
+2016300264,2016300264
+2016300265,2016300265
+2016300266,2016300266
+2016300267,2016300267
+2016300268,2016300268
+2016300269,2016300269
+2016300270,2016300270
+2016300271,2016300271
+2016300272,2016300272
+2016300273,2016300273
+2016300274,2016300274
+2016300275,2016300275
+2016300276,2016300276
+2016300277,2016300277
+2016300278,2016300278
+2016300279,2016300279
+2016300280,2016300280
+2016300281,2016300281
+2016300282,2016300282
+2016300283,2016300283
+2016300284,2016300284
+2016300285,2016300285
+2016300286,2016300286
+2016300287,2016300287
+2016300288,2016300288
+2016300289,2016300289
+2016300290,2016300290
+2016300291,2016300291
+2016300292,2016300292
+2016300293,2016300293
+2016300294,2016300294
+2016300295,2016300295
+2016300296,2016300296
+2016300297,2016300297
+2016300298,2016300298
+2016300299,2016300299
+2016300300,2016300300
+2016300301,2016300301
+2016300302,2016300302
+2016300303,2016300303
+2016300304,2016300304
+2016300305,2016300305
+2016300306,2016300306
+2016300307,2016300307
+2016300308,2016300308
+2016300309,2016300309
+2016300310,2016300310
+2016300311,2016300311
+2016300312,2016300312
+2016300313,2016300313
+2016300314,2016300314
+2016300315,2016300315
+2016300316,2016300316
+2016300317,2016300317
+2016300318,2016300318
+2016300319,2016300319
+2016300320,2016300320
+2016300321,2016300321
+2016300322,2016300322
+2016300323,2016300323
+2016300324,2016300324
+2016300325,2016300325
+2016300326,2016300326
+2016300327,2016300327
+2016300328,2016300328
+2016300329,2016300329
+2016300330,2016300330
+2016300331,2016300331
+2016300332,2016300332
+2016300333,2016300333
+2016300334,2016300334
+2016300335,2016300335
+2016300336,2016300336
+2016300337,2016300337
+2016300338,2016300338
+2016300339,2016300339
+2016300340,2016300340
+2016300341,2016300341
+2016300342,2016300342
+2016300343,2016300343
+2016300344,2016300344
+2016300345,2016300345
+2016300346,2016300346
+2016300347,2016300347
+2016300348,2016300348
+2016300349,2016300349
+2016300350,2016300350
+2016300351,2016300351
+2016300352,2016300352
+2016300353,2016300353
+2016300354,2016300354
+2016300355,2016300355
+2016300356,2016300356
+2016300357,2016300357
+2016300358,2016300358
+2016300359,2016300359
+2016300360,2016300360
+2016300361,2016300361
+2016300362,2016300362
+2016300363,2016300363
+2016300364,2016300364
+2016300365,2016300365
+2016300366,2016300366
+2016300367,2016300367
+2016300368,2016300368
+2016300369,2016300369
+2016300370,2016300370
+2016300371,2016300371
+2016300372,2016300372
+2016300373,2016300373
+2016300374,2016300374
+2016300375,2016300375
+2016300376,2016300376
+2016300377,2016300377
+2016300378,2016300378
+2016300379,2016300379
+2016300380,2016300380
+2016300381,2016300381
+2016300382,2016300382
+2016300383,2016300383
+2016300384,2016300384
+2016300385,2016300385
+2016300386,2016300386
+2016300387,2016300387
+2016300388,2016300388
+2016300389,2016300389
+2016300390,2016300390
+2016300391,2016300391
+2016300392,2016300392
+2016300393,2016300393
+2016300394,2016300394
+2016300395,2016300395
+2016300396,2016300396
+2016300397,2016300397
+2016300398,2016300398
+2016300399,2016300399
+2016300400,2016300400
+2016300401,2016300401
+2016300402,2016300402
+2016300403,2016300403
+2016300404,2016300404
+2016300405,2016300405
+2016300406,2016300406
+2016300407,2016300407
+2016300408,2016300408
+2016300409,2016300409
+2016300410,2016300410
+2016300411,2016300411
+2016300412,2016300412
+2016300413,2016300413
+2016300414,2016300414
+2016300415,2016300415
+2016300416,2016300416
+2016300417,2016300417
+2016300418,2016300418
+2016300419,2016300419
+2016300420,2016300420
+2016300421,2016300421
+2016300422,2016300422
+2016300423,2016300423
+2016300424,2016300424
+2016300425,2016300425
+2016300426,2016300426
+2016300427,2016300427
+2016300428,2016300428
+2016300429,2016300429
+2016300430,2016300430
+2016300431,2016300431
+2016300432,2016300432
+2016300433,2016300433
+2016300434,2016300434
+2016300435,2016300435
+2016300436,2016300436
+2016300437,2016300437
+2016300438,2016300438
+2016300439,2016300439
+2016300440,2016300440
+2016300441,2016300441
+2016300442,2016300442
+2016300443,2016300443
+2016300444,2016300444
+2016300445,2016300445
+2016300446,2016300446
+2016300447,2016300447
+2016300448,2016300448
+2016300449,2016300449
+2016300450,2016300450
+2016300451,2016300451
+2016300452,2016300452
+2016300453,2016300453
+2016300454,2016300454
+2016300455,2016300455
+2016300456,2016300456
+2016300457,2016300457
+2016300458,2016300458
+2016300459,2016300459
+2016300460,2016300460
+2016300461,2016300461
+2016300462,2016300462
+2016300463,2016300463
+2016300464,2016300464
+2016300465,2016300465
+2016300466,2016300466
+2016300467,2016300467
+2016300468,2016300468
+2016300469,2016300469
+2016300470,2016300470
+2016300471,2016300471
+2016300472,2016300472
+2016300473,2016300473
+2016300474,2016300474
+2016300475,2016300475
+2016300476,2016300476
+2016300477,2016300477
+2016300478,2016300478
+2016300479,2016300479
+2016300480,2016300480
+2016300481,2016300481
+2016300482,2016300482
+2016300483,2016300483
+2016300484,2016300484
+2016300485,2016300485
+2016300486,2016300486
+2016300487,2016300487
+2016300488,2016300488
+2016300489,2016300489
+2016300490,2016300490
+2016300491,2016300491
+2016300492,2016300492
+2016300493,2016300493
+2016300494,2016300494
+2016300495,2016300495
+2016300496,2016300496
+2016300497,2016300497
+2016300498,2016300498
+2016300499,2016300499
+2016300500,2016300500
+2016300501,2016300501
+2016300502,2016300502
+2016300503,2016300503
+2016300504,2016300504
+2016300505,2016300505
+2016300506,2016300506
+2016300507,2016300507
+2016300508,2016300508
+2016300509,2016300509
+2016300510,2016300510
+2016300511,2016300511
+2016300512,2016300512
+2016300513,2016300513
+2016300514,2016300514
+2016300515,2016300515
+2016300516,2016300516
+2016300517,2016300517
+2016300518,2016300518
+2016300519,2016300519
+2016300520,2016300520
+2016300521,2016300521
+2016300522,2016300522
+2016300523,2016300523
+2016300524,2016300524
+2016300525,2016300525
+2016300526,2016300526
+2016300527,2016300527
+2016300528,2016300528
+2016300529,2016300529
+2016300530,2016300530
+2016300531,2016300531
+2016300532,2016300532
+2016300533,2016300533
+2016300534,2016300534
+2016300535,2016300535
+2016300536,2016300536
+2016300537,2016300537
+2016300538,2016300538
+2016300539,2016300539
+2016300540,2016300540
+2016300541,2016300541
+2016300542,2016300542
+2016300543,2016300543
+2016300544,2016300544
+2016300545,2016300545
+2016300546,2016300546
+2016300547,2016300547
+2016300548,2016300548
+2016300549,2016300549
+2016300550,2016300550
+2016300551,2016300551
+2016300552,2016300552
+2016300553,2016300553
+2016300554,2016300554
+2016300555,2016300555
+2016300556,2016300556
+2016300557,2016300557
+2016300558,2016300558
+2016300559,2016300559
+2016300560,2016300560
+2016300561,2016300561
+2016300562,2016300562
+2016300563,2016300563
+2016300564,2016300564
+2016300565,2016300565
+2016300566,2016300566
+2016300567,2016300567
+2016300568,2016300568
+2016300569,2016300569
+2016300570,2016300570
+2016300571,2016300571
+2016300572,2016300572
+2016300573,2016300573
+2016300574,2016300574
+2016300575,2016300575
+2016300576,2016300576
+2016300577,2016300577
+2016300578,2016300578
+2016300579,2016300579
+2016300580,2016300580
+2016300581,2016300581
+2016300582,2016300582
+2016300583,2016300583
+2016300584,2016300584
+2016300585,2016300585
+2016300586,2016300586
+2016300587,2016300587
+2016300588,2016300588
+2016300589,2016300589
+2016300590,2016300590
+2016300591,2016300591
+2016300592,2016300592
+2016300593,2016300593
+2016300594,2016300594
+2016300595,2016300595
+2016300596,2016300596
+2016300597,2016300597
+2016300598,2016300598
+2016300599,2016300599
+2016300600,2016300600
+2016300601,2016300601
+2016300602,2016300602
+2016300603,2016300603
+2016300604,2016300604
+2016300605,2016300605
+2016300606,2016300606
+2016300607,2016300607
+2016300608,2016300608
+2016300609,2016300609
+2016300610,2016300610
+2016300611,2016300611
+2016300612,2016300612
+2016300613,2016300613
+2016300614,2016300614
+2016300615,2016300615
+2016300616,2016300616
+2016300617,2016300617
+2016300618,2016300618
+2016300619,2016300619
+2016300620,2016300620
+2016300621,2016300621
+2016300622,2016300622
+2016300623,2016300623
+2016300624,2016300624
+2016300625,2016300625
+2016300626,2016300626
+2016300627,2016300627
+2016300628,2016300628
+2016300629,2016300629
+2016300630,2016300630
+2016300631,2016300631
+2016300632,2016300632
+2016300633,2016300633
+2016300634,2016300634
+2016300635,2016300635
+2016300636,2016300636
+2016300637,2016300637
+2016300638,2016300638
+2016300639,2016300639
+2016300640,2016300640
+2016300641,2016300641
+2016300642,2016300642
+2016300643,2016300643
+2016300644,2016300644
+2016300645,2016300645
+2016300646,2016300646
+2016300647,2016300647
+2016300648,2016300648
+2016300649,2016300649
+2016300650,2016300650
+2016300651,2016300651
+2016300652,2016300652
+2016300653,2016300653
+2016300654,2016300654
+2016300655,2016300655
+2016300656,2016300656
+2016300657,2016300657
+2016300658,2016300658
+2016300659,2016300659
+2016300660,2016300660
+2016300661,2016300661
+2016300662,2016300662
+2016300663,2016300663
+2016300664,2016300664
+2016300665,2016300665
+2016300666,2016300666
+2016300667,2016300667
+2016300668,2016300668
+2016300669,2016300669
+2016300670,2016300670
+2016300671,2016300671
+2016300672,2016300672
+2016300673,2016300673
+2016300674,2016300674
+2016300675,2016300675
+2016300676,2016300676
+2016300677,2016300677
+2016300678,2016300678
+2016300679,2016300679
+2016300680,2016300680
+2016300681,2016300681
+2016300682,2016300682
+2016300683,2016300683
+2016300684,2016300684
+2016300685,2016300685
+2016300686,2016300686
+2016300687,2016300687
+2016300688,2016300688
+2016300689,2016300689
+2016300690,2016300690
+2016300691,2016300691
+2016300692,2016300692
+2016300693,2016300693
+2016300694,2016300694
+2016300695,2016300695
+2016300696,2016300696
+2016300697,2016300697
+2016300698,2016300698
+2016300699,2016300699
+2016300700,2016300700
+2016300701,2016300701
+2016300702,2016300702
+2016300703,2016300703
+2016300704,2016300704
+2016300705,2016300705
+2016300706,2016300706
+2016300707,2016300707
+2016300708,2016300708
+2016300709,2016300709
+2016300710,2016300710
+2016300711,2016300711
+2016300712,2016300712
+2016300713,2016300713
+2016300714,2016300714
+2016300715,2016300715
+2016300716,2016300716
+2016300717,2016300717
+2016300718,2016300718
+2016300719,2016300719
+2016300720,2016300720
+2016300721,2016300721
+2016300722,2016300722
+2016300723,2016300723
+2016300724,2016300724
+2016300725,2016300725
+2016300726,2016300726
+2016300727,2016300727
+2016300728,2016300728
+2016300729,2016300729
+2016300730,2016300730
+2016300731,2016300731
+2016300732,2016300732
+2016300733,2016300733
+2016300734,2016300734
+2016300735,2016300735
+2016300736,2016300736
+2016300737,2016300737
+2016300738,2016300738
+2016300739,2016300739
+2016300740,2016300740
+2016300741,2016300741
+2016300742,2016300742
+2016300743,2016300743
+2016300744,2016300744
+2016300745,2016300745
+2016300746,2016300746
+2016300747,2016300747
+2016300748,2016300748
+2016300749,2016300749
+2016300750,2016300750
+2016300751,2016300751
+2016300752,2016300752
+2016300753,2016300753
+2016300754,2016300754
+2016300755,2016300755
+2016300756,2016300756
+2016300757,2016300757
+2016300758,2016300758
+2016300759,2016300759
+2016300760,2016300760
+2016300761,2016300761
+2016300762,2016300762
+2016300763,2016300763
+2016300764,2016300764
+2016300765,2016300765
+2016300766,2016300766
+2016300767,2016300767
+2016300768,2016300768
+2016300769,2016300769
+2016300770,2016300770
+2016300771,2016300771
+2016300772,2016300772
+2016300773,2016300773
+2016300774,2016300774
+2016300775,2016300775
+2016300776,2016300776
+2016300777,2016300777
+2016300778,2016300778
+2016300779,2016300779
+2016300780,2016300780
+2016300781,2016300781
+2016300782,2016300782
+2016300783,2016300783
+2016300784,2016300784
+2016300785,2016300785
+2016300786,2016300786
+2016300787,2016300787
+2016300788,2016300788
+2016300789,2016300789
+2016300790,2016300790
+2016300791,2016300791
+2016300792,2016300792
+2016300793,2016300793
+2016300794,2016300794
+2016300795,2016300795
+2016300796,2016300796
+2016300797,2016300797
+2016300798,2016300798
+2016300799,2016300799
+2016300800,2016300800
+2016300801,2016300801
+2016300802,2016300802
+2016300803,2016300803
+2016300804,2016300804
+2016300805,2016300805
+2016300806,2016300806
+2016300807,2016300807
+2016300808,2016300808
+2016300809,2016300809
+2016300810,2016300810
+2016300811,2016300811
+2016300812,2016300812
+2016300813,2016300813
+2016300814,2016300814
+2016300815,2016300815
+2016300816,2016300816
+2016300817,2016300817
+2016300818,2016300818
+2016300819,2016300819
+2016300820,2016300820
+2016300821,2016300821
+2016300822,2016300822
+2016300823,2016300823
+2016300824,2016300824
+2016300825,2016300825
+2016300826,2016300826
+2016300827,2016300827
+2016300828,2016300828
+2016300829,2016300829
+2016300830,2016300830
+2016300831,2016300831
+2016300832,2016300832
+2016300833,2016300833
+2016300834,2016300834
+2016300835,2016300835
+2016300836,2016300836
+2016300837,2016300837
+2016300838,2016300838
+2016300839,2016300839
+2016300840,2016300840
+2016300841,2016300841
+2016300842,2016300842
+2016300843,2016300843
+2016300844,2016300844
+2016300845,2016300845
+2016300846,2016300846
+2016300847,2016300847
+2016300848,2016300848
+2016300849,2016300849
+2016300850,2016300850
+2016300851,2016300851
+2016300852,2016300852
+2016300853,2016300853
+2016300854,2016300854
+2016300855,2016300855
+2016300856,2016300856
+2016300857,2016300857
+2016300858,2016300858
+2016300859,2016300859
+2016300860,2016300860
+2016300861,2016300861
+2016300862,2016300862
+2016300863,2016300863
+2016300864,2016300864
+2016300865,2016300865
+2016300866,2016300866
+2016300867,2016300867
+2016300868,2016300868
+2016300869,2016300869
+2016300870,2016300870
+2016300871,2016300871
+2016300872,2016300872
+2016300873,2016300873
+2016300874,2016300874
+2016300875,2016300875
+2016300876,2016300876
+2016300877,2016300877
+2016300878,2016300878
+2016300879,2016300879
+2016300880,2016300880
+2016300881,2016300881
+2016300882,2016300882
+2016300883,2016300883
+2016300884,2016300884
+2016300885,2016300885
+2016300886,2016300886
+2016300887,2016300887
+2016300888,2016300888
+2016300889,2016300889
+2016300890,2016300890
+2016300891,2016300891
+2016300892,2016300892
+2016300893,2016300893
+2016300894,2016300894
+2016300895,2016300895
+2016300896,2016300896
+2016300897,2016300897
+2016300898,2016300898
+2016300899,2016300899
+2016300900,2016300900
+2016300901,2016300901
+2016300902,2016300902
+2016300903,2016300903
+2016300904,2016300904
+2016300905,2016300905
+2016300906,2016300906
+2016300907,2016300907
+2016300908,2016300908
+2016300909,2016300909
+2016300910,2016300910
+2016300911,2016300911
+2016300912,2016300912
+2016300913,2016300913
+2016300914,2016300914
+2016300915,2016300915
+2016300916,2016300916
+2016300917,2016300917
+2016300918,2016300918
+2016300919,2016300919
+2016300920,2016300920
+2016300921,2016300921
+2016300922,2016300922
+2016300923,2016300923
+2016300924,2016300924
+2016300925,2016300925
+2016300926,2016300926
+2016300927,2016300927
+2016300928,2016300928
+2016300929,2016300929
+2016300930,2016300930
+2016300931,2016300931
+2016300932,2016300932
+2016300933,2016300933
+2016300934,2016300934
+2016300935,2016300935
+2016300936,2016300936
+2016300937,2016300937
+2016300938,2016300938
+2016300939,2016300939
+2016300940,2016300940
+2016300941,2016300941
+2016300942,2016300942
+2016300943,2016300943
+2016300944,2016300944
+2016300945,2016300945
+2016300946,2016300946
+2016300947,2016300947
+2016300948,2016300948
+2016300949,2016300949
+2016300950,2016300950
+2016300951,2016300951
+2016300952,2016300952
+2016300953,2016300953
+2016300954,2016300954
+2016300955,2016300955
+2016300956,2016300956
+2016300957,2016300957
+2016300958,2016300958
+2016300959,2016300959
+2016300960,2016300960
+2016300961,2016300961
+2016300962,2016300962
+2016300963,2016300963
+2016300964,2016300964
+2016300965,2016300965
+2016300966,2016300966
+2016300967,2016300967
+2016300968,2016300968
+2016300969,2016300969
+2016300970,2016300970
+2016300971,2016300971
+2016300972,2016300972
+2016300973,2016300973
+2016300974,2016300974
+2016300975,2016300975
+2016300976,2016300976
+2016300977,2016300977
+2016300978,2016300978
+2016300979,2016300979
+2016300980,2016300980
+2016300981,2016300981
+2016300982,2016300982
+2016300983,2016300983
+2016300984,2016300984
+2016300985,2016300985
+2016300986,2016300986
+2016300987,2016300987
+2016300988,2016300988
+2016300989,2016300989
+2016300990,2016300990
+2016300991,2016300991
+2016300992,2016300992
+2016300993,2016300993
+2016300994,2016300994
+2016300995,2016300995
+2016300996,2016300996
+2016300997,2016300997
+2016300998,2016300998
+2016300999,2016300999
+2016301000,2016301000
+2016301001,2016301001
+2016301002,2016301002
+2016301003,2016301003
+2016301004,2016301004
+2016301005,2016301005
+2016301006,2016301006
+2016301007,2016301007
+2016301008,2016301008
+2016301009,2016301009
+2016301010,2016301010
+2016301011,2016301011
+2016301012,2016301012
+2016301013,2016301013
+2016301014,2016301014
+2016301015,2016301015
+2016301016,2016301016
+2016301017,2016301017
+2016301018,2016301018
+2016301019,2016301019
+2016301020,2016301020
+2016301021,2016301021
+2016301022,2016301022
+2016301023,2016301023
+2016301024,2016301024
+2016301025,2016301025
+2016301026,2016301026
+2016301027,2016301027
+2016301028,2016301028
+2016301029,2016301029
+2016301030,2016301030
+2016301031,2016301031
+2016301032,2016301032
+2016301033,2016301033
+2016301034,2016301034
+2016301035,2016301035
+2016301036,2016301036
+2016301037,2016301037
+2016301038,2016301038
+2016301039,2016301039
+2016301040,2016301040
+2016301041,2016301041
+2016301042,2016301042
+2016301043,2016301043
+2016301044,2016301044
+2016301045,2016301045
+2016301046,2016301046
+2016301047,2016301047
+2016301048,2016301048
+2016301049,2016301049
+2016301050,2016301050
+2016301051,2016301051
+2016301052,2016301052
+2016301053,2016301053
+2016301054,2016301054
+2016301055,2016301055
+2016301056,2016301056
+2016301057,2016301057
+2016301058,2016301058
+2016301059,2016301059
+2016301060,2016301060
+2016301061,2016301061
+2016301062,2016301062
+2016301063,2016301063
+2016301064,2016301064
+2016301065,2016301065
+2016301066,2016301066
+2016301067,2016301067
+2016301068,2016301068
+2016301069,2016301069
+2016301070,2016301070
+2016301071,2016301071
+2016301072,2016301072
+2016301073,2016301073
+2016301074,2016301074
+2016301075,2016301075
+2016301076,2016301076
+2016301077,2016301077
+2016301078,2016301078
+2016301079,2016301079
+2016301080,2016301080
+2016301081,2016301081
+2016301082,2016301082
+2016301083,2016301083
+2016301084,2016301084
+2016301085,2016301085
+2016301086,2016301086
+2016301087,2016301087
+2016301088,2016301088
+2016301089,2016301089
+2016301090,2016301090
+2016301091,2016301091
+2016301092,2016301092
+2016301093,2016301093
+2016301094,2016301094
+2016301095,2016301095
+2016301096,2016301096
+2016301097,2016301097
+2016301098,2016301098
+2016301099,2016301099
+2016301100,2016301100
+2016301101,2016301101
+2016301102,2016301102
+2016301103,2016301103
+2016301104,2016301104
+2016301105,2016301105
+2016301106,2016301106
+2016301107,2016301107
+2016301108,2016301108
+2016301109,2016301109
+2016301110,2016301110
+2016301111,2016301111
+2016301112,2016301112
+2016301113,2016301113
+2016301114,2016301114
+2016301115,2016301115
+2016301116,2016301116
+2016301117,2016301117
+2016301118,2016301118
+2016301119,2016301119
+2016301120,2016301120
+2016301121,2016301121
+2016301122,2016301122
+2016301123,2016301123
+2016301124,2016301124
+2016301125,2016301125
+2016301126,2016301126
+2016301127,2016301127
+2016301128,2016301128
+2016301129,2016301129
+2016301130,2016301130
+2016301131,2016301131
+2016301132,2016301132
+2016301133,2016301133
+2016301134,2016301134
+2016301135,2016301135
+2016301136,2016301136
+2016301137,2016301137
+2016301138,2016301138
+2016301139,2016301139
+2016301140,2016301140
+2016301141,2016301141
+2016301142,2016301142
+2016301143,2016301143
+2016301144,2016301144
+2016301145,2016301145
+2016301146,2016301146
+2016301147,2016301147
+2016301148,2016301148
+2016301149,2016301149
+2016301150,2016301150
+2016301151,2016301151
+2016301152,2016301152
+2016301153,2016301153
+2016301154,2016301154
+2016301155,2016301155
+2016301156,2016301156
+2016301157,2016301157
+2016301158,2016301158
+2016301159,2016301159
+2016301160,2016301160
+2016301161,2016301161
+2016301162,2016301162
+2016301163,2016301163
+2016301164,2016301164
+2016301165,2016301165
+2016301166,2016301166
+2016301167,2016301167
+2016301168,2016301168
+2016301169,2016301169
+2016301170,2016301170
+2016301171,2016301171
+2016301172,2016301172
+2016301173,2016301173
+2016301174,2016301174
+2016301175,2016301175
+2016301176,2016301176
+2016301177,2016301177
+2016301178,2016301178
+2016301179,2016301179
+2016301180,2016301180
+2016301181,2016301181
+2016301182,2016301182
+2016301183,2016301183
+2016301184,2016301184
+2016301185,2016301185
+2016301186,2016301186
+2016301187,2016301187
+2016301188,2016301188
+2016301189,2016301189
+2016301190,2016301190
+2016301191,2016301191
+2016301192,2016301192
+2016301193,2016301193
+2016301194,2016301194
+2016301195,2016301195
+2016301196,2016301196
+2016301197,2016301197
+2016301198,2016301198
+2016301199,2016301199
+2016301200,2016301200
+2016301201,2016301201
+2016301202,2016301202
+2016301203,2016301203
+2016301204,2016301204
+2016301205,2016301205
+2016301206,2016301206
+2016301207,2016301207
+2016301208,2016301208
+2016301209,2016301209
+2016301210,2016301210
+2016301211,2016301211
+2016301212,2016301212
+2016301213,2016301213
+2016301214,2016301214
+2016301215,2016301215
+2016301216,2016301216
+2016301217,2016301217
+2016301218,2016301218
+2016301219,2016301219
+2016301220,2016301220
+2016301221,2016301221
+2016301222,2016301222
+2016301223,2016301223
+2016301224,2016301224
+2016301225,2016301225
+2016301226,2016301226
+2016301227,2016301227
+2016301228,2016301228
+2016301229,2016301229
+2016301230,2016301230
+2016301231,2016301231
+2016301232,2016301232
+2016301233,2016301233
+2016301234,2016301234
+2016301235,2016301235
+2016301236,2016301236
+2016301237,2016301237
+2016301238,2016301238
+2016301239,2016301239
+2016301240,2016301240
+2016301241,2016301241
+2016301242,2016301242
+2016301243,2016301243
+2016301244,2016301244
+2016301245,2016301245
+2016301246,2016301246
+2016301247,2016301247
+2016301248,2016301248
+2016301249,2016301249
+2016301250,2016301250
+2016301251,2016301251
+2016301252,2016301252
+2016301253,2016301253
+2016301254,2016301254
+2016301255,2016301255
+2016301256,2016301256
+2016301257,2016301257
+2016301258,2016301258
+2016301259,2016301259
+2016301260,2016301260
+2016301261,2016301261
+2016301262,2016301262
+2016301263,2016301263
+2016301264,2016301264
+2016301265,2016301265
+2016301266,2016301266
+2016301267,2016301267
+2016301268,2016301268
+2016301269,2016301269
+2016301270,2016301270
+2016301271,2016301271
+2016301272,2016301272
+2016301273,2016301273
+2016301274,2016301274
+2016301275,2016301275
+2016301276,2016301276
+2016301277,2016301277
+2016301278,2016301278
+2016301279,2016301279
+2016301280,2016301280
+2016301281,2016301281
+2016301282,2016301282
+2016301283,2016301283
+2016301284,2016301284
+2016301285,2016301285
+2016301286,2016301286
+2016301287,2016301287
+2016301288,2016301288
+2016301289,2016301289
+2016301290,2016301290
+2016301291,2016301291
+2016301292,2016301292
+2016301293,2016301293
+2016301294,2016301294
+2016301295,2016301295
+2016301296,2016301296
+2016301297,2016301297
+2016301298,2016301298
+2016301299,2016301299
+2016301300,2016301300
+2016301301,2016301301
+2016301302,2016301302
+2016301303,2016301303
+2016301304,2016301304
+2016301305,2016301305
+2016301306,2016301306
+2016301307,2016301307
+2016301308,2016301308
+2016301309,2016301309
+2016301310,2016301310
+2016301311,2016301311
+2016301312,2016301312
+2016301313,2016301313
+2016301314,2016301314
+2016301315,2016301315
+2016301316,2016301316
+2016301317,2016301317
+2016301318,2016301318
+2016301319,2016301319
+2016301320,2016301320
+2016301321,2016301321
+2016301322,2016301322
+2016301323,2016301323
+2016301324,2016301324
+2016301325,2016301325
+2016301326,2016301326
+2016301327,2016301327
+2016301328,2016301328
+2016301329,2016301329
+2016301330,2016301330
+2016301331,2016301331
+2016301332,2016301332
+2016301333,2016301333
+2016301334,2016301334
+2016301335,2016301335
+2016301336,2016301336
+2016301337,2016301337
+2016301338,2016301338
+2016301339,2016301339
+2016301340,2016301340
+2016301341,2016301341
+2016301342,2016301342
+2016301343,2016301343
+2016301344,2016301344
+2016301345,2016301345
+2016301346,2016301346
+2016301347,2016301347
+2016301348,2016301348
+2016301349,2016301349
+2016301350,2016301350
+2016301351,2016301351
+2016301352,2016301352
+2016301353,2016301353
+2016301354,2016301354
+2016301355,2016301355
+2016301356,2016301356
+2016301357,2016301357
+2016301358,2016301358
+2016301359,2016301359
+2016301360,2016301360
+2016301361,2016301361
+2016301362,2016301362
+2016301363,2016301363
+2016301364,2016301364
+2016301365,2016301365
+2016301366,2016301366
+2016301367,2016301367
+2016301368,2016301368
+2016301369,2016301369
+2016301370,2016301370
+2016301371,2016301371
+2016301372,2016301372
+2016301373,2016301373
+2016301374,2016301374f
+2016301375,2016301375
+2016301376,2016301376
+2016301377,2016301377
+2016301378,2016301378
+2016301379,2016301379f
+2016301380,2016301380
+2016301381,2016301381
+2016301382,2016301382
+2016301383,2016301383
+2016301384,2016301384
+2016301385,2016301385
+2016301386,2016301386
+2016301387,2016301387
+2016301388,2016301388
+2016301389,2016301389
+2016301390,2016301390
+2016301391,2016301391
+2016301392,2016301392
+2016301393,2016301393
+2016301394,2016301394
+2016301395,2016301395
+2016301396,2016301396
+2016301397,2016301397
+2016301398,2016301398
+2016301399,2016301399
+2016301400,2016301400
+2016301401,2016301401
+2016301402,2016301402
+2016301403,2016301403
+2016301404,2016301404
+2016301405,2016301405
+2016301406,2016301406
+2016301407,2016301407
+2016301408,2016301408
+2016301409,2016301409
+2016301410,2016301410
+2016301411,2016301411
+2016301412,2016301412
+2016301413,2016301413
+2016301414,2016301414
+2016301415,2016301415
+2016301416,2016301416
+2016301417,2016301417
+2016301418,2016301418
+2016301419,2016301419
+2016301420,2016301420
+2016301421,2016301421
+2016301422,2016301422
+2016301423,2016301423
+2016301424,2016301424
+2016301425,2016301425
+2016301426,2016301426
+2016301427,2016301427
+2016301428,2016301428
+2016301429,2016301429
+2016301430,2016301430
+2016301431,2016301431
+2016301432,2016301432
+2016301433,2016301433
+2016301434,2016301434
+2016301435,2016301435
+2016301436,2016301436
+2016301437,2016301437
+2016301438,2016301438
+2016301439,2016301439
+2016301440,2016301440
+2016301441,2016301441
+2016301442,2016301442
+2016301443,2016301443
+2016301444,2016301444
+2016301445,2016301445
+2016301446,2016301446
+2016301447,2016301447
+2016301448,2016301448
+2016301449,2016301449
+2016301450,2016301450
+2016301451,2016301451
+2016301452,2016301452
+2016301453,2016301453
+2016301454,2016301454
+2016301455,2016301455
+2016301456,2016301456
+2016301457,2016301457
+2016301458,2016301458
+2016301459,2016301459
+2016301460,2016301460
+2016301461,2016301461
+2016301462,2016301462
+2016301463,2016301463
+2016301464,2016301464
+2016301465,2016301465
+2016301466,2016301466
+2016301467,2016301467
+2016301468,2016301468
+2016301469,2016301469
+2016301470,2016301470
+2016301471,2016301471
+2016301472,2016301472
+2016301473,2016301473
+2016301474,2016301474
+2016301475,2016301475
+2016301476,2016301476
+2016301477,2016301477
+2016301478,2016301478
+2016301479,2016301479
+2016301480,2016301480
+2016301481,2016301481
+2016301482,2016301482
+2016301483,2016301483
+2016301484,2016301484
+2016301485,2016301485
+2016301486,2016301486
+2016301487,2016301487
+2016301488,2016301488
+2016301489,2016301489
+2016301490,2016301490
+2016301491,2016301491
+2016301492,2016301492
+2016301493,2016301493
+2016301494,2016301494
+2016301495,2016301495
+2016301496,2016301496
+2016301497,2016301497
+2016301498,2016301498
+2016301499,2016301499
+2016301500,2016301500
+2016301501,2016301501
+2016301502,2016301502
+2016301503,2016301503
+2016301504,2016301504
+2016301505,2016301505
+2016301506,2016301506
+2016301507,2016301507
+2016301508,2016301508
+2016301509,2016301509
+2016301510,2016301510
+2016301511,2016301511
+2016301512,2016301512
+2016301513,2016301513
+2016301514,2016301514
+2016301515,2016301515
+2016301516,2016301516
+2016301517,2016301517
+2016301518,2016301518
+2016301519,2016301519
+2016301520,2016301520
+2016301521,2016301521
+2016301522,2016301522
+2016301523,2016301523
+2016301524,2016301524
+2016301525,2016301525
+2016301526,2016301526
+2016301527,2016301527
+2016301528,2016301528
+2016301529,2016301529
+2016301530,2016301530
+2016301531,2016301531
+2016301532,2016301532
+2016301533,2016301533
+2016301534,2016301534
+2016301535,2016301535
+2016301536,2016301536
+2016301537,2016301537
+2016301538,2016301538
+2016301539,2016301539
+2016301540,2016301540
+2016301541,2016301541
+2016301542,2016301542
+2016301543,2016301543
+2016301544,2016301544
+2016301545,2016301545
+2016301546,2016301546
+2016301547,2016301547
+2016301548,2016301548
+2016301549,2016301549
+2016301550,2016301550
+2016301551,2016301551
+2016301552,2016301552
+2016301553,2016301553
+2016301554,2016301554
+2016301555,2016301555
+2016301556,2016301556
+2016301557,2016301557
+2016301558,2016301558
+2016301559,2016301559
+2016301560,2016301560
+2016301561,2016301561
+2016301562,2016301562
+2016301563,2016301563
+2016301564,2016301564
+2016301565,2016301565
+2016301566,2016301566
+2016301567,2016301567
+2016301568,2016301568
+2016301569,2016301569
+2016301570,2016301570
+2016301571,2016301571
+2016301572,2016301572
+2016301573,2016301573
+2016301574,2016301574
+2016301575,2016301575
+2016301576,2016301576
+2016301577,2016301577
+2016301578,2016301578
+2016301579,2016301579
+2016301580,2016301580
+2016301581,2016301581
+2016301582,2016301582
+2016301583,2016301583
+2016301584,2016301584
+2016301585,2016301585
+2016301586,2016301586
+2016301587,2016301587
+2016301588,2016301588
+2016301589,2016301589
+2016301590,2016301590
+2016301591,2016301591
+2016301592,2016301592
+2016301593,2016301593
+2016301594,2016301594
+2016301595,2016301595
+2016301596,2016301596
+2016301597,2016301597
+2016301598,2016301598
+2016301599,2016301599
+2016301600,2016301600
+2016301601,2016301601
+2016301602,2016301602
+2016301603,2016301603
+2016301604,2016301604
+2016301605,2016301605
+2016301606,2016301606
+2016301607,2016301607
+2016301608,2016301608
+2016301609,2016301609
+2016301610,2016301610
+2016301611,2016301611
+2016301612,2016301612
+2016301613,2016301613
+2016301614,2016301614
+2016301615,2016301615
+2016301616,2016301616
+2016301617,2016301617
+2016301618,2016301618
+2016301619,2016301619
+2016301620,2016301620
+2016301621,2016301621
+2016301622,2016301622
+2016301623,2016301623
+2016301624,2016301624
+2016301625,2016301625
+2016301626,2016301626
+2016301627,2016301627
+2016301628,2016301628
+2016301629,2016301629
+2016301630,2016301630
+2016301631,2016301631
+2016301632,2016301632
+2016301633,2016301633
+2016301634,2016301634
+2016301635,2016301635
+2016301636,2016301636
+2016301637,2016301637
+2016301638,2016301638
+2016301639,2016301639
+2016301640,2016301640
+2016301641,2016301641
+2016301642,2016301642
+2016301643,2016301643
+2016301644,2016301644
+2016301645,2016301645
+2016301646,2016301646
+2016301647,2016301647
+2016301648,2016301648
+2016301649,2016301649
+2016301650,2016301650
+2016301651,2016301651
+2016301652,2016301652
+2016301653,2016301653
+2016301654,2016301654
+2016301655,2016301655
+2016301656,2016301656
+2016301657,2016301657
+2016301658,2016301658
+2016301659,2016301659
+2016301660,2016301660
+2016301661,2016301661
+2016301662,2016301662
+2016301663,2016301663
+2016301664,2016301664
+2016301665,2016301665
+2016301666,2016301666
+2016301667,2016301667
+2016301668,2016301668
+2016301669,2016301669
+2016301670,2016301670
+2016301671,2016301671
+2016301672,2016301672
+2016301673,2016301673
+2016301674,2016301674
+2016301675,2016301675
+2016301676,2016301676
+2016301677,2016301677
+2016301678,2016301678
+2016301679,2016301679
+2016301680,2016301680
+2016301681,2016301681
+2016301682,2016301682
+2016301683,2016301683
+2016301684,2016301684
+2016301685,2016301685
+2016301686,2016301686
+2016301687,2016301687
+2016301688,2016301688
+2016301689,2016301689
+2016301690,2016301690
+2016301691,2016301691
+2016301692,2016301692
+2016301693,2016301693
+2016301694,2016301694
+2016301695,2016301695
+2016301696,2016301696
+2016301697,2016301697
+2016301698,2016301698
+2016301699,2016301699
+2016301700,2016301700
+2016301701,2016301701
+2016301702,2016301702
+2016301703,2016301703
+2016301704,2016301704
+2016301705,2016301705
+2016301706,2016301706
+2016301707,2016301707
+2016301708,2016301708
+2016301709,2016301709
+2016301710,2016301710
+2016301711,2016301711
+2016301712,2016301712
+2016301713,2016301713
+2016301714,2016301714
+2016301715,2016301715
+2016301716,2016301716
+2016301717,2016301717
+2016301718,2016301718
+2016301719,2016301719
+2016301720,2016301720
+2016301721,2016301721
+2016301722,2016301722
+2016301723,2016301723
+2016301724,2016301724
+2016301725,2016301725
+2016301726,2016301726
+2016301727,2016301727
+2016301728,2016301728
+2016301729,2016301729
+2016301730,2016301730
+2016301731,2016301731
+2016301732,2016301732
+2016301733,2016301733
+2016301734,2016301734
+2016301735,2016301735
+2016301736,2016301736
+2016301737,2016301737
+2016301738,2016301738
+2016301739,2016301739
+2016301740,2016301740
+2016301741,2016301741
+2016301742,2016301742
+2016301743,2016301743
+2016301744,2016301744
+2016301745,2016301745
+2016301746,2016301746
+2016301747,2016301747
+2016301748,2016301748
+2016301749,2016301749
+2016301750,2016301750
+2016301751,2016301751
+2016301752,2016301752
+2016301753,2016301753
+2016301754,2016301754
+2016301755,2016301755
+2016301756,2016301756
+2016301757,2016301757
+2016301758,2016301758
+2016301759,2016301759
+2016301760,2016301760
+2016301761,2016301761
+2016301762,2016301762
+2016301763,2016301763
+2016301764,2016301764
+2016301765,2016301765
+2016301766,2016301766
+2016301767,2016301767
+2016301768,2016301768
+2016301769,2016301769
+2016301770,2016301770
+2016301771,2016301771
+2016301772,2016301772
+2016301773,2016301773
+2016301774,2016301774
+2016301775,2016301775
+2016301776,2016301776
+2016301777,2016301777
+2016301778,2016301778
+2016301779,2016301779
+2016301780,2016301780
+2016301781,2016301781
+2016301782,2016301782
+2016301783,2016301783
+2016301784,2016301784
+2016301785,2016301785
+2016301786,2016301786
+2016301787,2016301787
+2016301788,2016301788
+2016301789,2016301789
+2016301790,2016301790
+2016301791,2016301791
+2016301792,2016301792
+2016301793,2016301793
+2016301794,2016301794
+2016301795,2016301795
+2016301796,2016301796
+2016301797,2016301797
+2016301798,2016301798
+2016301799,2016301799
+2016301800,2016301800
+2016301801,2016301801
+2016301802,2016301802
+2016301803,2016301803
+2016301804,2016301804
+2016301805,2016301805
+2016301806,2016301806
+2016301807,2016301807
+2016301808,2016301808
+2016301809,2016301809
+2016301810,2016301810
+2016301811,2016301811
+2016301812,2016301812
+2016301813,2016301813
+2016301814,2016301814
+2016301815,2016301815
+2016301816,2016301816
+2016301817,2016301817
+2016301818,2016301818
+2016301819,2016301819
+2016301820,2016301820
+2016301821,2016301821
+2016301822,2016301822
+2016301823,2016301823
+2016301824,2016301824
+2016301825,2016301825
+2016301826,2016301826
+2016301827,2016301827
+2016301828,2016301828
+2016301829,2016301829
+2016301830,2016301830
+2016301831,2016301831
+2016301832,2016301832
+2016301833,2016301833
+2016301834,2016301834
+2016301835,2016301835
+2016301836,2016301836
+2016301837,2016301837
+2016301838,2016301838
+2016301839,2016301839
+2016301840,2016301840
+2016301841,2016301841
+2016301842,2016301842
+2016301843,2016301843
+2016301844,2016301844
+2016301845,2016301845
+2016301846,2016301846
+2016301847,2016301847
+2016301848,2016301848
+2016301849,2016301849
+2016301850,2016301850
+2016301851,2016301851
+2016301852,2016301852
+2016301853,2016301853
+2016301854,2016301854
+2016301855,2016301855
+2016301856,2016301856
+2016301857,2016301857
+2016301858,2016301858
+2016301859,2016301859
+2016301860,2016301860
+2016301861,2016301861
+2016301862,2016301862
+2016301863,2016301863
+2016301864,2016301864
+2016301865,2016301865
+2016301866,2016301866
+2016301867,2016301867
+2016301868,2016301868
+2016301869,2016301869
+2016301870,2016301870
+2016301871,2016301871
+2016301872,2016301872
+2016301873,2016301873
+2016301874,2016301874
+2016301875,2016301875
+2016301876,2016301876
+2016301877,2016301877
+2016301878,2016301878
+2016301879,2016301879
+2016301880,2016301880
+2016301881,2016301881
+2016301882,2016301882
+2016301883,2016301883
+2016301884,2016301884
+2016301885,2016301885
+2016301886,2016301886
+2016301887,2016301887
+2016301888,2016301888
+2016301889,2016301889
+2016301890,2016301890
+2016301891,2016301891
+2016301892,2016301892
+2016301893,2016301893
+2016301894,2016301894
+2016301895,2016301895
+2016301896,2016301896
+2016301897,2016301897
+2016301898,2016301898
+2016301899,2016301899
+2016301900,2016301900
+2016301901,2016301901
+2016301902,2016301902
+2016301903,2016301903
+2016301904,2016301904
+2016301905,2016301905
+2016301906,2016301906
+2016301907,2016301907
+2016301908,2016301908
+2016301909,2016301909
+2016301910,2016301910
+2016301911,2016301911
+2016301912,2016301912
+2016301913,2016301913
+2016301914,2016301914
+2016301915,2016301915
+2016301916,2016301916
+2016301917,2016301917
+2016301918,2016301918
+2016301919,2016301919
+2016301920,2016301920
+2016301921,2016301921
+2016301922,2016301922
+2016301923,2016301923
+2016301924,2016301924
+2016301925,2016301925
+2016301926,2016301926
+2016301927,2016301927
+2016301928,2016301928
+2016301929,2016301929
+2016301930,2016301930
+2016301931,2016301931
+2016301932,2016301932
+2016301933,2016301933
+2016301934,2016301934
+2016301935,2016301935
+2016301936,2016301936
+2016301937,2016301937
+2016301938,2016301938
+2016301939,2016301939
+2016301940,2016301940
+2016301941,2016301941
+2016301942,2016301942
+2016301943,2016301943
+2016301944,2016301944
+2016301945,2016301945
+2016301946,2016301946
+2016301947,2016301947
+2016301948,2016301948
+2016301949,2016301949
+2016301950,2016301950
+2016301951,2016301951
+2016301952,2016301952
+2016301953,2016301953
+2016301954,2016301954
+2016301955,2016301955
+2016301956,2016301956
+2016301957,2016301957
+2016301958,2016301958
+2016301959,2016301959
+2016301960,2016301960
+2016301961,2016301961
+2016301962,2016301962
+2016301963,2016301963
+2016301964,2016301964
+2016301965,2016301965
+2016301966,2016301966
+2016301967,2016301967
+2016301968,2016301968
+2016301969,2016301969
+2016301970,2016301970
+2016301971,2016301971
+2016301972,2016301972
+2016301973,2016301973
+2016301974,2016301974
+2016301975,2016301975
+2016301976,2016301976
+2016301977,2016301977
+2016301978,2016301978
+2016301979,2016301979
+2016301980,2016301980
+2016301981,2016301981
+2016301982,2015302938
+2016301983,2016301983
+2016301984,2016301984
+2016301985,2016301985
+2016301986,2016301986
+2016301987,2016301987
+2016301988,2016301988
+2016301989,2016301989
+2016301990,2016301990
+2016301991,2016301991
+2016301992,2016301992
+2016301993,2016301993
+2016301994,2016301994
+2016301995,2016301995
+2016301996,2016301996
+2016301997,2016301997
+2016301998,2016301998
+2016301999,2016301999
+2016302000,2016302000
+2016302001,2016302001
+2016302002,2016302002
+2016302003,2016302003
+2016302004,2016302004
+2016302005,2016302005
+2016302006,2016302006
+2016302007,2016302007
+2016302008,2016302008
+2016302009,2016302009
+2016302010,2016302010
+2016302011,2016302011
+2016302012,2016302012
+2016302013,2016302013
+2016302014,2016302014
+2016302015,2016302015
+2016302016,2016302016
+2016302017,2016302017
+2016302018,2016302018
+2016302019,2016302019
+2016302020,2016302020
+2016302021,2016302021
+2016302022,2016302022
+2016302023,2016302023
+2016302024,2016302024
+2016302025,2016302025
+2016302026,2016302026
+2016302027,2016302027
+2016302028,2016302028
+2016302029,2016302029
+2016302030,2016302030
+2016302031,2016302031
+2016302032,2016302032
+2016302033,2016302033
+2016302034,2016302034
+2016302035,2016302035
+2016302036,2016302036
+2016302037,2016302037
+2016302038,2016302038
+2016302039,2016302039
+2016302040,2016302040
+2016302041,2016302041
+2016302042,2016302042
+2016302043,2016302043
+2016302044,2016302044
+2016302045,2016302045
+2016302046,2016302046
+2016302047,2016302047
+2016302048,2016302048
+2016302049,2016302049
+2016302050,2016302050
+2016302051,2016302051
+2016302052,2016302052
+2016302053,2016302053
+2016302054,2016302054
+2016302055,2016302055
+2016302056,2016302056
+2016302057,2016302057
+2016302058,2016302058
+2016302059,2016302059
+2016302060,2016302060
+2016302061,2016302061
+2016302062,2016302062
+2016302063,2016302063
+2016302064,2016302064
+2016302065,2016302065
+2016302066,2016302066
+2016302067,2016302067
+2016302068,2016302068
+2016302069,2016302069
+2016302070,2016302070
+2016302071,2016302071
+2016302072,2016302072
+2016302073,2016302073
+2016302074,2016302074
+2016302075,2016302075
+2016302076,2016302076
+2016302077,2016302077
+2016302078,2016302078
+2016302079,2016302079
+2016302080,2016302080
+2016302081,2016302081
+2016302082,2016302082
+2016302083,2016302083
+2016302084,2016302084
+2016302085,2016302085
+2016302086,2016302086
+2016302087,2016302087
+2016302088,2016302088
+2016302089,2016302089
+2016302090,2016302090
+2016302091,2016302091
+2016302092,2016302092
+2016302093,2016302093
+2016302094,2016302094
+2016302095,2016302095
+2016302096,2016302096
+2016302097,2016302097
+2016302098,2016302098
+2016302099,2016302099
+2016302100,2016302100
+2016302101,2016302101
+2016302102,2016302102
+2016302103,2016302103
+2016302104,2016302104
+2016302105,2016302105
+2016302106,2016302106
+2016302107,2016302107
+2016302108,2016302108
+2016302109,2016302109
+2016302110,2016302110
+2016302111,2016302111
+2016302112,2016302112
+2016302113,2016302113
+2016302114,2016302114
+2016302115,2016302115
+2016302116,2016302116
+2016302117,2016302117
+2016302118,2016302118
+2016302119,2016302119
+2016302120,2016302120
+2016302121,2016302121
+2016302122,2016302122
+2016302123,2016302123
+2016302124,2016302124
+2016302125,2016302125
+2016302126,2016302126
+2016302127,2016302127
+2016302128,2016302128
+2016302129,2016302129
+2016302130,2016302130
+2016302131,2016302131
+2016302132,2016302132
+2016302133,2016302133
+2016302134,2016302134
+2016302135,2016302135
+2016302136,2016302136
+2016302137,2016302137
+2016302138,2016302138
+2016302139,2016302139
+2016302140,2016302140
+2016302141,2016302141
+2016302142,2016302142
+2016302143,2016302143
+2016302144,2016302144
+2016302145,2016302145
+2016302146,2016302146
+2016302147,2016302147
+2016302148,2016302148
+2016302149,2016302149
+2016302150,2016302150
+2016302151,2016302151
+2016302152,2016302152
+2016302153,2016302153
+2016302154,2016302154
+2016302155,2016302155
+2016302156,2016302156
+2016302157,2016302157
+2016302158,2016302158
+2016302159,2016302159
+2016302160,2016302160
+2016302161,2016302161
+2016302162,2016302162
+2016302163,2016302163
+2016302164,2016302164
+2016302165,2016302165
+2016302166,2016302166
+2016302167,2016302167
+2016302168,2016302168
+2016302169,2016302169
+2016302170,2016302170
+2016302171,2016302171
+2016302172,2016302172
+2016302173,2016302173
+2016302174,2016302174
+2016302175,2016302175
+2016302176,2016302176
+2016302177,2016302177
+2016302178,2016302178
+2016302179,2016302179
+2016302180,2016302180
+2016302181,2016302181
+2016302182,2016302182
+2016302183,2016302183
+2016302184,2016302184
+2016302185,2016302185
+2016302186,2016302186
+2016302187,2016302187
+2016302188,2016302188
+2016302189,2016302189
+2016302190,2016302190
+2016302191,2016302191
+2016302192,2016302192
+2016302193,2016302193
+2016302194,2016302194
+2016302195,2016302195
+2016302196,2016302196
+2016302197,2016302197
+2016302198,2016302198
+2016302199,2016302199
+2016302200,2016302200
+2016302201,2016302201
+2016302202,2016302202
+2016302203,2016302203
+2016302204,2016302204
+2016302205,2016302205
+2016302206,2016302206
+2016302207,2016302207
+2016302208,2016302208
+2016302209,2016302209
+2016302210,2016302210
+2016302211,2016302211
+2016302212,2016302212
+2016302213,2016302213
+2016302214,2016302214
+2016302215,2016302215
+2016302216,2016302216
+2016302217,2016302217
+2016302218,2016302218
+2016302219,2016302219
+2016302220,2016302220
+2016302221,2016302221
+2016302222,2016302222
+2016302223,2016302223
+2016302224,2016302224
+2016302225,2016302225
+2016302226,2016302226
+2016302227,2016302227
+2016302228,2016302228
+2016302229,2016302229
+2016302230,2016302230
+2016302231,2016302231
+2016302232,2016302232
+2016302233,2016302233
+2016302234,2016302234
+2016302235,2016302235
+2016302236,2016302236
+2016302237,2016302237
+2016302238,2016302238
+2016302239,2016302239
+2016302240,2016302240
+2016302241,2016302241
+2016302242,2016302242
+2016302243,2016302243
+2016302244,2016302244
+2016302245,2016302245
+2016302246,2016302246
+2016302247,2016302247
+2016302248,2016302248
+2016302249,2016302249
+2016302250,2016302250
+2016302251,2016302251
+2016302252,2016302252
+2016302253,2016302253
+2016302254,2016302254
+2016302255,2016302255
+2016302256,2016302256
+2016302257,2016302257
+2016302258,2016302258
+2016302259,2016302259
+2016302260,2016302260
+2016302261,2016302261
+2016302262,2016302262
+2016302263,2016302263
+2016302264,2016302264
+2016302265,2016302265
+2016302266,2016302266
+2016302267,2016302267
+2016302268,2016302268
+2016302269,2016302269
+2016302270,2016302270
+2016302271,2016302271
+2016302272,2016302272
+2016302273,2016302273
+2016302274,2016302274
+2016302275,2016302275
+2016302276,2016302276
+2016302277,2016302277
+2016302278,2016302278
+2016302279,2016302279
+2016302280,2016302280
+2016302281,2016302281
+2016302282,2016302282
+2016302283,2016302283
+2016302284,2016302284
+2016302285,2016302285
+2016302286,2016302286
+2016302287,2016302287
+2016302288,2016302288
+2016302289,2016302289
+2016302290,2016302290
+2016302291,2016302291
+2016302292,2016302292
+2016302293,2016302293
+2016302294,2016302294
+2016302295,2016302295
+2016302296,2016302296
+2016302297,2016302297
+2016302298,2016302298
+2016302299,2016302299
+2016302300,2016302300
+2016302301,2016302301
+2016302302,2016302302
+2016302303,2016302303
+2016302304,2016302304
+2016302305,2016302305
+2016302306,2016302306
+2016302307,2016302307
+2016302308,2016302308
+2016302309,2016302309
+2016302310,2016302310
+2016302311,2016302311
+2016302312,2016302312
+2016302313,2016302313
+2016302314,2016302314
+2016302315,2016302315
+2016302316,2016302316
+2016302317,2016302317
+2016302318,2016302318
+2016302319,2016302319
+2016302320,2016302320
+2016302321,2016302321
+2016302322,2016302322
+2016302323,2016302323
+2016302324,2016302324
+2016302325,2016302325
+2016302326,2016302326
+2016302327,2016302327
+2016302328,2016302328
+2016302329,2016302329
+2016302330,2016302330
+2016302331,2016302331
+2016302332,2016302332
+2016302333,2016302333
+2016302334,2016302334
+2016302335,2016302335
+2016302336,2016302336
+2016302337,2016302337
+2016302338,2016302338
+2016302339,2016302339
+2016302340,2016302340
+2016302341,2016302341
+2016302342,2016302342
+2016302343,2016302343
+2016302344,2016302344
+2016302345,2016302345
+2016302346,2016302346
+2016302347,2016302347
+2016302348,2016302348
+2016302349,2016302349
+2016302350,2016302350
+2016302351,2016302351
+2016302352,2016302352
+2016302353,2016302353
+2016302354,2016302354
+2016302355,2016302355
+2016302356,2016302356
+2016302357,2016302357
+2016302358,2016302358
+2016302359,2016302359
+2016302360,2016302360
+2016302361,2016302361
+2016302362,2016302362
+2016302363,2016302363
+2016302364,2016302364
+2016302365,2016302365
+2016302366,2016302366
+2016302367,2016302367
+2016302368,2016302368
+2016302369,2016302369
+2016302370,2016302370
+2016302371,2016302371
+2016302372,2016302372
+2016302373,2016302373
+2016302374,2016302374
+2016302375,2016302375
+2016302376,2016302376
+2016302377,2016302377
+2016302378,2016302378
+2016302379,2016302379
+2016302380,2016302380
+2016302381,2016302381
+2016302382,2016302382
+2016302383,2016302383
+2016302384,2016302384
+2016302385,2016302385
+2016302386,2016302386
+2016302387,2016302387
+2016302388,2016302388
+2016302389,2016302389
+2016302390,2016302390
+2016302391,2016302391
+2016302392,2016302392
+2016302393,2016302393
+2016302394,2016302394
+2016302395,2016302395
+2016302396,2016302396
+2016302397,2016302397
+2016302398,2016302398
+2016302399,2016302399
+2016302400,2016302400
+2016302401,2016302401
+2016302402,2016302402
+2016302403,2016302403
+2016302404,2016302404
+2016302405,2016302405
+2016302406,2016302406
+2016302407,2016302407
+2016302408,2016302408
+2016302409,2016302409
+2016302410,2016302410
+2016302411,2016302411
+2016302412,2016302412
+2016302413,2016302413
+2016302414,2016302414
+2016302415,2016302415
+2016302416,2016302416
+2016302417,2016302417
+2016302418,2016302418
+2016302419,2016302419
+2016302420,2016302420
+2016302421,2016302421
+2016302422,2016302422
+2016302423,2016302423
+2016302424,2016302424
+2016302425,2016302425
+2016302426,2016302426
+2016302427,2016302427
+2016302428,2016302428
+2016302429,2016302429
+2016302430,2016302430
+2016302431,2016302431
+2016302432,2016302432
+2016302433,2016302433
+2016302434,2016302434
+2016302435,2016302435
+2016302436,2016302436
+2016302437,2016302437
+2016302438,2016302438
+2016302439,2016302439
+2016302440,2016302440
+2016302441,2016302441
+2016302442,2016302442
+2016302443,2016302443
+2016302444,2016302444
+2016302445,2016302445
+2016302446,2016302446
+2016302447,2016302447
+2016302448,2016302448
+2016302449,2016302449
+2016302450,2016302450
+2016302451,2016302451
+2016302452,2016302452
+2016302453,2016302453
+2016302454,2016302454
+2016302455,2016302455
+2016302456,2016302456
+2016302457,2016302457
+2016302458,2016302458
+2016302459,2016302459
+2016302460,2016302460
+2016302461,2016302461
+2016302462,2016302462
+2016302463,2016302463
+2016302464,2016302464
+2016302465,2016302465
+2016302466,2016302466
+2016302467,2016302467
+2016302468,2016302468
+2016302469,2016302469
+2016302470,2016302470
+2016302471,2016302471
+2016302472,2016302472
+2016302473,2016302473
+2016302474,2016302474
+2016302475,2016302475
+2016302476,2016302476
+2016302477,2016302477
+2016302478,2016302478
+2016302479,2016302479
+2016302480,2016302480
+2016302481,2016302481
+2016302482,2016302482
+2016302483,2016302483
+2016302484,2016302484
+2016302485,2016302485
+2016302486,2016302486
+2016302487,2016302487
+2016302488,2016302488
+2016302489,2016302489
+2016302490,2016302490
+2016302491,2016302491
+2016302492,2016302492
+2016302493,2016302493
+2016302494,2016302494
+2016302495,2016302495
+2016302496,2016302496
+2016302497,2016302497
+2016302498,2016302498
+2016302499,2016302499
+2016302500,2016302500
+2016302501,2016302501
+2016302502,2016302502
+2016302503,2016302503
+2016302504,2016302504
+2016302505,2016302505
+2016302506,2016302506
+2016302507,2016302507
+2016302508,2016302508
+2016302509,2016302509
+2016302510,2016302510
+2016302511,2016302511
+2016302512,2016302512
+2016302513,2016302513
+2016302514,2016302514
+2016302515,2016302515
+2016302516,2016302516
+2016302517,2016302517
+2016302518,2016302518
+2016302519,2016302519
+2016302520,2016302520
+2016302521,2016302521
+2016302522,2016302522
+2016302523,2016302523
+2016302524,2016302524
+2016302525,2016302525
+2016302526,2016302526
+2016302527,2016302527
+2016302528,2016302528
+2016302529,2016302529
+2016302530,2016302530
+2016302531,2016302531
+2016302532,2016302532
+2016302533,2016302533
+2016302534,2016302534
+2016302535,2016302535
+2016302536,2016302536
+2016302537,2016302537
+2016302538,2016302538
+2016302539,2016302539
+2016302540,2016302540
+2016302541,2016302541
+2016302542,2016302542
+2016302543,2016302543
+2016302544,2016302544
+2016302545,2016302545
+2016302546,2016302546
+2016302547,2016302547
+2016302548,2016302548
+2016302549,2016302549
+2016302550,2016302550
+2016302551,2016302551
+2016302552,2016302552
+2016302553,2016302553
+2016302554,2016302554
+2016302555,2016302555
+2016302556,2016302556
+2016302557,2016302557
+2016302558,2016302558
+2016302559,2016302559
+2016302560,2016302560
+2016302561,2016302561
+2016302562,2016302562
+2016302563,2016302563
+2016302564,2016302564
+2016302565,2016302565
+2016302566,2016302566
+2016302567,2016302567
+2016302568,2016302568
+2016302569,2016302569
+2016302570,2016302570
+2016302571,2016302571
+2016302572,2016302572
+2016302573,2016302573
+2016302574,2016302574
+2016302575,2016302575
+2016302576,2016302576
+2016302577,2016302577
+2016302578,2016302578
+2016302579,2016302579
+2016302580,2016302580
+2016302581,2016302581
+2016302582,2016302582
+2016302583,2016302583
+2016302584,2016302584
+2016302585,2016302585
+2016302586,2016302586
+2016302587,2016302587
+2016302588,2016302588
+2016302589,2016302589
+2016302590,2016302590
+2016302591,2016302591
+2016302592,2016302592
+2016302593,2016302593
+2016302594,2016302594
+2016302595,2016302595
+2016302596,2016302596
+2016302597,2016302597
+2016302598,2016302598
+2016302599,2016302599
+2016302600,2016302600
+2016302601,2016302601
+2016302602,2016302602
+2016302603,2016302603
+2016302604,2016302604
+2016302605,2016302605
+2016302606,2016302606
+2016302607,2016302607
+2016302608,2016302608
+2016302609,2016302609
+2016302610,2016302610
+2016302611,2016302611
+2016302612,2016302612
+2016302613,2016302613
+2016302614,2016302614
+2016302615,2016302615
+2016302616,2016302616
+2016302617,2016302617
+2016302618,2016302618
+2016302619,2016302619
+2016302620,2016302620
+2016302621,2016302621
+2016302622,2016302622
+2016302623,2016302623
+2016302624,2016302624
+2016302625,2016302625
+2016302626,2016302626
+2016302627,2016302627
+2016302628,2016302628
+2016302629,2016302629
+2016302630,2016302630
+2016302631,2016302631
+2016302632,2016302632
+2016302633,2016302633
+2016302634,2016302634
+2016302635,2016302635
+2016302636,2016302636
+2016302637,2016302637
+2016302638,2016302638
+2016302639,2016302639
+2016302640,2016302640
+2016302641,2016302641
+2016302642,2016302642
+2016302643,2016302643
+2016302644,2016302644
+2016302645,2016302645
+2016302646,2016302646
+2016302647,2016302647
+2016302648,2016302648
+2016302649,2016302649
+2016302650,2016302650
+2016302651,2016302651
+2016302652,2016302652
+2016302653,2016302653
+2016302654,2016302654
+2016302655,2016302655
+2016302656,2016302656
+2016302657,2016302657
+2016302658,2016302658
+2016302659,2016302659
+2016302660,2016302660
+2016302661,2016302661
+2016302662,2016302662
+2016302663,2016302663
+2016302664,2016302664
+2016302665,2016302665
+2016302666,2016302666
+2016302667,2016302667
+2016302668,2016302668
+2016302669,2016302669
+2016302670,2016302670
+2016302671,2016302671
+2016302672,2016302672
+2016302673,2016302673
+2016302674,2016302674
+2016302675,2016302675
+2016302676,2016302676
+2016302677,2016302677
+2016302678,2016302678
+2016302679,2016302679
+2016302680,2016302680
+2016302681,2016302681
+2016302682,2016302682
+2016302683,2016302683
+2016302684,2016302684
+2016302685,2016302685
+2016302686,2016302686
+2016302687,2016302687
+2016302688,2016302688
+2016302689,2016302689
+2016302690,2016302690
+2016302691,2016302691
+2016302692,2016302692
+2016302693,2016302693
+2016302694,2016302694
+2016302695,2016302695
+2016302696,2016302696
+2016302697,2016302697
+2016302698,2016302698
+2016302699,2016302699
+2016302700,2016302700
+2016302701,2016302701
+2016302702,2016302702
+2016302703,2016302703
+2016302704,2016302704
+2016302705,2016302705
+2016302706,2016302706
+2016302707,2016302707
+2016302708,2016302708
+2016302709,2016302709
+2016302710,2016302710
+2016302711,2016302711
+2016302712,2016302712
+2016302713,2016302713
+2016302714,2016302714
+2016302715,2016302715
+2016302716,2016302716
+2016302717,2016302717
+2016302718,2016302718
+2016302719,2016302719
+2016302720,2016302720
+2016302721,2016302721
+2016302722,2012302924
+2016302723,2016302723
+2016302724,2016302724
+2016302725,2016302725
+2016302726,2016302726
+2016302727,2016302727
+2016302728,2016302728
+2016302729,2016302729
+2016302730,2016302730
+2016302731,2016302731
+2016302732,2016302732
+2016302733,2016302733
+2016302734,2016302734
+2016302735,2016302735
+2016302736,2016302736
+2016302737,2016302737
+2016302738,2016302738
+2016302739,2016302739
+2016302740,2016302740
+2016302741,2016302741
+2016302742,2016302742
+2016302743,2016302743
+2016302744,2016302744
+2016302745,2016302745
+2016302746,2016302746
+2016302747,2016302747
+2016302748,2016302748
+2016302749,2016302749
+2016302750,2016302750
+2016302751,2016302751
+2016302752,2016302752
+2016302753,2016302753
+2016302754,2016302754
+2016302755,2016302755
+2016302756,2016302756
+2016302757,2016302757
+2016302758,2016302758
+2016302759,2016302759
+2016302760,2016302760
+2016302761,2016302761
+2016302762,2016302762
+2016302763,2016302763
+2016302764,2016302764
+2016302765,2016302765
+2016302766,2016302766
+2016302767,2016302767
+2016302768,2016302768
+2016302769,2016302769
+2016302770,2016302770
+2016302771,2016302771
+2016302772,2016302772
+2016302773,2016302773
+2016302774,2016302774
+2016302775,2016302775
+2016302776,2016302776
+2016302777,2016302777
+2016302778,2016302778
+2016302779,2016302779
+2016302780,2016302780
+2016302781,2016302781
+2016302782,2016302782
+2016302783,2016302783
+2016302784,2016302784
+2016302785,2016302785
+2016302786,2016302786
+2016302787,2016302787
+2016302788,2016302788
+2016302789,2016302789
+2016302790,2016302790
+2016302791,2016302791
+2016302792,2016302792
+2016302793,2016302793
+2016302794,2016302794
+2016302795,2016302795
+2016302796,2016302796
+2016302797,2016302797
+2016302798,2016302798
+2016302799,2016302799
+2016302800,2016302800
+2016302801,2016302801
+2016302802,2016302802
+2016302803,2016302803
+2016302804,2016302804
+2016302805,2016302805
+2016302806,2016302806
+2016302807,2016302807
+2016302808,2016302808
+2016302809,2016302809
+2016302810,2016302810
+2016302811,2016302811
+2016302812,2016302812
+2016302813,2016302813
+2016302814,2016302814
+2016302815,2016302815
+2016302816,2016302816
+2016302817,2016302817
+2016302818,2016302818
+2016302819,2016302819
+2016302820,2016302820
+2016302821,2016302821
+2016302822,2016302822
+2016302823,2016302823
+2016302824,2016302824
+2016302825,2016302825
+2016302826,2016302826
+2016302827,2016302827
+2016302828,2016302828
+2016302829,2016302829
+2016302830,2016302830
+2016302831,2016302831
+2016302832,2016302832
+2016302833,2016302833
+2016302834,2016302834
+2016302835,2016302835
+2016302836,2016302836
+2016302837,2016302837
+2016302838,2016302838
+2016302839,2016302839
+2016302840,2016302840
+2016302841,2016302841
+2016302842,2016302842
+2016302843,2016302843
+2016302844,2016302844
+2016302845,2016302845
+2016302846,2016302846
+2016302847,2016302847
+2016302848,2016302848
+2016302849,2016302849
+2016302850,2016302850
+2016302851,2016302851
+2016302852,2016302852
+2016302853,2016302853
+2016302854,2016302854
+2016302855,2016302855
+2016302856,2016302856
+2016302857,2016302857
+2016302858,2016302858
+2016302859,2016302859
+2016302860,2016302860
+2016302861,2016302861
+2016302862,2016302862
+2016302863,2016302863
+2016302864,2016302864
+2016302865,2016302865
+2016302866,2016302866
+2016302867,2016302867
+2016302868,2016302868
+2016302869,2016302869
+2016302870,2016302870
+2016302871,2016302871
+2016302872,2016302872
+2016302873,2016302873
+2016302874,2016302874
+2016302875,2016302875
+2016302876,2016302876
+2016302877,2016302877
+2016302878,2016302878
+2016302879,2016302879
+2016302880,2016302880
+2016302881,2016302881
+2016302882,2016302882
+2016302883,2016302883
+2016302884,2016302884
+2016302885,2016302885
+2016302886,2016302886
+2016302887,2016302887
+2016302888,2016302888
+2016302889,2016302889
+2016302890,2016302890
+2016302891,2016302891
+2016302892,2016302892
+2016302893,2016302893
+2016302894,2016302894
+2016302895,2016302895
+2016302896,2016302896
+2016302897,2016302897
+2016302898,2016302898
+2016302899,2016302899
+2016302900,2016302900
+2016302901,2016302901
+2016302902,2016302902
+2016302903,2016302903
+2016302904,2016302904
+2016302905,2016302905
+2016302906,2016302906
+2016302907,2016302907
+2016302908,2016302908
+2016302909,2016302909
+2016302910,2016302910
+2016302911,2016302911
+2016302912,2016302912
+2016302913,2016302913
+2016302914,2016302914
+2016302915,2016302915
+2016302916,2016302916
+2016302917,2016302917
+2016302918,2016302918
+2016302919,2016302919
+2016302920,2016302920
+2016302921,2016302921
+2016302922,2016302922
+2016302923,2016302923
+2016302924,2016302924
+2016302925,2016302925
+2016302926,2016302926
+2016302927,2016302927
+2016302928,2016302928
+2016302929,2016302929
+2016302930,2016302930
+2016302931,2016302931
+2016302932,2016302932
+2016302933,2016302933
+2016302934,2016302934
+2016302935,2016302935
+2016302936,2016302936
+2016302937,2016302937
+2016302938,2016302938
+2016302939,2016302939
+2016302940,2016302940
+2016302941,2016302941
+2016302942,2016302942
+2016302943,2016302943
+2016302944,2016302944
+2016302945,2016302945
+2016302946,2016302946
+2016302947,2016302947
+2016302948,2016302948
+2016302949,2016302949
+2016302950,2016302950
+2016302951,2016302951
+2016302952,2016302952
+2016302953,2016302953
+2016302954,2016302954
+2016302955,2016302955
+2016302956,2016302956
+2016302957,2016302957
+2016302958,2016302958
+2016302959,2016302959
+2016302960,2016302960
+2016302961,2016302961
+2016302962,2016302962
+2016302963,2016302963
+2016302964,2016302964
+2016302965,2016302965
+2016302966,2016302966
+2016302967,2016302967
+2016302968,2016302968
+2016302969,2016302969
+2016302970,2016302970
+2016302971,2016302971
+2016302972,2016302972
+2016302973,2016302973
+2016302974,2016302974
+2016302975,2016302975
+2016302976,2016302976
+2016302977,2016302977
+2016302978,2016302978
+2016302979,2016302979
+2016302980,2016302980
+2016302981,2016302981
+2016302982,2016302982
+2016302983,2016302983
+2016302984,2016302984
+2016302985,2016302985
+2016302986,2016302986
+2016302987,2016302987
+2016302988,2016302988
+2016302989,2016302989
+2016302990,2016302990
+2016302991,2016302991
+2016302992,2016302992
+2016302993,2016302993
+2016302994,2016302994
+2016302995,2016302995
+2016302996,2016302996
+2016302997,2016302997
+2016302998,2016302998
+2016302999,2016302999
+2016303000,2016303000
+2016303001,2016303001
+2016303002,2016303002
+2016303003,2016303003
+2016303004,2016303004
+2016303005,2016303005
+2016303006,2016303006
+2016303007,2016303007
+2016303008,2016303008
+2016303009,2016303009
+2016303010,2016303010
+2016303011,2016303011
+2016303012,2016303012
+2016303013,2016303013
+2016303014,2016303014
+2016303015,2016303015
+2016303016,2016303016
+2016303017,2016303017
+2016303018,2016303018
+2016303019,2016303019
+2016303020,2016303020
+2016303021,2016303021
+2016303022,2016303022
+2016303023,2016303023
+2016303024,2016303024
+2016303025,2016303025
+2016303026,2016303026
+2016303027,2016303027
+2016303028,2016303028
+2016303029,2016303029
+2016303030,2016303030
+2016303031,2016303031
+2016303032,2016303032
+2016303033,2016303033
+2016303034,2016303034
+2016303035,2016303035
+2016303036,2016303036
+2016303037,2016303037
+2016303038,2016303038
+2016303039,2016303039
+2016303040,2016303040
+2016303041,2016303041
+2016303042,2016303042
+2016303043,2016303043
+2016303044,2016303044
+2016303045,2016303045
+2016303046,2016303046
+2016303047,2016303047
+2016303048,2016303048
+2016303049,2016303049
+2016303050,2016303050
+2016303051,2016303051
+2016303052,2016303052
+2016303053,2016303053
+2016303054,2016303054
+2016303055,2016303055
+2016303056,2016303056
+2016303057,2016303057
+2016303058,2016303058
+2016303059,2016303059
+2016303060,2016303060
+2016303061,2016303061
+2016303062,2016303062
+2016303063,2016303063
+2016303064,2016303064
+2016303065,2016303065
+2016303066,2016303066
+2016303067,2016303067
+2016303068,2016303068
+2016303069,2016303069
+2016303070,2016303070
+2016303071,2016303071
+2016303072,2016303072
+2016303073,2016303073
+2016303074,2016303074
+2016303075,2016303075
+2016303076,2016303076
+2016303077,2016303077
+2016303078,2016303078
+2016303079,2016303079
+2016303080,2016303080
+2016303081,2016303081
+2016303082,2016303082
+2016303083,2016303083
+2016303084,2016303084
+2016303085,2016303085
+2016303086,2016303086
+2016303087,2016303087
+2016303088,2016303088
+2016303089,2016303089
+2016303090,2016303090
+2016303091,2016303091
+2016303092,2016303092
+2016303093,2016303093
+2016303094,2016303094
+2016303095,2016303095
+2016303096,2016303096
+2016303097,2016303097
+2016303098,2016303098
+2016303099,2016303099
+2016303100,2016303100
+2016303101,2016303101
+2016303102,2016303102
+2016303103,2016303103
+2016303104,2016303104
+2016303105,2016303105
+2016303106,2016303106
+2016303107,2016303107
+2016303108,2016303108
+2016303109,2016303109
+2016303110,2016303110
+2016303111,2016303111
+2016303112,2016303112
+2016303113,2016303113
+2016303114,2016303114
+2016303115,2016303115
+2016303116,2016303116
+2016303117,2016303117
+2016303118,2016303118
+2016303119,2016303119
+2016303120,2016303120
+2016303121,2016303121
+2016303122,2016303122
+2016303123,2016303123
+2016303124,2016303124
+2016303125,2016303125
+2016303126,2016303126
+2016303127,2016303127
+2016303128,2016303128
+2016303129,2016303129
+2016303130,2016303130
+2016303131,2016303131
+2016303132,2016303132
+2016303133,2016303133
+2016303134,2016303134
+2016303135,2016303135
+2016303136,2016303136
+2016303137,2016303137
+2016303138,2016303138
+2016303139,2016303139
+2016303140,2016303140
+2016303141,2016303141
+2016303142,2016303142
+2016303143,2016303143
+2016303144,2016303144
+2016303145,2016303145
+2016303146,2016303146
+2016303147,2016303147
+2016303148,2016303148
+2016303149,2016303149
+2016303150,2016303150
+2016303151,2016303151
+2016303152,2016303152
+2016303153,2016303153
+2016303154,2016303154
+2016303155,2016303155
+2016303156,2016303156
+2016303157,2016303157
+2016303158,2016303158
+2016303159,2016303159
+2016303160,2016303160
+2016303161,2016303161
+2016303162,2016303162
+2016303163,2016303163
+2016303164,2016303164
+2016303165,2016303165
+2016303166,2016303166
+2016303167,2016303167
+2016303168,2016303168
+2016303169,2016303169
+2016303170,2016303170
+2016303171,2016303171
+2016303172,2016303172
+2016303173,2016303173
+2016303174,2016303174
+2016303175,2016303175
+2016303176,2016303176
+2016303177,2016303177
+2016303178,2016303178
+2016303179,2016303179
+2016303180,2016303180
+2016303181,2016303181
+2016303182,2016303182
+2016303183,2016303183
+2016303184,2016303184
+2016303185,2016303185
+2016303186,2016303186
+2016303187,2016303187
+2016303188,2016303188
+2016303189,2016303189
+2016303190,2016303190
+2016303191,2016303191
+2016303192,2016303192
+2016303193,2016303193
+2016303194,2016303194
+2016303195,2016303195
+2016303196,2016303196
+2016303197,2016303197
+2016303198,2016303198
+2016303199,2016303199
+2016303200,2016303200
+2016303201,2016303201
+2016303202,2016303202
+2016303203,2016303203
+2016303204,2016303204
+2016303205,2016303205
+2016303206,2016303206
+2016303207,2016303207
+2016303208,2016303208
+2016303209,2016303209
+2016303210,2016303210
+2016303211,2016303211
+2016303212,2016303212
+2016303213,2016303213
+2016303214,2016303214
+2016303215,2016303215
+2016303216,2016303216
+2016303217,2016303217
+2016303218,2016303218
+2016303219,2016303219
+2016303220,2016303220
+2016303221,2016303221
+2016303222,2016303222
+2016303223,2016303223
+2016303224,2016303224
+2016303225,2016303225
+2016303226,2016303226
+2016303227,2016303227
+2016303228,2016303228
+2016303229,2016303229
+2016303230,2016303230
+2016303231,2016303231
+2016303232,2016303232
+2016303233,2016303233
+2016303234,2016303234
+2016303235,2016303235
+2016303236,2016303236
+2016303237,2016303237
+2016303238,2016303238
+2016303239,2016303239
+2016303240,2016303240
+2016303241,2016303241
+2016303242,2016303242
+2016303243,2016303243
+2016303244,2016303244
+2016303245,2016303245
+2016303246,2016303246
+2016303247,2016303247
+2016303248,2016303248
+2016303249,2016303249
+2016303250,2016303250
+2016303251,2016303251
+2016303252,2016303252
+2016303253,2016303253
+2016303254,2016303254
+2016303255,2016303255
+2016303256,2016303256
+2016303257,2016303257
+2016303258,2016303258
+2016303259,2016303259
+2016303260,2016303260
+2016303261,2016303261
+2016303262,2016303262
+2016303263,2016303263
+2016303264,2016303264
+2016303265,2016303265
+2016303266,2016303266
+2016303267,2016303267
+2016303268,2016303268
+2016303269,2016303269
+2016303270,2016303270
+2016303271,2016303271
+2016303272,2016303272
+2016303273,2016303273
+2016303274,2016303274
+2016303275,2016303275
+2016303276,2016303276
+2016303277,2016303277
+2016303278,2016303278
+2016303279,2016303279
+2016303280,2016303280
+2016303281,2016303281
+2016303282,2016303282
+2016303283,2016303283
+2016303284,2016303284
+2016303285,2016303285
+2016303286,2016303286
+2016303287,2016303287
+2016303288,2016303288
+2016303289,2016303289
+2016303290,2016303290
+2016303291,2016303291
+2016303292,2016303292
+2016303293,2016303293
+2016303294,2016303294
+2016303295,2016303295
+2016303296,2016303296
+2016303297,2016303297
+2016303298,2016303298
+2016303299,2016303299
+2016303300,2016303300
+2016303301,2016303301
+2016303302,2016303302
+2016303303,2016303303
+2016303304,2016303304
+2016303305,2016303305
+2016303306,2016303306
+2016303307,2016303307
+2016303308,2016303308
+2016303309,2016303309
+2016303310,2016303310
+2016303311,2016303311
+2016303312,2016303312
+2016303313,2016303313
+2016303314,2016303314
+2016303315,2016303315
+2016303316,2016303316
+2016303317,2016303317
+2016303318,2016303318
+2016303319,2016303319
+2016303320,2016303320
+2016303321,2016303321
+2016303322,2016303322
+2016303323,2016303323
+2016303324,2016303324
+2016303325,2016303325
+2016303326,2016303326
+2016303327,2016303327
+2016303328,2016303328
+2016303329,2016303329
+2016303330,2016303330
+2016303331,2016303331
+2016303332,2016303332
+2016303333,2016303333
+2016303334,2016303334
+2016303335,2016303335
+2016303336,2016303336
+2016303337,2016303337
+2016303338,2016303338
+2016303339,2016303339
+2016303340,2016303340
+2016303341,2016303341
+2016303342,2016303342
+2016303343,2016303343
+2016303344,2016303344
+2016303345,2016303345
+2016303346,2016303346
+2016303347,2016303347
+2016303348,2016303348
+2016303349,2016303349
+2016303350,2016303350
+2016303351,2016303351
+2016303352,2016303352
+2016303353,2016303353
+2016303354,2016303354
+2016303355,2016303355
+2016303356,2016303356
+2016303357,2016303357
+2016303358,2016303358
+2016303359,2016303359
+2016303360,2016303360
+2016303361,2016303361
+2016303362,2016303362
+2016303363,2016303363
+2016303364,2016303364
+2016303365,2016303365
+2016303366,2016303366
+2016303367,2016303367
+2016303368,2016303368
+2016303369,2016303369
+2016303370,2016303370
+2016303371,2016303371
+2016303372,2016303372
+2016303373,2016303373
+2016303374,2016303374
+2016303375,2016303375
+2016303376,2016303376
+2016303377,2016303377
+2016303378,2016303378
+2016303379,2016303379
+2016303380,2016303380
+2016303381,2016303381
+2016303382,2016303382
+2016303383,2016303383
+2016303384,2016303384
+2016303385,2016303385
+2016303386,2016303386
+2016303387,2016303387
+2016303388,2016303388
+2016303389,2016303389
+2016303390,2016303390
+2016303391,2016303391
+2016303392,2016303392
+2016303393,2016303393
+2016303394,2016303394
+2016303395,2016303395
+2016303396,2016303396
+2016303397,2016303397
+2016303398,2016303398
+2016303399,2016303399
+2016303400,2016303400
+2016303401,2016303401
+2016303402,2016303402
+2016303403,2016303403
+2016303404,2016303404
+2016303405,2016303405
+2016303406,2016303406
+2016303407,2016303407
+2016303408,2016303408
+2016303409,2016303409
+2016303410,2016303410
+2016303411,2016303411
+2016303412,2016303412
+2016303413,2016303413
+2016303414,2016303414
+2016303415,2016303415
+2016303416,2016303416
+2016303417,2016303417
+2016303418,2016303418
+2016303419,2016303419
+2016303420,2016303420
+2016303421,2016303421
+2016303422,2016303422
+2016303423,2016303423
+2016303424,2016303424
+2016303425,2016303425
+2016303426,2016303426
+2016303427,2016303427
+2016303428,2016303428
+2016303429,2016303429
+2016303430,2016303430
+2016303431,2016303431
+2016303432,2016303432
+2016303433,2016303433
+2016303434,2016303434
+2016303435,2016303435
+2016303436,2016303436
+2016303437,2016303437
+2016303438,2016303438
+2016303439,2016303439
+2016303440,2016303440
+2016303441,2016303441
+2016303442,2016303442
+2016303443,2016303443
+2016303444,2016303444
+2016303445,2016303445
+2016303446,2016303446
+2016303447,2016303447
+2016303448,2016303448
+2016303449,2016303449
+2016303450,2016303450
+2016303451,2016303451
+2016303452,2016303452
+2016303453,2016303453
+2016303454,2016303454
+2016303455,2016303455
+2016303456,2016303456
+2016303457,2016303457
+2016303458,2016303458
+2016303459,2016303459
+2016303460,2016303460
+2016303461,2016303461
+2016303462,2016303462
+2016303463,2016303463
+2016303464,2016303464
+2016303465,2016303465
+2016303466,2016303466
+2016303467,2016303467
+2016303468,2016303468
+2016303469,2016303469
+2016303470,2016303470
+2016303471,2016303471
+2016303472,2016303472
+2016303473,2016303473
+2016303474,2016303474
+2016303475,2016303475
+2016303476,2016303476
+2016303477,2016303477
+2016303478,2016303478
+2016303479,2016303479
+2016303480,2016303480
+2016303481,2016303481
+2016303482,2016303482
+2016303483,2016303483
+2016303484,2016303484
+2016303485,2016303485
+2016303486,2016303486
+2016303487,2016303487
+2016303488,2016303488
+2016303489,2016303489
+2016303490,2016303490
+2016303491,2016303491
+2016303492,2016303492
+2016303493,2016303493
+2016303494,2016303494
+2016303495,2016303495
+2016303496,2016303496
+2016303497,2016303497
+2016303498,2016303498
+2016303499,2016303499
+2016303500,2016303500
+2016303501,2016303501
+2016303502,2016303502
+2016303503,2016303503
+2016303504,2016303504
+2016303505,2016303505
+2016303506,2016303506
+2016303507,2016303507
+2016303508,2016303508
+2016303509,2016303509
+2016303510,2016303510
+2016303511,2016303511
+2016303512,2016303512
+2016303513,2016303513
+2016303514,2016303514
+2016303515,2016303515
+2016303516,2016303516
+2016303517,2016303517
+2016303518,2016303518
+2016303519,2016303519
+2016303520,2016303520
+2016303521,2016303521
+2016303522,2016303522
+2016303523,2016303523
+2016303524,2016303524
+2016303525,2016303525
+2016303526,2016303526
+2016303527,2016303527
+2016303528,2016303528
+2016303529,2016303529
+2016303530,2016303530
+2016303531,2016303531
+2016303532,2016303532
+2016303533,2016303533
+2016303534,2016303534
+2016303535,2016303535
+2016303536,2016303536
+2016303537,2016303537
+2016303538,2016303538
+2016303539,2016303539
+2016303540,2016303540
+2016303541,2016303541
+2016303542,2016303542
+2016303543,2016303543
+2016303544,2016303544
+2016303545,2016303545
+2016310001,2016310001
+2016310002,2016310002
+2016310003,2016310003
+2016310004,2016310004
+2016310005,2016310005
+2016310006,2016310006
+2016310007,2016310007
+2016310008,2016310008
+2016310009,2016310009
+2016310010,2016310010
+2016310011,2016310011
+2016310012,2016310012
+2016310013,2016310013
+2016310014,2016310014
+2016310015,2016310015
+2016310016,2016310016
+2016310017,2016310017
+2016370001,2016370001
+2016370002,2016370002
+2016370003,2016370003
+2016370004,2016370004
+2016370005,2016370005
+2016370006,2016370006
+2016370007,2016370007
+2016370008,2016370008
+2016370010,2016370010
+2016370011,2016370011
+2016370012,2016370012
+2016370013,2016370013
+2016370014,2016370014
+2016370015,2016370015
+2016370016,2016370016
+2016370017,2016370017
+2016370018,2016370018
+2016370019,2016370019
+2016370020,2016370020
+2016380001,2016380001
+2016380002,2016380002
+2016380003,2016380003
+2016380004,2016380004
+2016380005,2016380005
+2016380006,2016380006
+2016430101,2016430101
+2016430102,2016430102
+2016430104,2016430104
+2016430105,2016430105
+2016430106,2016430106
+2016430107,2016430107
+2016430108,2016430108
+2016430109,2016430109
+2016430110,2016430110
+2016430111,2016430111
+2016430112,2016430112
+2016430113,2016430113
+2016430114,2015430115
+2016430115,2016430115
+2016430116,2016430116
+2016430117,2016430117
+2016430118,2016430118
+2016430119,2016430119
+2016430120,2016430120
+2016430121,2016430121
+2016430123,2016430123
+2016430124,2016430124
+2016430201,2016430201
+2016430202,2016430202
+2016430203,2016430203
+2016430501,2016430501
+2016430502,2016430502
+2016430503,2016430503
+2016430601,2016430601
+2016430602,2016430602
+2016430603,2016430603
+2016430604,2016430604
+2016430605,2016430605
+2016430606,2016430606
+2016430607,2016430607
+2016430608,2016430608
+2016430609,2016430609
+2016430610,2016430610
+2016430801,2016430801
+2016430802,2016430802
+2016430901,2016430901
+2016430902,2016430902
+2016431001,2016431001
+2016431002,2016431002
+2016431003,2016431003
+2016540604,2016430604
+20170000001,20170000001
+2017010001,2014200410
+2017010002,2007200377
+2017010003,2017010003
+2017010004,2017010004
+2017010005,2017010005
+2017010007,2017010007
+2017010009,2017010009
+2017010010,2017010010
+2017010011,2017010011
+2017010012,2017010012
+2017010013,2017010013
+2017010014,2007300650
+2017010015,050428
+2017010016,2008201578
+2017010017,066020116
+2017010018,2007201794
+2017010019,2017010019
+2017010020,2017010020
+2017010021,2017010021
+2017010022,2015070090
+2017010023,2010202149
+2017010024,2017010024
+2017010025,2017010025
+2017010026,2017010026
+2017010027,2017010027
+2017010028,2014070067
+2017010029,2015070089
+2017010030,2017010030
+2017010031,2017010031
+2017010032,20140P0349
+2017010034,20140P0436
+2017010035,2017010035
+2017010036,042328
+2017010037,2017010037
+2017010038,2017010038
+2017010039,2012201434
+2017010040,061878
+2017010041,2007200623
+2017010042,2017010042
+2017010043,2007302650
+2017010044,2017010044
+2017010045,2017010045
+2017010046,2017010046
+2017010047,2017010047
+2017010048,2017010048
+2017010049,2017010049
+2017010051,2017010051
+2017010052,2016010021
+2017010053,2017010053
+2017010054,2017010054
+2017010055,2017010055
+2017010056,2017010056
+2017010057,2008200112
+2017010058,2017010058
+2017010059,041000
+2017010061,2017010061
+2017010062,2017010062
+2017010063,2017010063
+2017010065,2017010065
+2017010066,2017010066
+2017010067,051748
+2017010069,2017010069
+2017010070,040554
+2017010071,2017010071
+2017010072,2017010072
+2017010073,2008303225
+2017010074,060845
+2017010075,2008301422
+2017010076,2012100407
+2017010077,2008300642
+2017010078,2011300880
+2017010079,2010300564
+2017010080,2010301451
+2017010081,2010303108
+2017010082,2010303376
+2017010083,066016014
+2017010084,2010303534
+2017010085,2009300771
+2017010086,2010302082
+2017010087,2010301569
+2017010088,2008301886
+2017010089,2007302741
+2017010090,2014200989
+2017010091,2010301861
+2017010092,2010300943
+2017010093,2017010093
+2017010094,2010300976
+2017010095,2017010095
+2017010096,2017010096
+2017010097,2017010097
+2017010098,2017010098
+2017010099,2017010099
+2017010100,2017010100
+2017010101,2017010101
+2017010102,2017010102
+2017010105,2020100058
+2017010106,060792
+2017010109,2017010109
+2017010110,2017010110
+2017010111,2017010111
+2017010112,2017010112
+2017010113,2011303089
+2017010114,2010200213
+2017010115,2016060019
+2017010116,2017010116
+2017010117,056020090
+2017010118,2017010118
+2017010119,2017010119
+2017010120,2015060076
+2017010121,2017010121
+2017010122,2014201789
+2017010123,2017010123
+2017010124,2010100488
+2017010125,2017010125
+2017010128,2007201576
+2017010129,2007300023
+2017010130,2017010130
+2017010131,2017010131
+2017010132,2017010132
+2017010133,2017010133
+2017010134,2017010134
+2017010135,2017010135
+2017010136,2017010136
+2017010137,2017010137
+2017010138,2012302271
+2017010139,2017010139
+2017010140,2009200556
+2017010141,067080464
+2017010142,2017010142
+2017010143,2007200349
+2017010144,2017010144
+2017010145,2017010145
+2017010146,2017010146
+2017010147,2017010147
+2017010148,2017010148
+2017010149,2013100108
+2017010150,2017010150
+2017010155,2017010155
+2017010156,2007100327
+2017010158,2017010158
+2017010159,2017010159
+2017010160,2017010160
+2017010161,2007200389
+2017010162,2017010162
+2017010165,042081
+2017010166,2017010166
+2017010167,2017010167
+2017010168,2017010168
+2017010169,2017010169
+2017010170,2017010170
+2017010171,2017010171
+2017010172,2007302098
+2017010173,2012100250
+2017010174,2007300063
+2017010175,2017010175
+2017010176,046110746
+2017010177,060068
+2017010178,2017010178
+2017010179,2017010179
+2017010180,2017010180
+2017010181,2010201779
+2017010182,040028
+2017010183,2017010183
+2017010184,2017010184
+2017010185,2017010185
+2017010186,2017010186
+2017010187,2017010187
+2017010188,2007201385
+2017010189,2017010189
+2017010190,2017010190
+2017010191,2017010191
+2017010192,2017010192
+2017010193,062573
+2017010194,2017010194
+2017010195,2017010195
+2017010196,2017010196
+2017010197,2017010197
+2017010198,2017010198
+2017010199,2017010199
+2017010200,2017010200
+2017010201,2017010201
+2017010202,2017010202
+2017010204,2017010204
+2017010205,2017010205
+2017010206,2017010206
+2017010207,056080460
+2017010208,056020076
+2017010209,2017010209
+2017010210,040173
+2017010211,2017010211
+2017010212,2017010212
+2017010213,2017010213
+2017010215,040387
+2017010216,2017010216
+2017010217,2017010217
+2017010218,2017010218
+2017010219,2017010219
+2017010220,2017010220
+2017010221,2017010221
+2017010222,2017010222
+2017010223,2017010223
+2017010224,2012100623
+2017010225,2017010225
+2017010226,2017010226
+2017010227,2017010227
+2017010228,2017010228
+2017010229,2016060241
+2017010233,2017010233
+2017010236,2007301994
+2017010238,2017010238
+2017010239,2017010239
+2017010242,046054043
+2017010243,2017010243
+2017010244,2017010244
+2017010245,2017010245
+2017010246,2017010246
+2017010247,2017010247
+2017010248,053533
+2017010249,2015060183
+2017010250,2017010250
+2017010251,2017010251
+2017010252,2017010252
+2017010253,2017010253
+2017010254,2008100354
+2017010255,2017010255
+2017010256,2017010256
+2017010257,2017010257
+2017010258,2017010258
+2017010259,2017010259
+2017010260,053531
+2017010261,2017010261
+2017010262,2017010262
+2017010263,060607
+2017010264,2008302106
+2017010265,060034
+2017010267,2017010267
+2017010268,2010100538
+2017010269,2017010269
+2017010272,063010
+2017010273,2011200691
+2017010274,2007300614
+2017010275,060139
+2017010276,067024272
+2017010277,2017010277
+2017010278,2017010278
+2017010279,2017010279
+2017010280,2017010280
+2017030006,052086
+2017030008,2012100384
+2017030019,061082
+2017030033,042078
+2017030050,2017030050
+2017030060,2007300055
+2017030064,2017030064
+2017030068,061195
+2017030103,2017030103
+2017030104,2017030104
+2017030107,2008201110
+2017030108,2017030108
+2017030126,2017030126
+2017030127,2007200774
+2017030151,2017030151
+2017030152,2017030152
+2017030153,052990
+2017030154,2017030154
+2017030157,2017030157
+2017030163,2012100086
+2017030164,2017030164
+2017030203,2017030203
+2017030214,2017030214
+2017030230,050399
+2017030231,2017030231
+2017030232,2017030232
+2017030234,2017030234
+2017030235,20160P0093
+2017030237,051654
+2017030240,2017030240
+2017030241,2017030241
+2017030266,2017030266
+2017030270,2008300942
+2017030271,2017030271
+2017060001,2017060001
+2017060002,2017060002
+2017060003,2017060003
+2017060004,2017060004
+2017060005,2017060005
+2017060006,2017060006
+2017060007,2017060007
+2017060008,2017060008
+2017060009,2017060009
+2017060010,2017060010
+2017060011,2017060011
+2017060012,2017060012
+2017060013,2017060013
+2017060014,2017060014
+2017060015,2017060015
+2017060016,2017060016
+2017060017,2017060017
+2017060018,2017060018
+2017060019,2017060019
+2017060020,2017060020
+2017060021,2017060021
+2017060022,2017060022
+2017060023,2017060023
+2017060024,2017060024
+2017060025,2017060025
+2017060026,2017060026
+2017060027,2017060027
+2017060028,2017060028
+2017060029,2017060029
+2017060030,2017060030
+2017060031,2017060031
+2017060032,2017060032
+2017060033,2017060033
+2017060034,2017060034
+2017060035,2017060035
+2017060036,2017060036
+2017060037,2017060037
+2017060038,2017060038
+2017060039,2017060039
+2017060040,2017060040
+2017060041,2017060041
+2017060042,2017060042
+2017060043,2017060043
+2017060044,2017060044
+2017060045,2017060045
+2017060046,2017060046
+2017060047,2017060047
+2017060048,2017060048
+2017060049,2017060049
+2017060050,2017060050
+2017060051,2017060051
+2017060052,2017060052
+2017060053,2017060053
+2017070001,2017070001
+2017070002,2017070002
+2017070003,2017070003
+2017070006,2017070006
+2017070007,2017070007
+2017070008,2017070008
+2017070009,2017070009
+2017070010,2017070010
+2017070011,2017070011
+2017070012,2017070012
+2017070013,2017070013
+2017070014,2017070014
+2017070015,2017070015
+2017070016,2017070016
+2017070017,2017070017
+2017070018,2017070018
+2017070019,2017070019
+2017070020,2017070020
+2017070021,2017070021
+2017070022,2017070022
+2017070023,2017070023
+2017070024,2017070024
+2017070025,2017070025
+2017070026,2017070026
+2017070027,2017070027
+2017070028,2017070028
+2017070029,2017070029
+2017070030,2017070030
+2017070031,2017070031
+2017070032,2017070032
+2017070033,2017070033
+2017070034,2017070034
+2017070035,2014262670
+2017070036,2017070036
+2017070037,2017070037
+2017070038,2017070038
+2017070039,2017070039
+2017070040,2017070040
+2017070041,2017070041
+2017070042,2017070042
+2017070043,2014201979
+2017070044,2017070044
+2017070045,2017070045
+2017070046,2017070046
+2017070047,2017070047
+2017070048,2017070048
+2017070049,2017070049
+2017070050,2017070050
+2017070051,2017070051
+2017070052,2017070052
+2017070053,2017070053
+2017070054,2017070054
+2017070055,2017070055
+2017070056,2017070056
+2017070057,2017070057
+2017070058,2017070058
+2017070059,2017070059
+2017070060,2017070060
+2017070061,2017070061
+2017070062,2017070062
+2017070063,2017070063
+2017070064,2017070064
+2017070065,20140P0284
+2017070066,2017070066
+2017070067,2017070067
+2017070068,2014202478
+2017070069,2017070069
+2017070070,2017070070
+2017070071,2017070071
+2017070072,2017070072
+2017070073,2017070073
+2017070074,2017070074
+2017070075,2017070075
+2017070076,2017070076
+2017070077,2017070077
+2017070078,2007302804
+2017070079,2017070079
+2017070080,2017070080
+2017070081,2017070081
+2017070082,2017070082
+2017070083,2017070083
+2017070084,2014202477
+2017070085,2017070085
+2017070086,2017070086
+2017070087,2017070087
+2017070088,2017070088
+2017070089,2017070089
+2017070090,2016070124
+2017070091,2017070091
+2017070092,2017070092
+2017070093,2017070093
+2017070094,2017070094
+2017070095,2017070095
+2017070096,2017070096
+2017070097,2017070097
+2017070098,2017070098
+2017070099,2017070099
+2017070100,2017070100
+2017070101,20160P0099
+2017070102,2015070079
+2017070103,20140P0032
+2017070104,063036
+2017070105,2013303501
+2017070106,2017070106
+2017070107,2014202457
+2017070108,2017070108
+2017070109,2017070109
+2017070110,2017070110
+2017070111,2017070111
+2017070112,2016070070
+2017070113,2017070113
+2017070114,2015070118
+2017070115,2017070115
+2017070116,2017070116
+2017070117,2017070117
+2017070118,2017070118
+2017070119,2017070119
+2017070120,2017070120
+2017070121,2017070121
+2017070122,2017070122
+2017070123,2017070123
+2017070124,2017070124
+2017070125,2017070125
+2017070126,2017070126
+2017070127,2017070127
+2017070128,2017070128
+2017070129,2017070129
+2017070130,2017070130
+2017070132,2017070132
+2017070133,2017070133
+2017070134,2017070134
+2017070135,2017070135
+2017070136,2017070136
+2017070137,2017070137
+2017070138,2017070138
+2017070139,2017070139
+2017070140,2017070140
+2017070141,2017070141
+2017070142,2017070142
+2017070143,2017070143
+2017070144,2017070144
+2017070145,2017010222
+2017070146,2017070146
+2017070147,2017070147
+2017070148,2017070148
+2017070149,2017070149
+2017070150,2017070150
+2017070151,2017070151
+2017070152,2017070152
+2017070153,2017070153
+2017070154,2017070154
+2017070155,2017070155
+2017070156,2017070156
+2017070157,2017070157
+2017070158,2017070158
+2017070159,20140P0428
+2017070160,2017070160
+2017070161,2017070161
+2017070162,2017070162
+2017070163,2017070163
+2017070164,20160P0299
+2017070165,2017070165
+2017070166,2017070166
+2017070167,20160P0078
+2017070168,2017070168
+2017070169,2017070169
+2017070171,2008302778
+2017070172,2020100508
+2017070173,2017070173
+2017070174,2017070174
+2017070175,067100172
+2017070176,2017070176
+2017070177,2017070177
+2017070178,2017070178
+2017070179,2017070179
+2017070180,2017070180
+2017070181,2017070181
+2017070182,2017070182
+2017070183,2017070183
+2017070184,2017070184
+2017070185,2017070185
+2017080001,2017080001
+20170P0001,20170P0001
+20170P0002,20170P0002
+20170P0003,20170P0003
+20170P0004,20170P0004
+20170P0005,20170P0005
+20170P0006,20170P0006
+20170P0007,20170P0007
+20170P0008,20170P0008
+20170P0009,20170P0009
+20170P0010,20170P0010
+20170P0011,20170P0011
+20170P0012,20170P0012
+20170P0013,20170P0013
+20170P0014,20170P0014
+20170P0015,20170P0015
+20170P0016,20170P0016
+20170P0017,20170P0017
+20170P0018,20170P0018
+20170P0019,20170P0019
+20170P0020,20170P0020
+20170P0021,20170P0021
+20170P0022,20170P0022
+20170P0023,20170P0023
+20170P0024,2011210245
+20170P0025,20170P0025
+20170P0026,20170P0026
+20170P0027,20170P0027
+20170P0028,20170P0028
+20170P0029,20170P0029
+20170P0030,2011300419
+20170P0031,20170P0031
+20170P0032,20170P0032
+20170P0033,20170P0033
+20170P0034,20170P0034
+20170P0035,20170P0035
+20170P0036,20170P0036
+20170P0037,20170P0037
+20170P0038,20170P0038
+20170P0039,20170P0039
+20170P0040,20170P0040
+20170P0041,20170P0041
+20170P0042,20170P0042
+20170P0043,20170P0043
+20170P0044,20170P0044
+20170P0045,20170P0045
+20170P0046,20170P0046
+20170P0047,20170P0047
+20170P0048,20170P0048
+20170P0049,20170P0049
+20170P0050,20170P0050
+20170P0051,20170P0051
+20170P0052,20170P0052
+20170P0053,20170P0053
+20170P0054,2008210536
+20170P0055,20170P0055
+20170P0056,20170P0056
+20170P0057,20170P0057
+20170P0058,20170P0058
+20170P0059,20170P0059
+20170P0060,20170P0060
+20170P0061,20170P0061
+20170P0062,20170P0062
+20170P0063,20170P0063
+20170P0064,20170P0064
+20170P0065,20200P0368
+20170P0066,20170P0066
+20170P0067,20170P0067
+20170P0068,20170P0068
+20170P0069,20170P0069
+20170P0070,20170P0070
+20170P0071,20170P0071
+20170P0072,20170P0072
+20170P0073,20170P0073
+20170P0074,20170P0074
+20170P0075,20170P0075
+20170P0076,20170P0076
+20170P0077,20170P0077
+20170P0078,20170P0078
+20170P0079,20170P0079
+20170P0080,20170P0080
+20170P0081,20170P0081
+20170P0082,20170P0082
+20170P0083,20170P0083
+20170P0084,2017010255
+20170P0085,20170P0085
+20170P0086,20170P0086
+20170P0087,20170P0087
+20170P0088,20170P0088
+20170P0089,20170P0089
+20170P0090,20170P0090
+20170P0091,20170P0091
+20170P0092,20170P0092
+20170P0093,20170P0093
+20170P0094,20170P0094
+20170P0095,20170P0095
+20170P0096,20170P0096
+20170P0097,20170P0097
+20170P0098,20170P0098
+20170P0099,20170P0099
+20170P0100,20170P0100
+20170P0101,20170P0101
+20170P0102,20170P0102
+20170P0103,20170P0103
+20170P0104,20170P0104
+20170P0105,20170P0105
+20170P0106,2012210012
+20170P0107,056036107
+20170P0108,20170P0108
+20170P0109,20170P0109
+20170P0110,20170P0110
+20170P0111,20170P0111
+20170P0112,20170P0112
+20170P0113,20170P0113
+20170P0114,20170P0114
+20170P0115,20170P0115
+20170P0116,20170P0116
+20170P0117,20170P0117
+20170P0118,20170P0118
+20170P0119,20170P0119
+20170P0120,20170P0120
+20170P0121,20170P0121
+20170P0122,20170P0122
+20170P0123,20170P0123
+20170P0124,20170P0124
+20170P0125,20170P0125
+20170P0126,20170P0126
+20170P0127,20170P0127
+20170P0128,20170P0128
+20170P0129,20170P0129
+20170P0130,20170P0130
+20170P0131,20170P0131
+20170P0132,20170P0132
+20170P0133,20170P0133
+20170P0134,20170P0134
+20170P0135,20170P0135
+20170P0136,20200P0105
+20170P0137,20170P0137
+20170P0138,20170P0138
+20170P0139,20170P0139
+20170P0140,20170P0140
+20170P0141,046136909
+20170P0142,20170P0142
+20170P0143,20170P0143
+20170P0144,20170P0144
+20170P0145,20170P0145
+20170P0146,20170P0146
+20170P0147,20200P0392
+20170P0148,20170P0148
+20170P0149,20170P0149
+20170P0150,20170P0150
+20170P0151,20170P0151
+20170P0152,20170P0152
+20170P0153,2013210003
+20170P0154,20170P0154
+20170P0155,2012210006
+20170P0156,20170P0156
+20170P0157,20170P0157
+20170P0158,20170P0158
+20170P0159,20170P0159
+20170P0160,20170P0160
+20170P0161,20170P0161
+20170P0162,20170P0162
+20170P0163,066126807
+20170P0164,20170P0164
+20170P0165,20170P0165
+20170P0166,20170P0166
+20170P0167,20170P0167
+20170P0168,20170P0168
+20170P0169,20170P0169
+20170P0170,20170P0170
+20170P0171,20170P0171
+20170P0172,20170P0172
+20170P0173,20170P0173
+20170P0174,20170P0174
+20170P0175,20170P0175
+20170P0176,2017070038
+20170P0177,20170P0177
+20170P0178,20170P0178
+20170P0179,20170P0179
+20170P0180,20170P0180
+20170P0181,20170P0181
+20170P0182,20170P0182
+20170P0183,20170P0183
+20170P0184,20170P0184
+20170P0185,20170P0185
+20170P0186,20170P0186
+20170P0187,20170P0187
+20170P0188,20170P0188
+20170P0189,20170P0189
+20170P0190,20170P0190
+20170P0191,20170P0191
+20170P0192,20170P0192
+20170P0193,20170P0193
+20170P0194,20170P0194
+20170P0195,20170P0195
+20170P0196,20170P0196
+20170P0197,20170P0197
+20170P0198,20170P0198
+20170P0199,20170P0199
+20170P0200,20170P0200
+20170P0201,20170P0201
+20170P0202,20170P0202
+20170P0203,20170P0203
+20170P0204,20170P0204
+20170P0205,20170P0205
+20170P0206,20170P0206
+20170P0207,20170P0207
+20170P0208,20170P0208
+20170P0209,20170P0209
+20170P0210,20170P0210
+20170P0211,20200P0188
+20170P0212,20170P0212
+20170P0213,20170P0213
+20170P0214,20170P0214
+20170P0215,20170P0215
+20170P0216,20170P0216
+20170P0217,20170P0217
+20170P0218,20170P0218
+20170P0219,20170P0219
+20170P0220,20170P0220
+20170P0221,20170P0221
+20170P0222,20170P0222
+20170P0223,20170P0223
+20170P0224,20170P0224
+20170P0225,20170P0225
+20170P0226,20170P0226
+20170P0227,20170P0227
+20170P0228,20170P0228
+20170P0229,20170P0229
+20170P0230,20170P0230
+20170P0231,20170P0231
+20170P0232,20170P0232
+20170P0233,20170P0233
+20170P0234,20170P0234
+20170P0235,20170P0235
+20170P0236,20170P0236
+20170P0237,20170P0237
+20170P0238,20170P0238
+20170P0239,20170P0239
+20170P0240,20170P0240
+20170P0241,20170P0241
+20170P0242,20170P0242
+20170P0243,20170P0243
+20170P0244,20170P0244
+20170P0245,20170P0245
+20170P0246,20170P0246
+20170P0247,20170P0247
+20170P0248,20170P0248
+20170P0249,20170P0249
+20170P0250,20170P0250
+20170P0251,20170P0251
+20170P0252,20170P0252
+20170P0253,20170P0253
+20170P0254,20170P0254
+20170P0255,20170P0255
+20170P0256,20170P0256
+20170P0257,20170P0257
+20170P0258,20170P0258
+20170P0259,20170P0259
+20170P0260,20170P0260
+20170P0261,20170P0261
+20170P0262,20170P0262
+20170P0263,20170P0263
+20170P0264,20170P0264
+20170P0265,20170P0265
+20170P0266,20170P0266
+20170P0267,20170P0267
+20170P0268,20170P0268
+20170P0269,20170P0269
+20170P0270,20170P0270
+20170P0271,20170P0271
+20170P0272,20170P0272
+20170P0273,20170P0273
+20170P0274,20170P0274
+20170P0275,20170P0275
+20170P0276,20170P0276
+20170P0277,20170P0277
+20170P0278,20170P0278
+20170P0279,20170P0279
+20170P0280,20170P0280
+20170P0281,20170P0281
+20170P0282,20170P0282
+20170P0283,20170P0283
+20170P0284,20170P0284
+20170P0285,20170P0285
+20170P0286,20170P0286
+20170P0287,20170P0287
+20170P0288,20170P0288
+20170P0289,20170P0289
+20170P0290,20170P0290
+20170P0291,20170P0291
+20170P0292,20170P0292
+20170P0293,20170P0293
+20170P0294,20170P0294
+20170P0295,20170P0295
+20170P0296,20170P0296
+20170P0297,20170P0297
+20170P0298,20170P0298
+20170P0299,20170P0299
+20170P0300,20170P0300
+20170P0301,20170P0301
+20170P0302,20170P0302
+20170P0303,20170P0303
+20170P0304,20170P0304
+20170P0305,20170P0305
+20170P0306,20170P0306
+20170P0307,20170P0307
+20170P0308,20170P0308
+20170P0309,20170P0309
+20170P0310,20170P0310
+20170P0311,20170P0311
+20170P0312,20170P0312
+20170P0313,20170P0313
+20170P0314,20170P0314
+20170P0341,20170P0341
+20170P0342,20170P0342
+20170P0343,20170P0343
+20170P0344,2010200386
+20170P0345,20170P0345
+20170P0346,20170P0346
+20170P0347,20170P0347
+20170P0348,20170P0348
+20170P0349,20170P0349
+20170P0350,20170P0350
+20170P0351,2013262508
+20170P0352,20170P0352
+20170P0353,20170P0353
+20170P0354,20170P0354
+20170P0355,20170P0355
+20170P0356,20170P0356
+20170P0357,20170P0357
+20170P0358,20170P0358
+20170P0359,20170P0359
+20170P0360,20170P0360
+20170P0361,20170P0361
+20170P0362,20170P0362
+20170P0363,20170P0363
+20170P0364,20170P0364
+20170P0365,20170P0365
+20170P0366,20170P0366
+20170P0367,20170P0367
+20170P0368,20170P0368
+20170P0369,20170P0369
+20170P0370,20170P0370
+20170P0371,20170P0371
+20170P0372,20170P0372
+20170P0373,20170P0373
+20170P0374,20170P0374
+20170P0375,20170P0375
+20170P0376,20170P0376
+20170P0377,20170P0377
+20170P0378,20170P0378
+20170P0379,20170P0379
+20170P0380,20170P0380
+20170P0381,20170P0381
+20170P0382,20170P0382
+20170P0383,20170P0383
+20170P0384,20170P0384
+20170P0385,20170P0385
+20170P0386,20170P0386
+20170P0387,20170P0387
+20170P0388,20170P0388
+20170P0389,2008100351
+20170P0390,20170P0390
+20170P0391,20170P0391
+20170P0392,20170P0392
+20170P0393,20170P0393
+20170P0394,20170P0394
+20170P0395,20170P0395
+20170P0396,20170P0396
+20170P0397,20170P0397
+20170P0398,20170P0398
+20170P0399,20170P0399
+20170P0400,20170P0400
+20170P0401,20170P0401
+20170P0402,20170P0402
+20170P0403,20170P0403
+20170P0404,20170P0404
+20170P0405,20170P0405
+20170P0406,20170P0406
+20170P0407,20170P0407
+20170P0408,20170P0408
+20170P0409,20170P0409
+20170P0410,20170P0410
+20170P0411,20170P0411
+20170P0412,20170P0412
+20170P0413,20170P0413
+20170P0414,20170P0414
+20170P0415,20170P0415
+20170P0416,20170P0416
+20170P0417,20170P0417
+20170P0418,20170P0418
+20170P0419,20170P0419
+20170P0420,20170P0420
+20170P0421,20170P0421
+20170P0422,20170P0142
+20170P0423,20170P0423
+20170P0424,20160P0160
+20170P0425,20170P0425
+20170P0426,20170P0426
+20170P0427,20170P0427
+20170P0428,20170P0428
+20170P0429,20170P0429
+20170P0430,20170P0430
+20170P0431,20170P0431
+20170P0432,20170P0432
+20170P0433,20160P0170
+20170P0434,20170P0434
+20170P0435,20170P0435
+20170P0436,20170P0436
+20170P0437,20170P0437
+20170P0438,20170P0438
+20170P0439,20160P0161
+20170P0440,20170P0440
+20170P0441,20170P0441
+20170P0442,20170P0442
+20170P0443,20160P0169
+20170P0444,20160P0171
+20170P0445,20170P0445
+20170P0446,2014070045
+20170P0447,2010202167
+20170P0448,20170P0448
+20170P0449,20170P0449
+20170P0450,20170P0282
+20170P0451,20170P0451
+20170P0452,20170P0452
+20170P0453,20170P0453
+20170P0454,20170P0454
+20170P0455,20170P0455
+20170P0456,20170P0456
+20170P0457,20170P0457
+20170P0458,20170P0458
+20170P0459,20170P0459
+20170P0460,20170P0460
+20170P0461,2015070093
+20170P0462,20170P0462
+20170P0463,20170P0463
+20170P0464,20170P0464
+20170P0465,20170P0465
+20170P0466,20170P0466
+20170P0467,20170P0467
+20170P0468,20170P0468
+20170P0469,20170P0469
+20170P0470,20170P0470
+20170P0471,20170P0471
+20170P0472,20170P0472
+20170P0473,20170P0473
+20170P0474,20170P0474
+20170P0475,20170P0475
+20170P0476,20170P0476
+20170P0477,20170P0477
+20170P0478,20170P0478
+20170P0479,20170P0479
+20170P0480,20170P0480
+20170P0481,20170P0481
+20170P0482,20170P0482
+20170P0483,20170P0483
+20170P0484,20170P0484
+20170P0485,20170P0485
+20170P0486,20170P0486
+20170P0487,20170P0487
+20170P0488,20170P0488
+20170P0489,20170P0489
+20170P0490,20170P0490
+20170P0491,20170P0491
+20170P0492,20170P0492
+20170P0493,20170P0493
+20170P0494,20170P0494
+20170P0495,20170P0495
+20170P0496,20170P0496
+20170P0497,20170P0497
+20170P0498,20170P0498
+20170P0499,20170P0499
+20170P0500,20170P0500
+20170P0501,20170P0501
+20170P0502,20170P0502
+20170P0503,20170P0503
+20170P0504,20170P0504
+20170P0505,20170P0505
+20170P0506,20160P0145
+20170P0507,20160P0146
+20170P0508,20170P0508
+20170P0509,20160P0148
+20170P0510,20170P0510
+20170P0511,20160P0150
+20170P0512,20170P0512
+20170P0513,20160P0152
+20170P0514,20160P0153
+20170P0515,20160P0154
+20170P0516,20170P0516
+20170P0517,20160P0156
+20170P0518,20160P0158
+20170P0519,20170P0519
+20170P0520,20160P0160
+20170P0521,20170P0521
+20170P0522,20170P0522
+20170P0523,20170P0523
+20170P0524,20160P0162
+20170P0525,20170P0525
+20170P0526,20170P0526
+20170P0527,20160P0170
+20170P0528,20160P0165
+20170P0529,20160P0164
+20170P0530,20160P0168
+20170P0531,20160P0180
+20170P0532,20160P0181
+20170P0533,20170P0533
+20170P0534,20160P0182
+20170P0535,20160P0183
+20170P0536,20160P0184
+20170P0537,20170P0537
+20170P0538,20170P0538
+20170P0539,20160P0186
+20170P0540,20160P0187
+20170P0541,20170P0541
+20170P0542,20170P0542
+20170P0543,20170P0543
+20170P0544,20170P0544
+20170P0545,20170P0545
+20170P0546,20170P0546
+20170P0547,20170P0547
+20170P0548,20170P0548
+20170P0549,20170P0549
+20170P0550,20170P0550
+20170P0551,20170P0551
+20170P0552,20170P0552
+20170P0553,20200P0223
+20170P0554,20170P0554
+20170P0555,20170P0555
+20170P0556,20170P0556
+20170P0557,20200P0162
+20170P0558,20170P0558
+20170P0559,20170P0559
+20170P0560,20170P0560
+20170P0561,2013010045
+20170P0562,20170P0562
+20170P0563,2017070072
+20170P0564,20170P0564
+20170P0565,20170P0565
+20170P0566,20170P0566
+20170P0567,20170P0567
+20170P0568,2020100500
+20170P0569,20170P0569
+20170P0570,2012303595
+20170P0571,20170P0571
+20170P0572,20170P0572
+20170P0573,20170P0573
+20170P0574,20170P0574
+20170P0575,20170P0575
+20170P0576,20170P0576
+20170P0577,20170P0577
+20170P0578,20170P0578
+20170P0579,20170P0579
+20170P0580,20170P0580
+20170P0581,20170P0581
+20170P0582,20170P0582
+20170P0583,20170P0583
+20170P0584,20170P0584
+20170P0585,20170P0585
+20170P0586,20170P0586
+20170P0587,20170P0587
+20170P0588,20170P0588
+20170P0589,20170P0589
+20170P0590,20170P0590
+20170P0591,20170P0591
+20170P0592,20170P0592
+20170P0593,20170P0593
+20170P0594,20170P0594
+20170P0595,20170P0595
+20170P0596,20170P0596
+20170P0597,20170P0597
+20170P0598,20170P0598
+20170P0599,20170P0599
+20170P0600,20170P0600
+20170P0601,20170P0601
+20170P0602,20170P0602
+20170P0603,20170P0603
+20170P0604,20170P0604
+20170P0605,20170P0605
+20170P0606,20170P0606
+20170P0607,20170P0607
+20170P0608,20170P0608
+20170P0609,20170P0609
+20170P0610,20170P0610
+20170P0611,20170P0611
+20170P0612,20170P0612
+20170P0613,20170P0613
+20170P0614,20170P0614
+20170P0615,20170P0615
+20170P0616,20170P0616
+20170P0617,20170P0617
+20170P0618,20170P0618
+20170P0619,20170P0619
+20170P0620,20170P0620
+20170P0621,20170P0621
+20170P0622,20170P0622
+20170P0623,20170P0623
+20170P0624,20170P0624
+20170P0625,20170P0625
+20170P0626,20170P0626
+20170P0627,20170P0627
+20170P0628,20170P0628
+20170P0629,20170P0629
+20170P0630,20170P0630
+20170P0631,20170P0631
+20170P0632,20170P0632
+20170P0633,20170P0633
+20170P0634,20170P0634
+20170P0635,20170P0635
+20170P0636,20170P0636
+20170P0637,20170P0637
+20170P0638,20170P0638
+20170P0639,20170P0639
+20170P0640,20170P0640
+20170P0641,20170P0641
+20170P0642,20170P0642
+20170P0643,20170P0643
+20170P0644,20170P0644
+20170P0645,20170P0645
+20170P0646,20170P0646
+20170P0647,20170P0647
+20170P0648,20170P0648
+20170P0649,20170P0649
+20170P0650,20170P0650
+20170P0651,20170P0651
+20170P0652,20170P0652
+20170P0653,20170P0653
+20170P0654,20170P0654
+20170P0655,20170P0655
+20170P0656,20170P0656
+20170P0657,20170P0657
+20170P0658,20170P0658
+20170P0659,20170P0659
+20170P0660,20170P0660
+20170P0661,20170P0661
+20170P0662,20170P0662
+20170P0663,20170P0663
+20170P0664,20170P0664
+20170P0665,20170P0665
+20170P0666,20170P0666
+20170P0667,20170P0667
+20170P0668,20170P0668
+20170P0669,20170P0669
+20170P0670,20170P0670
+20170P0671,20170P0671
+20170P0672,2008270036
+20170P0673,20170P0673
+20170P0674,20170P0674
+20170P0675,20170P0675
+20170P0676,20170P0676
+20170P0677,20170P0677
+20170P0678,20170P0678
+20170P0679,20170P0679
+20170P0680,20170P0680
+20170P0681,20170P0681
+20170P0682,20170P0682
+20170P0683,20170P0683
+20170P0684,20170P0684
+20170P0685,20170P0685
+20170P0686,20170P0686
+20170P0687,20170P0687
+20170P0688,20170P0688
+20170P0689,20170P0689
+20170P0690,20170P0690
+20170P0691,20170P0691
+20170P0692,20170P0692
+20170P0693,20170P0693
+20170P0694,20170P0694
+20170P0695,06612G326
+20170P0696,20170P0696
+20170P0697,20170P0697
+20170P0698,20170P0698
+20170P0699,20170P0699
+20170P0700,20170P0700
+20170P0701,20170P0701
+20170P0702,20170P0702
+20170P0703,20170P0703
+20170P0704,20170P0704
+20170P0705,20170P0705
+20170P0706,20170P0706
+20170P0707,20170P0707
+20170P0708,06614G015
+20170P0709,20170P0709
+20170P0710,20170P0710
+20170P0711,20170P0711
+20170P0712,20170P0712
+20170P0713,20170P0713
+20170P0714,20170P0714
+20170P0715,20170P0715
+20170P0716,20170P0716
+20170P0717,20170P0717
+20170P0718,20170P0718
+20170P0719,20170P0719
+20170P0720,20170P0720
+20170P0721,20170P0721
+20170P0722,20170P0722
+20170P0723,20170P0723
+20170P0724,20170P0724
+20170P0725,20170P0725
+20170P0726,20170P0726
+20170P0727,20170P0727
+20170P0728,20170P0728
+20170P0729,20170P0729
+20170P0730,20170P0730
+20170P0731,20170P0731
+20170P0732,20170P0732
+20170P0733,20170P0733
+20170P0734,20170P0734
+20170P0735,20170P0735
+20170P0736,20170P0736
+20170P0737,20170P0737
+20170P0738,20170P0738
+20170P0739,20170P0739
+20170P0740,20170P0740
+20170P0741,20170P0741
+20170P0742,20170P0742
+20170P0743,20170P0743
+20170P0744,20170P0744
+20170P0745,20170P0745
+20170P0746,20170P0746
+20170P0747,20170P0747
+20170P0748,20170P0748
+20170P0749,20170P0749
+20170P0750,20170P0750
+20170P0751,20170P0751
+20170P0752,20170P0752
+20170P0753,20170P0753
+20170P0754,20170P0754
+20170P0755,20170P0755
+20170P0756,20170P0756
+20170P0757,20170P0757
+20170P0758,20170P0758
+20170P0759,20170P0759
+20170P0760,20170P0760
+20170P0761,20170P0761
+20170P0762,20170P0762
+20170P0763,20170P0763
+20170P0764,20170P0764
+20170P0765,20170P0765
+20170P0766,20170P0766
+20170P0767,20170P0767
+20170P0768,20170P0768
+20170P0769,20170P0769
+20170P0770,20170P0770
+20170P0771,20170P0771
+20170P0772,20170P0772
+20170P0773,20170P0773
+20170P0774,20170P0774
+20170P0775,20170P0775
+20170P0776,20170P0776
+20170P0777,20170P0777
+20170P0778,20170P0778
+20170P0779,20170P0779
+20170P0780,20170P0780
+20170P0781,20170P0781
+20170P0782,20170P0782
+20170P0783,20170P0783
+20170P0784,20170P0784
+20170P0785,20170P0785
+20170P0786,20170P0786
+20170P0787,20170P0787
+20170P0788,20170P0788
+20170P0789,20170P0789
+20170P0790,20170P0790
+20170P0791,20170P0791
+20170P0792,20170P0792
+20170P0793,20170P0793
+20170P0794,20170P0794
+20170P0795,20170P0795
+20170P0796,20170P0796
+20170P0797,20170P0797
+20170P0798,20170P0798
+20170P0799,20170P0799
+20170P0800,20170P0800
+20170P0801,20170P0801
+20170P0802,20170P0802
+20170P0803,20170P0803
+20170P0804,20170P0804
+20170P0805,20170P0805
+20170P0806,20170P0806
+20170P0807,20170P0807
+20170P0808,20170P0808
+20170P0809,20170P0809
+20170P0810,20170P0810
+20170P0811,20170P0811
+20170P0812,20170P0812
+20170P0813,20170P0813
+20170P0814,20170P0814
+20170P0815,20170P0815
+20170P0816,20170P0816
+20170P0817,20170P0817
+20170P0818,20170P0818
+20170P0819,20170P0819
+20170P0820,20170P0820
+20170P0821,20170P0821
+20170P0822,20170P0822
+20170P0823,20170P0823
+20170P0824,20170P0824
+20170P0825,20170P0825
+20170P0826,20170P0826
+20170P0827,20170P0827
+20170P0828,20170P0828
+20170P0829,20170P0829
+20170P0830,20170P0830
+20170P0831,20170P0831
+20170P0832,20170P0832
+20170P0833,20170P0833
+20170P0834,20170P0834
+20170P0835,2010302646
+20170P0836,20170P0836
+20170P0837,20170P0837
+20170P0838,20170P0838
+20170P0839,20170P0839
+20170P0840,20170P0840
+20170P0841,20170P0841
+20170P0842,20170P0842
+20170P0843,20170P0843
+20170P0844,20170P0844
+20170P0845,20170P0845
+20170P0846,20170P0846
+20170P0847,20170P0847
+20170P0848,2011201331
+20170P0849,2013210358
+20170P0850,20170P0850
+20170P0851,2010262254
+20170P0852,20170P0852
+20170P0853,2013262001
+20170P0854,20170P0854
+20170P0855,20170P0855
+20170P0856,20170P0856
+20170P0857,20170P0857
+20170P0858,20170P0858
+20170P0859,20170P0859
+20170P0860,20170P0860
+20170P0861,20170P0861
+20170P0862,20170P0862
+20170P0863,20170P0863
+20170P0864,20170P0864
+20170P0865,061082
+20170P0866,20170P0866
+20170P0867,20170P0867
+20170P0868,20170P0868
+20170P0869,20170P0869
+20170P0870,20170P0870
+20170P0871,20170P0871
+20170P0872,20170P0872
+20170P0873,20170P0873
+20170P0874,20170P0874
+20170P0875,20170P0875
+20170P0876,20170P0876
+20170P0877,20170P0877
+20170P0878,20170P0878
+20170P0879,20170P0879
+20170P0880,20170P0880
+20170P0881,20170P0881
+20170P0882,20170P0882
+20170P0883,20170P0883
+20170P0884,20170P0884
+20170P0885,20170P0885
+20170P0886,20170P0886
+20170P0887,20170P0887
+20170P0888,20170P0888
+20170P0889,20170P0889
+20170P0890,20170P0890
+20170P0891,20170P0891
+20170P0892,20170P0892
+20170P0893,20170P0893
+20170P0894,20170P0894
+20170P0895,20170P0895
+20170P0896,20170P0896
+20170P0897,20170P0897
+20170P0898,20170P0898
+20170P0899,20170P0899
+20170P0900,20170P0900
+20170P0901,20170P0901
+20170P0902,20170P0902
+20170P0903,20170P0903
+20170P0904,20170P0904
+20170P0905,20170P0905
+20170P0906,20170P0906
+20170P0907,20170P0907
+20170P0908,20170P0908
+20170P0909,20170P0909
+20170P0910,20170P0910
+20170P0911,20170P0911
+20170P0912,20170P0912
+20170P0913,20170P0913
+20170P0914,20170P0914
+20170P0915,20170P0915
+20170P0916,047120304
+20170P0917,20170P0917
+20170P0918,20170P0918
+20170P0919,2015262541
+20170P0920,2012070063
+20170P0921,20170P0921
+20170P0922,20170P0922
+20170P0923,20170P0923
+20170P0924,20170P0924
+20170P0925,20170P0925
+20170P0926,20170P0926
+20170P0927,20170P0927
+20170P0928,20170P0928
+20170P0929,20170P0929
+20170P0930,20170P0930
+20170P0931,20170P0931
+20170P0932,20170P0932
+20170P0933,20170P0933
+20170P0934,20170P0934
+20170P0935,20170P0935
+20170P0936,20170P0936
+20170P0937,20170P0937
+20170P0938,20170P0938
+20170P0939,20170P0939
+20170P0940,20170P0940
+20170P0941,20170P0941
+20170P0942,20170P0942
+20170P0943,20170P0943
+20170P0944,20170P0944
+20170P0945,20170P0945
+20170P0946,20170P0946
+20170P0947,20170P0947
+20170P0948,20170P0948
+20170P0949,20170P0949
+20170P0950,20170P0950
+20170P0951,20170P0951
+20170P0952,20170P0952
+20170P0953,20170P0953
+20170P0954,20170P0954
+20170P0955,20170P0955
+20170P0956,20170P0956
+20170P0957,20170P0957
+20170P0958,20170P0958
+20170P0959,20170P0959
+20170P0960,20170P0960
+20170P0961,20170P0961
+20170P0962,20170P0962
+20170P0963,20170P0963
+20170P0964,20170P0964
+20170P0965,20170P0965
+20170P0966,20170P0966
+20170P0967,20170P0967
+20170P0968,20170P0968
+20170P0969,20170P0969
+20170P0970,20170P0970
+20170P0971,20170P0971
+20170P0972,20170P0972
+20170P0973,20170P0973
+20170P0974,20170P0974
+20170P0975,20170P0975
+20170P0976,20170P0976
+20170P0977,20170P0977
+20170P0978,20170P0978
+20170P0979,20170P0979
+20170P0980,20170P0980
+20170P0981,2017010198
+20170P0982,20170P0982
+20170P0983,20170P0983
+20170P0984,2015201852
+20170P0985,2013100583
+20170P0986,2007100123
+20170P0987,042627
+20170P0988,20170P0988
+20170P0989,20170P0989
+20170P0990,2013303279
+20170P0991,20170P0991
+20170P0992,20170P0992
+20170P0993,20170P0993
+20170P0994,20170P0994
+20170P0995,20170P0995
+20170P0996,20170P0996
+20170P0997,20170P0997
+20170P0998,20170P0998
+20170P0999,20170P0999
+20170P1000,20170P1000
+20170P1001,20170P1001
+20170P1002,20170P1002
+20170P1003,20170P1003
+20170P1004,20170P1004
+20170P1005,20170P1005
+20170P1006,20170P1006
+20170P1007,20170P1007
+20170P1008,20170P1008
+20170P1009,20170P1009
+20170P1010,20170P1010
+20170P1011,20170P1011
+20170P1012,20170P1012
+20170P1013,20170P1013
+20170P1014,20170P1014
+20170P1015,20170P1015
+20170P1016,066096660
+20170P1017,20170P1017
+20170P1018,20170P1018
+20170P1019,20170P1019
+20170P1020,20170P1020
+20170P1021,20170P1021
+20170P1022,2017010200
+20170P1023,20170P1023
+20170P1024,20170P1024
+20170P1025,20170P1025
+20170P1026,20170P1026
+20170P1027,20170P1027
+20170P1028,20170P1028
+20170P1029,20170P1029
+20170P1030,20170P1030
+20170P1031,20170P1031
+20170P1032,20170P1032
+20170P1033,20170P1033
+20170P1034,20170P1034
+20170P1035,20170P1035
+20170P1036,20170P1036
+20170P1037,20170P1037
+20170P1038,2011200623
+20170P1039,2013262471
+20170P1040,20170P1040
+20170P1041,20170P1041
+20170P1042,20170P1042
+20170P1043,20170P1043
+20170P1044,20170P1044
+20170P1045,20170P1045
+20170P1046,20170P1046
+20170P1047,20170P1047
+20170P1048,20170P1048
+20170P1049,20170P1049
+20170P1050,20170P1050
+20170P1051,20170P1051
+20170P1052,20170P1052
+20170P1053,20170P1053
+20170P1054,20170P1054
+20170P1055,20170P1055
+20170P1056,20170P1056
+20170P1057,20170P1057
+20170P1058,20170P1058
+20170P1059,2019070179
+20170P1060,20170P1060
+20170P1061,20170P1061
+20170P1062,20170P1062
+20170P1063,20170P1063
+20170P1064,20170P1064
+20170P1065,20170P1065
+20170P1066,20170P1066
+20170P1067,20170P1067
+20170P1068,2010201921
+20170P1069,20170P1069
+20170P1070,2014260477
+20170P1071,20170P1071
+20170P1072,050874
+20170P1073,056080415
+20170P1074,20170P1074
+20170P1075,20170P1075
+20170P1076,20170P1076
+20170P1077,20170P1077
+20170P1078,20170P1078
+20170P1079,20170P1079
+20170P1080,20170P1080
+20170P1081,20170P1081
+20170P1082,20170P1082
+20170P1083,20170P1083
+20170P1084,20170P1084
+20170P1085,20170P1085
+20170P1086,20170P1086
+20170P1087,20170P1087
+20170P1088,20170P1088
+20170P1089,20170P1089
+20170P1090,20170P1090
+20170P1091,20170P1091
+20170P1092,20170P1092
+20170P1093,20170P1093
+20170P1094,20170P1094
+20170P1095,20170P1095
+20170P1096,20170P1096
+20170P1097,20170P1097
+20170P1098,20170P1098
+20170P1099,20170P1099
+20170P1100,20170P1100
+20170P1101,20170P1101
+20170P1102,20170P1102
+20170P1103,20170P1103
+20170P1104,20170P1104
+20170P1105,20170P1105
+20170P1106,20170P1106
+20170P1107,20170P1107
+20170P1108,20170P1108
+20170P1109,20170P1109
+20170P1110,20170P1110
+20170P1111,20170P1111
+20170P1112,20170P1112
+20170P1113,20170P1113
+20170P1114,20170P1114
+20170P1115,20170P1115
+20170P1116,20170P1116
+20170P1117,20170P1117
+20170P1118,20170P1118
+20170P1119,20170P1119
+20170P1120,20170P1120
+20170P1121,20170P1121
+20170P1122,20170P1122
+20170P1123,2013262463
+20170P1124,20170P1124
+20170P1125,20170P1125
+20170P1126,20170P1126
+20170P1127,20170P1127
+20170P1128,20170P1128
+20170P1129,20170P1129
+20170P1130,20170P1130
+20170P1131,20170P1131
+20170P1132,2012262513
+20170P1133,20170P1133
+20170P1134,20170P1134
+20170P1135,2016262525
+20170P1136,20170P1136
+20170P1137,20170P1137
+20170P1138,20170P1138
+20170P1139,20170P1139
+20170P1140,20170P1140
+20170P1141,20170P1141
+20170P1142,20170P1142
+20170P1143,20170P1143
+20170P1144,20200P0198
+20170P1145,20170P1145
+20170P1146,20170P1146
+20170P1147,20170P1147
+20170P1148,20170P1148
+20170P1149,20170P1149
+20170P1150,20170P1150
+20170P1151,20170P1151
+20170P1152,20170P1152
+20170P1153,20170P1153
+20170P1154,20170P1154
+20170P1155,20170P1155
+20170P1156,20170P1156
+20170P1157,20170P1157
+20170P1158,20170P1158
+20170P1159,20170P1159
+20170P1160,20170P1160
+20170P1161,20170P1161
+20170P1162,20170P1162
+20170P1163,20170P1163
+20170P1164,20170P1164
+20170P1165,20170P1165
+20170P1166,20200P0506
+20170P1167,20170P1167
+20170P1168,20170P1168
+20170P1169,20170P1169
+20170P1170,20170P1170
+20170P1171,20170P1171
+20170P1172,20170P1172
+20170P1173,20170P1173
+20170P1174,20170P1174
+20170P1175,20170P1175
+20170P1176,20170P1176
+20170P1177,20170P1177
+20170P1178,20170P1178
+20170P1179,20170P1179
+20170P1180,20170P1180
+20170P1181,20170P1181
+20170P1182,20170P1182
+20170P1183,20170P1183
+20170P1184,20170P1184
+20170P1185,20170P1185
+20170P1186,20170P1186
+20170P1187,20170P1187
+20170P1188,20170P1188
+20170P1189,20170P1189
+20170P1190,20170P1190
+20170P1191,20170P1191
+20170P1192,20170P1192
+20170P1193,20170P1193
+20170P1194,20170P1194
+20170P1195,20170P1195
+20170P1196,20170P1196
+20170P1197,20170P1197
+20170P1198,20170P1198
+20170P1199,20170P1199
+20170P1200,20170P1200
+20170P1201,20170P1201
+20170P1202,20170P1202
+20170P1203,20170P1203
+20170P1204,20170P1204
+20170P1205,20170P1205
+20170P1206,20170P1206
+20170P1207,20170P1207
+20170P1208,20170P1208
+20170P1209,20170P1209
+20170P1210,20170P1210
+20170P1211,20170P1211
+20170P1212,20170P1212
+20170P1213,20170P1213
+20170P1214,20170P1214
+20170P1215,20170P1215
+20170P1216,20170P1216
+20170P1217,20170P1217
+20170P1218,20170P1218
+20170P1219,20170P1219
+20170P1220,20170P1220
+20170P1221,20170P1221
+20170P1222,20170P1222
+20170P1223,20170P1223
+20170P1224,20170P1224
+20170P1225,20170P1225
+20170P1226,20170P1226
+20170P1227,20170P1227
+20170P1228,20170P1228
+20170P1229,20170P1229
+20170P1230,20170P1230
+20170P1231,20170P1231
+20170P1232,20170P1232
+20170P1233,20170P1233
+20170P1234,20170P1234
+20170P1235,20170P1235
+20170P1236,20170P1236
+20170P1237,20170P1237
+20170P1238,20170P1238
+20170P1239,20170P1239
+20170P1240,20170P1240
+20170P1241,20170P1241
+20170P1242,20170P1242
+20170P1243,20170P1243
+20170P1244,20170P1244
+20170P1245,20170P1245
+20170P1246,20170P1246
+20170P1247,20170P1247
+20170P1248,20170P1248
+20170P1249,20170P1249
+20170P1250,20170P1250
+20170P1251,20170P1251
+20170P1252,20170P1252
+20170P1253,20170P1253
+20170P1254,20170P1254
+20170P1255,20170P1255
+20170P1256,20170P1256
+20170P1257,20170P1257
+20170P1258,20170P1258
+20170P1259,20170P1259
+20170P1260,20170P1260
+20170P1261,20170P1261
+20170P1262,20170P1262
+20170P1263,20170P1263
+20170P1264,20170P1264
+20170P1265,20170P1265
+20170P1266,20170P1266
+20170P1267,20170P1267
+20170P1268,20170P1268
+20170P1269,20170P1269
+20170P1270,20170P1270
+20170P1271,20170P1271
+20170P1272,20170P1272
+20170P1273,20170P1273
+20170P1274,20170P1274
+20170P1275,20170P1275
+20170P1276,20170P1276
+20170P1277,20170P1277
+20170P1278,20170P1278
+20170P1279,20170P1279
+20170P1280,20170P1280
+20170P1281,20170P1281
+20170P1282,20170P1282
+20170P1283,20170P1283
+20170P1284,20170P1284
+20170P1285,20170P1285
+20170P1286,20170P1286
+20170P1287,20170P1287
+20170P1288,20170P1288
+20170P1289,20170P1289
+20170P1290,20170P1290
+20170P1291,20170P1291
+20170P1292,20170P1292
+20170P1293,20170P1293
+20170P1294,20170P1294
+20170P1295,20170P1295
+20170P1296,20170P1296
+20170P1297,20170P1297
+20170P1298,20170P1298
+20170P1299,20170P1299
+20170P1300,20170P1300
+20170P1301,20170P1301
+20170P1302,20170P1302
+20170P1303,20170P1303
+20170P1304,20170P1304
+20170P1305,20170P1305
+20170P1306,20170P1306
+20170P1307,20170P1307
+20170P1308,20170P1308
+20170P1309,20170P1309
+20170P1310,20170P1310
+20170P1311,20170P1311
+20170P1312,20170P1312
+20170P1313,20170P1313
+20170P1314,20170P1314
+20170P1315,20170P1315
+20170P1316,20170P1316
+20170P1317,20170P1317
+20170P1318,20170P1318
+20170P1319,20170P1319
+20170P1320,20170P1320
+20170P1321,20170P1321
+20170P1322,20170P1322
+20170P1323,20170P1323
+20170P1324,20170P1324
+20170P1325,20170P1325
+20170P1326,20170P1326
+20170P1327,20170P1327
+20170P1328,20170P1328
+20170P1329,20170P1329
+20170P1330,20170P1330
+20170P1331,20170P1331
+20170P1332,20170P1332
+20170P1333,20170P1333
+20170P1334,20170P1334
+20170P1335,20170P1335
+20170P1336,20170P1336
+20170P1337,20170P1337
+20170P1338,20170P1338
+20170P1339,20170P1339
+20170P1340,20170P1340
+20170P1341,20170P1341
+20170P1342,20170P1342
+20170P1343,20170P1343
+20170P1344,20170P1344
+20170P1345,20170P1345
+20170P1346,20170P1346
+20170P1347,20170P1347
+20170P1348,20170P1348
+20170P1349,20170P1349
+20170P1350,20170P1350
+20170P1351,20170P1351
+20170P1352,20170P1352
+20170P1353,20170P1353
+20170P1354,20170P1354
+20170P1355,20170P1355
+20170P1356,20170P1356
+20170P1357,20170P1357
+20170P1358,20170P1358
+20170P1359,20170P1359
+20170P1360,20170P1360
+20170P1361,20170P1361
+20170P1362,20170P1362
+20170P1363,20170P1363
+20170P1364,20170P1364
+20170P1365,20170P1365
+20170P1366,20170P1366
+20170P1367,20170P1367
+20170P1368,20170P1368
+20170P1369,20170P1369
+20170P1370,20170P1370
+20170P1371,20170P1371
+20170P1372,20170P1372
+20170P1373,20170P1373
+20170P1374,20170P1374
+20170P1375,20170P1375
+20170P1376,20170P1376
+20170P1377,20170P1377
+20170P1378,20170P1378
+20170P1379,20170P1379
+20170P1380,20170P1380
+20170P1381,20170P1381
+20170P1382,20170P1382
+20170P1383,20170P1383
+20170P1384,20170P1384
+20170P1385,20170P1385
+20170P1386,20170P1386
+20170P1387,20170P1387
+20170P1388,20170P1388
+20170P1389,20170P1389
+20170P1390,20170P1390
+20170P1391,20170P1391
+20170P1392,20170P1392
+20170P1393,20170P1393
+20170P1394,20170P1394
+20170P1395,20170P1395
+20170P1396,20170P1396
+20170P1397,20170P1397
+20170P1398,20170P1398
+20170P1399,20170P1399
+20170P1400,20170P1400
+20170P1401,20170P1401
+20170P1402,20170P1402
+20170P1403,20170P1403
+20170P1404,20170P1404
+20170P1405,20170P1405
+20170P1406,20170P1406
+20170P1407,20170P1407
+20170P1408,20170P1408
+20170P1409,20170P1409
+20170P1410,20170P1410
+20170P1411,20170P1411
+20170P1412,20170P1412
+20170P1413,20170P1413
+20170P1414,20170P1414
+20170P1415,20170P1415
+20170P1416,20170P1416
+20170P1417,20170P1417
+20170P1418,20170P1418
+20170P1419,20170P1419
+20170P1420,20170P1420
+20170P1421,20170P1421
+20170P1422,20170P1422
+20170P1423,20170P1423
+20170P1424,20170P1424
+20170P1425,20170P1425
+20170P1426,20170P1426
+20170P1427,20170P1427
+20170P1428,20170P1428
+20170P1429,20170P1429
+20170P1430,20170P1430
+20170P1431,20170P1431
+20170P1432,20170P1432
+20170P1433,20170P1433
+20170P1434,20170P1434
+20170P1435,20170P1435
+20170P1436,20170P1436
+20170P1437,20170P1437
+20170P1438,20170P1438
+20170P1439,20170P1439
+20170P1440,20170P1440
+20170P1441,20170P1441
+20170P1442,20170P1442
+20170P1443,20170P1443
+20170P1444,20170P1444
+20170P1445,20170P1445
+20170P1446,20170P1446
+20170P1447,20170P1447
+20170P1448,20170P1448
+20170P1449,20170P1449
+20170P1450,20170P1450
+20170P1451,20170P1451
+20170P1452,20170P1452
+20170P1453,20170P1453
+20170P1454,20170P1454
+20170P1455,20170P1455
+20170P1456,20170P1456
+20170P1457,20170P1457
+20170P1458,20170P1458
+20170P1459,20170P1459
+20170P1460,20170P1460
+20170P1461,20170P1461
+20170P1462,20170P1462
+20170P1463,20170P1463
+20170P1464,20170P1464
+20170P1465,20170P1465
+20170P1466,20170P1466
+20170P1467,20170P1467
+20170P1468,20170P1468
+20170P1469,20170P1469
+20170P1470,20170P1470
+20170P1471,20170P1471
+20170P1472,20170P1472
+20170P1473,20170P1473
+20170P1474,20170P1474
+20170P1475,20170P1475
+20170P1476,20170P1476
+20170P1477,20170P1477
+20170P1478,20170P1478
+20170P1479,20170P1479
+20170P1480,20170P1480
+20170P1481,20170P1481
+20170P1482,20170P1482
+20170P1483,20170P1483
+20170P1484,20170P1484
+20170P1485,20170P1485
+20170P1486,20200P0465
+20170P1487,20170P1487
+20170P1488,20170P1488
+20170P1489,20170P1489
+20170P1490,20170P1490
+20170P1491,20170P1491
+20170P1492,20170P1492
+20170P1493,20170P1493
+20170P1494,20170P1494
+20170P1495,20170P1495
+20170P1496,20170P1496
+20170P1497,20170P1497
+20170P1498,20170P1498
+20170P1499,20170P1499
+20170P1500,20170P1500
+20170P1501,20170P1501
+20170P1502,20170P1502
+20170P1503,20170P1503
+20170P1504,20170P1504
+20170P1505,20170P1505
+20170P1506,20170P1506
+20170P1507,20170P1507
+20170P1508,20170P1508
+20170P1509,20170P1509
+20170P1510,20170P1510
+20170P1511,20170P1511
+20170P1512,20170P1512
+20170P1513,20170P1513
+20170P1514,20170P1514
+20170P1515,20170P1515
+20170P1516,20170P1516
+20170P1517,20170P1517
+20170P1518,20170P1518
+20170P1519,20170P1519
+20170P1520,20170P1520
+20170P1521,20170P1521
+20170P1522,20170P1522
+20170P1523,20170P1523
+20170P1524,20170P1524
+20170P1525,20170P1525
+20170P1526,20170P1526
+20170P1527,20170P1527
+20170P1528,20170P1528
+20170P1529,20170P1529
+20170P1530,20170P1530
+20170P1531,20170P1531
+20170P1532,20170P1532
+20170P1533,20170P1533
+20170P1534,20170P1534
+20170P1535,20170P1535
+20170P1536,20170P1536
+20170P1537,20170P1537
+20170P1538,20170P1538
+20170P1539,20170P1539
+20170P1540,20170P1540
+20170P1541,20170P1541
+20170P1542,20170P1542
+20170P1543,20170P1543
+20170P1544,20170P1544
+20170P1545,20170P1545
+20170P1546,20170P1546
+20170P1547,20170P1547
+20170P1548,20170P1548
+20170P1549,20170P1549
+20170P1550,20170P1550
+20170P1551,20170P1551
+20170P1552,20170P1552
+20170P1553,20170P1553
+20170P1554,20170P1554
+20170P1555,20170P1555
+20170P1556,20170P1556
+20170P1557,20170P1557
+20170P1558,20170P1558
+20170P1559,20170P1559
+20170P1560,20170P1560
+20170P1561,20170P1561
+20170P1562,20170P1562
+20170P1563,20170P1563
+20170P1564,20170P1564
+20170P1565,20170P1565
+20170P1566,20170P1566
+20170P1567,20170P1567
+20170P1568,20170P1568
+20170P1569,20170P1569
+20170P1570,20170P1570
+20170P1571,20170P1571
+20170P1572,20170P1572
+20170P1573,20170P1573
+20170P1574,20170P1574
+20170P1575,20170P1575
+20170P1576,20170P1576
+20170P1577,20170P1577
+20170P1578,20170P1578
+20170P1579,20170P1579
+20170P1580,20170P1580
+20170P1581,20170P1581
+20170P1582,20170P1582
+20170P1583,20170P1583
+20170P1584,20170P1584
+20170P1585,20170P1585
+20170P1586,20170P1586
+20170P1587,20170P1587
+20170P1588,20170P1588
+20170P1589,20170P1589
+20170P1590,20170P1590
+20170P1591,20170P1591
+20170P1592,20170P1592
+20170P1593,20170P1593
+20170P1594,20170P1594
+20170P1595,20170P1595
+20170P1596,20170P1596
+20170P1597,20170P1597
+20170P1598,20170P1598
+20170P1599,20170P1599
+20170P1600,20170P1600
+20170P1601,20170P1601
+20170P1602,20170P1602
+20170P1603,20170P1603
+20170P1604,20170P1604
+20170P1605,20170P1605
+20170P1606,20170P1606
+20170P1607,20170P1607
+20170P1608,20170P1608
+20170P1609,20170P1609
+20170P1610,20170P1610
+20170P1611,20170P1611
+20170P1612,20170P1612
+20170P1613,20170P1613
+20170P1614,20170P1614
+20170P1615,20170P1615
+20170P1616,20170P1616
+20170P1617,20170P1617
+20170P1618,20170P1618
+20170P1619,20170P1619
+20170P1620,20170P1620
+20170P1621,20170P1621
+20170P1622,20170P1622
+20170P1623,20170P1623
+20170P1624,20170P1624
+20170P1625,20170P1625
+20170P1626,20170P1626
+20170P1627,20170P1627
+20170P1628,20170P1628
+20170P1629,20170P1629
+20170P1630,20170P1630
+20170P1631,20170P1631
+20170P1632,20170P1632
+20170P1633,20170P1633
+20170P1634,20170P1634
+20170P1635,20170P1635
+20170P1636,20170P1636
+20170P1637,20170P1637
+20170P1638,20170P1638
+20170P1639,20200P0464
+20170P1640,20170P1640
+20170P1641,20170P1641
+20170P1642,20170P1642
+20170P1643,20170P1643
+20170P1644,20170P1644
+20170P1645,20170P1645
+20170P1646,20170P1646
+20170P1647,20170P1647
+20170P1648,20170P1648
+20170P1649,20170P1649
+20170P1650,20170P1650
+20170P1651,20170P1651
+20170P1652,20170P1652
+20170P1653,20170P1653
+20170P1654,20170P1654
+20170P1655,20170P1655
+20170P1656,20170P1656
+20170P1657,20170P1657
+20170P1658,20170P1658
+20170P1659,20170P1659
+20170P1660,20170P1660
+20170P1661,20170P1661
+20170P1662,20170P1662
+20170P1663,20170P1663
+20170P1664,20170P1664
+20170P1665,046046174
+20170P1666,20170P1666
+20170P1667,056046131
+20170P1668,20170P1668
+20170P1669,20170P1669
+20170P1670,20170P1670
+20170P1671,20170P1671
+20170P1672,20170P1672
+20170P1673,20170P1673
+20170P1674,20170P0172
+20170P1675,20170P1675
+20170P1676,20170P1676
+20170P1677,20170P1677
+20170P1678,20170P1678
+20170P1679,20170P1679
+20170P1680,20170P1680
+20170P1681,20170P1681
+20170P1682,20170P1682
+20170P1683,20170P1683
+20170P1684,20170P1684
+20170P1685,20170P1685
+20170P1686,20170P1686
+20170P1687,20170P1687
+20170P1688,20170P1688
+20170P1689,20170P1689
+20170P1690,20170P1690
+20170P1691,20170P1691
+20170P1692,20170P1692
+20170P1693,20170P1693
+20170P1694,20170P1694
+20170P1695,20170P1695
+20170P1696,20170P1696
+20170P1697,20170P1697
+20170P1698,20170P1698
+20170P1699,20170P1699
+20170P1700,20170P1700
+20170P1701,20170P1701
+20170P1702,20170P1702
+20170P1703,20170P1703
+20170P1704,20170P1704
+20170P1705,20170P1705
+20170P1706,20170P1706
+20170P1707,20170P1707
+20170P1708,20170P1708
+20170P1709,20170P1709
+20170P1710,20170P1710
+20170P1711,20170P1711
+20170P1712,20170P1712
+20170P1713,20170P1713
+20170P1714,20170P1714
+20170P1715,20170P1715
+20170P1716,20170P1716
+20170P1717,20170P1717
+20170P1718,20170P1718
+20170P1719,20170P1719
+20170P1720,20170P1720
+20170P1721,20170P1721
+20170P1722,20170P1722
+20170P1723,2017010257
+20170P1724,20170P1724
+20170P1725,2017010256
+20170P1726,20170P1726
+20170P1727,20170P1727
+20170P1728,20170P1728
+20170P1729,20170P1729
+20170P1730,20170P1730
+20170P1731,20170P1731
+20170P1732,20170P1732
+20170P1733,20170P1733
+20170P1734,20170P1734
+20170P1735,20170P1735
+20170P1736,20170P1736
+20170P1737,20170P1737
+20170P1738,20170P1738
+20170P1739,20170P1739
+20170P1740,20170P1740
+20170P1741,20170P1741
+20170P1742,20170P1742
+20170P1743,20170P1743
+20170P1744,20170P1744
+20170P1745,20170P1745
+20170P1746,20170P1746
+20170P1747,20170P1747
+20170P1748,2008302518
+20170P1749,20170P1749
+20170P1750,20170P1750
+20170P1751,20170P1751
+20170P1752,20170P1752
+20170P1753,20170P1753
+20170P1754,20170P1754
+20170P1755,20170P1755
+20170P1756,20170P1756
+20170P1757,20170P1757
+20170P1758,20170P1758
+20170P1759,20170P1759
+20170P1760,20170P1760
+20170P1761,20170P1761
+20170P1762,20170P1762
+20170P1763,20170P1763
+20170P1765,20170P1765
+20170P1766,20170P1766
+20170P1767,20170P1767
+20170P1768,20170P1768
+20170P1769,20170P1769
+20170P1770,20170P1770
+20170P1771,20170P1771
+20170P1772,20170P1772
+20170P1773,20170P1773
+20170P1774,20170P1774
+20170P1775,20170P1775
+20170P1776,20170P1776
+20170P1777,20170P1777
+20170P1778,20170P1778
+20170P1779,20170P1779
+20170P1780,20170P1780
+20170P1781,20170P1781
+20170P1782,20170P1782
+20170P1783,046090576
+20170P1784,20170P1784
+20170P1785,20170P1785
+20170P1786,20170P1786
+20170P1787,20170P1787
+20170P1788,20170P1788
+20170P1789,20170P1789
+20170P1790,20170P1790
+20170P1791,20170P1791
+20170P1792,20170P1792
+20170P1793,20170P1793
+20170P1794,20170P1794
+20170P1795,20170P1795
+20170P1796,20170P1796
+20170P1797,20170P1797
+20170P1798,20170P1798
+20170P1799,20170P1799
+20170P1800,20170P1800
+20170P1801,20170P1801
+20170P1802,20170P1802
+20170P1803,20170P1803
+20170P1804,20170P1804
+20170P1805,20170P1805
+20170P1806,20170P1806
+20170P1807,20170P1807
+20170P1808,20170P1808
+20170P1809,20170P1809
+20170P1810,20170P1810
+20170P1811,20170P1811
+20170P1812,20170P1812
+20170P1813,20170P1813
+20170P1814,20170P1814
+20170P1815,20170P1815
+20170P1816,20170P1816
+20170P1817,20170P1817
+20170P1818,20170P1818
+20170P1819,20170P1819
+20170P1820,20170P1820
+20170P1821,20170P1821
+20170P1822,20170P1822
+20170P1823,20170P1823
+20170P1824,20170P1824
+20170P1825,20170P1825
+20170P1826,20170P1826
+20170P1827,20170P1827
+20170P1828,20170P1828
+20170P1829,20170P1829
+20170P1830,20170P1830
+20170P1831,20170P1831
+20170P1832,20170P1832
+20170P1833,2012070049
+20170P1834,20170P1834
+20170P1835,20170P1835
+20170P1836,20170P1836
+20170P1837,20170P1837
+20170P1838,20170P1838
+20170P1839,20170P1839
+20170P1840,20170P1840
+20170P1841,20170P1841
+20170P1842,20170P1842
+20170P1843,20170P1843
+20170P1844,20170P1844
+20170P1845,20170P1845
+20170P1846,20170P1846
+20170P1847,20170P1847
+20170P1848,20170P1848
+20170P1849,20170P1849
+20170P1850,20170P1850
+20170P1851,20170P1851
+20170P1852,20170P1852
+20170P1853,20170P1853
+20170P1854,20170P1854
+20170P1855,20170P1855
+20170P1856,20170P1856
+20170P1857,20170P1857
+20170P1858,20170P1858
+20170P1859,20170P1859
+20170P1860,20170P1860
+20170P1861,20170P1861
+20170P1862,20170P1862
+20170P1863,20170P1863
+20170P1864,20170P1864
+20170P1865,20170P1865
+20170P1866,20170P1866
+20170P1867,2016262522
+20170P1868,20170P1868
+20170P1869,20170P1869
+20170P1870,20170P1870
+20170P1871,20170P1871
+20170P1872,20170P1872
+20170P1873,2008301730
+20170P1874,040145
+20170P1875,20170P1875
+20170P1876,042520
+20170P1877,2009300014
+20170P1878,20170P1878
+20170P1879,20170P1879
+20170P1880,20170P1880
+20170P1881,20170P1881
+20170P1882,20170P1882
+20170P1883,20170P1883
+20170P1884,20170P1884
+20170P1885,20170P1885
+20170P1886,20170P1886
+20170P1887,20170P1887
+20170P1888,2016210339
+20170P1889,20170P1889
+20170P1890,2016210340
+20170P1891,2011210079
+20170P1892,20170P1892
+20170P1893,2010300254
+20170P1894,066016039
+20170P1895,040342
+20170P1896,2010300206
+20170P1897,2009300333
+20170P1898,050284
+20170P1899,060195
+20170P1900,056016004
+20170P1901,060372
+20170P1902,2008300276
+20170P1903,2014200858
+20170P1904,20170P1904
+20170P1905,20170P1905
+20170P1906,20170P1906
+20170P1907,20170P1907
+20170P1908,20170P1908
+20170P1909,20170P1909
+20170P1910,20170P1910
+20170P1911,2008301436
+20170P1912,2009300313
+20170P1913,2010300244
+20170P1914,2007200163
+20170P1915,20170P1915
+20170P1916,20170P1916
+20170P1917,20170P1917
+20170P1918,20170P1918
+20170P1919,20170P1919
+20170P1920,20170P1920
+20170P1921,2008201289
+20170P1922,2008300062
+20170P1923,046026043
+20170P1924,20170P1924
+20170P1925,2009201121
+20170P1926,20170P1926
+20170P1927,20170P1927
+20170P1928,056099055
+20170P1929,20170P1929
+20170P1930,20170P1930
+20170P1931,20170P1931
+20170P1932,20170P1932
+20170P1933,20170P1933
+20170P1934,20170P1934
+20170P1935,20170P1935
+20170P1936,20170P1936
+20170P1937,20170P1937
+20170P1938,20170P1938
+20170P1939,20170P1939
+20170P1940,20170P1940
+20170P1941,20170P1941
+20170P1942,20170P1942
+20170P1943,20170P1943
+20170P1944,20170P1944
+20170P1945,20170P1945
+20170P1946,20170P1946
+20170P1947,20170P1947
+20170P1948,20170P1948
+20170P1949,20170P1949
+20170P1950,20170P1950
+20170P1951,20170P1951
+20170P1952,20170P1952
+20170P1953,20170P1953
+20170P1954,20170P1954
+20170P1955,20170P1955
+20170P1956,20170P1956
+20170P1957,20170P1957
+20170P1958,20170P1958
+20170P1959,20170P1959
+20170P1960,20170P1960
+20170P1961,20170P1961
+20170P1962,20170P1962
+20170P1963,2013100056
+20170P1964,20170P1964
+20170P1965,20170P1965
+20170P1966,050812
+20170P1967,20170P1967
+20170P1968,20170P1968
+20170P1969,20170P1969
+20170P1970,20170P1970
+20170P1971,20170P1971
+20170P1972,20170P1972
+20170P1973,062537
+20170P1974,046086405
+20170P1975,20170P1975
+20170P1976,2009303328
+20170P1977,20170P1977
+20170P1978,20170P1978
+20170P1979,20170P1979
+20170P1980,20170P1980
+20170P1981,20170P1981
+20170P1982,20170P1982
+20170P1983,20170P1983
+20170P1984,20170P1984
+20170P1985,20170P1985
+20170P1986,20170P1986
+20170P1987,20170P1987
+20170P1988,20170P1988
+20170P1989,20170P1989
+20170P1990,20170P1990
+20170P1991,20170P1991
+20170P1992,20170P1992
+20170P1993,20170P1993
+20170P1994,20170P1994
+20170P1995,20170P1995
+20170P1996,20170P1996
+20170P1997,20170P1997
+20170P1998,20170P1998
+20170P1999,20170P1999
+20170P2000,20170P2000
+20170P2001,2014201748
+20170P2002,066100624
+20170P2003,052810
+20170P2004,20170P2004
+20170P2005,2012303482
+20170P2006,20170P2006
+20170P2007,20170P2007
+20170P2008,20170P2008
+20170P2009,042300
+20170P2010,2008201349
+20170P2011,20170P2011
+20170P2012,2014262589
+20170P2013,046090547
+20170P2014,20170P2014
+20170P2015,20170P2015
+20170P2016,20170P2016
+20170P2017,20170P2017
+20170P2018,20170P2018
+20170P2019,20170P2019
+20170P2020,20170P2020
+20170P2021,20170P2021
+20170P2022,20170P2022
+20170P2023,20170P2023
+20170P2024,20170P2024
+20170P2025,20170P2025
+20170P2026,20170P2026
+20170P2027,20170P2027
+20170P2028,20170P2028
+20170P2029,20170P2029
+20170P2030,20170P2030
+20170P2031,20170P2031
+20170P2032,20170P2032
+20170P2033,20170P2033
+20170P2034,20170P2034
+20170P2035,20170P2035
+20170P2036,20170P2036
+20170P2037,20170P2037
+20170P2038,20170P2038
+20170P2039,20170P2039
+20170P2040,20170P2040
+20170P2041,20170P2041
+20170P2042,20170P2042
+20170P2043,20170P2043
+20170P2044,20170P2044
+20170P2045,20170P2045
+20170P2046,20170P2046
+20170P2047,20170P2047
+20170P2048,20170P2048
+20170P2049,20170P2049
+20170P2050,20170P2050
+20170P2051,20170P2051
+20170P2052,20170P2052
+20170P2053,20170P2053
+20170P2054,20170P2054
+20170P2055,20170P2055
+20170P2056,20170P2056
+20170P2057,20170P2057
+20170P2058,20170P2058
+20170P2059,20170P2059
+20170P2060,20170P2060
+20170P2061,20170P2061
+20170P2062,20170P2062
+20170P2063,20170P2063
+20170P2064,20170P2064
+20170P2065,20170P2065
+20170P2066,20170P2066
+20170P2067,20170P2067
+20170P2068,20170P2068
+20170P2069,20170P2069
+20170P2070,20170P2070
+20170P2071,20170P2071
+20170P2072,20170P2072
+20170P2073,20170P2073
+20170P2074,20170P2074
+20170P2075,20170P2075
+20170P2076,20170P2076
+20170P2077,20170P2077
+20170P2078,20170P2078
+20170P2079,20170P2079
+20170P2080,20170P2080
+20170P2081,20170P2081
+20170P2082,20170P2082
+20170P2083,20170P2083
+20170P2084,20170P2084
+20170P2085,20170P2085
+20170P2086,20170P2086
+20170P2087,20170P2087
+20170P2088,20170P2088
+20170P2089,20170P2089
+20170P2090,20170P2090
+20170P2091,20170P2091
+20170P2092,20170P2092
+20170P2093,20170P2093
+20170P2094,20170P2094
+20170P2095,20170P2095
+20170P2096,20170P2096
+20170P2097,20170P2097
+20170P2098,20170P2098
+20170P2099,20170P2099
+20170P2100,20170P2100
+20170P2101,20170P2101
+20170P2102,20170P2102
+20170P2103,20170P2103
+20170P2104,052287
+20170P2105,20170P2105
+20170P2106,20170P2106
+20170P2107,20170P2107
+20170P2108,20170P2108
+20170P2109,20170P2109
+20170P2110,20170P2110
+20170P2111,20170P2111
+20170P2112,20170P2112
+20170P2113,20170P2113
+20170P2114,20170P2114
+20170P2115,20170P2115
+20170P2116,20170P2116
+20170P2117,20170P2117
+20170P2118,20170P2118
+20170P2119,20170P2119
+20170P2120,20170P2120
+20170P2121,20170P2121
+20170P2122,20170P2122
+20170P2123,20170P2123
+2017100001,2017100001
+2017100002,2010300359
+2017100003,2010300271
+2017100004,2010300188
+2017100005,2017100005
+2017100006,2010300354
+2017100007,2011300198
+2017100008,2010300374
+2017100009,2010300205
+2017100010,2017100010
+2017100011,2014201986
+2017100012,2010300341
+2017100013,050054
+2017100014,2017100014
+2017100015,2017100015
+2017100016,2009300355
+2017100017,2010300318
+2017100018,2014200119
+2017100019,2010300137
+2017100020,2014200111
+2017100021,2017100021
+2017100022,2010301153
+2017100023,2014200123
+2017100024,2014200110
+2017100025,2017100025
+2017100026,2010300503
+2017100027,2017100027
+2017100028,2010300499
+2017100029,2017100029
+2017100030,2008300463
+2017100031,2014260308
+2017100032,2010300470
+2017100033,2010300433
+2017100034,2010300468
+2017100035,2017100035
+2017100036,2014200297
+2017100037,2014260311
+2017100038,2017100038
+2017100039,2017100039
+2017100040,2010300798
+2017100041,2017100041
+2017100042,2017100042
+2017100043,2017100043
+2017100044,2017100044
+2017100045,2010300703
+2017100046,2007200294
+2017100047,2010303059
+2017100048,2010300811
+2017100049,2017100049
+2017100050,2010300792
+2017100051,2010300808
+2017100052,2017100052
+2017100053,2010300774
+2017100054,2010300788
+2017100055,2011250145
+2017100056,2014260490
+2017100057,2017100057
+2017100058,2014200380
+2017100059,2010301771
+2017100060,2008300738
+2017100061,2010300629
+2017100062,2013200355
+2017100063,2017100063
+2017100064,2017100064
+2017100065,2009301075
+2017100066,2009301002
+2017100067,2014200560
+2017100068,2017100068
+2017100069,2014260697
+2017100070,2014200524
+2017100071,051405
+2017100072,2017100072
+2017100073,2014200562
+2017100074,2014260647
+2017100075,2017100075
+2017100076,2014260651
+2017100077,2008200517
+2017100078,2017100078
+2017100079,2010300823
+2017100080,2011200613
+2017100081,2012201951
+2017100082,2009301072
+2017100083,2014200588
+2017100084,2009300946
+2017100085,2017100085
+2017100086,2017100086
+2017100087,2014200721
+2017100088,2017100088
+2017100089,2017100089
+2017100090,2010301239
+2017100091,2017100091
+2017100092,2017100092
+2017100093,2017100093
+2017100094,2010302768
+2017100095,2017100095
+2017100096,2017100096
+2017100097,2017100097
+2017100098,2017100098
+2017100099,2017100099
+2017100100,2017100100
+2017100101,2010302360
+2017100102,2017100102
+2017100103,2014200870
+2017100104,2014200772
+2017100105,2014200817
+2017100106,2017100106
+2017100107,2014201857
+2017100108,2014201851
+2017100109,2014201007
+2017100110,2014201004
+2017100111,2014200988
+2017100112,2014261036
+2017100113,2010301405
+2017100114,2014200989
+2017100115,2017100115
+2017100116,2014200992
+2017100117,2010301431
+2017100118,2010301466
+2017100119,2010301484
+2017100120,2010301700
+2017100121,2010300639
+2017100122,2017100122
+2017100123,2011100484
+2017100124,2010300023
+2017100125,2010301560
+2017100126,2010301695
+2017100127,2010301735
+2017100128,2017100128
+2017100129,2017100129
+2017100130,2017100130
+2017100131,2013201270
+2017100132,2010210338
+2017100133,2017100133
+2017100134,2010302578
+2017100135,2017100135
+2017100136,2010301911
+2017100137,2014201198
+2017100138,2010302055
+2017100139,2014261360
+2017100140,2017100140
+2017100141,2017100141
+2017100142,2010301877
+2017100143,2017100143
+2017100144,2011201624
+2017100145,2017100145
+2017100146,2017100146
+2017100147,2017100147
+2017100148,2014201441
+2017100149,2017100149
+2017100150,2010302268
+2017100151,2010300130
+2017100152,2010302090
+2017100153,2017100153
+2017100154,2017100154
+2017100155,2014201871
+2017100156,2014201537
+2017100157,2017100157
+2017100158,2009302154
+2017100159,2010302305
+2017100160,2017100160
+2017100161,2014261650
+2017100162,2014261647
+2017100163,2017100163
+2017100164,2017100164
+2017100165,2009302216
+2017100166,2014261636
+2017100167,2017100167
+2017100168,2017100168
+2017100169,2017100169
+2017100170,2017100170
+2017100171,2017100171
+2017100172,2010303478
+2017100173,2017100173
+2017100174,2010302407
+2017100175,1991000035
+2017100176,2010303373
+2017100177,2017100177
+2017100178,2017100178
+2017100179,2017100179
+2017100180,2014260899
+2017100181,2017100181
+2017100182,2017100182
+2017100183,2017100183
+2017100184,2014010047
+2017100185,2017100185
+2017100186,2014261801
+2017100187,2010261708
+2017100188,2010303433
+2017100189,2017100189
+2017100190,2014201846
+2017100191,2017100191
+2017100192,2014201882
+2017100193,2014201845
+2017100194,2017100194
+2017100195,2014201865
+2017100196,2014201902
+2017100197,2017100197
+2017100198,2017100198
+2017100199,2017100199
+2017100200,2010201877
+2017100201,2017100201
+2017100202,2017100202
+2017100203,2014201972
+2017100204,2017100204
+2017100205,043075
+2017100206,2017100206
+2017100207,2010302774
+2017100208,2009302775
+2017100209,2010302767
+2017100210,2010302769
+2017100211,2014201904
+2017100212,2017100212
+2017100213,2014201954
+2017100214,2014201950
+2017100215,2014262012
+2017100216,2014201927
+2017100217,2017100217
+2017100218,2010302924
+2017100219,2010302862
+2017100220,2010302940
+2017100221,2017100221
+2017100222,2017100222
+2017100223,2017100223
+2017100224,2017100224
+2017100225,2017100225
+2017100226,2017100226
+2017100227,2017100227
+2017100228,2017100228
+2017100229,2017100229
+2017100230,2014010049
+2017100231,2017100231
+2017100232,2010303063
+2017100233,2009303096
+2017100234,2014262051
+2017100235,2017100235
+2017100236,2010302969
+2017100237,2011010067
+2017100238,2017100238
+2017100239,063019
+2017100240,2017100240
+2017100241,2014262074
+2017100242,2008201963
+2017100243,2017100243
+2017100244,2017100244
+2017100245,2017100245
+2017100246,2014202464
+2017100247,2017100247
+2017100248,2017100248
+2017100249,2017100249
+2017100250,2017100250
+2017100251,2014202459
+2017100252,2017100252
+2017100253,2017100253
+2017100254,2014202643
+2017100255,2017100255
+2017100256,2017100256
+2017100257,2017100257
+2017100258,2017100258
+2017100259,2017100259
+2017100260,2017100260
+2017100261,2017100261
+2017100262,2014200501
+2017100263,2017100263
+2017100264,2017100264
+2017100265,2017100265
+2017100266,2017100266
+2017100267,2017100267
+2017100268,2017100268
+2017100269,2011300334
+2017100270,2015201055
+2017100271,2011300193
+2017100272,2011300237
+2017100273,2011300233
+2017100274,2013300332
+2017100275,2013300483
+2017100276,2013300018
+2017100277,2013300012
+2017100278,2013300004
+2017100279,2013300328
+2017100280,2017100280
+2017100281,2011300296
+2017100282,2015200137
+2017100283,2011300203
+2017100284,2015200039
+2017100285,2013300310
+2017100286,2015200048
+2017100287,2017100287
+2017100288,2011300039
+2017100289,2013300456
+2017100290,2013300477
+2017100291,2008300248
+2017100292,2008250083
+2017100293,2014200130
+2017100294,2008300789
+2017100295,2014310206
+2017100296,2015200131
+2017100297,2011300169
+2017100298,2011300174
+2017100299,2011300303
+2017100300,2010300368
+2017100301,2013300355
+2017100302,2013300410
+2017100303,2017100303
+2017100304,2017100304
+2017100305,2013300020
+2017100306,2013300384
+2017100307,2013300343
+2017100310,2008300122
+2017100311,2008301947
+2017100312,046026055
+2017100313,2010300515
+2017100314,2010300477
+2017100315,2010300232
+2017100316,2017100316
+2017100317,2017100317
+2017100318,2010300480
+2017100319,2007200165
+2017100320,2017100320
+2017100321,2010300498
+2017100322,2017100322
+2017100323,2017100323
+2017100324,2017100324
+2017100325,2009300261
+2017100326,2017100326
+2017100327,2010300127
+2017100328,2010300589
+2017100329,2017100329
+2017100330,2015200289
+2017100331,2011302546
+2017100332,2011300439
+2017100333,2013300033
+2017100334,2013300684
+2017100335,2013300576
+2017100336,2013300690
+2017100337,2017100337
+2017100338,2017100338
+2017100339,2011300579
+2017100340,2017100340
+2017100341,2013301496
+2017100342,2017100342
+2017100345,2008300755
+2017100346,2007300688
+2017100347,2017100347
+2017100348,2009300802
+2017100349,2011300681
+2017100350,2011300692
+2017100351,2013303023
+2017100352,2013300738
+2017100353,2013300809
+2017100354,2013300053
+2017100355,2017100355
+2017100356,2014260475
+2017100357,2011300744
+2017100358,2015200425
+2017100359,2015200421
+2017100360,2015200422
+2017100361,2011300797
+2017100362,2013300840
+2017100363,2013300855
+2017100364,2013300865
+2017100365,2013300827
+2017100366,2013300844
+2017100367,2013300054
+2017100368,2013300880
+2017100369,2013300885
+2017100370,2013300848
+2017100371,2017100371
+2017100372,2017100372
+2017100373,2017100373
+2017100374,2017100374
+2017100375,2015200823
+2017100376,2011300583
+2017100377,2013300918
+2017100378,2013300923
+2017100379,2017100379
+2017100380,2013300066
+2017100381,2017100381
+2017100382,2013300140
+2017100383,2017100383
+2017100384,2009301142
+2017100385,2017100385
+2017100386,2017100386
+2017100387,2017100387
+2017100388,2017100388
+2017100389,2017100389
+2017100390,2017100390
+2017100391,2017100391
+2017100392,2017100392
+2017100393,2017100393
+2017100394,2017100394
+2017100395,2017100395
+2017100396,2017100396
+2017100397,2017100397
+2017100398,2017100398
+2017100399,2017100399
+2017100400,2017100400
+2017100401,2017100401
+2017100402,2010200543
+2017100403,2017100403
+2017100404,2017100404
+2017100405,2017100405
+2017100406,2017100406
+2017100407,2017100407
+2017100408,2017100408
+2017100409,2017100409
+2017100410,2017100410
+2017100411,2017100411
+2017100412,2010302898
+2017100413,2015201976
+2017100414,2015201985
+2017100415,2015202006
+2017100416,2011300881
+2017100417,2015200589
+2017100418,2015200560
+2017100419,2011301006
+2017100420,2015200547
+2017100421,2011301009
+2017100422,2015200541
+2017100423,2011301028
+2017100424,2017100424
+2017100425,2017100425
+2017100426,2013302825
+2017100427,2013300961
+2017100428,2017100428
+2017100429,2017100429
+2017100430,2017100430
+2017100431,2017100431
+2017100432,2017100432
+2017100433,2017100433
+2017100434,2014200564
+2017100435,2017100435
+2017100436,2017100436
+2017100437,2010200587
+2017100438,2017100438
+2017100439,2017100439
+2017100440,2017100440
+2017100441,2010200604
+2017100442,2017100442
+2017100443,2017100443
+2017100444,2017100444
+2017100445,2017100445
+2017100446,2015200644
+2017100447,2015200636
+2017100448,2015200637
+2017100449,2015200672
+2017100450,2011300950
+2017100451,2015200653
+2017100452,2017100452
+2017100453,2017100453
+2017100454,2017100454
+2017100455,2013301075
+2017100456,2013301082
+2017100457,2013301013
+2017100458,2013300981
+2017100465,2017100465
+2017100466,2017100466
+2017100467,2017100467
+2017100468,2017100468
+2017100469,2017100469
+2017100470,2015200806
+2017100471,2017100471
+2017100472,2017100472
+2017100473,2017100473
+2017100474,2017100474
+2017100475,2017100475
+2017100476,2017100476
+2017100477,2017100477
+2017100478,2017100478
+2017100479,2017100479
+2017100480,2017100480
+2017100481,2017100481
+2017100482,2017100482
+2017100483,2017100483
+2017100484,2017100484
+2017100485,2013200972
+2017100486,2017100486
+2017100487,2017100487
+2017100488,2017100488
+2017100489,2011301355
+2017100490,2017100490
+2017100491,2009300137
+2017100492,2017100492
+2017100493,2017100493
+2017100494,066056365
+2017100495,2017100495
+2017100496,2017100496
+2017100497,2017100497
+2017100498,2015200936
+2017100499,2011301118
+2017100500,2011301101
+2017100501,2011301097
+2017100502,2013300116
+2017100503,2013301152
+2017100504,2013301175
+2017100505,2013301485
+2017100506,2013301336
+2017100507,2017100507
+2017100508,2013301153
+2017100509,2013300103
+2017100518,2017100518
+2017100519,2017100519
+2017100520,2013200986
+2017100521,2007301344
+2017100522,2010301503
+2017100523,2017100523
+2017100524,2017100524
+2017100525,2017100525
+2017100526,2015201046
+2017100527,2011301519
+2017100528,2010301473
+2017100529,2013301489
+2017100530,2013301512
+2017100531,2013301509
+2017100532,2013301544
+2017100533,2017100533
+2017100534,2017100534
+2017100535,2017100535
+2017100536,2015201125
+2017100537,2011301682
+2017100538,2011301655
+2017100539,2013301813
+2017100540,2013301636
+2017100541,2013301809
+2017100542,2013301823
+2017100543,2013300141
+2017100544,2013301656
+2017100545,2017100545
+2017100546,2017100546
+2017100547,2017100547
+2017100548,2017100548
+2017100549,046036097
+2017100550,066096616
+2017100551,2017100551
+2017100552,2017100552
+2017100553,2017100553
+2017100554,2017100554
+2017100555,2017100555
+2017100556,2017100556
+2017100557,2011301711
+2017100558,2011301602
+2017100559,2011301605
+2017100560,2011301657
+2017100561,2015201180
+2017100562,2013301797
+2017100563,2013301808
+2017100564,2013301682
+2017100565,2013301681
+2017100566,2013300156
+2017100567,2013301802
+2017100572,066080429
+2017100573,2008200720
+2017100574,2017100574
+2017100575,2017100575
+2017100576,2008301812
+2017100577,2009302093
+2017100578,2015201362
+2017100579,2017100579
+2017100580,2017100580
+2017100581,046086497
+2017100582,2017100582
+2017100583,2017100583
+2017100584,2017100584
+2017100585,2011302007
+2017100586,2013302033
+2017100587,2017100587
+2017100588,2013301980
+2017100589,2013300172
+2017100590,2013301957
+2017100591,2017100591
+2017100592,2017100592
+2017100595,2017100595
+2017100596,2017100596
+2017100597,2015201453
+2017100598,2015201451
+2017100599,2013302257
+2017100600,2013302465
+2017100601,2017100601
+2017100602,052138
+2017100603,2017100603
+2017100604,2017100604
+2017100605,2017100605
+2017100606,051680
+2017100607,2013201546
+2017100608,2017100608
+2017100609,2017100609
+2017100610,2011261724
+2017100611,2017100611
+2017100612,2017100612
+2017100613,2017100613
+2017100614,2017100614
+2017100615,2017100615
+2017100616,2011302115
+2017100617,2011302135
+2017100618,2015201561
+2017100619,2015201580
+2017100620,2013300198
+2017100621,2013300194
+2017100622,2013300196
+2017100623,2013300192
+2017100624,2017100624
+2017100625,2017100625
+2017100626,2017100626
+2017100627,2017100627
+2017100628,2017100628
+2017100629,066080424
+2017100630,2013211489
+2017100631,2017100631
+2017100633,2017100633
+2017100634,2017100634
+2017100635,2017100635
+2017100636,2009302397
+2017100637,2017100637
+2017100638,2017100638
+2017100639,2017100639
+2017100640,2017100640
+2017100641,2017100641
+2017100642,2017100642
+2017100643,2017100643
+2017100644,2017100644
+2017100645,2010301004
+2017100646,2017100646
+2017100647,2017100647
+2017100648,2017100648
+2017100649,2017100649
+2017100650,2017100650
+2017100651,2015201543
+2017100652,2011303400
+2017100653,2011300365
+2017100654,2011303456
+2017100655,2015201862
+2017100656,2013303492
+2017100657,2013300225
+2017100658,2013302748
+2017100659,2017100659
+2017100660,2017100660
+2017100661,2013303466
+2017100662,2013303423
+2017100663,2013300071
+2017100665,2017100665
+2017100666,2017100666
+2017100667,2017100667
+2017100668,2017100668
+2017100669,2017100669
+2017100670,2017100670
+2017100671,2017100671
+2017100672,2015201939
+2017100673,2015201889
+2017100674,2011302685
+2017100675,2015201901
+2017100676,2015201899
+2017100677,2015201895
+2017100678,2013302690
+2017100679,2013302689
+2017100680,2013302729
+2017100681,2013302720
+2017100682,2017100682
+2017100683,2017100683
+2017100684,2015201946
+2017100685,2013302862
+2017100686,2013300233
+2017100687,2016070186
+2017100688,2017100688
+2017100689,2017100689
+2017100690,2017100690
+2017100691,2015201998
+2017100692,2011302968
+2017100693,2010302801
+2017100694,2011302840
+2017100695,2013302683
+2017100696,2013302869
+2017100697,2017100697
+2017100698,2015201966
+2017100699,2011302834
+2017100700,2013302671
+2017100701,2013302834
+2017100702,2013302841
+2017100703,2013302820
+2017100704,2013302846
+2017100705,2017100705
+2017100706,2017100706
+2017100707,2009302977
+2017100708,2011302944
+2017100709,2011302940
+2017100710,2017100710
+2017100711,2017100711
+2017100712,2017100712
+2017100713,2017100713
+2017100714,2011202110
+2017100715,2017100715
+2017100716,2017100716
+2017100717,2016070162
+2017100718,2017100718
+2017100719,2008300177
+2017100720,2011303112
+2017100721,2011303126
+2017100722,2015202437
+2017100723,2011303221
+2017100724,2017100724
+2017100725,2017100244
+2017100726,2017100726
+2017100727,2017100727
+2017100728,2012202400
+2017100729,2017100729
+2017100730,2017100730
+2017100731,2013303441
+2017100732,2013303471
+2017100733,2017100733
+2017100734,2017100734
+2017100735,2017100735
+2017100736,2017100736
+2017100737,2015202663
+2017100738,2015202646
+2017100739,2015202665
+2017100740,2015202650
+2017100741,2017100741
+2017140001,2017140001
+2017140002,2017140002
+2017150001,2017150001
+2017150002,2007200556
+2017150003,2017150003
+2017150004,2017150004
+2017150005,2017150005
+2017150006,2017150006
+2017150007,2017150007
+2017150008,2008300156
+2017150009,040179
+2017150010,2017150010
+2017150011,2017150011
+2017150012,2014200445
+2017150013,2017150013
+2017150014,2017150014
+2017150015,2017150015
+2017160308,2017160308
+2017160309,2017160309
+2017160343,2017160343
+2017160344,2017160344
+2017160459,2017160459
+2017160460,2017160460
+2017160461,056040185
+2017160462,2017160462
+2017160463,2017160463
+2017160464,066046265
+2017160510,2017160510
+2017160511,2017160511
+2017160512,2017160512
+2017160513,2017160513
+2017160514,2017160514
+2017160515,2017160515
+2017160516,2017160516
+2017160517,2017160517
+2017160568,2017160568
+2017160569,2017160569
+2017160570,2017160570
+2017160571,2017160571
+2017160593,2017160593
+2017160594,2017160594
+2017160632,060558
+2017160664,2008201423
+2017180016,2017180016
+2017180050,2017180050
+2017180059,2017180059
+2017180060,2017180060
+2017180061,2017180061
+2017180062,2017180062
+2017180063,2017180063
+2017180064,2014420038
+2017180065,2017180065
+2017180066,2017180066
+2017180067,2017180067
+2017180068,2017180068
+2017180074,2017180074
+2017180075,2017180075
+2017180076,2017180076
+2017180077,2017180077
+2017180078,2017180078
+2017180079,2017180079
+2017180080,2017180080
+2017180081,2017180081
+2017180083,2017180083
+2017180084,2017180084
+2017180085,2017180085
+2017180086,2017180086
+2017180087,2017180087
+2017180088,2017180088
+2017180089,2017180089
+2017180090,2017180090
+2017180091,2017180091
+2017180092,2017180092
+2017180093,2017180093
+2017180094,2017180094
+2017180095,2017180095
+2017180096,2017180096
+2017180097,2017180097
+2017180098,2017180098
+2017180099,2017180099
+2017180100,2017180100
+2017180101,2017180101
+2017180103,2017180103
+2017180104,2017180104
+2017180105,2017180105
+2017180106,2017180106
+2017180107,2017180107
+2017180108,2017180108
+2017180110,2017180110
+2017180113,2017180113
+2017180114,2017180114
+2017180115,2017180115
+2017180116,2017180116
+2017180117,2017180117
+2017180118,2017180118
+2017180119,2017180119
+2017180120,2017180120
+2017180121,2017180121
+2017180123,2017180123
+2017180124,2017180124
+2017180125,2017180125
+2017180126,2017180126
+2017200001,2013300448
+2017200002,2012300144
+2017200003,2017200003
+2017200004,2013300312
+2017200005,2013300452
+2017200006,2017200006
+2017200007,2013300323
+2017200008,2013300490
+2017200009,2017200009
+2017200010,2017200010
+2017200011,2017200011
+2017200012,2017200012
+2017200013,2013300434
+2017200014,2013300508
+2017200015,2013300445
+2017200016,2013300489
+2017200017,2013300341
+2017200018,2013300336
+2017200019,2017200019
+2017200020,2013300481
+2017200021,2017200021
+2017200022,2017200022
+2017200023,2013300016
+2017200024,2013300013
+2017200025,2013300011
+2017200026,2012300155
+2017200027,2017200027
+2017200028,2013303576
+2017200029,2013300003
+2017200030,2013300015
+2017200031,2013303565
+2017200032,2013300513
+2017200033,2013300518
+2017200034,2013300317
+2017200035,2013300862
+2017200036,2013300503
+2017200037,2017200037
+2017200038,2013300424
+2017200039,2013300334
+2017200040,2013300324
+2017200041,2013300288
+2017200042,2013300024
+2017200043,2013300001
+2017200044,2013300249
+2017200045,2013300274
+2017200046,2013300441
+2017200047,2017200047
+2017200048,2020100033
+2017200049,2013300210
+2017200050,2013301688
+2017200051,2013300227
+2017200052,2013300302
+2017200053,2017200053
+2017200054,2013300497
+2017200055,2013300500
+2017200056,2013300493
+2017200057,2013300244
+2017200058,2013300025
+2017200059,2017200059
+2017200060,2013300517
+2017200061,2013300521
+2017200062,2013300454
+2017200063,2013300511
+2017200064,2013300267
+2017200065,2013300017
+2017200066,2013300002
+2017200067,2013300023
+2017200068,2017200068
+2017200069,2013300270
+2017200070,2013300268
+2017200071,2013300284
+2017200072,2017200072
+2017200073,2013300293
+2017200074,2017200074
+2017200075,2017200075
+2017200076,2017200076
+2017200077,2017200077
+2017200078,2012300187
+2017200079,2017200079
+2017200080,2017200080
+2017200081,2013300512
+2017200082,2013300458
+2017200083,2013300467
+2017200084,2013300353
+2017200085,2013300457
+2017200086,2013301030
+2017200087,2013300337
+2017200088,2013300363
+2017200089,2013300364
+2017200090,2013300228
+2017200091,2013300358
+2017200092,2017200092
+2017200093,2017200093
+2017200094,2017200094
+2017200095,2017200095
+2017200096,2013300255
+2017200097,2017200097
+2017200098,2017200098
+2017200099,2017200099
+2017200100,2017200100
+2017200101,2017200101
+2017200102,2017200102
+2017200103,2017200103
+2017200104,2013300492
+2017200105,2017200105
+2017200106,2017200106
+2017200107,2013300295
+2017200108,2013300253
+2017200109,2013300326
+2017200110,2013300395
+2017200111,2013301939
+2017200112,2017200112
+2017200113,2013300252
+2017200114,2013300250
+2017200115,2017200115
+2017200116,2017200116
+2017200117,2017200117
+2017200118,2013303063
+2017200119,2013300592
+2017200120,2013300279
+2017200121,2013300256
+2017200122,2017200122
+2017200123,2017200123
+2017200124,2013303048
+2017200125,2013300069
+2017200126,2013300291
+2017200127,2013300516
+2017200128,2017200128
+2017200129,2013300510
+2017200130,2013300419
+2017200131,2017200131
+2017200132,2017200132
+2017200133,2011301139
+2017200134,2020100035
+2017200135,2013300298
+2017200136,2013301657
+2017200137,2013300390
+2017200138,2013300380
+2017200139,2013300026
+2017200140,2013300446
+2017200141,2013301953
+2017200142,2007301088
+2017200143,2007300167
+2017200144,2013300377
+2017200145,2013300386
+2017200146,2013300506
+2017200263,2017200263
+2017200264,2020100050
+2017200265,2013300630
+2017200266,2013300704
+2017200267,2017200267
+2017200268,2013301511
+2017200269,2017200269
+2017200270,2017200270
+2017200271,2013301290
+2017200272,2020100045
+2017200273,2013300696
+2017200274,2017200274
+2017200275,2013300641
+2017200276,2013300607
+2017200277,2013300664
+2017200278,2013300636
+2017200279,2017200279
+2017200280,2013300036
+2017200281,2013300603
+2017200282,2013300710
+2017200283,2013300029
+2017200284,2013300621
+2017200285,2013300037
+2017200286,2012300514
+2017200287,2013300032
+2017200288,2013300624
+2017200289,2013300615
+2017200290,2013300616
+2017200291,2020100048
+2017200292,2013300237
+2017200293,2017200293
+2017200294,2013300614
+2017200295,2013300611
+2017200296,2013300638
+2017200297,2017200297
+2017200298,2013300608
+2017200299,2013301165
+2017200300,2013301536
+2017200301,2013300548
+2017200302,2013300547
+2017200303,2013300544
+2017200304,2013300522
+2017200305,2017200305
+2017200306,2017200306
+2017200307,2013300553
+2017200308,2012300427
+2017200309,2017200309
+2017200310,2013300570
+2017200311,2013300574
+2017200312,2013300580
+2017200313,2020100008
+2017200314,2011300459
+2017200315,2013300540
+2017200316,2013300556
+2017200317,2013300531
+2017200318,2017200318
+2017200319,2013300537
+2017200320,2013300536
+2017200321,2013300584
+2017200322,2013300309
+2017200323,2013300545
+2017200324,2013300578
+2017200325,2013300535
+2017200326,2013300048
+2017200327,2013300532
+2017200328,2011300419
+2017200329,2017200329
+2017200330,2013300058
+2017200331,2017200331
+2017200332,2017200332
+2017200333,2017200333
+2017200334,2013300648
+2017200335,2013300647
+2017200336,2020100065
+2017200337,2013300655
+2017200338,2013300680
+2017200339,2017200339
+2017200340,2013300666
+2017200341,2017200341
+2017200342,2013300668
+2017200343,2013300657
+2017200344,2013300661
+2017200345,2013301538
+2017200346,2017200346
+2017200347,2017200347
+2017200348,2013300688
+2017200349,2013300702
+2017200350,2017200350
+2017200351,2017200351
+2017200420,2013300890
+2017200421,2013300882
+2017200422,2013300739
+2017200423,2017200423
+2017200424,2017200424
+2017200425,2013300720
+2017200426,2013300716
+2017200427,2013300734
+2017200428,2013300723
+2017200429,2013300736
+2017200430,2013300718
+2017200431,2017200431
+2017200432,2013300791
+2017200433,2013300783
+2017200434,2013300815
+2017200435,2013300838
+2017200436,2017200436
+2017200437,2017200437
+2017200438,2017200438
+2017200439,2013300777
+2017200440,2013300807
+2017200441,2013300816
+2017200442,2013300798
+2017200443,2013300790
+2017200444,2013300812
+2017200445,2013300804
+2017200446,2013300808
+2017200447,2013301920
+2017200448,2013300176
+2017200449,2013300794
+2017200450,2013300785
+2017200451,2013300833
+2017200452,2013300780
+2017200453,2013300067
+2017200454,2013300921
+2017200455,2013300908
+2017200456,2012300675
+2017200457,2013300910
+2017200458,2017200458
+2017200459,2013300787
+2017200460,2017200460
+2017200461,2017200461
+2017200462,2017200462
+2017200463,2013300912
+2017200464,2017200464
+2017200465,2013302464
+2017200466,2017200466
+2017200467,2017200467
+2017200468,2017200468
+2017200469,2017200469
+2017200470,2020100538
+2017200471,2013300872
+2017200472,2017200472
+2017200473,2013300888
+2017200474,2013300863
+2017200475,2013300835
+2017200476,2013300831
+2017200477,2012300754
+2017200478,2013300843
+2017200479,2013300828
+2017200480,2017200480
+2017200481,2017200481
+2017200482,2011300745
+2017200483,2017200483
+2017200484,2013300062
+2017200485,2013300852
+2017200486,2011300753
+2017200487,2017200487
+2017200488,2013300056
+2017200489,2017200489
+2017200490,2017200490
+2017200491,2013300913
+2017200492,2013300747
+2017200493,2011300643
+2017200494,2020100082
+2017200495,2017200495
+2017200496,2013300765
+2017200497,2013300797
+2017200498,2013300776
+2017200499,2013300813
+2017200500,2013300748
+2017200501,2013300796
+2017200502,2017200502
+2017200503,2013300917
+2017200504,2017200504
+2017200505,2013300773
+2017200506,2017200506
+2017200507,2017200507
+2017200508,2017200508
+2017200509,2017200509
+2017200510,2013300749
+2017200511,2013300906
+2017200512,2020100099
+2017200513,2013300732
+2017200514,2013300729
+2017200515,2013300730
+2017200516,2013300769
+2017200517,2013300728
+2017200518,2013300784
+2017200519,2013300758
+2017200520,2013300743
+2017200521,2017200521
+2017200522,2017200522
+2017200523,2013302172
+2017200524,2013300896
+2017200525,2013300898
+2017200526,2013300887
+2017200527,2013300891
+2017200528,2017200528
+2017200617,2017200617
+2017200618,2013301138
+2017200619,2013302885
+2017200620,2013301010
+2017200621,2013300236
+2017200622,2017200622
+2017200623,2017200623
+2017200624,2017200624
+2017200625,2013301137
+2017200626,2013300964
+2017200627,2013301118
+2017200628,2013301142
+2017200629,2013301126
+2017200630,2017200630
+2017200631,2017200631
+2017200632,2017200632
+2017200633,2017200633
+2017200634,2017200634
+2017200635,2017200635
+2017200636,2017200636
+2017200637,2017200637
+2017200638,2013301064
+2017200639,2017200639
+2017200640,2017200640
+2017200641,2013301006
+2017200642,2017200642
+2017200643,2017200643
+2017200644,2017200644
+2017200645,2017200645
+2017200646,2013300962
+2017200647,2017200647
+2017200648,2017200648
+2017200649,2013300983
+2017200650,2013300963
+2017200651,2013301132
+2017200652,2013301487
+2017200653,2017200653
+2017200654,2013301014
+2017200655,2017200655
+2017200656,2013301140
+2017200657,2013300968
+2017200658,2013300956
+2017200659,2013300091
+2017200660,2013300960
+2017200661,2017200661
+2017200662,2013302805
+2017200663,2017200663
+2017200664,2017200664
+2017200665,2017200665
+2017200666,2017200666
+2017200667,2017200667
+2017200668,2013301016
+2017200669,2017200669
+2017200670,2017200670
+2017200671,2013301127
+2017200672,2013300952
+2017200673,2013300932
+2017200674,2017200674
+2017200675,2017200675
+2017200676,2017200676
+2017200677,2017200677
+2017200678,2017200678
+2017200679,2017200679
+2017200680,2013301139
+2017200681,2020100144
+2017200682,2017200682
+2017200683,2017200683
+2017200684,2017200684
+2017200685,2017200685
+2017200686,2013300097
+2017200687,2017200687
+2017200688,2017200688
+2017200689,2013300096
+2017200690,2013300957
+2017200691,2017200691
+2017200692,2017200692
+2017200693,2017200693
+2017200694,2017200694
+2017200695,2017200695
+2017200696,2017200696
+2017200697,2017200697
+2017200698,2017200698
+2017200699,2013301065
+2017200700,2017200700
+2017200701,2013301036
+2017200702,2013301022
+2017200703,2013300089
+2017200704,2013300074
+2017200705,2013300950
+2017200706,2013301135
+2017200707,2017200707
+2017200708,2013300080
+2017200709,2013300976
+2017200710,2013301529
+2017200711,2017200711
+2017200712,2017200712
+2017200713,2017200713
+2017200714,2017200714
+2017200715,2013301114
+2017200716,2017200716
+2017200717,2017200717
+2017200718,2017200718
+2017200719,2017200719
+2017200720,2020100130
+2017200721,2017200721
+2017200722,2013301051
+2017200723,2017200723
+2017200724,2017200724
+2017200725,2017200725
+2017200726,2017200726
+2017200727,2013300939
+2017200728,2013301029
+2017200729,2017200729
+2017200730,2013301105
+2017200731,2013301056
+2017200732,2013301023
+2017200733,2017200733
+2017200734,2013301088
+2017200735,2013301089
+2017200736,2017200736
+2017200737,2013301046
+2017200738,2017200738
+2017200739,2017200739
+2017200740,2013301055
+2017200741,2017200741
+2017200742,2017200742
+2017200743,2017200743
+2017200744,2013301042
+2017200745,2017200745
+2017200746,2013301054
+2017200747,2017200747
+2017200748,2013301076
+2017200749,2013301072
+2017200750,2013300971
+2017200751,2017200751
+2017200752,2017200752
+2017200753,2017200753
+2017200754,2013300954
+2017200755,2017200755
+2017200756,2013301095
+2017200757,2017200757
+2017200758,2017200758
+2017200759,2017200759
+2017200760,2017200760
+2017200761,2013300079
+2017200762,2013301092
+2017200763,2017200763
+2017200764,2013301034
+2017200765,2020100154
+2017200766,2017200766
+2017200767,2013301043
+2017200768,2013301041
+2017200769,2013301091
+2017200770,2017200770
+2017200771,2017200771
+2017200772,2017200772
+2017200773,2017200773
+2017200774,2013301090
+2017200775,2017200775
+2017200776,2017200776
+2017200777,2017200777
+2017200778,2017200778
+2017200779,2017200779
+2017200780,2013301068
+2017200781,2017200781
+2017200782,2017200782
+2017200783,2017200783
+2017200784,2017200784
+2017200785,2013301073
+2017200786,2017200786
+2017200787,2012300955
+2017200788,2017200788
+2017200789,2017200789
+2017200790,2017200790
+2017200917,2017200917
+2017200918,2013301256
+2017200919,2017200919
+2017200920,2013302634
+2017200921,2013301242
+2017200922,2017200922
+2017200923,2017200923
+2017200924,2013301477
+2017200925,2013301229
+2017200926,2017200926
+2017200927,2017200927
+2017200928,2017200928
+2017200929,2013301339
+2017200930,2013301412
+2017200931,2013301418
+2017200932,2013301231
+2017200933,2013301385
+2017200934,2013301380
+2017200935,2013301373
+2017200936,2013301363
+2017200937,2013301368
+2017200938,2017200938
+2017200939,2013300120
+2017200940,2013301389
+2017200941,2013300108
+2017200942,2017200942
+2017200943,2013301388
+2017200944,2017200944
+2017200945,2013301347
+2017200946,2017200946
+2017200947,2013300113
+2017200948,2017200948
+2017200949,2017200949
+2017200950,2017200950
+2017200951,2017200951
+2017200952,2013301161
+2017200953,2013300098
+2017200954,2013301228
+2017200955,2013302686
+2017200956,2013301337
+2017200957,2013301342
+2017200958,2013301415
+2017200959,2013301374
+2017200960,2013300100
+2017200961,2017200961
+2017200962,2013301474
+2017200963,2017200963
+2017200964,2013301309
+2017200965,2013301299
+2017200966,2017200966
+2017200967,2013301304
+2017200968,2013301273
+2017200969,2013300754
+2017200970,2017200970
+2017200971,2013301280
+2017200972,2013301306
+2017200973,2013301311
+2017200974,2013301338
+2017200975,2013301429
+2017200976,2013301245
+2017200977,2017200977
+2017200978,2013300115
+2017200979,2017200979
+2017200980,2017200980
+2017200981,2017200981
+2017200982,2017200982
+2017200983,2017200983
+2017200984,2017200984
+2017200985,2013301484
+2017200986,2017200986
+2017200987,2017200987
+2017200988,2017200988
+2017200989,2017200989
+2017200990,2013301442
+2017200991,2013301421
+2017200992,2017200992
+2017200993,2013301437
+2017200994,2017200994
+2017200995,2017200995
+2017200996,2017200996
+2017200997,2017200997
+2017200998,2017200998
+2017200999,2017200999
+2017201000,2017201000
+2017201001,2017201001
+2017201002,2013301439
+2017201003,2013300072
+2017201004,2017201004
+2017201005,2017201005
+2017201006,2017201006
+2017201007,2013301314
+2017201008,2017201008
+2017201009,2013301360
+2017201010,2017201010
+2017201011,2013301482
+2017201012,2013301432
+2017201013,2013302059
+2017201014,2017201014
+2017201015,2013300761
+2017201016,2013301424
+2017201017,2013301205
+2017201018,2013301207
+2017201019,2013301169
+2017201020,2013301145
+2017201021,2013301260
+2017201022,2017201022
+2017201023,2017201023
+2017201024,2017201024
+2017201025,2013301184
+2017201026,2017201026
+2017201027,2017201027
+2017201028,2017201028
+2017201029,2017201029
+2017201030,2013301158
+2017201031,2013301262
+2017201032,2013301177
+2017201033,2017201033
+2017201034,2017201034
+2017201035,2013301356
+2017201036,2017201036
+2017201037,2013301211
+2017201038,2013301166
+2017201039,2013301150
+2017201040,2013301201
+2017201041,2013301196
+2017201042,2017201042
+2017201043,2013301185
+2017201044,2013301200
+2017201045,2013301327
+2017201046,2013301219
+2017201047,2017201047
+2017201048,2017201048
+2017201049,2013301203
+2017201050,2013301206
+2017201051,2017201051
+2017201052,2017201052
+2017201053,2017201053
+2017201054,2013300118
+2017201055,2013301173
+2017201056,2013301164
+2017201057,2013300119
+2017201058,2012301085
+2017201059,2017201059
+2017201060,2013300117
+2017201061,2013301481
+2017201062,2013301234
+2017201063,2017201063
+2017201064,2017201064
+2017201065,2011301076
+2017201066,2013301190
+2017201067,2017201067
+2017201068,2017201068
+2017201069,2017201069
+2017201070,2013301476
+2017201071,2017201071
+2017201072,2012301054
+2017201073,2017201073
+2017201074,2017201074
+2017201075,2013300114
+2017201076,2013301478
+2017201077,2013301473
+2017201078,2013301475
+2017201079,2012302674
+2017201080,2017201080
+2017201081,2013301172
+2017201082,2013301186
+2017201083,2013301208
+2017201084,061065
+2017201192,2013301456
+2017201193,2013301450
+2017201194,2013301465
+2017201195,2013301452
+2017201196,2013301460
+2017201197,2017201197
+2017201198,2017201198
+2017201199,2017201199
+2017201200,2017201200
+2017201201,2017201201
+2017201202,2017201202
+2017201203,2012301432
+2017201204,2020100255
+2017201205,2013301534
+2017201206,2013301533
+2017201207,2012301420
+2017201208,2017201208
+2017201209,2013300340
+2017201210,2013301508
+2017201211,2013301524
+2017201212,2017201212
+2017201213,2017201213
+2017201214,2013301574
+2017201215,2013301563
+2017201216,2017201216
+2017201217,2017201217
+2017201218,2017201218
+2017201219,2013301501
+2017201220,2013300125
+2017201221,2013300129
+2017201222,2013300124
+2017201223,2013300132
+2017201224,2013301581
+2017201225,2013301591
+2017201226,2013301491
+2017201227,2017201227
+2017201228,2017201228
+2017201229,2017201229
+2017201230,2017201230
+2017201231,2020100242
+2017201232,2017201232
+2017201233,2017201233
+2017201234,2013301535
+2017201235,2017201235
+2017201236,2017201236
+2017201237,2013301514
+2017201238,2020100071
+2017201239,2013300137
+2017201240,2013300126
+2017201241,2012301522
+2017201242,2012301546
+2017201243,2012301520
+2017201244,2017201244
+2017201245,2013301590
+2017201246,2013301577
+2017201247,2013301592
+2017201248,2017201248
+2017201249,2017201249
+2017201250,2013301588
+2017201251,2013301560
+2017201252,2017201252
+2017201295,2013301642
+2017201296,2017201296
+2017201297,2013301761
+2017201298,2013301775
+2017201299,2017201299
+2017201300,2013301774
+2017201301,2013301767
+2017201302,2013300139
+2017201303,2017201303
+2017201304,2017201304
+2017201305,2013301312
+2017201306,2013301748
+2017201307,2013301751
+2017201308,2017201308
+2017201309,2012301574
+2017201310,2017201310
+2017201311,2013300162
+2017201312,2017201312
+2017201313,2013301782
+2017201314,2017201314
+2017201315,2017201315
+2017201316,2013301668
+2017201317,2012301645
+2017201318,2013301777
+2017201319,2017201319
+2017201320,2017201320
+2017201321,2013301712
+2017201322,2013301718
+2017201323,2013301679
+2017201324,2013301764
+2017201325,2013301717
+2017201326,2013301720
+2017201327,2017201327
+2017201328,2013301722
+2017201329,2013301759
+2017201330,2013301724
+2017201331,2013301691
+2017201332,2013301685
+2017201333,2017201333
+2017201334,2013301739
+2017201335,2013301673
+2017201336,2013301659
+2017201337,2013300159
+2017201338,2013301738
+2017201339,2013301760
+2017201340,2017201340
+2017201341,2017201341
+2017201342,2017201342
+2017201343,2013301828
+2017201344,2017201344
+2017201345,2013301818
+2017201346,2017201346
+2017201347,2013301699
+2017201348,2017201348
+2017201349,2017201349
+2017201350,2017201350
+2017201351,2013300444
+2017201352,2013301667
+2017201353,2017201353
+2017201354,2013301690
+2017201355,2017201355
+2017201356,2017201356
+2017201357,2013301725
+2017201358,2013301702
+2017201359,2017201359
+2017201360,2013301723
+2017201361,2013301692
+2017201362,2013301649
+2017201363,2013301694
+2017201364,2013300158
+2017201365,2017201365
+2017201366,2013300144
+2017201367,2017201367
+2017201368,2013301829
+2017201369,2017201369
+2017201370,2013302320
+2017201371,2017201371
+2017201372,2017201372
+2017201373,2017201373
+2017201374,2017201374
+2017201375,2013300149
+2017201376,2017201376
+2017201377,2013300673
+2017201378,2013300152
+2017201379,2017201379
+2017201380,2013301731
+2017201381,2013301785
+2017201449,2013302107
+2017201450,2013301870
+2017201451,2009301853
+2017201452,2013301860
+2017201453,2013301866
+2017201454,2013301854
+2017201455,2013301844
+2017201456,2013301852
+2017201457,2017201457
+2017201458,2017201458
+2017201459,2017201459
+2017201460,2017201460
+2017201461,2013302109
+2017201462,2013301868
+2017201463,2013301833
+2017201464,2013301856
+2017201465,2017201465
+2017201466,2017201466
+2017201467,2017201467
+2017201468,2013302119
+2017201469,2013302110
+2017201470,2013301853
+2017201471,2017201471
+2017201472,2017201472
+2017201473,2013302096
+2017201474,2013301902
+2017201475,2013302087
+2017201476,2013302086
+2017201477,2013301832
+2017201478,2013301905
+2017201479,2013302061
+2017201480,2013302066
+2017201481,2011301979
+2017201482,2013302099
+2017201483,2013302075
+2017201484,2013300167
+2017201485,2013301901
+2017201486,2013301883
+2017201487,2020100285
+2017201488,2020100287
+2017201489,2013302088
+2017201490,2017201490
+2017201491,2017201491
+2017201492,2017201492
+2017201493,2013302057
+2017201494,2013303522
+2017201495,2013301996
+2017201496,2013302031
+2017201497,2017201497
+2017201498,2013301934
+2017201499,2017201499
+2017201500,2013303534
+2017201501,2013302015
+2017201502,2013302021
+2017201503,2013302010
+2017201504,2013302058
+2017201505,2013302028
+2017201506,2013302011
+2017201507,2013302003
+2017201508,2013302024
+2017201509,2013302023
+2017201510,2017201510
+2017201511,2013303546
+2017201512,2013301923
+2017201513,2013302025
+2017201514,2017201514
+2017201515,2020100304
+2017201516,2013301995
+2017201517,2017201517
+2017201518,2017201518
+2017201519,2013302016
+2017201520,2013300175
+2017201521,2013302046
+2017201522,2013300181
+2017201523,2017201523
+2017201524,2013302044
+2017201525,2013301851
+2017201526,2013302026
+2017201527,2013302027
+2017201528,2017201528
+2017201529,2017201529
+2017201530,2013303508
+2017201531,2013301907
+2017201532,2013301913
+2017201533,2013301880
+2017201534,2017201534
+2017201535,2017201535
+2017201536,2017201536
+2017201537,2017201537
+2017201538,2017201538
+2017201539,2017201539
+2017201540,2013302048
+2017201541,2017201541
+2017201542,2017201542
+2017201543,2013301904
+2017201544,2017201544
+2017201545,2013300171
+2017201546,2013301897
+2017201547,2013301874
+2017201548,2013301834
+2017201549,2017201549
+2017201550,2017201550
+2017201551,2013302114
+2017201552,2013302113
+2017201553,2013302108
+2017201554,2013300088
+2017201555,2013302111
+2017201556,2017201556
+2017201557,2017201557
+2017201558,2017201558
+2017201559,2013301970
+2017201560,2017201560
+2017201561,2012301908
+2017201562,2013301985
+2017201563,2017201563
+2017201564,2012301942
+2017201565,2013301935
+2017201566,2013301835
+2017201567,2013301949
+2017201568,2013301984
+2017201569,2013301976
+2017201570,2013301972
+2017201571,2013301958
+2017201572,2013300165
+2017201573,2013301936
+2017201574,2013301982
+2017201575,2013301990
+2017201576,2013301940
+2017201577,2013301981
+2017201578,2013301951
+2017201579,2013301849
+2017201663,2017201663
+2017201664,2013302350
+2017201665,2017201665
+2017201666,2017201666
+2017201667,2017201667
+2017201668,2013302254
+2017201669,2013302225
+2017201670,2013302269
+2017201671,2013302273
+2017201672,2017201672
+2017201673,2013300591
+2017201674,2013301570
+2017201675,2017201675
+2017201676,2013302284
+2017201677,2013302256
+2017201678,2013302210
+2017201679,2013302240
+2017201680,2013302282
+2017201681,2013302270
+2017201682,2013302234
+2017201683,2017201683
+2017201684,2013302265
+2017201685,2013302219
+2017201686,2013302215
+2017201687,2013300186
+2017201688,2017201688
+2017201689,2017201689
+2017201690,2017201690
+2017201691,2017201691
+2017201692,2013302461
+2017201693,2013302236
+2017201694,2013300185
+2017201695,2013302226
+2017201696,2013300184
+2017201697,2013302453
+2017201698,2017201698
+2017201699,2017201699
+2017201700,2013302454
+2017201701,2013302458
+2017201702,2013302492
+2017201703,2017201703
+2017201704,2013302247
+2017201705,2013302629
+2017201706,2013302366
+2017201707,2017201707
+2017201708,2013302185
+2017201709,2012302077
+2017201710,2017201710
+2017201711,2013302304
+2017201712,2013302393
+2017201713,2017201713
+2017201714,2012302147
+2017201715,2017201715
+2017201716,2017201716
+2017201717,2012302207
+2017201718,2013302340
+2017201719,2013302369
+2017201720,2017201720
+2017201721,2013302339
+2017201722,2013302147
+2017201723,2013302343
+2017201724,2017201724
+2017201725,2017201725
+2017201726,2012302091
+2017201727,2013300726
+2017201728,2013300082
+2017201729,2013302402
+2017201730,2010300141
+2017201731,2017201731
+2017201732,2013302145
+2017201733,2013302734
+2017201734,2013302433
+2017201735,2017201735
+2017201736,2013302126
+2017201737,2013302127
+2017201738,2013302135
+2017201739,2017201739
+2017201740,2013302173
+2017201741,2020100070
+2017201742,2017201742
+2017201743,2013302125
+2017201744,2013302160
+2017201745,2017201745
+2017201746,2013302407
+2017201747,2013302169
+2017201748,2017201748
+2017201749,2013302296
+2017201750,2013302294
+2017201751,2013302347
+2017201752,2013302374
+2017201753,2013302414
+2017201754,2017201754
+2017201755,2013302179
+2017201756,2013302202
+2017201757,2013302193
+2017201758,2017201758
+2017201759,2017201759
+2017201760,2013300387
+2017201761,2017201761
+2017201762,2013302412
+2017201763,2017201763
+2017201764,2013302422
+2017201765,2013302426
+2017201766,2013302192
+2017201767,2013302164
+2017201768,2017201768
+2017201769,2013300619
+2017201770,2013302204
+2017201771,2013302128
+2017201772,2017201772
+2017201773,2013302174
+2017201774,2013302459
+2017201775,2013302360
+2017201776,2013302318
+2017201777,2013302171
+2017201778,2013302396
+2017201779,2017201779
+2017201780,2013302155
+2017201781,2017201781
+2017201782,2013300206
+2017201783,2013300187
+2017201784,2013302406
+2017201785,2017201785
+2017201786,2013302188
+2017201787,2013302317
+2017201788,2017201788
+2017201789,2017201789
+2017201790,2013302325
+2017201791,2017201791
+2017201792,2020100339
+2017201793,2013302418
+2017201794,2017201794
+2017201795,2012302134
+2017201796,2017201796
+2017201797,2013302351
+2017201798,2013302206
+2017201799,2013302190
+2017201800,2017201800
+2017201801,2017201801
+2017201802,2017201802
+2017201803,2017201803
+2017201804,2013301583
+2017201805,2013300191
+2017201806,2013302344
+2017201807,2017201807
+2017201808,2017201808
+2017201809,2017201809
+2017201810,2020100228
+2017201811,2017201811
+2017201812,2013300046
+2017201813,2013302417
+2017201814,2013302424
+2017201815,2017201815
+2017201816,2013302410
+2017201817,2013302281
+2017201818,2017201818
+2017201819,2017201819
+2017201820,2017201820
+2017201821,2013302438
+2017201822,2013302442
+2017201916,2017201916
+2017201917,2017201917
+2017201918,2017201918
+2017201919,2017201919
+2017201920,2017201920
+2017201921,2013302491
+2017201922,2017201922
+2017201923,2012302143
+2017201924,2013303528
+2017201925,2013303523
+2017201926,2017201926
+2017201927,2012303553
+2017201928,2013303510
+2017201929,2017201929
+2017201930,2013300834
+2017201931,2017201931
+2017201932,2013302658
+2017201933,2013302540
+2017201934,2017201934
+2017201935,2017201935
+2017201936,2013303505
+2017201937,2013303315
+2017201938,2013302515
+2017201939,2017201939
+2017201940,2011303073
+2017201941,2017201941
+2017201942,2013303307
+2017201943,2013302660
+2017201944,2017201944
+2017201945,2017201945
+2017201946,2013302647
+2017201947,2017201947
+2017201948,2017201948
+2017201949,2017201949
+2017201950,2017201950
+2017201951,2013302656
+2017201952,2017201952
+2017201953,2017201953
+2017201954,2017201954
+2017201955,2013302641
+2017201956,2017201956
+2017201957,2013302654
+2017201958,2013302651
+2017201959,2017201959
+2017201960,2017201960
+2017201961,2017201961
+2017201962,2013302537
+2017201963,2017201963
+2017201964,2013302493
+2017201965,2013300215
+2017201966,2017201966
+2017201967,2017201967
+2017201968,2013301698
+2017201969,2013303499
+2017201970,2017201970
+2017201971,2017201971
+2017201972,2017201972
+2017201973,2017201973
+2017201974,2013300262
+2017201975,2013302524
+2017201976,2013302574
+2017201977,2013302579
+2017201978,2013302650
+2017201979,2017201979
+2017201980,2013302499
+2017201981,2013301930
+2017201982,2013302653
+2017201983,2013303347
+2017201984,2017201984
+2017201985,2017201985
+2017201986,2013302575
+2017201987,2013302565
+2017201988,2017201988
+2017201989,2013302511
+2017201990,2017201990
+2017201991,2020100379
+2017201992,2017201992
+2017201993,2017201993
+2017201994,2017201994
+2017201995,2017201995
+2017201996,2017201996
+2017201997,2013300514
+2017201998,2013302543
+2017201999,2013302603
+2017202000,2013300209
+2017202001,2017202001
+2017202002,2013302466
+2017202003,2013302585
+2017202004,2013302642
+2017202005,2013302655
+2017202006,2013302435
+2017202007,2013302614
+2017202008,2017202008
+2017202009,2017202009
+2017202010,2013301174
+2017202011,2013302759
+2017202012,2017202012
+2017202013,2013303418
+2017202014,2013300969
+2017202015,2013302154
+2017202016,2013302505
+2017202017,2013300219
+2017202018,2013302506
+2017202019,2013302606
+2017202020,2013302727
+2017202021,2013300208
+2017202022,2013302628
+2017202023,2013302356
+2017202024,2013300224
+2017202025,2013300214
+2017202026,2013303294
+2017202027,2013302490
+2017202028,2012302552
+2017202029,2013301097
+2017202030,2013302477
+2017202031,2013302696
+2017202032,2017202032
+2017202033,2017202033
+2017202034,2017202034
+2017202035,2017202035
+2017202036,2017202036
+2017202037,2017202037
+2017202038,2013303448
+2017202039,2017202039
+2017202040,2017202040
+2017202041,2013302604
+2017202042,2017202042
+2017202043,2017202043
+2017202044,2017202044
+2017202045,2017202045
+2017202046,2017202046
+2017202132,2017202132
+2017202133,2017202133
+2017202134,2017202134
+2017202135,2017202135
+2017202136,2017202136
+2017202137,2013302746
+2017202138,2017202138
+2017202139,2017202139
+2017202140,2017202140
+2017202141,2017202141
+2017202142,2017202142
+2017202143,2013302739
+2017202144,2017202144
+2017202145,2017202145
+2017202146,2017202146
+2017202147,2017202147
+2017202148,2017202148
+2017202149,2017202149
+2017202150,2017202150
+2017202151,2013302743
+2017202152,2017202152
+2017202153,2017202153
+2017202154,2017202154
+2017202155,2013302713
+2017202156,2017202156
+2017202157,2017202157
+2017202158,2017202158
+2017202159,2017202159
+2017202160,2017202160
+2017202161,2017202161
+2017202162,2017202162
+2017202163,2017202163
+2017202164,2013302723
+2017202165,2017202165
+2017202166,2013302670
+2017202167,2017202167
+2017202168,2017202168
+2017202169,2017202169
+2017202170,2017202170
+2017202171,2017202171
+2017202172,2017202172
+2017202173,2017202173
+2017202174,2017202174
+2017202175,2017202175
+2017202176,2017202176
+2017202177,2013302712
+2017202178,2017202178
+2017202179,2017202179
+2017202180,2017202180
+2017202181,2017202181
+2017202182,2017202182
+2017202183,2017202183
+2017202184,2013302676
+2017202185,2013302674
+2017202186,2017202186
+2017202187,2017202187
+2017202188,2017202188
+2017202189,2013302811
+2017202190,2013302808
+2017202191,2017202191
+2017202192,2013302818
+2017202193,2017202193
+2017202194,2013302786
+2017202195,2013302803
+2017202196,2013302807
+2017202197,2013302847
+2017202198,2017202198
+2017202199,2013302860
+2017202200,2013302850
+2017202201,2013302876
+2017202202,2013302875
+2017202203,2013302879
+2017202204,2017202204
+2017202205,2017202205
+2017202206,2017202206
+2017202207,2017202207
+2017202208,2017202208
+2017202209,2013302893
+2017202210,2017202210
+2017202211,2017202211
+2017202212,2017202212
+2017202213,2017202213
+2017202214,2017202214
+2017202215,2013302935
+2017202216,2017202216
+2017202217,2017202217
+2017202218,2017202218
+2017202219,2017202219
+2017202220,2017202220
+2017202221,2013302920
+2017202222,2017202222
+2017202223,2013302949
+2017202224,2020100416
+2017202225,2017202225
+2017202226,2017202226
+2017202227,2017202227
+2017202228,2017202228
+2017202229,2013302888
+2017202230,2013302968
+2017202231,2017202231
+2017202232,2013302880
+2017202233,2013302867
+2017202234,2013302878
+2017202235,2013302870
+2017202236,2013302783
+2017202237,2013302849
+2017202238,2013302855
+2017202239,2017202239
+2017202240,2013302874
+2017202241,2013302877
+2017202242,2013302866
+2017202243,2017202243
+2017202244,2013302795
+2017202245,2017202245
+2017202246,2013302787
+2017202247,2012302806
+2017202248,2017202248
+2017202249,2013302792
+2017202250,2017202250
+2017202251,2017202251
+2017202252,2013302806
+2017202253,2012302783
+2017202254,2013302843
+2017202255,2013302831
+2017202256,2013302839
+2017202257,2013302857
+2017202258,2017202258
+2017202259,2017202259
+2017202260,2013302832
+2017202261,2017202261
+2017202262,2017202262
+2017202263,2017202263
+2017202264,2017202264
+2017202265,2017202265
+2017202266,2017202266
+2017202267,2017202267
+2017202268,2017202268
+2017202269,2012302925
+2017202270,2017202270
+2017202271,2017202271
+2017202272,2017202272
+2017202273,2017202273
+2017202274,2013302890
+2017202275,2013302947
+2017202276,2013302939
+2017202277,2013302937
+2017202278,2017202278
+2017202279,2017202279
+2017202280,2013302905
+2017202281,2013302917
+2017202282,2017202282
+2017202283,2013302940
+2017202284,2013302919
+2017202285,2017202285
+2017202286,2017202286
+2017202287,2013302892
+2017202288,2017202288
+2017202289,2017202289
+2017202290,2013302906
+2017202291,2017202291
+2017202292,2017202292
+2017202293,2017202293
+2017202294,2017202294
+2017202295,2017202295
+2017202296,2017202296
+2017202297,2017202297
+2017202298,2017202298
+2017202299,2013302889
+2017202300,2017202300
+2017202301,2013302972
+2017202302,2013302962
+2017202303,2017202303
+2017202392,2013302731
+2017202393,2013303077
+2017202394,2017202394
+2017202395,2013303045
+2017202396,2017202396
+2017202397,2017202397
+2017202398,2017202398
+2017202399,2017202399
+2017202400,2017202400
+2017202401,2013303084
+2017202402,2013303025
+2017202403,2013303044
+2017202404,2017202404
+2017202405,2017202405
+2017202406,2013303085
+2017202407,2017202407
+2017202408,2013303184
+2017202409,2017202409
+2017202410,2017202410
+2017202411,2017202411
+2017202412,2017202412
+2017202413,2017202413
+2017202414,2017202414
+2017202415,2013303070
+2017202416,2017202416
+2017202417,2017202417
+2017202418,2017202418
+2017202419,2017202419
+2017202420,2017202420
+2017202421,2017202421
+2017202422,2017202422
+2017202423,2013303047
+2017202424,2013303054
+2017202425,2017202425
+2017202426,2013303057
+2017202427,2017202427
+2017202428,2017202428
+2017202429,2017202429
+2017202430,2013303058
+2017202431,2017202431
+2017202432,2017202432
+2017202433,2013303002
+2017202434,2017202434
+2017202435,2013302982
+2017202436,2017202436
+2017202437,2017202437
+2017202438,2017202438
+2017202439,2017202439
+2017202440,2017202440
+2017202441,2017202441
+2017202442,2017202442
+2017202443,2017202443
+2017202444,2017202444
+2017202445,2017202445
+2017202446,2017202446
+2017202447,2013302981
+2017202448,2017202448
+2017202449,2017202449
+2017202450,2017202450
+2017202451,2013303013
+2017202452,2017202452
+2017202453,2017202453
+2017202454,2017202454
+2017202455,2012303080
+2017202456,2017202456
+2017202457,2017202457
+2017202458,2017202458
+2017202459,2017202459
+2017202460,2017202460
+2017202933,2017202933
+2017202934,2017202934
+2017202935,2013303166
+2017202936,2017202936
+2017202937,2017202937
+2017202938,2017202938
+2017202939,2017202939
+2017202940,2017202940
+2017202941,2017202941
+2017202942,2020100468
+2017202943,2017202943
+2017202944,2017202944
+2017202945,2013303197
+2017202946,2017202946
+2017202947,2017202947
+2017202948,2013303205
+2017202949,2017202949
+2017202950,2013303203
+2017202951,2017202951
+2017202952,2017202952
+2017202953,2017202953
+2017202954,2017202954
+2017202955,2017202955
+2017202956,2012303262
+2017202957,2017202957
+2017202958,2017202958
+2017202959,2013303276
+2017202960,2017202960
+2017202961,2013303273
+2017202962,063213
+2017202963,2017202963
+2017202964,2017202964
+2017202965,2017202965
+2017202966,2017202966
+2017202967,2017202967
+2017202968,2017202968
+2017202969,2017202969
+2017202970,2017202970
+2017202971,2017202971
+2017202972,2017202972
+2017202973,2017202973
+2017202974,2020100516
+2017202975,2017202975
+2017202976,2017202976
+2017202977,2017202977
+2017202978,2017202978
+2017202979,2017202979
+2017202980,2017202980
+2017202981,2017202981
+2017202982,2017202982
+2017202983,2017202983
+2017202984,2017202984
+2017202985,2017202985
+2017202986,2017202986
+2017202987,2017202987
+2017202988,2017202988
+2017202989,2017202989
+2017202990,2013303218
+2017202991,2012303139
+2017202992,2012303236
+2017202993,2017202993
+2017202994,2017202994
+2017202995,2017202995
+2017202996,2017202996
+2017203128,2017203128
+2017203129,2017203129
+2017203130,2011303554
+2017203131,2013303409
+2017203132,2013303486
+2017203133,2013303444
+2017203134,2013303417
+2017203272,2017203272
+2017203273,2017203273
+2017203274,2017203274
+2017203275,2017203275
+2017203276,2017203276
+2017203277,2017203277
+2017203278,2017203278
+2017203279,2020100492
+2017203280,2017203280
+2017203281,2017203281
+2017203282,2017203282
+2017203283,2020100504
+2017203284,2017203284
+2017203285,2017203285
+2017203286,2012303595
+2017203287,2020100500
+2017203288,2017203288
+2017203289,2012302639
+2017203290,2013303556
+2017203291,2013303572
+2017203292,2013303569
+2017203293,2020100493
+2017203294,2017203294
+2017203295,2017203295
+2017203296,2017203296
+2017203297,2017203297
+2017203298,2017203298
+2017203299,2017203299
+2017203300,2013303554
+2017203301,2013303559
+2017203302,2017203302
+2017203303,2013300110
+2017203304,2017203304
+2017203305,2013303561
+2017203306,2017203306
+2017203307,2009302931
+2017203308,2017203308
+2017203309,2017203309
+2017203310,2013303575
+2017203311,2017203311
+2017203334,2013303100
+2017203335,2017203335
+2017203336,2017203336
+2017203337,2017203337
+2017203338,2013303109
+2017203339,2017203339
+2017203340,2017203340
+2017203341,2017203341
+2017203342,2017203342
+2017203343,2017203343
+2017203344,2017203344
+2017203345,2012303128
+2017203346,2013303151
+2017203347,2013303133
+2017203348,2013303103
+2017203375,2013301100
+2017203376,2013301239
+2017203377,2013301324
+2017203378,2013303189
+2017203401,2012300409
+2017203402,2010301237
+2017240001,2017240001
+2017240002,2012302153
+2017240003,2017240003
+2017240004,2017240004
+2017240005,2017240005
+2017240006,2017240006
+2017240007,2017240007
+2017240008,2017240008
+2017240009,2017240009
+2017240010,2017240010
+2017240011,2017240011
+2017240012,2017240012
+2017240013,2008301234
+2017240014,2017240014
+2017240015,2017240015
+2017240016,2017240016
+2017240017,2017240017
+2017240018,2017240018
+2017240019,2017240019
+2017240020,2017240020
+2017240021,2017240021
+2017240022,2017240022
+2017240023,2017240023
+2017240024,2017240024
+2017240025,2017240025
+2017240026,2017240026
+2017240027,2017240027
+2017240028,2017240028
+2017240029,2017240029
+2017240030,2017240030
+2017240031,2017240031
+2017240032,2017240032
+2017240033,2017240033
+2017240034,2017240034
+2017240035,2017240035
+2017240036,2017240036
+2017240037,2017240037
+2017240038,2017240038
+2017240039,2017240039
+2017240040,2017240040
+2017240041,2017240041
+2017240042,2017240042
+2017240043,2017240043
+2017240044,2017240044
+2017240045,2017240045
+2017240046,2017240046
+2017240047,2017240047
+2017240048,2017240048
+2017240049,2017240049
+2017240050,2017240050
+2017240051,2017240051
+2017240052,2017240052
+2017240053,2017240053
+2017240054,2017240054
+2017240055,2017240055
+2017240056,2017240056
+2017240057,2017240057
+2017240058,2017240058
+2017240059,2017240059
+2017240060,2017240060
+2017240061,2017240061
+2017240062,2017240062
+2017240063,2017240063
+2017250001,2017250001
+2017250002,2017250002
+2017250003,2017250003
+2017250004,2017250004
+2017250005,2017250005
+2017250006,2017250006
+2017250007,2017250007
+2017250008,2017250008
+2017250009,2017250009
+2017250010,2017250010
+2017250011,2017250011
+2017250012,2017250012
+2017250013,2017250013
+2017250014,2017250014
+2017250015,2017250015
+2017250016,2013300542
+2017250017,2017250017
+2017250018,2017250018
+2017250019,2017250019
+2017250020,2017250020
+2017250021,2017250021
+2017250022,2017250022
+2017250023,2013300596
+2017250024,2013300581
+2017250025,2017250025
+2017250026,2017250026
+2017250027,2017250027
+2017250028,2017250028
+2017250029,2013301069
+2017250030,2013302925
+2017250031,2017250031
+2017250032,2017250032
+2017250033,2017250033
+2017250034,2017250034
+2017250035,2017250035
+2017250036,2017250036
+2017250037,2013300953
+2017250038,2017250038
+2017250039,2017250039
+2017250040,2013300043
+2017250041,2017250041
+2017250042,2017250042
+2017250043,2013300653
+2017250044,2017250044
+2017250045,2017250045
+2017250046,2017250046
+2017250047,2017250047
+2017250048,2017250048
+2017250049,2017250049
+2017250050,2017250050
+2017250051,2017250051
+2017250052,2017250052
+2017250053,2017250053
+2017250054,2017250054
+2017250055,2017250055
+2017250056,2017250056
+2017250057,2011300492
+2017250058,2017250058
+2017250059,2017250059
+2017250060,2017250060
+2017250061,2013300261
+2017250062,2017250062
+2017250063,2017250063
+2017250064,2017250064
+2017250065,2017250065
+2017250066,2017250066
+2017250067,2017250067
+2017250068,2017250068
+2017250069,2017250069
+2017250070,2017250070
+2017250071,2017250071
+2017250072,2017250072
+2017250073,2017250073
+2017250074,2017250074
+2017250075,2017250075
+2017250076,2017250076
+2017250077,2017250077
+2017250078,2017250078
+2017250079,2017250079
+2017250080,2017250080
+2017250081,2017250081
+2017250082,2017250082
+2017250083,2017250083
+2017250084,2017250084
+2017250085,2017250085
+2017250086,2017250086
+2017250087,2017250087
+2017250088,2017250088
+2017250089,2017250089
+2017250090,2017250090
+2017250091,2017250091
+2017250092,2017250092
+2017250093,2017250093
+2017250094,2017250094
+2017250095,2017250095
+2017250096,2012300248
+2017250097,2017250097
+2017250098,2012301710
+2017250099,2017250099
+2017250100,2017250100
+2017250101,2017250101
+2017250102,2017250102
+2017250103,2017250103
+2017250104,2017250104
+2017250105,2008300689
+2017250106,2017250106
+2017250107,2013300221
+2017250108,2017250108
+2017250109,2017250109
+2017250110,2012300541
+2017250111,2017250111
+2017250112,2017250112
+2017250113,2017250113
+2017250114,2017250114
+2017250115,2017250115
+2017250116,2013301916
+2017250117,2017250117
+2017250118,2017250118
+2017250119,2017250119
+2017250120,2017250120
+2017250121,2013301740
+2017250122,2012301731
+2017250123,2017250123
+2017250124,2013301430
+2017250125,2013302201
+2017250126,2017250126
+2017250127,2013301261
+2017250128,2017250128
+2017250129,2017250129
+2017250130,2017250130
+2017250131,2017250131
+2017250132,2017250132
+2017250133,2017250133
+2017250134,2017250134
+2017250135,2017250135
+2017250136,2017250136
+2017250137,2017250137
+2017250138,2013301881
+2017250139,2017250139
+2017250140,2017250140
+2017250141,2017250141
+2017250142,2017250142
+2017250143,2017250143
+2017250144,2017250144
+2017250145,2017250145
+2017250146,2017250146
+2017250147,2017250147
+2017250148,2017250148
+2017250149,2017250149
+2017250150,2017250150
+2017250151,2017250151
+2017250152,2013302542
+2017250153,2017250153
+2017250154,2017250154
+2017250155,2017250155
+2017260147,2013300727
+2017260148,2013300416
+2017260149,2013300367
+2017260150,2013300476
+2017260151,2017260151
+2017260152,2017260152
+2017260153,2017260153
+2017260154,2013300344
+2017260155,2020100017
+2017260156,2017260156
+2017260157,2013300277
+2017260158,2017260158
+2017260159,2013300248
+2017260160,2012302384
+2017260161,2013300499
+2017260162,2017260162
+2017260163,2013300501
+2017260164,2017260164
+2017260165,2013300398
+2017260166,2017260166
+2017260167,2017260167
+2017260168,2017260168
+2017260169,2013300399
+2017260170,2013300485
+2017260171,2013300378
+2017260172,2017260172
+2017260173,2013300329
+2017260174,2017260174
+2017260175,2017260175
+2017260176,2017260176
+2017260177,2017260177
+2017260178,2013300404
+2017260179,2017260179
+2017260180,2013300505
+2017260181,2013300474
+2017260182,2017260182
+2017260183,2017260183
+2017260184,2013300397
+2017260185,2017260185
+2017260186,2017260186
+2017260187,2017260187
+2017260188,2013300280
+2017260189,2013300240
+2017260190,2017260190
+2017260191,2017260191
+2017260192,2017260192
+2017260193,2013302978
+2017260194,2017260194
+2017260195,2017260195
+2017260196,2012300271
+2017260197,2017260197
+2017260198,2013300368
+2017260199,2017260199
+2017260200,2017260200
+2017260201,2012302031
+2017260202,2017260202
+2017260203,2017260203
+2017260204,2017260204
+2017260205,2017260205
+2017260206,2013300403
+2017260207,2013300347
+2017260208,2011300249
+2017260209,2013300394
+2017260210,2013300297
+2017260211,2012300322
+2017260212,2013300019
+2017260213,2017260213
+2017260214,2017260214
+2017260215,2017260215
+2017260216,2017260216
+2017260217,2017260217
+2017260218,2013300418
+2017260219,2013300257
+2017260220,2017260220
+2017260221,2017260221
+2017260222,2017260222
+2017260223,2017260223
+2017260224,2013300465
+2017260225,2013300373
+2017260226,2013300361
+2017260227,2013300388
+2017260228,2012300177
+2017260229,2008300206
+2017260230,2017260230
+2017260231,2013300008
+2017260232,2017260232
+2017260233,2013300078
+2017260234,2017260234
+2017260235,2013300464
+2017260236,2013300374
+2017260237,2013300376
+2017260238,2013300402
+2017260239,2017260239
+2017260240,2017260240
+2017260241,2017260241
+2017260242,2017260242
+2017260243,2017260243
+2017260244,2017260244
+2017260245,2017260245
+2017260246,2017260246
+2017260247,2017260247
+2017260248,2017260248
+2017260249,2017260249
+2017260250,2017260250
+2017260251,060867
+2017260252,2017260252
+2017260253,2017260253
+2017260254,2017260254
+2017260255,2017260255
+2017260256,2017260256
+2017260257,2012302761
+2017260258,2009301252
+2017260259,2017260259
+2017260260,2017260260
+2017260261,2017260261
+2017260262,2017260262
+2017260352,2017260352
+2017260353,2017260353
+2017260354,2017260354
+2017260355,2013300604
+2017260356,2013300629
+2017260357,2017260357
+2017260358,2017260358
+2017260359,2013300045
+2017260360,2017260360
+2017260361,2017260361
+2017260362,2017260362
+2017260363,2017260363
+2017260364,2017260364
+2017260365,2013300686
+2017260366,2013300698
+2017260367,2017260367
+2017260368,2013300030
+2017260369,2013300689
+2017260370,2013300693
+2017260371,2013300600
+2017260372,2013300613
+2017260373,2017260373
+2017260374,2017260374
+2017260375,2017260375
+2017260376,2017260376
+2017260377,2017260377
+2017260378,2013300229
+2017260379,2017260379
+2017260380,2017260380
+2017260381,2017260381
+2017260382,2017260382
+2017260383,2017260383
+2017260384,2017260384
+2017260385,2011301956
+2017260386,2013300646
+2017260387,2013300601
+2017260388,2012300204
+2017260389,2013300675
+2017260390,2009300157
+2017260391,2017260391
+2017260392,2020100079
+2017260393,2013300554
+2017260394,2017260394
+2017260395,2013300712
+2017260396,2017260396
+2017260397,2013300594
+2017260398,2013300679
+2017260399,2013300627
+2017260400,2017260400
+2017260401,2017260401
+2017260402,2017260402
+2017260403,2013300590
+2017260404,2013300589
+2017260405,2017260405
+2017260406,2013302561
+2017260407,2011300401
+2017260408,2013300034
+2017260409,2012300472
+2017260410,2013301516
+2017260411,2017260411
+2017260412,2017260412
+2017260413,2017260413
+2017260414,2017260414
+2017260415,2017260415
+2017260416,2017260416
+2017260417,2017260417
+2017260418,2017260418
+2017260419,2017260419
+2017260529,2017260529
+2017260530,2013300792
+2017260531,2017260531
+2017260532,2013300818
+2017260533,2017260533
+2017260534,2017260534
+2017260535,2017260535
+2017260536,2017260536
+2017260537,2017260537
+2017260538,2017260538
+2017260539,2017260539
+2017260540,2017260540
+2017260541,2017260541
+2017260542,2017260542
+2017260543,2017260543
+2017260544,2012300711
+2017260545,2017260545
+2017260546,2017260546
+2017260547,2017260547
+2017260548,2017260548
+2017260549,2017260549
+2017260550,2017260550
+2017260551,2013300905
+2017260552,2017260552
+2017260553,2017260553
+2017260554,2017260554
+2017260555,2017260555
+2017260556,2017260556
+2017260557,2017260557
+2017260558,2017260558
+2017260559,2017260559
+2017260560,2017260560
+2017260561,2017260561
+2017260562,2013300746
+2017260563,2017260563
+2017260564,2017260564
+2017260565,2017260565
+2017260566,2017260566
+2017260567,2017260567
+2017260568,2017260568
+2017260569,2013300737
+2017260570,2017260570
+2017260571,2013300858
+2017260572,2020100105
+2017260573,2017260573
+2017260574,2013300873
+2017260575,2017260575
+2017260576,2017260576
+2017260577,2017260577
+2017260578,2017260578
+2017260579,2017260579
+2017260580,2013300725
+2017260581,2017260581
+2017260582,2017260582
+2017260583,2013300717
+2017260584,2012300620
+2017260585,2013300715
+2017260586,2011300602
+2017260587,2020100111
+2017260588,2011300107
+2017260589,2017260589
+2017260590,2017260590
+2017260591,2012300800
+2017260592,2013300830
+2017260593,2017260593
+2017260594,2017260594
+2017260595,2017260595
+2017260596,2017260596
+2017260597,2017260597
+2017260598,2017260598
+2017260599,2017260599
+2017260600,2017260600
+2017260601,2017260601
+2017260602,2017260602
+2017260603,2017260603
+2017260604,2012300728
+2017260605,2011300710
+2017260606,2017260606
+2017260607,2017260607
+2017260608,2013300909
+2017260609,2017260609
+2017260610,2017260610
+2017260611,2017260611
+2017260612,2017260612
+2017260613,2017260613
+2017260614,2013300900
+2017260615,2013300884
+2017260616,2013300889
+2017260791,2020100184
+2017260792,2013300973
+2017260793,2017260793
+2017260794,2020100183
+2017260795,2017260795
+2017260796,2013300936
+2017260797,2017260797
+2017260798,2017260798
+2017260799,2017260799
+2017260800,2017260800
+2017260801,2017260801
+2017260802,2017260802
+2017260803,2017260803
+2017260804,2017260804
+2017260805,2017260805
+2017260806,2017260806
+2017260807,2017260807
+2017260808,2017260808
+2017260809,2017260809
+2017260810,2017260810
+2017260811,2013301119
+2017260812,2013300946
+2017260813,2013300944
+2017260814,2017260814
+2017260815,2017260815
+2017260816,2017260816
+2017260817,2017260817
+2017260818,2017260818
+2017260819,2017260819
+2017260820,2013300935
+2017260821,2017260821
+2017260822,2017260822
+2017260823,2017260823
+2017260824,2017260824
+2017260825,2017260825
+2017260826,2017260826
+2017260827,2013301079
+2017260828,2017260828
+2017260829,2017260829
+2017260830,2017260830
+2017260831,2017260831
+2017260832,2017260832
+2017260833,2017260833
+2017260834,2017260834
+2017260835,2017260835
+2017260836,2017260836
+2017260837,2017260837
+2017260838,2017260838
+2017260839,2017260839
+2017260840,2017260840
+2017260841,2017260841
+2017260842,2013301107
+2017260843,2017260843
+2017260844,2017260844
+2017260845,2020100185
+2017260846,2017260846
+2017260847,2017260847
+2017260848,2017260848
+2017260849,2017260849
+2017260850,2017260850
+2017260851,2017260851
+2017260852,2013300941
+2017260853,2013300972
+2017260854,2017260854
+2017260855,2020100437
+2017260856,2017260856
+2017260857,2017260857
+2017260858,2017260858
+2017260859,2017260859
+2017260860,2013301050
+2017260861,2017260861
+2017260862,2017260862
+2017260863,2013301040
+2017260864,2017260864
+2017260865,2013300958
+2017260866,2013301099
+2017260867,2017260867
+2017260868,2017260868
+2017260869,2017260869
+2017260870,2017260870
+2017260871,2017260871
+2017260872,2017260872
+2017260873,2017260873
+2017260874,2017260874
+2017260875,2013300992
+2017260876,2013301078
+2017260877,2011302680
+2017260878,2017260878
+2017260879,2017260879
+2017260880,2017260880
+2017260881,2017260881
+2017260882,2017260882
+2017260883,2013301062
+2017260884,2017260884
+2017260885,2017260885
+2017260886,2017260886
+2017260887,2017260887
+2017260888,2013301133
+2017260889,2017260889
+2017260890,2013301103
+2017260891,2020100131
+2017260892,2017260892
+2017260893,2017260893
+2017260894,2017260894
+2017260895,2017260895
+2017260896,2017260896
+2017260897,2017260897
+2017260898,2017260898
+2017260899,2017260899
+2017260900,2017260900
+2017260901,2013301063
+2017260902,2017260902
+2017260903,2017260903
+2017260904,2017260904
+2017260905,2017260905
+2017260906,2017260906
+2017260907,2017260907
+2017260908,2017260908
+2017260909,2017260909
+2017260910,2013301101
+2017260911,2017260911
+2017260912,2017260912
+2017260913,2017260913
+2017260914,2017260914
+2017260915,2017260915
+2017260916,2017260916
+2017261085,2017261085
+2017261086,2020100210
+2017261087,2017261087
+2017261088,2017261088
+2017261089,2017261089
+2017261090,2017261090
+2017261091,2017261091
+2017261092,2017261092
+2017261093,2017261093
+2017261094,2017261094
+2017261095,2010301501
+2017261096,2017261096
+2017261097,2013300764
+2017261098,2017261098
+2017261099,2017261099
+2017261100,2017261100
+2017261101,2017261101
+2017261102,2017261102
+2017261103,2017261103
+2017261104,2017261104
+2017261105,2017261105
+2017261106,2017261106
+2017261107,2017261107
+2017261108,2017261108
+2017261109,2017261109
+2017261110,2017261110
+2017261111,2017261111
+2017261112,2017261112
+2017261113,2020100206
+2017261114,2017261114
+2017261115,2017261115
+2017261116,2017261116
+2017261117,2017261117
+2017261118,2017261118
+2017261119,2017261119
+2017261120,2017261120
+2017261121,2017261121
+2017261122,2017261122
+2017261123,2017261123
+2017261124,2017261124
+2017261125,2017261125
+2017261126,2017261126
+2017261127,2017261127
+2017261128,2017261128
+2017261129,2013301253
+2017261130,2017261130
+2017261131,2017261131
+2017261132,2017261132
+2017261133,2017261133
+2017261134,2013301387
+2017261135,2017261135
+2017261136,2017261136
+2017261137,2020100215
+2017261138,2013301251
+2017261139,2017261139
+2017261140,2017261140
+2017261141,2017261141
+2017261142,2017261142
+2017261143,2017261143
+2017261144,2017261144
+2017261145,2017261145
+2017261146,2013301272
+2017261147,2017261147
+2017261148,2017261148
+2017261149,2017261149
+2017261150,2017261150
+2017261151,2017261151
+2017261152,2017070045
+2017261153,2017261153
+2017261154,2017261154
+2017261155,2017261155
+2017261156,2017261156
+2017261157,2017261157
+2017261158,2017261158
+2017261159,2017261159
+2017261160,2013301248
+2017261161,2017261161
+2017261162,2017261162
+2017261163,2017261163
+2017261164,2017261164
+2017261165,2017261165
+2017261166,2017261166
+2017261167,2017261167
+2017261168,2017261168
+2017261169,2017261169
+2017261170,2017261170
+2017261171,2017261171
+2017261172,2017261172
+2017261173,2017261173
+2017261174,2017261174
+2017261175,2017261175
+2017261176,2017261176
+2017261177,2017261177
+2017261178,2017261178
+2017261179,2017261179
+2017261180,2017261180
+2017261181,2017261181
+2017261182,2013301355
+2017261183,2017261183
+2017261184,2017261184
+2017261185,2017261185
+2017261186,2017261186
+2017261187,2013301463
+2017261188,2017261188
+2017261189,2017261189
+2017261190,2017261190
+2017261191,2017261191
+2017261253,2017261253
+2017261254,2017261254
+2017261255,2017261255
+2017261256,2017261256
+2017261257,20140P0318
+2017261258,2017261258
+2017261259,2017261259
+2017261260,061430
+2017261261,2017261261
+2017261262,2017261262
+2017261263,2017261263
+2017261264,2017261264
+2017261265,2017261265
+2017261266,2017261266
+2017261267,2013301519
+2017261268,2017261268
+2017261269,2017261269
+2017261270,2017261270
+2017261271,2010301186
+2017261272,2017261272
+2017261273,2017261273
+2017261274,2017261274
+2017261275,2017261275
+2017261276,2017261276
+2017261277,2017261277
+2017261278,2011301441
+2017261279,2017261279
+2017261280,2017261280
+2017261281,2017261281
+2017261282,2017261282
+2017261283,2017261283
+2017261284,2017261284
+2017261285,2017261285
+2017261286,2013301525
+2017261287,2017261287
+2017261288,2017261288
+2017261289,2013301527
+2017261290,2017261290
+2017261291,2017261291
+2017261292,2017261292
+2017261293,2013300437
+2017261294,2017261294
+2017261382,2017261382
+2017261383,2013301745
+2017261384,2017261384
+2017261385,2017261385
+2017261386,2017261386
+2017261387,2017261387
+2017261388,2017261388
+2017261389,2013301653
+2017261390,2017261390
+2017261391,2017261391
+2017261392,2017261392
+2017261393,2017261393
+2017261394,2017261394
+2017261395,2013301754
+2017261396,2013301641
+2017261397,2017261397
+2017261398,2017261398
+2017261399,2017261399
+2017261400,2017261400
+2017261401,2017261401
+2017261402,2017261402
+2017261403,2013300134
+2017261404,2017261404
+2017261405,2017261405
+2017261406,2017261406
+2017261407,2013301672
+2017261408,2017261408
+2017261409,2010301746
+2017261410,2013301810
+2017261411,2017261411
+2017261412,2013300676
+2017261413,2013301830
+2017261414,2017261414
+2017261415,2017261415
+2017261416,2013300163
+2017261417,2017261417
+2017261418,2013300146
+2017261419,2017261419
+2017261420,2013301735
+2017261421,2017261421
+2017261422,2013301695
+2017261423,2017261423
+2017261424,2013301799
+2017261425,2017261425
+2017261426,2013301765
+2017261427,2017261427
+2017261428,2013301655
+2017261429,2017261429
+2017261430,2013300652
+2017261431,2013300147
+2017261432,2013301708
+2017261433,2013301705
+2017261434,2013301743
+2017261435,2013301737
+2017261436,2017261436
+2017261437,2013301660
+2017261438,2017261438
+2017261439,2013301638
+2017261440,2017261440
+2017261441,2017261441
+2017261442,2017261442
+2017261443,2017261443
+2017261444,2017261444
+2017261445,2017261445
+2017261446,2013301676
+2017261447,2013301778
+2017261448,2017261448
+2017261580,2017261580
+2017261581,2013301812
+2017261582,2017261582
+2017261583,2017261583
+2017261584,2017261584
+2017261585,2013301873
+2017261586,2012301763
+2017261587,2013301857
+2017261588,2013301837
+2017261589,2017261589
+2017261590,2013301889
+2017261591,2017261591
+2017261592,2017261592
+2017261593,2017261593
+2017261594,2013301993
+2017261595,2013302039
+2017261596,2017261596
+2017261597,2013302013
+2017261598,2017261598
+2017261599,2017261599
+2017261600,2013301899
+2017261601,2013301994
+2017261602,2017261602
+2017261603,2017261603
+2017261604,2017261604
+2017261605,2017261605
+2017261606,2017261606
+2017261607,2012302010
+2017261608,2017261608
+2017261609,2017261609
+2017261610,2017261610
+2017261611,2017261611
+2017261612,2017261612
+2017261613,2017261613
+2017261614,2017261614
+2017261615,2012301777
+2017261616,2017261616
+2017261617,2017261617
+2017261618,2020100292
+2017261619,2013301863
+2017261620,2017261620
+2017261621,2017261621
+2017261622,2013301864
+2017261623,2017261623
+2017261624,2017261624
+2017261625,2017261625
+2017261626,2013301848
+2017261627,2017261627
+2017261628,2013302034
+2017261629,2017261629
+2017261630,2017261630
+2017261631,2017261631
+2017261632,2013300179
+2017261633,2017261633
+2017261634,2017261634
+2017261635,2017261635
+2017261636,2012301984
+2017261637,2017261637
+2017261638,2017261638
+2017261639,2013302079
+2017261640,2017261640
+2017261641,2017261641
+2017261642,2017261642
+2017261643,2017261643
+2017261644,2017261644
+2017261645,2017261645
+2017261646,2012301930
+2017261647,2017261647
+2017261648,2013301991
+2017261649,2013301963
+2017261650,2013301944
+2017261651,2013301942
+2017261652,2013301952
+2017261653,2013301988
+2017261654,2013301964
+2017261655,2013301954
+2017261656,2017261656
+2017261657,2017261657
+2017261658,2017261658
+2017261659,2017261659
+2017261660,2013301950
+2017261661,2013301962
+2017261662,2013301983
+2017261823,2013300202
+2017261824,2017261824
+2017261825,2017261825
+2017261826,2017261826
+2017261827,2017261827
+2017261828,2017261828
+2017261829,2011301919
+2017261830,2013302161
+2017261831,2013302140
+2017261832,2017261832
+2017261833,2017261833
+2017261834,2017261834
+2017261835,2017261835
+2017261836,2017261836
+2017261837,2012302230
+2017261838,2012302683
+2017261839,2017261839
+2017261840,2012302202
+2017261841,2013302717
+2017261842,2017261842
+2017261843,2017261843
+2017261844,2013302264
+2017261845,2012302418
+2017261846,2012302235
+2017261847,2013302239
+2017261848,2017261848
+2017261849,2013302227
+2017261850,2017261850
+2017261851,2017261851
+2017261852,2017261852
+2017261853,2013302274
+2017261854,2012302208
+2017261855,2013302276
+2017261856,2013302217
+2017261857,2017261857
+2017261858,2013302222
+2017261859,2017261859
+2017261860,2017261860
+2017261861,2017261861
+2017261862,2017261862
+2017261863,2017261863
+2017261864,2017261864
+2017261865,2017261865
+2017261866,2012302092
+2017261867,2011302677
+2017261868,2017261868
+2017261869,2013301547
+2017261870,2017261870
+2017261871,2013302367
+2017261872,2017261872
+2017261873,2017261873
+2017261874,2013302311
+2017261875,2013300193
+2017261876,2013302399
+2017261877,2017261877
+2017261878,2013302359
+2017261879,2017261879
+2017261880,2017261880
+2017261881,2013302197
+2017261882,2017261882
+2017261883,2017261883
+2017261884,2017261884
+2017261885,2013302200
+2017261886,2017261886
+2017261887,2017261887
+2017261888,2017261888
+2017261889,2013302187
+2017261890,2017261890
+2017261891,2017261891
+2017261892,2013302180
+2017261893,2017261893
+2017261894,2017261894
+2017261895,2017261895
+2017261896,2017261896
+2017261897,2017261897
+2017261898,2012300237
+2017261899,2013302358
+2017261900,2017261900
+2017261901,2017261901
+2017261902,2017261902
+2017261903,2017261903
+2017261904,2017261904
+2017261905,2017261905
+2017261906,2017261906
+2017261907,2013302246
+2017261908,2017261908
+2017261909,2013302423
+2017261910,2017261910
+2017261911,2017261911
+2017261912,2013300059
+2017261913,2013302268
+2017261914,2017261914
+2017261915,2017261915
+2017262047,2017262047
+2017262048,2013302597
+2017262049,2017262049
+2017262050,2017262050
+2017262051,2017262051
+2017262052,2013302482
+2017262053,2017262053
+2017262054,2017262054
+2017262055,2017262055
+2017262056,2017262056
+2017262057,2020100301
+2017262058,2017262058
+2017262059,2017262059
+2017262060,2017262060
+2017262061,2017262061
+2017262062,2017262062
+2017262063,2017262063
+2017262064,2012303292
+2017262065,2017262065
+2017262066,2017262066
+2017262067,2017262067
+2017262068,2013302468
+2017262069,2017262069
+2017262070,2017262070
+2017262071,2013302599
+2017262072,2017262072
+2017262073,2017262073
+2017262074,2017262074
+2017262075,2017262075
+2017262076,2017262076
+2017262077,2012302890
+2017262078,2013303297
+2017262079,2020100373
+2017262080,2017262080
+2017262081,2013303289
+2017262082,2017262082
+2017262083,2017262083
+2017262084,2017262084
+2017262085,2017262085
+2017262086,2017262086
+2017262087,2017262087
+2017262088,2017262088
+2017262089,2013302488
+2017262090,2017262090
+2017262091,2017262091
+2017262092,2017262092
+2017262093,2011302470
+2017262094,2017262094
+2017262095,2017262095
+2017262096,2017262096
+2017262097,2017262097
+2017262098,2017262098
+2017262099,2017262099
+2017262100,2017262100
+2017262101,2017262101
+2017262102,2013303372
+2017262103,2017262103
+2017262104,2017262104
+2017262105,2017262105
+2017262106,2013302611
+2017262107,2012303469
+2017262108,2013303540
+2017262109,2017262109
+2017262110,2017262110
+2017262111,2017262111
+2017262112,2017262112
+2017262113,2013303301
+2017262114,2017262114
+2017262115,2017262115
+2017262116,2012300072
+2017262117,2017262117
+2017262118,2017262118
+2017262119,2017262119
+2017262120,2013302646
+2017262121,2017262121
+2017262122,2017262122
+2017262123,2017262123
+2017262124,2017262124
+2017262125,2017262125
+2017262126,2017262126
+2017262127,2017262127
+2017262128,2017262128
+2017262129,2017262129
+2017262130,2017262130
+2017262131,2017262131
+2017262304,2017262304
+2017262305,2017262305
+2017262306,2017262306
+2017262307,2017262307
+2017262308,2017262308
+2017262309,2013302793
+2017262310,2012302760
+2017262311,2013302785
+2017262312,2017262312
+2017262313,2017262313
+2017262314,2017262314
+2017262315,2017262315
+2017262316,2017262316
+2017262317,2011302845
+2017262318,2017262318
+2017262319,2017262319
+2017262320,2012302769
+2017262321,2017262321
+2017262322,2017262322
+2017262323,2017262323
+2017262324,2017262324
+2017262325,2013302801
+2017262326,2017262326
+2017262327,2017262327
+2017262328,2017262328
+2017262329,2017262329
+2017262330,2017262330
+2017262331,2013302836
+2017262332,2017262332
+2017262333,2017262333
+2017262334,2017262334
+2017262335,2017262335
+2017262336,2012200257
+2017262337,2017262337
+2017262338,2017262338
+2017262339,2017262339
+2017262340,2017262340
+2017262341,2017262341
+2017262342,2013302895
+2017262343,2017262343
+2017262344,2012302910
+2017262345,2017262345
+2017262346,2013302894
+2017262347,2013302887
+2017262348,2013302904
+2017262349,2013302907
+2017262350,2013302900
+2017262351,2012302927
+2017262352,2017262352
+2017262353,2013302933
+2017262354,2012302870
+2017262355,2017262355
+2017262356,2017262356
+2017262357,2017262357
+2017262358,2017262358
+2017262359,2017262359
+2017262360,2017262360
+2017262361,2017262361
+2017262362,2017262362
+2017262363,2017262363
+2017262364,2017262364
+2017262365,2017262365
+2017262366,2017262366
+2017262367,2017262367
+2017262368,2017262368
+2017262369,2017262369
+2017262370,2013303087
+2017262371,2017262371
+2017262372,2017262372
+2017262373,2017262373
+2017262374,2017262374
+2017262375,2017262375
+2017262376,2017262376
+2017262377,2017262377
+2017262378,2017262378
+2017262379,2017262379
+2017262380,2017262380
+2017262381,2017262381
+2017262382,2017262382
+2017262383,2017262383
+2017262384,2017262384
+2017262385,2017262385
+2017262386,2017262386
+2017262387,2013303074
+2017262388,2017262388
+2017262389,2017262389
+2017262390,2017262390
+2017262391,2017262391
+2017262461,2017262461
+2017262462,2013240168
+2017262463,2017262463
+2017262464,2017262464
+2017262465,2017262465
+2017262466,2017262466
+2017262467,2017262467
+2017262468,2017262468
+2017262469,2013240195
+2017262470,2017262470
+2017262471,2017262471
+2017262472,2017262472
+2017262473,2017262473
+2017262474,2017262474
+2017262475,2017262475
+2017262476,2017262476
+2017262477,2017262477
+2017262478,2017262478
+2017262479,2017262479
+2017262480,2017262480
+2017262481,2017262481
+2017262482,2017262482
+2017262483,2017262483
+2017262484,2017262484
+2017262485,2017262485
+2017262486,2017262486
+2017262487,2017262487
+2017262488,2017262488
+2017262489,2017262489
+2017262490,2017262490
+2017262491,2017262491
+2017262492,2017262492
+2017262493,2017262493
+2017262494,2017262494
+2017262495,2017262495
+2017262496,2017262496
+2017262497,2017262497
+2017262498,2017262498
+2017262499,2017262499
+2017262500,2017262500
+2017262501,2017262501
+2017262502,2017262502
+2017262503,2017262503
+2017262504,2017262504
+2017262505,2017262505
+2017262506,2017262506
+2017262507,2017262507
+2017262508,2017262508
+2017262509,2017262509
+2017262510,2017262510
+2017262511,2017262511
+2017262512,2017262512
+2017262513,2017262513
+2017262514,2017262514
+2017262515,2017262515
+2017262516,2017262516
+2017262517,2017262517
+2017262518,2017262518
+2017262519,2017262519
+2017262520,2017262520
+2017262521,2017262521
+2017262522,2017262522
+2017262523,2017262523
+2017262524,2017262524
+2017262525,2017262525
+2017262526,2017262526
+2017262527,2017262527
+2017262528,2017262528
+2017262529,2017262529
+2017262530,2017262530
+2017262531,2017262531
+2017262532,2017262532
+2017262533,2017262533
+2017262534,2017262534
+2017262535,2017262535
+2017262536,2017262536
+2017262537,2017262537
+2017262538,2017262538
+2017262539,2017262539
+2017262540,2017262540
+2017262541,2017262541
+2017262542,2017262542
+2017262543,2017262543
+2017262544,2017262544
+2017262545,2017262545
+2017262546,2017262546
+2017262547,2017262547
+2017262548,2017262548
+2017262549,2017262549
+2017262550,2017262550
+2017262551,2017262551
+2017262552,2017262552
+2017262553,2017262553
+2017262554,2017262554
+2017262555,2017262555
+2017262556,2017262556
+2017262557,2017262557
+2017262558,2017262558
+2017262559,2017262559
+2017262560,2017262560
+2017262561,2017262561
+2017262562,2017262562
+2017262563,2017262563
+2017262564,2017262564
+2017262565,2017262565
+2017262566,2017262566
+2017262567,2017262567
+2017262568,2017262568
+2017262569,2017262569
+2017262570,2017262570
+2017262571,2017262571
+2017262572,2017262572
+2017262573,2017262573
+2017262574,2017262574
+2017262575,2017262575
+2017262576,2017262576
+2017262577,2017262577
+2017262578,2017262578
+2017262579,2017262579
+2017262580,2017262580
+2017262581,2017262581
+2017262582,2017262582
+2017262583,2017262583
+2017262584,2017262584
+2017262585,2017262585
+2017262586,2017262586
+2017262587,2017262587
+2017262588,2017262588
+2017262589,2017262589
+2017262590,2017262590
+2017262591,2017262591
+2017262592,2017262592
+2017262593,2017262593
+2017262594,2017262594
+2017262595,2017262595
+2017262596,2017262596
+2017262597,2017262597
+2017262598,2017262598
+2017262599,2017262599
+2017262600,2017262600
+2017262601,2017262601
+2017262602,2017262602
+2017262603,2017262603
+2017262604,2017262604
+2017262605,2017262605
+2017262606,2017262606
+2017262607,2017262607
+2017262608,2017262608
+2017262609,2017262609
+2017262610,2017262610
+2017262611,2017262611
+2017262612,2017262612
+2017262613,2017262613
+2017262614,2017262614
+2017262615,2017262615
+2017262616,2017262616
+2017262617,2017262617
+2017262618,2017262618
+2017262619,2017262619
+2017262620,2017262620
+2017262621,2017262621
+2017262622,2017262622
+2017262623,2017262623
+2017262624,2017262624
+2017262625,2017262625
+2017262626,2017262626
+2017262627,2017262627
+2017262628,2017262628
+2017262629,2017262629
+2017262630,2017262630
+2017262631,2017262631
+2017262632,2017262632
+2017262633,2017262633
+2017262634,2017262634
+2017262635,2017262635
+2017262636,2017262636
+2017262637,2017262637
+2017262638,2017262638
+2017262639,2017262639
+2017262640,2017262640
+2017262641,2017262641
+2017262642,2017262642
+2017262643,2017262643
+2017262644,2017262644
+2017262645,2017262645
+2017262646,2017262646
+2017262647,2017262647
+2017262648,2017262648
+2017262649,2017262649
+2017262650,2017262650
+2017262651,2017262651
+2017262652,2017262652
+2017262653,2017262653
+2017262654,2017262654
+2017262655,2017262655
+2017262656,2017262656
+2017262657,2017262657
+2017262658,2017262658
+2017262659,062949
+2017262660,2017262660
+2017262661,2017262661
+2017262662,2017262662
+2017262663,2017262663
+2017262664,2017262664
+2017262665,2017262665
+2017262666,2017262666
+2017262667,2017262667
+2017262668,2017262668
+2017262669,2017262669
+2017262670,2017262670
+2017262671,2017262671
+2017262672,2017262672
+2017262673,2017262673
+2017262674,2017262674
+2017262675,2017262675
+2017262676,2017262676
+2017262677,2017262677
+2017262678,2017262678
+2017262679,2017262679
+2017262680,2017262680
+2017262681,2017262681
+2017262682,2017262682
+2017262683,2017262683
+2017262684,2017262684
+2017262685,2017262685
+2017262686,2017262686
+2017262687,2017262687
+2017262688,2017262688
+2017262689,2017262689
+2017262690,2017262690
+2017262691,2017262691
+2017262692,2017262692
+2017262693,2017262693
+2017262694,2017262694
+2017262695,2017262695
+2017262696,2017262696
+2017262697,2017262697
+2017262698,2017262698
+2017262699,2017262699
+2017262700,2017262700
+2017262701,2017262701
+2017262702,2017262702
+2017262703,2017262703
+2017262704,2017262704
+2017262705,2017262705
+2017262706,2017262706
+2017262707,2017262707
+2017262708,2017262708
+2017262709,2017262709
+2017262710,2017262710
+2017262711,2017262711
+2017262712,2017262712
+2017262713,2017262713
+2017262714,2017262714
+2017262715,2017262715
+2017262716,2017262716
+2017262717,2017262717
+2017262718,2017262718
+2017262719,2017262719
+2017262720,2017262720
+2017262721,2017262721
+2017262722,2017262722
+2017262723,2017262723
+2017262724,2017262724
+2017262725,2017262725
+2017262726,2017262726
+2017262727,2017262727
+2017262728,2017262728
+2017262729,2017262729
+2017262730,2017262730
+2017262731,2017262731
+2017262732,2017262732
+2017262733,2017262733
+2017262734,2017262734
+2017262735,2017262735
+2017262736,2017262736
+2017262737,2017262737
+2017262738,2017262738
+2017262739,2017262739
+2017262740,2017262740
+2017262741,2017262741
+2017262742,2017262742
+2017262743,2017262743
+2017262744,2017262744
+2017262745,2017262745
+2017262746,2017262746
+2017262747,2017262747
+2017262748,2013240200
+2017262749,2017262749
+2017262750,2017262750
+2017262751,2017262751
+2017262752,2017262752
+2017262753,2017262753
+2017262754,2017262754
+2017262755,2017262755
+2017262756,2017262756
+2017262757,2017262757
+2017262758,2017262758
+2017262759,2017262759
+2017262760,2017262760
+2017262761,2017262761
+2017262762,2017262762
+2017262763,2017262763
+2017262764,2017262764
+2017262765,2017262765
+2017262766,2017262766
+2017262767,2017262767
+2017262768,2017262768
+2017262769,2017262769
+2017262770,2017262770
+2017262771,2017262771
+2017262772,2017262772
+2017262773,2016070085
+2017262774,2017262774
+2017262775,2017262775
+2017262776,2017262776
+2017262777,2017262777
+2017262778,2015240125
+2017262779,2016240001
+2017262780,2017262780
+2017262781,2017262781
+2017262782,2017262782
+2017262783,2017262783
+2017262784,2010301800
+2017262785,2017262785
+2017262786,2017262786
+2017262787,2017262787
+2017262788,2017262788
+2017262789,2017262789
+2017262790,2017262790
+2017262791,2017262791
+2017262792,2017262792
+2017262793,2017262793
+2017262794,2017262794
+2017262795,2017262795
+2017262796,2017262796
+2017262797,2017262797
+2017262798,2017262798
+2017262799,2017262799
+2017262800,2017262800
+2017262801,2017262801
+2017262802,2017262802
+2017262803,2017262803
+2017262804,2017262804
+2017262805,2017262805
+2017262806,2017262806
+2017262807,2017262807
+2017262808,2017262808
+2017262809,063034
+2017262810,2017262810
+2017262811,2017262811
+2017262812,2017262812
+2017262813,2017262813
+2017262814,2017262814
+2017262815,2017262815
+2017262816,2017262816
+2017262817,2017262817
+2017262818,2017262818
+2017262819,2017262819
+2017262820,2017262820
+2017262821,2017262821
+2017262822,2017262822
+2017262823,2017262823
+2017262824,2017262824
+2017262825,2017262825
+2017262826,2017262826
+2017262827,2017262827
+2017262828,2017262828
+2017262829,2016070006
+2017262830,2017262830
+2017262831,2017262831
+2017262832,2017262832
+2017262833,2017262833
+2017262834,2016210287
+2017262835,2017262835
+2017262836,2017262836
+2017262837,2017262837
+2017262838,2017262838
+2017262839,2017262839
+2017262840,2017262840
+2017262841,2017262841
+2017262842,2017262842
+2017262843,2017262843
+2017262844,2017262844
+2017262845,2017262845
+2017262846,2017262846
+2017262847,2017262847
+2017262848,2017262848
+2017262849,2017262849
+2017262850,2017262850
+2017262851,2017262851
+2017262852,2017262852
+2017262853,2017262853
+2017262854,2017262854
+2017262855,2017262855
+2017262856,2017262856
+2017262857,2017262857
+2017262858,2017262858
+2017262859,2017262859
+2017262860,2017262860
+2017262861,2017262861
+2017262862,2017262862
+2017262863,2017262863
+2017262864,2017262864
+2017262865,2017262865
+2017262866,2017262866
+2017262867,2017262867
+2017262868,2017262868
+2017262869,2017262869
+2017262870,2017262870
+2017262871,2017262871
+2017262872,2017262872
+2017262873,2017262873
+2017262874,2017262874
+2017262875,2017262875
+2017262876,2013211187
+2017262877,2017262877
+2017262878,2017262878
+2017262879,2017262879
+2017262880,2017262880
+2017262881,2017262881
+2017262882,2017262882
+2017262883,2017262883
+2017262884,2017262884
+2017262885,2017262885
+2017262886,2017262886
+2017262887,2017262887
+2017262888,2017262888
+2017262889,2017262889
+2017262890,2017262890
+2017262891,2017262891
+2017262892,2017262892
+2017262893,2017262893
+2017262894,2017262894
+2017262895,2017262895
+2017262896,2017262896
+2017262897,2017262897
+2017262898,2017262898
+2017262899,2017262899
+2017262900,2017262900
+2017262901,2017262901
+2017262902,2017262902
+2017262903,2017262903
+2017262904,2017262904
+2017262905,2017262905
+2017262906,2017262906
+2017262907,2017262907
+2017262908,2017262908
+2017262909,2017262909
+2017262910,2017262910
+2017262911,043733
+2017262912,2017262912
+2017262913,2017262913
+2017262914,2017262914
+2017262915,2008301093
+2017262916,2017262916
+2017262917,2017262917
+2017262918,2017262918
+2017262919,2017262919
+2017262920,2017262920
+2017262921,2017262921
+2017262922,2017262922
+2017262923,2017262923
+2017262924,2017262924
+2017262925,2016210327
+2017262926,2017262926
+2017262927,2017262927
+2017262928,2017262928
+2017262929,2017262929
+2017262930,2017262930
+2017262931,2017262931
+2017262932,2017262932
+2017262997,2017262997
+2017262998,2017262998
+2017262999,20140P0219
+2017263000,2017263000
+2017263001,2017263001
+2017263002,2017263002
+2017263003,2016070166
+2017263004,2017263004
+2017263005,2017263005
+2017263006,2017263006
+2017263007,2017263007
+2017263008,2017263008
+2017263009,2017263009
+2017263010,2017263010
+2017263011,2017263011
+2017263012,2017263012
+2017263013,2017263013
+2017263014,2017263014
+2017263015,2017263015
+2017263016,2017263016
+2017263017,2012070075
+2017263018,2017263018
+2017263019,2017263019
+2017263020,2017263020
+2017263021,2017263021
+2017263022,2017263022
+2017263023,2014210577
+2017263024,2017263024
+2017263025,2017263025
+2017263026,2017263026
+2017263027,20170P1961
+2017263028,2017263028
+2017263029,2017263029
+2017263030,2017263030
+2017263031,2017263031
+2017263032,2017263032
+2017263033,2017263033
+2017263034,2017263034
+2017263035,2017263035
+2017263036,2017263036
+2017263037,2017263037
+2017263038,2017263038
+2017263039,2017263039
+2017263040,2017263040
+2017263041,2013070064
+2017263042,2017263042
+2017263043,2017263043
+2017263044,2014070097
+2017263045,2017263045
+2017263046,2017263046
+2017263047,2017263047
+2017263048,2017263048
+2017263049,2017263049
+2017263050,2017263050
+2017263051,2017263051
+2017263052,2017263052
+2017263053,2017263053
+2017263054,2016210393
+2017263055,2000000082
+2017263056,2017263056
+2017263057,2017263057
+2017263058,2017263058
+2017263059,2017263059
+2017263060,2017263060
+2017263061,2017263061
+2017263062,2017263062
+2017263063,2017263063
+2017263064,2017263064
+2017263065,2017263065
+2017263066,2017263066
+2017263067,2017263067
+2017263068,2017263068
+2017263069,2017263069
+2017263070,2017263070
+2017263071,2017263071
+2017263072,2017263072
+2017263073,2017263073
+2017263074,2017263074
+2017263075,2017263075
+2017263076,2017263076
+2017263077,2017263077
+2017263078,2017263078
+2017263079,2017263079
+2017263080,2017263080
+2017263081,2017263081
+2017263082,2017263082
+2017263083,2017263083
+2017263084,2017263084
+2017263085,2017263085
+2017263086,2017263086
+2017263087,2017263087
+2017263088,2017263088
+2017263089,2017263089
+2017263090,2017263090
+2017263091,2017263091
+2017263092,2017263092
+2017263093,2017263093
+2017263094,2017263094
+2017263095,2017263095
+2017263096,2017263096
+2017263097,2017263097
+2017263098,2017263098
+2017263099,2017263099
+2017263100,2017263100
+2017263101,2017263101
+2017263102,2017263102
+2017263103,2017263103
+2017263104,2017263104
+2017263105,2017263105
+2017263106,2017263106
+2017263107,2017263107
+2017263108,2017263108
+2017263109,2017263109
+2017263110,2017263110
+2017263111,2017263111
+2017263112,2017263112
+2017263113,2017263113
+2017263114,2017263114
+2017263115,2017263115
+2017263116,2017263116
+2017263117,2017263117
+2017263118,2017263118
+2017263119,2017263119
+2017263120,2017263120
+2017263121,2017263121
+2017263122,2017263122
+2017263123,2017263123
+2017263124,2017263124
+2017263125,2017263125
+2017263126,2017263126
+2017263127,2017263127
+2017263135,2013303527
+2017263136,2017263136
+2017263137,2017263137
+2017263138,2017263138
+2017263139,2017263139
+2017263140,2017263140
+2017263141,2017263141
+2017263142,2020100377
+2017263143,2013303511
+2017263144,2017263144
+2017263145,2017263145
+2017263146,2017263146
+2017263147,2017263147
+2017263148,2017263148
+2017263149,2017263149
+2017263150,2017263150
+2017263151,2017263151
+2017263152,2017263152
+2017263153,2017263153
+2017263154,2017263154
+2017263155,2013303455
+2017263156,2017263156
+2017263157,2013303431
+2017263158,2017263158
+2017263159,2017263159
+2017263160,2017263160
+2017263161,2013303479
+2017263162,2012303328
+2017263163,2013303416
+2017263164,2017263164
+2017263165,2013303412
+2017263166,2017263166
+2017263167,2017263167
+2017263168,2013303352
+2017263169,2017263169
+2017263170,2017263170
+2017263171,2017263171
+2017263172,2017263172
+2017263173,2017263173
+2017263174,2013303506
+2017263175,2017263175
+2017263176,2017263176
+2017263177,2017263177
+2017263178,2013303475
+2017263179,2017263179
+2017263180,2013303469
+2017263181,2017263181
+2017263182,2013303481
+2017263183,2017263183
+2017263184,2017263184
+2017263185,2013303489
+2017263186,2017263186
+2017263187,2017263187
+2017263188,2013303415
+2017263189,2013303421
+2017263190,2017263190
+2017263191,2013303434
+2017263192,2013303407
+2017263193,2013303440
+2017263194,2017263194
+2017263195,2017263195
+2017263196,2017263196
+2017263197,2017263197
+2017263198,2017263198
+2017263199,2017263199
+2017263200,2013303284
+2017263201,2013303285
+2017263202,2013303435
+2017263203,2017263203
+2017263204,2017263204
+2017263205,2017263205
+2017263206,2017263206
+2017263207,2013303500
+2017263208,2017263208
+2017263209,2013303401
+2017263210,2017263210
+2017263211,2013303484
+2017263212,2013303408
+2017263213,2013303283
+2017263214,2013303308
+2017263215,2017263215
+2017263216,2013303329
+2017263217,2011303460
+2017263218,2013303477
+2017263219,2017263219
+2017263220,2017263220
+2017263221,2017263221
+2017263222,2017263222
+2017263223,2017263223
+2017263224,2017263224
+2017263225,2013303467
+2017263226,2017263226
+2017263227,2017263227
+2017263228,2017263228
+2017263229,2017263229
+2017263230,2017263230
+2017263231,2017263231
+2017263232,2017263232
+2017263233,051019
+2017263234,2017263234
+2017263235,2017263235
+2017263236,2017263236
+2017263237,2017263237
+2017263238,2017263238
+2017263239,2017263239
+2017263240,2017263240
+2017263241,2017263241
+2017263242,2017263242
+2017263243,2013302196
+2017263244,2010302160
+2017263245,2017263245
+2017263246,2012303525
+2017263247,2017263247
+2017263248,2017263248
+2017263249,2012302413
+2017263250,2017263250
+2017263251,2017263251
+2017263252,2017263252
+2017263253,2017263253
+2017263254,2017263254
+2017263255,2017263255
+2017263256,2017263256
+2017263257,2017263257
+2017263258,2017263258
+2017263259,2017263259
+2017263260,2017263260
+2017263261,2017263261
+2017263262,2017263262
+2017263263,2017263263
+2017263264,2017263264
+2017263265,2017263265
+2017263266,2017263266
+2017263267,2017263267
+2017263268,2017263268
+2017263269,2017263269
+2017263270,2017263270
+2017263271,2017263271
+2017263312,2017263312
+2017263313,2017263313
+2017263314,2017263314
+2017263315,2017263315
+2017263316,20200P0736
+2017263317,2017263317
+2017263318,2020100168
+2017263319,2017263319
+2017263320,2017263320
+2017263321,2017263321
+2017263322,2017263322
+2017263323,2017263323
+2017263324,2017263324
+2017263325,2017263325
+2017263326,2017263326
+2017263327,2017263327
+2017263328,2017263328
+2017263329,2017263329
+2017263330,2017263330
+2017263331,2017263331
+2017263332,2017263332
+2017263333,2017263333
+2017263349,2017263349
+2017263350,2017263350
+2017263351,2017263351
+2017263352,2017263352
+2017263353,2017263353
+2017263354,2017263354
+2017263355,2017263355
+2017263356,2017263356
+2017263357,2017263357
+2017263358,2017263358
+2017263359,2017263359
+2017263360,2017263360
+2017263361,2017263361
+2017263362,2017263362
+2017263363,2017263363
+2017263364,20160P0100
+2017263365,2017263365
+2017263366,2017263366
+2017263367,2017263367
+2017263368,2017263368
+2017263369,2017263369
+2017263370,2013303123
+2017263371,2017263371
+2017263372,2017263372
+2017263373,2015070053
+2017263374,2013300602
+2017270001,2017270001
+2017270002,2017270002
+2017280019,2017280019
+2017280057,2017280057
+2017280060,2017280060
+2017280063,2017280063
+2017280064,2017280064
+2017280090,2017280090
+2017280093,2017280093
+2017280097,2017280097
+2017280104,2017280104
+2017280116,2017280116
+2017280118,2017280118
+2017280120,2017280120
+2017280121,2017280121
+2017280122,2017280122
+2017280123,2016280063
+2017280124,2017280124
+2017280125,2017280125
+2017280126,2017280126
+2017280127,2017280127
+2017280132,2017280132
+2017280141,2017280141
+2017280142,2017280142
+2017280144,2017280144
+2017280145,2017280145
+2017280147,2017280147
+2017280148,2017280148
+2017280149,2017280149
+2017280150,2017280150
+2017280151,2017280151
+2017280152,2017280152
+2017280153,2017280153
+2017280154,2017280154
+2017280155,2017280155
+2017280156,2017280156
+2017280157,2017280157
+2017280158,2017280158
+2017280159,2017280159
+2017280160,2017280160
+2017280161,2017280161
+2017280162,2017280162
+2017280163,2017280163
+2017280164,2017280164
+2017280165,2017280165
+2017280166,2017280166
+2017280167,2017280167
+2017280168,2017280168
+2017280169,2017280169
+2017280170,2017280170
+2017280171,2017280171
+2017280172,2017280172
+2017280173,2017280173
+2017280174,2017280174
+2017280175,2017280175
+2017280176,2017280176
+2017280177,2017280177
+2017280178,2017280178
+2017280179,2017280179
+2017280180,2017280180
+2017280181,2017280181
+2017280182,2017280182
+2017280183,2017280183
+2017280184,2017280184
+2017280185,2017280185
+2017280186,2017280186
+2017280187,2017280187
+2017280188,2017280188
+2017280189,2017280189
+2017280190,2017280190
+2017280191,2017280191
+2017280192,2017280192
+2017280193,2017280193
+2017280194,2017280194
+2017280195,2017280195
+2017280196,2017280196
+2017280197,2017280197
+2017280198,2017280198
+2017280199,2017280199
+2017280200,2017280200
+2017280201,2017280201
+2017280202,2017280202
+2017280203,2017280203
+2017280204,2017280204
+2017280205,2017280205
+2017280206,2017280206
+2017280207,2017280207
+2017280208,2017280208
+2017280209,2017280209
+2017280210,2017280210
+2017280211,2017280211
+2017280212,2017280212
+2017280213,2017280213
+2017280214,2017280214
+2017280215,2017280215
+2017280216,2017280216
+2017280217,2017280217
+2017280228,2017280228
+2017280233,2017280233
+2017280235,2017280235
+2017280236,2017280236
+2017280237,2017280237
+2017280238,2017280238
+2017280241,2017280241
+2017280242,2017280242
+2017280243,2017280243
+2017280245,2017280245
+2017280246,2017280246
+2017280248,2017280248
+2017280249,2017280249
+2017280250,2017280250
+2017280251,2017280251
+2017300001,2017300001
+2017300002,2017300002
+2017300003,2017300003
+2017300004,2017300004
+2017300005,2017300005
+2017300006,2017300006
+2017300007,2017300007
+2017300008,2017300008
+2017300009,2017300009
+2017300010,2017300010
+2017300011,2017300011
+2017300012,2017300012
+2017300013,2017300013
+2017300014,2017300014
+2017300015,2017300015
+2017300016,2017300016
+2017300017,2017300017
+2017300018,2017300018
+2017300019,2017300019
+2017300020,2017300020
+2017300021,2017300021
+2017300022,2017300022
+2017300023,2017300023
+2017300024,2017300024
+2017300025,2017300025
+2017300026,2017300026
+2017300027,2017300027
+2017300028,2017300028
+2017300029,2017300029
+2017300030,2017300030
+2017300031,2017300031
+2017300032,2017300032
+2017300033,2017300033
+2017300034,2017300034
+2017300035,2017300035
+2017300036,2017300036
+2017300037,2017300037
+2017300038,2017300038
+2017300039,2017300039
+2017300040,2017300040
+2017300041,2017300041
+2017300042,2017300042
+2017300043,2017300043
+2017300044,2017300044
+2017300045,2017300045
+2017300046,2017300046
+2017300047,2017300047
+2017300048,2017300048
+2017300049,2017300049
+2017300050,2017300050
+2017300051,2017300051
+2017300052,2017300052
+2017300053,2017300053
+2017300054,2017300054
+2017300055,2017300055
+2017300056,2017300056
+2017300057,2017300057
+2017300058,2017300058
+2017300059,2017300059
+2017300060,2017300060
+2017300061,2017300061
+2017300062,2017300062
+2017300063,2017300063
+2017300064,2017300064
+2017300065,2017300065
+2017300066,2017300066
+2017300067,2017300067
+2017300068,2017300068
+2017300069,2017300069
+2017300070,2017300070
+2017300071,2017300071
+2017300072,2017300072
+2017300073,2017300073
+2017300074,2017300074
+2017300075,2017300075
+2017300076,2017300076
+2017300077,2017300077
+2017300078,2017300078
+2017300079,2017300079
+2017300080,2017300080
+2017300081,2017300081
+2017300082,2017300082
+2017300083,2017300083
+2017300084,2017300084
+2017300085,2017300085
+2017300086,2017300086
+2017300087,2017300087
+2017300088,2017300088
+2017300089,2017300089
+2017300090,2017300090
+2017300091,2017300091
+2017300092,2017300092
+2017300093,2017300093
+2017300094,2017300094
+2017300095,2017300095
+2017300096,2017300096
+2017300097,2017300097
+2017300098,2017300098
+2017300099,2017300099
+2017300100,2017300100
+2017300101,2017300101
+2017300102,2017300102
+2017300103,2017300103
+2017300104,2017300104
+2017300105,2017300105
+2017300106,2017300106
+2017300107,2017300107
+2017300108,2017300108
+2017300109,2017300109
+2017300110,2017300110
+2017300111,2017300111
+2017300112,2017300112
+2017300113,2017300113
+2017300114,2017300114
+2017300115,2017300115
+2017300116,2017300116
+2017300117,2017300117
+2017300118,2017300118
+2017300119,2017300119
+2017300120,2017300120
+2017300121,2017300121
+2017300122,2017300122
+2017300123,2017300123
+2017300124,2017300124
+2017300125,2017300125
+2017300126,2017300126
+2017300127,2017300127
+2017300128,2017300128
+2017300129,2017300129
+2017300130,2017300130
+2017300131,2017300131
+2017300132,2017300132
+2017300133,2017300133
+2017300134,2017300134
+2017300135,2017300135
+2017300136,2017300136
+2017300137,2017300137
+2017300138,2017300138
+2017300139,2017300139
+2017300140,2017300140
+2017300141,2017300141
+2017300142,2017300142
+2017300143,2017300143
+2017300144,2017300144
+2017300145,2017300145
+2017300146,2017300146
+2017300147,2017300147
+2017300148,2017300148
+2017300149,2017300149
+2017300150,2017300150
+2017300151,2017300151
+2017300152,2017300152
+2017300153,2017300153
+2017300154,2017300154
+2017300155,2017300155
+2017300156,2017300156
+2017300157,2017300157
+2017300158,2017300158
+2017300159,2017300159
+2017300160,2017300160
+2017300161,2017300161
+2017300162,2017300162
+2017300163,2017300163
+2017300164,2017300164
+2017300165,2017300165
+2017300166,2017300166
+2017300167,2017300167
+2017300168,2017300168
+2017300169,2017300169
+2017300170,2017300170
+2017300171,2017300171
+2017300172,2017300172
+2017300173,2017300173
+2017300174,2017300174
+2017300175,2017300175
+2017300176,2017300176
+2017300177,2017300177
+2017300178,2017300178
+2017300179,2017300179
+2017300180,2017300180
+2017300181,2017300181
+2017300182,2017300182
+2017300183,2017300183
+2017300184,2017300184
+2017300185,2017300185
+2017300186,2017300186
+2017300187,2017300187
+2017300188,2017300188
+2017300189,2017300189
+2017300190,2017300190
+2017300191,2017300191
+2017300192,2017300192
+2017300193,2017300193
+2017300194,2017300194
+2017300195,2017300195
+2017300196,2017300196
+2017300197,2017300197
+2017300198,2017300198
+2017300199,2017300199
+2017300200,2017300200
+2017300201,2017300201
+2017300202,2017300202
+2017300203,2017300203
+2017300204,2017300204
+2017300205,2017300205
+2017300206,2017300206
+2017300207,2017300207
+2017300208,2017300208
+2017300209,2017300209
+2017300210,2017300210
+2017300211,2017300211
+2017300212,2017300212
+2017300213,2017300213
+2017300214,2017300214
+2017300215,2017300215
+2017300216,2017300216
+2017300217,2017300217
+2017300218,2017300218
+2017300219,2017300219
+2017300220,2017300220
+2017300221,2017300221
+2017300222,2017300222
+2017300223,2017300223
+2017300224,2017300224
+2017300225,2017300225
+2017300226,2017300226
+2017300227,2017300227
+2017300228,2017300228
+2017300229,2017300229
+2017300230,2017300230
+2017300231,2017300231
+2017300232,2017300232
+2017300233,2017300233
+2017300234,2017300234
+2017300235,2017300235
+2017300236,2017300236
+2017300237,2017300237
+2017300238,2017300238
+2017300239,2017300239
+2017300240,2017300240
+2017300241,2017300241
+2017300242,2017300242
+2017300243,2017300243
+2017300244,2017300244
+2017300245,2017300245
+2017300246,2017300246
+2017300247,2017300247
+2017300248,2017300248
+2017300249,2017300249
+2017300250,2017300250
+2017300251,2017300251
+2017300252,2017300252
+2017300253,2017300253
+2017300254,2017300254
+2017300255,2017300255
+2017300256,2017300256
+2017300257,2017300257
+2017300258,2017300258
+2017300259,2017300259
+2017300260,2017300260
+2017300261,2017300261
+2017300262,2017300262
+2017300263,2017300263
+2017300264,2017300264
+2017300265,2017300265
+2017300266,2017300266
+2017300267,2017300267
+2017300268,2017300268
+2017300269,2017300269
+2017300270,2017300270
+2017300271,2017300271
+2017300272,2017300272
+2017300273,2017300273
+2017300274,2017300274
+2017300275,2017300275
+2017300276,2017300276
+2017300277,2017300277
+2017300278,2017300278
+2017300279,2017300279
+2017300280,2017300280
+2017300281,2017300281
+2017300282,2017300282
+2017300283,2017300283
+2017300284,2017300284
+2017300285,2017300285
+2017300286,2017300286
+2017300287,2017300287
+2017300288,2017300288
+2017300289,2017300289
+2017300290,2017300290
+2017300291,2017300291
+2017300292,2017300292
+2017300293,2017300293
+2017300294,2017300294
+2017300295,2017300295
+2017300296,2017300296
+2017300297,2017300297
+2017300298,2017300298
+2017300299,2017300299
+2017300300,2017300300
+2017300301,2017300301
+2017300302,2017300302
+2017300303,2017300303
+2017300304,2017300304
+2017300305,2017300305
+2017300306,2017300306
+2017300307,2017300307
+2017300308,2017300308
+2017300309,2017300309
+2017300310,2017300310
+2017300311,2017300311
+2017300312,2017300312
+2017300313,2017300313
+2017300314,2017300314
+2017300315,2017300315
+2017300316,2017300316
+2017300317,2017300317
+2017300318,2017300318
+2017300319,2017300319
+2017300320,2017300320
+2017300321,2017300321
+2017300322,2017300322
+2017300323,2017300323
+2017300324,2017300324
+2017300325,2017300325
+2017300326,2017300326
+2017300327,2017300327
+2017300328,2017300328
+2017300329,2017300329
+2017300330,2017300330
+2017300331,2017300331
+2017300332,2017300332
+2017300333,2017300333
+2017300334,2017300334
+2017300335,2017300335
+2017300336,2017300336
+2017300337,2017300337
+2017300338,2017300338
+2017300339,2017300339
+2017300340,2017300340
+2017300341,2017300341
+2017300342,2017300342
+2017300343,2017300343
+2017300344,2017300344
+2017300345,2017300345
+2017300346,2017300346
+2017300347,2017300347
+2017300348,2017300348
+2017300349,2017300349
+2017300350,2017300350
+2017300351,2017300351
+2017300352,2017300352
+2017300353,2017300353
+2017300354,2017300354
+2017300355,2017300355
+2017300356,2017300356
+2017300357,2017300357
+2017300358,2017300358
+2017300359,2017300359
+2017300360,2017300360
+2017300361,2017300361
+2017300362,2017300362
+2017300363,2017300363
+2017300364,2017300364
+2017300365,2017300365
+2017300366,2017300366
+2017300367,2017300367
+2017300368,2017300368
+2017300369,2017300369
+2017300370,2017300370
+2017300371,2017300371
+2017300372,2017300372
+2017300373,2017300373
+2017300374,2017300374
+2017300375,2017300375
+2017300376,2017300376
+2017300377,2017300377
+2017300378,2017300378
+2017300379,2017300379
+2017300380,2017300380
+2017300381,2017300381
+2017300382,2017300382
+2017300383,2017300383
+2017300384,2017300384
+2017300385,2017300385
+2017300386,2017300386
+2017300387,2017300387
+2017300388,2017300388
+2017300389,2017300389
+2017300390,2017300390
+2017300391,2017300391
+2017300392,2017300392
+2017300393,2017300393
+2017300394,2017300394
+2017300395,2017300395
+2017300396,2017300396
+2017300397,2017300397
+2017300398,2017300398
+2017300399,2017300399
+2017300400,2017300400
+2017300401,2017300401
+2017300402,2017300402
+2017300403,2017300403
+2017300404,2017300404
+2017300405,2017300405
+2017300406,2017300406
+2017300407,2017300407
+2017300408,2017300408
+2017300409,2017300409
+2017300410,2017300410
+2017300411,2017300411
+2017300412,2017300412
+2017300413,2017300413
+2017300414,2017300414
+2017300415,2017300415
+2017300416,2017300416
+2017300417,2017300417
+2017300418,2017300418
+2017300419,2017300419
+2017300420,2017300420
+2017300421,2017300421
+2017300422,2017300422
+2017300423,2017300423
+2017300424,2017300424
+2017300425,2017300425
+2017300426,2017300426
+2017300427,2017300427
+2017300428,2017300428
+2017300429,2017300429
+2017300430,2017300430
+2017300431,2017300431
+2017300432,2017300432
+2017300433,2017300433
+2017300434,2017300434
+2017300435,2017300435
+2017300436,2017300436
+2017300437,2017300437
+2017300438,2017300438
+2017300439,2017300439
+2017300440,2017300440
+2017300441,2017300441
+2017300442,2017300442
+2017300443,2017300443
+2017300444,2017300444
+2017300445,2017300445
+2017300446,2017300446
+2017300447,2017300447
+2017300448,2017300448
+2017300449,2017300449
+2017300450,2017300450
+2017300451,2017300451
+2017300452,2017300452
+2017300453,2017300453
+2017300454,2017300454
+2017300455,2017300455
+2017300456,2017300456
+2017300457,2017300457
+2017300458,2017300458
+2017300459,2017300459
+2017300460,2017300460
+2017300461,2017300461
+2017300462,2017300462
+2017300463,2017300463
+2017300464,2017300464
+2017300465,2017300465
+2017300466,2017300466
+2017300467,2017300467
+2017300468,2017300468
+2017300469,2017300469
+2017300470,2017300470
+2017300471,2017300471
+2017300472,2017300472
+2017300473,2017300473
+2017300474,2017300474
+2017300475,2017300475
+2017300476,2017300476
+2017300477,2017300477
+2017300478,2017300478
+2017300479,2017300479
+2017300480,2017300480
+2017300481,2017300481
+2017300482,2017300482
+2017300483,2017300483
+2017300484,2017300484
+2017300485,2017300485
+2017300486,2017300486
+2017300487,2017300487
+2017300488,2017300488
+2017300489,2017300489
+2017300490,2017300490
+2017300491,2017300491
+2017300492,2017300492
+2017300493,2017300493
+2017300494,2017300494
+2017300495,2017300495
+2017300496,2017300496
+2017300497,2017300497
+2017300498,2017300498
+2017300499,2017300499
+2017300500,2017300500
+2017300501,2017300501
+2017300502,2017300502
+2017300503,2017300503
+2017300504,2017300504
+2017300505,2017300505
+2017300506,2017300506
+2017300507,2017300507
+2017300508,2017300508
+2017300509,2017300509
+2017300510,2017300510
+2017300511,2017300511
+2017300512,2017300512
+2017300513,2017300513
+2017300514,2017300514
+2017300515,2017300515
+2017300516,2017300516
+2017300517,2017300517
+2017300518,2017300518
+2017300519,2017300519
+2017300520,2017300520
+2017300521,2017300521
+2017300522,2017300522
+2017300523,2017300523
+2017300524,2017300524
+2017300525,2017300525
+2017300526,2017300526
+2017300527,2017300527
+2017300528,2017300528
+2017300529,2017300529
+2017300530,2017300530
+2017300531,2017300531
+2017300532,2017300532
+2017300533,2017300533
+2017300534,2017300534
+2017300535,2017300535
+2017300536,2017300536
+2017300537,2017300537
+2017300538,2017300538
+2017300539,2017300539
+2017300540,2017300540
+2017300541,2017300541
+2017300542,2017300542
+2017300543,2017300543
+2017300544,2017300544
+2017300545,2017300545
+2017300546,2017300546
+2017300547,2017300547
+2017300548,2017300548
+2017300549,2017300549
+2017300550,2017300550
+2017300551,2017300551
+2017300552,2017300552
+2017300553,2017300553
+2017300554,2017300554
+2017300555,2017300555
+2017300556,2017300556
+2017300557,2017300557
+2017300558,2017300558
+2017300559,2017300559
+2017300560,2017300560
+2017300561,2017300561
+2017300562,2017300562
+2017300563,2017300563
+2017300564,2017300564
+2017300565,2017300565
+2017300566,2017300566
+2017300567,2017300567
+2017300568,2017300568
+2017300569,2017300569
+2017300570,2017300570
+2017300571,2017300571
+2017300572,2017300572
+2017300573,2017300573
+2017300574,2017300574
+2017300575,2017300575
+2017300576,2017300576
+2017300577,2017300577
+2017300578,2017300578
+2017300579,2017300579
+2017300580,2017300580
+2017300581,2017300581
+2017300582,2017300582
+2017300583,2017300583
+2017300584,2017300584
+2017300585,2017300585
+2017300586,2017300586
+2017300587,2017300587
+2017300588,2017300588
+2017300589,2017300589
+2017300590,2017300590
+2017300591,2017300591
+2017300592,2017300592
+2017300593,2017300593
+2017300594,2017300594
+2017300595,2017300595
+2017300596,2017300596
+2017300597,2017300597
+2017300598,2017300598
+2017300599,2017300599
+2017300600,2017300600
+2017300601,2017300601
+2017300602,2017300602
+2017300603,2017300603
+2017300604,2017300604
+2017300605,2017300605
+2017300606,2017300606
+2017300607,2017300607
+2017300608,2017300608
+2017300609,2017300609
+2017300610,2017300610
+2017300611,2017300611
+2017300612,2017300612
+2017300613,2017300613
+2017300614,2017300614
+2017300615,2017300615
+2017300616,2017300616
+2017300617,2017300617
+2017300618,2017300618
+2017300619,2017300619
+2017300620,2017300620
+2017300621,2017300621
+2017300622,2017300622
+2017300623,2017300623
+2017300624,2017300624
+2017300625,2017300625
+2017300626,2017300626
+2017300627,2017300627
+2017300628,2017300628
+2017300629,2017300629
+2017300630,2017300630
+2017300631,2017300631
+2017300632,2017300632
+2017300633,2017300633
+2017300634,2017300634
+2017300635,2017300635
+2017300636,2017300636
+2017300637,2017300637
+2017300638,2017300638
+2017300639,2017300639
+2017300640,2017300640
+2017300641,2017300641
+2017300642,2017300642
+2017300643,2017300643
+2017300644,2017300644
+2017300645,2017300645
+2017300646,2017300646
+2017300647,2017300647
+2017300648,2017300648
+2017300649,2017300649
+2017300650,2017300650
+2017300651,2017300651
+2017300652,2017300652
+2017300653,2017300653
+2017300654,2017300654
+2017300655,2017300655
+2017300656,2017300656
+2017300657,2017300657
+2017300658,2017300658
+2017300659,2017300659
+2017300660,2017300660
+2017300661,2017300661
+2017300662,2017300662
+2017300663,2017300663
+2017300664,2017300664
+2017300665,2017300665
+2017300666,2017300666
+2017300667,2017300667
+2017300668,2017300668
+2017300669,2017300669
+2017300670,2017300670
+2017300671,2017300671
+2017300672,2017300672
+2017300673,2017300673
+2017300674,2017300674
+2017300675,2017300675
+2017300676,2017300676
+2017300677,2017300677
+2017300678,2017300678
+2017300679,2017300679
+2017300680,2017300680
+2017300681,2017300681
+2017300682,2017300682
+2017300683,2017300683
+2017300684,2017300684
+2017300685,2017300685
+2017300686,2017300686
+2017300687,2017300687
+2017300688,2017300688
+2017300689,2017300689
+2017300690,2017300690
+2017300691,2017300691
+2017300692,2017300692
+2017300693,2017300693
+2017300694,2017300694
+2017300695,2017300695
+2017300696,2017300696
+2017300697,2017300697
+2017300698,2017300698
+2017300699,2017300699
+2017300700,2017300700
+2017300701,2017300701
+2017300702,2017300702
+2017300703,2017300703
+2017300704,2017300704
+2017300705,2017300705
+2017300706,2017300706
+2017300707,2017300707
+2017300708,2017300708
+2017300709,2017300709
+2017300710,2017300710
+2017300711,2017300711
+2017300712,2017300712
+2017300713,2017300713
+2017300714,2017300714
+2017300715,2017300715
+2017300716,2017300716
+2017300717,2017300717
+2017300718,2017300718
+2017300719,2017300719
+2017300720,2017300720
+2017300721,2017300721
+2017300722,2017300722
+2017300723,2017300723
+2017300724,2017300724
+2017300725,2017300725
+2017300726,2017300726
+2017300727,2017300727
+2017300728,2017300728
+2017300729,2017300729
+2017300730,2017300730
+2017300731,2017300731
+2017300732,2017300732
+2017300733,2017300733
+2017300734,2017300734
+2017300735,2017300735
+2017300736,2017300736
+2017300737,2017300737
+2017300738,2017300738
+2017300739,2017300739
+2017300740,2017300740
+2017300741,2017300741
+2017300742,2017300742
+2017300743,2017300743
+2017300744,2017300744
+2017300745,2017300745
+2017300746,2017300746
+2017300747,2017300747
+2017300748,2017300748
+2017300749,2017300749
+2017300750,2017300750
+2017300751,2017300751
+2017300752,2017300752
+2017300753,2017300753
+2017300754,2017300754
+2017300755,2017300755
+2017300756,2017300756
+2017300757,2017300757
+2017300758,2017300758
+2017300759,2017300759
+2017300760,2017300760
+2017300761,2017300761
+2017300762,2017300762
+2017300763,2017300763
+2017300764,2017300764
+2017300765,2017300765
+2017300766,2017300766
+2017300767,2017300767
+2017300768,2017300768
+2017300769,2017300769
+2017300770,2017300770
+2017300771,2017300771
+2017300772,2017300772
+2017300773,2017300773
+2017300774,2017300774
+2017300775,2017300775
+2017300776,2017300776
+2017300777,2017300777
+2017300778,2017300778
+2017300779,2017300779
+2017300780,2017300780
+2017300781,2017300781
+2017300782,2017300782
+2017300783,2017300783
+2017300784,2017300784
+2017300785,2017300785
+2017300786,2017300786
+2017300787,2017300787
+2017300788,2017300788
+2017300789,2017300789
+2017300790,2017300790
+2017300791,2017300791
+2017300792,2017300792
+2017300793,2017300793
+2017300794,2017300794
+2017300795,2017300795
+2017300796,2017300796
+2017300797,2017300797
+2017300798,2017300798
+2017300799,2017300799
+2017300800,2017300800
+2017300801,2017300801
+2017300802,2017300802
+2017300803,2017300803
+2017300804,2017300804
+2017300805,2017300805
+2017300806,2017300806
+2017300807,2017300807
+2017300808,2017300808
+2017300809,2017300809
+2017300810,2017300810
+2017300811,2017300811
+2017300812,2017300812
+2017300813,2017300813
+2017300814,2017300814
+2017300815,2017300815
+2017300816,2017300816
+2017300817,2017300817
+2017300818,2017300818
+2017300819,2017300819
+2017300820,2017300820
+2017300821,2017300821
+2017300822,2017300822
+2017300823,2017300823
+2017300824,2017300824
+2017300825,2017300825
+2017300826,2017300826
+2017300827,2017300827
+2017300828,2017300828
+2017300829,2017300829
+2017300830,2017300830
+2017300831,2017300831
+2017300832,2017300832
+2017300833,2017300833
+2017300834,2017300834
+2017300835,2017300835
+2017300836,2017300836
+2017300837,2017300837
+2017300838,2017300838
+2017300839,2017300839
+2017300840,2017300840
+2017300841,2017300841
+2017300842,2017300842
+2017300843,2017300843
+2017300844,2017300844
+2017300845,2017300845
+2017300846,2017300846
+2017300847,2017300847
+2017300848,2017300848
+2017300849,2017300849
+2017300850,2017300850
+2017300851,2017300851
+2017300852,2017300852
+2017300853,2017300853
+2017300854,2017300854
+2017300855,2017300855
+2017300856,2017300856
+2017300857,2017300857
+2017300858,2017300858
+2017300859,2017300859
+2017300860,2017300860
+2017300861,2017300861
+2017300862,2017300862
+2017300863,2017300863
+2017300864,2017300864
+2017300865,2017300865
+2017300866,2017300866
+2017300867,2017300867
+2017300868,2017300868
+2017300869,2017300869
+2017300870,2017300870
+2017300871,2017300871
+2017300872,2017300872
+2017300873,2017300873
+2017300874,2017300874
+2017300875,2017300875
+2017300876,2017300876
+2017300877,2017300877
+2017300878,2017300878
+2017300879,2017300879
+2017300880,2017300880
+2017300881,2017300881
+2017300882,2017300882
+2017300883,2017300883
+2017300884,2017300884
+2017300885,2017300885
+2017300886,2017300886
+2017300887,2017300887
+2017300888,2017300888
+2017300889,2017300889
+2017300890,2017300890
+2017300891,2017300891
+2017300892,2017300892
+2017300893,2017300893
+2017300894,2017300894
+2017300895,2017300895
+2017300896,2017300896
+2017300897,2017300897
+2017300898,2017300898
+2017300899,2017300899
+2017300900,2017300900
+2017300901,2017300901
+2017300902,2017300902
+2017300903,2017300903
+2017300904,2017300904
+2017300905,2017300905
+2017300906,2017300906
+2017300907,2017300907
+2017300908,2017300908
+2017300909,2017300909
+2017300910,2017300910
+2017300911,2017300911
+2017300912,2017300912
+2017300913,2017300913
+2017300914,2017300914
+2017300915,2017300915
+2017300916,2017300916
+2017300917,2017300917
+2017300918,2017300918
+2017300919,2017300919
+2017300920,2017300920
+2017300921,2017300921
+2017300922,2017300922
+2017300923,2017300923
+2017300924,2017300924
+2017300925,2017300925
+2017300926,2017300926
+2017300927,2017300927
+2017300928,2017300928
+2017300929,2017300929
+2017300930,2017300930
+2017300931,2017300931
+2017300932,2017300932
+2017300933,2017300933
+2017300934,2017300934
+2017300935,2017300935
+2017300936,2017300936
+2017300937,2017300937
+2017300938,2017300938
+2017300939,2017300939
+2017300940,2017300940
+2017300941,2017300941
+2017300942,2017300942
+2017300943,2017300943
+2017300944,2017300944
+2017300945,2017300945
+2017300946,2017300946
+2017300947,2017300947
+2017300948,2017300948
+2017300949,2017300949
+2017300950,2017300950
+2017300951,2017300951
+2017300952,2017300952
+2017300953,2017300953
+2017300954,2017300954
+2017300955,2017300955
+2017300956,2017300956
+2017300957,2017300957
+2017300958,2017300958
+2017300959,2017300959
+2017300960,2017300960
+2017300961,2017300961
+2017300962,2017300962
+2017300963,2017300963
+2017300964,2017300964
+2017300965,2017300965
+2017300966,2017300966
+2017300967,2017300967
+2017300968,2017300968
+2017300969,2017300969
+2017300970,2017300970
+2017300971,2017300971
+2017300972,2017300972
+2017300973,2017300973
+2017300974,2017300974
+2017300975,2017300975
+2017300976,2017300976
+2017300977,2017300977
+2017300978,2017300978
+2017300979,2017300979
+2017300980,2017300980
+2017300981,2017300981
+2017300982,2017300982
+2017300983,2017300983
+2017300984,2017300984
+2017300985,2017300985
+2017300986,2017300986
+2017300987,2017300987
+2017300988,2017300988
+2017300989,2017300989
+2017300990,2017300990
+2017300991,2017300991
+2017300992,2017300992
+2017300993,2017300993
+2017300994,2017300994
+2017300995,2017300995
+2017300996,2017300996
+2017300997,2017300997
+2017300998,2017300998
+2017300999,2017300999
+2017301000,2017301000
+2017301001,2017301001
+2017301002,2017301002
+2017301003,2017301003
+2017301004,2017301004
+2017301005,2017301005
+2017301006,2017301006
+2017301007,2017301007
+2017301008,2017301008
+2017301009,2017301009
+2017301010,2017301010
+2017301011,2017301011
+2017301012,2017301012
+2017301013,2017301013
+2017301014,2017301014
+2017301015,2017301015
+2017301016,2017301016
+2017301017,2017301017
+2017301018,2017301018
+2017301019,2017301019
+2017301020,2017301020
+2017301021,2017301021
+2017301022,2017301022
+2017301023,2017301023
+2017301024,2017301024
+2017301025,2017301025
+2017301026,2017301026
+2017301027,2017301027
+2017301028,2017301028
+2017301029,2017301029
+2017301030,2017301030
+2017301031,2017301031
+2017301032,2017301032
+2017301033,2017301033
+2017301034,2017301034
+2017301035,2017301035
+2017301036,2017301036
+2017301037,2017301037
+2017301038,2017301038
+2017301039,2017301039
+2017301040,2017301040
+2017301041,2017301041
+2017301042,2017301042
+2017301043,2017301043
+2017301044,2017301044
+2017301045,2017301045
+2017301046,2017301046
+2017301047,2017301047
+2017301048,2017301048
+2017301049,2017301049
+2017301050,2017301050
+2017301051,2017301051
+2017301052,2017301052
+2017301053,2017301053
+2017301054,2017301054
+2017301055,2017301055
+2017301056,2017301056
+2017301057,2017301057
+2017301058,2017301058
+2017301059,2017301059
+2017301060,2017301060
+2017301061,2017301061
+2017301062,2017301062
+2017301063,2017301063
+2017301064,2017301064
+2017301065,2017301065
+2017301066,2017301066
+2017301067,2017301067
+2017301068,2017301068
+2017301069,2017301069
+2017301070,2017301070
+2017301071,2017301071
+2017301072,2017301072
+2017301073,2017301073
+2017301074,2017301074
+2017301075,2017301075
+2017301076,2017301076
+2017301077,2017301077
+2017301078,2017301078
+2017301079,2017301079
+2017301080,2017301080
+2017301081,2017301081
+2017301082,2017301082
+2017301083,2017301083
+2017301084,2017301084
+2017301085,2017301085
+2017301086,2017301086
+2017301087,2017301087
+2017301088,2017301088
+2017301089,2017301089
+2017301090,2017301090
+2017301091,2017301091
+2017301092,2017301092
+2017301093,2017301093
+2017301094,2017301094
+2017301095,2017301095
+2017301096,2017301096
+2017301097,2017301097
+2017301098,2017301098
+2017301099,2017301099
+2017301100,2017301100
+2017301101,2017301101
+2017301102,2017301102
+2017301103,2017301103
+2017301104,2017301104
+2017301105,2017301105
+2017301106,2017301106
+2017301107,2017301107
+2017301108,2017301108
+2017301109,2017301109
+2017301110,2017301110
+2017301111,2017301111
+2017301112,2017301112
+2017301113,2017301113
+2017301114,2017301114
+2017301115,2017301115
+2017301116,2017301116
+2017301117,2017301117
+2017301118,2017301118
+2017301119,2017301119
+2017301120,2017301120
+2017301121,2017301121
+2017301122,2017301122
+2017301123,2017301123
+2017301124,2017301124
+2017301125,2017301125
+2017301126,2017301126
+2017301127,2017301127
+2017301128,2017301128
+2017301129,2017301129
+2017301130,2017301130
+2017301131,2017301131
+2017301132,2017301132
+2017301133,2017301133
+2017301134,2017301134
+2017301135,2017301135
+2017301136,2017301136
+2017301137,2017301137
+2017301138,2017301138
+2017301139,2017301139
+2017301140,2017301140
+2017301141,2017301141
+2017301142,2017301142
+2017301143,2017301143
+2017301144,2017301144
+2017301145,2017301145
+2017301146,2017301146
+2017301147,2017301147
+2017301148,2017301148
+2017301149,2017301149
+2017301150,2017301150
+2017301151,2017301151
+2017301152,2017301152
+2017301153,2017301153
+2017301154,2017301154
+2017301155,2017301155
+2017301156,2017301156
+2017301157,2017301157
+2017301158,2017301158
+2017301159,2017301159
+2017301160,2017301160
+2017301161,2017301161
+2017301162,2017301162
+2017301163,2017301163
+2017301164,2017301164
+2017301165,2017301165
+2017301166,2017301166
+2017301167,2017301167
+2017301168,2017301168
+2017301169,2017301169
+2017301170,2017301170
+2017301171,2017301171
+2017301172,2017301172
+2017301173,2017301173
+2017301174,2017301174
+2017301175,2017301175
+2017301176,2017301176
+2017301177,2017301177
+2017301178,2017301178
+2017301179,2017301179
+2017301180,2017301180
+2017301181,2017301181
+2017301182,2017301182
+2017301183,2017301183
+2017301184,2017301184
+2017301185,2017301185
+2017301186,2017301186
+2017301187,2017301187
+2017301188,2017301188
+2017301189,2017301189
+2017301190,2017301190
+2017301191,2017301191
+2017301192,2017301192
+2017301193,2017301193
+2017301194,2017301194
+2017301195,2017301195
+2017301196,2017301196
+2017301197,2017301197
+2017301198,2017301198
+2017301199,2017301199
+2017301200,2017301200
+2017301201,2017301201
+2017301202,2017301202
+2017301203,2017301203
+2017301204,2017301204
+2017301205,2017301205
+2017301206,2017301206
+2017301207,2017301207
+2017301208,2017301208
+2017301209,2017301209
+2017301210,2017301210
+2017301211,2017301211
+2017301212,2017301212
+2017301213,2017301213
+2017301214,2017301214
+2017301215,2017301215
+2017301216,2017301216
+2017301217,2017301217
+2017301218,2017301218
+2017301219,2017301219
+2017301220,2017301220
+2017301221,2017301221
+2017301222,2017301222
+2017301223,2017301223
+2017301224,2017301224
+2017301225,2017301225
+2017301226,2017301226
+2017301227,2017301227
+2017301228,2017301228
+2017301229,2017301229
+2017301230,2017301230
+2017301231,2017301231
+2017301232,2017301232
+2017301233,2017301233
+2017301234,2017301234
+2017301235,2017301235
+2017301236,2017301236
+2017301237,2017301237
+2017301238,2017301238
+2017301239,2017301239
+2017301240,2017301240
+2017301241,2017301241
+2017301242,2017301242
+2017301243,2017301243
+2017301244,2017301244
+2017301245,2017301245
+2017301246,2017301246
+2017301247,2017301247
+2017301248,2017301248
+2017301249,2017301249
+2017301250,2017301250
+2017301251,2017301251
+2017301252,2017301252
+2017301253,2017301253
+2017301254,2017301254
+2017301255,2017301255
+2017301256,2017301256
+2017301257,2017301257
+2017301258,2017301258
+2017301259,2017301259
+2017301260,2017301260
+2017301261,2017301261
+2017301262,2017301262
+2017301263,2017301263
+2017301264,2017301264
+2017301265,2017301265
+2017301266,2017301266
+2017301267,2017301267
+2017301268,2017301268
+2017301269,2017301269
+2017301270,2017301270
+2017301271,2017301271
+2017301272,2017301272
+2017301273,2017301273
+2017301274,2017301274
+2017301275,2017301275
+2017301276,2017301276
+2017301277,2017301277
+2017301278,2017301278
+2017301279,2017301279
+2017301280,2017301280
+2017301281,2017301281
+2017301282,2017301282
+2017301283,2017301283
+2017301284,2017301284
+2017301285,2017301285
+2017301286,2017301286
+2017301287,2017301287
+2017301288,2017301288
+2017301289,2017301289
+2017301290,2017301290
+2017301291,2017301291
+2017301292,2017301292
+2017301293,2017301293
+2017301294,2017301294
+2017301295,2017301295
+2017301296,2017301296
+2017301297,2017301297
+2017301298,2017301298
+2017301299,2017301299
+2017301300,2017301300
+2017301301,2017301301
+2017301302,2017301302
+2017301303,2017301303
+2017301304,2017301304
+2017301305,2017301305
+2017301306,2017301306
+2017301307,2017301307
+2017301308,2017301308
+2017301309,2017301309
+2017301310,2017301310
+2017301311,2017301311
+2017301312,2017301312
+2017301313,2017301313
+2017301314,2017301314
+2017301315,2017301315
+2017301316,2017301316
+2017301317,2017301317
+2017301318,2017301318
+2017301319,2017301319
+2017301320,2017301320
+2017301321,2017301321
+2017301322,2017301322
+2017301323,2017301323
+2017301324,2017301324
+2017301325,2017301325
+2017301326,2017301326
+2017301327,2017301327
+2017301328,2017301328
+2017301329,2017301329
+2017301330,2017301330
+2017301331,2017301331
+2017301332,2017301332
+2017301333,2017301333
+2017301334,2017301334
+2017301335,2017301335
+2017301336,2017301336
+2017301337,2017301337
+2017301338,2017301338
+2017301339,2017301339
+2017301340,2017301340
+2017301341,2017301341
+2017301342,2017301342
+2017301343,2017301343
+2017301344,2017301344
+2017301345,2017301345
+2017301346,2017301346
+2017301347,2017301347
+2017301348,2017301348
+2017301349,2017301349
+2017301350,2017301350
+2017301351,2017301351
+2017301352,2017301352
+2017301353,2017301353
+2017301354,2017301354
+2017301355,2017301355
+2017301356,2017301356
+2017301357,2017301357
+2017301358,2017301358
+2017301359,2017301359
+2017301360,2017301360
+2017301361,2017301361
+2017301362,2017301362
+2017301363,2017301363
+2017301364,2017301364
+2017301365,2017301365
+2017301366,2017301366
+2017301367,2017301367
+2017301368,2017301368
+2017301369,2017301369
+2017301370,2017301370
+2017301371,2017301371
+2017301372,2017301372
+2017301373,2017301373
+2017301374,2017301374
+2017301375,2017301375
+2017301376,2017301376
+2017301377,2017301377
+2017301378,2017301378
+2017301379,2017301379
+2017301380,2017301380
+2017301381,2017301381
+2017301382,2017301382
+2017301383,2017301383
+2017301384,2017301384
+2017301385,2017301385
+2017301386,2017301386
+2017301387,2017301387
+2017301388,2017301388
+2017301389,2017301389
+2017301390,2017301390
+2017301391,2017301391
+2017301392,2017301392
+2017301393,2017301393
+2017301394,2017301394
+2017301395,2017301395
+2017301396,2017301396
+2017301397,2017301397
+2017301398,2017301398
+2017301399,2017301399
+2017301400,2017301400
+2017301401,2017301401
+2017301402,2017301402
+2017301403,2017301403
+2017301404,2017301404
+2017301405,2017301405
+2017301406,2017301406
+2017301407,2017301407
+2017301408,2017301408
+2017301409,2017301409
+2017301410,2017301410
+2017301411,2017301411
+2017301412,2017301412
+2017301413,2017301413
+2017301414,2017301414
+2017301415,2017301415
+2017301416,2017301416
+2017301417,2017301417
+2017301418,2017301418
+2017301419,2017301419
+2017301420,2017301420
+2017301421,2017301421
+2017301422,2017301422
+2017301423,2017301423
+2017301424,2017301424
+2017301425,2017301425
+2017301426,2017301426
+2017301427,2017301427
+2017301428,2017301428
+2017301429,2017301429
+2017301430,2017301430
+2017301431,2017301431
+2017301432,2017301432
+2017301433,2017301433
+2017301434,2017301434
+2017301435,2017301435
+2017301436,2017301436
+2017301437,2017301437
+2017301438,2017301438
+2017301439,2017301439
+2017301440,2017301440
+2017301441,2017301441
+2017301442,2017301442
+2017301443,2017301443
+2017301444,2017301444
+2017301445,2017301445
+2017301446,2017301446
+2017301447,2017301447
+2017301448,2017301448
+2017301449,2017301449
+2017301450,2017301450
+2017301451,2017301451
+2017301452,2017301452
+2017301453,2017301453
+2017301454,2017301454
+2017301455,2017301455
+2017301456,2017301456
+2017301457,2017301457
+2017301458,2017301458
+2017301459,2017301459
+2017301460,2017301460
+2017301461,2017301461
+2017301462,2017301462
+2017301463,2017301463
+2017301464,2017301464
+2017301465,2017301465
+2017301466,2017301466
+2017301467,2017301467
+2017301468,2017301468
+2017301469,2017301469
+2017301470,2017301470
+2017301471,2017301471
+2017301472,2017301472
+2017301473,2017301473
+2017301474,2017301474
+2017301475,2017301475
+2017301476,2017301476
+2017301477,2017301477
+2017301478,2017301478
+2017301479,2017301479
+2017301480,2017301480
+2017301481,2017301481
+2017301482,2017301482
+2017301483,2017301483
+2017301484,2017301484
+2017301485,2017301485
+2017301486,2017301486
+2017301487,2017301487
+2017301488,2017301488
+2017301489,2017301489
+2017301490,2017301490
+2017301491,2017301491
+2017301492,2017301492
+2017301493,2017301493
+2017301494,2017301494
+2017301495,2017301495
+2017301496,2017301496
+2017301497,2017301497
+2017301498,2017301498
+2017301499,2017301499
+2017301500,2017301500
+2017301501,2017301501
+2017301502,2017301502
+2017301503,2017301503
+2017301504,2017301504
+2017301505,2017301505
+2017301506,2017301506
+2017301507,2017301507
+2017301508,2017301508
+2017301509,2017301509
+2017301510,2017301510
+2017301511,2017301511
+2017301512,2017301512
+2017301513,2017301513
+2017301514,2017301514
+2017301515,2017301515
+2017301516,2017301516
+2017301517,2017301517
+2017301518,2017301518
+2017301519,2017301519
+2017301520,2017301520
+2017301521,2017301521
+2017301522,2017301522
+2017301523,2017301523
+2017301524,2017301524
+2017301525,2017301525
+2017301526,2017301526
+2017301527,2017301527
+2017301528,2017301528
+2017301529,2017301529
+2017301530,2017301530
+2017301531,2017301531
+2017301532,2017301532
+2017301533,2017301533
+2017301534,2017301534
+2017301535,2017301535
+2017301536,2017301536
+2017301537,2017301537
+2017301538,2017301538
+2017301539,2017301539
+2017301540,2017301540
+2017301541,2017301541
+2017301542,2017301542
+2017301543,2017301543
+2017301544,2017301544
+2017301545,2017301545
+2017301546,2017301546
+2017301547,2017301547
+2017301548,2017301548
+2017301549,2017301549
+2017301550,2017301550
+2017301551,2017301551
+2017301552,2017301552
+2017301553,2017301553
+2017301554,2017301554
+2017301555,2017301555
+2017301556,2017301556
+2017301557,2017301557
+2017301558,2017301558
+2017301559,2017301559
+2017301560,2017301560
+2017301561,2017301561
+2017301562,2017301562
+2017301563,2017301563
+2017301564,2017301564
+2017301565,2017301565
+2017301566,2017301566
+2017301567,2017301567
+2017301568,2017301568
+2017301569,2017301569
+2017301570,2017301570
+2017301571,2017301571
+2017301572,2017301572
+2017301573,2017301573
+2017301574,2017301574
+2017301575,2017301575
+2017301576,2017301576
+2017301577,2017301577
+2017301578,2017301578
+2017301579,2017301579
+2017301580,2017301580
+2017301581,2017301581
+2017301582,2017301582
+2017301583,2017301583
+2017301584,2017301584
+2017301585,2017301585
+2017301586,2017301586
+2017301587,2017301587
+2017301588,2017301588
+2017301589,2017301589
+2017301590,2017301590
+2017301591,2017301591
+2017301592,2017301592
+2017301593,2017301593
+2017301594,2017301594
+2017301595,2017301595
+2017301596,2017301596
+2017301597,2017301597
+2017301598,2017301598
+2017301599,2017301599
+2017301600,2017301600
+2017301601,2017301601
+2017301602,2017301602
+2017301603,2017301603
+2017301604,2017301604
+2017301605,2017301605
+2017301606,2017301606
+2017301607,2017301607
+2017301608,2017301608
+2017301609,2017301609
+2017301610,2017301610
+2017301611,2017301611
+2017301612,2017301612
+2017301613,2017301613
+2017301614,2017301614
+2017301615,2017301615
+2017301616,2017301616
+2017301617,2017301617
+2017301618,2017301618
+2017301619,2017301619
+2017301620,2017301620
+2017301621,2017301621
+2017301622,2017301622
+2017301623,2017301623
+2017301624,2017301624
+2017301625,2017301625
+2017301626,2017301626
+2017301627,2017301627
+2017301628,2017301628
+2017301629,2017301629
+2017301630,2017301630
+2017301631,2017301631
+2017301632,2017301632
+2017301633,2017301633
+2017301634,2017301634
+2017301635,2017301635
+2017301636,2017301636
+2017301637,2017301637
+2017301638,2017301638
+2017301639,2017301639
+2017301640,2017301640
+2017301641,2017301641
+2017301642,2017301642
+2017301643,2017301643
+2017301644,2017301644
+2017301645,2017301645
+2017301646,2017301646
+2017301647,2017301647
+2017301648,2017301648
+2017301649,2017301649
+2017301650,2017301650
+2017301651,2017301651
+2017301652,2017301652
+2017301653,2017301653
+2017301654,2017301654
+2017301655,2017301655
+2017301656,2017301656
+2017301657,2017301657
+2017301658,2017301658
+2017301659,2017301659
+2017301660,2017301660
+2017301661,2017301661
+2017301662,2017301662
+2017301663,2017301663
+2017301664,2017301664
+2017301665,2017301665
+2017301666,2017301666
+2017301667,2017301667
+2017301668,2017301668
+2017301669,2017301669
+2017301670,2017301670
+2017301671,2017301671
+2017301672,2017301672
+2017301673,2017301673
+2017301674,2017301674
+2017301675,2017301675
+2017301676,2017301676
+2017301677,2017301677
+2017301678,2017301678
+2017301679,2017301679
+2017301680,2017301680
+2017301681,2017301681
+2017301682,2017301682
+2017301683,2017301683
+2017301684,2017301684
+2017301685,2017301685
+2017301686,2017301686
+2017301687,2017301687
+2017301688,2017301688
+2017301689,2017301689
+2017301690,2017301690
+2017301691,2017301691
+2017301692,2017301692
+2017301693,2017301693
+2017301694,2017301694
+2017301695,2017301695
+2017301696,2017301696
+2017301697,2017301697
+2017301698,2017301698
+2017301699,2017301699
+2017301700,2017301700
+2017301701,2017301701
+2017301702,2017301702
+2017301703,2017301703
+2017301704,2017301704
+2017301705,2017301705
+2017301706,2017301706
+2017301707,2017301707
+2017301708,2017301708
+2017301709,2017301709
+2017301710,2017301710
+2017301711,2017301711
+2017301712,2017301712
+2017301713,2017301713
+2017301714,2017301714
+2017301715,2017301715
+2017301716,2017301716
+2017301717,2017301717
+2017301718,2017301718
+2017301719,2017301719
+2017301720,2017301720
+2017301721,2017301721
+2017301722,2017301722
+2017301723,2017301723
+2017301724,2017301724
+2017301725,2017301725
+2017301726,2017301726
+2017301727,2017301727
+2017301728,2017301728
+2017301729,2017301729
+2017301730,2017301730
+2017301731,2017301731
+2017301732,2017301732
+2017301733,2017301733
+2017301734,2017301734
+2017301735,2017301735
+2017301736,2017301736
+2017301737,2017301737
+2017301738,2017301738
+2017301739,2017301739
+2017301740,2017301740
+2017301741,2017301741
+2017301742,2017301742
+2017301743,2017301743
+2017301744,2017301744
+2017301745,2017301745
+2017301746,2017301746
+2017301747,2017301747
+2017301748,2017301748
+2017301749,2017301749
+2017301750,2017301750
+2017301751,2017301751
+2017301752,2017301752
+2017301753,2017301753
+2017301754,2017301754
+2017301755,2017301755
+2017301756,2017301756
+2017301757,2017301757
+2017301758,2017301758
+2017301759,2017301759
+2017301760,2017301760
+2017301761,2017301761
+2017301762,2017301762
+2017301763,2017301763
+2017301764,2017301764
+2017301765,2017301765
+2017301766,2017301766
+2017301767,2017301767
+2017301768,2017301768
+2017301769,2017301769
+2017301770,2017301770
+2017301771,2017301771
+2017301772,2017301772
+2017301773,2017301773
+2017301774,2017301774
+2017301775,2017301775
+2017301776,2017301776
+2017301777,2017301777
+2017301778,2017301778
+2017301779,2017301779
+2017301780,2017301780
+2017301781,2017301781
+2017301782,2017301782
+2017301783,2017301783
+2017301784,2017301784
+2017301785,2017301785
+2017301786,2017301786
+2017301787,2017301787
+2017301788,2017301788
+2017301789,2017301789
+2017301790,2017301790
+2017301791,2017301791
+2017301792,2017301792
+2017301793,2017301793
+2017301794,2017301794
+2017301795,2017301795
+2017301796,2017301796
+2017301797,2017301797
+2017301798,2017301798
+2017301799,2017301799
+2017301800,2017301800
+2017301801,2017301801
+2017301802,2017301802
+2017301803,2017301803
+2017301804,2017301804
+2017301805,2017301805
+2017301806,2017301806
+2017301807,2017301807
+2017301808,2017301808
+2017301809,2017301809
+2017301810,2017301810
+2017301811,2017301811
+2017301812,2017301812
+2017301813,2017301813
+2017301814,2017301814
+2017301815,2017301815
+2017301816,2017301816
+2017301817,2017301817
+2017301818,2017301818
+2017301819,2017301819
+2017301820,2017301820
+2017301821,2017301821
+2017301822,2017301822
+2017301823,2017301823
+2017301824,2017301824
+2017301825,2017301825
+2017301826,2017301826
+2017301827,2017301827
+2017301828,2017301828
+2017301829,2017301829
+2017301830,2017301830
+2017301831,2017301831
+2017301832,2017301832
+2017301833,2017301833
+2017301834,2017301834
+2017301835,2017301835
+2017301836,2017301836
+2017301837,2017301837
+2017301838,2017301838
+2017301839,2017301839
+2017301840,2017301840
+2017301841,2017301841
+2017301842,2017301842
+2017301843,2017301843
+2017301844,2017301844
+2017301845,2017301845
+2017301846,2017301846
+2017301847,2017301847
+2017301848,2017301848
+2017301849,2017301849
+2017301850,2017301850
+2017301851,2017301851
+2017301852,2017301852
+2017301853,2017301853
+2017301854,2017301854
+2017301855,2017301855
+2017301856,2017301856
+2017301857,2017301857
+2017301858,2017301858
+2017301859,2017301859
+2017301860,2017301860
+2017301861,2017301861
+2017301862,2017301862
+2017301863,2017301863
+2017301864,2017301864
+2017301865,2017301865
+2017301866,2017301866
+2017301867,2017301867
+2017301868,2017301868
+2017301869,2017301869
+2017301870,2017301870
+2017301871,2017301871
+2017301872,2017301872
+2017301873,2017301873
+2017301874,2017301874
+2017301875,2017301875
+2017301876,2017301876
+2017301877,2017301877
+2017301878,2017301878
+2017301879,2017301879
+2017301880,2017301880
+2017301881,2017301881
+2017301882,2017301882
+2017301883,2017301883
+2017301884,2017301884
+2017301885,2017301885
+2017301886,2017301886
+2017301887,2017301887
+2017301888,2017301888
+2017301889,2017301889
+2017301890,2017301890
+2017301891,2017301891
+2017301892,2017301892
+2017301893,2017301893
+2017301894,2017301894
+2017301895,2017301895
+2017301896,2017301896
+2017301897,2017301897
+2017301898,2017301898
+2017301899,2017301899
+2017301900,2017301900
+2017301901,2017301901
+2017301902,2017301902
+2017301903,2017301903
+2017301904,2017301904
+2017301905,2017301905
+2017301906,2017301906
+2017301907,2017301907
+2017301908,2017301908
+2017301909,2017301909
+2017301910,2017301910
+2017301911,2017301911
+2017301912,2017301912
+2017301913,2017301913
+2017301914,2017301914
+2017301915,2017301915
+2017301916,2017301916
+2017301917,2017301917
+2017301918,2017301918
+2017301919,2017301919
+2017301920,2017301920
+2017301921,2017301921
+2017301922,2017301922
+2017301923,2017301923
+2017301924,2017301924
+2017301925,2017301925
+2017301926,2017301926
+2017301927,2017301927
+2017301928,2017301928
+2017301929,2017301929
+2017301930,2017301930
+2017301931,2017301931
+2017301932,2017301932
+2017301933,2017301933
+2017301934,2017301934
+2017301935,2017301935
+2017301936,2017301936
+2017301937,2017301937
+2017301938,2017301938
+2017301939,2017301939
+2017301940,2017301940
+2017301941,2017301941
+2017301942,2017301942
+2017301943,2017301943
+2017301944,2017301944
+2017301945,2017301945
+2017301946,2017301946
+2017301947,2017301947
+2017301948,2017301948
+2017301949,2017301949
+2017301950,2017301950
+2017301951,2017301951
+2017301952,2017301952
+2017301953,2017301953
+2017301954,2017301954
+2017301955,2017301955
+2017301956,2017301956
+2017301957,2017301957
+2017301958,2017301958
+2017301959,2017301959
+2017301960,2017301960
+2017301961,2017301961
+2017301962,2017301962
+2017301963,2017301963
+2017301964,2017301964
+2017301965,2017301965
+2017301966,2017301966
+2017301967,2017301967
+2017301968,2017301968
+2017301969,2017301969
+2017301970,2017301970
+2017301971,2017301971
+2017301972,2017301972
+2017301973,2017301973
+2017301974,2017301974
+2017301975,2017301975
+2017301976,2017301976
+2017301977,2017301977
+2017301978,2017301978
+2017301979,2017301979
+2017301980,2017301980
+2017301981,2017301981
+2017301982,2017301982
+2017301983,2017301983
+2017301984,2017301984
+2017301985,2017301985
+2017301986,2017301986
+2017301987,2017301987
+2017301988,2017301988
+2017301989,2017301989
+2017301990,2017301990
+2017301991,2017301991
+2017301992,2017301992
+2017301993,2017301993
+2017301994,2017301994
+2017301995,2017301995
+2017301996,2017301996
+2017301997,2017301997
+2017301998,2017301998
+2017301999,2017301999
+2017302000,2017302000
+2017302001,2017302001
+2017302002,2017302002
+2017302003,2017302003
+2017302004,2017302004
+2017302005,2017302005
+2017302006,2017302006
+2017302007,2017302007
+2017302008,2017302008
+2017302009,2017302009
+2017302010,2017302010
+2017302011,2017302011
+2017302012,2017302012
+2017302013,2017302013
+2017302014,2017302014
+2017302015,2017302015
+2017302016,2017302016
+2017302017,2017302017
+2017302018,2017302018
+2017302019,2017302019
+2017302020,2017302020
+2017302021,2017302021
+2017302022,2017302022
+2017302023,2017302023
+2017302024,2017302024
+2017302025,2017302025
+2017302026,2017302026
+2017302027,2017302027
+2017302028,2017302028
+2017302029,2017302029
+2017302030,2017302030
+2017302031,2017302031
+2017302032,2017302032
+2017302033,2017302033
+2017302034,2017302034
+2017302035,2017302035
+2017302036,2017302036
+2017302037,2017302037
+2017302038,2017302038
+2017302039,2017302039
+2017302040,2017302040
+2017302041,2017302041
+2017302042,2017302042
+2017302043,2017302043
+2017302044,2017302044
+2017302045,2017302045
+2017302046,2017302046
+2017302047,2017302047
+2017302048,2017302048
+2017302049,2017302049
+2017302050,2017302050
+2017302051,2017302051
+2017302052,2017302052
+2017302053,2017302053
+2017302054,2017302054
+2017302055,2017302055
+2017302056,2017302056
+2017302057,2017302057
+2017302058,2017302058
+2017302059,2017302059
+2017302060,2017302060
+2017302061,2017302061
+2017302062,2017302062
+2017302063,2017302063
+2017302064,2017302064
+2017302065,2017302065
+2017302066,2017302066
+2017302067,2017302067
+2017302068,2017302068
+2017302069,2017302069
+2017302070,2017302070
+2017302071,2017302071
+2017302072,2017302072
+2017302073,2017302073
+2017302074,2017302074
+2017302075,2017302075
+2017302076,2017302076
+2017302077,2017302077
+2017302078,2017302078
+2017302079,2017302079
+2017302080,2017302080
+2017302081,2017302081
+2017302082,2017302082
+2017302083,2017302083
+2017302084,2017302084
+2017302085,2017302085
+2017302086,2017302086
+2017302087,2017302087
+2017302088,2017302088
+2017302089,2017302089
+2017302090,2017302090
+2017302091,2017302091
+2017302092,2017302092
+2017302093,2017302093
+2017302094,2017302094
+2017302095,2017302095
+2017302096,2017302096
+2017302097,2017302097
+2017302098,2017302098
+2017302099,2017302099
+2017302100,2017302100
+2017302101,2017302101
+2017302102,2017302102
+2017302103,2017302103
+2017302104,2017302104
+2017302105,2017302105
+2017302106,2017302106
+2017302107,2017302107
+2017302108,2017302108
+2017302109,2017302109
+2017302110,2017302110
+2017302111,2017302111
+2017302112,2017302112
+2017302113,2017302113
+2017302114,2017302114
+2017302115,2017302115
+2017302116,2017302116
+2017302117,2017302117
+2017302118,2017302118
+2017302119,2017302119
+2017302120,2017302120
+2017302121,2017302121
+2017302122,2017302122
+2017302123,2017302123
+2017302124,2017302124
+2017302125,2017302125
+2017302126,2017302126
+2017302127,2017302127
+2017302128,2017302128
+2017302129,2017302129
+2017302130,2017302130
+2017302131,2017302131
+2017302132,2017302132
+2017302133,2017302133
+2017302134,2017302134
+2017302135,2017302135
+2017302136,2017302136
+2017302137,2017302137
+2017302138,2017302138
+2017302139,2017302139
+2017302140,2017302140
+2017302141,2017302141
+2017302142,2017302142
+2017302143,2017302143
+2017302144,2017302144
+2017302145,2017302145
+2017302146,2017302146
+2017302147,2017302147
+2017302148,2017302148
+2017302149,2017302149
+2017302150,2017302150
+2017302151,2017302151
+2017302152,2017302152
+2017302153,2017302153
+2017302154,2017302154
+2017302155,2017302155
+2017302156,2017302156
+2017302157,2017302157
+2017302158,2017302158
+2017302159,2017302159
+2017302160,2017302160
+2017302161,2017302161
+2017302162,2017302162
+2017302163,2017302163
+2017302164,2017302164
+2017302165,2017302165
+2017302166,2017302166
+2017302167,2017302167
+2017302168,2017302168
+2017302169,2017302169
+2017302170,2017302170
+2017302171,2017302171
+2017302172,2017302172
+2017302173,2017302173
+2017302174,2017302174
+2017302175,2017302175
+2017302176,2017302176
+2017302177,2017302177
+2017302178,2017302178
+2017302179,2017302179
+2017302180,2017302180
+2017302181,2017302181
+2017302182,2017302182
+2017302183,2017302183
+2017302184,2017302184
+2017302185,2017302185
+2017302186,2017302186
+2017302187,2017302187
+2017302188,2017302188
+2017302189,2017302189
+2017302190,2017302190
+2017302191,2017302191
+2017302192,2017302192
+2017302193,2017302193
+2017302194,2017302194
+2017302195,2017302195
+2017302196,2017302196
+2017302197,2017302197
+2017302198,2017302198
+2017302199,2017302199
+2017302200,2017302200
+2017302201,2017302201
+2017302202,2017302202
+2017302203,2017302203
+2017302204,2017302204
+2017302205,2017302205
+2017302206,2017302206
+2017302207,2017302207
+2017302208,2017302208
+2017302209,2017302209
+2017302210,2017302210
+2017302211,2017302211
+2017302212,2017302212
+2017302213,2017302213
+2017302214,2017302214
+2017302215,2017302215
+2017302216,2017302216
+2017302217,2017302217
+2017302218,2017302218
+2017302219,2017302219
+2017302220,2017302220
+2017302221,2017302221
+2017302222,2017302222
+2017302223,2017302223
+2017302224,2017302224
+2017302225,2017302225
+2017302226,2017302226
+2017302227,2017302227
+2017302228,2017302228
+2017302229,2017302229
+2017302230,2017302230
+2017302231,2017302231
+2017302232,2017302232
+2017302233,2017302233
+2017302234,2017302234
+2017302235,2017302235
+2017302236,2017302236
+2017302237,2017302237
+2017302238,2017302238
+2017302239,2017302239
+2017302240,2017302240
+2017302241,2017302241
+2017302242,2017302242
+2017302243,2017302243
+2017302244,2017302244
+2017302245,2017302245
+2017302246,2017302246
+2017302247,2017302247
+2017302248,2017302248
+2017302249,2017302249
+2017302250,2017302250
+2017302251,2017302251
+2017302252,2017302252
+2017302253,2017302253
+2017302254,2017302254
+2017302255,2017302255
+2017302256,2017302256
+2017302257,2017302257
+2017302258,2017302258
+2017302259,2017302259
+2017302260,2017302260
+2017302261,2017302261
+2017302262,2017302262
+2017302263,2017302263
+2017302264,2017302264
+2017302265,2017302265
+2017302266,2017302266
+2017302267,2017302267
+2017302268,2017302268
+2017302269,2017302269
+2017302270,2017302270
+2017302271,2017302271
+2017302272,2017302272
+2017302273,2017302273
+2017302274,2017302274
+2017302275,2017302275
+2017302276,2017302276
+2017302277,2017302277
+2017302278,2017302278
+2017302279,2017302279
+2017302280,2017302280
+2017302281,2017302281
+2017302282,2017302282
+2017302283,2017302283
+2017302284,2017302284
+2017302285,2017302285
+2017302286,2017302286
+2017302287,2017302287
+2017302288,2017302288
+2017302289,2017302289
+2017302290,2017302290
+2017302291,2017302291
+2017302292,2017302292
+2017302293,2017302293
+2017302294,2017302294
+2017302295,2017302295
+2017302296,2017302296
+2017302297,2017302297
+2017302298,2017302298
+2017302299,2017302299
+2017302300,2017302300
+2017302301,2017302301
+2017302302,2017302302
+2017302303,2017302303
+2017302304,2017302304
+2017302305,2017302305
+2017302306,2017302306
+2017302307,2017302307
+2017302308,2017302308
+2017302309,2017302309
+2017302310,2017302310
+2017302311,2017302311
+2017302312,2017302312
+2017302313,2017302313
+2017302314,2017302314
+2017302315,2017302315
+2017302316,2017302316
+2017302317,2017302317
+2017302318,2017302318
+2017302319,2017302319
+2017302320,2017302320
+2017302321,2017302321
+2017302322,2017302322
+2017302323,2017302323
+2017302324,2017302324
+2017302325,2017302325
+2017302326,2017302326
+2017302327,2017302327
+2017302328,2017302328
+2017302329,2017302329
+2017302330,2017302330
+2017302331,2017302331
+2017302332,2017302332
+2017302333,2017302333
+2017302334,2017302334
+2017302335,2017302335
+2017302336,2017302336
+2017302337,2017302337
+2017302338,2017302338
+2017302339,2017302339
+2017302340,2017302340
+2017302341,2017302341
+2017302342,2017302342
+2017302343,2017302343
+2017302344,2017302344
+2017302345,2017302345
+2017302346,2017302346
+2017302347,2017302347
+2017302348,2017302348
+2017302349,2017302349
+2017302350,2017302350
+2017302351,2017302351
+2017302352,2017302352
+2017302353,2017302353
+2017302354,2017302354
+2017302355,2017302355
+2017302356,2017302356
+2017302357,2017302357
+2017302358,2017302358
+2017302359,2017302359
+2017302360,2017302360
+2017302361,2017302361
+2017302362,2017302362
+2017302363,2017302363
+2017302364,2017302364
+2017302365,2017302365
+2017302366,2017302366
+2017302367,2017302367
+2017302368,2017302368
+2017302369,2017302369
+2017302370,2017302370
+2017302371,2017302371
+2017302372,2017302372
+2017302373,2017302373
+2017302374,2017302374
+2017302375,2017302375
+2017302376,2017302376
+2017302377,2017302377
+2017302378,2017302378
+2017302379,2017302379
+2017302380,2017302380
+2017302381,2017302381
+2017302382,2017302382
+2017302383,2017302383
+2017302384,2017302384
+2017302385,2017302385
+2017302386,2017302386
+2017302387,2017302387
+2017302388,2017302388
+2017302389,2017302389
+2017302390,2017302390
+2017302391,2017302391
+2017302392,2017302392
+2017302393,2017302393
+2017302394,2017302394
+2017302395,2017302395
+2017302396,2017302396
+2017302397,2017302397
+2017302398,2017302398
+2017302399,2017302399
+2017302400,2017302400
+2017302401,2017302401
+2017302402,2017302402
+2017302403,2017302403
+2017302404,2017302404
+2017302405,2017302405
+2017302406,2017302406
+2017302407,2017302407
+2017302408,2017302408
+2017302409,2017302409
+2017302410,2017302410
+2017302411,2017302411
+2017302412,2017302412
+2017302413,2017302413
+2017302414,2017302414
+2017302415,2017302415
+2017302416,2017302416
+2017302417,2017302417
+2017302418,2017302418
+2017302419,2017302419
+2017302420,2017302420
+2017302421,2017302421
+2017302422,2017302422
+2017302423,2017302423
+2017302424,2017302424
+2017302425,2017302425
+2017302426,2017302426
+2017302427,2017302427
+2017302428,2017302428
+2017302429,2017302429
+2017302430,2017302430
+2017302431,2017302431
+2017302432,2017302432
+2017302433,2017302433
+2017302434,2017302434
+2017302435,2017302435
+2017302436,2017302436
+2017302437,2017302437
+2017302438,2017302438
+2017302439,2017302439
+2017302440,2017302440
+2017302441,2017302441
+2017302442,2017302442
+2017302443,2017302443
+2017302444,2017302444
+2017302445,2017302445
+2017302446,2017302446
+2017302447,2017302447
+2017302448,2017302448
+2017302449,2017302449
+2017302450,2017302450
+2017302451,2017302451
+2017302452,2017302452
+2017302453,2017302453
+2017302454,2017302454
+2017302455,2017302455
+2017302456,2017302456
+2017302457,2017302457
+2017302458,2017302458
+2017302459,2017302459
+2017302460,2017302460
+2017302461,2017302461
+2017302462,2017302462
+2017302463,2017302463
+2017302464,2017302464
+2017302465,2017302465
+2017302466,2017302466
+2017302467,2017302467
+2017302468,2017302468
+2017302469,2017302469
+2017302470,2017302470
+2017302471,2017302471
+2017302472,2017302472
+2017302473,2017302473
+2017302474,2017302474
+2017302475,2017302475
+2017302476,2017302476
+2017302477,2017302477
+2017302478,2017302478
+2017302479,2017302479
+2017302480,2017302480
+2017302481,2017302481
+2017302482,2017302482
+2017302483,2017302483
+2017302484,2017302484
+2017302485,2017302485
+2017302486,2017302486
+2017302487,2017302487
+2017302488,2017302488
+2017302489,2017302489
+2017302490,2017302490
+2017302491,2017302491
+2017302492,2017302492
+2017302493,2017302493
+2017302494,2017302494
+2017302495,2017302495
+2017302496,2017302496
+2017302497,2017302497
+2017302498,2017302498
+2017302499,2017302499
+2017302500,2017302500
+2017302501,2017302501
+2017302502,2017302502
+2017302503,2017302503
+2017302504,2017302504
+2017302505,2017302505
+2017302506,2017302506
+2017302507,2017302507
+2017302508,2017302508
+2017302509,2017302509
+2017302510,2017302510
+2017302511,2017302511
+2017302512,2017302512
+2017302513,2017302513
+2017302514,2017302514
+2017302515,2017302515
+2017302516,2017302516
+2017302517,2017302517
+2017302518,2017302518
+2017302519,2017302519
+2017302520,2017302520
+2017302521,2017302521
+2017302522,2017302522
+2017302523,2017302523
+2017302524,2017302524
+2017302525,2017302525
+2017302526,2017302526
+2017302527,2017302527
+2017302528,2017302528
+2017302529,2017302529
+2017302530,2017302530
+2017302531,2017302531
+2017302532,2017302532
+2017302533,2017302533
+2017302534,2017302534
+2017302535,2017302535
+2017302536,2017302536
+2017302537,2017302537
+2017302538,2017302538
+2017302539,2017302539
+2017302540,2017302540
+2017302541,2017302541
+2017302542,2017302542
+2017302543,2017302543
+2017302544,2017302544
+2017302545,2017302545
+2017302546,2017302546
+2017302547,2017302547
+2017302548,2017302548
+2017302549,2017302549
+2017302550,2017302550
+2017302551,2017302551
+2017302552,2017302552
+2017302553,2017302553
+2017302554,2017302554
+2017302555,2017302555
+2017302556,2017302556
+2017302557,2017302557
+2017302558,2017302558
+2017302559,2017302559
+2017302560,2017302560
+2017302561,2017302561
+2017302562,2017302562
+2017302563,2017302563
+2017302564,2017302564
+2017302565,2017302565
+2017302566,2017302566
+2017302567,2017302567
+2017302568,2017302568
+2017302569,2017302569
+2017302570,2017302570
+2017302571,2017302571
+2017302572,2017302572
+2017302573,2017302573
+2017302574,2017302574
+2017302575,2017302575
+2017302576,2017302576
+2017302577,2017302577
+2017302578,2017302578
+2017302579,2017302579
+2017302580,2017302580
+2017302581,2017302581
+2017302582,2017302582
+2017302583,2017302583
+2017302584,2017302584
+2017302585,2017302585
+2017302586,2017302586
+2017302587,2017302587
+2017302588,2017302588
+2017302589,2017302589
+2017302590,2017302590
+2017302591,2017302591
+2017302592,2017302592
+2017302593,2017302593
+2017302594,2017302594
+2017302595,2017302595
+2017302596,2017302596
+2017302597,2017302597
+2017302598,2017302598
+2017302599,2017302599
+2017302600,2017302600
+2017302601,2017302601
+2017302602,2017302602
+2017302603,2017302603
+2017302604,2017302604
+2017302605,2017302605
+2017302606,2017302606
+2017302607,2017302607
+2017302608,2017302608
+2017302609,2017302609
+2017302610,2017302610
+2017302611,2017302611
+2017302612,2017302612
+2017302613,2017302613
+2017302614,2017302614
+2017302615,2017302615
+2017302616,2017302616
+2017302617,2017302617
+2017302618,2017302618
+2017302619,2017302619
+2017302620,2017302620
+2017302621,2017302621
+2017302622,2017302622
+2017302623,2017302623
+2017302624,2017302624
+2017302625,2017302625
+2017302626,2017302626
+2017302627,2017302627
+2017302628,2017302628
+2017302629,2017302629
+2017302630,2017302630
+2017302631,2017302631
+2017302632,2017302632
+2017302633,2017302633
+2017302634,2017302634
+2017302635,2017302635
+2017302636,2017302636
+2017302637,2017302637
+2017302638,2017302638
+2017302639,2017302639
+2017302640,2017302640
+2017302641,2017302641
+2017302642,2017302642
+2017302643,2017302643
+2017302644,2017302644
+2017302645,2017302645
+2017302646,2017302646
+2017302647,2017302647
+2017302648,2017302648
+2017302649,2017302649
+2017302650,2017302650
+2017302651,2017302651
+2017302652,2017302652
+2017302653,2017302653
+2017302654,2017302654
+2017302655,2017302655
+2017302656,2017302656
+2017302657,2017302657
+2017302658,2017302658
+2017302659,2017302659
+2017302660,2017302660
+2017302661,2017302661
+2017302662,2017302662
+2017302663,2017302663
+2017302664,2017302664
+2017302665,2017302665
+2017302666,2017302666
+2017302667,2017302667
+2017302668,2017302668
+2017302669,2017302669
+2017302670,2017302670
+2017302671,2017302671
+2017302672,2017302672
+2017302673,2017302673
+2017302674,2017302674
+2017302675,2017302675
+2017302676,2017302676
+2017302677,2017302677
+2017302678,2017302678
+2017302679,2017302679
+2017302680,2017302680
+2017302681,2017302681
+2017302682,2017302682
+2017302683,2017302683
+2017302684,2017302684
+2017302685,2017302685
+2017302686,2017302686
+2017302687,2017302687
+2017302688,2017302688
+2017302689,2017302689
+2017302690,2017302690
+2017302691,2017302691
+2017302692,2017302692
+2017302693,2017302693
+2017302694,2017302694
+2017302695,2017302695
+2017302696,2017302696
+2017302697,2017302697
+2017302698,2017302698
+2017302699,2017302699
+2017302700,2017302700
+2017302701,2017302701
+2017302702,2017302702
+2017302703,2017302703
+2017302704,2017302704
+2017302705,2017302705
+2017302706,2017302706
+2017302707,2017302707
+2017302708,2017302708
+2017302709,2017302709
+2017302710,2017302710
+2017302711,2017302711
+2017302712,2017302712
+2017302713,2017302713
+2017302714,2017302714
+2017302715,2017302715
+2017302716,2017302716
+2017302717,2017302717
+2017302718,2017302718
+2017302719,2017302719
+2017302720,2017302720
+2017302721,2017302721
+2017302722,2017302722
+2017302723,2017302723
+2017302724,2017302724
+2017302725,2017302725
+2017302726,2017302726
+2017302727,2017302727
+2017302728,2017302728
+2017302729,2017302729
+2017302730,2017302730
+2017302731,2017302731
+2017302732,2017302732
+2017302733,2017302733
+2017302734,2017302734
+2017302735,2017302735
+2017302736,2017302736
+2017302737,2017302737
+2017302738,2017302738
+2017302739,2017302739
+2017302740,2017302740
+2017302741,2017302741
+2017302742,2017302742
+2017302743,2017302743
+2017302744,2017302744
+2017302745,2017302745
+2017302746,2017302746
+2017302747,2017302747
+2017302748,2017302748
+2017302749,2017302749
+2017302750,2017302750
+2017302751,2017302751
+2017302752,2017302752
+2017302753,2017302753
+2017302754,2017302754
+2017302755,2017302755
+2017302756,2017302756
+2017302757,2017302757
+2017302758,2017302758
+2017302759,2017302759
+2017302760,2017302760
+2017302761,2017302761
+2017302762,2017302762
+2017302763,2017302763
+2017302764,2017302764
+2017302765,2017302765
+2017302766,2017302766
+2017302767,2017302767
+2017302768,2017302768
+2017302769,2017302769
+2017302770,2017302770
+2017302771,2017302771
+2017302772,2017302772
+2017302773,2017302773
+2017302774,2017302774
+2017302775,2017302775
+2017302776,2017302776
+2017302777,2017302777
+2017302778,2017302778
+2017302779,2017302779
+2017302780,2017302780
+2017302781,2017302781
+2017302782,2017302782
+2017302783,2017302783
+2017302784,2017302784
+2017302785,2017302785
+2017302786,2017302786
+2017302787,2017302787
+2017302788,2017302788
+2017302789,2017302789
+2017302790,2017302790
+2017302791,2017302791
+2017302792,2017302792
+2017302793,2017302793
+2017302794,2017302794
+2017302795,2017302795
+2017302796,2017302796
+2017302797,2017302797
+2017302798,2017302798
+2017302799,2017302799
+2017302800,2017302800
+2017302801,2017302801
+2017302802,2017302802
+2017302803,2017302803
+2017302804,2017302804
+2017302805,2017302805
+2017302806,2017302806
+2017302807,2017302807
+2017302808,2017302808
+2017302809,2017302809
+2017302810,2017302810
+2017302811,2017302811
+2017302812,2017302812
+2017302813,2017302813
+2017302814,2017302814
+2017302815,2017302815
+2017302816,2017302816
+2017302817,2017302817
+2017302818,2017302818
+2017302819,2017302819
+2017302820,2017302820
+2017302821,2017302821
+2017302822,2017302822
+2017302823,2017302823
+2017302824,2017302824
+2017302825,2017302825
+2017302826,2017302826
+2017302827,2017302827
+2017302828,2017302828
+2017302829,2017302829
+2017302830,2017302830
+2017302831,2017302831
+2017302832,2017302832
+2017302833,2017302833
+2017302834,2017302834
+2017302835,2017302835
+2017302836,2017302836
+2017302837,2017302837
+2017302838,2017302838
+2017302839,2017302839
+2017302840,2017302840
+2017302841,2017302841
+2017302842,2017302842
+2017302843,2017302843
+2017302844,2017302844
+2017302845,2017302845
+2017302846,2017302846
+2017302847,2017302847
+2017302848,2017302848
+2017302849,2017302849
+2017302850,2017302850
+2017302851,2017302851
+2017302852,2017302852
+2017302853,2017302853
+2017302854,2017302854
+2017302855,2017302855
+2017302856,2017302856
+2017302857,2017302857
+2017302858,2017302858
+2017302859,2017302859
+2017302860,2017302860
+2017302861,2017302861
+2017302862,2017302862
+2017302863,2017302863
+2017302864,2017302864
+2017302865,2017302865
+2017302866,2017302866
+2017302867,2017302867
+2017302868,2017302868
+2017302869,2017302869
+2017302870,2017302870
+2017302871,2017302871
+2017302872,2017302872
+2017302873,2017302873
+2017302874,2017302874
+2017302875,2017302875
+2017302876,2017302876
+2017302877,2017302877
+2017302878,2017302878
+2017302879,2017302879
+2017302880,2017302880
+2017302881,2017302881
+2017302882,2017302882
+2017302883,2017302883
+2017302884,2017302884
+2017302885,2017302885
+2017302886,2017302886
+2017302887,2017302887
+2017302888,2017302888
+2017302889,2017302889
+2017302890,2017302890
+2017302891,2017302891
+2017302892,2017302892
+2017302893,2017302893
+2017302894,2017302894
+2017302895,2017302895
+2017302896,2017302896
+2017302897,2017302897
+2017302898,2017302898
+2017302899,2017302899
+2017302900,2017302900
+2017302901,2017302901
+2017302902,2017302902
+2017302903,2017302903
+2017302904,2017302904
+2017302905,2017302905
+2017302906,2017302906
+2017302907,2017302907
+2017302908,2017302908
+2017302909,2017302909
+2017302910,2017302910
+2017302911,2017302911
+2017302912,2017302912
+2017302913,2017302913
+2017302914,2017302914
+2017302915,2017302915
+2017302916,2017302916
+2017302917,2017302917
+2017302918,2017302918
+2017302919,2017302919
+2017302920,2017302920
+2017302921,2017302921
+2017302922,2017302922
+2017302923,2017302923
+2017302924,2017302924
+2017302925,2017302925
+2017302926,2017302926
+2017302927,2017302927
+2017302928,2017302928
+2017302929,2017302929
+2017302930,2017302930
+2017302931,2017302931
+2017302932,2017302932
+2017302933,2017302933
+2017302934,2017302934
+2017302935,2017302935
+2017302936,2017302936
+2017302937,2017302937
+2017302938,2017302938
+2017302939,2017302939
+2017302940,2017302940
+2017302941,2017302941
+2017302942,2017302942
+2017302943,2017302943
+2017302944,2017302944
+2017302945,2017302945
+2017302946,2017302946
+2017302947,2017302947
+2017302948,2017302948
+2017302949,2017302949
+2017302950,2017302950
+2017302951,2017302951
+2017302952,2017302952
+2017302953,2017302953
+2017302954,2017302954
+2017302955,2017302955
+2017302956,2017302956
+2017302957,2017302957
+2017302958,2017302958
+2017302959,2017302959
+2017302960,2017302960
+2017302961,2017302961
+2017302962,2017302962
+2017302963,2017302963
+2017302964,2017302964
+2017302965,2017302965
+2017302966,2017302966
+2017302967,2017302967
+2017302968,2017302968
+2017302969,2017302969
+2017302970,2017302970
+2017302971,2017302971
+2017302972,2017302972
+2017302973,2017302973
+2017302974,2017302974
+2017302975,2017302975
+2017302976,2017302976
+2017302977,2017302977
+2017302978,2017302978
+2017302979,2017302979
+2017302980,2017302980
+2017302981,2017302981
+2017302982,2017302982
+2017302983,2017302983
+2017302984,2017302984
+2017302985,2017302985
+2017302986,2017302986
+2017302987,2017302987
+2017302988,2017302988
+2017302989,2017302989
+2017302990,2017302990
+2017302991,2017302991
+2017302992,2017302992
+2017302993,2017302993
+2017302994,2017302994
+2017302995,2017302995
+2017302996,2017302996
+2017302997,2017302997
+2017302998,2017302998
+2017302999,2017302999
+2017303000,2017303000
+2017303001,2017303001
+2017303002,2017303002
+2017303003,2017303003
+2017303004,2017303004
+2017303005,2017303005
+2017303006,2017303006
+2017303007,2017303007
+2017303008,2017303008
+2017303009,2017303009
+2017303010,2017303010
+2017303011,2017303011
+2017303012,2017303012
+2017303013,2017303013
+2017303014,2017303014
+2017303015,2017303015
+2017303016,2017303016
+2017303017,2017303017
+2017303018,2017303018
+2017303019,2017303019
+2017303020,2017303020
+2017303021,2017303021
+2017303022,2017303022
+2017303023,2017303023
+2017303024,2017303024
+2017303025,2017303025
+2017303026,2017303026
+2017303027,2017303027
+2017303028,2017303028
+2017303029,2017303029
+2017303030,2017303030
+2017303031,2017303031
+2017303032,2017303032
+2017303033,2017303033
+2017303034,2017303034
+2017303035,2017303035
+2017303036,2017303036
+2017303037,2017303037
+2017303038,2017303038
+2017303039,2017303039
+2017303040,2017303040
+2017303041,2017303041
+2017303042,2017303042
+2017303043,2017303043
+2017303044,2017303044
+2017303045,2017303045
+2017303046,2017303046
+2017303047,2017303047
+2017303048,2017303048
+2017303049,2017303049
+2017303050,2017303050
+2017303051,2017303051
+2017303052,2017303052
+2017303053,2017303053
+2017303054,2017303054
+2017303055,2017303055
+2017303056,2017303056
+2017303057,2017303057
+2017303058,2017303058
+2017303059,2017303059
+2017303060,2017303060
+2017303061,2017303061
+2017303062,2017303062
+2017303063,2017303063
+2017303064,2017303064
+2017303065,2017303065
+2017303066,2017303066
+2017303067,2017303067
+2017303068,2017303068
+2017303069,2017303069
+2017303070,2017303070
+2017303071,2017303071
+2017303072,2017303072
+2017303073,2017303073
+2017303074,2017303074
+2017303075,2017303075
+2017303076,2017303076
+2017303077,2017303077
+2017303078,2017303078
+2017303079,2017303079
+2017303080,2017303080
+2017303081,2017303081
+2017303082,2017303082
+2017303083,2017303083
+2017303084,2017303084
+2017303085,2017303085
+2017303086,2017303086
+2017303087,2017303087
+2017303088,2017303088
+2017303089,2017303089
+2017303090,2017303090
+2017303091,2017303091
+2017303092,2017303092
+2017303093,2017303093
+2017303094,2017303094
+2017303095,2017303095
+2017303096,2017303096
+2017303097,2017303097
+2017303098,2017303098
+2017303099,2017303099
+2017303100,2017303100
+2017303101,2017303101
+2017303102,2017303102
+2017303103,2017303103
+2017303104,2017303104
+2017303105,2017303105
+2017303106,2017303106
+2017303107,2017303107
+2017303108,2017303108
+2017303109,2017303109
+2017303110,2017303110
+2017303111,2017303111
+2017303112,2017303112
+2017303113,2017303113
+2017303114,2017303114
+2017303115,2017303115
+2017303116,2017303116
+2017303117,2017303117
+2017303118,2017303118
+2017303119,2017303119
+2017303120,2017303120
+2017303121,2017303121
+2017303122,2017303122
+2017303123,2017303123
+2017303124,2017303124
+2017303125,2017303125
+2017303126,2017303126
+2017303127,2017303127
+2017303128,2017303128
+2017303129,2017303129
+2017303130,2017303130
+2017303131,2017303131
+2017303132,2017303132
+2017303133,2017303133
+2017303134,2017303134
+2017303135,2017303135
+2017303136,2017303136
+2017303137,2017303137
+2017303138,2017303138
+2017303139,2017303139
+2017303140,2017303140
+2017303141,2017303141
+2017303142,2017303142
+2017303143,2017303143
+2017303144,2017303144
+2017303145,2017303145
+2017303146,2017303146
+2017303147,2017303147
+2017303148,2017303148
+2017303149,2017303149
+2017303150,2017303150
+2017303151,2017303151
+2017303152,2017303152
+2017303153,2017303153
+2017303154,2017303154
+2017303155,2017303155
+2017303156,2017303156
+2017303157,2017303157
+2017303158,2017303158
+2017303159,2017303159
+2017303160,2017303160
+2017303161,2017303161
+2017303162,2017303162
+2017303163,2017303163
+2017303164,2017303164
+2017303165,2017303165
+2017303166,2017303166
+2017303167,2017303167
+2017303168,2017303168
+2017303169,2017303169
+2017303170,2017303170
+2017303171,2017303171
+2017303172,2017303172
+2017303173,2017303173
+2017303174,2017303174
+2017303175,2017303175
+2017303176,2017303176
+2017303177,2017303177
+2017303178,2017303178
+2017303179,2017303179
+2017303180,2017303180
+2017303181,2017303181
+2017303182,2017303182
+2017303183,2017303183
+2017303184,2017303184
+2017303185,2017303185
+2017303186,2017303186
+2017303187,2017303187
+2017303188,2017303188
+2017303189,2017303189
+2017303190,2017303190
+2017303191,2017303191
+2017303192,2017303192
+2017303193,2017303193
+2017303194,2017303194
+2017303195,2017303195
+2017303196,2017303196
+2017303197,2017303197
+2017303198,2017303198
+2017303199,2017303199
+2017303200,2017303200
+2017303201,2017303201
+2017303202,2017303202
+2017303203,2017303203
+2017303204,2017303204
+2017303205,2017303205
+2017303206,2017303206
+2017303207,2017303207
+2017303208,2017303208
+2017303209,2017303209
+2017303210,2017303210
+2017303211,2017303211
+2017303212,2017303212
+2017303213,2017303213
+2017303214,2017303214
+2017303215,2017303215
+2017303216,2017303216
+2017303217,2017303217
+2017303218,2017303218
+2017303219,2017303219
+2017303220,2017303220
+2017303221,2017303221
+2017303222,2017303222
+2017303223,2017303223
+2017303224,2017303224
+2017303225,2017303225
+2017303226,2017303226
+2017303227,2017303227
+2017303228,2017303228
+2017303229,2017303229
+2017303230,2017303230
+2017303231,2017303231
+2017303232,2017303232
+2017303233,2017303233
+2017303234,2017303234
+2017303235,2017303235
+2017303236,2017303236
+2017303237,2017303237
+2017303238,2017303238
+2017303239,2017303239
+2017303240,2017303240
+2017303241,2017303241
+2017303242,2017303242
+2017303243,2017303243
+2017303244,2017303244
+2017303245,2017303245
+2017303246,2017303246
+2017303247,2017303247
+2017303248,2017303248
+2017303249,2017303249
+2017303250,2017303250
+2017303251,2017303251
+2017303252,2017303252
+2017303253,2017303253
+2017303254,2017303254
+2017303255,2017303255
+2017303256,2017303256
+2017303257,2017303257
+2017303258,2017303258
+2017303259,2017303259
+2017303260,2017303260
+2017303261,2017303261
+2017303262,2017303262
+2017303263,2017303263
+2017303264,2017303264
+2017303265,2017303265
+2017303266,2017303266
+2017303267,2017303267
+2017303268,2017303268
+2017303269,2017303269
+2017303270,2017303270
+2017303271,2017303271
+2017303272,2017303272
+2017303273,2017303273
+2017303274,2017303274
+2017303275,2017303275
+2017303276,2017303276
+2017303277,2017303277
+2017303278,2017303278
+2017303279,2017303279
+2017303280,2017303280
+2017303281,2017303281
+2017303282,2017303282
+2017303283,2017303283
+2017303284,2017303284
+2017303285,2017303285
+2017303286,2017303286
+2017303287,2017303287
+2017303288,2017303288
+2017303289,2017303289
+2017303290,2017303290
+2017303291,2017303291
+2017303292,2017303292
+2017303293,2017303293
+2017303294,2017303294
+2017303295,2017303295
+2017303296,2017303296
+2017303297,2017303297
+2017303298,2017303298
+2017303299,2017303299
+2017303300,2017303300
+2017303301,2017303301
+2017303302,2017303302
+2017303303,2017303303
+2017303304,2017303304
+2017303305,2017303305
+2017303306,2017303306
+2017303307,2017303307
+2017303308,2017303308
+2017303309,2017303309
+2017303310,2017303310
+2017303311,2017303311
+2017303312,2017303312
+2017303313,2017303313
+2017303314,2017303314
+2017303315,2017303315
+2017303316,2017303316
+2017303317,2017303317
+2017303318,2017303318
+2017303319,2017303319
+2017303320,2017303320
+2017303321,2017303321
+2017303322,2017303322
+2017303323,2017303323
+2017303324,2017303324
+2017303325,2017303325
+2017303326,2017303326
+2017303327,2017303327
+2017303328,2017303328
+2017303329,2017303329
+2017303330,2017303330
+2017303331,2017303331
+2017303332,2017303332
+2017303333,2017303333
+2017303334,2017303334
+2017303335,2017303335
+2017303336,2017303336
+2017303337,2017303337
+2017303338,2017303338
+2017303339,2017303339
+2017303340,2017303340
+2017303341,2017303341
+2017303342,2017303342
+2017303343,2017303343
+2017303344,2017303344
+2017303345,2017303345
+2017303346,2017303346
+2017303347,2017303347
+2017303348,2017303348
+2017303349,2017303349
+2017303350,2017303350
+2017303351,2017303351
+2017303352,2017303352
+2017303353,2017303353
+2017303354,2017303354
+2017303355,2017303355
+2017303356,2017303356
+2017303357,2017303357
+2017303358,2017303358
+2017303359,2017303359
+2017303360,2017303360
+2017303361,2017303361
+2017303362,2017303362
+2017303363,2017303363
+2017303364,2017303364
+2017303365,2017303365
+2017303366,2017303366
+2017303367,2017303367
+2017303368,2017303368
+2017303369,2017303369
+2017303370,2017303370
+2017303371,2017303371
+2017303372,2017303372
+2017303373,2017303373
+2017303374,2017303374
+2017303375,2017303375
+2017303376,2017303376
+2017303377,2017303377
+2017303378,2017303378
+2017303379,2017303379
+2017303380,2017303380
+2017303381,2017303381
+2017303382,2017303382
+2017303383,2017303383
+2017303384,2017303384
+2017303385,2017303385
+2017303386,2017303386
+2017303387,2017303387
+2017303388,2017303388
+2017303389,2017303389
+2017303390,2017303390
+2017303391,2017303391
+2017303392,2017303392
+2017303393,2017303393
+2017303394,2017303394
+2017303395,2017303395
+2017303396,2017303396
+2017303397,2017303397
+2017303398,2017303398
+2017303399,2017303399
+2017303400,2017303400
+2017303401,2017303401
+2017303402,2017303402
+2017303403,2017303403
+2017303404,2017303404
+2017303405,2017303405
+2017303406,2017303406
+2017303407,2017303407
+2017303408,2017303408
+2017303409,2017303409
+2017303410,2017303410
+2017303411,2017303411
+2017303412,2017303412
+2017303413,2017303413
+2017303414,2017303414
+2017303415,2017303415
+2017303416,2017303416
+2017303417,2017303417
+2017303418,2017303418
+2017303419,2017303419
+2017303420,2017303420
+2017303421,2017303421
+2017303422,2017303422
+2017303423,2017303423
+2017303424,2017303424
+2017303425,2017303425
+2017303426,2017303426
+2017303427,2017303427
+2017303428,2017303428
+2017303429,2017303429
+2017303430,2017303430
+2017303431,2017303431
+2017303432,2017303432
+2017303433,2017303433
+2017303434,2017303434
+2017303435,2017303435
+2017303436,2017303436
+2017303437,2017303437
+2017303438,2017303438
+2017303439,2017303439
+2017303440,2017303440
+2017303441,2017303441
+2017303442,2017303442
+2017303443,2017303443
+2017303444,2017303444
+2017303445,2017303445
+2017303446,2017303446
+2017303447,2017303447
+2017303448,2017303448
+2017303449,2017303449
+2017303450,2017303450
+2017303451,2017303451
+2017303452,2017303452
+2017303453,2017303453
+2017303454,2017303454
+2017303455,2017303455
+2017303456,2017303456
+2017303457,2017303457
+2017303458,2017303458
+2017303459,2017303459
+2017303460,2017303460
+2017303461,2017303461
+2017303462,2017303462
+2017303463,2017303463
+2017303464,2017303464
+2017303465,2017303465
+2017303466,2017303466
+2017303467,2017303467
+2017303468,2017303468
+2017303469,2017303469
+2017303470,2017303470
+2017303471,2017303471
+2017303472,2017303472
+2017303473,2017303473
+2017303474,2017303474
+2017303475,2017303475
+2017303476,2017303476
+2017303477,2017303477
+2017303478,2017303478
+2017303479,2017303479
+2017303480,2017303480
+2017303481,2017303481
+2017303482,2017303482
+2017303483,2017303483
+2017303484,2017303484
+2017303485,2017303485
+2017303486,2017303486
+2017303487,2017303487
+2017303488,2017303488
+2017303489,2017303489
+2017303490,2017303490
+2017303491,2017303491
+2017303492,2017303492
+2017303493,2017303493
+2017303494,2017303494
+2017303495,2017303495
+2017303496,2017303496
+2017303497,2017303497
+2017303498,2017303498
+2017303499,2017303499
+2017303500,2017303500
+2017303501,2017303501
+2017303502,2017303502
+2017303503,2017303503
+2017303504,2017303504
+2017303505,2017303505
+2017303506,2017303506
+2017303507,2017303507
+2017303508,2017303508
+2017303509,2017303509
+2017303510,2017303510
+2017303511,2017303511
+2017303512,2017303512
+2017303513,2017303513
+2017303514,2017303514
+2017303515,2017303515
+2017303516,2017303516
+2017303517,2017303517
+2017303518,2017303518
+2017303519,2017303519
+2017303520,2017303520
+2017303521,2017303521
+2017303522,2017303522
+2017303523,2017303523
+2017303524,2017303524
+2017303525,2017303525
+2017303526,2017303526
+2017303527,2017303527
+2017303528,2017303528
+2017303529,2017303529
+2017303530,2017303530
+2017303531,2017303531
+2017303532,2017303532
+2017303533,2017303533
+2017303534,2017303534
+2017303535,2017303535
+2017303536,2017303536
+2017303537,2017303537
+2017303538,2017303538
+2017303539,2017303539
+2017303540,2017303540
+2017303541,2017303541
+2017303542,2017303542
+2017303543,2017303543
+2017303544,2017303544
+2017303545,2017303545
+2017303546,2017303546
+2017303547,2017303547
+2017303548,2017303548
+2017303549,2017303549
+2017303550,2017303550
+2017303551,2017303551
+2017303552,2017303552
+2017303553,2017303553
+2017303554,2017303554
+2017303555,2017303555
+2017303556,2017303556
+2017303557,2017303557
+2017303558,2017303558
+2017303559,2017303559
+2017303560,2017303560
+2017303561,2017303561
+2017303562,2017303562
+2017303563,2017303563
+2017303564,2017303564
+2017303565,2017303565
+2017303566,2017303566
+2017303567,2017303567
+2017303568,2017303568
+2017303569,2017303569
+2017303570,2017303570
+2017303571,2017303571
+2017303572,2017303572
+2017303573,2017303573
+2017303574,2017303574
+2017303575,2017303575
+2017303576,2017303576
+2017303577,2017303577
+2017303578,2017303578
+2017303579,2017303579
+2017303580,2017303580
+2017303581,2017303581
+2017303582,2017303582
+2017303583,2017303583
+2017303584,2017303584
+2017303585,2017303585
+2017303586,2017303586
+2017303587,2017303587
+2017303588,2017303588
+2017303589,2017303589
+2017303590,2017303590
+2017303591,2017303591
+2017303592,2017303592
+2017303593,2017303593
+2017303594,2017303594
+2017303595,2017303595
+2017303596,2017303596
+2017303597,2017303597
+2017303598,2017303598
+2017303599,2017303599
+2017303600,2017303600
+2017303601,2017303601
+2017303602,2017303602
+2017303603,2017303603
+2017303604,2017303604
+2017303605,2017303605
+2017303606,2017303606
+2017303607,2017303607
+2017303608,2017303608
+2017303609,2017303609
+2017303610,2017303610
+2017303611,2017303611
+2017303612,2017303612
+2017303613,2017303613
+2017303614,2017303614
+2017303615,2017303615
+2017303616,2017303616
+2017303617,2017303617
+2017303618,2017303618
+2017303619,2017303619
+2017303620,2017303620
+2017303621,2017303621
+2017303622,2017303622
+2017303623,2017303623
+2017303624,2017303624
+2017303625,2017303625
+2017303626,2017303626
+2017303627,2017303627
+2017303628,2017303628
+2017303629,2017303629
+2017303630,2017303630
+2017303631,2017303631
+2017303632,2017303632
+2017303633,2017303633
+2017303634,2017303634
+2017303635,2017303635
+2017303636,2017303636
+2017303637,2017303637
+2017303638,2017303638
+2017303639,2017303639
+2017303640,2017303640
+2017303641,2017303641
+2017303642,2017303642
+2017303643,2017303643
+2017303644,2017303644
+2017303645,2017303645
+2017303646,2017303646
+2017303647,2017303647
+2017303648,2017303648
+2017303649,2017303649
+2017303650,2017303650
+2017303651,2017303651
+2017303652,2017303652
+2017303653,2017303653
+2017303654,2017303654
+2017303655,2017303655
+2017303656,2017303656
+2017303657,2017303657
+2017303658,2017303658
+2017303659,2017303659
+2017303660,2017303660
+2017303661,2017303661
+2017303662,2017303662
+2017303663,2017303663
+2017303664,2017303664
+2017303665,2017303665
+2017303666,2017303666
+2017303667,2017303667
+2017303668,2017303668
+2017303669,2017303669
+2017303670,2017303670
+2017303671,2017303671
+2017303672,2017303672
+2017303673,2017303673
+2017303674,2017303674
+2017303675,2017303675
+2017303676,2017303676
+2017303677,2017303677
+2017303678,2017303678
+2017303679,2017303679
+2017303680,2017303680
+2017303681,2017303681
+2017303682,2017303682
+2017303683,2017303683
+2017303684,2017303684
+2017303685,2017303685
+2017303686,2017303686
+2017303687,2017303687
+2017303688,2017303688
+2017303689,2017303689
+2017303690,2017303690
+2017370129,2017370129
+2017370150,2017370150
+2017371001,2017371001
+2017371002,2017371002
+2017371003,2017371003
+2017371004,2017371004
+2017371005,2017371005
+2017371006,2017371006
+2017371007,2017371007
+2017371008,2017371008
+2017371009,2017371009
+2017371010,2017371010
+2017371011,2017371011
+2017371012,2017371012
+2017371013,2017371013
+2017371014,2017371014
+2017371015,2017371015
+2017371016,2017371016
+2017371017,2017370150
+2017371018,2017370129
+2017371019,2017371019
+2017373001,2017373001
+2017373002,2017373002
+2017373003,2017373003
+2017373004,2017373004
+2017373005,2017373005
+2017373006,2017373006
+2017373007,2017373007
+2017373008,2017373008
+2017373009,2017373009
+2017373010,2017373010
+2017373011,2017373011
+2017373012,2017373012
+2017373013,2017373013
+2017373014,2017373014
+2017373015,2017373015
+2017373016,2017373016
+2017373017,2017373017
+2017373018,2017373018
+2017373019,2017373019
+2017373020,2017373020
+2017373021,2017373021
+2017373022,2017373022
+2017373023,2017373023
+2017373024,2017373024
+2017373025,2017373025
+2017373026,2017373026
+2017373027,2017373027
+2017373028,2017373028
+2017373029,2017373029
+2017373030,2017373030
+2017373031,2017373031
+2017373032,2017373032
+2017373033,2017373033
+2017373034,2017373034
+2017373035,2017373035
+2017373036,2017373036
+2017373037,2017373037
+2017373038,2017373038
+2017373039,2017373039
+2017373040,2017373040
+2017373041,2017373041
+2017373042,2017373042
+2017373043,2017373043
+2017373044,2017373044
+2017373045,2017373045
+2017380101,2017380101
+2017380102,2017380102
+2017380103,2017380103
+2017380105,2017380105
+2017380106,2017380106
+2017380107,2017380107
+2017380108,2017380108
+2017380109,2017380109
+2017380110,2017380110
+2017380111,2017380111
+2017380112,2017380112
+2017380113,2017380113
+2017380116,2017380116
+2017380117,2017380117
+2017380118,2017380118
+2017380119,2017380119
+2017380201,2017380201
+2017380202,2017380202
+2017380502,2017380502
+2017380503,2017380503
+2017380504,2017380504
+2017380505,2017380505
+2017380506,2017380506
+2017380507,2017380507
+2017380508,2017380508
+2017380509,2017380509
+2017380510,2017380510
+2017380512,2017380512
+2017380601,2017380601
+2017380602,2017380602
+2017380603,2017380603
+2017380604,2017380604
+2017380605,2017380605
+2017380606,2017380606
+2017380801,2017380801
+2017380802,2017380802
+2017380901,2017380901
+2017380902,2017380902
+2017380903,2017380903
+2017380904,2017380904
+2017381001,2017381001
+2017381002,2017381002
+2017381003,2017381003
+2017381004,2017381004
+2017381005,2017381005
+2017381006,2017381006
+2017381204,2017381204
+2017381205,2017381205
+2017381206,2017381206
+2017381208,2017381208
+2017381209,2017381209
+2017381210,2017381210
+2017381211,2017381211
+2017381212,2017381212
+2017381213,2017381213
+2017381214,2017381214
+2017381215,2017381215
+2017381216,2017381216
+2017381217,2017381217
+2017381218,2017381218
+2017381219,2017381219
+2017381220,2017381220
+2017381221,2017381221
+2017381301,2017381301
+2017381303,2017381303
+2017381306,2017381306
+2017381503,2017381503
+2017381601,2017381601
+2017381602,2017381602
+2017409033,2017371019
+2017700001,2017700001
+2017700002,2017700002
+2017700003,2017700003
+2017700004,2017700004
+2017700005,2017700005
+2017700006,2017700006
+2017700007,2017700007
+2017700008,2017700008
+2017700009,2017700009
+2017700010,2017700010
+2017700011,2017700011
+2017700012,2017700012
+2017700013,2017700013
+2017700014,2017700014
+2017700015,2017700015
+2017700016,2017700016
+2017700017,2017700017
+2017700018,2017700018
+2017700019,2017700019
+2017700020,2017700020
+2017700021,2017700021
+2017700022,2017700022
+2017700023,2017700023
+2017700024,2017700024
+2017700025,2017700025
+2017700026,2017700026
+2017700027,2017700027
+2017700028,2017700028
+2017700029,2017700029
+2017700030,2017700030
+2017700031,2017700031
+2017700032,2017700032
+2017700033,2017700033
+2017700034,2017700034
+2017700035,2017700035
+2017700036,2017700036
+2017700037,2017700037
+2017700038,2017700038
+2017700039,2017700039
+2017700040,2017700040
+2017700041,2017700041
+2017700042,2017700042
+2017700043,2017700043
+2017700044,2017700044
+2017700045,2017700045
+2017700046,2017700046
+2017700047,2017700047
+2017700048,2017700048
+2017700049,2017700049
+2017700050,2017700050
+2017700051,2017700051
+2017700052,2017700052
+2017700053,2017700053
+2017700054,2017700054
+2017700055,2017700055
+2017700056,2017700056
+2017700057,2017700057
+2017700058,2017700058
+2017700059,2017700059
+2017700060,2017700060
+2017700061,2017700061
+2017700062,2017700062
+2017700063,2017700063
+2017700064,2017700064
+2017700065,2017700065
+2017700066,2017700066
+2017700067,2017700067
+2017700068,2017700068
+2017700069,2017700069
+2018010001,2018010001
+2018010003,2007300039
+2018010004,053493
+2018010005,050250
+2018010006,2018010006
+2018010008,2018010008
+2018010009,050966
+2018010012,2015060178
+2018010013,2018010013
+2018010017,2018010017
+2018010018,2018010018
+2018010019,2018010019
+2018010020,2017060038
+2018010021,051452
+2018010022,2018010022
+2018010023,2018010023
+2018010024,2007200383
+2018010026,060216
+2018010027,2018010027
+2018010028,2018010028
+2018010029,2018010029
+2018010031,2008200013
+2018010032,2007201061
+2018010033,2018010033
+2018010034,062165
+2018010035,2018010035
+2018010036,050961
+2018010037,2007300107
+2018010038,060514
+2018010039,2007300313
+2018010040,2018010040
+2018010041,050377
+2018010042,2018010042
+2018010043,2018010043
+2018010044,2018010044
+2018010045,2018010045
+2018010046,2008300718
+2018010047,2018010047
+2018010048,2018010048
+2018010050,2007302106
+2018010052,2018010052
+2018010054,2018010054
+2018010055,2018010055
+2018010056,2007300867
+2018010058,2018010058
+2018010059,2018010059
+2018010061,2018010061
+2018010062,2018010062
+2018010063,2018010063
+2018010064,20170P0304
+2018010065,2018010065
+2018010066,047040160
+2018010067,2018010067
+2018010068,2018010068
+2018010069,2018010069
+2018010070,2018010070
+2018010071,2012200428
+2018010072,2018010072
+2018010073,2009300045
+2018010075,2018010075
+2018010076,2018010076
+2018010077,2018010077
+2018010078,2018010078
+2018010079,062843
+2018010081,060881
+2018010082,2008301167
+2018010083,061189
+2018010086,2018010086
+2018010087,2018010087
+2018010088,2018010088
+2018010089,2018010089
+2018010091,2018010091
+2018010092,20170P0123
+2018010093,2018010093
+2018010094,2018010094
+2018010095,2018010095
+2018010096,2018010096
+2018010097,2018010097
+2018010098,2018010098
+2018010099,2007100260
+2018010100,20170P1111
+2018010101,2018010101
+2018010102,2009302686
+2018010103,2011201202
+2018010104,2018010104
+2018010105,2018010105
+2018010106,2018010106
+2018010107,2018010107
+2018010108,2018010108
+2018010109,046026043
+2018010110,2018010110
+2018010111,2018010111
+2018010112,2018010112
+2018010113,2018010113
+2018010114,2018010114
+2018010115,2018010115
+2018010116,2008300557
+2018010117,2018010117
+2018010118,2012202595
+2018010119,2018010119
+2018010120,2008302951
+2018010121,2018010121
+2018010122,2017060037
+2018010123,2008300193
+2018010124,2018010124
+2018010125,2018010125
+2018010126,2018010126
+2018010127,2018010127
+2018010128,2018010128
+2018010129,2018010129
+2018010130,2018010130
+2018010131,2018010131
+2018010132,2018010132
+2018010133,2018010133
+2018010134,2007201019
+2018010135,2018010135
+2018010137,2018010137
+2018010143,2018010143
+2018010144,2018010144
+2018010145,2018010145
+2018010149,2018010149
+2018010150,060447
+2018010151,2018010151
+2018010152,2007301553
+2018010155,2018010155
+2018010156,2018010156
+2018010157,2018010157
+2018010158,2018010158
+2018010159,053547
+2018010160,2018010160
+2018010161,2018010161
+2018010162,2018010162
+2018010164,2018010164
+2018010165,2018010165
+2018010166,2018010166
+2018010168,2007300387
+2018010169,2007302937
+2018010170,2018010170
+2018010171,2018010171
+2018010172,2018010172
+2018010173,2018010173
+2018010174,2018010174
+2018010175,2018010175
+2018010176,2018010176
+2018010177,2018010177
+2018010179,2018010179
+2018010180,2018010180
+2018010181,2014300834
+2018010182,2018010182
+2018010183,2007302785
+2018010184,2008302689
+2018010185,2008302265
+2018010186,2018010186
+2018010187,2018010187
+2018010190,2018010190
+2018010191,2018010191
+2018010192,042650
+2018010194,2018010194
+2018010195,2008300635
+2018010196,2018010196
+2018010197,2010262298
+2018010198,2018010198
+2018010199,050714
+2018010200,2018010200
+2018010201,040119
+2018010202,2011200946
+2018010203,2010200074
+2018010204,2016060195
+2018010205,2018010205
+2018010206,2007300278
+2018010208,2018010208
+2018010209,2018010209
+2018010210,2018010210
+2018010211,2011200450
+2018010212,2008300915
+2018010214,2018010214
+2018010215,2009300959
+2018010218,2018010218
+2018010219,2018010219
+2018010220,2018010220
+2018010221,2018010221
+2018010223,2018010223
+2018010224,2018010224
+2018010225,2018010225
+2018010226,2018010226
+2018010227,2018010227
+2018010228,2018010228
+2018010229,20170P2007
+2018010231,2018010231
+2018010232,2018010232
+2018010233,062417
+2018010234,2018010234
+2018010235,066010077
+2018010236,2018010236
+2018010237,2018010237
+2018010238,2018010238
+2018010239,2018010239
+2018010240,2018010240
+2018010241,2018010241
+2018010244,2018010244
+2018010247,2018010247
+2018010248,052785
+2018010250,2018010250
+2018010252,2018010252
+2018010256,2018010256
+2018010257,2018010257
+2018010258,2018010258
+2018010259,2018010259
+2018010260,2018010260
+2018010261,2018010261
+2018010262,2018010262
+2018010263,056026036
+2018010264,2018010264
+2018010265,2018010265
+2018010266,2018010266
+2018010267,2018010267
+2018010268,2018010268
+2018010272,2018010272
+2018010273,2018010273
+2018010274,2018010274
+2018010275,050948
+2018010276,2018010276
+2018010277,2018010277
+2018010278,2011303299
+2018010279,2018010279
+2018010280,20170P0601
+2018010281,20170P0749
+2018010283,20170P0583
+2018010284,2007302171
+2018010285,2018010285
+2018010287,2018010287
+2018010288,062586
+2018010289,2018010289
+2018010290,2014010054
+2018010291,2014010053
+2018010292,2018010292
+2018010293,2018010293
+2018010294,2018010294
+2018010297,2018010297
+2018010298,2018010298
+2018010300,2010200214
+2018010301,2008301185
+2018010302,2018010302
+2018010303,2007301343
+2018010304,2018010304
+2018010305,046046155
+2018010306,2018010306
+2018010307,2018010307
+2018010308,2010200613
+2018010309,2018010309
+2018010310,2011100071
+2018010311,2010201560
+2018010312,2012200242
+2018010313,2007300035
+2018010314,2018010314
+2018010315,066056376
+2018010316,2018010316
+2018010317,2018010317
+2018010318,2015100099
+2018010319,2018010319
+2018010320,2018010320
+2018010321,066020091
+2018010322,2014100175
+2018010323,2018010323
+2018010324,2018010324
+2018010325,2009200876
+2018010326,2018010326
+2018010327,061038
+2018010328,2009303221
+2018030002,2018030002
+2018030007,2007301556
+2018030010,2008302796
+2018030011,2018030011
+2018030014,2012100288
+2018030015,2012100147
+2018030016,2011100528
+2018030025,2013100229
+2018030030,2018030030
+2018030049,2018030049
+2018030051,2018030051
+2018030053,2018030053
+2018030057,2008300224
+2018030060,2018030060
+2018030074,2010260986
+2018030080,2018030080
+2018030084,2018030084
+2018030085,2018030085
+2018030090,2018030090
+2018030136,2008300233
+2018030138,2018030138
+2018030139,2018030139
+2018030140,2018030140
+2018030141,2018030141
+2018030142,2018030142
+2018030146,2018030146
+2018030147,2018030147
+2018030148,2018030148
+2018030153,2018030153
+2018030154,2018030154
+2018030163,2018030163
+2018030167,2011250096
+2018030178,2018030178
+2018030188,2018030188
+2018030189,2018030189
+2018030193,2018030193
+2018030207,2013200633
+2018030213,2013100070
+2018030216,2018030216
+2018030217,2018030217
+2018030222,2018030222
+2018030230,2018030230
+2018030242,2018030242
+2018030243,2018030243
+2018030245,056010029
+2018030246,2008300072
+2018030249,2018030249
+2018030251,2018030251
+2018030253,2018030253
+2018030254,2018030254
+2018030255,2013100373
+2018030269,2009100091
+2018030270,2007201054
+2018030271,2018030271
+2018030282,2018030282
+2018030286,2018030286
+2018030295,2018030295
+2018030296,2019010306
+2018030299,2018030299
+2018060001,2018060001
+2018060002,20140P0439
+2018060003,2018060003
+2018060004,2018060004
+2018060005,2018060005
+2018060006,2018060006
+2018060007,2018060007
+2018060008,2018060008
+2018060009,2018060009
+2018060010,2018060010
+2018060011,2018060011
+2018060012,2018060012
+2018060013,2018060013
+2018060014,2018060014
+2018060015,2018060015
+2018060016,2018060016
+2018060017,2018060017
+2018060018,2018060018
+2018060019,2018060019
+2018060020,2018060020
+2018060021,2018060021
+2018060022,2018060022
+2018060023,2018060023
+2018060024,2018060024
+2018060025,2018060025
+2018060026,2018060026
+2018060027,2018060027
+2018060028,2018060028
+2018060029,2018060029
+2018060030,2018060030
+2018060031,2018060031
+2018060032,2018060032
+2018060033,2018060033
+2018060034,2018060034
+2018060035,2018060035
+2018060036,2018060036
+2018060037,2018060037
+2018060038,2018060038
+2018060039,2018060039
+2018060040,2018060040
+2018060041,2018060041
+2018060042,2018060042
+2018060043,2018060043
+2018060044,2018060044
+2018060045,2018060045
+2018060046,2018060046
+2018060047,2018060047
+2018060048,2018060048
+2018060049,2018060049
+2018060050,2018060050
+2018060051,2018060051
+2018060052,2018060052
+2018060053,2018060053
+2018060054,2018060054
+2018060055,2018060055
+2018060056,2018060056
+2018060057,2018060057
+2018060058,2018060058
+2018060059,2018060059
+2018060060,2018060060
+2018060061,2018060061
+2018060062,2018060062
+2018060063,2018060063
+2018060064,2018060064
+2018060065,2018060065
+2018060066,2018060066
+2018060067,2018060067
+2018060068,2018060068
+2018060069,2018060069
+2018060070,2018060070
+2018060071,2018060071
+2018060072,2018060072
+2018060073,2018060073
+2018060074,2018060074
+2018060075,2018060075
+2018060076,2018060076
+2018060077,2018060077
+2018060078,2018060078
+2018060079,2018060079
+2018060080,2018060080
+2018060081,2018060081
+2018060082,2018060082
+2018060083,2018060083
+2018060084,2018060084
+2018060085,2018060085
+2018060086,2018060086
+2018060087,2018060087
+2018060088,2018060088
+2018060089,2018060089
+2018060090,047015013
+2018060091,2018060091
+2018060092,2018060092
+2018060093,2018060093
+2018060094,2018060094
+2018060095,2018060095
+2018060096,2018060096
+2018060097,2018060097
+2018060098,2018060098
+2018060099,2018060099
+2018060100,2018060100
+2018060101,2018060101
+2018060102,2018060102
+2018060103,2018060103
+2018060104,2018060104
+2018060105,2018060105
+2018060106,2018060106
+2018060107,2018060107
+2018060108,2018060108
+2018060109,2018060109
+2018060110,2018060110
+2018060111,2018060111
+2018060112,2018060112
+2018060113,2018060113
+2018060114,2018060114
+2018060115,2018060115
+2018060116,2018060116
+2018060117,2018060117
+2018060118,2018060118
+2018060119,2018060119
+2018060120,2018060120
+2018060121,2018060121
+2018060122,2018060122
+2018060123,2018060123
+2018060124,2018060124
+2018060125,2018060125
+2018060126,2018060126
+2018060127,2018060127
+2018060128,2018060128
+2018060129,2018060129
+2018060130,2018060130
+2018060131,2018060131
+2018060132,2018060132
+2018060133,2018060133
+2018060134,2018060134
+2018060135,2018060135
+2018060136,2018060136
+2018060137,2018060137
+2018060138,2018060138
+2018060139,2018060139
+2018060140,2018060140
+2018060141,2018060141
+2018060142,2018060142
+2018060143,2018060143
+2018060144,2018060144
+2018060145,2018060145
+2018060146,2018060146
+2018060147,2018060147
+2018060148,2018060148
+2018060149,2018060149
+2018060150,2018060150
+2018060151,2018060151
+2018060152,2018060152
+2018060153,2018060153
+2018060154,2018060154
+2018070001,20170P0025
+2018070002,20170P0026
+2018070003,2018070003
+2018070004,2018070004
+2018070005,2018070005
+2018070006,2018070006
+2018070007,2018070007
+2018070008,2018070008
+2018070009,2018070009
+2018070010,2018070010
+2018070011,2018070011
+2018070012,2018070012
+2018070013,2018070013
+2018070015,2018070015
+2018070016,20170P1772
+2018070017,2018070017
+2018070018,2018070018
+2018070019,2018070019
+2018070020,2018070020
+2018070021,2018070021
+2018070022,2018070022
+2018070023,2018070023
+2018070024,2011303264
+2018070025,2018070025
+2018070026,2018070026
+2018070027,2015202662
+2018070028,2015262715
+2018070029,2014070094
+2018070030,2018070030
+2018070031,2018070031
+2018070032,2015070013
+2018070033,2018070033
+2018070034,2012070098
+2018070035,2018070035
+2018070036,2018070036
+2018070037,2018070037
+2018070038,2018010224
+2018070039,2012300109
+2018070040,2018070040
+2018070041,20160P0122
+2018070042,2018070042
+2018070043,2013202435
+2018070044,2011202391
+2018070045,2018070045
+2018070046,2018070046
+2018070047,2018070047
+2018070048,2018070048
+2018070049,2018070049
+2018070050,2018070050
+2018070051,2018070051
+2018070052,20170P0501
+2018070053,2018070053
+2018070054,2018070054
+2018070055,20140P0445
+2018070056,2018070056
+2018070057,2018070057
+2018070058,2018070058
+2018070059,2018070059
+2018070060,2016070070
+2018070061,2018070061
+2018070062,2011303281
+2018070063,066130741
+2018070065,2018070065
+2018070066,2018070066
+2018070068,2018070068
+2018070069,2018070069
+2018070070,2018070070
+2018070071,20160P0323
+2018070072,2018070072
+2018070073,2011201975
+2018070074,20170P1063
+2018070075,2018070075
+2018070076,2018070076
+2018070077,2018070077
+2018070078,2018070078
+2018070079,2018070079
+2018070080,2018070080
+2018070081,2018070081
+2018070082,2018070082
+2018070083,2014202466
+2018070084,2018070084
+2018070085,2018070085
+2018070086,2018070086
+2018070087,2018070087
+2018070088,2018070088
+2018070089,2018070089
+2018070090,2018070090
+2018070091,2018070091
+2018070092,2018070092
+2018070093,2018070093
+2018070094,2015210291
+2018070095,2018070095
+2018070096,2007303291
+2018070097,20140P0222
+2018070098,20140P0353
+2018070099,2013262001
+2018070100,2018070100
+2018070101,2018070101
+2018070102,2018070102
+2018070103,2018070103
+2018070104,20160P0287
+2018070105,20170P1812
+2018070106,20170P1094
+2018070107,2018070107
+2018070108,20160P0307
+2018070109,2018070109
+2018070110,20160P0298
+2018070111,2018070111
+2018070112,20160P0321
+2018070113,20170P0924
+2018070114,20160P0316
+2018070115,20160P0329
+2018070116,20170P0913
+2018070117,20160P0300
+2018070118,2018070118
+2018070119,2018070119
+2018070120,20160P0302
+2018070121,20160P0305
+2018070122,20160P0330
+2018070123,20160P0312
+2018070124,20160P0313
+2018070125,20160P0324
+2018070126,20160P0315
+2018070127,20160P0328
+2018070128,2018070128
+2018070129,2018070129
+2018070130,2018070130
+2018070131,2018070131
+2018070132,2018070132
+2018070133,046100658
+2018070134,2018070134
+2018070139,2018070139
+2018070140,2018070140
+2018070141,2018070141
+2018070142,2018070142
+2018070143,2018070143
+2018070144,2018070144
+2018070145,2018070145
+2018070146,2018070146
+2018070147,2018070147
+2018070148,2011303185
+2018070149,2018070149
+2018070150,2011200661
+2018070151,2018070151
+2018070152,2011210245
+2018070153,2018070153
+2018070154,2018070154
+2018070156,2018070156
+2018070157,2018070157
+2018070158,2018070158
+2018070159,20140P0406
+2018070160,2015202566
+2018070161,2018070161
+2018070162,2018070162
+2018070163,2018070163
+2018070164,2018070164
+2018070165,2018070165
+2018070166,2018070166
+2018070167,2018070167
+2018070168,2018070168
+2018070169,2014300033
+2018070170,2018070170
+2018070171,2018070171
+2018070172,2018070172
+2018070173,2018070173
+2018070174,2018070174
+2018070175,2018070175
+2018070176,20170P1033
+2018070177,2018070177
+2018070178,2018070178
+2018070179,2018070179
+2018070180,2018070180
+2018070181,2018070181
+2018070182,2018070182
+2018070183,2018070183
+2018070184,2018070184
+2018070185,2009210524
+2018070186,2018070186
+2018070187,2018070187
+2018070188,2018070188
+2018070189,2018070189
+2018070190,2018070190
+2018070191,2018070191
+2018070192,2018070192
+2018070193,2018070193
+2018070194,2018070194
+2018070195,2018070195
+2018070196,2018070196
+2018070197,2018070197
+2018070198,2018070198
+2018070199,2018070199
+2018070200,2018070200
+2018070201,2018070201
+2018070202,2018070202
+2018070203,2018070203
+2018070204,2018070204
+2018070205,2018070205
+2018070206,2018070206
+2018070207,2018070207
+2018070209,2007300198
+2018070210,2018070210
+2018070211,2015202111
+2018070212,2018070212
+2018070213,2018070213
+2018070214,20140P0425
+2018070215,2018070215
+2018070216,2018070042
+2018070217,20140P0218
+2018070218,2018070218
+2018070219,2018070219
+2018070220,2018070220
+2018070221,20140P0284
+2018070222,2018070222
+2018070223,2018070223
+2018070224,2018070224
+2018070225,2014262062
+2018070226,2018070226
+2018070227,2018070227
+2018070228,2012303136
+2018070229,2018070229
+2018070230,2018070230
+2018070231,2018070231
+2018070232,2018070232
+2018070233,2017070177
+2018070234,2016260187
+2018070235,2018070235
+2018070236,2017100057
+2018070237,20170P1225
+2018070238,2010201921
+2018070240,20170P1794
+2018070241,20140P0343
+2018070242,2018070242
+2018070342,2007300132
+2018090001,2018090001
+2018090002,2018090002
+2018090003,2018090003
+2018090004,2018090004
+2018090005,2018060011
+2018090006,2018090006
+2018090007,2018090007
+2018090008,2018090008
+2018090030,2018090030
+2018090069,2018090069
+2018090099,2018090099
+2018090112,2018090112
+201809123654,201809123654
+20180P0001,20180P0001
+20180P0002,20180P0002
+20180P0003,2013210328
+20180P0004,20180P0004
+20180P0005,20180P0005
+20180P0006,20180P0006
+20180P0007,20180P0007
+20180P0008,20180P0008
+20180P0009,20180P0009
+20180P0010,20180P0010
+20180P0011,20180P0011
+20180P0012,2018030142
+20180P0013,20180P0013
+20180P0014,20180P0014
+20180P0015,20180P0015
+20180P0016,20180P0016
+20180P0017,20180P0017
+20180P0018,20180P0018
+20180P0019,20180P0019
+20180P0020,2013261609
+20180P0021,062280
+20180P0022,20180P0022
+20180P0023,20180P0023
+20180P0024,20180P0024
+20180P0025,20180P0025
+20180P0026,20180P0026
+20180P0027,20180P0027
+20180P0028,20180P0028
+20180P0029,20180P0029
+20180P0030,066090542
+20180P0031,20180P0031
+20180P0032,20180P0032
+20180P0033,20180P0033
+20180P0034,20180P0034
+20180P0035,20180P0035
+20180P0036,20180P0036
+20180P0037,20180P0037
+20180P0038,20180P0038
+20180P0039,20180P0039
+20180P0040,2018060066
+20180P0041,20180P0041
+20180P0042,20180P0042
+20180P0043,20180P0043
+20180P0044,20180P0044
+20180P0045,20180P0045
+20180P0046,20180P0046
+20180P0047,20180P0047
+20180P0048,20180P0048
+20180P0049,20180P0049
+20180P0050,20180P0050
+20180P0051,2007201483
+20180P0052,20180P0052
+20180P0053,20180P0053
+20180P0054,20180P0054
+20180P0055,20180P0055
+20180P0056,20180P0056
+20180P0057,20180P0057
+20180P0058,20180P0058
+20180P0059,20180P0059
+20180P0060,20180P0060
+20180P0061,20180P0061
+20180P0062,20180P0062
+20180P0063,20180P0063
+20180P0064,20180P0064
+20180P0065,20180P0065
+20180P0066,20180P0066
+20180P0067,20180P0067
+20180P0068,20180P0068
+20180P0069,20180P0069
+20180P0070,20180P0070
+20180P0071,20180P0071
+20180P0072,20180P0072
+20180P0073,20180P0073
+20180P0074,20180P0074
+20180P0075,20180P0075
+20180P0076,20180P0076
+20180P0077,20180P0077
+20180P0078,20180P0078
+20180P0079,20180P0079
+20180P0080,20180P0080
+20180P0081,20180P0081
+20180P0082,20180P0082
+20180P0083,20180P0083
+20180P0084,20180P0084
+20180P0085,2004000112
+20180P0086,20180P0086
+20180P0087,20180P0087
+20180P0088,20180P0088
+20180P0089,20180P0089
+20180P0090,20180P0090
+20180P0091,20180P0091
+20180P0092,20180P0092
+20180P0093,20180P0093
+20180P0094,20180P0094
+20180P0095,20180P0095
+20180P0096,20180P0096
+20180P0097,20180P0097
+20180P0098,20180P0098
+20180P0099,20180P0099
+20180P0100,20180P0100
+20180P0101,20180P0101
+20180P0102,20180P0102
+20180P0103,20180P0103
+20180P0104,20180P0104
+20180P0105,20180P0105
+20180P0106,20180P0106
+20180P0107,20180P0107
+20180P0108,20180P0108
+20180P0109,20180P0109
+20180P0110,20180P0110
+20180P0111,20180P0111
+20180P0112,20180P0112
+20180P0113,20180P0113
+20180P0114,20180P0114
+20180P0115,20180P0115
+20180P0116,20180P0116
+20180P0117,2018070040
+20180P0118,20180P0118
+20180P0119,20180P0119
+20180P0120,20180P0120
+20180P0121,20180P0121
+20180P0122,20180P0122
+20180P0123,20180P0123
+20180P0124,20180P0124
+20180P0125,2011100369
+20180P0126,20180P0126
+20180P0127,20180P0127
+20180P0128,20180P0128
+20180P0129,20180P0129
+20180P0130,20180P0130
+20180P0131,20180P0131
+20180P0132,20180P0132
+20180P0133,20180P0133
+20180P0134,20180P0134
+20180P0135,20180P0135
+20180P0136,20180P0136
+20180P0137,20180P0137
+20180P0138,20180P0138
+20180P0139,20180P0139
+20180P0140,20180P0140
+20180P0141,20180P0141
+20180P0142,20180P0142
+20180P0143,20180P0143
+20180P0144,20180P0144
+20180P0145,20180P0145
+20180P0146,20180P0146
+20180P0147,20180P0147
+20180P0148,20180P0148
+20180P0149,20180P0149
+20180P0150,20180P0150
+20180P0151,20180P0151
+20180P0152,20180P0152
+20180P0153,20180P0153
+20180P0154,20180P0154
+20180P0155,20180P0155
+20180P0156,20180P0156
+20180P0157,20180P0157
+20180P0158,20180P0158
+20180P0159,20180P0159
+20180P0160,20180P0160
+20180P0161,20180P0161
+20180P0162,20180P0162
+20180P0163,20180P0163
+20180P0164,20180P0164
+20180P0165,20180P0165
+20180P0166,20180P0166
+20180P0167,20180P0167
+20180P0168,20180P0168
+20180P0169,20180P0169
+20180P0170,20180P0170
+20180P0171,20180P0171
+20180P0172,20180P0172
+20180P0173,20180P0173
+20180P0174,20180P0174
+20180P0175,20180P0175
+20180P0176,20180P0176
+20180P0177,20180P0177
+20180P0178,20180P0178
+20180P0179,20180P0179
+20180P0180,20180P0180
+20180P0181,20180P0181
+20180P0182,20180P0182
+20180P0183,20180P0183
+20180P0184,20180P0184
+20180P0185,20180P0185
+20180P0186,20180P0186
+20180P0187,20180P0187
+20180P0188,20180P0188
+20180P0189,20180P0189
+20180P0190,20180P0190
+20180P0191,20180P0191
+20180P0192,20180P0192
+20180P0193,20180P0193
+20180P0194,20180P0194
+20180P0195,20180P0195
+20180P0196,20180P0196
+20180P0197,20180P0197
+20180P0198,20180P0198
+20180P0199,20180P0199
+20180P0200,20180P0200
+20180P0201,20180P0201
+20180P0202,20180P0202
+20180P0203,20180P0203
+20180P0204,20180P0204
+20180P0205,20180P0205
+20180P0206,20180P0206
+20180P0207,20180P0207
+20180P0208,20180P0208
+20180P0209,20180P0209
+20180P0210,20180P0210
+20180P0211,20180P0211
+20180P0212,20180P0212
+20180P0213,20180P0213
+20180P0214,20180P0214
+20180P0215,20180P0215
+20180P0216,20180P0216
+20180P0217,20180P0217
+20180P0218,20180P0218
+20180P0219,20180P0219
+20180P0220,20180P0220
+20180P0221,20180P0221
+20180P0222,20180P0222
+20180P0223,20180P0223
+20180P0224,20180P0224
+20180P0225,20180P0225
+20180P0226,20180P0226
+20180P0227,20180P0227
+20180P0228,20180P0228
+20180P0229,20180P0229
+20180P0230,20180P0230
+20180P0231,20180P0231
+20180P0232,20180P0232
+20180P0233,20180P0233
+20180P0234,20180P0234
+20180P0235,20180P0235
+20180P0236,20180P0236
+20180P0237,20180P0237
+20180P0238,20180P0238
+20180P0239,20180P0239
+20180P0240,20180P0240
+20180P0241,20180P0241
+20180P0242,20180P0242
+20180P0243,20180P0243
+20180P0244,20180P0244
+20180P0245,20180P0245
+20180P0246,20180P0246
+20180P0247,20180P0247
+20180P0248,20180P0248
+20180P0249,20180P0249
+20180P0250,20180P0250
+20180P0251,20180P0251
+20180P0252,20180P0252
+20180P0253,20180P0253
+20180P0254,20180P0254
+20180P0255,20180P0255
+20180P0256,20180P0256
+20180P0257,20180P0257
+20180P0258,20180P0258
+20180P0259,20180P0259
+20180P0260,20180P0260
+20180P0261,20180P0261
+20180P0262,20180P0262
+20180P0263,20180P0263
+20180P0264,20180P0264
+20180P0265,20180P0265
+20180P0266,20180P0266
+20180P0267,20180P0267
+20180P0268,20180P0268
+20180P0269,20180P0269
+20180P0270,20180P0270
+20180P0271,20180P0271
+20180P0272,20180P0272
+20180P0273,20180P0273
+20180P0274,20180P0274
+20180P0275,20180P0275
+20180P0276,20180P0276
+20180P0277,20180P0277
+20180P0278,20180P0278
+20180P0279,20180P0279
+20180P0280,20180P0280
+20180P0281,20180P0281
+20180P0282,20180P0282
+20180P0283,20180P0283
+20180P0284,20180P0284
+20180P0285,20180P0285
+20180P0286,20180P0286
+20180P0287,20180P0287
+20180P0288,20180P0288
+20180P0289,20180P0289
+20180P0290,20180P0290
+20180P0291,20180P0291
+20180P0292,20180P0292
+20180P0293,20180P0293
+20180P0294,20180P0294
+20180P0295,20180P0295
+20180P0296,20180P0296
+20180P0297,20180P0297
+20180P0298,20180P0298
+20180P0299,20180P0299
+20180P0300,20180P0300
+20180P0301,2007200455
+20180P0302,20180P0302
+20180P0303,20180P0303
+20180P0304,20180P0304
+20180P0305,20180P0305
+20180P0306,20180P0306
+20180P0307,20180P0307
+20180P0308,20180P0308
+20180P0309,20180P0309
+20180P0310,20180P0310
+20180P0311,20180P0311
+20180P0312,20180P0312
+20180P0313,20180P0313
+20180P0314,20180P0314
+20180P0315,20180P0315
+20180P0316,20180P0316
+20180P0317,20180P0317
+20180P0318,20180P0318
+20180P0319,20180P0319
+20180P0320,2009100420
+20180P0321,20180P0321
+20180P0322,20180P0322
+20180P0323,20180P0323
+20180P0324,20180P0324
+20180P0325,20180P0325
+20180P0326,2009303455
+20180P0327,20180P0327
+20180P0328,20180P0328
+20180P0329,20180P0329
+20180P0330,20180P0330
+20180P0331,20180P0331
+20180P0332,20180P0332
+20180P0333,20180P0333
+20180P0334,20180P0334
+20180P0335,20180P0335
+20180P0336,20180P0336
+20180P0337,20180P0337
+20180P0338,20180P0338
+20180P0339,20200P0193
+20180P0340,20180P0340
+20180P0341,20180P0341
+20180P0342,20180P0342
+20180P0343,20200P0189
+20180P0344,20180P0344
+20180P0345,20180P0345
+20180P0346,20180P0346
+20180P0347,20180P0347
+20180P0348,20180P0348
+20180P0349,20200P0384
+20180P0350,20180P0350
+20180P0351,20180P0351
+20180P0352,20180P0352
+20180P0353,20180P0353
+20180P0354,20180P0354
+20180P0355,20180P0355
+20180P0356,20180P0356
+20180P0357,2012301246
+20180P0358,2018010143
+20180P0359,20180P0359
+20180P0360,20180P0360
+20180P0361,20180P0361
+20180P0362,20180P0362
+20180P0363,20180P0363
+20180P0364,20180P0364
+20180P0365,20180P0365
+20180P0366,20180P0366
+20180P0367,20180P0367
+20180P0368,20180P0368
+20180P0369,20180P0369
+20180P0370,20180P0370
+20180P0371,20180P0371
+20180P0372,20180P0372
+20180P0373,20180P0373
+20180P0374,20180P0374
+20180P0375,2018070149
+20180P0376,20180P0376
+20180P0377,20180P0377
+20180P0378,2011200688
+20180P0379,2008200462
+20180P0380,20180P0380
+20180P0381,046086485
+20180P0382,20180P0382
+20180P0383,20180P0383
+20180P0384,20180P0384
+20180P0385,20180P0385
+20180P0386,20180P0386
+20180P0387,20180P0387
+20180P0388,20180P0388
+20180P0389,20180P0389
+20180P0390,20180P0390
+20180P0391,20180P0391
+20180P0392,20180P0392
+20180P0393,2018070111
+20180P0394,20180P0394
+20180P0395,2018060096
+20180P0396,20180P0396
+20180P0397,20180P0397
+20180P0398,20180P0398
+20180P0399,2018060115
+20180P0400,20180P0400
+20180P0401,20180P0401
+20180P0402,20180P0402
+20180P0403,20180P0403
+20180P0404,20180P0404
+20180P0405,20180P0405
+20180P0406,047025025
+20180P0407,20180P0407
+20180P0408,20180P0408
+20180P0409,20180P0409
+20180P0410,20180P0410
+20180P0411,20180P0411
+20180P0412,20180P0412
+20180P0413,20180P0413
+20180P0414,20180P0414
+20180P0415,20180P0415
+20180P0416,20180P0416
+20180P0417,20180P0417
+20180P0418,20180P0418
+20180P0419,2014303277
+20180P0421,20180P0421
+20180P0422,20180P0422
+20180P0423,20180P0423
+20180P0424,20180P0424
+20180P0425,20180P0425
+20180P0426,20180P0426
+20180P0427,20180P0427
+20180P0428,20180P0428
+20180P0429,20170P0558
+20180P0430,20180P0430
+20180P0431,20180P0431
+20180P0432,20180P0432
+20180P0433,20180P0433
+20180P0434,20180P0434
+20180P0435,20180P0435
+20180P0436,20180P0436
+20180P0437,20180P0437
+20180P0438,20180P0438
+20180P0439,20180P0439
+20180P0440,20180P0440
+20180P0441,20180P0441
+20180P0442,20180P0442
+20180P0443,20180P0443
+20180P0444,20180P0444
+20180P0445,20180P0445
+20180P0446,20180P0446
+20180P0447,20180P0447
+20180P0448,20180P0448
+20180P0449,20180P0449
+20180P0450,20180P0450
+20180P0451,20180P0451
+20180P0452,20180P0452
+20180P0453,20200P0192
+20180P0454,20180P0454
+20180P0455,20180P0455
+20180P0456,20180P0456
+20180P0457,20180P0457
+20180P0458,20180P0458
+20180P0459,20180P0459
+20180P0460,20180P0460
+20180P0461,20180P0461
+20180P0462,20180P0462
+20180P0463,20180P0463
+20180P0464,20180P0464
+20180P0465,20180P0465
+20180P0466,20180P0466
+20180P0467,20180P0467
+20180P0468,20180P0468
+20180P0469,20200P0087
+20180P0470,20180P0470
+20180P0471,20180P0471
+20180P0472,20180P0472
+20180P0473,20180P0473
+20180P0474,20180P0474
+20180P0475,20180P0475
+20180P0476,20180P0476
+20180P0477,20180P0477
+20180P0478,20180P0478
+20180P0479,20180P0479
+20180P0480,20180P0480
+20180P0481,20180P0481
+20180P0482,20180P0482
+20180P0483,20180P0483
+20180P0484,20180P0484
+20180P0485,20180P0485
+20180P0486,20180P0486
+20180P0487,20180P0487
+20180P0488,20200P0014
+20180P0489,20180P0489
+20180P0490,20180P0490
+20180P0491,20180P0491
+20180P0492,20180P0492
+20180P0493,20180P0493
+20180P0494,20180P0494
+20180P0495,20180P0495
+20180P0496,20180P0496
+20180P0497,20180P0497
+20180P0498,20180P0498
+20180P0499,20200P0425
+20180P0500,20180P0500
+20180P0501,20180P0501
+20180P0502,20180P0502
+20180P0503,20180P0503
+20180P0504,20180P0504
+20180P0505,20180P0505
+20180P0506,20180P0506
+20180P0507,20180P0507
+20180P0508,20180P0508
+20180P0509,20180P0509
+20180P0510,20180P0510
+20180P0511,20180P0511
+20180P0512,20180P0512
+20180P0513,20180P0513
+20180P0514,20180P0514
+20180P0515,20200P0444
+20180P0516,20180P0516
+20180P0517,20180P0517
+20180P0518,20180P0518
+20180P0519,20180P0519
+20180P0520,20180P0520
+20180P0521,20180P0521
+20180P0522,20180P0522
+20180P0523,20180P0523
+20180P0524,20180P0524
+20180P0525,20180P0525
+20180P0526,20180P0526
+20180P0527,20180P0527
+20180P0528,20180P0528
+20180P0529,20180P0529
+20180P0530,20180P0530
+20180P0531,20180P0531
+20180P0532,20180P0532
+20180P0533,20180P0533
+20180P0534,20180P0534
+20180P0535,20180P0535
+20180P0536,20180P0536
+20180P0537,20180P0537
+20180P0538,20180P0538
+20180P0539,20180P0539
+20180P0540,20180P0540
+20180P0541,20160P0254
+20180P0542,20180P0542
+20180P0543,20180P0543
+20180P0544,20180P0544
+20180P2124,20180P2124
+20180P2125,20180P2125
+20180P2126,20180P2126
+20180P2127,2012070040
+20180P2128,20180P2128
+20180P2129,20180P2129
+20180P2130,20180P2130
+20180P2131,20180P2131
+20180P2132,20180P2132
+20180P2133,20180P2133
+20180P2134,20180P2134
+20180P2135,2018070047
+20180P2136,20180P2136
+20180P2137,20180P2137
+20180P2138,20180P2138
+20180P2139,20180P2139
+20180P2140,20200P0160
+20180P2141,20200P0067
+20180P2142,20180P2142
+20180P2143,20180P2143
+20180P2144,20180P2144
+20180P2145,20200P0415
+20180P2146,20180P2146
+20180P2147,20180P2147
+20180P2148,20180P2148
+20180P2149,20180P2149
+20180P2150,20180P2150
+20180P2151,20180P2151
+20180P2152,20180P2152
+20180P2153,20180P2153
+20180P2154,20180P2154
+20180P2155,20180P2139
+20180P2156,20180P2156
+20180P2157,20180P2157
+20180P2158,20180P2158
+20180P2159,20180P2159
+20180P2160,20180P2160
+20180P2161,2018060100
+20180P2162,20180P2162
+20180P2163,20180P2163
+20180P2164,20180P2164
+20180P2165,20180P2165
+20180P2166,20180P2166
+20180P2167,20180P2167
+20180P2168,20180P2168
+20180P2169,20180P2169
+20180P2170,20180P2170
+20180P2171,20180P2171
+20180P2172,20180P2172
+20180P2173,2018030249
+20180P2174,2014303631
+20180P2175,20180P2175
+20180P2176,20180P2176
+20180P2177,2012303148
+20180P2178,20180P2178
+20180P2179,20180P2179
+20180P2180,20180P2180
+20180P2181,20180P2181
+20180P2182,20180P2182
+20180P2183,20180P2183
+20180P2184,20180P2184
+20180P2185,20180P2185
+20180P2186,20180P2186
+20180P2187,20180P2187
+20180P2188,20180P2188
+20180P2189,20180P2189
+20180P2190,20180P2190
+20180P2191,20180P2191
+20180P2192,20180P2192
+20180P2193,20180P2193
+20180P2194,20180P2194
+20180P2195,20180P2195
+20180P2196,20180P2196
+20180P2197,20180P2197
+20180P2198,20180P2198
+20180P2199,20180P2199
+20180P2200,20180P2200
+20180P2201,20180P2201
+20180P2202,20180P2202
+20180P2203,2018010326
+20180P2204,20180P2204
+20180P2205,20180P2205
+20180P2206,20180P2206
+20180P2207,2018070187
+20180P2208,20180P2208
+20180P2209,20180P2209
+20180P2210,20180P2210
+20180P2211,20180P2211
+20180P2212,20180P2212
+20180P2213,20180P2213
+20180P2214,20180P2214
+20180P2215,20180P2215
+20180P2216,20180P2216
+20180P2217,20180P2217
+20180P2218,20180P2218
+20180P2219,20180P2219
+20180P2220,20180P2220
+20180P2221,20180P2221
+20180P2222,20180P2222
+20180P2223,20180P2223
+20180P2224,056086426
+20180P2225,20180P2225
+20180P2226,20180P2226
+20180P2227,20200P0397
+20180P2228,20180P2228
+20180P2229,2015261652
+20180P2230,2011100163
+20180P2231,20180P2231
+20180P2232,20180P2232
+20180P2233,20180P2233
+20180P2234,20180P2234
+20180P2235,20180P2235
+20180P2236,20180P2236
+20180P2237,20180P2237
+20180P2238,20180P2238
+20180P2239,20180P2239
+20180P2240,20180P2240
+20180P2241,20180P2241
+20180P2242,20180P2242
+20180P2243,20180P2243
+20180P2244,20180P2244
+20180P2245,20180P2245
+20180P2246,20180P2246
+20180P2247,20180P2247
+20180P2248,20180P2248
+20180P2249,20180P2249
+20180P2250,20180P2250
+20180P2251,20180P2251
+20180P2252,20180P2252
+20180P2253,20180P2253
+20180P2254,20180P2254
+20180P2255,20180P2255
+20180P2256,20180P2256
+20180P2257,20180P2257
+20180P2258,20180P2258
+20180P2259,20180P2259
+20180P2260,20180P2260
+20180P2261,20180P2261
+20180P2262,20180P2262
+20180P2263,20180P2263
+20180P2264,20180P2264
+20180P2265,20180P2265
+20180P2266,20180P2266
+20180P2267,20180P2267
+20180P2268,20180P2268
+20180P2269,20180P2269
+20180P2270,20180P2270
+20180P2271,20180P2271
+20180P2272,20180P2272
+20180P2273,20180P2273
+20180P2274,20180P2274
+20180P2275,20180P2275
+20180P2276,20180P2276
+20180P2277,20180P2277
+20180P2278,20180P2278
+20180P2279,20180P2279
+20180P2280,20180P2280
+20180P2281,2018070202
+20180P2282,20180P2282
+20180P2283,20180P2283
+20180P2284,20180P2284
+20180P2285,20180P2285
+20180P2286,20180P2286
+20180P2287,20180P2287
+20180P2288,20180P2288
+20180P2289,20180P2289
+20180P2290,20180P2290
+20180P2291,20180P2291
+20180P2292,20180P2292
+20180P2293,20180P2293
+20180P2294,20180P2294
+20180P2295,20180P2295
+20180P2296,20180P2296
+20180P2297,20180P2297
+20180P2298,20180P2298
+20180P2299,20180P2299
+20180P2300,20180P2300
+20180P2301,20180P2301
+20180P2302,20180P2302
+20180P2303,20180P2303
+20180P2304,20180P2304
+20180P2305,2012100049
+20180P2306,20180P2306
+20180P2307,2009100447
+20180P2308,20180P2308
+20180P2309,20180P2309
+20180P2310,20180P2310
+20180P2311,20180P2311
+20180P2312,20180P2312
+20180P2313,20180P2313
+20180P2314,20180P2314
+20180P2315,20180P2315
+20180P2316,20180P2316
+20180P2317,20180P2317
+20180P2318,20180P2318
+20180P2319,20180P2319
+20180P2320,20180P2320
+20180P2321,20180P2321
+20180P2322,20180P2322
+20180P2323,20180P2323
+20180P2324,20180P2324
+20180P2325,20180P2325
+20180P2326,20180P2326
+20180P2327,20180P2327
+20180P2328,20180P2328
+20180P2329,20180P2329
+20180P2330,20180P2330
+20180P2331,20180P2331
+20180P2332,20180P2332
+20180P2333,20180P2333
+20180P2334,20180P2334
+20180P2335,2019070190
+20180P2336,20180P2336
+20180P2337,2008301199
+20180P2338,20180P2338
+20180P2339,20180P2339
+20180P2340,20180P2340
+20180P2341,20180P2341
+20180P2342,20180P2342
+20180P2343,20180P2343
+20180P2344,20180P2344
+20180P2345,20180P2345
+20180P2346,20180P2346
+20180P2347,20180P2347
+20180P2348,20180P2348
+20180P2349,20180P2349
+20180P2350,20180P2350
+20180P2351,20180P2351
+20180P2352,20180P2352
+20180P2353,20180P2353
+20180P2354,20180P2354
+20180P2355,20180P2355
+20180P2356,20180P2356
+20180P2357,056020098
+20180P2358,20180P2358
+20180P2359,20180P2359
+20180P2360,20180P2360
+20180P2361,20180P2361
+20180P2362,20180P2362
+20180P2363,20180P2363
+20180P2364,20180P2364
+20180P2365,20180P2365
+20180P2366,20180P2366
+20180P2367,20180P2367
+20180P2368,20180P2368
+20180P2369,20180P2369
+20180P2370,20180P2370
+20180P2371,20180P2371
+20180P2372,20180P2372
+20180P2373,2010201763
+20180P2374,20180P2374
+20180P2375,20180P2375
+20180P2376,20180P2376
+2018100001,2018100001
+2018100002,2018100002
+2018100003,2018100003
+2018100004,2018100004
+2018100005,2007200163
+2018100006,2018100006
+2018100007,2018100007
+2018100008,2018100008
+2018100009,2010300372
+2018100010,2011300232
+2018100011,2011300078
+2018100012,2007200098
+2018100013,2018100013
+2018100014,061451
+2018100015,2018100015
+2018100016,2018100016
+2018100017,2018100017
+2018100018,2015260187
+2018100019,2015201043
+2018100020,2015261093
+2018100021,2015200042
+2018100022,2015200133
+2018100023,2011300158
+2018100024,2011300162
+2018100025,2015200054
+2018100026,2011300117
+2018100027,2015200083
+2018100028,2011300083
+2018100029,2011300129
+2018100030,2011300091
+2018100031,2011300353
+2018100032,2015200110
+2018100033,2015200118
+2018100034,2014310207
+2018100035,2011302675
+2018100036,2014310208
+2018100037,2015261442
+2018100038,2011300119
+2018100039,2011300116
+2018100040,2011300181
+2018100041,2018100041
+2018100042,2018100042
+2018100043,2011302075
+2018100044,2014260315
+2018100045,2010301802
+2018100046,2011300430
+2018100047,2018100047
+2018100048,2011300455
+2018100049,2018100049
+2018100050,2018100050
+2018100051,2009300665
+2018100052,2018100052
+2018100053,2018100053
+2018100054,2018100054
+2018100055,2011300490
+2018100056,2011300037
+2018100057,2015261666
+2018100058,2015260355
+2018100059,2010300446
+2018100060,2011300479
+2018100061,2015201883
+2018100062,2010300263
+2018100063,2011300580
+2018100064,2010301565
+2018100065,2011300071
+2018100066,2015260335
+2018100067,2011262538
+2018100068,2018100068
+2018100069,2018100069
+2018100070,2018100070
+2018100071,053590
+2018100072,2013260492
+2018100073,2010301843
+2018100074,2011300805
+2018100075,2015260480
+2018100076,2011300663
+2018100077,2015260482
+2018100078,2011300689
+2018100079,2015260504
+2018100080,2018100080
+2018100081,2018100081
+2018100082,2011200565
+2018100083,2011301023
+2018100084,2018100084
+2018100085,2018100085
+2018100086,2018100086
+2018100087,2015260732
+2018100088,2015260727
+2018100089,2018100089
+2018100090,2015200608
+2018100091,2018100091
+2018100092,2018100092
+2018100093,2018100093
+2018100094,2018100094
+2018100095,2015200607
+2018100096,2011300879
+2018100097,2011300842
+2018100098,2011300844
+2018100099,2015260720
+2018100100,2015260687
+2018100101,2011300041
+2018100102,2015200556
+2018100103,2011300903
+2018100104,2015260701
+2018100105,2015200073
+2018100106,2015201974
+2018100107,2015201908
+2018100108,2015200596
+2018100109,2015202011
+2018100110,2015201931
+2018100111,2015201920
+2018100112,2015200585
+2018100113,2015201968
+2018100114,2015261095
+2018100115,2015260753
+2018100116,2015200602
+2018100117,2015200616
+2018100118,2011300923
+2018100119,2015260690
+2018100120,2011300843
+2018100121,2015201906
+2018100122,2015200658
+2018100123,2018100123
+2018100124,2018100124
+2018100125,2018100125
+2018100126,041293
+2018100127,2018100127
+2018100128,2018100128
+2018100129,2018100129
+2018100130,2018100130
+2018100131,2018100131
+2018100132,2018100132
+2018100133,2018100133
+2018100134,2015261004
+2018100135,2018100135
+2018100136,2018100136
+2018100137,2018100137
+2018100138,2015200902
+2018100139,2015200852
+2018100140,2015260955
+2018100141,2011301044
+2018100142,2011303475
+2018100143,2011301180
+2018100144,2011301073
+2018100145,2015260999
+2018100146,2015261092
+2018100147,2015200926
+2018100148,2015200925
+2018100149,2015200933
+2018100150,2014261030
+2018100151,2018100151
+2018100152,2011201051
+2018100153,2018100153
+2018100154,2018100154
+2018100155,2018100155
+2018100156,2018100156
+2018100157,2011301422
+2018100158,2015201058
+2018100159,2015261079
+2018100160,2018100160
+2018100161,2018100161
+2018100162,2018100162
+2018100163,2018100163
+2018100164,2018100164
+2018100165,2018100165
+2018100166,2014260483
+2018100167,2018100167
+2018100168,2011301639
+2018100169,2011301718
+2018100170,2010301637
+2018100171,2011301773
+2018100172,2010301586
+2018100173,2015201107
+2018100174,2010300059
+2018100175,2011301736
+2018100176,2018100176
+2018100177,2018100177
+2018100178,2018100178
+2018100179,2018100179
+2018100180,2014201277
+2018100181,2018100181
+2018100182,2018100182
+2018100183,2018100183
+2018100184,2018100184
+2018100185,2018100185
+2018100186,2018100186
+2018100187,2018100187
+2018100188,2018100188
+2018100189,2009301924
+2018100190,2011301837
+2018100191,2015201239
+2018100192,2015201360
+2018100193,2015201363
+2018100194,2018100194
+2018100195,066096584
+2018100196,2018100196
+2018100197,056096447
+2018100198,2018100198
+2018100199,2018100199
+2018100200,2018100200
+2018100201,2015261410
+2018100202,2018100202
+2018100203,2018100203
+2018100204,2018100204
+2018100205,2018100205
+2018100206,2018100206
+2018100207,2018100207
+2018100208,2018100208
+2018100209,2018100209
+2018100210,2018100210
+2018100211,2018100211
+2018100212,2018100212
+2018100213,2015010097
+2018100214,2011302189
+2018100215,2015201464
+2018100216,2011302188
+2018100217,2015201450
+2018100218,2010302722
+2018100219,2011302337
+2018100220,2015201538
+2018100221,2015201500
+2018100222,2011302076
+2018100223,2015201534
+2018100224,2015261659
+2018100225,2011302322
+2018100226,2011302320
+2018100227,2011300077
+2018100228,2018100228
+2018100229,042627
+2018100230,2018100230
+2018100231,2018100231
+2018100232,2018100232
+2018100233,2018100233
+2018100234,2018100234
+2018100235,2018100235
+2018100236,2008302467
+2018100237,2018100237
+2018100238,2013212165
+2018100239,2018100239
+2018100240,2018100240
+2018100241,2018100241
+2018100242,2018100242
+2018100243,2018100243
+2018100244,2018100244
+2018100245,2011302747
+2018100246,2015201359
+2018100247,2015201873
+2018100248,2011302450
+2018100249,2011302444
+2018100250,2011302504
+2018100251,2011303407
+2018100252,2011303395
+2018100253,2015262644
+2018100254,2018100254
+2018100255,2018100255
+2018100256,2018100256
+2018100257,2018100257
+2018100258,2018100258
+2018100259,2018100259
+2018100260,2018100260
+2018100261,2018100261
+2018100262,2018100262
+2018100263,2018100263
+2018100264,2018100264
+2018100265,2018100265
+2018100266,2018100266
+2018100267,2018100267
+2018100268,2018100268
+2018100269,2018100269
+2018100270,2018100270
+2018100271,2015201905
+2018100272,2015201870
+2018100273,2015201878
+2018100274,2015201903
+2018100275,2015201881
+2018100276,2015201885
+2018100277,2011302672
+2018100278,2015201919
+2018100279,2011302852
+2018100280,2015201907
+2018100281,2011302824
+2018100282,2011302806
+2018100283,2015201911
+2018100284,2015262030
+2018100285,2018100285
+2018100286,2018100286
+2018100287,2018100287
+2018100288,2018100288
+2018100289,2008300571
+2018100290,2018100290
+2018100291,2018100291
+2018100292,2014010100
+2018100293,2018100293
+2018100294,2018100294
+2018100295,2018100295
+2018100296,2015202125
+2018100297,2018100297
+2018100298,2018100298
+2018100299,2018100299
+2018100300,2018100300
+2018100301,2018100301
+2018100302,2018100302
+2018100303,2018100303
+2018100304,2018100304
+2018100305,2018100305
+2018100306,2018100306
+2018100307,2018100307
+2018100308,2018100308
+2018100309,2018100309
+2018100310,2018100310
+2018100311,2009303254
+2018100312,2015202465
+2018100313,2018100313
+2018100314,2018100314
+2018100315,2012300160
+2018100316,2017200027
+2018100317,2013300490
+2018100318,2016200002
+2018100319,2012300128
+2018100320,2016200035
+2018100321,2018100321
+2018100322,2018100322
+2018100323,2012300772
+2018100324,2012300365
+2018100325,2013301688
+2018100326,2012300203
+2018100327,2014300547
+2018100328,2013300506
+2018100329,2013300364
+2018100330,2016200073
+2018100331,2014300463
+2018100332,2009300220
+2018100333,2015260194
+2018100334,2016200127
+2018100335,2014300034
+2018100336,2014300020
+2018100337,2018100337
+2018100338,2014300465
+2018100339,2014300233
+2018100340,2014300143
+2018100341,2014300151
+2018100342,2014300167
+2018100343,2014301548
+2018100344,2018100344
+2018100345,2018100345
+2018100346,2018100346
+2018100347,2018100347
+2018100348,2018100348
+2018100349,2012301059
+2018100350,2014300048
+2018100351,2018100351
+2018100352,2018100352
+2018100353,2018100353
+2018100354,2013260334
+2018100355,2011300442
+2018100356,2018100356
+2018100357,2018100357
+2018100358,2018100358
+2018100359,2018100359
+2018100360,2012300028
+2018100361,2012300082
+2018100362,2012300421
+2018100363,2016200282
+2018100364,2014300033
+2018100365,2018100365
+2018100366,2014300682
+2018100367,2014300051
+2018100368,2018100368
+2018100369,2012300560
+2018100370,2012300587
+2018100371,2018100371
+2018100372,2018100372
+2018100373,2018100373
+2018100374,2018100374
+2018100375,2018100375
+2018100376,2018100376
+2018100377,040701
+2018100378,2010200440
+2018100379,2018100379
+2018100380,2018100380
+2018100381,2012300035
+2018100382,2014300502
+2018100383,2014300822
+2018100384,2018100384
+2018100385,2018100385
+2018100386,2018100386
+2018100387,2018100387
+2018100388,2012300798
+2018100389,2013300835
+2018100390,2012300820
+2018100391,2012300809
+2018100392,2012300064
+2018100393,2014300850
+2018100394,2018100394
+2018100395,2014300091
+2018100396,2014300181
+2018100397,2014300216
+2018100398,2014300157
+2018100399,2014300865
+2018100400,2018100400
+2018100401,2009300588
+2018100402,2013200433
+2018100403,2009300770
+2018100404,060690
+2018100405,2018100405
+2018100406,2018100406
+2018100407,2018100407
+2018100408,2018100408
+2018100409,2018100409
+2018100410,2018100410
+2018100411,2018100411
+2018100412,2018100412
+2018100413,2009300731
+2018100414,2012300633
+2018100415,2014260637
+2018100416,2012300943
+2018100417,2018100417
+2018100418,2015200543
+2018100419,2018100419
+2018100420,2018100420
+2018100421,2018100421
+2018100422,2018100422
+2018100423,2018100423
+2018100424,2018100424
+2018100425,2018100425
+2018100426,060830
+2018100427,050810
+2018100428,2018100428
+2018100429,2018100429
+2018100430,2018100430
+2018100431,2018100431
+2018100432,2018100432
+2018100433,2018100433
+2018100434,2016200516
+2018100435,2016200521
+2018100436,2016200530
+2018100437,2016200534
+2018100438,2016201970
+2018100439,2016200657
+2018100440,2013301065
+2018100441,2016201989
+2018100442,2016200581
+2018100443,2013301114
+2018100444,2013300932
+2018100445,2018100445
+2018100446,2014301101
+2018100447,2014300002
+2018100449,2018100449
+2018100450,2018100450
+2018100451,2018100451
+2018100452,2018100452
+2018100453,2014300070
+2018100454,2018100454
+2018100455,2018100455
+2018100456,2018100456
+2018100457,2018100457
+2018100458,2018100458
+2018100459,2018100459
+2018100460,2018100460
+2018100461,2018100461
+2018100462,2013300954
+2018100463,2013301029
+2018100464,2016200625
+2018100465,2012300989
+2018100466,2013301041
+2018100467,2012300955
+2018100468,2013301042
+2018100469,2012300972
+2018100470,2013301088
+2018100471,2018100471
+2018100472,2018100472
+2018100473,2018100473
+2018100474,2018100474
+2018100475,2014300950
+2018100476,2018100476
+2018100477,2010200700
+2018100478,2018100478
+2018100479,2014301305
+2018100480,2008301216
+2018100481,2015261008
+2018100482,2018100482
+2018100483,2018100483
+2018100484,2018100484
+2018100485,2018100485
+2018100486,2018100486
+2018100487,2016200850
+2018100488,2014301482
+2018100489,2018100489
+2018100490,2018100490
+2018100491,2013301456
+2018100492,2018100492
+2018100493,2018100493
+2018100494,2018100494
+2018100495,2015260966
+2018100496,2018100496
+2018100497,2014302906
+2018100498,2013300072
+2018100499,2018100499
+2018100500,2018100500
+2018100501,2018100501
+2018100502,2018100502
+2018100503,2018100503
+2018100504,2018100504
+2018100505,2016200870
+2018100506,2016200882
+2018100507,2012301330
+2018100508,2012301205
+2018100509,2012300173
+2018100510,2013301478
+2018100511,2013301219
+2018100512,2016200929
+2018100513,2013301208
+2018100514,2012300076
+2018100515,2018100515
+2018100516,2014301452
+2018100517,2018100517
+2018100518,2014301133
+2018100519,2014301147
+2018100520,2014301135
+2018100521,2014301125
+2018100522,2018100522
+2018100523,2018100523
+2018100524,2018100524
+2018100525,2018100525
+2018100526,2018100526
+2018100527,2018100527
+2018100528,2017201227
+2018100529,2016201025
+2018100530,2013300129
+2018100531,2017201198
+2018100532,2012301410
+2018100533,2013300124
+2018100534,2016201058
+2018100535,2012301411
+2018100536,2017201217
+2018100537,2014301547
+2018100538,2014301538
+2018100539,2012301574
+2018100540,2012300108
+2018100541,2012300040
+2018100542,2012301567
+2018100543,2016201180
+2018100544,2013301694
+2018100545,2018100545
+2018100546,2014301760
+2018100547,2014301676
+2018100548,2008301562
+2018100549,2009300681
+2018100550,2018100550
+2018100551,2018100551
+2018100552,2018100552
+2018100553,2018100553
+2018100554,2012300067
+2018100555,2012300033
+2018100556,2012301650
+2018100557,2013301690
+2018100558,2012301613
+2018100559,2012301717
+2018100560,2012301654
+2018100561,2013301692
+2018100562,2014300049
+2018100563,2014301828
+2018100564,2014300017
+2018100565,2014301723
+2018100566,2014301625
+2018100567,2018100567
+2018100568,2018100568
+2018100569,2010302022
+2018100570,2018100570
+2018100571,2018100571
+2018100572,060107
+2018100573,2018100573
+2018100574,2018100574
+2018100575,2018100575
+2018100576,2018100576
+2018100577,2018100577
+2018100578,2017201492
+2018100579,2012301886
+2018100580,2018100580
+2018100581,2018100581
+2018100582,2018100582
+2018100583,2012301841
+2018100584,2016201298
+2018100585,2016201323
+2018100586,2014300440
+2018100587,2014300193
+2018100588,2014300140
+2018100589,2014300159
+2018100590,2018100590
+2018100591,2018100591
+2018100592,2018100592
+2018100593,2018100593
+2018100594,2012302169
+2018100595,2015202566
+2018100596,053574
+2018100597,2018100597
+2018100598,2018100598
+2018100599,2018100599
+2018100600,2018100600
+2018100601,2018100601
+2018100602,2016201497
+2018100603,2012302065
+2018100604,2012300078
+2018100605,2012302114
+2018100606,2017201794
+2018100607,2017201754
+2018100608,2012302124
+2018100609,2012302115
+2018100610,2016201530
+2018100611,2010302068
+2018100612,2012302098
+2018100613,2013300387
+2018100614,2012300131
+2018100615,2014302257
+2018100616,2014302473
+2018100617,2014302761
+2018100618,2014302458
+2018100619,2018100619
+2018100620,2018100620
+2018100621,2018100621
+2018100622,2018100622
+2018100623,2012201539
+2018100624,2018100624
+2018100625,2018100625
+2018100626,2018100626
+2018100627,2018100627
+2018100628,2018100628
+2018100629,2018100629
+2018100630,2018100630
+2018100631,2011302449
+2018100632,2012302412
+2018100633,2018100633
+2018100634,2018100634
+2018100635,2011300025
+2018100636,2018100636
+2018100637,2018100637
+2018100638,2018100638
+2018100639,2018100639
+2018100640,2018100640
+2018100641,2018100641
+2018100642,2016201675
+2018100643,2012303369
+2018100644,2013303315
+2018100645,2017202173
+2018100646,2012303519
+2018100647,2012302542
+2018100648,2014302679
+2018100649,2014302170
+2018100650,2014302612
+2018100651,2014302843
+2018100652,2014302591
+2018100653,2014300169
+2018100654,2014302604
+2018100655,2014302651
+2018100656,2014300227
+2018100657,2018100657
+2018100658,2018100658
+2018100659,2018100659
+2018100660,2018100660
+2018100661,2012302743
+2018100662,2014302850
+2018100663,2014302730
+2018100664,2014302763
+2018100665,2014302803
+2018100666,2014302752
+2018100667,2014302753
+2018100668,2018100668
+2018100669,2018100669
+2018100670,2012302787
+2018100671,2016201905
+2018100672,2012302859
+2018100673,2014302899
+2018100674,2015201980
+2018100675,2010302876
+2018100676,2009303061
+2018100677,2018100677
+2018100678,2018100678
+2018100679,2012302897
+2018100680,2011302909
+2018100681,2014302681
+2018100682,2014303004
+2018100683,2018100683
+2018100684,2013302880
+2018100685,2012302857
+2018100686,2012302864
+2018100687,2012302772
+2018100688,2012302756
+2018100689,2012302758
+2018100690,2012302785
+2018100691,2018100691
+2018100692,2018100692
+2018100693,2018100693
+2018100694,2012300079
+2018100695,2016201902
+2018100696,2017202251
+2018100697,2013302787
+2018100698,2016201969
+2018100699,2013302832
+2018100700,2012302781
+2018100701,2012302768
+2018100702,2014302825
+2018100703,2014302863
+2018100704,2018100704
+2018100705,2018100705
+2018100706,2012302907
+2018100707,2017202279
+2018100708,2017202268
+2018100709,2014303048
+2018100710,2014303046
+2018100711,2008303119
+2018100712,2018100712
+2018100713,2010303052
+2018100714,2018100714
+2018100715,2018100715
+2018100716,2018100716
+2018100717,2018100717
+2018100718,2018100718
+2018100719,2018100719
+2018100720,2008302559
+2018100721,2013240372
+2018100722,2018100722
+2018100723,2018100723
+2018100724,2018100724
+2018100725,2013302731
+2018100726,2017202941
+2018100727,2016202086
+2018100728,2017202449
+2018100729,2016202119
+2018100730,2012303043
+2018100731,2012262508
+2018100732,2014303344
+2018100733,2018100733
+2018100734,2018100734
+2018100735,2018100735
+2018100736,2018100736
+2018100737,2018100737
+2018100738,2018100738
+2018100739,20180P0147
+2018100740,2018100740
+2018100741,2018100741
+2018100742,2018100742
+2018100743,2018100743
+2018100744,2016202673
+2018100745,2016202689
+2018100746,2016202669
+2018100747,2013303556
+2018100748,2016202688
+2018100749,2016202674
+2018100750,2014303661
+2018100751,2018100751
+2018100752,2018100752
+2018100753,046010002
+2018100754,2018100754
+2018100755,2018100755
+2018100756,2018100756
+2018100757,2014010123
+2018100758,2010303130
+2018100759,2016202476
+2018100760,2013300880
+2018110026,2013210015
+2018110027,066076434
+2018110028,056016020
+2018110029,2018110029
+2018110030,2018110030
+2018110037,2018110037
+2018110038,040783
+2018110039,2018110039
+2018110040,2018110040
+2018110041,2018110041
+2018110042,2018110042
+2018110045,042884
+2018110046,2018110046
+2018110058,2006020044
+2018110059,2018110059
+2018110060,2018110060
+2018110061,2007200416
+2018110062,2018110062
+2018110083,2018110083
+2018110084,2018110084
+2018110085,2018110085
+2018110086,06605G190
+2018110087,06603G150
+2018110091,2007250078
+2018110092,2012200889
+2018110093,2018110093
+2018110094,2018110094
+2018110095,046075040
+2018110096,2018110096
+2018110097,2018110097
+2018110098,2018110098
+2018110107,2018110107
+2018110108,2018110108
+2018110120,2018110120
+2018110121,062212
+2018110122,2018110122
+2018110132,2018110132
+2018110133,2018110133
+2018110134,2018110134
+2018110136,2018110136
+2018140001,2018140001
+2018140002,2018140002
+2018150001,2008250036
+2018150002,2011300155
+2018150003,2018150003
+2018150004,2018150004
+2018150005,2018150005
+2018150006,2018150006
+2018150007,2018150007
+2018150008,2018150008
+2018150009,2018150009
+2018150010,2011300423
+2018150011,2007300064
+2018150012,2018150012
+2018150013,2018150013
+2018150014,2008300540
+2018150015,2018150015
+2018150016,2018150016
+2018150017,2018150017
+2018150018,2018150018
+2018150019,2018150019
+2018160001,2018160001
+2018160002,2018160002
+2018160003,2018160003
+2018160004,2018160004
+2018160005,2018160005
+2018160006,2018160006
+2018160007,2018160007
+2018160008,2018160008
+2018160009,2014260210
+2018160010,2018160010
+2018160011,2018160011
+2018160012,2018160012
+2018160013,2018160013
+2018160014,2018160014
+2018160015,2018160015
+2018160016,2018160016
+2018160017,056026039
+2018160018,2018160018
+2018160019,2018160019
+2018160020,2018160020
+2018160021,056010038
+2018160022,2018160022
+2018160023,2018160023
+2018160024,2018160024
+2018160025,2018160025
+2018160031,2018160031
+2018160032,2018160032
+2018160033,2018160033
+2018160034,066096609
+2018160035,2018160035
+2018160036,2018160036
+2018160043,040738
+2018160044,2011200487
+2018160047,2018160047
+2018160048,046046199
+2018160049,047040150
+2018160050,2018160050
+2018160051,2018160051
+2018160052,2018160052
+2018160053,2018160053
+2018160054,2018160054
+2018160055,2018160055
+2018160056,2018160056
+2018160057,2018160057
+2018160063,2018160063
+2018160064,2018160064
+2018160065,2018160065
+2018160066,2011200130
+2018160067,2013210271
+2018160068,2018160068
+2018160069,2018160069
+2018160070,2018160070
+2018160071,2018160071
+2018160072,2013210315
+2018160073,2007201237
+2018160074,2018160074
+2018160075,2018160075
+2018160076,2010301379
+2018160077,2018160077
+2018160078,2018160078
+2018160079,2018160079
+2018160080,2013210117
+2018160081,2018160081
+2018160082,2018160082
+2018160088,2018160088
+2018160089,2018160089
+2018160090,2018160090
+2018160099,2018160099
+2018160100,2018160100
+2018160101,2018160101
+2018160102,2018160102
+2018160103,2018160103
+2018160104,2018160104
+2018160105,2008100355
+2018160106,2018160106
+2018160109,20170P2102
+2018160110,2018160110
+2018160111,2018160111
+2018160112,062136
+2018160113,2018160113
+2018160114,2018160114
+2018160115,2018160115
+2018160116,2018160116
+2018160117,046096572
+2018160118,2007201069
+2018160119,2018160119
+2018160123,2018160123
+2018160124,2018160124
+2018160125,2018160125
+2018160126,2008201412
+2018160127,2018160127
+2018160128,2018160128
+2018160129,2013210113
+2018160130,2018160130
+2018160131,2018160131
+2018160135,2018160135
+2018170001,2018170001
+2018180001,2018180001
+2018180002,2018180002
+2018180003,2018180003
+2018180004,2018180004
+2018180005,2018180005
+2018180006,2018180006
+2018180007,2018180007
+2018180008,2018180008
+2018180009,2018180009
+2018180010,2018180010
+2018180011,2018180011
+2018180012,2018180012
+2018180013,2018180013
+2018180014,2018180014
+2018180015,2018180015
+2018180016,2018180016
+2018180017,2018180017
+2018180018,2018180018
+2018180019,2018180019
+2018180020,2018180020
+2018180021,2018180021
+2018180022,2018180022
+2018180023,2018180023
+2018180024,2018180024
+2018180025,2018180025
+2018180026,2018180026
+2018180027,2018180027
+2018180028,2018180028
+2018180029,2018180029
+2018180030,2018180030
+2018180031,2018180031
+2018180032,2018180032
+2018180033,2018180033
+2018180034,2018180034
+2018180035,2018180035
+2018180036,2018180036
+2018180037,2018180037
+2018180038,2018180038
+2018180039,2018180039
+2018180040,2018180040
+2018180041,2018180041
+2018180042,2018180042
+2018180043,2018180043
+2018180044,2018180044
+2018180045,2018180045
+2018180046,2018180046
+2018180047,2018180047
+2018180048,2018180048
+2018180049,2018180049
+2018180050,2018180050
+2018180051,2017180121
+2018180052,2018180052
+2018180053,2018180053
+2018180054,2018180054
+2018180055,2018180055
+2018200001,2018200001
+2018200002,2018200002
+2018200003,2014300363
+2018200004,2014300404
+2018200005,2014300428
+2018200006,2014300419
+2018200007,2020100012
+2018200008,2018200008
+2018200009,2014300280
+2018200010,2014300381
+2018200011,2014300208
+2018200012,2014300234
+2018200013,2018200013
+2018200014,2014300030
+2018200015,2014300249
+2018200016,2014300304
+2018200017,2018200017
+2018200018,2020100007
+2018200019,2014300386
+2018200020,2014300287
+2018200021,2018200021
+2018200022,2018200022
+2018200023,2014300501
+2018200024,2014300488
+2018200025,2014300327
+2018200026,2014300265
+2018200027,2014300494
+2018200028,2018200028
+2018200029,2014300306
+2018200030,2013300275
+2018200031,2014300303
+2018200032,2014300290
+2018200033,2018200033
+2018200034,2018200034
+2018200035,2014300432
+2018200036,2014300307
+2018200037,2014300466
+2018200038,2013300290
+2018200039,2014300276
+2018200040,2014300477
+2018200041,2014301180
+2018200042,2018200042
+2018200043,2014300225
+2018200044,2014300425
+2018200045,2014300479
+2018200046,2014301402
+2018200047,2014300275
+2018200048,2014300018
+2018200049,2014300023
+2018200050,2018200050
+2018200051,2014303099
+2018200052,2014300491
+2018200053,2014300500
+2018200054,2014300244
+2018200055,2014300498
+2018200056,2014300270
+2018200057,2014300271
+2018200058,2014300024
+2018200059,2014300402
+2018200060,2014300423
+2018200061,2014300464
+2018200062,2014300001
+2018200063,2014300299
+2018200064,2014300012
+2018200065,2014300120
+2018200066,2014300194
+2018200067,2018200067
+2018200068,2014300487
+2018200069,2014300497
+2018200070,2018200070
+2018200071,2014300256
+2018200072,2013302816
+2018200073,2018200073
+2018200074,2014300031
+2018200075,2018200075
+2018200076,2018200076
+2018200077,2018200077
+2018200078,2014300453
+2018200079,2014302376
+2018200080,2014302196
+2018200081,2018200081
+2018200082,2014300330
+2018200083,2014300451
+2018200084,2018200084
+2018200085,2014300468
+2018200086,2014300493
+2018200087,2014300353
+2018200088,2018200088
+2018200089,2014300004
+2018200090,2014300229
+2018200091,2014300294
+2018200092,2014300104
+2018200093,2014300107
+2018200094,2018200094
+2018200095,2018200095
+2018200096,2014300029
+2018200097,2018200097
+2018200098,2018200098
+2018200099,2014300292
+2018200100,2014300036
+2018200101,2014300124
+2018200102,2014300003
+2018200103,2018200103
+2018200104,2014300257
+2018200105,2014300361
+2018200106,2018200106
+2018200107,2018200107
+2018200108,2014300411
+2018200109,2014300314
+2018200110,2014300495
+2018200111,2014300469
+2018200112,2014300674
+2018200113,2014300278
+2018200114,2018200114
+2018200115,2018200115
+2018200116,2018200116
+2018200117,2018200117
+2018200118,2014300520
+2018200119,2014300191
+2018200120,2014300026
+2018200121,2020100038
+2018200122,2013300218
+2018200123,2014300407
+2018200124,2009301235
+2018200125,2014300222
+2018200126,2018200126
+2018200127,2008300616
+2018200128,2014300385
+2018200129,2018200129
+2018200130,2018200130
+2018200131,2018200131
+2018200132,2014300397
+2018200133,2014300022
+2018200134,2014300155
+2018200135,2018200135
+2018200136,2014300279
+2018200137,2018200137
+2018200138,2014301127
+2018200139,2014300302
+2018200140,2014300038
+2018200141,2018200141
+2018200142,2014300485
+2018200143,2014300365
+2018200144,2014300376
+2018200277,2014300658
+2018200278,2018200278
+2018200279,2014300646
+2018200280,2014300593
+2018200281,2018200281
+2018200282,2018200282
+2018200283,2018200283
+2018200284,2014300154
+2018200285,2014300656
+2018200286,2014300055
+2018200287,2014300578
+2018200288,2018200288
+2018200289,2018200289
+2018200290,2014300571
+2018200291,2013302301
+2018200292,2014300580
+2018200293,2014300214
+2018200294,2014300575
+2018200295,2014300565
+2018200296,2014300878
+2018200297,2018200297
+2018200298,2018200298
+2018200299,2014300576
+2018200300,2014301516
+2018200301,2018200301
+2018200302,2014300661
+2018200303,2014300040
+2018200304,2014300387
+2018200305,2018200305
+2018200306,2018200306
+2018200307,2018200307
+2018200308,2014300598
+2018200309,2014300028
+2018200310,2014303102
+2018200311,2014300509
+2018200312,2014300045
+2018200313,2018200313
+2018200314,2018200314
+2018200315,2018200315
+2018200316,2014300504
+2018200317,2014300515
+2018200318,2014302374
+2018200319,2014300032
+2018200320,2014300510
+2018200321,2018200321
+2018200322,2014300511
+2018200323,2018200323
+2018200324,040339
+2018200325,2013300568
+2018200326,2014300560
+2018200327,2014300545
+2018200328,2014300546
+2018200329,2014300527
+2018200330,2014300516
+2018200331,2014300597
+2018200332,2014300508
+2018200333,2014300556
+2018200334,2018200334
+2018200335,2014300047
+2018200336,2018200336
+2018200337,2014300506
+2018200338,2013300551
+2018200339,2018200339
+2018200340,2018200340
+2018200341,2014301029
+2018200342,2014302942
+2018200343,2014300625
+2018200344,2018200344
+2018200345,2018200345
+2018200346,2014300053
+2018200347,2018200347
+2018200348,2014300612
+2018200349,2014300624
+2018200350,2014300027
+2018200351,2014300627
+2018200352,2014300633
+2018200353,2014301364
+2018200354,2014300632
+2018200355,2014300639
+2018200356,2014300046
+2018200357,2014300630
+2018200358,2014300712
+2018200359,2014300657
+2018200360,2014300651
+2018200361,2014300583
+2018200362,2018200362
+2018200363,2014300659
+2018200364,2013300701
+2018200365,2018200365
+2018200366,2018200366
+2018200449,2014300853
+2018200450,2018200450
+2018200451,2008300747
+2018200452,2018200452
+2018200453,2014300673
+2018200454,2014300678
+2018200455,2014300684
+2018200456,2014300677
+2018200457,2018200457
+2018200458,2018200458
+2018200459,2014300758
+2018200460,2014300769
+2018200461,2014300790
+2018200462,2014300138
+2018200463,2018200463
+2018200464,2018200464
+2018200465,2014300722
+2018200466,2014300745
+2018200467,2014300731
+2018200468,2014300786
+2018200469,2014300737
+2018200470,2014300738
+2018200471,2014300150
+2018200472,2014300801
+2018200473,2014300807
+2018200474,2018200474
+2018200475,2014300830
+2018200476,2018200476
+2018200477,2014300756
+2018200478,2014300794
+2018200479,2014300762
+2018200480,2014302224
+2018200481,2014300831
+2018200482,2014300715
+2018200483,2018200483
+2018200484,2018200484
+2018200485,2018200485
+2018200486,2012300768
+2018200487,2018200487
+2018200488,2018200488
+2018200489,2014300885
+2018200490,2018200490
+2018200491,2018200491
+2018200492,2018200492
+2018200493,2018200493
+2018200494,2018200494
+2018200495,2014300894
+2018200496,2014300876
+2018200497,2018200497
+2018200498,2018200498
+2018200499,2018200499
+2018200500,2014300846
+2018200501,2014300860
+2018200502,2014300808
+2018200503,2014300821
+2018200504,2014300870
+2018200505,2014300874
+2018200506,2014302774
+2018200507,2013300825
+2018200508,2014300854
+2018200509,2018200509
+2018200510,2014300836
+2018200511,2014300809
+2018200512,2012300761
+2018200513,2018200513
+2018200514,2014300871
+2018200515,2014300086
+2018200516,2014300867
+2018200517,2014300810
+2018200518,2014300761
+2018200519,2018200519
+2018200520,2018200520
+2018200521,2014300718
+2018200522,2014302484
+2018200523,2018200523
+2018200524,2014300736
+2018200525,2018200525
+2018200526,2014300784
+2018200527,2018200527
+2018200528,2014300783
+2018200529,2014300681
+2018200530,2014300711
+2018200531,2011300654
+2018200532,2014300735
+2018200533,2018200533
+2018200534,2018200534
+2018200535,2014300710
+2018200536,2014300698
+2018200537,2018200537
+2018200538,2014300667
+2018200539,2018200539
+2018200540,2014300844
+2018200541,2018200541
+2018200542,2018200542
+2018200543,2014300700
+2018200544,2018200544
+2018200545,2018200545
+2018200546,2014300105
+2018200547,2018200547
+2018200548,2014300751
+2018200549,2018200549
+2018200550,2014300763
+2018200551,2018200551
+2018200552,2018200552
+2018200553,2018200553
+2018200554,2018200554
+2018200555,2018200555
+2018200556,2014301304
+2018200557,2012300704
+2018200558,2018200558
+2018200559,2018200559
+2018200560,2018200560
+2018200561,2014303560
+2018200562,2018200562
+2018200657,2018200657
+2018200658,2018200658
+2018200659,2014301019
+2018200660,2018200660
+2018200661,2018200661
+2018200662,2018200662
+2018200663,2018200663
+2018200664,2018200664
+2018200665,2018200665
+2018200666,2018200666
+2018200667,2020100152
+2018200668,2018200668
+2018200669,2014300926
+2018200670,2014300943
+2018200671,2018200671
+2018200672,2014300964
+2018200673,2018200673
+2018200674,2014300077
+2018200675,2014300078
+2018200676,2014301097
+2018200677,2018200677
+2018200678,2018200678
+2018200679,2018200679
+2018200680,2014300962
+2018200681,2018200681
+2018200682,2014301062
+2018200683,2018200683
+2018200684,2014300917
+2018200685,2018200685
+2018200686,2018200686
+2018200687,2018200687
+2018200688,2018200688
+2018200689,2018200689
+2018200690,2014300956
+2018200691,2018200691
+2018200692,2014300938
+2018200693,2018200693
+2018200694,2018200694
+2018200695,2018200695
+2018200696,2014300060
+2018200697,2018200697
+2018200698,2018200698
+2018200699,2014300072
+2018200700,2014300906
+2018200701,2014301093
+2018200702,2018200702
+2018200703,2018200703
+2018200704,2018200704
+2018200705,2018200705
+2018200706,2018200706
+2018200707,2018200707
+2018200708,2018200708
+2018200709,2018200709
+2018200710,2018200710
+2018200711,2014301089
+2018200712,2018200712
+2018200713,2018200713
+2018200714,2018200714
+2018200715,2018200715
+2018200716,2018200716
+2018200717,2018200717
+2018200718,2018200718
+2018200719,2014301102
+2018200720,2018200720
+2018200721,2018200721
+2018200722,2014300982
+2018200723,2014301028
+2018200724,2020100164
+2018200725,2018200725
+2018200726,2014300116
+2018200727,2014300900
+2018200728,2018200728
+2018200729,2014303196
+2018200730,2018200730
+2018200731,2018200731
+2018200732,2014300905
+2018200733,2018200733
+2018200734,2014301012
+2018200735,2018200735
+2018200736,2018200736
+2018200737,2018200737
+2018200738,2014300968
+2018200739,2018200739
+2018200740,2018200740
+2018200741,2014300898
+2018200742,2018200742
+2018200743,2014300920
+2018200744,2018200744
+2018200745,2014300928
+2018200746,2018200746
+2018200747,2014300916
+2018200748,2014301116
+2018200749,2018200749
+2018200750,2018200750
+2018200751,2018200751
+2018200752,2018200752
+2018200753,2018200753
+2018200754,2014303011
+2018200755,2018200755
+2018200756,2018200756
+2018200757,2018200757
+2018200758,2014300058
+2018200759,2018200759
+2018200760,2018200760
+2018200761,2018200761
+2018200762,2018200762
+2018200763,2014300061
+2018200764,2014300063
+2018200765,2018200765
+2018200766,2018200766
+2018200767,2018200767
+2018200768,2018200768
+2018200769,2018200769
+2018200770,2018200770
+2018200771,2018200771
+2018200772,2018200772
+2018200773,2013301035
+2018200774,2018200774
+2018200775,2018200775
+2018200776,2018200776
+2018200777,2014300984
+2018200778,2018200778
+2018200779,2014301033
+2018200780,2014300203
+2018200781,2018200781
+2018200782,2018200782
+2018200783,2018200783
+2018200784,2014301077
+2018200785,2014300975
+2018200786,2018200786
+2018200787,2018200787
+2018200788,2018200788
+2018200789,2018200789
+2018200790,2014301022
+2018200791,2018200791
+2018200792,2014301068
+2018200793,2018200793
+2018200794,2018200794
+2018200795,2014301023
+2018200796,2014301046
+2018200797,2014301009
+2018200798,2018200798
+2018200799,2014300065
+2018200800,2018200800
+2018200801,2014300945
+2018200802,2018200802
+2018200803,2014301063
+2018200804,2018200804
+2018200805,2018200805
+2018200806,2014301011
+2018200807,2014301079
+2018200808,2014301076
+2018200809,2018200809
+2018200810,2018200810
+2018200811,2018200811
+2018200812,2014301037
+2018200813,2014300993
+2018200814,2014300057
+2018200815,2018200815
+2018200816,2018200816
+2018200817,2014300973
+2018200818,2014300999
+2018200819,2014301005
+2018200820,2018200820
+2018200821,2018200821
+2018200822,2018200822
+2018200823,2018200823
+2018200824,2018200824
+2018200825,2018200825
+2018200826,2014301021
+2018200827,2014300927
+2018200828,2014301027
+2018200829,2014301031
+2018200830,2018200830
+2018200831,2014301080
+2018200986,2014301244
+2018200987,2014301246
+2018200988,2018200988
+2018200989,2014300111
+2018200990,2018200990
+2018200991,2014301272
+2018200992,2018200992
+2018200993,2014301307
+2018200994,2018200994
+2018200995,2014301241
+2018200996,2018200996
+2018200997,2014301206
+2018200998,2018200998
+2018200999,2018200999
+2018201000,2018201000
+2018201001,2018201001
+2018201002,2014301344
+2018201003,2014301375
+2018201004,2014301265
+2018201005,2014301349
+2018201006,2014301369
+2018201007,2014301367
+2018201008,2018201008
+2018201009,2014301280
+2018201010,2014300109
+2018201011,2014301301
+2018201012,2014300119
+2018201013,2014301377
+2018201014,2018201014
+2018201015,2018201015
+2018201016,2018201016
+2018201017,2018201017
+2018201018,2018201018
+2018201019,2014301245
+2018201020,2014300122
+2018201021,2014301281
+2018201022,2014303094
+2018201023,2018201023
+2018201024,2018201024
+2018201025,2014300097
+2018201026,2018201026
+2018201027,2014300103
+2018201028,2014300114
+2018201029,2014301380
+2018201030,2018201030
+2018201031,2014301370
+2018201032,2018201032
+2018201033,2014301371
+2018201034,2014301372
+2018201035,2018201035
+2018201036,2018201036
+2018201037,2018201037
+2018201038,2014301379
+2018201039,2018201039
+2018201040,2018201040
+2018201041,2018201041
+2018201042,2014301285
+2018201043,2014301250
+2018201044,2014301201
+2018201045,2018201045
+2018201046,2014301236
+2018201047,2018201047
+2018201048,2018201048
+2018201049,2018201049
+2018201050,2014301278
+2018201051,2014301237
+2018201052,2018201052
+2018201053,2018201053
+2018201054,2018201054
+2018201055,2018201055
+2018201056,2018201056
+2018201057,2018201057
+2018201058,2018201058
+2018201059,2014301209
+2018201060,2018201060
+2018201061,2018201061
+2018201062,2018201062
+2018201063,2018201063
+2018201064,2014301352
+2018201065,2014300085
+2018201066,2018201066
+2018201067,2014301411
+2018201068,2018201068
+2018201069,2014300084
+2018201070,2018201070
+2018201071,2014300129
+2018201072,2018201072
+2018201073,2018201073
+2018201074,2014300096
+2018201075,2014303646
+2018201076,2018201076
+2018201077,2018201077
+2018201078,2014301291
+2018201079,2014302837
+2018201080,2014303115
+2018201081,2014302180
+2018201082,2014300127
+2018201083,2014301310
+2018201084,2018201084
+2018201085,2018201085
+2018201086,2014300128
+2018201087,2018201087
+2018201088,2014301401
+2018201089,2014300121
+2018201090,2018201090
+2018201091,2018201091
+2018201092,2018201092
+2018201093,2014300093
+2018201094,2014301378
+2018201095,2014301492
+2018201096,2014301520
+2018201097,2014301389
+2018201098,2018201098
+2018201099,2018201099
+2018201100,2018201100
+2018201101,2014301122
+2018201102,2014301108
+2018201103,2014301146
+2018201104,2014303104
+2018201105,2018201105
+2018201106,2014301114
+2018201107,2018201107
+2018201108,2014301449
+2018201109,2018201109
+2018201110,2018201110
+2018201111,2018201111
+2018201112,2018201112
+2018201113,2018201113
+2018201114,2014301109
+2018201115,2018201115
+2018201116,2018201116
+2018201117,2018201117
+2018201118,2018201118
+2018201119,2020100202
+2018201120,2014301159
+2018201121,2014301162
+2018201122,2018201122
+2018201123,2014300094
+2018201124,2014300099
+2018201125,2014301121
+2018201126,2014301172
+2018201127,2018201127
+2018201128,2014301176
+2018201129,2018201129
+2018201130,2018201130
+2018201131,2018201131
+2018201132,2018201132
+2018201133,2014301130
+2018201134,2018201134
+2018201135,2018201135
+2018201136,2018201136
+2018201137,2014302731
+2018201138,2014300100
+2018201139,2014301184
+2018201140,2018201140
+2018201141,2014301447
+2018201142,2014301143
+2018201143,2014300098
+2018201144,2014301126
+2018201145,2014300089
+2018201146,2018201146
+2018201147,2011301408
+2018201148,2018201148
+2018201149,2018201149
+2018201150,2018201150
+2018201151,2014301443
+2018201152,2014301197
+2018201153,2018201153
+2018201154,2018201154
+2018201155,2014301137
+2018201156,2014300709
+2018201157,2014301438
+2018201158,2014301284
+2018201159,2018201159
+2018201160,2018201160
+2018201161,2014301436
+2018201288,2018201288
+2018201289,2018201289
+2018201290,2018201290
+2018201291,2018201291
+2018201292,2018201292
+2018201293,2018201293
+2018201294,2014301505
+2018201295,2014301493
+2018201296,2018201296
+2018201297,2014301491
+2018201298,2014301498
+2018201299,2018201299
+2018201300,2014301480
+2018201301,2018201301
+2018201302,2018201302
+2018201303,2018201303
+2018201304,2014303187
+2018201305,2014301463
+2018201306,2014301464
+2018201307,2018201307
+2018201308,2014301075
+2018201309,2018201309
+2018201310,2018201310
+2018201311,2014301484
+2018201312,2014301496
+2018201313,2018201313
+2018201314,2014301497
+2018201315,2018201315
+2018201316,2018201316
+2018201317,2014301567
+2018201318,2018201318
+2018201319,2013301601
+2018201320,2013301587
+2018201321,2014301459
+2018201322,2018201322
+2018201323,2014301502
+2018201324,2018201324
+2018201325,2013301585
+2018201326,2018201326
+2018201327,2018201327
+2018201328,2014301504
+2018201329,2018201329
+2018201330,2020100248
+2018201331,2018201331
+2018201332,2018201332
+2018201333,2018201333
+2018201334,2020100245
+2018201335,2014301541
+2018201336,2018201336
+2018201337,2018201337
+2018201338,2018201338
+2018201339,2013301596
+2018201387,2018201387
+2018201388,2014301773
+2018201389,2018201389
+2018201390,2018201390
+2018201391,2018201391
+2018201392,2014301759
+2018201393,2014301747
+2018201394,2014301745
+2018201395,2018201395
+2018201396,2014301711
+2018201397,2014301704
+2018201398,2018201398
+2018201399,2018201399
+2018201400,2018201400
+2018201401,2018201401
+2018201402,2018201402
+2018201403,2018201403
+2018201404,2018201404
+2018201405,2018201405
+2018201406,2018201406
+2018201407,2018201407
+2018201408,2014301743
+2018201409,2018201409
+2018201410,2014301770
+2018201411,2014301782
+2018201412,2014301763
+2018201413,2014301808
+2018201414,2018201414
+2018201415,2014301628
+2018201416,2014301686
+2018201417,2014301678
+2018201418,2014301656
+2018201419,2014301689
+2018201420,2014301726
+2018201421,2014301772
+2018201422,2018201422
+2018201423,2014301735
+2018201424,2014301635
+2018201425,2014301677
+2018201426,2013300142
+2018201427,2014302489
+2018201428,2014301816
+2018201429,2014301796
+2018201430,2014301795
+2018201431,2014300044
+2018201432,2014301647
+2018201433,2014301831
+2018201434,2014301768
+2018201435,2018201435
+2018201436,2014301789
+2018201437,2018201437
+2018201438,2014301732
+2018201439,2014301639
+2018201440,2013301811
+2018201441,2014301832
+2018201442,2014301810
+2018201443,2018201443
+2018201444,2013301796
+2018201445,2018201445
+2018201446,2018201446
+2018201447,2014301640
+2018201448,2014301643
+2018201449,2014301637
+2018201450,2014301821
+2018201451,2018201451
+2018201452,2014301736
+2018201453,2018201453
+2018201454,2014301662
+2018201455,2018201455
+2018201456,2018201456
+2018201457,2014301725
+2018201458,2014301651
+2018201459,2018201459
+2018201460,2018201460
+2018201461,2014300851
+2018201462,2014301671
+2018201463,2014301481
+2018201464,2014301785
+2018201465,2014301694
+2018201466,2014301722
+2018201467,2014301665
+2018201535,2014302559
+2018201536,2018201536
+2018201537,2014302264
+2018201538,2018201538
+2018201539,2014301936
+2018201540,2014301871
+2018201541,2012301807
+2018201542,2013300073
+2018201543,2018201543
+2018201544,2018201544
+2018201545,2014301961
+2018201546,2018201546
+2018201547,2014301971
+2018201548,2018201548
+2018201549,2014301836
+2018201550,2014302165
+2018201551,2014301906
+2018201552,2014302158
+2018201553,2014301860
+2018201554,2014301863
+2018201555,2018201555
+2018201556,2014301856
+2018201557,2014301849
+2018201558,2014301848
+2018201559,2018201559
+2018201560,2018201560
+2018201561,2018201561
+2018201562,2014303581
+2018201563,2018201563
+2018201564,2018201564
+2018201565,2018201565
+2018201566,2014302111
+2018201567,2013302063
+2018201568,2014302155
+2018201569,2014302141
+2018201570,2018201570
+2018201571,2014302034
+2018201572,2012302039
+2018201573,2014301953
+2018201574,2014302156
+2018201575,2014301944
+2018201576,2014302105
+2018201577,2014301925
+2018201578,2014301839
+2018201579,2014302171
+2018201580,2014302151
+2018201581,2014301922
+2018201582,2014302122
+2018201583,2013301912
+2018201584,2014302136
+2018201585,2014302148
+2018201586,2014301905
+2018201587,2018201587
+2018201588,2013302630
+2018201589,2018201589
+2018201590,2014301963
+2018201591,2014300148
+2018201592,2014300152
+2018201593,2014302053
+2018201594,2018201594
+2018201595,2018201595
+2018201596,2018201596
+2018201597,2014303198
+2018201598,2014300446
+2018201599,2014301947
+2018201600,2013303518
+2018201601,2018201601
+2018201602,2014300176
+2018201603,2014301943
+2018201604,2014302071
+2018201605,2014302031
+2018201606,2014301960
+2018201607,2014300444
+2018201608,2014302045
+2018201609,2014302075
+2018201610,2014302061
+2018201611,2014301946
+2018201612,2014302078
+2018201613,2014301952
+2018201614,2014301954
+2018201615,2014301940
+2018201616,2018201616
+2018201617,2014302039
+2018201618,2014300180
+2018201619,2014302083
+2018201620,2014302059
+2018201621,2014300209
+2018201622,2014302732
+2018201623,2018201623
+2018201624,2014302079
+2018201625,2014302164
+2018201626,2014302159
+2018201627,2018201627
+2018201628,2014301897
+2018201629,2018201629
+2018201630,2014300177
+2018201631,2014300142
+2018201632,2014300174
+2018201633,2014301916
+2018201634,2018201634
+2018201635,2018201635
+2018201636,2014301880
+2018201637,2014301886
+2018201638,2018201638
+2018201639,2014301948
+2018201640,2018201640
+2018201641,2014301891
+2018201642,2014302160
+2018201643,2018201643
+2018201644,2018201644
+2018201645,2018201645
+2018201646,2014301893
+2018201647,2014301985
+2018201648,2014302001
+2018201649,2014301992
+2018201650,2014302012
+2018201651,2014302009
+2018201652,2014302026
+2018201653,2014300145
+2018201654,2014302019
+2018201655,2014301970
+2018201656,2014301987
+2018201657,2014301962
+2018201658,2014301964
+2018201659,2014301981
+2018201660,2014301986
+2018201661,2014302022
+2018201662,2014302006
+2018201663,2014301979
+2018201765,2014302383
+2018201766,2014302364
+2018201767,2014302173
+2018201768,2014302388
+2018201769,2018201769
+2018201770,2014302295
+2018201771,2014302498
+2018201772,2014302354
+2018201773,2014302384
+2018201774,2018201774
+2018201775,2014302502
+2018201776,2014302496
+2018201777,2014303201
+2018201778,2014302499
+2018201779,2018201779
+2018201780,2014302348
+2018201781,2014302500
+2018201782,2018201782
+2018201783,2014302313
+2018201784,2018201784
+2018201785,2014300163
+2018201786,2014302488
+2018201787,2014302294
+2018201788,2014302334
+2018201789,2013302232
+2018201790,2018201790
+2018201791,2014302490
+2018201792,2018201792
+2018201793,2018201793
+2018201794,2018201794
+2018201795,2018201795
+2018201796,2014303637
+2018201797,2014302315
+2018201798,2014301801
+2018201799,2018201799
+2018201800,2014302494
+2018201801,2018201801
+2018201802,2014302492
+2018201803,2014302798
+2018201804,2018201804
+2018201805,2014302360
+2018201806,2014302375
+2018201807,2014302287
+2018201808,2018201808
+2018201809,2018201809
+2018201810,2018201810
+2018201811,2014300272
+2018201812,2014302255
+2018201813,2014301820
+2018201814,2014302278
+2018201815,2014302183
+2018201816,2014302251
+2018201817,2018201817
+2018201818,2013300232
+2018201819,2018201819
+2018201820,2014302269
+2018201821,2014302382
+2018201822,2014302286
+2018201823,2014300139
+2018201824,2014302479
+2018201825,2014300166
+2018201826,2018201826
+2018201827,2014301825
+2018201828,2014302215
+2018201829,2018201829
+2018201830,2014302172
+2018201831,2018201831
+2018201832,2018201832
+2018201833,2014302221
+2018201834,2014302317
+2018201835,2014302579
+2018201836,2014302212
+2018201837,2014302226
+2018201838,2018201838
+2018201839,2018201839
+2018201840,2018201840
+2018201841,2018201841
+2018201842,2018201842
+2018201843,2018201843
+2018201844,2018201844
+2018201845,2020100351
+2018201846,2018201846
+2018201847,2014302216
+2018201848,2014302214
+2018201849,2014302237
+2018201850,2018201850
+2018201851,2018201851
+2018201852,2014300939
+2018201853,2014302390
+2018201854,2018201854
+2018201855,2014300132
+2018201856,2014302202
+2018201857,2012302153
+2018201858,2018201858
+2018201859,2018201859
+2018201860,2018201860
+2018201861,2018201861
+2018201862,2013300221
+2018201863,2014300410
+2018201864,2014302254
+2018201865,2018201865
+2018201866,2018201866
+2018201867,2018201867
+2018201868,2018201868
+2018201869,2012302113
+2018201870,2014300649
+2018201871,2018201871
+2018201872,2014302234
+2018201873,2014301511
+2018201874,2014302233
+2018201875,2014302239
+2018201876,2018201876
+2018201877,2013302421
+2018201878,2018201878
+2018201879,2014302242
+2018201880,2018201880
+2018201881,2014300165
+2018201882,2018201882
+2018201883,2018201883
+2018201884,2014302271
+2018201885,2018201885
+2018201886,2014302282
+2018201887,2018201887
+2018201888,2014302199
+2018201889,2014302261
+2018201890,2014302403
+2018201891,2014302259
+2018201892,2018201892
+2018201893,2018201893
+2018201894,2018201894
+2018201895,2018201895
+2018201896,2018201896
+2018201897,2014302249
+2018201898,2014300357
+2018201899,2014300654
+2018201900,2018201900
+2018201901,2014302207
+2018201902,2018201902
+2018201903,2014302541
+2018201904,2014302252
+2018201905,2014302177
+2018201906,2014302277
+2018201907,2014302421
+2018201908,2018201908
+2018201909,2014302414
+2018201910,2014302481
+2018201911,2014302457
+2018201912,2014302460
+2018201913,2014302230
+2018201914,2016210265
+2018201915,2018201915
+2018201916,2014302417
+2018201917,2014302477
+2018201918,2014302486
+2018201919,2013302430
+2018202035,2018202035
+2018202036,2018202036
+2018202037,2018202037
+2018202038,2018202038
+2018202039,2014303400
+2018202040,2018202040
+2018202041,2014302580
+2018202042,2014302664
+2018202043,2018202043
+2018202044,2014303411
+2018202045,2014302557
+2018202046,2014302551
+2018202047,2014303624
+2018202048,2018202048
+2018202049,2018202049
+2018202050,2013303426
+2018202051,2014302709
+2018202052,2018202052
+2018202053,2014302704
+2018202054,2014302570
+2018202055,2013302504
+2018202056,2014303497
+2018202057,2018202057
+2018202058,2013302378
+2018202059,2014302518
+2018202060,2014302508
+2018202061,2014302670
+2018202062,2018202062
+2018202063,2014302503
+2018202064,2014303640
+2018202065,2018202065
+2018202066,2018202066
+2018202067,2018202067
+2018202068,2014302711
+2018202069,2013300081
+2018202070,2014300484
+2018202071,2014302658
+2018202072,2014302648
+2018202073,2014302491
+2018202074,2014303346
+2018202075,2014302393
+2018202076,2014302193
+2018202077,2018202077
+2018202078,2018202078
+2018202079,2013302763
+2018202080,2014302614
+2018202081,2014302675
+2018202082,2014302575
+2018202083,2018202083
+2018202084,2018202084
+2018202085,2014302606
+2018202086,2018202086
+2018202087,2018202087
+2018202088,2014302599
+2018202089,2018202089
+2018202090,2014302274
+2018202091,2014302680
+2018202092,2018202092
+2018202093,2014302504
+2018202094,2014302691
+2018202095,2014303450
+2018202096,2014303663
+2018202097,2014302690
+2018202098,2018202098
+2018202099,2014302669
+2018202100,2018202100
+2018202101,2014303570
+2018202102,2013303550
+2018202103,2018202103
+2018202104,2018202104
+2018202105,2018202105
+2018202106,2014302689
+2018202107,2014302663
+2018202108,2018202108
+2018202109,2014302097
+2018202110,2014302447
+2018202111,2014302358
+2018202112,2014302451
+2018202113,2018202113
+2018202114,2018202114
+2018202115,2014300185
+2018202116,2018202116
+2018202117,2014302720
+2018202118,2018202118
+2018202119,2014302513
+2018202120,2018202120
+2018202121,2014300775
+2018202122,2018202122
+2018202123,2018202123
+2018202124,2013302445
+2018202125,2018202125
+2018202126,2014302712
+2018202127,2014302594
+2018202128,2018202128
+2018202129,2014302532
+2018202130,2014302656
+2018202131,2014302507
+2018202132,2014302611
+2018202133,2018202133
+2018202134,2014303421
+2018202135,2018202135
+2018202136,2014303440
+2018202137,2014302402
+2018202138,2018202138
+2018202139,2018202139
+2018202140,2014303391
+2018202141,2014303405
+2018202142,2014302721
+2018202143,2018202143
+2018202144,2018202144
+2018202145,2018202145
+2018202146,2014302162
+2018202147,2014301865
+2018202148,2014302161
+2018202149,2014302168
+2018202150,2014302654
+2018202151,2018202151
+2018202152,2014302710
+2018202153,2013302620
+2018202154,2014302700
+2018202155,2018202155
+2018202156,2018202156
+2018202157,2018202157
+2018202158,2014302598
+2018202159,2018202159
+2018202160,2014302650
+2018202161,2014300496
+2018202162,2018202162
+2018202163,2018202163
+2018202164,2018202164
+2018202165,2014300489
+2018202166,2014300499
+2018202167,2014302555
+2018202168,2018202168
+2018202169,2018202169
+2018202170,2014303556
+2018202171,2014303481
+2018202172,2014302573
+2018202286,2014302748
+2018202287,2018202287
+2018202288,2018202288
+2018202289,2014302853
+2018202290,2018202290
+2018202291,2018202291
+2018202292,2018202292
+2018202293,2018202293
+2018202294,2014302794
+2018202295,2014302810
+2018202296,2014302762
+2018202297,2014302805
+2018202298,2018202298
+2018202299,2018202299
+2018202300,2018202300
+2018202301,2018202301
+2018202302,2014302738
+2018202303,2014302811
+2018202304,2014302782
+2018202305,2014302836
+2018202306,2018202306
+2018202307,2018202307
+2018202308,2014302799
+2018202309,2014302822
+2018202310,2014302759
+2018202311,2014302793
+2018202312,2014302747
+2018202313,2018202313
+2018202314,2018202314
+2018202315,2014302820
+2018202316,2018202316
+2018202317,2014302813
+2018202318,2014302737
+2018202319,2018202319
+2018202320,2018202320
+2018202321,2018202321
+2018202322,2018202322
+2018202323,2018202323
+2018202324,2014302796
+2018202325,2020100397
+2018202326,2018202326
+2018202327,2014302862
+2018202328,2018202328
+2018202329,2018202329
+2018202330,2018202330
+2018202331,2018202331
+2018202332,2014302743
+2018202333,2020100390
+2018202334,2018202334
+2018202335,2013302700
+2018202336,2018202336
+2018202337,2018202337
+2018202338,2018202338
+2018202339,2018202339
+2018202340,2014302729
+2018202341,2018202341
+2018202342,2018202342
+2018202343,2014302857
+2018202344,2014302859
+2018202345,2014302867
+2018202346,2014302868
+2018202347,2014302855
+2018202348,2014302864
+2018202349,2018202349
+2018202350,2020100403
+2018202351,2018202351
+2018202352,2014302860
+2018202353,2014302869
+2018202354,2018202354
+2018202355,2018202355
+2018202356,2018202356
+2018202357,2018202357
+2018202358,2014302972
+2018202359,2018202359
+2018202360,2018202360
+2018202361,2018202361
+2018202362,2018202362
+2018202363,2018202363
+2018202364,2018202364
+2018202365,2018202365
+2018202366,2014303063
+2018202367,2020100413
+2018202368,2014303045
+2018202369,2018202369
+2018202370,2018202370
+2018202371,2018202371
+2018202372,2018202372
+2018202373,2018202373
+2018202374,2018202374
+2018202375,2014302999
+2018202376,2018202376
+2018202377,2018202377
+2018202378,2018202378
+2018202379,2018202379
+2018202380,2014303016
+2018202381,2018202381
+2018202382,2018202382
+2018202383,2018202383
+2018202384,2014303012
+2018202385,2014302981
+2018202386,2018202386
+2018202387,2014303051
+2018202388,2018202388
+2018202389,2014302727
+2018202390,2014302947
+2018202391,2014302938
+2018202392,2014302933
+2018202393,2014302940
+2018202394,2018202394
+2018202395,2013302882
+2018202396,2014302935
+2018202397,2018202397
+2018202398,2014302963
+2018202399,2018202399
+2018202400,2014302967
+2018202401,2014302950
+2018202402,2014302961
+2018202403,2018202403
+2018202404,2014302952
+2018202405,2018202405
+2018202406,2018202406
+2018202407,2012302796
+2018202408,2014302924
+2018202409,2018202409
+2018202410,2018202410
+2018202411,2014302918
+2018202412,2018202412
+2018202413,2014302913
+2018202414,2018202414
+2018202415,2014302912
+2018202416,2014302894
+2018202417,2018202417
+2018202418,2014303015
+2018202419,2018202419
+2018202420,2018202420
+2018202421,2018202421
+2018202422,2018202422
+2018202423,2014300200
+2018202424,2018202424
+2018202425,2018202425
+2018202426,2018202426
+2018202427,2018202427
+2018202428,2018202428
+2018202429,2014303026
+2018202430,2014303050
+2018202431,2018202431
+2018202432,2014303017
+2018202433,2014303038
+2018202434,2014303053
+2018202435,2018202435
+2018202436,2018202436
+2018202437,2018202437
+2018202438,2014303049
+2018202439,2014302989
+2018202440,2018202440
+2018202441,2014302991
+2018202442,2018202442
+2018202443,2018202443
+2018202444,2018202444
+2018202445,2014303076
+2018202446,2018202446
+2018202447,2018202447
+2018202448,2018202448
+2018202449,2018202449
+2018202450,2018202450
+2018202451,2018202451
+2018202452,2014303075
+2018202453,2014303071
+2018202511,2014303117
+2018202512,2018202512
+2018202513,2014302754
+2018202514,2018202514
+2018202515,2018202515
+2018202516,2018202516
+2018202517,2014303197
+2018202518,2018202518
+2018202519,2018202519
+2018202520,2018202520
+2018202521,2018202521
+2018202522,2018202522
+2018202523,2018202523
+2018202524,2018202524
+2018202525,2014303039
+2018202526,2018202526
+2018202527,2018202527
+2018202528,2018202528
+2018202529,2018202529
+2018202530,2018202530
+2018202531,2018202531
+2018202532,2018202532
+2018202533,2014303156
+2018202534,2014303160
+2018202535,2018202535
+2018202536,2018202536
+2018202537,2018202537
+2018202538,2018202538
+2018202539,2018202539
+2018202540,2018202540
+2018202541,2014303145
+2018202542,2014303214
+2018202543,2013302994
+2018202544,2014303178
+2018202545,2014303183
+2018202546,2014303087
+2018202547,2014303085
+2018202548,2018202548
+2018202549,2018202549
+2018202550,2018202550
+2018202551,2018202551
+2018202552,2014303163
+2018202553,2018202553
+2018202554,2018202554
+2018202555,2018202555
+2018202556,2018202556
+2018202557,2014303109
+2018202558,2018202558
+2018202559,2014302728
+2018202560,2018202560
+2018202561,2018202561
+2018202562,2014303105
+2018202563,2018202563
+2018202564,2018202564
+2018202565,2013303216
+2018202566,2018202566
+2018202567,2018202567
+2018202568,2018202568
+2018202569,2018202569
+2018202570,2018202570
+2018202571,2018202571
+2018202572,2014303080
+2018202573,2018202573
+2018202574,2018202574
+2018202575,2014303112
+2018202576,2014303190
+2018202577,2014302495
+2018202578,2018202578
+2018202579,2018202579
+2018202580,2018202580
+2018202581,2018202581
+2018203039,2018203039
+2018203040,2018203040
+2018203041,2014303259
+2018203042,2018203042
+2018203043,2014303250
+2018203044,2018203044
+2018203045,2018203045
+2018203046,2018203046
+2018203047,2018203047
+2018203048,2018203048
+2018203049,2018203049
+2018203050,2018203050
+2018203051,2018203051
+2018203052,2014303224
+2018203053,2018203053
+2018203054,2018203054
+2018203055,2018203055
+2018203056,2018203056
+2018203057,2018203057
+2018203058,2018203058
+2018203059,2018203059
+2018203060,2014301030
+2018203061,2018203061
+2018203062,2013303190
+2018203063,2014303307
+2018203064,2014303293
+2018203065,2018203065
+2018203066,2013303261
+2018203067,2014303243
+2018203068,2018203068
+2018203069,2014303290
+2018203070,2014303302
+2018203071,2014303292
+2018203072,2014303715
+2018203073,2018203073
+2018203074,2018203074
+2018203075,2018203075
+2018203076,2018203076
+2018203077,2018203077
+2018203078,2018203078
+2018203079,2018203079
+2018203080,2018203080
+2018203081,2018203081
+2018203082,2018203082
+2018203083,2018203083
+2018203084,2018203084
+2018203085,2018203085
+2018203086,2018203086
+2018203087,2018203087
+2018203088,2018203088
+2018203089,2018203089
+2018203090,2018203090
+2018203091,2018203091
+2018203092,2018203092
+2018203093,2018203093
+2018203094,2014303265
+2018203095,2014303276
+2018203096,2018203096
+2018203097,2018203097
+2018203098,2018203098
+2018203099,2018203099
+2018203100,2018203100
+2018203101,2018203101
+2018203102,2018203102
+2018203103,2018203103
+2018203104,2018203104
+2018203215,2014303464
+2018203216,2014303535
+2018203217,2018203217
+2018203218,2018203218
+2018203219,2014303371
+2018203220,2014303573
+2018203413,2018203413
+2018203414,2018203414
+2018203415,2018203415
+2018203416,2018203416
+2018203417,2018203417
+2018203418,2018203418
+2018203419,2018203419
+2018203420,2014303650
+2018203421,2018203421
+2018203422,2018203422
+2018203423,2018203423
+2018203424,2018203424
+2018203425,2018203425
+2018203426,2018203426
+2018203427,2014303655
+2018203428,2014303651
+2018203429,2018203429
+2018203430,2018203430
+2018203431,2018203431
+2018203432,2018203432
+2018203433,2014303665
+2018203434,20180P2136
+2018203435,2018203435
+2018203436,2018203436
+2018203437,2018203437
+2018203438,2018203438
+2018203439,2018203439
+2018203440,2018203440
+2018203441,2018203441
+2018203442,2018203442
+2018203443,2018203443
+2018203444,2018203444
+2018203445,2018203445
+2018203446,2018203446
+2018203447,2018203447
+2018203448,2018203448
+2018203449,2014303654
+2018203450,2014303644
+2018203451,2018203451
+2018203452,20180P0014
+2018203453,2018203453
+2018203454,2018203454
+2018203455,2018203455
+2018203485,2018203485
+2018203486,2018203486
+2018203487,2018203487
+2018203488,2014303711
+2018203489,2018203489
+2018203490,2013303124
+2018203491,2018203491
+2018203492,2014303678
+2018203493,2014303670
+2018203494,2018203494
+2018203601,2013300116
+2018203602,2017100507
+2018203603,2013301656
+2018203604,2013301808
+2018203605,2013301489
+2018203606,2014302458
+2018210270,2018210270
+2018210271,2018210271
+2018210272,2018210272
+2018210273,2010302246
+2018210274,2018210274
+2018210275,2010301072
+2018210276,2018210276
+2018212615,2018212615
+2018212616,2018212616
+2018212617,2018212617
+2018212618,2018212618
+2018212619,2018212619
+2018212620,2018212620
+2018212621,2018212621
+2018212622,2018212622
+2018212623,2007301273
+2018212624,2018212624
+2018212625,2018212625
+2018212626,2018212626
+2018212627,2018212627
+2018212628,2018212628
+2018212629,2018212629
+2018212630,2018212630
+2018212631,2018212631
+2018212632,2018212632
+2018212633,2018212633
+2018212634,2018212634
+2018212635,2018212635
+2018212636,2018212636
+2018212637,2018212637
+2018212638,2018212638
+2018212639,2018212639
+2018212640,2018212640
+2018212641,2018212641
+2018212642,2018212642
+2018212643,2018212643
+2018212644,2018212644
+2018212645,2018212645
+2018212646,2018212646
+2018212647,2018212647
+2018212648,2010300427
+2018212649,2018212649
+2018212650,2018212650
+2018212651,2018212651
+2018212652,2009302455
+2018212653,2018212653
+2018212654,2018212654
+2018212655,2018212655
+2018212656,2018212656
+2018212657,2018212657
+2018212658,2018212658
+2018212659,2018212659
+2018212660,2018212660
+2018212661,2018212661
+2018212662,2018212662
+2018212663,2018212663
+2018212664,2018212664
+2018212665,2018212665
+2018212666,2018212666
+2018212667,2018212667
+2018212668,2010302415
+2018212669,2018212669
+2018212670,2018212670
+2018212671,2018212671
+2018212672,2018212672
+2018212673,2018212673
+2018212674,2018212674
+2018212675,2018212675
+2018212676,2018212676
+2018212677,2018212677
+2018212678,2018212678
+2018212679,2018212679
+2018212680,2018212680
+2018212681,2018212681
+2018212682,2018212682
+2018212683,2018212683
+2018212684,2018212684
+2018212685,2018212685
+2018212686,2018212686
+2018212687,2018212687
+2018212688,2018212688
+2018212689,2018212689
+2018212690,2018212690
+2018212691,2018212691
+2018212692,2018212692
+2018212693,2018212693
+2018212694,2018212694
+2018212695,2018212695
+2018212696,2018212696
+2018212697,2018212697
+2018212698,2018212698
+2018212699,2018212699
+2018212700,2018212700
+2018212701,2018212701
+2018212702,2018212702
+2018212703,2018212703
+2018212704,2018212704
+2018212705,2018212705
+2018212706,2018212706
+2018212707,2018212707
+2018212708,2018212708
+2018212709,2018212709
+2018212710,2018212710
+2018212711,2018212711
+2018212712,2018212712
+2018212713,2018212713
+2018212714,2018212714
+2018212715,2018212715
+2018212716,2018212716
+2018212717,2018212717
+2018212718,2018212718
+2018212719,2018212719
+2018212720,2018212720
+2018212721,2018212721
+2018212722,2018212722
+2018212723,2018212723
+2018212724,2018212724
+2018212725,2015240130
+2018212726,2018212726
+2018212727,2018212727
+2018212728,2018212728
+2018212729,2018212729
+2018212730,2018212730
+2018212731,2018212731
+2018212732,2018212732
+2018212733,2018212733
+2018212734,2018212734
+2018212735,2018212735
+2018212736,2018212736
+2018212737,2018212737
+2018212738,2018212738
+2018212739,2018212739
+2018212740,2018212740
+2018212741,2018212741
+2018212742,2018212742
+2018212743,2018212743
+2018212744,2018212744
+2018212745,2018212745
+2018212746,2018212746
+2018212747,2018212747
+2018212748,2018212748
+2018212749,2018212749
+2018212750,2018212750
+2018212751,2018212751
+2018212752,2018212752
+2018212753,2018212753
+2018212754,2018212754
+2018212755,2018212755
+2018212756,2018212756
+2018212757,2018212757
+2018212758,2018212758
+2018212759,2018212759
+2018212760,2018212760
+2018212761,2018212761
+2018212762,2018212762
+2018212763,2018212763
+2018212764,2018212764
+2018212765,2018212765
+2018212766,2018212766
+2018212767,2018212767
+2018212768,2018212768
+2018212769,2018212769
+2018212770,2018212770
+2018212771,2018212771
+2018212772,2018212772
+2018212773,2018212773
+2018212774,2018212774
+2018212775,2018212775
+2018212776,2018212776
+2018212777,2018212777
+2018212778,2018212778
+2018212779,2018212779
+2018212780,2018212780
+2018212781,2018212781
+2018212782,2018212782
+2018212783,2018212783
+2018212784,2018212784
+2018212785,2018212785
+2018212786,2018212786
+2018212787,2018212787
+2018212788,2018212788
+2018212789,2018212789
+2018212790,2018212790
+2018212791,2018212791
+2018212792,2018212792
+2018212793,2018212793
+2018212794,2018212794
+2018212795,2018212795
+2018212796,2018212796
+2018212797,2018212797
+2018212798,2018212798
+2018212799,2018212799
+2018212800,2018212800
+2018212801,2018212801
+2018212802,2018212802
+2018212803,2018212803
+2018212804,2018212804
+2018212805,2018212805
+2018212806,2018212806
+2018212807,2018212807
+2018212808,2018212808
+2018212809,2018212809
+2018212810,2018212810
+2018212811,2018212811
+2018212812,2018212812
+2018212813,2018212813
+2018212814,2018212814
+2018212815,2018212815
+2018212816,2018212816
+2018212817,2018212817
+2018212818,2018212818
+2018212819,2018212819
+2018212820,2018212820
+2018212821,2018212821
+2018212822,2018212822
+2018212823,2018212823
+2018212824,2018212824
+2018212825,2018212825
+2018212826,2018212826
+2018212827,2010303209
+2018212828,2018212828
+2018212829,2018212829
+2018212830,2018212830
+2018212831,2018212831
+2018212832,2018212832
+2018212833,2018212833
+2018212834,2018212834
+2018212835,2018212835
+2018212836,2018212836
+2018212837,2018212837
+2018212838,2018212838
+2018212839,2018212839
+2018212840,2018212840
+2018212841,2018212841
+2018212842,2018212842
+2018212843,2018212843
+2018212844,2018212844
+2018212845,2018212845
+2018212846,2018212846
+2018212847,2018212847
+2018212848,2018212848
+2018212849,2018212849
+2018212850,2018212850
+2018212851,2018212851
+2018212852,2018212852
+2018212853,2018212853
+2018212854,2018212854
+2018212855,2018212855
+2018212856,2018212856
+2018212857,2018212857
+2018212858,2018212858
+2018212859,2018212859
+2018212860,2018212860
+2018212861,2018212861
+2018212862,2018212862
+2018212863,2018212863
+2018212864,2018212864
+2018212865,2018212865
+2018212866,2018212866
+2018212867,2018212867
+2018212868,2018212868
+2018212869,2018212869
+2018212870,2018212870
+2018212871,2018212871
+2018212872,2018212872
+2018212873,2018212873
+2018212874,2018212874
+2018212875,2018212875
+2018212876,2018212876
+2018212877,2018212877
+2018212878,2018212878
+2018212879,2018212879
+2018212880,2018212880
+2018212881,2018212881
+2018212882,2018212882
+2018212883,2018212883
+2018212884,2018212884
+2018212885,2018212885
+2018212886,2018212886
+2018212887,2018212887
+2018212888,2018212888
+2018212889,2018212889
+2018212890,2018212890
+2018212891,2018212891
+2018212892,2018212892
+2018212893,2018212893
+2018212894,2018212894
+2018212895,2018212895
+2018212896,2018212896
+2018212897,2018212897
+2018212898,2018212898
+2018212899,2018212899
+2018212900,2018212900
+2018212901,2018212901
+2018212902,2018212902
+2018212903,2018212903
+2018212904,2018212904
+2018212905,2018212905
+2018212906,2018212906
+2018212907,2018212907
+2018212908,2018212908
+2018212909,2018212909
+2018212910,2018212910
+2018212911,2018212911
+2018212912,2018212912
+2018212913,2018212913
+2018212914,2018212914
+2018212915,2018212915
+2018212916,2018212916
+2018212917,2018212917
+2018212918,2018212918
+2018212919,2018212919
+2018212920,2018212920
+2018212921,2018212921
+2018212922,2018212922
+2018212923,2018212923
+2018212924,2018212924
+2018212925,2018212925
+2018212926,2018212926
+2018212927,2018212927
+2018212928,2018212928
+2018212929,2018212929
+2018212930,2018212930
+2018212931,2018212931
+2018212932,2018212932
+2018212933,2018212933
+2018212934,2018212934
+2018212935,2018212935
+2018212936,2018212936
+2018212937,2018212937
+2018212938,2018212938
+2018212939,2018212939
+2018212940,2018212940
+2018212941,2018212941
+2018212942,2018212942
+2018212943,2018212943
+2018212944,2018212944
+2018212945,2018212945
+2018212946,2018212946
+2018212947,2018212947
+2018212948,2018212948
+2018212949,2018212949
+2018212950,2018212950
+2018212951,2018212951
+2018212952,2018212952
+2018212953,2018212953
+2018212954,2018212954
+2018212955,2018212955
+2018212956,061772
+2018212957,2018212957
+2018212958,2018212958
+2018212959,2018212959
+2018212960,2018212960
+2018212961,2018212961
+2018212962,2018212962
+2018212963,2018212963
+2018212964,2008302978
+2018212965,2015210095
+2018212966,2018212966
+2018212967,2018212967
+2018212968,2018212968
+2018212969,2018212969
+2018212970,2018212970
+2018212971,2018212971
+2018212972,2018212972
+2018212973,2018212973
+2018212974,2018212974
+2018212975,2018212975
+2018212976,2018212976
+2018212977,2018212977
+2018212978,2018212978
+2018212979,2018212979
+2018212980,2018212980
+2018212981,2018212981
+2018212982,2018212982
+2018212983,2018212983
+2018212984,2018212984
+2018212985,2018212985
+2018212986,2018212986
+2018212987,2018212987
+2018212988,2018212988
+2018212989,2018212989
+2018212990,2018212990
+2018212991,2018212991
+2018212992,2018212992
+2018212993,2018212993
+2018212994,2018212994
+2018212995,2018212995
+2018212996,2018212996
+2018212997,2018212997
+2018212998,2018212998
+2018212999,2018212999
+2018213000,2018213000
+2018213001,2018213001
+2018213002,2018213002
+2018213003,2018213003
+2018213004,2018213004
+2018213005,2018213005
+2018213006,2018213006
+2018213007,2018213007
+2018213008,2018213008
+2018213009,2018213009
+2018213010,2018213010
+2018213011,2018213011
+2018213012,2018213012
+2018213013,2018213013
+2018213014,2018213014
+2018213015,2018213015
+2018213016,2018213016
+2018213017,2018213017
+2018213018,2018213018
+2018213019,2018213019
+2018213020,2018213020
+2018213021,2018213021
+2018213022,2018213022
+2018213023,2018213023
+2018213024,2018213024
+2018213025,2018213025
+2018213026,2018213026
+2018213027,2018213027
+2018213028,2018213028
+2018213029,2018213029
+2018213030,2018213030
+2018213031,2018213031
+2018213032,2018213032
+2018213033,2018213033
+2018213034,2018213034
+2018213035,2018213035
+2018213036,2018213036
+2018213037,2018213037
+2018213038,2018213038
+2018213105,2018213105
+2018213106,2018213106
+2018213107,2018213107
+2018213108,2018213108
+2018213109,2018213109
+2018213110,2018213110
+2018213111,2018213111
+2018213112,2018213112
+2018213113,2018213113
+2018213114,2018213114
+2018213115,2016070165
+2018213116,2018213116
+2018213117,2015070097
+2018213118,2018213118
+2018213119,2018213119
+2018213120,2018213120
+2018213121,2018213121
+2018213122,2018213122
+2018213123,2018213123
+2018213124,2018213124
+2018213125,2018213125
+2018213126,2018213126
+2018213127,2018213127
+2018213128,2018213128
+2018213129,2018213129
+2018213130,2018213130
+2018213131,2018213131
+2018213132,2018213132
+2018213133,2018213133
+2018213134,2018213134
+2018213135,2018213135
+2018213136,2018213136
+2018213137,2018213137
+2018213138,2018213138
+2018213139,2018213139
+2018213140,2018213140
+2018213141,2018213141
+2018213142,2018213142
+2018213143,2018213143
+2018213144,2018213144
+2018213145,2018213145
+2018213146,2018213146
+2018213147,2018213147
+2018213148,2018213148
+2018213149,2017070095
+2018213150,2018213150
+2018213151,2018213151
+2018213152,2018213152
+2018213153,2018213153
+2018213154,2018213154
+2018213155,2018213155
+2018213156,2018213156
+2018213157,2018213157
+2018213158,2018213158
+2018213159,2018213159
+2018213160,2018213160
+2018213161,2018213161
+2018213162,2018213162
+2018213163,2018213163
+2018213164,2018213164
+2018213165,2018213165
+2018213166,2018213166
+2018213167,2018213167
+2018213168,2018213168
+2018213169,2018213169
+2018213170,2018213170
+2018213171,2018213171
+2018213172,2018213172
+2018213173,2018213173
+2018213174,2018213174
+2018213175,2018213175
+2018213176,2018213176
+2018213177,2018213177
+2018213178,2018213178
+2018213179,2018213179
+2018213180,2018213180
+2018213181,2018213181
+2018213182,2018213182
+2018213183,2018213183
+2018213184,2018213184
+2018213185,2018213185
+2018213186,2018213186
+2018213187,2018213187
+2018213188,2018213188
+2018213189,2018213189
+2018213190,2018213190
+2018213191,2018213191
+2018213192,2018213192
+2018213193,2018213193
+2018213194,2018213194
+2018213195,2018213195
+2018213196,2018213196
+2018213197,2018213197
+2018213198,2018213198
+2018213199,2018213199
+2018213200,2018213200
+2018213201,2018213201
+2018213202,2018213202
+2018213203,2018213203
+2018213204,2018213204
+2018213205,2018213205
+2018213206,2018213206
+2018213207,2018213207
+2018213208,2018213208
+2018213209,2018213209
+2018213210,2018213210
+2018213211,2018213211
+2018213212,2018213212
+2018213213,2018213213
+2018213214,2018213214
+2018213316,2018213316
+2018213317,2018213317
+2018213318,2007300944
+2018213319,2018213319
+2018213320,2018213320
+2018213321,2018213321
+2018213322,2018213322
+2018213323,2018213323
+2018213324,2018213324
+2018213325,2018213325
+2018213326,2018213326
+2018213327,2018213327
+2018213328,2018213328
+2018213329,2018213329
+2018213330,2018213330
+2018213331,2018213331
+2018213332,2018213332
+2018213333,2018213333
+2018213334,2018213334
+2018213335,2018213335
+2018213336,2018213336
+2018213337,2018213337
+2018213338,2014070084
+2018213339,2018213339
+2018213340,2018213340
+2018213341,2018213341
+2018213342,2018213342
+2018213343,2018213343
+2018213344,2018213344
+2018213345,2018213345
+2018213346,2018213346
+2018213347,2018213347
+2018213348,2018213348
+2018213349,2018213349
+2018213350,2010303451
+2018213351,2018213351
+2018213352,2018213352
+2018213353,2018213353
+2018213354,2018213354
+2018213355,2018213355
+2018213356,2018213356
+2018213357,2018213357
+2018213358,2018213358
+2018213359,2011300648
+2018213360,2018213360
+2018213361,2018213361
+2018213362,2018213362
+2018213363,2018213363
+2018213364,2014301998
+2018213365,2018213365
+2018213366,2018213366
+2018213367,2013260305
+2018213368,2013070056
+2018213369,2018213369
+2018213370,2018213370
+2018213371,2018213371
+2018213372,2018213372
+2018213373,2014303511
+2018213374,2011302387
+2018213375,2018213375
+2018213376,2018213376
+2018213377,2018213377
+2018213378,2018213378
+2018213379,2018213379
+2018213380,2018213380
+2018213381,2018213381
+2018213382,2018213382
+2018213383,2018213383
+2018213384,2018213384
+2018213385,2014300258
+2018213386,2018213386
+2018213387,2018213387
+2018213388,2008300982
+2018213389,2014301356
+2018213390,2009301192
+2018213391,2008301052
+2018213392,2017240001
+2018213393,2018213393
+2018213394,2018213394
+2018213395,2018213395
+2018213396,2018213396
+2018213397,2018213397
+2018213398,2018213398
+2018213399,2018213399
+2018213400,2018213400
+2018213401,2018213401
+2018213402,2018213402
+2018213403,2018213403
+2018213404,2018213404
+2018213405,2018213405
+2018213406,2018213406
+2018213407,2018213407
+2018213408,2018213408
+2018213409,2018213409
+2018213410,2018213410
+2018213411,2018213411
+2018213412,2018213412
+2018213502,2018213502
+2018213503,2018213503
+2018213504,2018213504
+2018213505,2018213505
+2018213506,2018213506
+2018213507,2018213507
+2018213508,2018213508
+2018213509,2018213509
+2018213510,2018213510
+2018213511,2018213511
+2018213512,2018213512
+2018213513,2018213513
+2018213514,2018213514
+2018213515,2018213515
+2018213516,2018213516
+2018213517,2018213517
+2018213518,2018213518
+2018213519,2018213519
+2018240001,2018140001
+2018240002,2018140002
+2018240003,2018240003
+2018240004,2018240004
+2018240005,2018240005
+2018240006,2018240006
+2018240007,2018240007
+2018240008,2018240008
+2018240009,2018240009
+2018240010,2018240010
+2018240011,2018240011
+2018240012,2018240012
+2018240013,2018240013
+2018240014,2018240014
+2018240015,2018240015
+2018240016,2018240016
+2018240017,2018240017
+2018240018,2018240018
+2018240019,2018240019
+2018240020,2018240020
+2018240021,2018240021
+2018240022,2018240022
+2018240023,2018240023
+2018240024,2018240024
+2018240025,2018240025
+2018240026,2018240026
+2018240027,2018240027
+2018240028,2018240028
+2018240029,2009301048
+2018240030,2018240030
+2018240031,2018240031
+2018240032,2018240032
+2018240033,2018240033
+2018240034,2018240034
+2018240035,2018240035
+2018240036,2018240036
+2018240037,2018240037
+2018240038,2018240038
+2018240039,2018240039
+2018240040,2018240040
+2018240041,2018240041
+2018240042,2018240042
+2018240043,2018240043
+2018240044,2018240044
+2018240045,2018240045
+2018240046,2018240046
+2018240047,2018240047
+2018240048,2018240048
+2018240049,2018240049
+2018240050,2018240050
+2018240051,2018240051
+2018240052,2018240052
+2018240053,2018240053
+2018240054,2018240054
+2018240055,2018240055
+2018240056,2018240056
+2018240057,2018240057
+2018240058,2018240058
+2018240059,2018240059
+2018240060,2013303501
+2018250001,2018250001
+2018250002,2018250002
+2018250003,2018250003
+2018250004,2018250004
+2018250005,2009300270
+2018250006,2018250006
+2018250007,2018250007
+2018250008,2018250008
+2018250009,2018250009
+2018250010,2018250010
+2018250011,2018250011
+2018250012,2018250012
+2018250013,2018250013
+2018250014,2018250014
+2018250015,2018250015
+2018250016,2013301428
+2018250017,2018250017
+2018250018,2018250018
+2018250019,2018250019
+2018250020,2018250020
+2018250021,2018250021
+2018250022,2018250022
+2018250023,2014301260
+2018250024,2018250024
+2018250025,2018250025
+2018250026,2018250026
+2018250027,2018250027
+2018250028,2018250028
+2018250029,2018250029
+2018250030,2018250030
+2018250031,2018250031
+2018250032,2018250032
+2018250033,2018250033
+2018250034,2018250034
+2018250035,2018250035
+2018250036,2014300305
+2018250037,2018250037
+2018250038,2018250038
+2018250039,2018250039
+2018250040,2018250040
+2018250041,2018250041
+2018250042,2018250042
+2018250043,2018250043
+2018250044,2018250044
+2018250045,2018250045
+2018250046,2018250046
+2018250047,2018250047
+2018250048,2018250048
+2018250049,2018250049
+2018250050,2018250050
+2018250051,2014302246
+2018250052,2014301991
+2018250053,2014301716
+2018250054,2018250054
+2018250055,2018250055
+2018250056,2018250056
+2018250057,2018250057
+2018250058,2018250058
+2018250059,2018250059
+2018250060,2018250060
+2018250061,2018250061
+2018250062,2018250062
+2018250063,2018250063
+2018250064,2018250064
+2018250065,2018250065
+2018250066,2018250066
+2018250067,2018250067
+2018250068,2018250068
+2018250069,060581
+2018250070,2018250070
+2018250071,2018250071
+2018250072,2018250072
+2018250073,2018250073
+2018250074,2018250074
+2018250075,2018250075
+2018250076,2018250076
+2018250077,2018250077
+2018250078,2018250078
+2018250079,2018250079
+2018250080,2018250080
+2018250081,2018250081
+2018250082,2018250082
+2018250083,2014300572
+2018250084,2018250084
+2018250085,2018250085
+2018250086,2013300533
+2018250087,2018250087
+2018250088,2018250088
+2018250089,2018250089
+2018250090,2018250090
+2018250091,2018250091
+2018250092,2018250092
+2018250093,2018250093
+2018250094,2018250094
+2018250095,2018250095
+2018250096,2018250096
+2018250097,2018250097
+2018250098,2018250098
+2018250099,2018250099
+2018250100,2013300549
+2018250101,2018250101
+2018250102,2018250102
+2018250103,2018250103
+2018250104,2018250104
+2018250105,2018250105
+2018250106,2018250106
+2018250107,2018250107
+2018250108,2018250108
+2018250109,2018250109
+2018250110,2018250110
+2018250111,2017250102
+2018250112,2014300552
+2018250113,2018250113
+2018250114,2018250114
+2018250115,2018250115
+2018250116,2014300620
+2018250117,2018250117
+2018250118,2018250118
+2018250119,2018250119
+2018250120,2018250120
+2018250121,2014303024
+2018250122,2018250122
+2018250123,2018250123
+2018250124,2018250124
+2018250125,2018250125
+2018250126,2018250126
+2018250127,2018250127
+2018250128,2018250128
+2018250129,2018250129
+2018250130,2018250130
+2018250131,2018250131
+2018250132,2018250132
+2018250133,2018250133
+2018250134,2018250134
+2018250135,2018250135
+2018250136,2018250136
+2018250137,2018250137
+2018250138,2018250138
+2018250139,2018250139
+2018250140,2014302179
+2018250141,2018250141
+2018250142,2018250142
+2018250143,2014302806
+2018250144,2018250144
+2018250145,2014300608
+2018260145,2018260145
+2018260146,2018260146
+2018260147,2014300447
+2018260148,2014300442
+2018260149,2014300339
+2018260150,2018260150
+2018260151,2018260151
+2018260152,2018260152
+2018260153,2018260153
+2018260154,2014303103
+2018260155,2018260155
+2018260156,2018260156
+2018260157,2018260157
+2018260158,2018260158
+2018260159,2018260159
+2018260160,2014300328
+2018260161,2014300283
+2018260162,2018260162
+2018260163,2014300368
+2018260164,2018260164
+2018260165,2014302223
+2018260166,2018260166
+2018260167,2018260167
+2018260168,2013300496
+2018260169,2018260169
+2018260170,2014300073
+2018260171,2018260171
+2018260172,2018260172
+2018260173,2018260173
+2018260174,2018260174
+2018260175,2014300351
+2018260176,2014300345
+2018260177,2018260177
+2018260178,2012300219
+2018260179,2014300418
+2018260180,2014300422
+2018260181,2018260181
+2018260182,2014300364
+2018260183,2017260174
+2018260184,2018260184
+2018260185,2018260185
+2018260186,2018260186
+2018260187,2018260187
+2018260188,2014300156
+2018260189,2018260189
+2018260190,2014300241
+2018260191,2018260191
+2018260192,2014300414
+2018260193,2018260193
+2018260194,2018260194
+2018260195,2018260195
+2018260196,2018260196
+2018260197,2014300448
+2018260198,2014300371
+2018260199,2014300240
+2018260200,2018260200
+2018260201,2014300323
+2018260202,2014301551
+2018260203,2018260203
+2018260204,2018260204
+2018260205,2014300301
+2018260206,2018260206
+2018260207,2018260207
+2018260208,2014300480
+2018260209,2018260209
+2018260210,2018260210
+2018260211,2018260211
+2018260212,2018260212
+2018260213,2014302316
+2018260214,2014300346
+2018260215,2018260215
+2018260216,2014300349
+2018260217,2014300347
+2018260218,2013300491
+2018260219,2018260219
+2018260220,2018260220
+2018260221,2014300039
+2018260222,2018260222
+2018260223,2018260223
+2018260224,2014301054
+2018260225,2018260225
+2018260226,2012300223
+2018260227,2018260227
+2018260228,2014300355
+2018260229,2018260229
+2018260230,2014300273
+2018260231,2013300333
+2018260232,2018260232
+2018260233,2018260233
+2018260234,2014300435
+2018260235,2014300475
+2018260236,2018260236
+2018260237,2018260237
+2018260238,2018260238
+2018260239,2018260239
+2018260240,2018260240
+2018260241,2014300231
+2018260242,2018260242
+2018260243,2018260243
+2018260244,2018260244
+2018260245,2018260245
+2018260246,2013300365
+2018260247,2014300267
+2018260248,2012300284
+2018260249,2013300370
+2018260250,2018260250
+2018260251,2018260251
+2018260252,2018260252
+2018260253,2013300473
+2018260254,2014300266
+2018260255,2014300714
+2018260256,2013300469
+2018260257,2018260257
+2018260258,2014300350
+2018260259,2018260259
+2018260260,2018260260
+2018260261,2018260261
+2018260262,2018260262
+2018260263,2014300433
+2018260264,2014300445
+2018260265,2018260265
+2018260266,2014300459
+2018260267,2018260267
+2018260268,2014300456
+2018260269,2018260269
+2018260367,2018260367
+2018260368,2018260368
+2018260369,2014300584
+2018260370,2018260370
+2018260371,2018260371
+2018260372,2018260372
+2018260373,2018260373
+2018260374,2013300633
+2018260375,2018260375
+2018260376,2018260376
+2018260377,2018260377
+2018260378,2018260378
+2018260379,2018260379
+2018260380,2018260380
+2018260381,2014300590
+2018260382,2018260382
+2018260383,2018260383
+2018260384,2012301160
+2018260385,2018260385
+2018260386,2014300601
+2018260387,2018260387
+2018260388,2018260388
+2018260389,2018260389
+2018260390,2018260390
+2018260391,2018260391
+2018260392,2014300591
+2018260393,2018260393
+2018260394,2018260394
+2018260395,2014300653
+2018260396,2018260396
+2018260397,2018260397
+2018260398,2018260398
+2018260399,2014300595
+2018260400,2014300589
+2018260401,2013300039
+2018260402,2014300603
+2018260403,2018260403
+2018260404,2014303638
+2018260405,2014300568
+2018260406,2018260406
+2018260407,2014300526
+2018260408,2014300550
+2018260409,2014301225
+2018260410,2014300525
+2018260411,2018260411
+2018260412,2014302386
+2018260413,2018260413
+2018260414,2014300548
+2018260415,2014300533
+2018260416,2014300721
+2018260417,2018260417
+2018260418,2018260418
+2018260419,2014301733
+2018260420,2014300531
+2018260421,2018260421
+2018260422,2018260422
+2018260423,2014300528
+2018260424,2014300529
+2018260425,2018260425
+2018260426,2014300613
+2018260427,2018260427
+2018260428,2018260428
+2018260429,2018260429
+2018260430,2014300534
+2018260431,2012300479
+2018260432,2013300682
+2018260433,2018260433
+2018260434,2014300054
+2018260435,2018260435
+2018260436,2014300561
+2018260437,2018260437
+2018260438,2013300562
+2018260439,2014300537
+2018260440,2018260440
+2018260441,2018260441
+2018260442,2013300691
+2018260443,2014300514
+2018260444,2018260444
+2018260445,2018260445
+2018260446,2018260446
+2018260447,2018260447
+2018260448,2014300519
+2018260563,2018260563
+2018260564,2018260564
+2018260565,2018260565
+2018260566,2018260566
+2018260567,2018260567
+2018260568,2018260568
+2018260569,2018260569
+2018260570,2018260570
+2018260571,2018260571
+2018260572,2013300799
+2018260573,2018260573
+2018260574,2013302695
+2018260575,2018260575
+2018260576,2014300837
+2018260577,2018260577
+2018260578,2013300811
+2018260579,2018260579
+2018260580,2018260580
+2018260581,2018260581
+2018260582,2018260582
+2018260583,2018260583
+2018260584,2018260584
+2018260585,2018260585
+2018260586,2018260586
+2018260587,2018260587
+2018260588,2018260588
+2018260589,2018260589
+2018260590,2010300683
+2018260591,2018260591
+2018260592,2018260592
+2018260593,2018260593
+2018260594,2018260594
+2018260595,2018260595
+2018260596,2018260596
+2018260597,2018260597
+2018260598,2018260598
+2018260599,2018260599
+2018260600,2018260600
+2018260601,2018260601
+2018260602,2018260602
+2018260603,2014300843
+2018260604,2018260604
+2018260605,2014300668
+2018260606,2014300679
+2018260607,2018260607
+2018260608,2018260608
+2018260609,2014300732
+2018260610,2014300729
+2018260611,2010300729
+2018260612,2018260612
+2018260613,2018260613
+2018260614,2018260614
+2018260615,2018260615
+2018260616,2018260616
+2018260617,2014300707
+2018260618,2018260618
+2018260619,2018260619
+2018260620,2018260620
+2018260621,2018260621
+2018260622,2018260622
+2018260623,2018260623
+2018260624,2018260624
+2018260625,2018260625
+2018260626,2018260626
+2018260627,2018260627
+2018260628,2014300833
+2018260629,2018260629
+2018260630,2014300217
+2018260631,2018260631
+2018260632,2018260632
+2018260633,2013300724
+2018260634,2018260634
+2018260635,2013300068
+2018260636,2018260636
+2018260637,2018260637
+2018260638,2018260638
+2018260639,2014300829
+2018260640,2018260640
+2018260641,2018260641
+2018260642,2018260642
+2018260643,2018260643
+2018260644,2014300720
+2018260645,2018260645
+2018260646,2018260646
+2018260647,2018260647
+2018260648,2018260648
+2018260649,2018260649
+2018260650,2013300859
+2018260651,2014300814
+2018260652,2018260652
+2018260653,2018260653
+2018260654,2014300835
+2018260655,2018260655
+2018260656,2018260656
+2018260832,2018260832
+2018260833,2018260833
+2018260834,2018260834
+2018260835,2014300899
+2018260836,2018260836
+2018260837,2018260837
+2018260838,2018260838
+2018260839,2018260839
+2018260840,2014301057
+2018260841,2018260841
+2018260842,2018260842
+2018260843,2018260843
+2018260844,2014300918
+2018260845,2018260845
+2018260846,2018260846
+2018260847,2014300953
+2018260848,2014300921
+2018260849,2018260849
+2018260850,2018260850
+2018260851,2018260851
+2018260852,2018260852
+2018260853,2018260853
+2018260854,2018260854
+2018260855,2018260855
+2018260856,2018260856
+2018260857,2018260857
+2018260858,2018260858
+2018260859,2018260859
+2018260860,2018260860
+2018260861,2014300949
+2018260862,2018260862
+2018260863,2018260863
+2018260864,2018260864
+2018260865,2018260865
+2018260866,2018260866
+2018260867,2018260867
+2018260868,2018260868
+2018260869,2018260869
+2018260870,2018260870
+2018260871,2018260871
+2018260872,2018260872
+2018260873,2018260873
+2018260874,2018260874
+2018260875,2018260875
+2018260876,2018260876
+2018260877,2018260877
+2018260878,2018260878
+2018260879,2011300848
+2018260880,2018260880
+2018260881,2018260881
+2018260882,2018260882
+2018260883,2018260883
+2018260884,2018260884
+2018260885,2018260885
+2018260886,2018260886
+2018260887,2018260887
+2018260888,2014301056
+2018260889,2018260889
+2018260890,2018260890
+2018260891,2018260891
+2018260892,2018260892
+2018260893,2018260893
+2018260894,2014301006
+2018260895,2018260895
+2018260896,2018260896
+2018260897,2018260897
+2018260898,2018260898
+2018260899,2018260899
+2018260900,2018260900
+2018260901,2018260901
+2018260902,2018260902
+2018260903,2018260903
+2018260904,2018260904
+2018260905,2018260905
+2018260906,2018260906
+2018260907,2018260907
+2018260908,2018260908
+2018260909,2018260909
+2018260910,2018260910
+2018260911,2018260911
+2018260912,2014303144
+2018260913,2018260913
+2018260914,2018260914
+2018260915,2014301047
+2018260916,2018260916
+2018260917,2018260917
+2018260918,2018260918
+2018260919,2018260919
+2018260920,2018260920
+2018260921,2018260921
+2018260922,2014301069
+2018260923,2018260923
+2018260924,2018260924
+2018260925,2018260925
+2018260926,2018260926
+2018260927,2018260927
+2018260928,2018260928
+2018260929,2018260929
+2018260930,2018260930
+2018260931,2014302898
+2018260932,2014300954
+2018260933,2018260933
+2018260934,2018260934
+2018260935,2018260935
+2018260936,2018260936
+2018260937,2018260937
+2018260938,2018260938
+2018260939,2018260939
+2018260940,2018260940
+2018260941,2018260941
+2018260942,2018260942
+2018260943,2018260943
+2018260944,2018260944
+2018260945,2014300963
+2018260946,2018260946
+2018260947,2018260947
+2018260948,2014300944
+2018260949,2018260949
+2018260950,2014301052
+2018260951,2018260951
+2018260952,2018260952
+2018260953,2018260953
+2018260954,2018260954
+2018260955,2014300951
+2018260956,2018260956
+2018260957,2018260957
+2018260958,2018260958
+2018260959,2018260959
+2018260960,2014301083
+2018260961,2018260961
+2018260962,2018260962
+2018260963,2018260963
+2018260964,2018260964
+2018260965,2018260965
+2018260966,2014301105
+2018260967,2013300993
+2018260968,2018260968
+2018260969,2018260969
+2018260970,2018260970
+2018260971,2014301043
+2018260972,2018260972
+2018260973,2014301084
+2018260974,2018260974
+2018260975,2018260975
+2018260976,2018260976
+2018260977,2018260977
+2018260978,2018260978
+2018260979,2018260979
+2018260980,2018260980
+2018260981,2018260981
+2018260982,2018260982
+2018260983,2018260983
+2018260984,2018260984
+2018260985,2012301039
+2018261162,2018261162
+2018261163,2018261163
+2018261164,2018261164
+2018261165,2018261165
+2018261166,2018261166
+2018261167,2018261167
+2018261168,2018261168
+2018261169,2014301383
+2018261170,2018261170
+2018261171,2018261171
+2018261172,2018261172
+2018261173,2018261173
+2018261174,2018261174
+2018261175,2018261175
+2018261176,2018261176
+2018261177,2018261177
+2018261178,2018261178
+2018261179,2014301451
+2018261180,2018261180
+2018261181,2018261181
+2018261182,2018261182
+2018261183,2018261183
+2018261184,2018261184
+2018261185,2014301269
+2018261186,2018261186
+2018261187,2018261187
+2018261188,2018261188
+2018261189,2018261189
+2018261190,2018261190
+2018261191,2018261191
+2018261192,2018261192
+2018261193,2018261193
+2018261194,2018261194
+2018261195,2018261195
+2018261196,2018261196
+2018261197,2014301267
+2018261198,2018261198
+2018261199,2018261199
+2018261200,2018261200
+2018261201,2018261201
+2018261202,2013300692
+2018261203,2018261203
+2018261204,2018261204
+2018261205,2018261205
+2018261206,2018261206
+2018261207,2018261207
+2018261208,2018261208
+2018261209,2018261209
+2018261210,2018261210
+2018261211,2018261211
+2018261212,2018261212
+2018261213,2018261213
+2018261214,2018261214
+2018261215,2018261215
+2018261216,2018261216
+2018261217,2018261217
+2018261218,2014301366
+2018261219,2014300417
+2018261220,2018261220
+2018261221,2018261221
+2018261222,2018261222
+2018261223,2018261223
+2018261224,2018261224
+2018261225,2018261225
+2018261226,2018261226
+2018261227,2018261227
+2018261228,2018261228
+2018261229,2018261229
+2018261230,2018261230
+2018261231,2018261231
+2018261232,2018261232
+2018261233,2018261233
+2018261234,2018261234
+2018261235,2018261235
+2018261236,2018261236
+2018261237,2018261237
+2018261238,2018261238
+2018261239,2013301334
+2018261240,2018261240
+2018261241,2018261241
+2018261242,2014301188
+2018261243,2018261243
+2018261244,2014301134
+2018261245,2018261245
+2018261246,2018261246
+2018261247,2018261247
+2018261248,2014301110
+2018261249,2018261249
+2018261250,2018261250
+2018261251,2014301297
+2018261252,2014301174
+2018261253,2018261253
+2018261254,2018261254
+2018261255,2018261255
+2018261256,2018261256
+2018261257,2018261257
+2018261258,2014301152
+2018261259,2018261259
+2018261260,2014301175
+2018261261,2018261261
+2018261262,2018261262
+2018261263,2014301178
+2018261264,2014301177
+2018261265,2018261265
+2018261266,2018261266
+2018261267,2018261267
+2018261268,2014301331
+2018261269,2018261269
+2018261270,2010301323
+2018261271,2014301318
+2018261272,2018261272
+2018261273,2014301327
+2018261274,2014301308
+2018261275,2014301317
+2018261276,2018261276
+2018261277,2014300126
+2018261278,2018261278
+2018261279,2018261279
+2018261280,2018261280
+2018261281,2014301227
+2018261282,2014301425
+2018261283,2013301325
+2018261284,2014301293
+2018261285,2014301434
+2018261286,2018261286
+2018261287,2013301470
+2018261340,2018261340
+2018261341,2018261341
+2018261342,2018261342
+2018261343,2018261343
+2018261344,2018261344
+2018261345,2018261345
+2018261346,2018261346
+2018261347,2018261347
+2018261348,2018261348
+2018261349,2018261349
+2018261350,2014301479
+2018261351,2014301460
+2018261352,2018261352
+2018261353,2018261353
+2018261354,2018261354
+2018261355,2014301488
+2018261356,2018261356
+2018261357,2018261357
+2018261358,2018261358
+2018261359,2018261359
+2018261360,2018261360
+2018261361,2014301462
+2018261362,2018261362
+2018261363,2018261363
+2018261364,2018261364
+2018261365,2014301489
+2018261366,2018261366
+2018261367,2018261367
+2018261368,2018261368
+2018261369,2018261369
+2018261370,2014301461
+2018261371,2018261371
+2018261372,2018261372
+2018261373,2018261373
+2018261374,2018261374
+2018261375,2014300315
+2018261376,2014300071
+2018261377,2018261377
+2018261378,2018261378
+2018261379,2018261379
+2018261380,2013301526
+2018261381,2018261381
+2018261382,2014301472
+2018261383,2018261383
+2018261384,2018261384
+2018261385,2018261385
+2018261386,2018261386
+2018261468,2014300689
+2018261469,2018261469
+2018261470,2018261470
+2018261471,2018261471
+2018261472,2018261472
+2018261473,2018261473
+2018261474,2018261474
+2018261475,2018261475
+2018261476,2014301653
+2018261477,2014300685
+2018261478,2018261478
+2018261479,2018261479
+2018261480,2018261480
+2018261481,2018261481
+2018261482,2018261482
+2018261483,2018261483
+2018261484,2018261484
+2018261485,2018261485
+2018261486,2013301729
+2018261487,2018261487
+2018261488,2018261488
+2018261489,2018261489
+2018261490,2018261490
+2018261491,2018261491
+2018261492,2018261492
+2018261493,2018261493
+2018261494,2018261494
+2018261495,2018261495
+2018261496,2018261496
+2018261497,2011301757
+2018261498,2018261498
+2018261499,2018261499
+2018261500,2018261500
+2018261501,2018261501
+2018261502,2018261502
+2018261503,2018261503
+2018261504,2018261504
+2018261505,2018261505
+2018261506,2018261506
+2018261507,2014301815
+2018261508,2018261508
+2018261509,2018261509
+2018261510,2018261510
+2018261511,2018261511
+2018261512,2018261512
+2018261513,2018261513
+2018261514,2014301721
+2018261515,2014301654
+2018261516,2014301697
+2018261517,2018261517
+2018261518,2018261518
+2018261519,2014301783
+2018261520,2018261520
+2018261521,2018261521
+2018261522,2018261522
+2018261523,2018261523
+2018261524,2018261524
+2018261525,2018261525
+2018261526,2018261526
+2018261527,2018261527
+2018261528,2014301708
+2018261529,2013301822
+2018261530,2018261530
+2018261531,2018261531
+2018261532,2018261532
+2018261533,2014301627
+2018261534,2018261534
+2018261664,2014302056
+2018261665,2018261665
+2018261666,2014301873
+2018261667,2014300437
+2018261668,2014301888
+2018261669,2018261669
+2018261670,2014303614
+2018261671,2018261671
+2018261672,2018261672
+2018261673,2014301882
+2018261674,2014301874
+2018261675,2018261675
+2018261676,2014302047
+2018261677,2018261677
+2018261678,2013301911
+2018261679,2018261679
+2018261680,2018261680
+2018261681,2014302091
+2018261682,2018261682
+2018261683,2018261683
+2018261684,2018261684
+2018261685,2018261685
+2018261686,2018261686
+2018261687,2018261687
+2018261688,2018261688
+2018261689,2018261689
+2018261690,2014302088
+2018261691,2014302094
+2018261692,2014301955
+2018261693,2018261693
+2018261694,2018261694
+2018261695,2018261695
+2018261696,2018261696
+2018261697,2018261697
+2018261698,2018261698
+2018261699,2018261699
+2018261700,2014302058
+2018261701,2018261701
+2018261702,2018261702
+2018261703,2014301884
+2018261704,2014302050
+2018261705,2018261705
+2018261706,2018261706
+2018261707,2014301907
+2018261708,2018261708
+2018261709,2018261709
+2018261710,2018261710
+2018261711,2018261711
+2018261712,2018261712
+2018261713,2014301935
+2018261714,2018261714
+2018261715,2018261715
+2018261716,2014302060
+2018261717,2018261717
+2018261718,2018261718
+2018261719,2018261719
+2018261720,2014302033
+2018261721,2018261721
+2018261722,2018261722
+2018261723,2014301931
+2018261724,2014302129
+2018261725,2018261725
+2018261726,2013301841
+2018261727,2018261727
+2018261728,2018261728
+2018261729,2014301861
+2018261730,2018261730
+2018261731,2018261731
+2018261732,2018261732
+2018261733,2018261733
+2018261734,2014301908
+2018261735,2014302483
+2018261736,2018261736
+2018261737,2018261737
+2018261738,2014302057
+2018261739,2018261739
+2018261740,2018261740
+2018261741,2014300189
+2018261742,2014302089
+2018261743,2014301912
+2018261744,2018261744
+2018261745,2018261745
+2018261746,2018261746
+2018261747,2018261747
+2018261748,2018261748
+2018261749,2018261749
+2018261750,2014301993
+2018261751,2014302197
+2018261752,2013301941
+2018261753,2014301995
+2018261754,2014301983
+2018261755,2013302353
+2018261756,2011301946
+2018261757,2018261757
+2018261758,2014301984
+2018261759,2018261759
+2018261760,2014301976
+2018261761,2018261761
+2018261762,2014302007
+2018261763,2014301996
+2018261764,2014301977
+2018261920,2012302196
+2018261921,2018261921
+2018261922,2012302139
+2018261923,2018261923
+2018261924,2014302468
+2018261925,2018261925
+2018261926,2018261926
+2018261927,2014302272
+2018261928,2014302397
+2018261929,2018261929
+2018261930,2018261930
+2018261931,2018261931
+2018261932,2012302166
+2018261933,2014302361
+2018261934,2014302343
+2018261935,2018261935
+2018261936,2018261936
+2018261937,2018261937
+2018261938,2018261938
+2018261939,2018261939
+2018261940,2018261940
+2018261941,2018261941
+2018261942,2014302311
+2018261943,2018261943
+2018261944,2018261944
+2018261945,2014302298
+2018261946,2018261946
+2018261947,2018261947
+2018261948,2014301487
+2018261949,2018261949
+2018261950,2014302338
+2018261951,2014301559
+2018261952,2014302335
+2018261953,2014302333
+2018261954,2018261954
+2018261955,2018261955
+2018261956,2018261956
+2018261957,2014302320
+2018261958,2014302312
+2018261959,2018261959
+2018261960,2014302305
+2018261961,2018261961
+2018261962,2014302238
+2018261963,2018261963
+2018261964,2018261964
+2018261965,2018261965
+2018261966,2018261966
+2018261967,2018261967
+2018261968,2018261968
+2018261969,2018261969
+2018261970,2018261970
+2018261971,2011300064
+2018261972,2018261972
+2018261973,2014302283
+2018261974,2014302188
+2018261975,2018261975
+2018261976,2018261976
+2018261977,2014302205
+2018261978,2018261978
+2018261979,2018261979
+2018261980,2018261980
+2018261981,2018261981
+2018261982,2009302024
+2018261983,2018261983
+2018261984,2018261984
+2018261985,2014303626
+2018261986,2014302434
+2018261987,2014302253
+2018261988,2018261988
+2018261989,2014302220
+2018261990,2018261990
+2018261991,2018261991
+2018261992,2018261992
+2018261993,2018261993
+2018261994,2018261994
+2018261995,2011302333
+2018261996,2018261996
+2018261997,2018261997
+2018261998,2018261998
+2018261999,2018261999
+2018262000,2018262000
+2018262001,2018262001
+2018262002,2014302186
+2018262003,2018262003
+2018262004,2018262004
+2018262005,2012302584
+2018262006,2018262006
+2018262007,2018262007
+2018262008,2018262008
+2018262009,2018262009
+2018262010,2014302236
+2018262011,2018262011
+2018262012,2018262012
+2018262013,2018262013
+2018262014,2014302194
+2018262015,2018262015
+2018262016,2018262016
+2018262017,2018262017
+2018262018,2018262018
+2018262019,2014302232
+2018262020,2018262020
+2018262021,2014302453
+2018262022,2014302456
+2018262023,2014302463
+2018262024,2018262024
+2018262025,2018262025
+2018262026,2014302256
+2018262027,2018262027
+2018262028,2018262028
+2018262029,2018262029
+2018262030,2013302144
+2018262031,2018262031
+2018262032,2018262032
+2018262033,2018262033
+2018262034,2018262034
+2018262173,2018262173
+2018262174,2018262174
+2018262175,2018262175
+2018262176,2018262176
+2018262177,2018262177
+2018262178,2014303413
+2018262179,2014302565
+2018262180,2018262180
+2018262181,2018262181
+2018262182,2018262182
+2018262183,2018262183
+2018262184,2018262184
+2018262185,2018262185
+2018262186,2018262186
+2018262187,2018262187
+2018262188,2018262188
+2018262189,2018262189
+2018262190,2018262190
+2018262191,2018262191
+2018262192,2014302703
+2018262193,2018262193
+2018262194,2018262194
+2018262195,2018262195
+2018262196,2018262196
+2018262197,2014303591
+2018262198,2014303577
+2018262199,2018262199
+2018262200,2018262200
+2018262201,2018262201
+2018262202,2018262202
+2018262203,2018262203
+2018262204,2018262204
+2018262205,2018262205
+2018262206,2014302469
+2018262207,2014302683
+2018262208,2018262208
+2018262209,2014302530
+2018262210,2018262210
+2018262211,2014303483
+2018262212,2018262212
+2018262213,2018262213
+2018262214,2018262214
+2018262215,2018262215
+2018262216,2018262216
+2018262217,2018262217
+2018262218,2018262218
+2018262219,2018262219
+2018262220,2018262220
+2018262221,2018262221
+2018262222,2013300234
+2018262223,2018262223
+2018262224,2018262224
+2018262225,2018262225
+2018262226,2013302444
+2018262227,2018262227
+2018262228,2018262228
+2018262229,2018262229
+2018262230,2018262230
+2018262231,2013302536
+2018262232,2018262232
+2018262233,2018262233
+2018262234,2018262234
+2018262235,2018262235
+2018262236,2018262236
+2018262237,2018262237
+2018262238,2018262238
+2018262239,2018262239
+2018262240,2018262240
+2018262241,2018262241
+2018262242,2018262242
+2018262243,2018262243
+2018262244,2018262244
+2018262245,2014303345
+2018262246,2018262246
+2018262247,2014302713
+2018262248,2018262248
+2018262249,2018262249
+2018262250,2018262250
+2018262251,2018262251
+2018262252,2018262252
+2018262253,2018262253
+2018262254,2018262254
+2018262255,2018262255
+2018262256,2018262256
+2018262257,2018262257
+2018262258,2018262258
+2018262259,2014303528
+2018262260,2018262260
+2018262261,2018262261
+2018262262,2014302544
+2018262263,2018262263
+2018262264,2014302584
+2018262265,2018262265
+2018262266,2018262266
+2018262267,2018262267
+2018262268,2018262268
+2018262269,2018262269
+2018262270,2012300628
+2018262271,2018262271
+2018262272,2018262272
+2018262273,2018262273
+2018262274,2018262274
+2018262275,2018262275
+2018262276,2014303381
+2018262277,2014303360
+2018262278,2018262278
+2018262279,2018262279
+2018262280,2018262280
+2018262281,2018262281
+2018262282,2014303337
+2018262283,2014303356
+2018262284,2018262284
+2018262285,2018262285
+2018262454,2018262454
+2018262455,2018262455
+2018262456,2018262456
+2018262457,2018262457
+2018262458,2018262458
+2018262459,2018262459
+2018262460,2018262460
+2018262461,2018262461
+2018262462,2018262462
+2018262463,2018262463
+2018262464,2018262464
+2018262465,2018262465
+2018262466,2018262466
+2018262467,2018262467
+2018262468,2018262468
+2018262469,2018262469
+2018262470,2018262470
+2018262471,2018262471
+2018262472,2018262472
+2018262473,2018262473
+2018262474,2018262474
+2018262475,2018262475
+2018262476,2018262476
+2018262477,2018262477
+2018262478,2018262478
+2018262479,2018262479
+2018262480,2018262480
+2018262481,2018262481
+2018262482,2018262482
+2018262483,2018262483
+2018262484,2018262484
+2018262485,2018262485
+2018262486,2018262486
+2018262487,2018262487
+2018262488,2014302760
+2018262489,2018262489
+2018262490,2018262490
+2018262491,2018262491
+2018262492,2018262492
+2018262493,2018262493
+2018262494,2018262494
+2018262495,2018262495
+2018262496,2018262496
+2018262497,2018262497
+2018262498,2018262498
+2018262499,2018262499
+2018262500,2014300990
+2018262501,2018262501
+2018262502,2018262502
+2018262503,2018262503
+2018262504,2018262504
+2018262505,2018262505
+2018262506,2018262506
+2018262507,2018262507
+2018262508,2018262508
+2018262509,2014300941
+2018262510,2018262510
+2018262582,2018262582
+2018262583,2018262583
+2018262584,2018262584
+2018262585,2014303127
+2018262586,2018262586
+2018262587,2018262587
+2018262588,2018262588
+2018262589,2018262589
+2018262590,2018262590
+2018262591,2018262591
+2018262592,2018262592
+2018262593,2018262593
+2018262594,2018262594
+2018262595,2018262595
+2018262596,2018262596
+2018262597,2018262597
+2018262598,2018262598
+2018262599,2018262599
+2018262600,2018262600
+2018262601,2018262601
+2018262602,2018262602
+2018262603,2018262603
+2018262604,2018262604
+2018262605,2018262605
+2018262606,2018262606
+2018262607,2018262607
+2018262608,2018262608
+2018262609,2018262609
+2018262610,2014301319
+2018262611,2018262611
+2018262612,2018262612
+2018262613,2018262613
+2018262614,2018262614
+2018263221,2018263221
+2018263222,2014303508
+2018263223,2018263223
+2018263224,2018263224
+2018263225,2018263225
+2018263226,2018263226
+2018263227,2014302797
+2018263228,2018263228
+2018263229,2018263229
+2018263230,2018263230
+2018263231,2014303619
+2018263232,2018263232
+2018263233,2018263233
+2018263234,2018263234
+2018263235,2018263235
+2018263236,2018263236
+2018263237,2018263237
+2018263238,2018263238
+2018263239,2018263239
+2018263240,2018263240
+2018263241,2018263241
+2018263242,2018263242
+2018263243,2018263243
+2018263244,2014303380
+2018263245,2018263245
+2018263246,2018263246
+2018263247,2014303426
+2018263248,2018263248
+2018263249,2014303541
+2018263250,2018263250
+2018263251,2014303455
+2018263252,2014303379
+2018263253,2014303485
+2018263254,2018263254
+2018263255,2014303327
+2018263256,2014303410
+2018263257,2014303501
+2018263258,2018263258
+2018263259,2013303344
+2018263260,2018263260
+2018263261,2018263261
+2018263262,2018263262
+2018263263,2018263263
+2018263264,2018263264
+2018263265,2018263265
+2018263266,2018263266
+2018263267,2014303516
+2018263268,2018263268
+2018263269,2014303522
+2018263270,2014303509
+2018263271,2018263271
+2018263272,2018263272
+2018263273,2018263273
+2018263274,2014303623
+2018263275,2013303351
+2018263276,2018263276
+2018263277,2018263277
+2018263278,2018263278
+2018263279,2014303489
+2018263280,2018263280
+2018263281,2018263281
+2018263282,2018263282
+2018263283,2018263283
+2018263284,2014303533
+2018263285,2018263285
+2018263286,2018263286
+2018263287,2018263287
+2018263288,2018263288
+2018263289,2018263289
+2018263290,2018263290
+2018263291,2018263291
+2018263292,2018263292
+2018263293,2018263293
+2018263294,2018263294
+2018263295,2018263295
+2018263296,2014303589
+2018263297,2014303468
+2018263298,2014303328
+2018263299,2010303453
+2018263300,2011300973
+2018263301,2013303341
+2018263302,2018263302
+2018263303,2018263303
+2018263304,2018263304
+2018263305,2018263305
+2018263306,2018263306
+2018263307,2014303412
+2018263308,2014303478
+2018263309,2018263309
+2018263310,2014303424
+2018263311,2018263311
+2018263312,2018263312
+2018263313,2018263313
+2018263314,2014303480
+2018263315,2018263315
+2018263456,2018263456
+2018263457,2018263457
+2018263458,2018263458
+2018263459,2018263459
+2018263460,2018263460
+2018263461,2018263461
+2018263462,2018263462
+2018263463,2018263463
+2018263464,2014301087
+2018263465,2018263465
+2018263466,2018263466
+2018263467,2018263467
+2018263468,2013301112
+2018263469,2013301111
+2018263470,2018263470
+2018263471,2018263471
+2018263472,2018263472
+2018263473,2018263473
+2018263474,2014301042
+2018263475,2018263475
+2018263476,2018263476
+2018263477,2018263477
+2018263478,2018263478
+2018263479,2018263479
+2018263480,2018263480
+2018263481,2018263481
+2018263482,2018263482
+2018263483,2018263483
+2018263484,2018263484
+2018263495,2018263495
+2018263496,2018263496
+2018263497,2018263497
+2018263498,2018263498
+2018263499,2018263499
+2018263500,2014300912
+2018263501,2018263501
+2018270001,2018270001
+2018270002,2018270002
+2018270003,2018270003
+2018270004,2018270004
+2018270005,2018270005
+2018270006,2018270006
+2018270007,2018270007
+2018270008,2018270008
+2018270009,2018270009
+2018270010,2018270010
+2018270011,2018270011
+2018270012,2018270012
+2018270013,2018270013
+2018270014,2018270014
+2018270015,2018270015
+2018270016,2018270016
+2018270017,2018270017
+2018270018,2018270018
+2018270019,2018270019
+2018270020,2018270020
+2018270021,2018270021
+2018270022,2018270022
+2018280001,2018280001
+2018280002,2018280002
+2018280003,2018280003
+2018280004,2018280004
+2018280005,2018280005
+2018280006,2018280006
+2018280007,2018280007
+2018280008,2018280008
+2018280009,2018280009
+2018280010,2018280010
+2018280011,2018280011
+2018280012,2018180052
+2018280013,2018280013
+2018280014,2018280014
+2018280015,2018280015
+2018280016,2018280016
+2018280017,2018280017
+2018280018,2018280018
+2018280019,2018280019
+2018280020,2018280020
+2018280021,2018280021
+2018280022,2018280022
+2018280023,2018280023
+2018280024,2018280024
+2018280025,2018280025
+2018280026,2018280026
+2018280027,2018280027
+2018280028,2018280028
+2018280029,2018280029
+2018280030,2018280030
+2018280031,2018280031
+2018280032,2018280032
+2018280033,2018280033
+2018280034,2018280034
+2018280035,2018280035
+2018280036,2018280036
+2018280037,2018280037
+2018280038,2018280038
+2018280039,2018280039
+2018280040,2018280040
+2018280041,2018280041
+2018280042,2017280093
+2018280043,2018280043
+2018280044,2018280044
+2018280045,2017280148
+2018280046,2018280046
+2018280047,2018280047
+2018280048,2018280048
+2018280049,2018280049
+2018280050,2018280050
+2018280051,2018280051
+2018280052,2018280052
+2018280053,2018280053
+2018280054,2018280054
+2018280055,2018280055
+2018280056,2018280056
+2018280057,2018280057
+2018280058,2018280058
+2018280059,2018280059
+2018280060,2018280060
+2018280061,2018280061
+2018280062,2018280062
+2018280063,2018280063
+2018280064,2018280064
+2018280065,2018280065
+2018280066,2018280066
+2018280067,2018280067
+2018280068,2014430203
+2018280069,2018280069
+2018280070,2018280070
+2018280071,2018280071
+2018280072,2018280072
+2018280073,2018280073
+2018280074,2018280074
+2018280075,2018280075
+2018280076,2018280076
+2018280077,2018280077
+2018280078,2018280078
+2018280079,2018280079
+2018280080,2018280080
+2018280081,2018280081
+2018280082,2018280082
+2018280083,2018280083
+2018280084,2018280084
+2018280085,2018280085
+2018280086,2018280086
+2018280087,2018280087
+2018280088,2018280088
+2018280089,2018280089
+2018280090,2018280090
+2018280091,2018280091
+2018280092,2018280092
+2018280093,2018280093
+2018280094,2018280094
+2018280095,2018280095
+2018280096,2018280096
+2018280097,2018280097
+2018280098,2018280098
+2018280099,2018280099
+2018280100,2018280100
+2018280101,2018280101
+2018280102,2018280102
+2018280103,2018280103
+2018280104,2018280104
+2018280105,2018280105
+2018280106,2018280106
+2018280107,2018280107
+2018280108,2018280108
+2018280109,2018280109
+2018280110,2018280110
+2018280111,2018280111
+2018280112,2018280112
+2018280113,2018280113
+2018280114,2018280114
+2018280115,2018280115
+2018280117,2018280117
+2018280118,2018280118
+2018280119,2018280119
+2018280120,2018280120
+2018280121,2018280121
+2018280122,2018280122
+2018280123,2018280123
+2018280124,2018280124
+2018280125,2018280125
+2018280126,2018280126
+2018280127,2018280127
+2018280128,2018280128
+2018280129,2018280129
+2018280130,2018280130
+2018280131,2018280131
+2018280132,2018280132
+2018280133,2018280133
+2018280134,2018280134
+2018280135,2018280135
+2018280136,2018280136
+2018280137,2018280137
+2018280138,2018280138
+2018280139,2018280139
+2018280140,2018280140
+2018280141,2018280141
+2018280142,2018280142
+2018280143,2018280143
+2018280144,2018280144
+2018280145,2018280145
+2018280146,2018280146
+2018280147,2018280147
+2018280148,2018280148
+2018280149,2018280149
+2018280150,2018280150
+2018280151,2018280151
+2018280152,2018280152
+2018280153,2018280153
+2018280154,2018280154
+2018280155,2018280155
+2018280156,2018280156
+2018280157,2018280157
+2018280158,2018280158
+2018280159,2018280159
+2018280160,2018280160
+2018280161,2018280161
+2018280162,2018280162
+2018280163,2018280163
+2018280164,2018280164
+2018280165,2018280165
+2018280166,2018280166
+2018280167,2017280147
+2018280168,2018280168
+2018280169,2018280169
+2018280170,2018280170
+2018280171,2018280171
+2018280172,2018280172
+2018280173,2018280173
+2018280174,2018280174
+2018280175,2018280175
+2018280177,2018280177
+2018300001,2018300001
+2018300002,2018300002f
+2018300003,2018300003
+2018300004,2018300004
+2018300005,2018300005
+2018300006,2018300006
+2018300007,2018300007
+2018300008,2018300008
+2018300009,2018300009
+2018300010,2018300010
+2018300011,2018300011
+2018300012,2018300012
+2018300013,2018300013
+2018300014,2018300014
+2018300015,2018300015
+2018300016,2018300016
+2018300017,2018300017
+2018300018,2018300018
+2018300019,2018300019
+2018300020,2018300020
+2018300021,2018300021
+2018300022,2018300022
+2018300023,2018300023
+2018300024,2018300024
+2018300025,2018300025
+2018300026,2018300026
+2018300027,2018300027
+2018300028,2018300028
+2018300029,2018300029
+2018300030,2018300030
+2018300031,2018300031
+2018300032,2018300032
+2018300033,2018300033
+2018300034,2018300034
+2018300035,2018300035
+2018300036,2018300036
+2018300037,2018300037
+2018300038,2018300038
+2018300039,2018300039
+2018300040,2018300040
+2018300041,2018300041
+2018300042,2018300042
+2018300043,2018300043
+2018300044,2018300044
+2018300045,2018300045
+2018300046,2018300046
+2018300047,2018300047
+2018300048,2018300048
+2018300049,2018300049
+2018300050,2018300050
+2018300051,2018300051
+2018300052,2018300052
+2018300053,2018300053
+2018300054,2018300054
+2018300055,2018300055
+2018300056,2018300056
+2018300057,2018300057
+2018300058,2018300058
+2018300059,2018300059
+2018300060,2018300060
+2018300061,2018300061
+2018300062,2018300062
+2018300063,2018300063
+2018300064,2018300064
+2018300065,2018300065
+2018300066,2018300066
+2018300067,2018300067
+2018300068,2018300068f
+2018300069,2018300069
+2018300070,2018300070
+2018300071,2018300071
+2018300072,2018300072
+2018300073,2018300073
+2018300074,2018300074
+2018300075,2018300075
+2018300076,2018300076
+2018300077,2018300077
+2018300078,2018300078
+2018300079,2018300079
+2018300080,2018300080
+2018300081,2018300081
+2018300082,2018300082
+2018300083,2018300083
+2018300084,2018300084
+2018300085,2018300085
+2018300086,2018300086
+2018300087,2018300087
+2018300088,2018300088
+2018300089,2018300089
+2018300090,2018300090
+2018300091,2018300091
+2018300092,2018300092
+2018300093,2018300093
+2018300094,2018300094
+2018300095,2018300095
+2018300096,2018300096
+2018300097,2018300097
+2018300098,2018300098
+2018300099,2018300099
+2018300100,2018300100
+2018300101,2018300101
+2018300102,2018300102
+2018300103,2018300103
+2018300104,2018300104
+2018300105,2018300105
+2018300106,2018300106
+2018300107,2018300107
+2018300108,2018300108
+2018300109,2018300109
+2018300110,2018300110
+2018300111,2018300111
+2018300112,2018300112
+2018300113,2018300113
+2018300114,2018300114
+2018300115,2018300115
+2018300116,2018300116
+2018300117,2018300117
+2018300118,2018300118
+2018300119,2018300119
+2018300120,2018300120
+2018300121,2018300121
+2018300122,2018300122
+2018300123,2018300123
+2018300124,2018300124
+2018300125,2018300125
+2018300126,2018300126
+2018300127,2018300127
+2018300128,2018300128
+2018300129,2018300129
+2018300130,2018300130
+2018300131,2018300131
+2018300132,2018300132
+2018300133,2018300133
+2018300134,2018300134
+2018300135,2018300135
+2018300136,2018300136
+2018300137,2018300137
+2018300138,2018300138
+2018300139,2018300139
+2018300140,2018300140
+2018300141,2018300141
+2018300142,2018300142
+2018300143,2018300143
+2018300144,2018300144
+2018300145,2018300145
+2018300146,2018300146
+2018300147,2018300147
+2018300148,2018300148
+2018300149,2018300149
+2018300150,2018300150
+2018300151,2018300151
+2018300152,2018300152
+2018300153,2018300153
+2018300154,2018300154
+2018300155,2018300155
+2018300156,2018300156
+2018300157,2018300157
+2018300158,2018300158
+2018300159,2018300159
+2018300160,2018300160
+2018300161,2018300161
+2018300162,2018300162
+2018300163,2018300163
+2018300164,2018300164
+2018300165,2018300165
+2018300166,2018300166
+2018300167,2018300167
+2018300168,2018300168
+2018300169,2018300169
+2018300170,2018300170
+2018300171,2018300171
+2018300172,2018300172
+2018300173,2018300173
+2018300174,2018300174
+2018300175,2018300175
+2018300176,2018300176
+2018300177,2018300177
+2018300178,2018300178
+2018300179,2018300179
+2018300180,2018300180
+2018300181,2018300181
+2018300182,2018300182
+2018300183,2018300183
+2018300184,2018300184
+2018300185,2018300185
+2018300186,2018300186
+2018300187,2018300187
+2018300188,2018300188
+2018300189,2018300189
+2018300190,2018300190
+2018300191,2018300191
+2018300192,2018300192
+2018300193,2018300193
+2018300194,2018300194
+2018300195,2018300195
+2018300196,2018300196
+2018300197,2018300197
+2018300198,2018300198
+2018300199,2018300199
+2018300200,2018300200
+2018300201,2018300201
+2018300202,2018300202
+2018300203,2018300203
+2018300204,2018300204
+2018300205,2018300205
+2018300206,2018300206
+2018300207,2018300207
+2018300208,2018300208
+2018300209,2018300209
+2018300210,2018300210
+2018300211,2018300211
+2018300212,2018300212f
+2018300213,2018300213
+2018300214,2018300214f
+2018300215,2018300215
+2018300216,2018300216
+2018300217,2018300217
+2018300218,2018300218
+2018300219,2018300219
+2018300220,2018300220
+2018300221,2018300221
+2018300222,2018300222
+2018300223,2018300223
+2018300224,2018300224
+2018300225,2018300225
+2018300226,2018300226
+2018300227,2018300227
+2018300228,2018300228
+2018300229,2018300229
+2018300230,2018300230
+2018300231,2018300231
+2018300232,2018300232
+2018300233,2018300233
+2018300234,2018300234
+2018300235,2018300235
+2018300236,2018300236
+2018300237,2018300237
+2018300238,2018300238
+2018300239,2018300239
+2018300240,2018300240
+2018300241,2018300241
+2018300242,2018300242
+2018300243,2018300243
+2018300244,2018300244
+2018300245,2018300245
+2018300246,2018300246
+2018300247,2018300247
+2018300248,2018300248
+2018300249,2018300249
+2018300250,2018300250
+2018300251,2018300251
+2018300252,2018300252
+2018300253,2018300253
+2018300254,2018300254
+2018300255,2018300255
+2018300256,2018300256
+2018300257,2018300257
+2018300258,2018300258
+2018300259,2018300259
+2018300260,2018300260
+2018300261,2018300261
+2018300262,2018300262
+2018300263,2018300263f
+2018300264,2018300264
+2018300265,2018300265
+2018300266,2018300266
+2018300267,2018300267
+2018300268,2018300268
+2018300269,2018300269
+2018300270,2018300270
+2018300271,2018300271
+2018300272,2018300272
+2018300273,2018300273
+2018300274,2018300274
+2018300275,2018300275
+2018300276,2018300276
+2018300277,2018300277
+2018300278,2018300278
+2018300279,2018300279
+2018300280,2018300280
+2018300281,2018300281
+2018300282,2018300282
+2018300283,2018300283
+2018300284,2018300284
+2018300285,2018300285
+2018300286,2018300286
+2018300287,2018300287
+2018300288,2018300288
+2018300289,2018300289
+2018300290,2018300290
+2018300291,2018300291
+2018300292,2018300292
+2018300293,2018300293
+2018300294,2018300294
+2018300295,2018300295
+2018300296,2018300296
+2018300297,2018300297
+2018300298,2018300298
+2018300299,2018300299
+2018300300,2018300300
+2018300301,2018300301
+2018300302,2018300302
+2018300303,2018300303
+2018300304,2018300304
+2018300305,2018300305
+2018300306,2018300306
+2018300307,2018300307
+2018300308,2018300308
+2018300309,2018300309
+2018300310,2018300310
+2018300311,2018300311
+2018300312,2018300312
+2018300313,2018300313
+2018300314,2018300314
+2018300315,2018300315
+2018300316,2018300316
+2018300317,2018300317
+2018300318,2018300318
+2018300319,2018300319
+2018300320,2018300320
+2018300321,2018300321
+2018300322,2018300322
+2018300323,2018300323
+2018300324,2018300324
+2018300325,2018300325
+2018300326,2018300326
+2018300327,2018300327
+2018300328,2018300328
+2018300329,2018300329
+2018300330,2018300330
+2018300331,2018300331
+2018300332,2018300332
+2018300333,2018300333
+2018300334,2018300334
+2018300335,2018300335
+2018300336,2018300336
+2018300337,2018300337
+2018300338,2018300338
+2018300339,2018300339
+2018300340,2018300340
+2018300341,2018300341
+2018300342,2018300342
+2018300343,2018300343
+2018300344,2018300344
+2018300345,2018300345
+2018300346,2018300346
+2018300347,2018300347
+2018300348,2018300348
+2018300349,2018300349
+2018300350,2018300350
+2018300351,2018300351
+2018300352,2018300352
+2018300353,2018300353
+2018300354,2018300354
+2018300355,2018300355
+2018300356,2018300356
+2018300357,2018300357
+2018300358,2018300358
+2018300359,2018300359
+2018300360,2018300360
+2018300361,2018300361
+2018300362,2018300362
+2018300363,2018300363
+2018300364,2018300364
+2018300365,2018300365
+2018300366,2018300366
+2018300367,2018300367
+2018300368,2018300368
+2018300369,2018300369
+2018300370,2018300370
+2018300371,2018300371
+2018300372,2018300372
+2018300373,2018300373
+2018300374,2018300374
+2018300375,2018300375
+2018300376,2018300376
+2018300377,2018300377
+2018300378,2018300378
+2018300379,2018300379
+2018300380,2018300380
+2018300381,2018300381
+2018300382,2018300382
+2018300383,2018300383
+2018300384,2018300384
+2018300385,2018300385
+2018300386,2018300386
+2018300387,2018300387
+2018300388,2018300388
+2018300389,2018300389
+2018300390,2018300390
+2018300391,2018300391
+2018300392,2018300392
+2018300393,2018300393
+2018300394,2018300394
+2018300395,2018300395
+2018300396,2018300396
+2018300397,2018300397
+2018300398,2018300398
+2018300399,2018300399
+2018300400,2018300400
+2018300401,2018300401
+2018300402,2018300402
+2018300403,2018300403
+2018300404,2018300404
+2018300405,2018300405
+2018300406,2018300406
+2018300407,2018300407
+2018300408,2018300408
+2018300409,2018300409
+2018300410,2018300410
+2018300411,2018300411
+2018300412,2018300412
+2018300413,2018300413
+2018300414,2018300414
+2018300415,2018300415
+2018300416,2018300416
+2018300417,2018300417
+2018300418,2018300418
+2018300419,2018300419
+2018300420,2018300420
+2018300421,2018300421
+2018300422,2018300422
+2018300423,2018300423
+2018300424,2018300424
+2018300425,2018300425
+2018300426,2018300426
+2018300427,2018300427
+2018300428,2018300428
+2018300429,2018300429
+2018300430,2018300430
+2018300431,2018300431
+2018300432,2018300432
+2018300433,2018300433
+2018300434,2018300434
+2018300435,2018300435
+2018300436,2018300436
+2018300437,2018300437
+2018300438,2018300438
+2018300439,2018300439
+2018300440,2018300440
+2018300441,2018300441
+2018300442,2018300442
+2018300443,2018300443
+2018300444,2018300444
+2018300445,2018300445
+2018300446,2018300446
+2018300447,2018300447
+2018300448,2018300448
+2018300449,2018300449
+2018300450,2018300450
+2018300451,2018300451
+2018300452,2018300452
+2018300453,2018300453
+2018300454,2018300454
+2018300455,2018300455
+2018300456,2018300456
+2018300457,2018300457
+2018300458,2018300458
+2018300459,2018300459
+2018300460,2018300460
+2018300461,2018300461
+2018300462,2018300462
+2018300463,2018300463
+2018300464,2018300464
+2018300465,2018300465
+2018300466,2018300466
+2018300467,2018300467
+2018300468,2018300468
+2018300469,2018300469
+2018300470,2018300470
+2018300471,2018300471
+2018300472,2018300472
+2018300473,2018300473
+2018300474,2018300474
+2018300475,2018300475
+2018300476,2018300476
+2018300477,2018300477
+2018300478,2018300478
+2018300479,2018300479
+2018300480,2018300480
+2018300481,2018300481
+2018300482,2018300482
+2018300483,2018300483
+2018300484,2018300484
+2018300485,2018300485
+2018300486,2018300486
+2018300487,2018300487
+2018300488,2018300488
+2018300489,2018300489
+2018300490,2018300490
+2018300491,2018300491
+2018300492,2018300492
+2018300493,2018300493
+2018300494,2018300494
+2018300495,2018300495
+2018300496,2018300496
+2018300497,2018300497
+2018300498,2018300498
+2018300499,2018300499
+2018300500,2018300500
+2018300501,2018300501
+2018300502,2018300502
+2018300503,2018300503
+2018300504,2018300504
+2018300505,2018300505
+2018300506,2018300506
+2018300507,2018300507
+2018300508,2018300508
+2018300509,2018300509
+2018300510,2018300510
+2018300511,2018300511
+2018300512,2018300512
+2018300513,2018300513
+2018300514,2018300514
+2018300515,2018300515
+2018300516,2018300516
+2018300517,2018300517
+2018300518,2018300518
+2018300519,2018300519
+2018300520,2018300520
+2018300521,2018300521
+2018300522,2018300522
+2018300523,2018300523
+2018300524,2018300524
+2018300525,2018300525
+2018300526,2018300526
+2018300527,2018300527
+2018300528,2018300528
+2018300529,2018300529
+2018300530,2018300530
+2018300531,2018300531
+2018300532,2018300532
+2018300533,2018300533
+2018300534,2018300534
+2018300535,2018300535
+2018300536,2018300536
+2018300537,2018300537
+2018300538,2018300538
+2018300539,2018300539
+2018300540,2018300540
+2018300541,2018300541
+2018300542,2018300542
+2018300543,2018300543
+2018300544,2018300544
+2018300545,2018300545
+2018300546,2018300546
+2018300547,2018300547
+2018300548,2018300548
+2018300549,2018300549
+2018300550,2018300550
+2018300551,2018300551
+2018300552,2018300552
+2018300553,2018300553
+2018300554,2018300554
+2018300555,2018300555
+2018300556,2018300556
+2018300557,2018300557
+2018300558,2018300558
+2018300559,2018300559
+2018300560,2018300560
+2018300561,2018300561
+2018300562,2018300562
+2018300563,2018300563
+2018300564,2018300564
+2018300565,2018300565
+2018300566,2018300566
+2018300567,2018300567
+2018300568,2018300568
+2018300569,2018300569
+2018300570,2018300570
+2018300571,2018300571
+2018300572,2018300572
+2018300573,2018300573
+2018300574,2018300574
+2018300575,2018300575
+2018300576,2018300576
+2018300577,2018300577
+2018300578,2018300578
+2018300579,2018300579
+2018300580,2018300580
+2018300581,2018300581
+2018300582,2018300582
+2018300583,2018300583
+2018300584,2018300584
+2018300585,2018300585
+2018300586,2018300586
+2018300587,2018300587
+2018300588,2018300588
+2018300589,2018300589
+2018300590,2018300590
+2018300591,2018300591
+2018300592,2018300592
+2018300593,2018300593
+2018300594,2018300594
+2018300595,2018300595
+2018300596,2018300596
+2018300597,2018300597
+2018300598,2018300598
+2018300599,2018300599
+2018300600,2018300600
+2018300601,2018300601
+2018300602,2018300602
+2018300603,2018300603
+2018300604,2018300604
+2018300605,2018300605
+2018300606,2018300606
+2018300607,2018300607
+2018300608,2018300608
+2018300609,2018300609
+2018300610,2018300610
+2018300611,2018300611
+2018300612,2018300612
+2018300613,2018300613
+2018300614,2018300614
+2018300615,2018300615
+2018300616,2018300616
+2018300617,2018300617
+2018300618,2018300618
+2018300619,2018300619
+2018300620,2018300620
+2018300621,2018300621
+2018300622,2018300622
+2018300623,2018300623
+2018300624,2018300624
+2018300625,2018300625
+2018300626,2018300626
+2018300627,2018300627
+2018300628,2018300628
+2018300629,2018300629
+2018300630,2018300630
+2018300631,2018300631
+2018300632,2018300632
+2018300633,2018300633
+2018300634,2018300634
+2018300635,2018300635
+2018300636,2018300636
+2018300637,2018300637
+2018300638,2018300638
+2018300639,2018300639
+2018300640,2018300640
+2018300641,2018300641
+2018300642,2018300642
+2018300643,2018300643
+2018300644,2018300644
+2018300645,2018300645
+2018300646,2018300646
+2018300647,2018300647
+2018300648,2018300648
+2018300649,2018300649
+2018300650,2018300650
+2018300651,2018300651
+2018300652,2018300652
+2018300653,2018300653
+2018300654,2018300654
+2018300655,2018300655
+2018300656,2018300656
+2018300657,2018300657
+2018300658,2018300658
+2018300659,2018300659
+2018300660,2018300660
+2018300661,2018300661
+2018300662,2018300662
+2018300663,2018300663
+2018300664,2018300664
+2018300665,2018300665
+2018300666,2018300666
+2018300667,2018300667
+2018300668,2018300668
+2018300669,2018300669
+2018300670,2018300670
+2018300671,2018300671
+2018300672,2018300672
+2018300673,2018300673
+2018300674,2018300674
+2018300675,2018300675
+2018300676,2018300676
+2018300677,2018300677
+2018300678,2018300678
+2018300679,2018300679
+2018300680,2018300680
+2018300681,2018300681
+2018300682,2018300682
+2018300683,2018300683
+2018300684,2018300684
+2018300685,2018300685
+2018300686,2018300686
+2018300687,2018300687
+2018300688,2018300688
+2018300689,2018300689
+2018300690,2018300690
+2018300691,2018300691
+2018300692,2018300692
+2018300693,2018300693
+2018300694,2018300694
+2018300695,2018300695
+2018300696,2018300696
+2018300697,2018300697
+2018300698,2018300698
+2018300699,2018300699
+2018300700,2018300700
+2018300701,2018300701
+2018300702,2018300702
+2018300703,2018300703
+2018300704,2018300704
+2018300705,2018300705
+2018300706,2018300706
+2018300707,2018300707
+2018300708,2018300708
+2018300709,2018300709
+2018300710,2018300710
+2018300711,2018300711
+2018300712,2018300712
+2018300713,2018300713
+2018300714,2018300714
+2018300715,2018300715
+2018300716,2018300716
+2018300717,2018300717
+2018300718,2018300718
+2018300719,2018300719
+2018300720,2018300720
+2018300721,2018300721
+2018300722,2018300722
+2018300723,2018300723
+2018300724,2018300724
+2018300725,2018300725
+2018300726,2018300726
+2018300727,2018300727
+2018300728,2018300728
+2018300729,2018300729
+2018300730,2018300730
+2018300731,2018300731
+2018300732,2018300732
+2018300733,2018300733
+2018300734,2018300734
+2018300735,2018300735
+2018300736,2018300736
+2018300737,2018300737
+2018300738,2018300738
+2018300739,2018300739
+2018300740,2018300740
+2018300741,2018300741
+2018300742,2018300742
+2018300743,2018300743
+2018300744,2018300744
+2018300745,2018300745
+2018300746,2018300746
+2018300747,2018300747
+2018300748,2018300748
+2018300749,2018300749
+2018300750,2018300750
+2018300751,2018300751
+2018300752,2018300752
+2018300753,2018300753
+2018300754,2018300754
+2018300755,2018300755
+2018300756,2018300756
+2018300757,2018300757
+2018300758,2018300758
+2018300759,2018300759
+2018300760,2018300760
+2018300761,2018300761
+2018300762,2018300762
+2018300763,2018300763
+2018300764,2018300764
+2018300765,2018300765
+2018300766,2018300766
+2018300767,2018300767
+2018300768,2018300768
+2018300769,2018300769
+2018300770,2018300770
+2018300771,2018300771
+2018300772,2018300772
+2018300773,2018300773
+2018300774,2018300774
+2018300775,2018300775
+2018300776,2018300776
+2018300777,2018300777
+2018300778,2018300778
+2018300779,2018300779
+2018300780,2018300780
+2018300781,2018300781
+2018300782,2018300782
+2018300783,2018300783
+2018300784,2018300784
+2018300785,2018300785
+2018300786,2018300786
+2018300787,2018300787
+2018300788,2018300788
+2018300789,2018300789
+2018300790,2018300790
+2018300791,2018300791
+2018300792,2018300792
+2018300793,2018300793
+2018300794,2018300794
+2018300795,2018300795
+2018300796,2018300796
+2018300797,2018300797
+2018300798,2018300798
+2018300799,2018300799
+2018300800,2018300800
+2018300801,2018300801
+2018300802,2018300802
+2018300803,2018300803
+2018300804,2018300804
+2018300805,2018300805
+2018300806,2018300806
+2018300807,2018300807
+2018300808,2018300808
+2018300809,2018300809
+2018300810,2018300810
+2018300811,2018300811
+2018300812,2018300812
+2018300813,2018300813
+2018300814,2018300814
+2018300815,2018300815
+2018300816,2018300816
+2018300817,2018300817
+2018300818,2018300818
+2018300819,2018300819
+2018300820,2018300820
+2018300821,2018300821
+2018300822,2018300822
+2018300823,2018300823
+2018300824,2018300824
+2018300825,2018300825
+2018300826,2018300826
+2018300827,2018300827
+2018300828,2018300828
+2018300829,2018300829
+2018300830,2018300830
+2018300831,2018300831
+2018300832,2018300832
+2018300833,2018300833
+2018300834,2018300834
+2018300835,2018300835
+2018300836,2018300836
+2018300837,2018300837
+2018300838,2018300838
+2018300839,2018300839
+2018300840,2018300840
+2018300841,2018300841
+2018300842,2018300842
+2018300843,2018300843
+2018300844,2018300844
+2018300845,2018300845
+2018300846,2018300846
+2018300847,2018300847
+2018300848,2018300848
+2018300849,2018300849
+2018300850,2018300850
+2018300851,2018300851
+2018300852,2018300852
+2018300853,2018300853
+2018300854,2018300854
+2018300855,2018300855
+2018300856,2018300856
+2018300857,2018300857
+2018300858,2018300858
+2018300859,2018300859
+2018300860,2018300860
+2018300861,2018300861
+2018300862,2018300862
+2018300863,2018300863
+2018300864,2018300864
+2018300865,2018300865
+2018300866,2018300866
+2018300867,2018300867
+2018300868,2018300868
+2018300869,2018300869
+2018300870,2018300870
+2018300871,2018300871
+2018300872,2018300872
+2018300873,2018300873
+2018300874,2018300874
+2018300875,2018300875
+2018300876,2018300876
+2018300877,2018300877
+2018300878,2018300878
+2018300879,2018300879
+2018300880,2018300880
+2018300881,2018300881
+2018300882,2018300882
+2018300883,2018300883
+2018300884,2018300884
+2018300885,2018300885
+2018300886,2018300886
+2018300887,2018300887
+2018300888,2018300888
+2018300889,2018300889
+2018300890,2018300890
+2018300891,2018300891
+2018300892,2018300892
+2018300893,2018300893
+2018300894,2018300894
+2018300895,2018300895
+2018300896,2018300896
+2018300897,2018300897
+2018300898,2018300898
+2018300899,2018300899
+2018300900,2018300900
+2018300901,2018300901
+2018300902,2018300902
+2018300903,2018300903
+2018300904,2018300904
+2018300905,2018300905
+2018300906,2018300906
+2018300907,2018300907
+2018300908,2018300908
+2018300909,2018300909
+2018300910,2018300910
+2018300911,2018300911
+2018300912,2018300912
+2018300913,2018300913
+2018300914,2018300914
+2018300915,2018300915
+2018300916,2018300916
+2018300917,2018300917
+2018300918,2018300918
+2018300919,2018300919
+2018300920,2018300920
+2018300921,2018300921
+2018300922,2018300922
+2018300923,2018300923
+2018300924,2018300924
+2018300925,2018300925
+2018300926,2018300926
+2018300927,2018300927
+2018300928,2018300928
+2018300929,2018300929
+2018300930,2018300930
+2018300931,2018300931
+2018300932,2018300932
+2018300933,2018300933
+2018300934,2018300934
+2018300935,2018300935
+2018300936,2018300936
+2018300937,2018300937
+2018300938,2018300938
+2018300939,2018300939
+2018300940,2018300940
+2018300941,2018300941
+2018300942,2018300942
+2018300943,2018300943
+2018300944,2018300944
+2018300945,2018300945
+2018300946,2018300946
+2018300947,2018300947
+2018300948,2018300948
+2018300949,2018300949
+2018300950,2018300950
+2018300951,2018300951
+2018300952,2018300952
+2018300953,2018300953
+2018300954,2018300954
+2018300955,2018300955
+2018300956,2018300956
+2018300957,2018300957
+2018300958,2018300958
+2018300959,2018300959
+2018300960,2018300960
+2018300961,2018300961
+2018300962,2018300962
+2018300963,2018300963
+2018300964,2018300964
+2018300965,2018300965
+2018300966,2018300966
+2018300967,2018300967
+2018300968,2018300968
+2018300969,2018300969
+2018300970,2018300970
+2018300971,2018300971
+2018300972,2018300972
+2018300973,2018300973
+2018300974,2018300974
+2018300975,2018300975
+2018300976,2018300976
+2018300977,2018300977
+2018300978,2018300978
+2018300979,2018300979
+2018300980,2018300980
+2018300981,2018300981
+2018300982,2018300982
+2018300983,2018300983
+2018300984,2018300984
+2018300985,2018300985
+2018300986,2018300986
+2018300987,2018300987
+2018300988,2018300988
+2018300989,2018300989
+2018300990,2018300990
+2018300991,2018300991
+2018300992,2018300992
+2018300993,2018300993
+2018300994,2018300994
+2018300995,2018300995
+2018300996,2018300996
+2018300997,2018300997
+2018300998,2018300998
+2018300999,2018300999
+2018301000,2018301000
+2018301001,2018301001
+2018301002,2018301002
+2018301003,2018301003
+2018301004,2018301004
+2018301005,2018301005
+2018301006,2018301006
+2018301007,2018301007
+2018301008,2018301008
+2018301009,2018301009
+2018301010,2018301010
+2018301011,2018301011
+2018301012,2018301012
+2018301013,2018301013
+2018301014,2018301014
+2018301015,2018301015
+2018301016,2018301016
+2018301017,2018301017
+2018301018,2018301018
+2018301019,2018301019
+2018301020,2018301020
+2018301021,2018301021
+2018301022,2018301022
+2018301023,2018301023f
+2018301024,2018301024
+2018301025,2018301025
+2018301026,2018301026
+2018301027,2018301027
+2018301028,2018301028
+2018301029,2018301029
+2018301030,2018301030
+2018301031,2018301031
+2018301032,2018301032
+2018301033,2018301033
+2018301034,2018301034
+2018301035,2018301035
+2018301036,2018301036
+2018301037,2018301037
+2018301038,2018301038
+2018301039,2018301039
+2018301040,2018301040f
+2018301041,2018301041
+2018301042,2018301042
+2018301043,2018301043
+2018301044,2018301044
+2018301045,2018301045
+2018301046,2018301046
+2018301047,2018301047
+2018301048,2018301048
+2018301049,2018301049
+2018301050,2018301050
+2018301051,2018301051
+2018301052,2018301052
+2018301053,2018301053
+2018301054,2018301054
+2018301055,2018301055
+2018301056,2018301056
+2018301057,2018301057
+2018301058,2018301058
+2018301059,2018301059
+2018301060,2018301060
+2018301061,2018301061
+2018301062,2018301062
+2018301063,2018301063
+2018301064,2018301064
+2018301065,2018301065
+2018301066,2018301066
+2018301067,2018301067
+2018301068,2018301068
+2018301069,2018301069
+2018301070,2018301070
+2018301071,2018301071
+2018301072,2018301072
+2018301073,2018301073
+2018301074,2018301074
+2018301075,2018301075
+2018301076,2018301076
+2018301077,2018301077
+2018301078,2018301078
+2018301079,2018301079
+2018301080,2018301080
+2018301081,2018301081
+2018301082,2018301082
+2018301083,2018301083
+2018301084,2018301084
+2018301085,2018301085
+2018301086,2018301086
+2018301087,2018301087
+2018301088,2018301088
+2018301089,2018301089
+2018301090,2018301090
+2018301091,2018301091
+2018301092,2018301092
+2018301093,2018301093
+2018301094,2018301094
+2018301095,2018301095
+2018301096,2018301096
+2018301097,2018301097
+2018301098,2018301098
+2018301099,2018301099
+2018301100,2018301100
+2018301101,2018301101
+2018301102,2018301102
+2018301103,2018301103
+2018301104,2018301104
+2018301105,2018301105
+2018301106,2018301106
+2018301107,2018301107
+2018301108,2018301108
+2018301109,2018301109
+2018301110,2018301110
+2018301111,2018301111
+2018301112,2018301112
+2018301113,2018301113
+2018301114,2018301114
+2018301115,2018301115
+2018301116,2018301116
+2018301117,2018301117
+2018301118,2018301118
+2018301119,2018301119
+2018301120,2018301120
+2018301121,2018301121
+2018301122,2018301122
+2018301123,2018301123
+2018301124,2018301124
+2018301125,2018301125
+2018301126,2018301126
+2018301127,2018301127
+2018301128,2018301128
+2018301129,2018301129
+2018301130,2018301130
+2018301131,2018301131
+2018301132,2018301132
+2018301133,2018301133
+2018301134,2018301134
+2018301135,2018301135
+2018301136,2018301136
+2018301137,2018301137
+2018301138,2018301138
+2018301139,2018301139
+2018301140,2018301140
+2018301141,2018301141
+2018301142,2018301142
+2018301143,2018301143
+2018301144,2018301144
+2018301145,2018301145
+2018301146,2018301146
+2018301147,2018301147
+2018301148,2018301148
+2018301149,2018301149
+2018301150,2018301150
+2018301151,2018301151
+2018301152,2018301152
+2018301153,2018301153
+2018301154,2018301154
+2018301155,2018301155
+2018301156,2018301156
+2018301157,2018301157
+2018301158,2018301158
+2018301159,2018301159
+2018301160,2018301160
+2018301161,2018301161
+2018301162,2018301162
+2018301163,2018301163
+2018301164,2018301164
+2018301165,2018301165
+2018301166,2018301166
+2018301167,2018301167
+2018301168,2018301168
+2018301169,2018301169
+2018301170,2018301170
+2018301171,2018301171
+2018301172,2018301172
+2018301173,2018301173
+2018301174,2018301174
+2018301175,2018301175
+2018301176,2018301176
+2018301177,2018301177
+2018301178,2018301178
+2018301179,2018301179
+2018301180,2018301180
+2018301181,2018301181
+2018301182,2018301182
+2018301183,2018301183
+2018301184,2018301184
+2018301185,2018301185
+2018301186,2018301186
+2018301187,2018301187
+2018301188,2018301188
+2018301189,2018301189
+2018301190,2018301190
+2018301191,2018301191
+2018301192,2018301192
+2018301193,2018301193
+2018301194,2018301194
+2018301195,2018301195
+2018301196,2018301196
+2018301197,2018301197
+2018301198,2018301198
+2018301199,2018301199
+2018301200,2018301200
+2018301201,2018301201
+2018301202,2018301202
+2018301203,2018301203
+2018301204,2018301204
+2018301205,2018301205
+2018301206,2018301206
+2018301207,2018301207
+2018301208,2018301208
+2018301209,2018301209
+2018301210,2018301210
+2018301211,2018301211
+2018301212,2018301212
+2018301213,2018301213
+2018301214,2018301214
+2018301215,2018301215
+2018301216,2018301216
+2018301217,2018301217
+2018301218,2018301218
+2018301219,2018301219
+2018301220,2018301220
+2018301221,2018301221
+2018301222,2018301222
+2018301223,2018301223
+2018301224,2018301224
+2018301225,2018301225
+2018301226,2018301226
+2018301227,2018301227
+2018301228,2018301228
+2018301229,2018301229
+2018301230,2018301230
+2018301231,2018301231
+2018301232,2018301232
+2018301233,2018301233
+2018301234,2018301234
+2018301235,2018301235
+2018301236,2018301236
+2018301237,2018301237
+2018301238,2018301238
+2018301239,2018301239
+2018301240,2018301240
+2018301241,2018301241
+2018301242,2018301242
+2018301243,2018301243
+2018301244,2018301244
+2018301245,2018301245
+2018301246,2018301246
+2018301247,2018301247
+2018301248,2018301248
+2018301249,2018301249
+2018301250,2018301250
+2018301251,2018301251
+2018301252,2018301252
+2018301253,2018301253
+2018301254,2018301254
+2018301255,2018301255
+2018301256,2018301256
+2018301257,2018301257
+2018301258,2018301258
+2018301259,2018301259
+2018301260,2018301260
+2018301261,2018301261
+2018301262,2018301262
+2018301263,2018301263
+2018301264,2018301264
+2018301265,2018301265
+2018301266,2018301266
+2018301267,2018301267
+2018301268,2018301268
+2018301269,2018301269
+2018301270,2018301270
+2018301271,2018301271
+2018301272,2018301272
+2018301273,2018301273
+2018301274,2018301274
+2018301275,2018301275
+2018301276,2018301276
+2018301277,2017700056
+2018301278,2018301278
+2018301279,2018301279
+2018301280,2018301280
+2018301281,2018301281
+2018301282,2018301282
+2018301283,2018301283
+2018301284,2018301284
+2018301285,2018301285
+2018301286,2018301286
+2018301287,2018301287
+2018301288,2018301288
+2018301289,2018301289
+2018301290,2018301290
+2018301291,2018301291
+2018301292,2018301292
+2018301293,2018301293
+2018301294,2018301294
+2018301295,2018301295
+2018301296,2018301296
+2018301297,2018301297
+2018301298,2018301298
+2018301299,2018301299
+2018301300,2018301300
+2018301301,2018301301
+2018301302,2018301302
+2018301303,2018301303
+2018301304,2018301304
+2018301305,2018301305
+2018301306,2018301306
+2018301307,2018301307
+2018301308,2018301308
+2018301309,2018301309
+2018301310,2018301310
+2018301311,2018301311
+2018301312,2018301312
+2018301313,2018301313
+2018301314,2018301314
+2018301315,2018301315
+2018301316,2018301316
+2018301317,2018301317
+2018301318,2018301318
+2018301319,2018301319
+2018301320,2018301320
+2018301321,2018301321
+2018301322,2018301322
+2018301323,2018301323
+2018301324,2018301324
+2018301325,2018301325
+2018301326,2018301326
+2018301327,2018301327
+2018301328,2018301328
+2018301329,2018301329
+2018301330,2018301330
+2018301331,2018301331
+2018301332,2018301332
+2018301333,2018301333
+2018301334,2018301334
+2018301335,2018301335
+2018301336,2018301336
+2018301337,2018301337
+2018301338,2018301338
+2018301339,2018301339
+2018301340,2018301340
+2018301341,2018301341
+2018301342,2018301342
+2018301343,2018301343
+2018301344,2018301344
+2018301345,2018301345
+2018301346,2018301346
+2018301347,2018301347
+2018301348,2018301348
+2018301349,2018301349
+2018301350,2018301350
+2018301351,2018301351
+2018301352,2018301352
+2018301353,2018301353
+2018301354,2018301354
+2018301355,2018301355
+2018301356,2018301356
+2018301357,2018301357
+2018301358,2018301358
+2018301359,2018301359
+2018301360,2018301360
+2018301361,2018301361
+2018301362,2018301362
+2018301363,2018301363
+2018301364,2018301364
+2018301365,2018301365
+2018301366,2018301366
+2018301367,2018301367
+2018301368,2018301368
+2018301369,2018301369
+2018301370,2018301370
+2018301371,2018301371
+2018301372,2018301372
+2018301373,2017700026
+2018301374,2018301374
+2018301375,2018301375
+2018301376,2018301376
+2018301377,2018301377
+2018301378,2018301378
+2018301379,2018301379
+2018301380,2018301380
+2018301381,2018301381
+2018301382,2018301382
+2018301383,2018301383
+2018301384,2018301384
+2018301385,2018301385
+2018301386,2018301386
+2018301387,2018301387
+2018301388,2018301388
+2018301389,2018301389
+2018301390,2018301390
+2018301391,2018301391
+2018301392,2018301392
+2018301393,2018301393
+2018301394,2018301394
+2018301395,2018301395
+2018301396,2018301396
+2018301397,2018301397
+2018301398,2018301398
+2018301399,2018301399
+2018301400,2018301400
+2018301401,2018301401
+2018301402,2018301402
+2018301403,2018301403
+2018301404,2018301404
+2018301405,2018301405
+2018301406,2018301406
+2018301407,2018301407
+2018301408,2018301408
+2018301409,2018301409
+2018301410,2018301410
+2018301411,2018301411
+2018301412,2018301412
+2018301413,2018301413
+2018301414,2018301414
+2018301415,2018301415
+2018301416,2018301416
+2018301417,2018301417
+2018301418,2018301418
+2018301419,2018301419
+2018301420,2018301420
+2018301421,2018301421
+2018301422,2018301422
+2018301423,2018301423
+2018301424,2018301424
+2018301425,2018301425
+2018301426,2018301426
+2018301427,2018301427
+2018301428,2018301428
+2018301429,2018301429
+2018301430,2018301430
+2018301431,2018301431
+2018301432,2018301432
+2018301433,2018301433
+2018301434,2018301434
+2018301435,2018301435
+2018301436,2018301436
+2018301437,2018301437
+2018301438,2018301438
+2018301439,2018301439
+2018301440,2018301440
+2018301441,2018301441
+2018301442,2018301442
+2018301443,2018301443
+2018301444,2018301444
+2018301445,2018301445
+2018301446,2018301446
+2018301447,2018301447
+2018301448,2018301448
+2018301449,2018301449
+2018301450,2018301450
+2018301451,2018301451
+2018301452,2018301452
+2018301453,2018301453
+2018301454,2018301454
+2018301455,2018301455
+2018301456,2018301456
+2018301457,2018301457
+2018301458,2018301458
+2018301459,2018301459
+2018301460,2018301460
+2018301461,2018301461
+2018301462,2018301462
+2018301463,2018301463
+2018301464,2018301464
+2018301465,2018301465
+2018301466,2018301466
+2018301467,2018301467
+2018301468,2018301468
+2018301469,2018301469
+2018301470,2018301470
+2018301471,2018301471
+2018301472,2018301472
+2018301473,2018301473
+2018301474,2018301474
+2018301475,2018301475
+2018301476,2018301476
+2018301477,2018301477
+2018301478,2018301478
+2018301479,2018301479
+2018301480,2018301480
+2018301481,2018301481
+2018301482,2018301482
+2018301483,2018301483
+2018301484,2018301484
+2018301485,2018301485
+2018301486,2018301486
+2018301487,2018301487
+2018301488,2018301488
+2018301489,2018301489
+2018301490,2018301490
+2018301491,2018301491
+2018301492,2018301492
+2018301493,2018301493
+2018301494,2018301494
+2018301495,2018301495
+2018301496,2018301496
+2018301497,2018301497
+2018301498,2018301498
+2018301499,2018301499
+2018301500,2018301500
+2018301501,2018301501
+2018301502,2018301502
+2018301503,2018301503
+2018301504,2018301504
+2018301505,2018301505
+2018301506,2018301506
+2018301507,2018301507
+2018301508,2018301508
+2018301509,2018301509
+2018301510,2018301510
+2018301511,2018301511
+2018301512,2018301512
+2018301513,2018301513
+2018301514,2018301514
+2018301515,2018301515
+2018301516,2018301516
+2018301517,2018301517
+2018301518,2018301518
+2018301519,2018301519
+2018301520,2018301520
+2018301521,2018301521
+2018301522,2018301522
+2018301523,2018301523
+2018301524,2018301524
+2018301525,2018301525
+2018301526,2018301526
+2018301527,2018301527
+2018301528,2018301528
+2018301529,2018301529
+2018301530,2018301530
+2018301531,2018301531
+2018301532,2018301532
+2018301533,2018301533
+2018301534,2018301534
+2018301535,2018301535
+2018301536,2018301536
+2018301537,2018301537
+2018301538,2018301538
+2018301539,2018301539
+2018301540,2018301540
+2018301541,2018301541
+2018301542,2018301542
+2018301543,2018301543
+2018301544,2018301544
+2018301545,2018301545
+2018301546,2018301546
+2018301547,2018301547
+2018301548,2018301548
+2018301549,2018301549
+2018301550,2018301550
+2018301551,2018301551
+2018301552,2018301552
+2018301553,2018301553
+2018301554,2018301554
+2018301555,2018301555
+2018301556,2018301556
+2018301557,2018301557
+2018301558,2018301558
+2018301559,2018301559
+2018301560,2018301560
+2018301561,2018301561
+2018301562,2018301562
+2018301563,2018301563
+2018301564,2018301564
+2018301565,2018301565
+2018301566,2018301566
+2018301567,2018301567
+2018301568,2018301568
+2018301569,2018301569
+2018301570,2018301570
+2018301571,2018301571
+2018301572,2018301572
+2018301573,2018301573
+2018301574,2018301574
+2018301575,2018301575
+2018301576,2018301576
+2018301577,2018301577
+2018301578,2018301578
+2018301579,2018301579
+2018301580,2018301580
+2018301581,2018301581
+2018301582,2018301582
+2018301583,2018301583
+2018301584,2018301584
+2018301585,2018301585
+2018301586,2018301586
+2018301587,2018301587
+2018301588,2018301588
+2018301589,2018301589
+2018301590,2018301590
+2018301591,2018301591
+2018301592,2018301592
+2018301593,2018301593
+2018301594,2018301594
+2018301595,2018301595
+2018301596,2018301596
+2018301597,2018301597
+2018301598,2018301598
+2018301599,2018301599
+2018301600,2018301600
+2018301601,2018301601
+2018301602,2018301602
+2018301603,2018301603
+2018301604,2018301604
+2018301605,2018301605
+2018301606,2018301606
+2018301607,2018301607
+2018301608,2018301608
+2018301609,2018301609
+2018301610,2018301610
+2018301611,2018301611
+2018301612,2018301612
+2018301613,2018301613
+2018301614,2018301614
+2018301615,2018301615
+2018301616,2018301616
+2018301617,2018301617
+2018301618,2018301618
+2018301619,2018301619
+2018301620,2018301620
+2018301621,2018301621
+2018301622,2018301622
+2018301623,2018301623
+2018301624,2018301624
+2018301625,2018301625
+2018301626,2018301626
+2018301627,2018301627
+2018301628,2018301628
+2018301629,2018301629
+2018301630,2018301630
+2018301631,2018301631
+2018301632,2018301632
+2018301633,2018301633
+2018301634,2018301634
+2018301635,2018301635
+2018301636,2018301636
+2018301637,2018301637
+2018301638,2018301638
+2018301639,2018301639
+2018301640,2018301640
+2018301641,2018301641
+2018301642,2018301642
+2018301643,2018301643
+2018301644,2018301644
+2018301645,2018301645
+2018301646,2018301646
+2018301647,2018301647
+2018301648,2018301648
+2018301649,2018301649
+2018301650,2018301650
+2018301651,2018301651
+2018301652,2018301652
+2018301653,2018301653
+2018301654,2018301654
+2018301655,2018301655
+2018301656,2018301656
+2018301657,2018301657
+2018301658,2018301658
+2018301659,2018301659
+2018301660,2018301660
+2018301661,2018301661
+2018301662,2018301662
+2018301663,2018301663
+2018301664,2018301664
+2018301665,2018301665
+2018301666,2018301666
+2018301667,2018301667
+2018301668,2018301668
+2018301669,2018301669
+2018301670,2018301670
+2018301671,2018301671
+2018301672,2018301672
+2018301673,2018301673
+2018301674,2018301674
+2018301675,2018301675
+2018301676,2018301676
+2018301677,2018301677
+2018301678,2018301678
+2018301679,2018301679
+2018301680,2018301680
+2018301681,2018301681
+2018301682,2018301682
+2018301683,2018301683
+2018301684,2018301684
+2018301685,2018301685
+2018301686,2018301686
+2018301687,2018301687
+2018301688,2018301688
+2018301689,2018301689
+2018301690,2018301690
+2018301691,2018301691
+2018301692,2018301692
+2018301693,2018301693
+2018301694,2018301694
+2018301695,2018301695
+2018301696,2018301696
+2018301697,2018301697
+2018301698,2018301698
+2018301699,2018301699
+2018301700,2018301700
+2018301701,2018301701
+2018301702,2018301702
+2018301703,2018301703
+2018301704,2018301704
+2018301705,2018301705
+2018301706,2018301706
+2018301707,2018301707
+2018301708,2018301708
+2018301709,2018301709
+2018301710,2018301710
+2018301711,2018301711
+2018301712,2018301712
+2018301713,2018301713
+2018301714,2018301714
+2018301715,2018301715
+2018301716,2018301716
+2018301717,2018301717
+2018301718,2018301718
+2018301719,2018301719
+2018301720,2018301720
+2018301721,2018301721
+2018301722,2018301722
+2018301723,2018301723
+2018301724,2018301724
+2018301725,2018301725
+2018301726,2018301726
+2018301727,2018301727
+2018301728,2018301728
+2018301729,2018301729
+2018301730,2018301730
+2018301731,2018301731
+2018301732,2018301732
+2018301733,2018301733
+2018301734,2018301734
+2018301735,2018301735
+2018301736,2018301736
+2018301737,2018301737
+2018301738,2018301738
+2018301739,2018301739
+2018301740,2018301740
+2018301741,2018301741
+2018301742,2018301742
+2018301743,2018301743
+2018301744,2018301744
+2018301745,2018301745
+2018301746,2018301746
+2018301747,2018301747
+2018301748,2018301748
+2018301749,2018301749
+2018301750,2018301750
+2018301751,2018301751
+2018301752,2018301752
+2018301753,2018301753
+2018301754,2018301754
+2018301755,2018301755
+2018301756,2018301756
+2018301757,2018301757
+2018301758,2018301758
+2018301759,2018301759
+2018301760,2018301760
+2018301761,2018301761
+2018301762,2018301762
+2018301763,2018301763
+2018301764,2018301764
+2018301765,2018301765
+2018301766,2018301766
+2018301767,2018301767
+2018301768,2018301768
+2018301769,2018301769
+2018301770,2018301770
+2018301771,2018301771
+2018301772,2018301772
+2018301773,2018301773
+2018301774,2018301774
+2018301775,2018301775
+2018301776,2018301776
+2018301777,2018301777
+2018301778,2018301778
+2018301779,2018301779
+2018301780,2018301780
+2018301781,2018301781
+2018301782,2018301782
+2018301783,2018301783
+2018301784,2018301784
+2018301785,2018301785
+2018301786,2018301786
+2018301787,2018301787
+2018301788,2018301788
+2018301789,2018301789
+2018301790,2018301790
+2018301791,2018301791
+2018301792,2018301792
+2018301793,2018301793
+2018301794,2018301794
+2018301795,2018301795
+2018301796,2018301796
+2018301797,2018301797
+2018301798,2018301798
+2018301799,2018301799
+2018301800,2018301800
+2018301801,2018301801
+2018301802,2018301802
+2018301803,2018301803
+2018301804,2018301804
+2018301805,2018301805
+2018301806,2018301806
+2018301807,2018301807
+2018301808,2018301808
+2018301809,2018301809
+2018301810,2018301810
+2018301811,2018301811
+2018301812,2018301812
+2018301813,2018301813
+2018301814,2018301814
+2018301815,2018301815
+2018301816,2018301816
+2018301817,2018301817
+2018301818,2018301818
+2018301819,2018301819
+2018301820,2018301820
+2018301821,2018301821
+2018301822,2018301822
+2018301823,2018301823
+2018301824,2018301824
+2018301825,2018301825
+2018301826,2018301826
+2018301827,2018301827
+2018301828,2018301828
+2018301829,2018301829
+2018301830,2018301830
+2018301831,2018301831
+2018301832,2018301832
+2018301833,2018301833
+2018301834,2018301834
+2018301835,2018301835
+2018301836,2018301836
+2018301837,2018301837
+2018301838,2018301838
+2018301839,2018301839
+2018301840,2018301840
+2018301841,2018301841
+2018301842,2018301842
+2018301843,2018301843
+2018301844,2018301844
+2018301845,2018301845
+2018301846,2018301846
+2018301847,2018301847
+2018301848,2018301848
+2018301849,2018301849
+2018301850,2018301850
+2018301851,2018301851
+2018301852,2018301852
+2018301853,2018301853
+2018301854,2018301854
+2018301855,2018301855
+2018301856,2018301856
+2018301857,2018301857
+2018301858,2018301858
+2018301859,2018301859
+2018301860,2018301860
+2018301861,2018301861
+2018301862,2018301862
+2018301863,2018301863
+2018301864,2018301864
+2018301865,2018301865
+2018301866,2018301866
+2018301867,2018301867
+2018301868,2018301868
+2018301869,2018301869
+2018301870,2018301870
+2018301871,2018301871
+2018301872,2018301872
+2018301873,2018301873
+2018301874,2018301874
+2018301875,2018301875
+2018301876,2018301876
+2018301877,2018301877
+2018301878,2018301878
+2018301879,2018301879
+2018301880,2018301880
+2018301881,2018301881
+2018301882,2018301882
+2018301883,2018301883
+2018301884,2018301884
+2018301885,2018301885
+2018301886,2018301886
+2018301887,2018301887
+2018301888,2018301888
+2018301889,2018301889
+2018301890,2018301890
+2018301891,2018301891
+2018301892,2018301892
+2018301893,2018301893
+2018301894,2018301894
+2018301895,2018301895
+2018301896,2018301896
+2018301897,2018301897
+2018301898,2018301898
+2018301899,2018301899
+2018301900,2018301900
+2018301901,2018301901
+2018301902,2018301902
+2018301903,2018301903
+2018301904,2018301904
+2018301905,2018301905
+2018301906,2018301906
+2018301907,2018301907
+2018301908,2018301908
+2018301909,2018301909
+2018301910,2018301910
+2018301911,2018301911
+2018301912,2018301912
+2018301913,2018301913
+2018301914,2018301914
+2018301915,2018301915
+2018301916,2018301916
+2018301917,2018301917
+2018301918,2018301918
+2018301919,2018301919
+2018301920,2018301920
+2018301921,2018301921
+2018301922,2018301922
+2018301923,2018301923
+2018301924,2018301924
+2018301925,2018301925
+2018301926,2018301926
+2018301927,2018301927
+2018301928,2018301928
+2018301929,2018301929
+2018301930,2018301930
+2018301931,2018301931
+2018301932,2018301932
+2018301933,2018301933
+2018301934,2018301934
+2018301935,2018301935
+2018301936,2018301936
+2018301937,2018301937
+2018301938,2018301938
+2018301939,2018301939
+2018301940,2018301940
+2018301941,2018301941
+2018301942,2018301942
+2018301943,2018301943
+2018301944,2018301944
+2018301945,2018301945
+2018301946,2018301946
+2018301947,2018301947
+2018301948,2018301948
+2018301949,2018301949
+2018301950,2018301950
+2018301951,2018301951
+2018301952,2018301952
+2018301953,2018301953
+2018301954,2018301954
+2018301955,2018301955
+2018301956,2018301956
+2018301957,2018301957
+2018301958,2018301958
+2018301959,2018301959
+2018301960,2018301960
+2018301961,2018301961
+2018301962,2018301962
+2018301963,2018301963
+2018301964,2018301964
+2018301965,2018301965
+2018301966,2018301966
+2018301967,2018301967
+2018301968,2018301968
+2018301969,2018301969
+2018301970,2018301970
+2018301971,2018301971
+2018301972,2018301972
+2018301973,2018301973
+2018301974,2018301974
+2018301975,2018301975
+2018301976,2018301976
+2018301977,2018301977
+2018301978,2018301978f
+2018301979,2018301979
+2018301980,2018301980
+2018301981,2018301981
+2018301982,2018301982
+2018301983,2018301983
+2018301984,2018301984
+2018301985,2018301985
+2018301986,2018301986
+2018301987,2018301987
+2018301988,2018301988
+2018301989,2018301989
+2018301990,2018301990
+2018301991,2018301991
+2018301992,2018301992
+2018301993,2018301993
+2018301994,2018301994
+2018301995,2018301995
+2018301996,2018301996
+2018301997,2018301997
+2018301998,2018301998
+2018301999,2018301999
+2018302000,2018302000
+2018302001,2018302001
+2018302002,2018302002
+2018302003,2018302003
+2018302004,2018302004
+2018302005,2018302005
+2018302006,2018302006
+2018302007,2018302007
+2018302008,2018302008
+2018302009,2018302009
+2018302010,2018302010
+2018302011,2018302011
+2018302012,2018302012
+2018302013,2018302013
+2018302014,2018302014
+2018302015,2018302015
+2018302016,2018302016
+2018302017,2018302017
+2018302018,2018302018
+2018302019,2018302019
+2018302020,2018302020
+2018302021,2018302021
+2018302022,2018302022
+2018302023,2018302023
+2018302024,2018302024
+2018302025,2018302025
+2018302026,2018302026
+2018302027,2018302027
+2018302028,2018302028
+2018302029,2018302029
+2018302030,2018302030
+2018302031,2018302031
+2018302032,2018302032
+2018302033,2018302033
+2018302034,2018302034
+2018302035,2018302035
+2018302036,2018302036
+2018302037,2018302037
+2018302038,2018302038
+2018302039,2018302039
+2018302040,2018302040
+2018302041,2018302041
+2018302042,2018302042
+2018302043,2018302043
+2018302044,2018302044
+2018302045,2018302045
+2018302046,2018302046
+2018302047,2018302047
+2018302048,2018302048
+2018302049,2018302049
+2018302050,2018302050
+2018302051,2018302051
+2018302052,2018302052
+2018302053,2018302053
+2018302054,2018302054
+2018302055,2018302055
+2018302056,2018302056
+2018302057,2018302057
+2018302058,2018302058
+2018302059,2018302059
+2018302060,2018302060
+2018302061,2018302061
+2018302062,2018302062
+2018302063,2018302063
+2018302064,2018302064
+2018302065,2018302065
+2018302066,2018302066
+2018302067,2018302067
+2018302068,2018302068
+2018302069,2018302069
+2018302070,2018302070
+2018302071,2018302071
+2018302072,2018302072
+2018302073,2018302073
+2018302074,2018302074
+2018302075,2018302075
+2018302076,2018302076
+2018302077,2018302077
+2018302078,2018302078
+2018302079,2018302079
+2018302080,2018302080
+2018302081,2018302081
+2018302082,2018302082
+2018302083,2018302083
+2018302084,2018302084
+2018302085,2018302085
+2018302086,2018302086
+2018302087,2018302087
+2018302088,2018302088
+2018302089,2018302089
+2018302090,2018302090
+2018302091,2018302091
+2018302092,2018302092
+2018302093,2018302093
+2018302094,2018302094
+2018302095,2018302095
+2018302096,2018302096
+2018302097,2018302097
+2018302098,2018302098
+2018302099,2018302099
+2018302100,2018302100
+2018302101,2018302101
+2018302102,2018302102
+2018302103,2018302103
+2018302104,2018302104
+2018302105,2018302105
+2018302106,2018302106
+2018302107,2018302107
+2018302108,2018302108
+2018302109,2018302109
+2018302110,2018302110
+2018302111,2018302111
+2018302112,2018302112
+2018302113,2018302113
+2018302114,2018302114
+2018302115,2018302115
+2018302116,2018302116
+2018302117,2018302117
+2018302118,2018302118
+2018302119,2018302119
+2018302120,2018302120
+2018302121,2018302121
+2018302122,2018302122
+2018302123,2018302123
+2018302124,2018302124
+2018302125,2018302125
+2018302126,2018302126
+2018302127,2018302127
+2018302128,2018302128
+2018302129,2018302129
+2018302130,2018302130
+2018302131,2018302131
+2018302132,2018302132
+2018302133,2018302133
+2018302134,2018302134
+2018302135,2018302135
+2018302136,2018302136
+2018302137,2018302137
+2018302138,2018302138
+2018302139,2018302139
+2018302140,2018302140
+2018302141,2018302141
+2018302142,2018302142
+2018302143,2018302143
+2018302144,2018302144
+2018302145,2018302145
+2018302146,2018302146
+2018302147,2018302147
+2018302148,2018302148
+2018302149,2018302149
+2018302150,2018302150
+2018302151,2018302151
+2018302152,2018302152
+2018302153,2018302153
+2018302154,2018302154
+2018302155,2018302155
+2018302156,2018302156
+2018302157,2018302157
+2018302158,2018302158
+2018302159,2018302159
+2018302160,2018302160
+2018302161,2018302161
+2018302162,2018302162
+2018302163,2018302163
+2018302164,2018302164
+2018302165,2018302165
+2018302166,2018302166
+2018302167,2018302167
+2018302168,2018302168
+2018302169,2018302169
+2018302170,2018302170
+2018302171,2018302171
+2018302172,2018302172
+2018302173,2018302173
+2018302174,2018302174
+2018302175,2018302175
+2018302176,2018302176
+2018302177,2018302177
+2018302178,2018302178
+2018302179,2018302179
+2018302180,2018302180
+2018302181,2018302181
+2018302182,2018302182
+2018302183,2018302183
+2018302184,2018302184
+2018302185,2018302185
+2018302186,2018302186
+2018302187,2018302187
+2018302188,2018302188
+2018302189,2018302189
+2018302190,2018302190
+2018302191,2018302191
+2018302192,2018302192
+2018302193,2018302193
+2018302194,2018302194
+2018302195,2018302195
+2018302196,2018302196
+2018302197,2018302197
+2018302198,2018302198
+2018302199,2018302199
+2018302200,2018302200
+2018302201,2018302201
+2018302202,2018302202
+2018302203,2018302203
+2018302204,2018302204
+2018302205,2018302205
+2018302206,2018302206
+2018302207,2018302207
+2018302208,2018302208
+2018302209,2018302209
+2018302210,2018302210
+2018302211,2018302211
+2018302212,2018302212
+2018302213,2018302213
+2018302214,2018302214
+2018302215,2018302215
+2018302216,2018302216
+2018302217,2018302217
+2018302218,2018302218
+2018302219,2018302219
+2018302220,2018302220
+2018302221,2018302221
+2018302222,2018302222
+2018302223,2018302223
+2018302224,2018302224
+2018302225,2018302225
+2018302226,2018302226
+2018302227,2018302227
+2018302228,2018302228
+2018302229,2018302229
+2018302230,2018302230
+2018302231,2018302231
+2018302232,2018302232
+2018302233,2018302233
+2018302234,2018302234
+2018302235,2018302235
+2018302236,2018302236
+2018302237,2018302237
+2018302238,2018302238
+2018302239,2018302239
+2018302240,2018302240
+2018302241,2018302241
+2018302242,2018302242
+2018302243,2018302243
+2018302244,2018302244
+2018302245,2018302245
+2018302246,2018302246
+2018302247,2018302247
+2018302248,2018302248
+2018302249,2018302249
+2018302250,2018302250
+2018302251,2018302251
+2018302252,2018302252
+2018302253,2018302253
+2018302254,2018302254
+2018302255,2018302255
+2018302256,2018302256
+2018302257,2018302257
+2018302258,2018302258
+2018302259,2018302259
+2018302260,2018302260
+2018302261,2018302261
+2018302262,2018302262
+2018302263,2018302263
+2018302264,2018302264
+2018302265,2018302265
+2018302266,2018302266
+2018302267,2018302267
+2018302268,2018302268
+2018302269,2018302269
+2018302270,2018302270
+2018302271,2018302271
+2018302272,2018302272
+2018302273,2018302273
+2018302274,2018302274
+2018302275,2018302275
+2018302276,2018302276
+2018302277,2018302277
+2018302278,2018302278
+2018302279,2018302279
+2018302280,2018302280
+2018302281,2018302281
+2018302282,2018302282
+2018302283,2018302283
+2018302284,2018302284
+2018302285,2018302285
+2018302286,2018302286
+2018302287,2018302287
+2018302288,2018302288
+2018302289,2018302289
+2018302290,2018302290
+2018302291,2018302291
+2018302292,2018302292
+2018302293,2018302293
+2018302294,2018302294
+2018302295,2018302295
+2018302296,2018302296
+2018302297,2018302297
+2018302298,2018302298
+2018302299,2018302299
+2018302300,2018302300
+2018302301,2018302301
+2018302302,2018302302
+2018302303,2018302303
+2018302304,2018302304
+2018302305,2018302305
+2018302306,2018302306
+2018302307,2018302307
+2018302308,2018302308
+2018302309,2018302309
+2018302310,2018302310
+2018302311,2018302311
+2018302312,2018302312
+2018302313,2018302313
+2018302314,2018302314
+2018302315,2018302315
+2018302316,2018302316
+2018302317,2018302317
+2018302318,2018302318
+2018302319,2018302319
+2018302320,2018302320
+2018302321,2018302321
+2018302322,2018302322
+2018302323,2018302323
+2018302324,2018302324
+2018302325,2018302325
+2018302326,2018302326
+2018302327,2018302327
+2018302328,2018302328
+2018302329,2018302329
+2018302330,2018302330
+2018302331,2018302331
+2018302332,2018302332
+2018302333,2018302333
+2018302334,2018302334
+2018302335,2018302335
+2018302336,2018302336
+2018302337,2018302337
+2018302338,2018302338
+2018302339,2018302339
+2018302340,2018302340
+2018302341,2018302341
+2018302342,2018302342
+2018302343,2018302343
+2018302344,2018302344
+2018302345,2018302345
+2018302346,2018302346
+2018302347,2018302347
+2018302348,2018302348
+2018302349,2018302349
+2018302350,2018302350
+2018302351,2018302351
+2018302352,2018302352
+2018302353,2018302353
+2018302354,2018302354
+2018302355,2018302355
+2018302356,2018302356
+2018302357,2018302357
+2018302358,2018302358
+2018302359,2018302359
+2018302360,2018302360
+2018302361,2018302361
+2018302362,2018302362
+2018302363,2018302363
+2018302364,2018302364
+2018302365,2018302365
+2018302366,2018302366
+2018302367,2018302367
+2018302368,2018302368
+2018302369,2018302369
+2018302370,2018302370
+2018302371,2018302371
+2018302372,2018302372
+2018302373,2018302373
+2018302374,2018302374
+2018302375,2018302375
+2018302376,2018302376
+2018302377,2018302377
+2018302378,2018302378
+2018302379,2018302379
+2018302380,2018302380
+2018302381,2018302381
+2018302382,2018302382
+2018302383,2018302383
+2018302384,2018302384
+2018302385,2018302385
+2018302386,2018302386
+2018302387,2018302387
+2018302388,2018302388
+2018302389,2018302389
+2018302390,2018302390
+2018302391,2018302391
+2018302392,2018302392
+2018302393,2018302393
+2018302394,2018302394
+2018302395,2018302395
+2018302396,2018302396
+2018302397,2018302397
+2018302398,2018302398
+2018302399,2018302399
+2018302400,2018302400
+2018302401,2018302401
+2018302402,2018302402
+2018302403,2018302403
+2018302404,2018302404
+2018302405,2018302405
+2018302406,2018302406
+2018302407,2018302407
+2018302408,2018302408
+2018302409,2018302409
+2018302410,2018302410
+2018302411,2018302411
+2018302412,2018302412
+2018302413,2018302413
+2018302414,2018302414
+2018302415,2018302415
+2018302416,2018302416
+2018302417,2018302417
+2018302418,2018302418
+2018302419,2018302419
+2018302420,2018302420
+2018302421,2018302421
+2018302422,2018302422
+2018302423,2018302423
+2018302424,2018302424
+2018302425,2018302425
+2018302426,2018302426
+2018302427,2018302427
+2018302428,2018302428
+2018302429,2018302429
+2018302430,2018302430
+2018302431,2018302431
+2018302432,2018302432
+2018302433,2018302433
+2018302434,2018302434
+2018302435,2018302435
+2018302436,2018302436
+2018302437,2018302437
+2018302438,2018302438
+2018302439,2018302439
+2018302440,2018302440
+2018302441,2018302441
+2018302442,2018302442
+2018302443,2018302443
+2018302444,2018302444
+2018302445,2018302445
+2018302446,2018302446
+2018302447,2018302447
+2018302448,2018302448
+2018302449,2018302449
+2018302450,2018302450
+2018302451,2018302451
+2018302452,2018302452
+2018302453,2018302453
+2018302454,2018302454
+2018302455,2018302455
+2018302456,2018302456
+2018302457,2018302457
+2018302458,2018302458
+2018302459,2018302459
+2018302460,2018302460
+2018302461,2018302461
+2018302462,2018302462
+2018302463,2018302463
+2018302464,2018302464
+2018302465,2018302465
+2018302466,2018302466
+2018302467,2018302467
+2018302468,2018302468
+2018302469,2018302469
+2018302470,2018302470
+2018302471,2018302471
+2018302472,2018302472
+2018302473,2018302473
+2018302474,2018302474
+2018302475,2018302475
+2018302476,2018302476
+2018302477,2018302477
+2018302478,2018302478
+2018302479,2018302479
+2018302480,2018302480
+2018302481,2018302481
+2018302482,2018302482
+2018302483,2018302483
+2018302484,2018302484
+2018302485,2018302485
+2018302486,2018302486
+2018302487,2018302487
+2018302488,2018302488
+2018302489,2018302489
+2018302490,2018302490
+2018302491,2018302491
+2018302492,2018302492
+2018302493,2018302493
+2018302494,2018302494
+2018302495,2018302495
+2018302496,2018302496
+2018302497,2018302497
+2018302498,2018302498
+2018302499,2018302499
+2018302500,2018302500
+2018302501,2018302501
+2018302502,2018302502
+2018302503,2018302503
+2018302504,2018302504
+2018302505,2018302505
+2018302506,2018302506
+2018302507,2018302507
+2018302508,2018302508
+2018302509,2018302509
+2018302510,2018302510
+2018302511,2018302511
+2018302512,2018302512
+2018302513,2018302513
+2018302514,2018302514
+2018302515,2018302515
+2018302516,2018302516
+2018302517,2018302517
+2018302518,2018302518
+2018302519,2018302519
+2018302520,2018302520
+2018302521,2018302521
+2018302522,2018302522
+2018302523,2018302523
+2018302524,2018302524
+2018302525,2018302525
+2018302526,2018302526
+2018302527,2018302527
+2018302528,2018302528
+2018302529,2018302529
+2018302530,2018302530
+2018302531,2018302531
+2018302532,2018302532
+2018302533,2018302533
+2018302534,2018302534
+2018302535,2018302535
+2018302536,2018302536
+2018302537,2018302537
+2018302538,2018302538
+2018302539,2018302539
+2018302540,2018302540
+2018302541,2018302541
+2018302542,2018302542
+2018302543,2018302543
+2018302544,2018302544
+2018302545,2018302545
+2018302546,2018302546
+2018302547,2018302547
+2018302548,2018302548
+2018302549,2018302549
+2018302550,2018302550
+2018302551,2018302551
+2018302552,2018302552
+2018302553,2018302553
+2018302554,2018302554
+2018302555,2018302555
+2018302556,2018302556
+2018302557,2018302557
+2018302558,2018302558
+2018302559,2018302559
+2018302560,2018302560
+2018302561,2018302561
+2018302562,2018302562
+2018302563,2018302563
+2018302564,2018302564
+2018302565,2018302565
+2018302566,2018302566
+2018302567,2018302567
+2018302568,2018302568
+2018302569,2018302569
+2018302570,2018302570
+2018302571,2018302571
+2018302572,2018302572
+2018302573,2018302573
+2018302574,2018302574
+2018302575,2018302575
+2018302576,2018302576
+2018302577,2018302577
+2018302578,2018302578
+2018302579,2018302579
+2018302580,2018302580
+2018302581,2018302581
+2018302582,2018302582
+2018302583,2018302583
+2018302584,2018302584
+2018302585,2018302585
+2018302586,2018302586
+2018302587,2018302587
+2018302588,2018302588
+2018302589,2018302589
+2018302590,2018302590
+2018302591,2018302591
+2018302592,2018302592
+2018302593,2018302593
+2018302594,2018302594
+2018302595,2018302595
+2018302596,2018302596
+2018302597,2018302597
+2018302598,2018302598
+2018302599,2018302599
+2018302600,2018302600
+2018302601,2018302601
+2018302602,2018302602
+2018302603,2018302603
+2018302604,2018302604
+2018302605,2018302605
+2018302606,2018302606
+2018302607,2018302607
+2018302608,2018302608
+2018302609,2018302609
+2018302610,2018302610
+2018302611,2018302611
+2018302612,2018302612
+2018302613,2018302613
+2018302614,2018302614
+2018302615,2018302615
+2018302616,2018302616
+2018302617,2018302617
+2018302618,2018302618
+2018302619,2018302619
+2018302620,2018302620
+2018302621,2018302621
+2018302622,2018302622
+2018302623,2018302623
+2018302624,2018302624
+2018302625,2018302625
+2018302626,2018302626
+2018302627,2018302627
+2018302628,2018302628
+2018302629,2018302629
+2018302630,2018302630
+2018302631,2018302631
+2018302632,2018302632
+2018302633,2018302633
+2018302634,2018302634
+2018302635,2018302635
+2018302636,2018302636
+2018302637,2018302637
+2018302638,2018302638
+2018302639,2018302639
+2018302640,2018302640
+2018302641,2018302641
+2018302642,2018302642
+2018302643,2018302643
+2018302644,2018302644
+2018302645,2018302645
+2018302646,2018302646
+2018302647,2018302647
+2018302648,2018302648
+2018302649,2018302649
+2018302650,2018302650
+2018302651,2018302651
+2018302652,2018302652
+2018302653,2018302653
+2018302654,2018302654
+2018302655,2018302655
+2018302656,2018302656
+2018302657,2018302657
+2018302658,2018302658
+2018302659,2018302659
+2018302660,2018302660
+2018302661,2018302661
+2018302662,2018302662
+2018302663,2018302663
+2018302664,2018302664
+2018302665,2018302665
+2018302666,2018302666
+2018302667,2018302667
+2018302668,2018302668
+2018302669,2018302669
+2018302670,2018302670
+2018302671,2018302671
+2018302672,2018302672
+2018302673,2018302673
+2018302674,2018302674
+2018302675,2018302675
+2018302676,2018302676
+2018302677,2018302677
+2018302678,2018302678
+2018302679,2018302679
+2018302680,2018302680
+2018302681,2018302681
+2018302682,2018302682
+2018302683,2018302683
+2018302684,2018302684
+2018302685,2018302685
+2018302686,2018302686
+2018302687,2018302687
+2018302688,2018302688
+2018302689,2018302689
+2018302690,2018302690
+2018302691,2018302691
+2018302692,2018302692
+2018302693,2018302693
+2018302694,2018302694
+2018302695,2018302695
+2018302696,2018302696
+2018302697,2018302697
+2018302698,2018302698
+2018302699,2018302699
+2018302700,2018302700
+2018302701,2018302701
+2018302702,2018302702
+2018302703,2018302703
+2018302704,2018302704
+2018302705,2018302705
+2018302706,2018302706
+2018302707,2018302707
+2018302708,2018302708
+2018302709,2018302709
+2018302710,2018302710
+2018302711,2018302711
+2018302712,2018302712
+2018302713,2018302713
+2018302714,2018302714
+2018302715,2018302715
+2018302716,2018302716
+2018302717,2018302717
+2018302718,2018302718
+2018302719,2018302719
+2018302720,2018302720
+2018302721,2018302721
+2018302722,2018302722
+2018302723,2018302723
+2018302724,2018302724
+2018302725,2018302725
+2018302726,2018302726
+2018302727,2018302727
+2018302728,2018302728
+2018302729,2018302729
+2018302730,2018302730
+2018302731,2018302731
+2018302732,2018302732
+2018302733,2018302733
+2018302734,2018302734
+2018302735,2018302735
+2018302736,2018302736
+2018302737,2018302737
+2018302738,2018302738
+2018302739,2018302739
+2018302740,2018302740
+2018302741,2018302741
+2018302742,2018302742
+2018302743,2018302743
+2018302744,2018302744
+2018302745,2018302745
+2018302746,2018302746
+2018302747,2018302747
+2018302748,2018302748
+2018302749,2018302749
+2018302750,2018302750
+2018302751,2018302751
+2018302752,2018302752
+2018302753,2018302753
+2018302754,2018302754
+2018302755,2018302755
+2018302756,2018302756
+2018302757,2018302757
+2018302758,2018302758
+2018302759,2018302759
+2018302760,2018302760
+2018302761,2018302761
+2018302762,2018302762
+2018302763,2018302763
+2018302764,2018302764
+2018302765,2018302765
+2018302766,2018302766
+2018302767,2018302767f
+2018302768,2018302768
+2018302769,2018302769
+2018302770,2018302770
+2018302771,2018302771
+2018302772,2018302772
+2018302773,2018302773
+2018302774,2018302774
+2018302775,2018302775
+2018302776,2018302776
+2018302777,2018302777
+2018302778,2018302778
+2018302779,2018302779
+2018302780,2018302780
+2018302781,2018302781
+2018302782,2018302782
+2018302783,2018302783
+2018302784,2018302784
+2018302785,2018302785
+2018302786,2018302786
+2018302787,2018302787
+2018302788,2018302788
+2018302789,2018302789
+2018302790,2018302790
+2018302791,2018302791
+2018302792,2018302792
+2018302793,2018302793
+2018302794,2018302794
+2018302795,2018302795
+2018302796,2018302796
+2018302797,2018302797
+2018302798,2018302798
+2018302799,2018302799
+2018302800,2018302800
+2018302801,2018302801
+2018302802,2018302802
+2018302803,2018302803
+2018302804,2018302804
+2018302805,2018302805
+2018302806,2018302806
+2018302807,2018302807
+2018302808,2018302808
+2018302809,2018302809
+2018302810,2018302810
+2018302811,2018302811
+2018302812,2018302812
+2018302813,2018302813
+2018302814,2018302814
+2018302815,2018302815
+2018302816,2018302816
+2018302817,2018302817
+2018302818,2018302818
+2018302819,2018302819
+2018302820,2018302820
+2018302821,2018302821
+2018302822,2018302822
+2018302823,2018302823
+2018302824,2018302824
+2018302825,2018302825
+2018302826,2018302826
+2018302827,2018302827
+2018302828,2018302828
+2018302829,2018302829
+2018302830,2018302830
+2018302831,2018302831
+2018302832,2018302832
+2018302833,2018302833
+2018302834,2018302834
+2018302835,2018302835
+2018302836,2018302836
+2018302837,2018302837
+2018302838,2018302838
+2018302839,2018302839
+2018302840,2018302840
+2018302841,2018302841
+2018302842,2018302842
+2018302843,2018302843
+2018302844,2018302844
+2018302845,2018302845
+2018302846,2018302846
+2018302847,2018302847
+2018302848,2018302848
+2018302849,2018302849
+2018302850,2018302850
+2018302851,2018302851
+2018302852,2018302852
+2018302853,2018302853
+2018302854,2018302854
+2018302855,2018302855
+2018302856,2018302856
+2018302857,2018302857
+2018302858,2018302858
+2018302859,2018302859
+2018302860,2018302860
+2018302861,2018302861
+2018302862,2018302862
+2018302863,2018302863
+2018302864,2018302864
+2018302865,2018302865
+2018302866,2018302866
+2018302867,2018302867
+2018302868,2018302868
+2018302869,2018302869
+2018302870,2018302870
+2018302871,2018302871
+2018302872,2018302872
+2018302873,2018302873
+2018302874,2018302874
+2018302875,2018302875
+2018302876,2018302876
+2018302877,2018302877
+2018302878,2018302878
+2018302879,2018302879
+2018302880,2018302880
+2018302881,2018302881
+2018302882,2018302882
+2018302883,2018302883
+2018302884,2018302884
+2018302885,2018302885
+2018302886,2018302886
+2018302887,2018302887
+2018302888,2018302888
+2018302889,2018302889
+2018302890,2018302890
+2018302891,2018302891
+2018302892,2018302892
+2018302893,2018302893
+2018302894,2018302894
+2018302895,2018302895
+2018302896,2018302896
+2018302897,2018302897
+2018302898,2018302898
+2018302899,2018302899
+2018302900,2018302900
+2018302901,2018302901
+2018302902,2018302902
+2018302903,2018302903
+2018302904,2018302904
+2018302905,2018302905
+2018302906,2018302906
+2018302907,2018302907
+2018302908,2018302908
+2018302909,2018302909
+2018302910,2018302910
+2018302911,2018302911
+2018302912,2018302912
+2018302913,2018302913
+2018302914,2018302914
+2018302915,2018302915
+2018302916,2018302916
+2018302917,2018302917
+2018302918,2018302918
+2018302919,2018302919
+2018302920,2018302920
+2018302921,2018302921
+2018302922,2018302922
+2018302923,2018302923
+2018302924,2018302924
+2018302925,2018302925
+2018302926,2018302926
+2018302927,2018302927
+2018302928,2018302928
+2018302929,2018302929
+2018302930,2018302930
+2018302931,2018302931
+2018302932,2018302932
+2018302933,2018302933
+2018302934,2018302934
+2018302935,2018302935
+2018302936,2018302936
+2018302937,2018302937
+2018302938,2018302938
+2018302939,2018302939
+2018302940,2018302940
+2018302941,2018302941
+2018302942,2018302942
+2018302943,2018302943
+2018302944,2018302944
+2018302945,2018302945
+2018302946,2018302946
+2018302947,2018302947
+2018302948,2018302948
+2018302949,2018302949
+2018302950,2018302950
+2018302951,2018302951
+2018302952,2018302952
+2018302953,2018302953
+2018302954,2018302954
+2018302955,2018302955
+2018302956,2018302956
+2018302957,2018302957
+2018302958,2018302958
+2018302959,2018302959
+2018302960,2018302960
+2018302961,2018302961
+2018302962,2018302962
+2018302963,2018302963
+2018302964,2018302964
+2018302965,2018302965
+2018302966,2018302966
+2018302967,2018302967
+2018302968,2018302968
+2018302969,2018302969
+2018302970,2018302970
+2018302971,2018302971
+2018302972,2018302972
+2018302973,2018302973
+2018302974,2018302974
+2018302975,2018302975
+2018302976,2018302976
+2018302977,2018302977
+2018302978,2018302978
+2018302979,2018302979
+2018302980,2018302980
+2018302981,2018302981
+2018302982,2018302982
+2018302983,2018302983
+2018302984,2018302984
+2018302985,2018302985
+2018302986,2018302986
+2018302987,2018302987
+2018302988,2018302988
+2018302989,2018302989
+2018302990,2018302990
+2018302991,2018302991
+2018302992,2018302992
+2018302993,2018302993
+2018302994,2018302994
+2018302995,2018302995
+2018302996,2018302996
+2018302997,2018302997
+2018302998,2018302998
+2018302999,2018302999
+2018303000,2018303000
+2018303001,2018303001
+2018303002,2018303002
+2018303003,2018303003
+2018303004,2018303004
+2018303005,2018303005
+2018303006,2018303006
+2018303007,2018303007
+2018303008,2018303008
+2018303009,2018303009
+2018303010,2018303010
+2018303011,2018303011
+2018303012,2018303012
+2018303013,2018303013
+2018303014,2018303014
+2018303015,2018303015
+2018303016,2018303016
+2018303017,2018303017
+2018303018,2018303018
+2018303019,2018303019
+2018303020,2018303020
+2018303021,2018303021
+2018303022,2018303022
+2018303023,2018303023
+2018303024,2018303024
+2018303025,2018303025
+2018303026,2018303026
+2018303027,2018303027
+2018303028,2018303028
+2018303029,2018303029
+2018303030,2018303030
+2018303031,2018303031
+2018303032,2018303032
+2018303033,2018303033
+2018303034,2018303034
+2018303035,2018303035
+2018303036,2018303036
+2018303037,2018303037
+2018303038,2018303038
+2018303039,2018303039
+2018303040,2018303040
+2018303041,2018303041
+2018303042,2018303042
+2018303043,2018303043
+2018303044,2018303044
+2018303045,2018303045
+2018303046,2018303046
+2018303047,2018303047
+2018303048,2018303048
+2018303049,2018303049
+2018303050,2018303050
+2018303051,2018303051
+2018303052,2018303052
+2018303053,2018303053
+2018303054,2018303054
+2018303055,2018303055
+2018303056,2018303056
+2018303057,2018303057
+2018303058,2018303058
+2018303059,2018303059
+2018303060,2018303060
+2018303061,2018303061
+2018303062,2018303062
+2018303063,2018303063
+2018303064,2018303064
+2018303065,2018303065
+2018303066,2018303066
+2018303067,2018303067
+2018303068,2018303068
+2018303069,2018303069
+2018303070,2018303070
+2018303071,2018303071
+2018303072,2018303072
+2018303073,2018303073
+2018303074,2018303074
+2018303075,2018303075
+2018303076,2018303076
+2018303077,2018303077
+2018303078,2018303078
+2018303079,2018303079
+2018303080,2018303080
+2018303081,2018303081
+2018303082,2018303082
+2018303083,2018303083
+2018303084,2018303084
+2018303085,2018303085
+2018303086,2018303086
+2018303087,2018303087
+2018303088,2018303088
+2018303089,2018303089
+2018303090,2018303090
+2018303091,2018303091
+2018303092,2018303092
+2018303093,2018303093
+2018303094,2018303094
+2018303095,2018303095
+2018303096,2018303096
+2018303097,2018303097
+2018303098,2018303098
+2018303099,2018303099
+2018303100,2018303100
+2018303101,2018303101
+2018303102,2018303102
+2018303103,2018303103
+2018303104,2018303104
+2018303105,2018303105
+2018303106,2018303106
+2018303107,2018303107
+2018303108,2018303108
+2018303109,2018303109
+2018303110,2018303110
+2018303111,2018303111
+2018303112,2018303112
+2018303113,2018303113
+2018303114,2018303114
+2018303115,2018303115
+2018303116,2018303116
+2018303117,2018303117
+2018303118,2018303118
+2018303119,2018303119
+2018303120,2018303120
+2018303121,2018303121
+2018303122,2018303122
+2018303123,2018303123
+2018303124,2018303124
+2018303125,2018303125
+2018303126,2018303126
+2018303127,2018303127
+2018303128,2018303128
+2018303129,2018303129
+2018303130,2018303130
+2018303131,2018303131
+2018303132,2018303132
+2018303133,2018303133
+2018303134,2018303134
+2018303135,2018303135
+2018303136,2018303136
+2018303137,2018303137
+2018303138,2018303138
+2018303139,2018303139
+2018303140,2018303140
+2018303141,2018303141
+2018303142,2018303142
+2018303143,2018303143
+2018303144,2018303144
+2018303145,2018303145
+2018303146,2018303146
+2018303147,2018303147
+2018303148,2018303148
+2018303149,2018303149
+2018303150,2018303150
+2018303151,2018303151
+2018303152,2018303152
+2018303153,2018303153
+2018303154,2018303154
+2018303155,2018303155
+2018303156,2018303156
+2018303157,2018303157
+2018303158,2018303158
+2018303159,2018303159
+2018303160,2018303160
+2018303161,2018303161
+2018303162,2018303162
+2018303163,2018303163
+2018303164,2018303164
+2018303165,2018303165
+2018303166,2018303166
+2018303167,2018303167
+2018303168,2018303168
+2018303169,2018303169
+2018303170,2018303170
+2018303171,2018303171
+2018303172,2018303172
+2018303173,2018303173
+2018303174,2018303174
+2018303175,2018303175
+2018303176,2018303176
+2018303177,2018303177
+2018303178,2018303178
+2018303179,2018303179
+2018303180,2018303180
+2018303181,2018303181
+2018303182,2018303182
+2018303183,2018303183
+2018303184,2018303184
+2018303185,2018303185
+2018303186,2018303186
+2018303187,2018303187
+2018303188,2018303188
+2018303189,2018303189
+2018303190,2018303190
+2018303191,2018303191
+2018303192,2018303192
+2018303193,2018303193
+2018303194,2018303194
+2018303195,2018303195
+2018303196,2018303196
+2018303197,2018303197
+2018303198,2018303198
+2018303199,2018303199
+2018303200,2018303200
+2018303201,2018303201
+2018303202,2018303202
+2018303203,2018303203
+2018303204,2018303204
+2018303205,2018303205
+2018303206,2018303206
+2018303207,2018303207
+2018303208,2018303208
+2018303209,2018303209
+2018303210,2018303210
+2018303211,2018303211
+2018303212,2018303212
+2018303213,2018303213
+2018303214,2018303214
+2018303215,2018303215
+2018303216,2018303216
+2018303217,2018303217
+2018303218,2018303218
+2018303219,2018303219
+2018303220,2018303220
+2018303221,2018303221
+2018303222,2018303222
+2018303223,2018303223
+2018303224,2018303224
+2018303225,2018303225
+2018303226,2018303226
+2018303227,2018303227
+2018303228,2018303228
+2018303229,2018303229
+2018303230,2018303230
+2018303231,2018303231
+2018303232,2018303232
+2018303233,2018303233
+2018303234,2018303234
+2018303235,2018303235
+2018303236,2018303236
+2018303237,2018303237
+2018303238,2018303238
+2018303239,2018303239
+2018303240,2018303240
+2018303241,2018303241
+2018303242,2018303242
+2018303243,2018303243
+2018303244,2018303244
+2018303245,2018303245
+2018303246,2018303246
+2018303247,2018303247
+2018303248,2018303248
+2018303249,2018303249
+2018303250,2018303250
+2018303251,2018303251
+2018303252,2018303252
+2018303253,2018303253
+2018303254,2018303254
+2018303255,2018303255
+2018303256,2018303256
+2018303257,2018303257
+2018303258,2018303258
+2018303259,2018303259
+2018303260,2018303260
+2018303261,2018303261
+2018303262,2018303262
+2018303263,2018303263
+2018303264,2018303264
+2018303265,2018303265
+2018303266,2018303266
+2018303267,2018303267
+2018303268,2018303268
+2018303269,2018303269
+2018303270,2018303270
+2018303271,2018303271
+2018303272,2018303272
+2018303273,2018303273
+2018303274,2018303274
+2018303275,2018303275
+2018303276,2018303276
+2018303277,2018303277
+2018303278,2018303278
+2018303279,2018303279
+2018303280,2018303280
+2018303281,2018303281
+2018303282,2018303282
+2018303283,2018303283
+2018303284,2018303284
+2018303285,2018303285
+2018303286,2018303286
+2018303287,2018303287
+2018303288,2018303288
+2018303289,2018303289
+2018303290,2018303290
+2018303291,2018303291
+2018303292,2018303292
+2018303293,2018303293
+2018303294,2018303294
+2018303295,2018303295
+2018303296,2018303296
+2018303297,2018303297
+2018303298,2018303298
+2018303299,2018303299
+2018303300,2018303300
+2018303301,2018303301
+2018303302,2018303302
+2018303303,2018303303
+2018303304,2018303304
+2018303305,2018303305
+2018303306,2018303306
+2018303307,2018303307
+2018303308,2018303308
+2018303309,2018303309
+2018303310,2018303310
+2018303311,2018303311
+2018303312,2018303312
+2018303313,2018303313
+2018303314,2018303314
+2018303315,2018303315
+2018303316,2018303316
+2018303317,2018303317
+2018303318,2018303318
+2018303319,2018303319
+2018303320,2018303320
+2018303321,2018303321
+2018303322,2018303322
+2018303323,2018303323
+2018303324,2018303324
+2018303325,2018303325
+2018303326,2018303326
+2018303327,2018303327
+2018303328,2018303328
+2018303329,2018303329
+2018303330,2018303330
+2018303331,2018303331
+2018303332,2018303332
+2018303333,2018303333
+2018303334,2018303334
+2018303335,2018303335
+2018303336,2018303336
+2018303337,2018303337
+2018303338,2018303338
+2018303339,2018303339
+2018303340,2018303340
+2018303341,2018303341
+2018303342,2018303342
+2018303343,2018303343
+2018303344,2018303344
+2018303345,2018303345
+2018303346,2018303346
+2018303347,2018303347
+2018303348,2018303348
+2018303349,2018303349
+2018303350,2018303350
+2018303351,2018303351
+2018303352,2018303352
+2018303353,2018303353
+2018303354,2018303354
+2018303355,2018303355
+2018303356,2018303356
+2018303357,2018303357
+2018303358,2018303358
+2018303359,2018303359
+2018303360,2018303360
+2018303361,2018303361
+2018303362,2018303362
+2018303363,2018303363
+2018303364,2018303364
+2018303365,2018303365
+2018303366,2018303366
+2018303367,2018303367
+2018303368,2018303368
+2018303369,2018303369
+2018303370,2018303370
+2018303371,2018303371
+2018303372,2018303372
+2018303373,2018303373
+2018303374,2018303374
+2018303375,2018303375
+2018303376,2018303376
+2018303377,2018303377
+2018303378,2018303378
+2018303379,2018303379
+2018303380,2018303380
+2018303381,2018303381
+2018303382,2018303382
+2018303383,2018303383
+2018303384,2018303384
+2018303385,2018303385
+2018303386,2018303386
+2018303387,2018303387
+2018303388,2018303388
+2018303389,2018303389
+2018303390,2018303390
+2018303391,2018303391
+2018303392,2018303392
+2018303393,2018303393
+2018303394,2018303394
+2018303395,2018303395
+2018303396,2018303396
+2018303397,2018303397
+2018303398,2018303398
+2018303399,2018303399
+2018303400,2018303400
+2018303401,2018303401
+2018303402,2018303402
+2018303403,2018303403
+2018303404,2018303404
+2018303405,2018303405
+2018303406,2018303406
+2018303407,2018303407
+2018303408,2018303408
+2018303409,2018303409
+2018303410,2018303410
+2018303411,2018303411
+2018303412,2018303412
+2018303413,2018303413
+2018303414,2018303414
+2018303415,2018303415
+2018303416,2018303416
+2018303417,2018303417f
+2018303418,2018303418
+2018303419,2018303419
+2018303420,2018303420
+2018303421,2018303421
+2018303422,2018303422
+2018303423,2018303423
+2018303424,2018303424
+2018303425,2018303425
+2018303426,2018303426
+2018303427,2018303427
+2018303428,2018303428
+2018303429,2018303429
+2018303430,2018303430
+2018303431,2018303431
+2018303432,2018303432
+2018303433,2018303433
+2018303434,2018303434
+2018303435,2018303435
+2018303436,2018303436
+2018303437,2018303437
+2018303438,2018303438
+2018303439,2018303439
+2018303440,2018303440
+2018303441,2018303441
+2018303442,2018303442
+2018303443,2018303443
+2018303444,2018303444
+2018303445,2018303445
+2018303446,2018303446
+2018303447,2018303447
+2018303448,2018303448
+2018303449,2018303449
+2018303450,2018303450
+2018303451,2018303451
+2018303452,2018303452
+2018303453,2018303453
+2018303454,2018303454
+2018303455,2018303455
+2018303456,2018303456
+2018303457,2018303457
+2018303458,2018303458
+2018303459,2018303459
+2018303460,2018303460
+2018303461,2018303461
+2018303462,2018303462
+2018303463,2018303463
+2018303464,2018303464
+2018303465,2018303465
+2018303466,2018303466
+2018303467,2018303467
+2018303468,2018303468
+2018303469,2018303469
+2018303470,2018303470
+2018303471,2018303471
+2018303472,2018303472
+2018303473,2018303473
+2018303474,2018303474
+2018303475,2018303475
+2018303476,2018303476
+2018303477,2018303477
+2018303478,2018303478
+2018303479,2018303479
+2018303480,2018303480
+2018303481,2018303481
+2018303482,2018303482
+2018303483,2018303483
+2018303484,2018303484
+2018303485,2018303485
+2018303486,2018303486
+2018303487,2018303487
+2018303488,2018303488
+2018303489,2018303489
+2018303490,2018303490
+2018303491,2018303491
+2018303492,2018303492
+2018303493,2018303493
+2018303494,2018303494
+2018303495,2018303495
+2018303496,2018303496
+2018303497,2018303497
+2018303498,2018303498
+2018303499,2018303499
+2018303500,2018303500
+2018303501,2018303501
+2018303502,2018303502
+2018303503,2018303503
+2018303504,2018303504
+2018303505,2018303505
+2018303506,2018303506
+2018303507,2018303507
+2018303508,2018303508
+2018303509,2018303509
+2018303510,2018303510
+2018303511,2018303511
+2018303512,2018303512
+2018303513,2018303513
+2018303514,2018303514
+2018303515,2018303515
+2018303516,2018303516
+2018303517,2018303517
+2018303518,2018303518
+2018303519,2018303519
+2018303520,2018303520
+2018303521,2018303521
+2018303522,2018303522
+2018303523,2018303523
+2018303524,2018303524
+2018303525,2018303525
+2018303526,2018303526
+2018303527,2018303527
+2018303528,2018303528
+2018303529,2018303529
+2018303530,2018303530
+2018303531,2018303531
+2018303532,2018303532
+2018303533,2018303533
+2018303534,2018303534
+2018303535,2018303535
+2018303536,2018303536
+2018303537,2018303537
+2018303538,2018303538
+2018303539,2018303539
+2018303540,2018303540
+2018303541,2018303541
+2018303542,2018303542
+2018303543,2018303543
+2018303544,2018303544
+2018303545,2018303545
+2018303546,2018303546
+2018303547,2018303547
+2018303548,2018303548
+2018303549,2018303549
+2018303550,2018303550
+2018303551,2018303551
+2018303552,2018303552
+2018303553,2018303553
+2018303554,2018303554
+2018303555,2018303555
+2018303556,2018303556
+2018303557,2018303557
+2018303558,2018303558
+2018303559,2018303559
+2018303560,2018303560
+2018303561,2018303561
+2018303562,2018303562
+2018303563,2018303563
+2018303564,2018303564
+2018303565,2018303565
+2018303566,2018303566
+2018303567,2018303567
+2018303568,2018303568
+2018303569,2018303569
+2018303570,2018303570
+2018303571,2018303571
+2018303572,2018303572
+2018303573,2018303573
+2018303574,2018303574
+2018303575,2018303575
+2018303576,2018303576
+2018303577,2018303577
+2018303578,2018303578
+2018303579,2018303579
+2018303580,2018303580
+2018303581,2018303581
+2018303582,2018303582
+2018303583,2018303583
+2018303584,2018303584
+2018303585,2018303585
+2018303586,2018303586
+2018303587,2018303587
+2018303588,2018303588f
+2018303589,2018303589
+2018303590,2018303590
+2018303591,2018303591
+2018303592,2018303592
+2018303593,2018303593
+2018303594,2018303594
+2018303595,2018303595
+2018303596,2018303596
+2018303597,2018303597
+2018303598,2018303598
+2018303599,2018303599
+2018303600,2018303600
+2018303601,2018303601
+2018303602,2018303602
+2018303603,2018303603
+2018303604,2018303604
+2018303605,2018303605
+2018303606,2018303606
+2018303607,2018303607
+2018303608,2018303608
+2018303609,2018303609
+2018303610,2018303610
+2018303611,2018303611
+2018303612,2018303612
+2018303613,2018303613
+2018303614,2018303614
+2018303615,2018303615
+2018303616,2018303616
+2018303617,2018303617
+2018303618,2018303618
+2018303619,2018303619
+2018303620,2018303620
+2018303621,2018303621
+2018303622,2018303622
+2018303623,2018303623
+2018303624,2018303624
+2018303625,2018303625
+2018303626,2018303626
+2018303627,2018303627
+2018303628,2018303628
+2018303629,2018303629
+2018303630,2018303630
+2018303631,2018303631
+2018303632,2018303632
+2018303633,2018303633
+2018303634,2018303634
+2018303635,2018303635
+2018303636,2018303636
+2018303637,2018303637
+2018303638,2018303638
+2018303639,2018303639
+2018303640,2018303640
+2018303641,2018303641
+2018303642,2018303642
+2018303643,2018303643
+2018303644,2018303644
+2018303645,2018303645
+2018303646,2018303646
+2018303647,2018303647
+2018303648,2018303648
+2018303649,2018303649
+2018303650,2018303650
+2018303651,2018303651
+2018303652,2018303652
+2018303653,2018303653
+2018303654,2018303654
+2018303655,2018303655
+2018303656,2018303656
+2018303657,2018303657
+2018303658,2018303658
+2018303659,2018303659
+2018303660,2018303660
+2018303661,2018303661
+2018303662,2018303662
+2018303663,2018303663
+2018303664,2018303664
+2018303665,2018303665
+2018303666,2018303666
+2018303667,2018303667
+2018303668,2018303668
+2018303669,2018303669
+2018303670,2018303670
+2018303671,2018303671
+2018303672,2018303672
+2018303673,2018303673
+2018303674,2018303674
+2018303675,2018303675
+2018303676,2018303676
+2018303677,2018303677
+2018303678,2018303678
+2018303679,2018303679
+2018303680,2018303680
+2018303681,2018303681
+2018303682,2018303682
+2018303683,2018303683
+2018303684,2018303684
+2018303685,2018303685
+2018303686,2018303686
+2018371001,2018371001
+2018371002,2018371002
+2018371003,2018371003
+2018371004,2018371004
+2018371005,2018371005
+2018371006,2018371006
+2018371007,2018371007
+2018371008,2018371008
+2018371009,2018371009
+2018371010,2018371010
+2018371011,2018371011
+2018371012,2018371012
+2018371013,2018371013
+2018372001,2018372001
+2018372002,2018372002
+2018372003,2018372003
+2018372004,2018372004
+2018372005,2018372005
+2018372006,2018372006
+2018372007,2018372007
+2018372008,2018372008
+2018372009,2018372009
+2018372010,2018372010
+2018372011,2018372011
+2018373001,2018373001
+2018373002,2018373002
+2018373003,2018373003
+2018373004,2018373004
+2018373005,2018373005
+2018373006,2018373006
+2018373007,2018373007
+2018373008,2018373008
+2018373009,2018373009
+2018373010,2018373010
+2018373011,2018373011
+2018373012,2018373012
+2018373013,2018373013
+2018373014,2018373014
+2018373015,2018373015
+2018373016,2018373016
+2018373017,2018373017
+2018373018,2018373018
+2018373019,2018373019
+2018373020,2018373020
+2018373021,2018373021
+2018373022,2018373022
+2018373023,2018373023
+2018373024,2018373024
+2018373025,2018373025
+2018373026,2018373026
+2018373027,2018373027
+2018373028,2018373028
+2018373029,2018373029
+2018373030,2018373030
+2018373031,2018373031
+2018373032,2018373032
+2018373033,2018373033
+2018373034,2018373034
+2018380001,2018380001
+2018380002,2018380002
+2018380003,2018380003
+2018380004,2018380004
+2018380005,2018380005
+2018380006,2018380006
+2018380007,2018380007
+2018380008,2018380008
+2018380009,2018380009
+2018380010,2018380010
+2018380011,2018380011
+2018380012,2018380012
+2018380013,2018380013
+2018380014,2018380014
+2018380015,2018380015
+2018380016,2018380016
+2018380017,2018380017
+2018380018,2018380018
+2018380019,2018380019
+2018380020,2018380020
+2018380021,2018380021
+2018380022,2018380022
+2018380023,2018380023
+2018380024,2018380024
+2018380025,2018380025
+2018380026,2018380026
+2018380027,2018380027
+2018380028,2018380028
+2018380029,2018380029
+2018380030,2018380030
+2018380031,2018380031
+2018380032,2018380032
+2018380033,2018380033
+2018380034,2018380034
+2018380035,2018380035
+2018380036,2018380036
+2018380037,2018380037
+2018380038,2018380038
+2018380039,2018380039
+2018380040,2018380040
+2018380041,2018380041
+2018380042,2018380042
+2018380043,2018380043
+2018380044,2018380044
+2018380046,2018380046
+2018380047,2018380047
+2018380048,2018380048
+2018380049,2018380049
+2018380050,2018380050
+2018380051,2018380051
+2018380052,2018380052
+2018380053,2018380053
+2018380054,2018380054
+2018380055,2018380055
+2018380056,2018380056
+2018380057,2018380057
+2018380058,2018380058
+2018380059,2018380059
+2018380060,2018380060
+2018380061,2018380061
+2018380062,2018380062
+2018380063,2018380063
+2018380064,2018380064
+2018380065,2018380065
+2018380066,2018380066
+2018380067,2018380067
+2018380068,2018380068
+2018380069,2018380069
+2018380070,2018380070
+2018380071,2018380071
+2018380072,2018380072
+2018380073,2018380073
+2018380074,2018380074
+2018380075,2018380075
+2018380076,2018380076
+2018380077,2018380077
+2018380078,2018380078
+2018380079,2018380079
+2018380080,2018380080
+2018380081,2018380081
+2018380082,2018380082
+2018380083,2018380083
+2018380085,2018380085
+2018380086,2018380086
+2018380087,2018380087
+2018380088,2018380088
+2018380089,2018380089
+2018380090,2018380090
+2018380091,2018380091
+2018380092,2018380092
+2018380093,2018380093
+2018380094,2018380094
+2018380095,2018380095
+2018380096,2018380096
+2018380097,2018380097
+2018380098,2018380098
+2018380099,2018380099
+2018380100,2018380100
+2018380101,2018380101
+2018380102,2018380102
+2018380103,2018380103
+2018380105,2018380105
+2018380106,2018380106
+2018380107,2018380107
+2018380108,2018380108
+2018380109,2018380109
+2018380110,2018380110
+2018380111,2018380111
+2018380112,2018380112
+2018380113,2018380113
+2018380114,2018380114
+2018380115,2018380115
+2018380116,2018380116
+2018380117,2018380117
+2018380118,2018380118
+2018380119,2018380119
+2018380120,2018380120
+2018380121,2018380121
+2018380122,2018380122
+2018380123,2018380123
+2018380124,2018380124
+2018380125,2018380125
+2018380126,2018380126
+2018380127,2018380127
+2018380128,2018380128
+2018380129,2018380129
+2018380130,2018380130
+2018380131,2018380131
+2018380132,2018380132
+2018380133,2018380133
+2018380134,2018380134
+2018380135,2018380135
+2018380136,2018380136
+2018380137,2018380137
+2018380138,2018380138
+2018380139,2018380139
+2018380140,2018380140
+2018380141,2018380141
+2018380142,2018380142
+2018380143,2018380143
+2018380144,2018380144
+2018380145,2018380145
+2018380146,2018380146
+2018380147,2018380147
+2018380148,2018380148
+2018380149,2018380149
+2018380150,2018380150
+2018380151,2018380151
+2018380152,2018380152
+2018380153,2018380153
+2018380154,2018380154
+2018380155,2018380155
+2018380156,2018380156
+2018380157,2018380157
+2018380158,2018380158
+2018380159,2018380159
+2018380160,2018380160
+2018380161,2018380161
+2018380162,2018380162
+2018380163,2018380163
+2018380164,2018380164
+2018380165,2018380165
+2018380166,2018380166
+2018380167,2018380167
+2018380168,2018380168
+2018380169,2018380169
+2018380170,2018380170
+2018380171,2018380171
+2018380172,2018380172
+2018380173,2018380173
+2018380174,2018380174
+2018380175,2018380175
+2018380176,2018380176
+2018380177,2018380177
+2018380178,2018380178
+2018380179,2018380179
+2018380180,2018380180
+2018380181,2018380181
+2018380182,2018380182
+2018380183,2018380183
+2018380184,2018380184
+2018380185,2018380185
+2018380186,2018380186
+2018380187,2018380187
+2018380188,2018380188
+2018380189,2018380189
+2018380190,2018380190
+2018380191,2018380191
+2018380192,2018380192
+2018380193,2018380193
+2018380194,2018380194
+2018380195,2018380195
+2018380196,2018380196
+2018380197,2018380197
+2018380198,2018380198
+2018380199,2018380199
+2018380200,2018380200
+2018380201,2018380201
+2018380202,2018380202
+2018380203,2018380203
+2018380204,2018380204
+2018380205,2018380205
+2018380206,2018380206
+2018380207,2018380207
+2018380208,2018380208
+2018380210,2018380210
+2018380211,2018380211
+2018380212,2018380212
+2018380213,2018380213
+2018380214,2018380214
+2018380215,2018380215
+2018380216,2018380216
+2018380217,2018380217
+2018380218,2018380218
+2018380219,2018380219
+2018380220,2018380220
+2018380221,2018380221
+2018380222,2018380222
+2018380223,2018380223
+2018380224,2018380224
+2018380225,2018380225
+2018380226,2018380226
+2018380228,2018380228
+2018380229,2018380229
+2018380230,2018380230
+2018380231,2018380231
+2018380232,2018380232
+2018380233,2018380233
+2018380234,2018380234
+2018380236,2018380236
+2018380237,2018380237
+2018380238,2018380238
+2018380241,2018380241
+2018380243,2018380243
+2018380244,2018380244
+2018380245,2018380245
+2018380246,2018380246
+2018380247,2018380247
+2018380248,2018380248
+2018380250,2018380250
+2018380251,2018380251
+2018380252,2018380252
+2018380253,2018380253
+2018380254,2018380254
+2018380255,2018380255
+2018380256,2018380256
+2018380257,2018380257
+2018380258,2018380258
+2018380259,2018380259
+2018380260,2018380260
+2018380261,2018380261
+2018380262,2018380262
+2018380263,2018380263
+2018380264,2018380264
+2018380265,2018380265
+2018380266,2018380266
+2018380267,2018380267
+2018380268,2018380268
+2018380269,2018380269
+2018380270,2018380270
+2018380271,2018380271
+2018380272,2018380272
+2018380273,2018380273
+2018380274,2018380274
+2018380275,2018380275
+2018380276,2018380276
+2018380277,2018380277
+2018380278,2018380278
+2018380279,2018380279
+2018380280,2018380280
+2018380281,2018380281
+2018700001,2018700001
+2018700002,2018700002
+2018700003,2018700003
+2018700004,2018700004
+2018700005,2018700005
+2018700006,2018700006
+2018700007,2018700007
+2018700008,2018700008
+2018700009,2018700009
+2018700010,2018700010
+2018700011,2018700011
+2018700012,2018700012
+2018700013,2018700013
+2018700014,2018700014
+2018700015,2018700015
+2018700016,2018700016
+2018700017,2018700017
+2018700018,2018700018
+2018700019,2018700019
+2018700020,2018700020
+2018700021,2018700021
+2018700022,2018700022
+2018700023,2018700023
+2018700024,2018700024
+2018700025,2018700025
+2018700026,2018700026
+2018700027,2018700027
+2018700028,2018700028
+2018700029,2018700029
+2018700030,2018700030
+2018700031,2018700031
+2018700032,2018700032
+2018700033,2018700033
+2018700034,2018700034
+2018700035,2018700035
+2018700036,2018700036
+2018700037,2018700037
+2018700038,2018700038
+2018700039,2018700039
+2018700040,2018700040
+2018700041,2018700041
+2018700042,2018700042
+2018700043,2018700043
+2018700044,2018700044
+2018700045,2018700045
+2018700046,2018700046
+2018700047,2018700047
+2018700048,2018700048
+2018700049,2018700049
+2018700050,2018700050
+2018700051,2018700051
+2018700052,2018700052
+2018700053,2018700053
+2018700054,2018700054
+2018700055,2018700055
+2018700056,2018700056
+2018700057,2018700057
+2018700058,2018700058
+2018700059,2018700059
+2018700060,2018700060
+2018700061,2018700061
+2018700062,2018700062
+2018700063,2018700063
+2018700064,2018700064
+2018700065,2018700065
+2018700066,2018700066
+2018700067,2018700067
+2018700068,2018700068
+2018700069,2018700069
+2018700070,2018700070
+2018700071,2018700071
+2018700072,2018700072
+2018700073,2018700073
+2018700074,2018700074
+2018700075,2018700075
+2018700076,2018700076
+2018700077,2018700077
+2019010001,2019010001
+2019010002,2019010002
+2019010003,2019010003
+2019010004,040060
+2019010005,062758
+2019010006,2019010006
+2019010007,2019010007
+2019010009,2015060167
+2019010011,046040217
+2019010015,2013100401
+2019010016,2019010016
+2019010017,2019010017
+2019010018,2019010018
+2019010020,2019010020
+2019010021,2019010021
+2019010022,2019010022
+2019010023,2009100297
+2019010024,061082
+2019010025,2019010025
+2019010026,2018060019
+2019010029,2008300678
+2019010030,2019010030
+2019010031,2019010031
+2019010032,060620
+2019010033,2019010033
+2019010035,2019010035
+2019010036,060252
+2019010038,2009302296
+2019010039,2012100141
+2019010040,050592
+2019010041,2019010041
+2019010042,2007300083
+2019010043,2019010043
+2019010045,2019010045
+2019010046,2007300317
+2019010047,2019010047
+2019010049,2019010049
+2019010050,2019010050
+2019010052,2019010052
+2019010053,2010302629
+2019010055,2019010055
+2019010057,2019010057
+2019010058,2019010058
+2019010059,2019010059
+2019010060,2012200633
+2019010061,2008303177
+2019010062,2010202335
+2019010063,2019010063
+2019010066,2007300838
+2019010067,2019010067
+2019010069,2014100223
+2019010070,2008200217
+2019010071,2019010071
+2019010073,2019010073
+2019010075,2019010075
+2019010076,2019010076
+2019010077,2018060041
+2019010078,2011202075
+2019010079,2008301766
+2019010080,052219
+2019010083,063263
+2019010084,2019010084
+2019010085,2019010085
+2019010086,2019010086
+2019010087,2007100085
+2019010088,2019010088
+2019010089,2008200668
+2019010091,2019010091
+2019010092,2019010092
+2019010093,2007301463
+2019010096,2019010096
+2019010097,2019010097
+2019010099,2019010099
+2019010100,2019010100
+2019010102,2019010102
+2019010104,2019010104
+2019010105,2007300415
+2019010106,2019010106
+2019010107,2007300849
+2019010108,2019010108
+2019010109,2017060007
+2019010110,2019010110
+2019010111,2019010111
+2019010112,2019010112
+2019010113,2014100305
+2019010114,2007201440
+2019010116,2019010116
+2019010118,2007302770
+2019010119,042546
+2019010120,2007300585
+2019010121,2019010121
+2019010123,2019010123
+2019010124,2019010124
+2019010126,2019010126
+2019010127,2019010127
+2019010128,2019010128
+2019010129,2019010129
+2019010130,2019010130
+2019010131,2019010131
+2019010144,060190
+2019010146,2019010146
+2019010147,2019010147
+2019010148,2019010148
+2019010149,046070399
+2019010151,2007301506
+2019010152,2019010152
+2019010153,2007301142
+2019010154,2019010154
+2019010155,2019010155
+2019010156,2013100013
+2019010157,2015100100
+2019010158,2007300535
+2019010159,2019010159
+2019010164,2019010164
+2019010165,2019010165
+2019010167,2019010167
+2019010169,066090542
+2019010170,2019010170
+2019010171,2019010171
+2019010174,2019010174
+2019010175,2007301735
+2019010176,2019010176
+2019010177,2012200305
+2019010178,2019010178
+2019010179,2014100309
+2019010180,2019010180
+2019010181,2019010181
+2019010182,2019010182
+2019010183,2019010183
+2019010184,2019010184
+2019010185,2012100054
+2019010186,2019010186
+2019010187,2008301199
+2019010188,2007301045
+2019010189,2019010189
+2019010190,2019010190
+2019010191,2010301454
+2019010192,2019010192
+2019010194,061399
+2019010195,2019010195
+2019010196,2019010196
+2019010197,2019010197
+2019010198,2019010198
+2019010200,2019010200
+2019010201,2019010201
+2019010204,2019010204
+2019010205,2019010205
+2019010207,2008300530
+2019010208,2019010208
+2019010209,2019010209
+2019010210,2019010210
+2019010211,2019010211
+2019010212,2007301980
+2019010213,060042
+2019010214,2019010214
+2019010215,20170P0124
+2019010216,20170P0125
+2019010218,2019010218
+2019010219,2019010219
+2019010220,2012261980
+2019010221,2019010221
+2019010222,2019010222
+2019010223,2019010223
+2019010224,2019010224
+2019010227,042474
+2019010228,2019010228
+2019010229,060111
+2019010230,2019010230
+2019010231,2019010231
+2019010232,2019010232
+2019030008,2019030008
+2019030010,2007302502
+2019030012,2011200661
+2019030013,2019030013
+2019030014,2012100446
+2019030019,2019030019
+2019030027,2014100155
+2019030028,2019030028
+2019030034,2019030034
+2019030037,2019030037
+2019030044,2019030044
+2019030048,2019030048
+2019030051,2019030051
+2019030054,2019030054
+2019030056,2019030056
+2019030064,2009302760
+2019030065,2019030065
+2019030068,2019030068
+2019030072,2019030072
+2019030074,2019030074
+2019030081,2015100166
+2019030082,2012100085
+2019030090,2019030090
+2019030094,2019030094
+2019030095,061571
+2019030098,2019030098
+2019030101,2019030101
+2019030103,2019030103
+2019030115,2019030115
+2019030117,2019030117
+2019030122,2019030122
+2019030125,2019030125
+2019030132,050471
+2019030133,2019030133
+2019030134,2019030134
+2019030135,2019030135
+2019030136,2019030136
+2019030137,2019030137
+2019030138,2019030138
+2019030139,2019030139
+2019030140,2019030140
+2019030141,2019030141
+2019030142,2019030142
+2019030143,2019030143
+2019030145,2019030145
+2019030150,2019030150
+2019030160,2019030160
+2019030161,2019030161
+2019030162,2019030162
+2019030163,2019030163
+2019030166,2019030166
+2019030168,2019030168
+2019030172,2019030172
+2019030173,2019030173
+2019030193,2019030193
+2019030199,2007300609
+2019030202,2019030202
+2019030203,2009300155
+2019030206,2009302955
+2019030217,2019030217
+2019030225,2019030225
+2019030226,2019030226
+2019039001,2019039001
+2019039002,2019039002
+2019039003,2019039003
+2019060001,2019060001
+2019060002,2019060002
+2019060003,2019060003
+2019060004,2019060004
+2019060005,2019060005
+2019060006,2019060006
+2019060007,2019060007
+2019060008,2019010159
+2019060009,2019010106
+2019060010,2019060010
+2019060011,2019060011
+2019060012,2019060012
+2019060013,2019060013
+2019060014,2019060014
+2019060015,2019060015
+2019060016,2019060016
+2019060017,2019060017
+2019060018,2019060018
+2019060019,2019060019
+2019060020,2019060020
+2019060021,2013210906
+2019060022,2019060022
+2019060023,2019060023
+2019060024,2019060024
+2019060025,2019060025
+2019060026,2019060026
+2019060027,2019060027
+2019060028,2019060028
+2019060029,2019060029
+2019060030,2018030030
+2019060031,2019060031
+2019060032,2019060032
+2019060033,2019060033
+2019060034,2019060034
+2019060035,2019060035
+2019060036,2019060036
+2019060037,2019060037
+2019060038,2019060038
+2019060039,2019060039
+2019060040,2019060040
+2019060041,2019060041
+2019060042,2019060042
+2019060043,057040125
+2019060044,2019060044
+2019060045,2019060045
+2019060046,2019060046
+2019060047,2019060047
+2019060048,2019060048
+2019060049,2019060049
+2019060050,2019060050
+2019060051,2019060051
+2019060052,2019060052
+2019060053,2019060053
+2019060054,2019060054
+2019060055,2019060055
+2019060056,2019060056
+2019060057,2019010131
+2019060058,2019060058
+2019060059,2019060059
+2019060060,2019060060
+2019060061,20180P2163
+2019060062,2019060062
+2019060063,2019060063
+2019060064,2019060064
+2019060065,2019060065
+2019060066,2019060066
+2019060067,2019060067
+2019060068,2019060068
+2019060069,2019060069
+2019060070,2019060070
+2019060071,2019060071
+2019060072,2019060072
+2019070001,2016202480
+2019070002,2019070002
+2019070003,2019070003
+2019070004,2019070004
+2019070005,2019070005
+2019070006,2019070006
+2019070007,2019070007
+2019070008,2019070008
+2019070009,2019070009
+2019070010,2019070010
+2019070011,2019070011
+2019070012,20170P0839
+2019070013,2019070013
+2019070014,2016202494
+2019070015,2011300734
+2019070016,2019070016
+2019070017,2019070017
+2019070018,2019070018
+2019070019,2019070019
+2019070020,2019070020
+2019070021,2019070021
+2019070022,2019070022
+2019070023,2016260187
+2019070024,2019070024
+2019070025,2016261658
+2019070026,2019070026
+2019070027,2019070027
+2019070028,2019070028
+2019070029,2019070029
+2019070030,2019070030
+2019070031,2019070031
+2019070032,20160P0199
+2019070033,2016262693
+2019070034,2019070034
+2019070035,2019070035
+2019070036,2019070036
+2019070037,2019070037
+2019070038,2019070038
+2019070039,2019070039
+2019070040,2019070040
+2019070041,2019070041
+2019070042,2019070042
+2019070043,2019070043
+2019070044,2019070044
+2019070045,2019070045
+2019070046,2019070046
+2019070047,2019070047
+2019070048,2019070048
+2019070049,2019070049
+2019070050,2016261098
+2019070051,2019070051
+2019070052,2019070052
+2019070053,2019070053
+2019070054,2019070054
+2019070055,2016202495
+2019070056,2019070056
+2019070057,2019070057
+2019070058,2019070058
+2019070059,2019070059
+2019070060,2019070060
+2019070061,2017070177
+2019070062,2019070062
+2019070063,2019070063
+2019070064,2019070064
+2019070065,2019070065
+2019070066,053239
+2019070067,2019070067
+2019070068,2019070068
+2019070069,2019070069
+2019070070,2019070070
+2019070071,2019070071
+2019070072,2019070072
+2019070073,2019070073
+2019070074,2019070074
+2019070075,2019070075
+2019070076,2019070076
+2019070077,2015070114
+2019070078,2019070078
+2019070079,2019070079
+2019070080,2019070080
+2019070081,2019070081
+2019070082,2019070082
+2019070083,2019070083
+2019070084,2019070084
+2019070085,2019070085
+2019070086,2019070086
+2019070087,2019070087
+2019070088,2019070088
+2019070089,2019070089
+2019070090,2016070082
+2019070091,2019070091
+2019070092,2009202139
+2019070093,2019070093
+2019070094,2019070094
+2019070095,2019070095
+2019070097,2019070097
+2019070098,2019070098
+2019070099,2019070099
+2019070100,2019070100
+2019070101,2009301161
+2019070102,2019070102
+2019070103,2019070103
+2019070104,2018070045
+2019070105,2019070105
+2019070106,20140P0366
+2019070107,2019070107
+2019070108,2019070108
+2019070109,2019070109
+2019070110,2019070110
+2019070111,2019070111
+2019070112,2019070112
+2019070113,2019070113
+2019070114,2019070114
+2019070115,2019070115
+2019070116,2019070116
+2019070117,2018070078
+2019070118,2019070118
+2019070119,2019070119
+2019070120,2019070120
+2019070121,2019070121
+2019070122,2019070122
+2019070123,2019070123
+2019070124,20180P2125
+2019070125,066136969
+2019070126,2019070126
+2019070127,2019070127
+2019070128,2019070128
+2019070129,2019070129
+2019070130,2019070130
+2019070132,2019070132
+2019070133,2019070133
+2019070134,2019070134
+2019070135,2015302889
+2019070136,2019070136
+2019070137,2019070137
+2019070138,2019070138
+2019070139,2019070139
+2019070140,2019070140
+2019070141,2019070141
+2019070142,2019070142
+2019070143,2019070143
+2019070144,2019070144
+2019070145,2019070145
+2019070147,2019070147
+2019070148,2019070148
+2019070149,2019070149
+2019070150,2019070150
+2019070151,2019070151
+2019070153,2019070153
+2019070154,2019070154
+2019070155,2019070155
+2019070156,2019070156
+2019070157,2019070157
+2019070158,2019070158
+2019070159,2019070159
+2019070160,2019070160
+2019070162,2019070162
+2019070168,2019070168
+20190P0001,20190P0001
+20190P0002,20190P0002
+20190P0003,20190P0003
+20190P0004,20190P0004
+20190P0005,20190P0005
+20190P0006,20190P0006
+20190P0007,20190P0007
+20190P0008,20190P0008
+20190P0009,20190P0009
+20190P0010,20190P0010
+20190P0011,20190P0011
+20190P0012,20190P0012
+20190P0013,20190P0013
+20190P0014,20190P0014
+20190P0015,20190P0015
+20190P0016,20190P0016
+20190P0017,20190P0017
+20190P0018,20190P0018
+20190P0019,20190P0019
+20190P0020,20190P0020
+20190P0021,20190P0021
+20190P0022,20190P0022
+20190P0023,20190P0023
+20190P0024,20190P0024
+20190P0025,20190P0025
+20190P0026,20190P0026
+20190P0027,20190P0027
+20190P0028,20190P0028
+20190P0029,20190P0029
+20190P0030,20190P0030
+20190P0031,20190P0031
+20190P0032,20190P0032
+20190P0033,2015100100
+20190P0034,20190P0034
+20190P0035,2008301766
+20190P0036,20190P0036
+20190P0037,20190P0037
+20190P0038,20190P0038
+20190P0039,1986000007
+20190P0040,20190P0040
+20190P0041,20190P0041
+20190P0042,20190P0042
+20190P0043,20190P0043
+20190P0044,20190P0044
+20190P0045,20190P0045
+20190P0046,1991000057
+20190P0047,20190P0047
+20190P0048,20190P0048
+20190P0049,20190P0049
+20190P0050,20190P0050
+20190P0051,20190P0051
+20190P0052,20190P0052
+20190P0053,20190P0053
+20190P0054,20190P0054
+20190P0055,20190P0055
+20190P0056,20190P0056
+20190P0057,20190P0057
+20190P0058,20190P0058
+20190P0059,20190P0059
+20190P0060,20190P0060
+20190P0061,20190P0061
+20190P0062,20190P0062
+20190P0063,20190P0063
+20190P0064,20190P0064
+20190P0065,20190P0065
+20190P0066,20190P0066
+20190P0067,20190P0067
+20190P0068,20190P0068
+20190P0069,20190P0069
+20190P0070,20190P0070
+20190P0071,20190P0071
+20190P0072,20190P0072
+20190P0073,20190P0073
+20190P0074,20190P0074
+20190P0075,20190P0075
+20190P0076,20190P0076
+20190P0077,20190P0077
+20190P0078,20190P0078
+20190P0079,20190P0079
+20190P0080,20190P0080
+20190P0081,20190P0081
+20190P0082,20190P0082
+20190P0083,2011301773
+20190P0084,20190P0084
+20190P0085,20190P0085
+20190P0086,2018060073
+20190P0087,20190P0087
+20190P0088,20190P0088
+20190P0089,20190P0089
+20190P0090,20190P0090
+20190P0091,2012303112
+20190P0092,20190P0092
+20190P0093,20190P0093
+20190P0094,20190P0094
+20190P0095,20190P0095
+20190P0096,20190P0096
+20190P0097,20190P0097
+20190P0098,20190P0098
+20190P0099,20190P0099
+20190P0100,20190P0100
+20190P0101,20190P0101
+20190P0102,20190P0102
+20190P0103,20190P0103
+20190P0104,20190P0104
+20190P0105,2011303154
+20190P0106,20190P0106
+20190P0107,2019070034
+20190P0108,043301
+20190P0109,20190P0109
+20190P0110,20190P0110
+20190P0111,20200P0389
+20190P0112,20190P0112
+20190P0113,20190P0113
+20190P0114,20200P0381
+20190P0115,20190P0115
+20190P0116,20200P0378
+20190P0117,20190P0117
+20190P0118,20190P0118
+20190P0119,20190P0119
+20190P0120,20200P0383
+20190P0121,20200P0382
+20190P0122,20190P0122
+20190P0123,20190P0123
+20190P0124,20190P0124
+20190P0125,20190P0125
+20190P0126,2013070047
+20190P0127,20190P0127
+20190P0128,20190P0128
+20190P0129,20190P0129
+20190P0130,20190P0130
+20190P0131,20190P0131
+20190P0132,20190P0132
+20190P0133,20190P0133
+20190P0134,20190P0134
+20190P0135,20190P0135
+20190P0136,20190P0136
+20190P0137,20190P0137
+20190P0138,20190P0138
+20190P0139,20190P0139
+20190P0140,20190P0140
+20190P0141,20190P0141
+20190P0142,2012070070
+20190P0143,20190P0143
+20190P0144,20190P0144
+20190P0145,20190P0145
+20190P0146,20190P0146
+20190P0147,20190P0147
+20190P0148,20190P0148
+20190P0149,20190P0149
+20190P0150,20190P0150
+20190P0151,20190P0151
+20190P0152,20190P0152
+20190P0153,20190P0153
+20190P0154,20190P0154
+20190P0155,20190P0155
+20190P0156,20190P0156
+20190P0157,20190P0157
+20190P0158,20190P0158
+20190P0159,20190P0159
+20190P0160,20190P0160
+20190P0161,20190P0161
+20190P0162,20190P0162
+20190P0163,20190P0163
+20190P0164,20190P0164
+20190P0165,20190P0165
+20190P0166,20190P0166
+20190P0167,20190P0167
+20190P0168,20190P0168
+20190P0169,20190P0169
+20190P0170,20190P0170
+20190P0171,20190P0171
+20190P0172,20190P0172
+20190P0173,20190P0173
+20190P0174,20190P0174
+20190P0175,20190P0175
+20190P0176,20190P0176
+20190P0177,20190P0177
+20190P0178,20190P0178
+20190P0179,20200P0191
+20190P0180,20190P0180
+20190P0181,20200P0081
+20190P0182,20200P0180
+20190P0183,20180P0450
+20190P0184,20190P0184
+20190P0185,20190P0185
+20190P0186,20190P0186
+20190P0187,20190P0187
+20190P0188,20190P0188
+20190P0189,20190P0189
+20190P0190,20190P0190
+20190P0191,20190P0191
+20190P0192,20190P0192
+20190P0193,20190P0193
+20190P0194,20190P0194
+20190P0195,20190P0195
+20190P0196,20190P0196
+20190P0197,20190P0197
+20190P0198,20190P0198
+20190P0199,20190P0199
+20190P0200,20190P0200
+20190P0201,20190P0201
+20190P0202,20190P0202
+20190P0203,20190P0203
+20190P0204,20190P0204
+20190P0205,20190P0205
+20190P0206,20190P0206
+20190P0207,20190P0207
+20190P0208,20190P0208
+20190P0209,20190P0209
+20190P0210,20190P0210
+20190P0211,20190P0211
+20190P0212,20190P0212
+20190P0213,20190P0213
+20190P0214,20190P0214
+20190P0215,20190P0215
+20190P0216,20190P0216
+20190P0217,20190P0217
+20190P0218,20190P0218
+20190P0219,20190P0219
+20190P0220,20190P0220
+20190P0221,20190P0221
+20190P0222,20190P0222
+20190P0223,20190P0223
+20190P0224,20190P0224
+20190P0225,20190P0225
+20190P0226,20190P0226
+20190P0227,20190P0227
+20190P0228,20190P0228
+20190P0229,20190P0229
+20190P0230,20190P0230
+20190P0231,20190P0231
+20190P0232,20190P0232
+20190P0233,20190P0233
+20190P0234,20190P0234
+20190P0235,20190P0235
+20190P0236,20190P0236
+20190P0237,20190P0237
+20190P0238,20190P0238
+20190P0239,20190P0239
+20190P0240,20190P0240
+20190P0241,20190P0241
+20190P0242,20190P0242
+20190P0243,20190P0243
+20190P0244,20190P0244
+20190P0245,20190P0245
+20190P0246,20190P0246
+20190P0247,20190P0247
+20190P0248,20190P0248
+20190P0249,20190P0249
+20190P0250,20190P0250
+20190P0251,20190P0251
+20190P0252,20190P0252
+20190P0253,20190P0253
+20190P0254,20190P0254
+20190P0255,20190P0255
+20190P0256,20190P0256
+20190P0257,20190P0257
+20190P0258,20190P0258
+20190P0259,20190P0259
+20190P0260,20190P0260
+20190P0261,20190P0261
+20190P0262,20190P0262
+20190P0263,20190P0263
+20190P0264,20190P0264
+20190P0265,20190P0265
+20190P0266,20190P0266
+20190P0267,20190P0267
+20190P0268,20190P0268
+20190P0269,20190P0269
+20190P0270,20190P0270
+20190P0271,20190P0271
+20190P0272,20190P0272
+20190P0273,20190P0273
+20190P0274,20190P0274
+20190P0275,20190P0275
+20190P0276,20190P0276
+20190P0277,20190P0277
+20190P0278,20190P0278
+20190P0279,20190P0279
+20190P0280,20190P0280
+20190P0281,20190P0281
+20190P0282,20190P0282
+20190P0283,20190P0283
+20190P0284,20190P0284
+20190P0285,20190P0285
+20190P0286,20190P0286
+20190P0287,20190P0287
+20190P0288,20190P0288
+20190P0289,20190P0289
+20190P0290,20190P0290
+20190P0291,20190P0291
+20190P0292,20190P0292
+20190P0293,20190P0293
+20190P0294,20190P0294
+20190P0295,20190P0295
+20190P0296,20190P0296
+20190P0297,20190P0297
+20190P0298,20190P0298
+20190P0299,20190P0299
+20190P0300,20190P0300
+20190P0301,20190P0301
+20190P0302,20190P0302
+20190P0303,20190P0303
+20190P0304,20190P0304
+20190P0305,20190P0305
+20190P0306,20190P0306
+20190P0307,20190P0307
+20190P0308,20190P0308
+20190P0309,20190P0309
+20190P0310,20190P0310
+20190P0311,20190P0311
+20190P0312,20190P0312
+20190P0313,20190P0313
+20190P0314,20190P0314
+20190P0315,20190P0315
+20190P0316,20190P0316
+20190P0317,20190P0317
+20190P0318,20190P0318
+20190P0319,20190P0319
+20190P0320,20190P0320
+20190P0321,20190P0321
+20190P0322,20190P0322
+20190P0323,20190P0323
+20190P0324,20190P0324
+20190P0325,20190P0325
+20190P0326,20190P0326
+20190P0327,20190P0327
+20190P0328,20190P0328
+20190P0329,20190P0329
+20190P0330,20190P0330
+20190P0331,20190P0331
+20190P0332,20190P0332
+20190P0333,20190P0333
+20190P0334,20190P0334
+20190P0335,20190P0335
+20190P0336,20190P0336
+20190P0337,20190P0337
+20190P0338,20190P0338
+20190P0339,20190P0339
+20190P0340,20190P0340
+20190P0341,20190P0341
+20190P0342,20190P0342
+20190P0343,20190P0343
+20190P0344,20190P0344
+20190P0345,20190P0345
+20190P0346,20190P0346
+20190P0347,20190P0347
+20190P0348,20190P0348
+20190P0349,20190P0349
+20190P0350,20190P0350
+20190P0351,20190P0351
+20190P0352,20190P0352
+20190P0353,20190P0353
+20190P0354,20190P0354
+20190P0355,20190P0355
+20190P0356,20190P0356
+20190P0357,20190P0357
+20190P0358,20190P0358
+20190P0359,20190P0359
+20190P0360,20190P0360
+20190P0361,20190P0361
+20190P0362,20190P0362
+20190P0363,20190P0363
+20190P0364,20180P0423
+20190P0365,20190P0365
+20190P0366,20190P0366
+20190P0367,20190P0367
+20190P0368,20190P0368
+20190P0369,20190P0369
+20190P0370,20190P0370
+20190P0371,20190P0371
+20190P0372,20190P0372
+20190P0373,20190P0373
+20190P0374,20190P0374
+20190P0375,20190P0375
+20190P0376,20190P0376
+20190P0377,20190P0377
+20190P0378,20190P0378
+20190P0379,20190P0379
+20190P0380,20190P0380
+20190P0381,20190P0381
+20190P0382,20190P0382
+20190P0383,20190P0383
+20190P0384,20190P0384
+20190P0385,20190P0385
+20190P0386,20190P0386
+20190P0387,20190P0387
+20190P0388,20190P0388
+20190P0389,20190P0389
+20190P0390,20190P0390
+20190P0391,20190P0391
+20190P0392,20190P0392
+20190P0393,20190P0393
+20190P0394,20190P0394
+20190P0395,20190P0395
+20190P0396,20190P0396
+20190P0397,20190P0397
+20190P0398,20190P0398
+20190P0399,20190P0399
+20190P0400,20190P0400
+20190P0401,20190P0401
+20190P0402,20190P0402
+20190P0403,20190P0403
+20190P0404,20190P0404
+20190P0405,20190P0405
+20190P0406,20190P0406
+20190P0407,20190P0407
+20190P0408,20190P0408
+20190P0409,20190P0409
+20190P0410,20190P0410
+20190P0411,20190P0411
+20190P0412,20190P0412
+20190P0413,20190P0413
+20190P0414,20190P0414
+20190P0415,20190P0415
+20190P0416,20190P0416
+20190P0417,20190P0417
+20190P0418,20190P0418
+20190P0419,2011300616
+20190P0420,20190P0420
+20190P0421,20190P0421
+20190P0422,20190P0422
+20190P0423,20190P0423
+20190P0424,20190P0424
+20190P0425,20190P0425
+20190P0426,20190P0426
+20190P0427,2012070008
+20190P0428,20190P0428
+20190P0429,20190P0429
+20190P0430,20190P0430
+20190P0431,20190P0431
+20190P0432,20190P0432
+20190P0433,20190P0433
+20190P0434,20190P0434
+20190P0435,20190P0435
+20190P0436,20190P0436
+20190P0437,20190P0437
+20190P0438,20190P0438
+20190P0439,20190P0439
+20190P0440,20190P0440
+20190P0441,20190P0441
+20190P0442,20190P0442
+20190P0443,20190P0443
+20190P0444,20190P0444
+20190P0445,20190P0445
+20190P0446,20190P0446
+20190P0447,20190P0447
+20190P0448,20190P0448
+20190P0449,20190P0449
+20190P0450,20190P0450
+20190P0451,20190P0451
+20190P0452,20190P0452
+20190P0453,20190P0453
+20190P0454,20190P0454
+20190P0455,20190P0455
+20190P0456,20190P0456
+20190P0457,20190P0457
+20190P0458,20190P0458
+20190P0459,2016070003
+20190P0460,20190P0460
+20190P0461,20190P0461
+20190P0462,20190P0462
+20190P0463,20190P0463
+20190P0464,20190P0464
+20190P0465,20190P0465
+20190P0466,20190P0466
+20190P0467,2007201741
+20190P0468,20190P0468
+20190P0469,20190P0469
+20190P0470,20190P0470
+20190P0471,20190P0471
+20190P0472,20190P0472
+20190P0473,2016202690
+20190P0474,20190P0474
+20190P0475,20190P0475
+20190P0476,20190P0476
+20190P0477,20190P0477
+20190P0478,20190P0478
+20190P0479,20190P0479
+20190P0480,20190P0480
+20190P0481,2013100572
+20190P0482,20190P0482
+20190P0483,20190P0483
+20190P0484,20190P0484
+20190P0485,20190P0485
+20190P0486,20190P0486
+20190P0487,20190P0487
+20190P0488,20190P0488
+20190P0489,20190P0489
+20190P0490,20200P0420
+20190P0491,20190P0491
+20190P0492,20190P0492
+20190P0493,20190P0493
+20190P0494,20190P0494
+20190P0495,20190P0495
+20190P0496,20200P0454
+20190P0497,20190P0497
+20190P0498,20190P0498
+20190P0499,20190P0499
+20190P0500,20190P0500
+20190P0501,20200P0447
+20190P0502,20190P0502
+20190P0503,20190P0503
+20190P0504,20190P0504
+20190P0505,20190P0505
+20190P0506,20190P0506
+20190P0507,20190P0507
+20190P0508,20190P0508
+20190P0509,20190P0509
+20190P0510,20190P0510
+20190P0511,20190P0511
+20190P0512,20190P0512
+20190P0513,20190P0513
+20190P0514,20200P0479
+20190P0515,20190P0515
+20190P0516,20190P0516
+20190P0517,2019070084
+20190P0518,20190P0518
+20190P0519,20190P0519
+20190P0520,20190P0520
+20190P0521,20190P0521
+20190P0522,20190P0522
+20190P0523,20190P0523
+20190P0524,20190P0524
+20190P0525,20190P0525
+20190P0526,20190P0526
+20190P0527,20190P0527
+20190P0528,20190P0528
+20190P0529,20190P0529
+20190P0530,20190P0530
+20190P0531,20190P0531
+20190P0532,20190P0532
+20190P0533,20190P0533
+20190P0534,20190P0534
+20190P0535,20190P0535
+20190P0536,20190P0536
+20190P0537,20190P0537
+20190P0538,20190P0538
+20190P0539,20190P0539
+20190P0540,20190P0540
+20190P0541,20190P0541
+20190P0542,20190P0542
+20190P0543,20190P0543
+20190P0544,20190P0544
+20190P0545,20190P0545
+20190P0546,20190P0546
+20190P0547,20190P0547
+20190P0548,2014202641
+20190P0549,2012303192
+20190P0550,20190P0550
+20190P0551,20190P0551
+20190P0552,20190P0552
+20190P0553,20190P0553
+20190P0554,20190P0554
+20190P0555,20190P0555
+20190P0556,2008200490
+20190P0557,20190P0557
+20190P0558,20190P0558
+20190P0559,20190P0559
+20190P0560,20190P0560
+20190P0561,2007200650
+20190P0562,20190P0562
+20190P0563,20190P0563
+20190P0564,20190P0564
+20190P0565,20190P0565
+20190P0566,20190P0566
+20190P0567,20190P0567
+20190P0568,20190P0568
+20190P0569,20190P0569
+20190P0570,20190P0570
+20190P0571,20190P0571
+20190P0572,20190P0572
+20190P0573,20190P0573
+20190P0574,20190P0574
+20190P0575,20190P0575
+20190P0576,20190P0576
+20190P0577,20190P0577
+20190P0578,2010301735
+20190P0579,20190P0579
+20190P0580,20190P0580
+20190P0581,20190P0581
+20190P0582,20190P0582
+20190P0583,20190P0583
+20190P0584,20190P0584
+20190P0585,20190P0585
+20190P0586,20190P0586
+20190P0587,20190P0587
+20190P0588,20190P0588
+20190P0589,20190P0589
+20190P0590,20190P0590
+20190P0591,20190P0591
+20190P0592,2009100018
+20190P0593,20190P0593
+20190P0594,20190P0594
+20190P0595,20190P0595
+20190P0596,20190P0596
+20190P0597,20190P0597
+20190P0598,20190P0598
+20190P0599,20190P0599
+20190P0600,20190P0600
+20190P0601,20190P0601
+20190P0602,20190P0602
+20190P0603,046020099
+20190P0604,20190P0604
+20190P0605,20190P0605
+20190P0606,20190P0606
+20190P0607,20190P0607
+20190P0608,20190P0608
+20190P0609,20190P0609
+20190P0610,20190P0610
+20190P0611,20190P0611
+20190P0612,20190P0612
+20190P0613,20190P0613
+20190P0614,20190P0614
+20190P0615,20190P0615
+20190P0616,20190P0616
+20190P0617,20190P0617
+20190P0618,20190P0618
+20190P0619,20190P0619
+20190P0620,2007300198
+20190P0621,20190P0621
+20190P0622,20190P0622
+20190P0623,20190P0623
+20190P0624,20190P0624
+20190P0625,20190P0625
+20190P0626,20190P0626
+20190P0627,20190P0627
+20190P0628,20190P0628
+20190P0629,20190P0629
+20190P0630,2013201903
+20190P0631,20190P0631
+20190P0632,20190P0632
+20190P0633,20190P0633
+20190P0634,2010201464
+20190P0635,20190P0635
+20190P0636,20190P0636
+20190P0637,20190P0637
+20190P0638,20190P0638
+20190P0639,20190P0639
+20190P0640,20190P0640
+20190P0641,20190P0641
+20190P0642,20190P0642
+20190P0643,20190P0643
+20190P0644,20190P0500
+20190P0645,20190P0645
+20190P0646,20190P0646
+20190P0647,20190P0647
+20190P0648,20190P0648
+20190P0649,20190P0649
+20190P0650,20190P0650
+20190P0651,20190P0651
+20190P0652,20190P0652
+20190P0653,20190P0653
+20190P0654,20190P0654
+20190P0655,20190P0655
+20190P0656,20190P0656
+20190P0657,20190P0657
+20190P0658,20190P0658
+20190P0659,20190P0659
+20190P0660,20190P0660
+20190P0661,20190P0661
+20190P0662,20190P0662
+20190P0663,20190P0663
+20190P0664,20190P0664
+20190P0665,20190P0665
+20190P0666,2009302159
+20190P0667,20190P0667
+20190P0668,20190P0668
+20190P0669,20190P0669
+20190P0670,20190P0670
+20190P0671,20190P0671
+20190P0672,20190P0672
+20190P0673,20190P0673
+20190P0674,20190P0674
+20190P0675,20190P0675
+20190P0676,20190P0676
+20190P0677,20190P0677
+20190P0678,20190P0678
+20190P0679,20190P0679
+20190P0680,20190P0680
+20190P0681,20190P0681
+20190P0682,20190P0682
+20190P0683,20190P0683
+20190P0684,20190P0684
+20190P0685,20190P0685
+20190P0686,20190P0686
+20190P0687,20190P0687
+20190P0688,20190P0688
+20190P0689,2013212161
+20190P0690,20190P0690
+20190P0691,2010300526
+20190P0692,20190P0692
+20190P0693,2019010214
+20190P0694,20190P0694
+20190P0695,20190P0695
+20190P0696,2019010218
+20190P0697,20190P0697
+20190P0698,20190P0698
+20190P0699,20190P0699
+20190P0700,20190P0700
+20190P0701,20190P0701
+20190P0702,20190P0702
+20190P0703,20190P0703
+20190P0704,2013202625
+20190P0705,20190P0705
+20190P0706,20190P0706
+20190P0707,20190P0707
+20190P0708,20190P0708
+20190P0709,20190P0709
+20190P0710,20190P0710
+20190P0711,20190P0711
+20190P0712,20190P0712
+20190P0713,20190P0713
+20190P0714,20190P0714
+20190P0715,20190P0715
+20190P0716,20190P0716
+20190P0717,20190P0717
+20190P0718,20190P0718
+20190P0719,20190P0719
+20190P0720,20190P0720
+20190P0721,20190P0721
+20190P0722,20190P0722
+20190P0723,20190P0723
+20190P0724,046046192
+20190P0725,20190P0725
+20190P0726,20190P0726
+20190P0727,20190P0727
+20190P0728,20190P0728
+20190P0729,20190P0729
+20190P0730,20190P0730
+20190P0731,20190P0731
+20190P0732,20190P0732
+20190P0733,20190P0733
+20190P0734,20190P0734
+20190P0735,20190P0735
+20190P0736,2010201759
+20190P0737,20190P0737
+20190P0738,20190P0738
+20190P0739,20190P0739
+20190P0740,20190P0740
+20190P0741,1989000036
+20190P0742,20190P0742
+20190P0743,20190P0743
+20190P0744,20190P0744
+20190P0745,20190P0745
+20190P0746,20190P0746
+20190P0747,20190P0747
+20190P0748,20190P0748
+20190P0749,20190P0749
+20190P0750,20190P0750
+20190P0751,20190P0751
+20190P0752,20190P0752
+20190P0753,20190P0753
+20190P0754,20190P0754
+20190P0755,20190P0755
+20190P0756,20190P0756
+20190P0757,20190P0757
+20190P0758,20190P0758
+20190P0759,20190P0759
+20190P0760,20190P0760
+20190P0761,20190P0761
+20190P0762,20190P0762
+20190P0763,20190P0763
+20190P0764,20190P0764
+20190P0765,20190P0765
+20190P0766,20190P0766
+20190P0767,2008301637
+20190P0768,20190P0768
+20190P0769,20190P0769
+20190P0770,20190P0770
+20190P0771,20190P0771
+20190P0772,20190P0772
+20190P0773,20190P0773
+20190P0774,20190P0774
+20190P0775,2016070078
+20190P0776,20190P0776
+20190P0777,20190P0777
+20190P0778,20190P0778
+20190P0779,20190P0779
+20190P0780,20190P0780
+20190P0781,20190P0781
+20190P2377,20190P2377
+2019100001,2019100001
+2019100002,2019100002
+2019100003,2012300155
+2019100004,2012300410
+2019100005,2012300359
+2019100006,2012300406
+2019100007,2019100007
+2019100008,2016201930
+2019100009,2012301872
+2019100010,2012300152
+2019100011,2019100011
+2019100012,2012302762
+2019100013,2012300398
+2019100014,2013300267
+2019100015,2008300383
+2019100016,2019100016
+2019100017,2013301789
+2019100018,2009300363
+2019100019,2012300272
+2019100020,2019100020
+2019100021,2011300074
+2019100022,2016200128
+2019100023,2017200099
+2019100024,2017200068
+2019100025,2016260182
+2019100026,2011303366
+2019100027,2015260990
+2019100028,2012302633
+2019100029,2012301302
+2019100030,2013301939
+2019100031,2012300164
+2019100032,2012300097
+2019100033,2019100033
+2019100034,2012300523
+2019100035,2019100035
+2019100036,2012300111
+2019100037,2012300484
+2019100038,2013300522
+2019100039,2019100039
+2019100040,2019100040
+2019100041,2016260335
+2019100042,2012301317
+2019100043,2012300462
+2019100044,2019100044
+2019100045,2012300452
+2019100046,2008302735
+2019100047,2016200304
+2019100048,2016200297
+2019100049,2017200333
+2019100050,2010302057
+2019100051,2013300668
+2019100052,2019100052
+2019100053,2016260324
+2019100054,2016260509
+2019100055,2016200404
+2019100056,2019100056
+2019100057,2019100057
+2019100058,2013300815
+2019100059,2016200368
+2019100060,2016260464
+2019100061,2011300684
+2019100062,2016200398
+2019100063,2019100063
+2019100064,2016200402
+2019100065,2016260485
+2019100066,2007250004
+2019100067,2013300890
+2019100068,2012300812
+2019100069,2016200385
+2019100070,2016260487
+2019100071,2013300913
+2019100072,2016200420
+2019100073,2012300639
+2019100074,2016200288
+2019100075,2016200399
+2019100076,2012300668
+2019100077,2013200409
+2019100078,2016200448
+2019100079,2017200462
+2019100080,2017200623
+2019100081,2016200668
+2019100082,2017200676
+2019100083,2016200611
+2019100084,2016200525
+2019100085,2019100085
+2019100086,2017200631
+2019100087,2012300107
+2019100088,2012300830
+2019100089,2016200567
+2019100090,2016200669
+2019100091,2018200662
+2019100092,2016200536
+2019100093,2016200539
+2019100094,2016260707
+2019100095,2013301064
+2019100096,2016200550
+2019100097,2013301076
+2019100098,2017200637
+2019100099,2019100099
+2019100100,2016200554
+2019100101,2016260728
+2019100102,2016201986
+2019100103,2019100103
+2019100104,2013301142
+2019100105,2017200634
+2019100106,2013300983
+2019100107,2016260729
+2019100108,2016201988
+2019100109,2016200574
+2019100110,2016200577
+2019100111,2016201990
+2019100112,2016200075
+2019100113,2016260730
+2019100114,2019100114
+2019100115,2013301100
+2019100116,2012300998
+2019100117,2016260751
+2019100118,2017200718
+2019100119,2016200600
+2019100120,2019100120
+2019100121,2016200562
+2019100122,2017200648
+2019100123,2019100123
+2019100124,2016200606
+2019100125,2016260679
+2019100126,2016260683
+2019100127,2012300933
+2019100128,2016200609
+2019100129,2012300987
+2019100130,2019100130
+2019100131,2016200666
+2019100132,2013301056
+2019100133,2012300967
+2019100134,2019100134
+2019100135,2016200631
+2019100136,2016260708
+2019100137,2016200639
+2019100138,2017200775
+2019100139,2017200777
+2019100140,2017200779
+2019100141,2013301068
+2019100142,2013301072
+2019100143,2012300911
+2019100144,2016200658
+2019100145,2016200077
+2019100146,2012300974
+2019100147,2017200663
+2019100148,2016260748
+2019100149,2017200667
+2019100150,2019100150
+2019100151,2019100151
+2019100152,2017201947
+2019100153,2010201161
+2019100154,2012301132
+2019100155,2019100155
+2019100156,2019100156
+2019100157,2012301391
+2019100158,2019100158
+2019100159,2009301193
+2019100160,2016200814
+2019100161,2019100161
+2019100162,2016260676
+2019100163,2019100163
+2019100164,2013301442
+2019100165,2012301154
+2019100166,2012301259
+2019100167,2011301063
+2019100168,2016010103
+2019100169,2016260980
+2019100170,2016200878
+2019100171,2017201027
+2019100172,2013301327
+2019100173,2016261009
+2019100174,2017201052
+2019100175,2016200891
+2019100176,2016200928
+2019100177,2013301150
+2019100178,2012301053
+2019100179,2013301169
+2019100180,2019100180
+2019100181,2012302674
+2019100182,2014200732
+2019100183,2019100183
+2019100184,2012301422
+2019100185,2017201228
+2019100186,2017201201
+2019100187,2016261093
+2019100188,2016261079
+2019100189,2019100189
+2019100190,2019100190
+2019100191,2016261097
+2019100192,2016261099
+2019100193,2009302769
+2019100194,2008302657
+2019100195,2016201062
+2019100196,2019100196
+2019100197,2012301645
+2019100198,2013301775
+2019100199,2013301668
+2019100200,2017201355
+2019100201,2016201165
+2019100202,2016201184
+2019100203,2016201191
+2019100204,2013301751
+2019100205,2017201319
+2019100206,2019100206
+2019100207,2017201367
+2019100208,2017203308
+2019100209,2013301720
+2019100210,2012301584
+2019100211,2016201185
+2019100212,2013301731
+2019100213,2019100213
+2019100214,2012301604
+2019100215,2012301644
+2019100216,2012301700
+2019100217,2013301785
+2019100218,2016200549
+2019100219,2017201459
+2019100220,2016201285
+2019100221,2016201349
+2019100222,2016201329
+2019100223,2012301809
+2019100224,2012301823
+2019100225,2019100225
+2019100226,2012301830
+2019100227,2019100227
+2019100228,2012302728
+2019100229,2012302263
+2019100230,2016201302
+2019100231,2019100231
+2019100232,2013302057
+2019100233,2016261393
+2019100234,2019100234
+2019100235,2019100235
+2019100236,2018100183
+2019100237,2016201350
+2019100238,2019100238
+2019100239,2012302001
+2019100240,2016261378
+2019100241,2019100241
+2019100242,2016200363
+2019100243,056020084
+2019100244,2016261618
+2019100245,2012302197
+2019100246,2016260480
+2019100247,2012302178
+2019100248,2019100248
+2019100249,2019100249
+2019100250,2017201815
+2019100251,2016261652
+2019100252,2017201716
+2019100253,2012302207
+2019100254,2012302729
+2019100255,2012302097
+2019100256,2016201546
+2019100257,2012302272
+2019100258,2012300549
+2019100259,2016200793
+2019100260,2017202144
+2019100261,2016201544
+2019100262,2014201550
+2019100263,2016201594
+2019100264,2019100264
+2019100265,2016201483
+2019100266,2019100266
+2019100267,2017201663
+2019100268,2013300726
+2019100269,2012302088
+2019100270,2019100270
+2019100271,2007303053
+2019100272,20180P2154
+2019100273,066080396
+2019100274,2019100274
+2019100275,2012303524
+2019100276,2019100276
+2019100277,2017201948
+2019100278,2019100278
+2019100279,2016260325
+2019100280,2017201918
+2019100281,2012300062
+2019100282,2019100282
+2019100283,2007201799
+2019100284,2016201248
+2019100285,2012303529
+2019100286,2016261823
+2019100287,2019100287
+2019100288,2012302582
+2019100289,2008303470
+2019100290,066104070
+2019100291,2009301226
+2019100292,2017201941
+2019100293,067100172
+2019100294,2011300070
+2019100295,2012302362
+2019100296,2019100296
+2019100297,2019100297
+2019100298,2019100298
+2019100299,2019100299
+2019100300,2019100300
+2019100301,2016201891
+2019100302,2012201835
+2019100303,2013302723
+2019100304,2016201849
+2019100305,2019100305
+2019100306,2012302638
+2019100307,2013302739
+2019100308,2012302627
+2019100309,2017202162
+2019100310,2016201884
+2019100311,2016201894
+2019100312,2015201896
+2019100313,2012302719
+2019100314,2019100314
+2019100315,2016201889
+2019100316,2016201893
+2019100317,2016201898
+2019100318,2013302860
+2019100319,2016260686
+2019100320,2019100320
+2019100321,2017202213
+2019100322,2017202210
+2019100323,2013261979
+2019100324,2014201974
+2019100325,2017202207
+2019100326,2016202006
+2019100327,2017202208
+2019100328,2016201931
+2019100329,2009302997
+2019100330,2017202294
+2019100331,2019100331
+2019100332,2016262042
+2019100333,2008302982
+2019100334,2016201937
+2019100335,2019100335
+2019100336,2016262017
+2019100337,2013302870
+2019100338,2013302806
+2019100339,2011302865
+2019100340,2016262023
+2019100341,2012302799
+2019100342,2019100342
+2019100343,2011302815
+2019100344,2012302726
+2019100345,2013302831
+2019100346,2017202258
+2019100347,2017202259
+2019100348,2016262038
+2019100349,2016201999
+2019100350,2016201984
+2019100351,2016202679
+2019100352,2013302940
+2019100353,2016201936
+2019100354,2019100354
+2019100355,2016202053
+2019100356,2019100356
+2019100357,2019100357
+2019100358,2019100358
+2019100359,2019100359
+2019100360,2016202100
+2019100361,2019100361
+2019100362,2016202068
+2019100363,2016262131
+2019100364,2016202071
+2019100365,2011303124
+2019100366,2019100366
+2019100367,2007200834
+2019100368,2019100368
+2019100369,2019100369
+2019100370,2017203274
+2019100371,2016202675
+2019100372,2017203304
+2019100373,2013303572
+2019100374,2017203280
+2019100375,2013303569
+2019100376,2016202665
+2019100377,2009302931
+2019100378,2017070173
+2019100379,2011303645
+2019100380,2016262696
+2019100381,2019100381
+2019100382,2019100382
+2019100383,2001000044
+2019100384,2016202486
+2019100385,2019100385
+2019100386,2019100386
+2019100387,2012202390
+2019100388,2016010106
+2019100389,2019100389
+2019100390,2016202483
+2019100391,2012303281
+2019100392,2019100392
+2019100393,2019100393
+2019100394,2019100394
+2019100395,2015300398
+2019100396,2015300458
+2019100397,2015300382
+2019100398,2019100398
+2019100399,2014260194
+2019100400,2019100400
+2019100401,2019100401
+2019100402,2019100402
+2019100403,2019100403
+2019100404,2010300193
+2019100405,2015300013
+2019100406,2014303099
+2019100407,2014300425
+2019100408,2014300270
+2019100409,2014300468
+2019100410,2019100410
+2019100411,2019100411
+2019100412,2019100412
+2019100413,2014300012
+2019100414,2014300256
+2019100415,2015300453
+2019100416,2012300353
+2019100417,2014300330
+2019100418,2019100418
+2019100419,2019100419
+2019100420,2015300452
+2019100421,2019100421
+2019100422,2014300014
+2019100423,2015301057
+2019100424,2015300138
+2019100425,2015300025
+2019100426,2015300043
+2019100427,2015300454
+2019100428,2019100428
+2019100429,2008300302
+2019100430,2019100430
+2019100431,2010300326
+2019100432,2018200141
+2019100433,2014300155
+2019100434,2013300275
+2019100435,2014300024
+2019100436,2018200126
+2019100437,2014300469
+2019100438,2019100438
+2019100439,2019100439
+2019100440,2011302096
+2019100441,2013250122
+2019100442,2019100442
+2019100443,2015300023
+2019100444,2019100444
+2019100445,2019100445
+2019100446,2015300467
+2019100447,2015300473
+2019100448,2007010095
+2019100449,2019100449
+2019100450,2019100450
+2019100451,2016201844
+2019100452,2019100452
+2019100453,2019100453
+2019100454,2019100454
+2019100455,2019100455
+2019100456,2018200336
+2019100457,2018200340
+2019100458,2019100458
+2019100459,2019100459
+2019100460,2019100460
+2019100461,2019100461
+2019100462,2018201329
+2019100463,2019100463
+2019100464,2019100464
+2019100465,2019100465
+2019100466,2019100466
+2019100467,2015300739
+2019100468,2019100468
+2019100469,2019100469
+2019100470,2019100470
+2019100471,2013300815
+2019100472,2015300200
+2019100473,2015300716
+2019100474,2015300712
+2019100475,2015300713
+2019100476,2015300144
+2019100477,2015300134
+2019100478,2015300974
+2019100479,2019100479
+2019100480,2011300804
+2019100481,2018200559
+2019100482,2015300638
+2019100483,2015300651
+2019100484,2015300650
+2019100485,2015300661
+2019100486,2015300619
+2019100487,2019100487
+2019100488,2019100488
+2019100489,2019100489
+2019100490,2019100490
+2019100491,2019100491
+2019100492,2019100492
+2019100493,2019100493
+2019100494,2019100494
+2019100495,2019100495
+2019100496,2016200435
+2019100497,2007250093
+2019100498,2019100498
+2019100499,2019100499
+2019100500,2019100500
+2019100501,2014300700
+2019100502,2014300844
+2019100503,2014300894
+2019100504,2018200491
+2019100505,2019100505
+2019100506,2015300937
+2019100507,2015300825
+2019100508,2015300121
+2019100509,2019100509
+2019100510,2015302829
+2019100511,2019100511
+2019100512,2015300862
+2019100513,2019100513
+2019100514,2019100514
+2019100515,2019100123
+2019100516,2019100516
+2019100517,2019100517
+2019100518,2019100518
+2019100519,2019100519
+2019100520,2019100520
+2019100521,2019100521
+2019100522,2019100522
+2019100523,2019100523
+2019100524,2019100524
+2019100525,2019100525
+2019100526,2019100526
+2019100527,2019100527
+2019100528,2019100528
+2019100529,2019100529
+2019100530,2019100530
+2019100531,2019100531
+2019100532,2019100532
+2019100533,2019100533
+2019100534,2019100534
+2019100535,2014300077
+2019100536,2018200666
+2019100537,2018200686
+2019100538,2018200688
+2019100539,2014301116
+2019100540,2018200073
+2019100541,2018203444
+2019100542,2018200662
+2019100543,2019100543
+2019100544,2019100544
+2019100545,2019100545
+2019100546,2015300988
+2019100547,2015302965
+2019100548,2019100548
+2019100549,2019100549
+2019100550,2013250143
+2019100551,2019100551
+2019100552,2018200782
+2019100553,2014301037
+2019100554,2014301021
+2019100555,2018200771
+2019100556,2019100556
+2019100557,2018201008
+2019100558,2019100558
+2019100559,2019100559
+2019100560,2019100560
+2019100561,2018201061
+2019100562,2007200721
+2019100563,2019100563
+2019100564,2014200791
+2019100565,2019100565
+2019100566,2019100566
+2019100567,2018201062
+2019100568,2018201073
+2019100569,2019100569
+2019100570,2019100570
+2019100571,2019100571
+2019100572,2019100572
+2019100573,2015302552
+2019100574,2016200932
+2019100575,2019100575
+2019100576,2019100576
+2019100577,2019100577
+2019100578,2014302207
+2019100579,2014302837
+2019100580,2015301034
+2019100581,2015301078
+2019100582,2019100582
+2019100583,2015301032
+2019100584,2015300059
+2019100585,2015300058
+2019100586,2015300057
+2019100587,2015300056
+2019100588,2015300078
+2019100589,2014301248
+2019100590,2019100590
+2019100591,2011301140
+2019100592,2019100592
+2019100593,2019100593
+2019100594,2019100594
+2019100595,2010301569
+2019100596,2018201146
+2019100597,2011301408
+2019100598,2014301389
+2019100599,2014300089
+2019100600,2014300098
+2019100601,2014301176
+2019100602,2015301363
+2019100603,2015301348
+2019100604,2019100604
+2019100605,2019100605
+2019100606,2019100606
+2019100607,2019100607
+2019100608,2014200989
+2019100609,061369
+2019100610,2018201331
+2019100611,2014301498
+2019100612,2014301464
+2019100613,2018201302
+2019100614,2015301489
+2019100615,2015300129
+2019100616,2015301589
+2019100617,2019100617
+2019100618,2019100618
+2019100619,2009301780
+2019100620,2014301743
+2019100621,2015300092
+2019100622,2015301619
+2019100623,2015301587
+2019100624,2015301511
+2019100625,2019100625
+2019100626,2019100626
+2019100627,2010210329
+2019100628,2019100628
+2019100629,2019100629
+2019100630,2014301816
+2019100631,2014301768
+2019100632,2018201451
+2019100633,2014301763
+2019100634,2018201422
+2019100635,2015301717
+2019100636,2015301936
+2019100637,061776
+2019100638,2019100638
+2019100639,2019100639
+2019100640,2018201565
+2019100641,2014301961
+2019100642,2015301744
+2019100643,2019100643
+2019100644,2019100644
+2019100645,2019100645
+2019100646,2019100646
+2019100647,2019100647
+2019100648,2015301887
+2019100649,2019100649
+2019100650,2014301979
+2019100651,2019100651
+2019100652,2009302269
+2019100653,2014300163
+2019100654,2018201779
+2019100655,2014302499
+2019100656,2019100656
+2019100657,2019100657
+2019100658,2019100658
+2019100659,2015302020
+2019100660,2015302302
+2019100661,2019100661
+2019100662,2019100662
+2019100663,2019100663
+2019100664,2019100664
+2019100665,2019100665
+2019100666,2015201583
+2019100667,2019100667
+2019100668,2018100198
+2019100669,2016010071
+2019100670,2019100670
+2019100671,2016261838
+2019100672,2019100672
+2019100673,2019100673
+2019100674,2019100674
+2019100675,2019100675
+2019100676,2019100676
+2019100677,2019100677
+2019100678,2019100678
+2019100679,2019100679
+2019100680,2019100680
+2019100681,2014302541
+2019100682,2018201854
+2019100683,2014302479
+2019100684,066090537
+2019100685,2019100685
+2019100686,2019100686
+2019100687,2019100687
+2019100688,2015302394
+2019100689,2015302580
+2019100690,2015302447
+2019100691,2015300115
+2019100692,2019100692
+2019100693,2019100693
+2019100694,2011303581
+2019100695,2019100695
+2019100696,2019100696
+2019100697,2019100697
+2019100698,2019100698
+2019100699,2019100699
+2019100700,2019100700
+2019100701,2019100701
+2019100702,2019100702
+2019100703,2019100703
+2019100704,2019100704
+2019100705,2019100705
+2019100706,2019100706
+2019100707,2016262636
+2019100708,2019100708
+2019100709,2019100709
+2019100710,2019100710
+2019100711,2013302763
+2019100712,2014302709
+2019100713,2018202125
+2019100714,2015302530
+2019100715,2015302524
+2019100716,2015302618
+2019100717,2019100717
+2019100718,2014302794
+2019100719,2015300196
+2019100720,2019100720
+2019100721,2018202355
+2019100722,2018202356
+2019100723,2015302821
+2019100724,2019100724
+2019100725,2018070013
+2019100726,2019100726
+2019100727,2019100727
+2019100728,2018202383
+2019100729,2015302725
+2019100730,2019100730
+2019100731,2019100731
+2019100732,2007201014
+2019100733,2015302716
+2019100734,2019100734
+2019100735,2015300201
+2019100736,2015302678
+2019100737,2019100737
+2019100738,2019100738
+2019100739,2019100739
+2019100740,2014302859
+2019100741,2014302918
+2019100742,2015302817
+2019100743,2015303406
+2019100744,2015302757
+2019100745,2019100745
+2019100746,2011302939
+2019100747,2019100747
+2019100748,2019100748
+2019100749,2019070016
+2019100750,2019100750
+2019100751,2019100751
+2019100752,2019100752
+2019100753,2010201862
+2019100754,2019100754
+2019100755,2019100755
+2019100756,2019100756
+2019100757,2019100757
+2019100758,2019100758
+2019100759,2019100759
+2019100760,2011302197
+2019100761,2019100761
+2019100762,2019100762
+2019100763,2007301939
+2019100764,2015010104
+2019100765,2015202126
+2019100766,2019100766
+2019100767,2018202578
+2019100768,2018202561
+2019100769,2018202554
+2019100770,2018202512
+2019100771,2018202581
+2019100772,2014302754
+2019100773,2015303344
+2019100774,2015303217
+2019100775,2014303573
+2019100776,20180P2190
+2019100777,2019100777
+2019100778,2019100778
+2019100779,2019100779
+2019100780,2019100780
+2019100781,2016202690
+2019100782,2019100782
+2019100783,2017010253
+2019100784,2019100784
+2019100785,20180P0014
+2019100786,2018203451
+2019100787,2019100787
+2019100788,2019100788
+2019100789,2007010090
+2019100790,2019100790
+2019100791,2019100791
+2019100968,2014301045
+2019150001,2019150001
+2019150002,2019150002
+2019150003,061863
+2019150004,2019150004
+2019150005,2010250108
+2019150006,042294
+2019150007,2019150007
+2019150008,2019150008
+2019150009,2019150009
+2019150010,061469
+2019150011,2019150011
+2019150012,2019150012
+2019150013,2008300525
+2019150014,2019150014
+2019150015,2019150015
+2019150016,2019150016
+2019150017,2009301826
+2019160792,2019160792
+2019160793,2019160793
+2019160794,046016036
+2019160795,2019160795
+2019160796,2019160796
+2019160797,2019160797
+2019160798,2019160798
+2019160799,2019160799
+2019160800,2019160800
+2019160801,2019160801
+2019160802,2007200039
+2019160803,050031
+2019160804,2019160804
+2019160805,2009210032
+2019160806,046016034
+2019160807,2014140001
+2019160808,2019160808
+2019160809,2019160809
+2019160810,056060344
+2019160811,2019160811
+2019160812,2019160812
+2019160813,2019160813
+2019160814,2019160814
+2019160815,056080450
+2019160816,2019160816
+2019160817,060372
+2019160818,2019160818
+2019160819,2019160819
+2019160820,2011210211
+2019160821,2014210371
+2019160822,2019160822
+2019160823,2019160823
+2019160824,2019160824
+2019160825,2019160825
+2019160826,2019160826
+2019160827,2019160827
+2019160828,2019160828
+2019160829,2019160829
+2019160830,2019160830
+2019160831,046026075
+2019160832,2019160832
+2019160833,2019160833
+2019160834,2019160834
+2019160835,2019160835
+2019160836,2007301657
+2019160837,2019160837
+2019160838,2019160838
+2019160839,2019160839
+2019160840,2019160840
+2019160841,2019160841
+2019160842,2014210271
+2019160843,2019160843
+2019160844,2019160844
+2019160845,2019160845
+2019160846,2019160846
+2019160847,2013250067
+2019160848,06603G142
+2019160849,2019160849
+2019160850,056040187
+2019160851,2012200579
+2019160852,2019160852
+2019160853,2006020081
+2019160854,2019160854
+2019160855,2019160855
+2019160856,2019160856
+2019160857,2019160857
+2019160858,2019160858
+2019160859,2019160859
+2019160860,2019160860
+2019160861,2019160861
+2019160862,2013211144
+2019160863,2019160863
+2019160864,050775
+2019160865,046046161
+2019160866,2019160866
+2019160867,2019160867
+2019160868,2019160868
+2019160869,056046137
+2019160870,2019160870
+2019160871,2019160871
+2019160872,2019160872
+2019160873,2007200400
+2019160874,046040207
+2019160875,2019160875
+2019160876,2019160876
+2019160877,2007300048
+2019160878,2019160878
+2019160879,2019160879
+2019160880,2019160880
+2019160881,2019160881
+2019160882,2019160882
+2019160883,2019160883
+2019160884,066056280
+2019160885,2019160885
+2019160886,1996000046
+2019160887,2019160887
+2019160888,2019160888
+2019160889,2019160889
+2019160890,2019160890
+2019160891,2019160891
+2019160892,2019160892
+2019160893,2019160893
+2019160894,2019160894
+2019160895,2019160895
+2019160896,2019160896
+2019160897,056079047
+2019160898,2008301675
+2019160899,2009301367
+2019160900,2007301257
+2019160901,2019160901
+2019160902,051542
+2019160903,2019160903
+2019160904,066076432
+2019160905,2012250041
+2019160906,2015250035
+2019160907,2011210341
+2019160908,2007301500
+2019160909,2019160909
+2019160910,2019160910
+2019160911,2019160911
+2019160912,2019160912
+2019160913,2019160913
+2019160914,2019160914
+2019160915,2019160915
+2019160916,2019160916
+2019160917,2019160917
+2019160918,2019160918
+2019160919,066070386
+2019160920,2019160920
+2019160921,2019160921
+2019160922,2019160922
+2019160923,2008301659
+2019160924,2019160924
+2019160925,2019160925
+2019160926,2019160926
+2019160927,2019160927
+2019160928,2019160928
+2019160929,2019160929
+2019160930,2019160930
+2019160931,2019160931
+2019160932,2019160932
+2019160933,2019160933
+2019160934,056086426
+2019160935,2019160935
+2019160936,2019160936
+2019160937,2019160937
+2019160938,2019160938
+2019160939,2019160939
+2019160940,2011201460
+2019160941,2019160941
+2019160942,2019160942
+2019160943,2019160943
+2019160944,041141
+2019160945,2019160945
+2019160946,2019160946
+2019160947,2019160947
+2019160948,2019160948
+2019160949,2019160949
+2019160950,2007200763
+2019160951,2019160951
+2019160952,2019160952
+2019160953,2019160953
+2019160954,2019160954
+2019160955,2019160955
+2019160956,2013210672
+2019160957,2019160957
+2019160958,2019160958
+2019160959,2019160959
+2019160960,2019160960
+2019160961,2019160961
+2019160962,2009201834
+2019160963,043157
+2019160964,043008
+2019160965,046110752
+2019160966,2019160966
+2019160967,2019160967
+2019170001,2019170001
+2019172001,2019172001
+2019180101,2019180101
+2019180102,2019180102
+2019180106,2019180106
+2019180107,2019180107
+2019180108,2019180108
+2019180109,2019180109
+2019180110,2019180110
+2019180305,2019180305
+2019180306,2019180306
+2019180401,2019180401
+2019180402,2019180402
+2019180403,2019180403
+2019180404,2019180404
+2019180407,2019180407
+2019180408,2019180408
+2019180504,2019180504
+2019180507,2019180507
+2019180531,2019180531
+2019180532,2019180532
+2019180805,2019180805
+2019180806,2019180806
+2019180811,2019180811
+2019180817,2019180817
+2019180902,2019180902
+2019180903,2019180903
+2019180904,2019180904
+2019180916,2019180916
+2019180922,2019180922
+2019181001,2019181001
+2019181003,2019181003
+2019181004,2019181004
+2019181005,2019181005
+2019181016,2019181016
+2019181020,2019181020
+2019181034,2019181034
+2019181035,2019181035
+2019181101,2019181101
+2019181102,2019181102
+2019181106,2019181106
+2019181107,2019181107
+2019181201,2019181201
+2019181203,2019181203
+2019181204,2019181204
+2019181218,2019181218
+2019181230,2019181230
+2019181401,2019181401
+2019181402,2019181402
+2019181503,2019181503
+2019181507,2019181507
+2019181512,2019181512
+2019181515,2019181515
+2019200001,2015300244
+2019200002,2015300233
+2019200003,2015300255
+2019200004,2015300299
+2019200005,2015300420
+2019200006,2015300419
+2019200007,2015300345
+2019200008,2015300272
+2019200009,2019200009
+2019200010,2019200010
+2019200011,2015300437
+2019200012,2015300292
+2019200013,2019200013
+2019200014,2015300347
+2019200015,2015300306
+2019200016,2019200016
+2019200017,2015301347
+2019200018,2015301319
+2019200019,2015300457
+2019200020,2015300310
+2019200021,2015300036
+2019200022,2015300405
+2019200023,2019200023
+2019200024,2015300348
+2019200025,2019200025
+2019200026,2015300309
+2019200027,2015300030
+2019200028,2015300303
+2019200029,2015301981
+2019200030,2010300281
+2019200031,2015300250
+2019200032,2015300317
+2019200033,2015300004
+2019200034,2015300298
+2019200035,2019200035
+2019200036,2015300320
+2019200037,2015300368
+2019200038,2019200038
+2019200039,2015300278
+2019200040,2015300360
+2019200041,2015300252
+2019200042,2015300256
+2019200043,2015301359
+2019200044,2015300406
+2019200045,2015300336
+2019200046,2019200046
+2019200047,2015300262
+2019200048,2015300867
+2019200049,2015300270
+2019200050,2015300470
+2019200051,2015300332
+2019200052,2015300230
+2019200053,2019200053
+2019200054,2015300207
+2019200055,2015300311
+2019200056,2015300335
+2019200057,2015300380
+2019200058,2015300027
+2019200059,2015300361
+2019200060,2015300733
+2019200061,2015300042
+2019200062,2015300337
+2019200063,2015300104
+2019200064,2019200064
+2019200065,2015300040
+2019200066,2015300251
+2019200067,2015300376
+2019200068,2019200068
+2019200069,2014300483
+2019200070,2019200070
+2019200071,2019200071
+2019200072,2015300227
+2019200073,2015300447
+2019200074,2015300456
+2019200075,2015302349
+2019200076,2015300274
+2019200077,2015300153
+2019200078,2015300324
+2019200079,2015300304
+2019200080,2015300449
+2019200081,2015300066
+2019200082,2015300312
+2019200083,2019200083
+2019200084,2015300240
+2019200085,2019200085
+2019200086,2015300254
+2019200087,2015300243
+2019200088,2019200088
+2019200089,2019200089
+2019200090,2019200090
+2019200091,2019200091
+2019200092,2015300402
+2019200093,2019200093
+2019200094,2015300392
+2019200095,2015300305
+2019200096,2008300213
+2019200097,2014300383
+2019200098,2015300318
+2019200099,2015300374
+2019200100,2015300334
+2019200101,2015300450
+2019200102,2015300446
+2019200103,2015300474
+2019200104,2015302177
+2019200105,2015300372
+2019200106,2019200106
+2019200107,2015300020
+2019200108,2015300343
+2019200109,2019200109
+2019200110,2015300342
+2019200111,2015300212
+2019200112,2015300409
+2019200113,2015300346
+2019200114,2015300308
+2019200115,2019200115
+2019200116,2015300443
+2019200117,2015300241
+2019200118,2015300273
+2019200119,2015300425
+2019200120,2015300444
+2019200121,2019200121
+2019200122,2015300263
+2019200123,2015300232
+2019200124,2015300224
+2019200125,2015300209
+2019200126,2019200126
+2019200127,2019200127
+2019200128,2019200128
+2019200129,2015300216
+2019200130,2015300471
+2019200131,2019200131
+2019200132,2015300205
+2019200133,2015300009
+2019200134,2015300054
+2019200135,2015300247
+2019200136,2015300052
+2019200137,2015300393
+2019200138,2015300050
+2019200139,2019200139
+2019200140,2014300341
+2019200141,2015300439
+2019200142,2019200142
+2019200143,2019200143
+2019200144,2015300302
+2019200286,2019200286
+2019200287,2015300526
+2019200288,2019200288
+2019200289,2019200289
+2019200290,2015300548
+2019200291,2015301703
+2019200292,2015300589
+2019200293,2015300171
+2019200294,2015300599
+2019200295,2015300011
+2019200296,2015300520
+2019200297,2015300746
+2019200298,2019200298
+2019200299,2015300005
+2019200300,2015300022
+2019200301,2015300049
+2019200302,2015300021
+2019200303,2015300535
+2019200304,2015300039
+2019200305,2015300554
+2019200306,2019200306
+2019200307,2015300460
+2019200308,2019200308
+2019200309,2019200309
+2019200310,2015300606
+2019200311,2015300568
+2019200312,2015300579
+2019200313,2015300603
+2019200314,2019200314
+2019200315,2019200315
+2019200316,2015300482
+2019200317,2019200317
+2019200318,2019200318
+2019200319,2015300508
+2019200320,2019200320
+2019200321,2015300491
+2019200322,2019200322
+2019200323,2015300503
+2019200324,2015300501
+2019200325,2015300507
+2019200326,2015300499
+2019200327,2019200327
+2019200328,2015300500
+2019200329,2014300505
+2019200330,2015300472
+2019200331,2015302721
+2019200332,2015300483
+2019200333,2015300480
+2019200334,2019200334
+2019200335,2013300539
+2019200336,2013300571
+2019200337,2015302598
+2019200338,2019200338
+2019200339,2015300506
+2019200340,2015300461
+2019200341,2015300585
+2019200342,2015300478
+2019200343,2015302730
+2019200344,2015300481
+2019200345,2015300490
+2019200346,2015300479
+2019200347,2015300464
+2019200348,2015300582
+2019200349,2019200349
+2019200350,2019200350
+2019200351,2019200351
+2019200352,2015300587
+2019200353,2015302014
+2019200354,2019200354
+2019200355,2015300035
+2019200356,2019200356
+2019200357,2015300560
+2019200358,2015300762
+2019200359,2015300566
+2019200360,2015300576
+2019200361,2015300569
+2019200362,2015300557
+2019200363,2015300565
+2019200364,2015300555
+2019200365,2019200365
+2019200366,2019200366
+2019200367,2019200367
+2019200368,2015300573
+2019200369,2019200369
+2019200370,2019200370
+2019200371,2019200371
+2019200458,2014300842
+2019200459,2015300695
+2019200460,2015300691
+2019200461,2015300694
+2019200462,2015300692
+2019200463,2015300680
+2019200464,2013300886
+2019200465,2015300634
+2019200466,2015300637
+2019200467,2015300614
+2019200468,2015300616
+2019200469,2015300636
+2019200470,2015300625
+2019200471,2015300799
+2019200472,2015300149
+2019200473,2019200473
+2019200474,2015300699
+2019200475,2015300805
+2019200476,2019200476
+2019200477,2015300706
+2019200478,2015300729
+2019200479,2015300744
+2019200480,2015300797
+2019200481,2015301702
+2019200482,2015300732
+2019200483,2015300726
+2019200484,2015300798
+2019200485,2015300791
+2019200486,2015300792
+2019200487,2019200487
+2019200488,2015300738
+2019200489,2015300803
+2019200490,2015300774
+2019200491,2015300682
+2019200492,2015300955
+2019200493,2019200493
+2019200494,2015300804
+2019200495,2019200495
+2019200496,2019200496
+2019200497,2019200497
+2019200498,2015300688
+2019200499,2019200499
+2019200500,2015300763
+2019200501,2015300742
+2019200502,2019200502
+2019200503,2015300747
+2019200504,2019200504
+2019200505,2015300725
+2019200506,2019200506
+2019200507,2019200507
+2019200508,2019200508
+2019200509,2019200509
+2019200510,2019200510
+2019200511,2019200511
+2019200512,2015300720
+2019200513,2019200513
+2019200514,2015300717
+2019200515,2019200515
+2019200516,2015300709
+2019200517,2015300703
+2019200518,2015300631
+2019200519,2019200519
+2019200520,2015300715
+2019200521,2015300679
+2019200522,2019200522
+2019200523,2014303192
+2019200524,2019200524
+2019200525,2019200525
+2019200526,2015300909
+2019200527,2015300683
+2019200528,2015300674
+2019200529,2019200529
+2019200530,2015300617
+2019200531,2015300669
+2019200532,2015300641
+2019200533,2019200533
+2019200534,2015300621
+2019200535,2014300701
+2019200536,2019200536
+2019200537,2019200537
+2019200538,2019200538
+2019200539,2015300657
+2019200540,2015300670
+2019200541,2014300695
+2019200542,2014300728
+2019200543,2014300726
+2019200544,2015300648
+2019200545,2019200545
+2019200546,2019200546
+2019200547,2019200547
+2019200548,2019200548
+2019200549,2015300662
+2019200550,2015301245
+2019200551,2015300640
+2019200552,2015300667
+2019200553,2019200553
+2019200554,2019200554
+2019200555,2015300806
+2019200556,2015300766
+2019200557,2015300728
+2019200558,2015300724
+2019200559,2015300800
+2019200560,2019200560
+2019200561,2019200561
+2019200562,2015300618
+2019200563,2019200563
+2019200564,2015300624
+2019200565,2019200565
+2019200566,2015300665
+2019200567,2014300704
+2019200568,2015301100
+2019200569,2019200569
+2019200570,2019200570
+2019200571,2015300775
+2019200676,2015302659
+2019200677,2019200677
+2019200678,2019200678
+2019200679,2019200679
+2019200680,2015300870
+2019200681,2019200681
+2019200682,2019200682
+2019200683,2019200683
+2019200684,2017373003
+2019200685,2019200685
+2019200686,2019200686
+2019200687,2019200687
+2019200688,2019200688
+2019200689,2019200689
+2019200690,2019200690
+2019200691,2015300919
+2019200692,2019200692
+2019200693,2019200693
+2019200694,2019200694
+2019200695,2019200695
+2019200696,2019200696
+2019200697,2019200697
+2019200698,2019200698
+2019200699,2019200699
+2019200700,2015300841
+2019200701,2013301115
+2019200702,2019200702
+2019200703,2015302888
+2019200704,2015300843
+2019200705,2019200705
+2019200706,2019200706
+2019200707,2015300846
+2019200708,2015300857
+2019200709,2015302738
+2019200710,2019200710
+2019200711,2019200711
+2019200712,2019200712
+2019200713,2019200713
+2019200714,2019200714
+2019200715,2019200715
+2019200716,2019200716
+2019200717,2019200717
+2019200718,2019200718
+2019200719,2019200719
+2019200720,2019200720
+2019200721,2015300847
+2019200722,2019200722
+2019200723,2014300955
+2019200724,2019200724
+2019200725,2019200725
+2019200726,2015300981
+2019200727,2019200727
+2019200728,2019200728
+2019200729,2019200729
+2019200730,2019200730
+2019200731,2019200731
+2019200732,2015300859
+2019200733,2015300887
+2019200734,2015302680
+2019200735,2015300856
+2019200736,2015300831
+2019200737,2015302474
+2019200738,2019200738
+2019200739,2015302937
+2019200740,2015300832
+2019200741,2019200741
+2019200742,2019200742
+2019200743,2015302671
+2019200744,2019200744
+2019200745,2019200745
+2019200746,2019200746
+2019200747,2019200747
+2019200748,2015300820
+2019200749,2015300865
+2019200750,2019200750
+2019200751,2014302133
+2019200752,2013300094
+2019200753,2019200753
+2019200754,2019200754
+2019200755,2019200755
+2019200756,2015300868
+2019200757,2019200757
+2019200758,2015300912
+2019200759,2015300982
+2019200760,2019200760
+2019200761,2015300117
+2019200762,2019200762
+2019200763,2019200763
+2019200764,2019200764
+2019200765,2015300959
+2019200766,2015300119
+2019200767,2015302668
+2019200768,2015300108
+2019200769,2019200769
+2019200770,2019200770
+2019200771,2019200771
+2019200772,2015300975
+2019200773,2019200773
+2019200774,2019200774
+2019200775,2015302754
+2019200776,2019200776
+2019200777,2019200777
+2019200778,2019200778
+2019200779,2019200779
+2019200780,2019200780
+2019200781,2019200781
+2019200782,2019200782
+2019200783,2019200783
+2019200784,2019200784
+2019200785,2019200785
+2019200786,2015300190
+2019200787,2019200787
+2019200788,2019200788
+2019200789,2019200789
+2019200790,2019200790
+2019200791,2019200791
+2019200792,2015302695
+2019200793,2015300816
+2019200794,2019200794
+2019200795,2019200795
+2019200796,2015301004
+2019200797,2019200797
+2019200798,2019200798
+2019200799,2019200799
+2019200800,2019200800
+2019200801,2019200801
+2019200802,2015300892
+2019200803,2015300833
+2019200804,2015300176
+2019200805,2015300099
+2019200806,2019200806
+2019200807,2019200807
+2019200808,2019200808
+2019200809,2019200809
+2019200810,2015302679
+2019200811,2015300940
+2019200812,2019200812
+2019200813,2019200813
+2019200814,2019200814
+2019200815,2019200815
+2019200816,2019200816
+2019200817,2019200817
+2019200818,2019200818
+2019200819,2019200819
+2019200820,2019200820
+2019200821,2019200821
+2019200822,2019200822
+2019200823,2019200823
+2019200824,2019200824
+2019200825,2019200825
+2019200826,2015300927
+2019200827,2019200827
+2019200828,2019200828
+2019200829,2015302662
+2019200830,2019200830
+2019200831,2015300949
+2019200832,2019200832
+2019200833,2019200833
+2019200834,2015300913
+2019200835,2019200835
+2019200836,2019200836
+2019200837,2015300929
+2019200838,2019200838
+2019200839,2015300878
+2019200840,2015300934
+2019200841,2015300890
+2019200842,2019200842
+2019200843,2019200843
+2019200844,2015300888
+2019200845,2019200845
+2019200846,2019200846
+2019200847,2019200847
+2019200848,2015300837
+2019200849,2019200849
+2019200850,2019200850
+2019200851,2019200851
+2019200852,2014301058
+2019200853,2019200853
+2019200854,2019200854
+2019200855,2019200855
+2019200856,2019200856
+2019200857,2015300853
+2019200858,2015300895
+2019200859,2015300969
+2019200860,2019200860
+2019200861,2019200861
+2019200862,2019200862
+2019200863,2015300993
+2019201086,2015301107
+2019201087,2019201087
+2019201088,2019201088
+2019201089,2015301302
+2019201090,2019201090
+2019201091,2015301108
+2019201092,2013301258
+2019201093,2019201093
+2019201094,2015301175
+2019201095,2019201095
+2019201096,2019201096
+2019201097,2015301139
+2019201098,2019201098
+2019201099,2019201099
+2019201100,2019201100
+2019201101,2019201101
+2019201102,2019201102
+2019201103,2019201103
+2019201104,2019201104
+2019201105,2015301173
+2019201106,2019201106
+2019201107,2019201107
+2019201108,2019201108
+2019201109,2011301232
+2019201110,2015301247
+2019201111,2019201111
+2019201112,2015301127
+2019201113,2015301113
+2019201114,2012300905
+2019201115,2015301142
+2019201116,2019201116
+2019201117,2019201117
+2019201118,2019201118
+2019201119,2015301307
+2019201120,2019201120
+2019201121,2015301124
+2019201122,2019201122
+2019201123,2015300001
+2019201124,2015300060
+2019201125,2015301228
+2019201126,2015301204
+2019201127,2019201127
+2019201128,2015301155
+2019201129,2015301170
+2019201130,2015301152
+2019201131,2015301629
+2019201132,2015300097
+2019201133,2015301858
+2019201134,2015302058
+2019201135,2015302454
+2019201136,2019201136
+2019201137,2019201137
+2019201138,2019201138
+2019201139,2019201139
+2019201140,2015301106
+2019201141,2019201141
+2019201142,2019201142
+2019201143,2019201143
+2019201144,2019201144
+2019201145,2019201145
+2019201146,2015301138
+2019201147,2019201147
+2019201148,2019201148
+2019201149,2015301171
+2019201150,2015301129
+2019201151,2013301249
+2019201152,2019201152
+2019201153,2015302709
+2019201154,2019201154
+2019201155,2019201155
+2019201156,2019201156
+2019201157,2019201157
+2019201158,2019201158
+2019201159,2015301167
+2019201160,2019201160
+2019201161,2019201161
+2019201162,2015301161
+2019201163,2019201163
+2019201164,2012301359
+2019201165,2015301260
+2019201166,2019201166
+2019201167,2019201167
+2019201168,2019201168
+2019201169,2019201169
+2019201170,2015301255
+2019201171,2019201171
+2019201172,2015300079
+2019201173,2015301120
+2019201174,2011301204
+2019201175,2019201175
+2019201176,2015301267
+2019201177,2015302877
+2019201178,2019201178
+2019201179,2015300077
+2019201180,2015300074
+2019201181,2015301273
+2019201182,2015301190
+2019201183,2015301184
+2019201184,2019201184
+2019201185,2015301221
+2019201186,2015301208
+2019201187,2015302596
+2019201188,2015301212
+2019201189,2015301047
+2019201190,2015301061
+2019201191,2015301079
+2019201192,2015301030
+2019201193,2014302279
+2019201194,2015301097
+2019201195,2019201195
+2019201196,2019201196
+2019201197,2019201197
+2019201198,2015300642
+2019201199,2015301072
+2019201200,2019201200
+2019201201,2015302675
+2019201202,2019201202
+2019201203,2019201203
+2019201204,2015301084
+2019201205,2015301133
+2019201206,2019201206
+2019201207,2015302899
+2019201208,2015302778
+2019201209,2019201209
+2019201210,2019201210
+2019201211,2014301181
+2019201212,2015301094
+2019201213,2015301048
+2019201214,2019201214
+2019201215,2019201215
+2019201216,2019201216
+2019201217,2019201217
+2019201218,2015301096
+2019201219,2019201219
+2019201220,2015301031
+2019201221,2019201221
+2019201222,2019201222
+2019201223,2015300071
+2019201224,2015301068
+2019201225,2015301059
+2019201226,2015300194
+2019201227,2019201227
+2019201228,2019201228
+2019201229,2019201229
+2019201230,2019201230
+2019201231,2019201231
+2019201232,2015301076
+2019201233,2015300064
+2019201234,2019201234
+2019201235,2019201235
+2019201236,2019201236
+2019201237,2019201237
+2019201238,2014301306
+2019201239,2019201239
+2019201240,2015301055
+2019201241,2015301099
+2019201242,2015301051
+2019201243,2015301071f
+2019201244,2015301070
+2019201245,2015301069
+2019201246,2015301299
+2019201247,2015300063
+2019201248,2019201248
+2019201249,2015301033
+2019201250,2013301027
+2019201251,2015301058
+2019201252,2019201252
+2019201253,2019201253
+2019201254,2019201254
+2019201255,2019201255
+2019201256,2019201256
+2019201257,2019201257
+2019201389,2019201389
+2019201390,2015301279
+2019201391,2019201391
+2019201392,2015301283
+2019201393,2015301288
+2019201394,2019201394
+2019201395,2019201395
+2019201396,2019201396
+2019201397,2015301323
+2019201398,2014300206
+2019201399,2019201399
+2019201400,2019201400
+2019201401,2015301366
+2019201402,2019201402
+2019201403,2019201403
+2019201404,2019201404
+2019201405,2015301416
+2019201406,2019201406
+2019201407,2019201407
+2019201408,2015301360
+2019201409,2015301431
+2019201410,2015301310
+2019201411,2019201411
+2019201412,2019201412
+2019201413,2014301456
+2019201414,2015301365
+2019201415,2013301568
+2019201416,2019201416
+2019201417,2015301340
+2019201418,2015301353
+2019201419,2015301338
+2019201420,2015301341
+2019201421,2015301345
+2019201422,2019201422
+2019201423,2019201423
+2019201424,2015301397
+2019201425,2015300238
+2019201426,2019201426
+2019201427,2015301425
+2019201428,2015301430
+2019201429,2015301426
+2019201430,2014301612
+2019201431,2014301611
+2019201432,2012301399
+2019201433,2019201433
+2019201434,2019201434
+2019201435,2014301618
+2019201436,2019201436
+2019201437,2015301438
+2019201438,2015301386
+2019201439,2015301396
+2019201440,2015301415
+2019201441,2019201441
+2019201442,2015301371
+2019201443,2015301369
+2019201444,2015301377
+2019201445,2015301456
+2019201446,2015301392
+2019201490,2015301683
+2019201491,2015301695
+2019201492,2019201492
+2019201493,2019201493
+2019201494,2019201494
+2019201495,2015301686
+2019201496,2015301663
+2019201497,2015301651
+2019201498,2019201498
+2019201499,2019201499
+2019201500,2019201500
+2019201501,2019201501
+2019201502,2019201502
+2019201503,2015301524
+2019201504,2019201504
+2019201505,2014301761
+2019201506,2015301649
+2019201507,2015301664
+2019201508,2019201508
+2019201509,2015301670
+2019201510,2019201510
+2019201511,2015301622
+2019201512,2019201512
+2019201513,2015301576
+2019201514,2015301500
+2019201515,2015300031
+2019201516,2015301621
+2019201517,2015301543
+2019201518,2015301556
+2019201519,2015302957
+2019201520,2015301499
+2019201521,2019201521
+2019201522,2015300037
+2019201523,2015301602
+2019201524,2015301638
+2019201525,2015301571
+2019201526,2015301849
+2019201527,2015301568
+2019201528,2019201528
+2019201529,2019201529
+2019201530,2014301738
+2019201531,2015301642
+2019201532,2019201532
+2019201533,2015301542
+2019201534,2019201534
+2019201535,2019201535
+2019201536,2015301570
+2019201537,2015301575
+2019201538,2019201538
+2019201539,2015302418
+2019201540,2015301552
+2019201541,2015301496
+2019201542,2015301551
+2019201543,2015301506
+2019201544,2015301598
+2019201545,2015301636
+2019201546,2015300091
+2019201547,2015301582
+2019201548,2015301528
+2019201549,2019201549
+2019201550,2015301503
+2019201551,2019201551
+2019201552,2015301678
+2019201553,2015301698
+2019201554,2015301477
+2019201555,2015301510
+2019201556,2019201556
+2019201557,2015301667
+2019201558,2015301485
+2019201559,2015301579
+2019201560,2015302956
+2019201561,2015301535
+2019201562,2015301534
+2019201563,2015301612
+2019201564,2015301648
+2019201565,2015301569
+2019201566,2019201566
+2019201567,2019201567
+2019201635,2019201635
+2019201636,2019201636
+2019201637,2019201637
+2019201638,2015301935
+2019201639,2014300137
+2019201640,2019201640
+2019201641,2015301742
+2019201642,2015301723
+2019201643,2019201643
+2019201644,2015301720
+2019201645,2015301736
+2019201646,2019201646
+2019201647,2015300686
+2019201648,2015301807
+2019201649,2015301832
+2019201650,2019201650
+2019201651,2015301712
+2019201652,2015301877
+2019201653,2015301701
+2019201654,2019201654
+2019201655,2019201655
+2019201656,2015301763
+2019201657,2015301822
+2019201658,2019201658
+2019201659,2015300127
+2019201660,2019201660
+2019201661,2015301730
+2019201662,2019201662
+2019201663,2015301740
+2019201664,2019201664
+2019201665,2015302070
+2019201666,2019201666
+2019201667,2015301420
+2019201668,2015301984
+2019201669,2015301802
+2019201670,2015301770
+2019201671,2015301750
+2019201672,2015301986
+2019201673,2015301965
+2019201674,2015301967
+2019201675,2015301767
+2019201676,2015301903
+2019201677,2015301985
+2019201678,2019201678
+2019201679,2015301980
+2019201680,2015301803
+2019201681,2014302108
+2019201682,2015301795f
+2019201683,2015301968
+2019201684,2019201684
+2019201685,2015301793
+2019201686,2014300149
+2019201687,2015301845
+2019201688,2015301885
+2019201689,2015301838
+2019201690,2019201690
+2019201691,2015301863
+2019201692,2014301975
+2019201693,2015301857
+2019201694,2015301778
+2019201695,2015301914
+2019201696,2019201696
+2019201697,2019201697
+2019201698,2015301934
+2019201699,2019201699
+2019201700,2015301951
+2019201701,2019201701
+2019201702,2015302950
+2019201703,2015301937
+2019201704,2019201704
+2019201705,2019201705
+2019201706,2019201706
+2019201707,2019201707
+2019201708,2015302629
+2019201709,2015301748
+2019201710,2015300135
+2019201711,2015301920
+2019201712,2015300142
+2019201713,2019201713
+2019201714,2015301927
+2019201715,2015300131
+2019201716,2015300130
+2019201717,2015300140
+2019201718,2015301908
+2019201719,2015301909
+2019201720,2015301930
+2019201721,2019201721
+2019201722,2015301772
+2019201723,2015301769
+2019201724,2019201724
+2019201725,2015301746
+2019201726,2015301929
+2019201727,2014300455
+2019201728,2019201728
+2019201729,2015301830
+2019201730,2019201730
+2019201731,2015301827
+2019201732,2015302943
+2019201733,2015302435
+2019201734,2015301806
+2019201735,2015303280
+2019201736,2015301814
+2019201737,2015302002
+2019201738,2015302009
+2019201739,2019201739
+2019201740,2019201740
+2019201741,2019201741
+2019201742,2015301823
+2019201743,2015300139
+2019201744,2015302003
+2019201745,2015301859
+2019201746,2015301844
+2019201747,2014302143
+2019201748,2015301875
+2019201749,2015301861
+2019201750,2015302703
+2019201751,2015301853
+2019201752,2015301884
+2019201753,2015301886
+2019201754,2015301864
+2019201755,2015301843
+2019201756,2015301895
+2019201757,2015300158
+2019201758,2015301874
+2019201759,2015301894
+2019201760,2014302028
+2019201761,2015301839
+2019201864,2015302160
+2019201865,2015301356
+2019201866,2019201866
+2019201867,2015302758
+2019201868,2015302301
+2019201869,2015302148
+2019201870,2019201870
+2019201871,2015302133
+2019201872,2014301581
+2019201873,2015302175
+2019201874,2015302152
+2019201875,2015302139
+2019201876,2015301300
+2019201877,2019201877
+2019201878,2015302306
+2019201879,2019201879
+2019201880,2015303389
+2019201881,2019201881
+2019201882,2015302252
+2019201883,2015302168
+2019201884,2015302153
+2019201885,2019201885
+2019201886,2015302123
+2019201887,2015303385
+2019201888,2015302311
+2019201889,2015302856
+2019201890,2019201890
+2019201891,2015302309
+2019201892,2019201892
+2019201893,2015302299
+2019201894,2015302056
+2019201895,2015302050
+2019201896,2019201896
+2019201897,2019201897
+2019201898,2015302072
+2019201899,2015302076
+2019201900,2014302245
+2019201901,2015302033
+2019201902,2015302024
+2019201903,2019201903
+2019201904,2015302027
+2019201905,2019201905
+2019201906,2019201906
+2019201907,2019201907
+2019201908,2015302038
+2019201909,2015302060
+2019201910,2015302090
+2019201911,2015302059
+2019201912,2015302266
+2019201913,2015302723
+2019201914,2015302079
+2019201915,2015302078
+2019201916,2019201916
+2019201917,2019201917
+2019201918,2015302271
+2019201919,2015302097
+2019201920,2015302026
+2019201921,2015302049
+2019201922,2015302054
+2019201923,2019201923
+2019201924,2015302074
+2019201925,2015302053
+2019201926,2015302023
+2019201927,2019201927
+2019201928,2015302089
+2019201929,2019201929
+2019201930,2019201930
+2019201931,2019201931
+2019201932,2019201932
+2019201933,2015302075
+2019201934,2014302210
+2019201935,2015302082
+2019201936,2019201936
+2019201937,2019201937
+2019201938,2015302043
+2019201939,2015300143
+2019201940,2019201940
+2019201941,2015302185
+2019201942,2015302633
+2019201943,2019201943
+2019201944,2015302077
+2019201945,2019201945
+2019201946,2015302263
+2019201947,2015302250
+2019201948,2015302265
+2019201949,2019201949
+2019201950,2019201950
+2019201951,2015303413
+2019201952,2015302201
+2019201953,2015302098
+2019201954,2015302084
+2019201955,2015302062
+2019201956,2017373010
+2019201957,2019201957
+2019201958,2014302398
+2019201959,2014302408
+2019201960,2014302263
+2019201961,2019201961
+2019201962,2015302964
+2019201963,2019201963
+2019201964,2019201964
+2019201965,2015302099
+2019201966,2019201966
+2019201967,2019201967
+2019201968,2019201968
+2019201969,2019201969
+2019201970,2019201970
+2019201971,2015300333
+2019201972,2019201972
+2019201973,2019201973
+2019201974,2015302045
+2019201975,2019201975
+2019201976,2019201976
+2019201977,2015302112
+2019201978,2019201978
+2019201979,2015302057
+2019201980,2015303395
+2019201981,2015300166
+2019201982,2015301230
+2019201983,2019201983
+2019201984,2019201984
+2019201985,2019201985
+2019201986,2015301878
+2019201987,2015303393
+2019201988,2015302051
+2019201989,2019201989
+2019201990,2019201990
+2019201991,2019201991
+2019201992,2015300073
+2019201993,2015302046
+2019201994,2015302088
+2019201995,2015300047
+2019201996,2015302254
+2019201997,2015302198
+2019201998,2015300146
+2019201999,2019201999
+2019202000,2019202000
+2019202001,2015302264
+2019202002,2015302289
+2019202003,2019202003
+2019202004,2015302220
+2019202005,2019202005
+2019202006,2012302335
+2019202007,2015302280
+2019202008,2015302225
+2019202009,2015302275
+2019202010,2015302218
+2019202011,2019202011
+2019202012,2015302274
+2019202013,2015302290
+2019202014,2015302223
+2019202015,2015302287
+2019202016,2015302230
+2019202129,2019202129
+2019202130,2015302499
+2019202131,2019202131
+2019202132,2019202132
+2019202133,2019202133
+2019202134,2019202134
+2019202135,2015302010
+2019202136,2015302563
+2019202137,2015302419
+2019202138,2015302438
+2019202139,2015302344
+2019202140,2015303221
+2019202141,2015302483
+2019202142,2015302332
+2019202143,2019202143
+2019202144,2015302439
+2019202145,2019202145
+2019202146,2015302316
+2019202147,2019202147
+2019202148,2015302337
+2019202149,2019202149
+2019202150,2019202150
+2019202151,2015302455
+2019202152,2015302441
+2019202153,2019202153
+2019202154,2015302484
+2019202155,2015302421
+2019202156,2015302491
+2019202157,2015303125
+2019202158,2019202158
+2019202159,2019202159
+2019202160,2019202160
+2019202161,2019202161
+2019202162,2019202162
+2019202163,2015302248
+2019202164,2019202164
+2019202165,2019202165
+2019202166,2019202166
+2019202167,2019202167
+2019202168,2019202168
+2019202169,2019202169
+2019202170,2015302069
+2019202171,2019202171
+2019202172,2019202172
+2019202173,2015302384
+2019202174,2019202174
+2019202175,2019202175
+2019202176,2019202176
+2019202177,2015302424
+2019202178,2019202178
+2019202179,2019202179
+2019202180,2019202180
+2019202181,2019202181
+2019202182,2015302387
+2019202183,2015302464
+2019202184,2019202184
+2019202185,2019202185
+2019202186,2019202186
+2019202187,2019202187
+2019202188,2015303142
+2019202189,2015303323
+2019202190,2015300169
+2019202191,2015302398
+2019202192,2015301933
+2019202193,2015302412
+2019202194,2015300690
+2019202195,2015302425
+2019202196,2015302345
+2019202197,2015302417
+2019202198,2015300173
+2019202199,2015302470
+2019202200,2019202200
+2019202201,2015302413
+2019202202,2015302420
+2019202203,2015302846
+2019202204,2015300594
+2019202205,2015301403
+2019202206,2015302505
+2019202207,2015302513
+2019202208,2015302314
+2019202209,2015302896
+2019202210,2015302343
+2019202211,2015302582
+2019202212,2015301837
+2019202213,2015302434
+2019202214,2015300157
+2019202215,2015303134
+2019202216,2015301252
+2019202217,2015302521
+2019202218,2015302782
+2019202219,2019202219
+2019202220,2019202220
+2019202221,2015300610
+2019202222,2015301123
+2019202223,2015300180
+2019202224,2015302481
+2019202225,2019202225
+2019202226,2019202226
+2019202227,2019202227
+2019202228,2015302119
+2019202229,2015302320
+2019202230,2019202230
+2019202231,2015302520
+2019202232,2015300451
+2019202233,2015302253
+2019202234,2015302353
+2019202235,2015302066
+2019202236,2015303185
+2019202237,2015302789
+2019202238,2015303107
+2019202239,2019202239
+2019202240,2019202240
+2019202241,2019202241
+2019202242,2015302381
+2019202243,2015302283
+2019202244,2015302522
+2019202245,2015302273
+2019202246,2019202246
+2019202247,2019202247
+2019202248,2019202248
+2019202249,2019202249
+2019202250,2019202250
+2019202251,2019202251
+2019202400,2019202400
+2019202401,2019202401
+2019202402,2019202402
+2019202403,2019202403
+2019202404,2019202404
+2019202405,2019202405
+2019202406,2019202406
+2019202407,2019202407
+2019202408,2019202408
+2019202409,2019202409
+2019202410,2019202410
+2019202411,2015302541
+2019202412,2019202412
+2019202413,2019202413
+2019202414,2015302576
+2019202415,2019202415
+2019202416,2019202416
+2019202417,2019202417
+2019202418,2015302615
+2019202419,2015302612
+2019202420,2019202420
+2019202421,2019202421
+2019202422,2019202422
+2019202423,2019202423
+2019202424,2019202424
+2019202425,2015302523
+2019202426,2015302575
+2019202427,2019202427
+2019202428,2019202428
+2019202429,2015302854
+2019202430,2015302583
+2019202431,2015302537
+2019202432,2015302525
+2019202433,2015302542
+2019202434,2015302557
+2019202435,2015302595
+2019202436,2019202436
+2019202437,2019202437
+2019202438,2019202438
+2019202439,2015302630
+2019202440,2015302527
+2019202441,2019202441
+2019202442,2019202442
+2019202443,2019202443
+2019202444,2019202444
+2019202445,2019202445
+2019202446,2019202446
+2019202447,2019202447
+2019202448,2015302526
+2019202449,2015302550
+2019202450,2015302560
+2019202451,2019202451
+2019202452,2019202452
+2019202453,2015302553
+2019202454,2015302547
+2019202455,2019202455
+2019202456,2019202456
+2019202457,2019202457
+2019202458,2019202458
+2019202459,2014302871
+2019202460,2019202460
+2019202461,2019202461
+2019202462,2019202462
+2019202463,2015302661
+2019202464,2015302727
+2019202465,2019202465
+2019202466,2015302731
+2019202467,2015302718
+2019202468,2015302736
+2019202469,2019202469
+2019202470,2014302951
+2019202471,2015302710
+2019202472,2019202472
+2019202473,2019202473
+2019202474,2015302759
+2019202475,2019202475
+2019202476,2019202476
+2019202477,2019202477
+2019202478,2013302931
+2019202479,2019202479
+2019202480,2019202480
+2019202481,2019202481
+2019202482,2019202482
+2019202483,2019202483
+2019202484,2019202484
+2019202485,2019202485
+2019202486,2019202486
+2019202487,2019202487
+2019202488,20190P0522
+2019202489,2019202489
+2019202490,2019202490
+2019202491,2019202491
+2019202492,2015302822
+2019202493,2019202493
+2019202494,2015302815
+2019202495,2019202495
+2019202496,2015302535
+2019202497,2019202497
+2019202498,2019202498
+2019202499,2019202499
+2019202500,2019202500
+2019202501,2015302707
+2019202502,2015302745
+2019202503,2015302748
+2019202504,2019202504
+2019202505,2015302742
+2019202506,2015302741
+2019202507,2014302936
+2019202508,2015302733
+2019202509,2019202509
+2019202510,2015302747
+2019202511,2015302737
+2019202512,2015302749
+2019202513,2019202513
+2019202514,2015302715
+2019202515,2015302651
+2019202516,2015302740
+2019202517,2014302917
+2019202518,2015302657
+2019202519,2015302688
+2019202520,2012302778
+2019202521,2014302969
+2019202522,2019202522
+2019202523,2019202523
+2019202524,2015300184
+2019202525,2015302655
+2019202526,2015302663
+2019202527,2014302892
+2019202528,2019202528
+2019202529,2019202529
+2019202530,2015302825
+2019202531,2019202531
+2019202532,2015302812
+2019202533,2015302816
+2019202534,2019202534
+2019202535,2019202535
+2019202536,2019202536
+2019202537,20190P0553
+2019202538,2019202538
+2019202539,2015302797
+2019202540,2019202540
+2019202541,2015302819
+2019202542,2019202542
+2019202543,2015302811
+2019202544,2015302799
+2019202545,2015302779
+2019202546,2019202546
+2019202547,2015302804
+2019202548,2015302776
+2019202549,2015302792
+2019202550,2019202550
+2019202551,2015302786
+2019202552,2014303031
+2019202553,2019202553
+2019202554,2015302771
+2019202555,2015302826
+2019202556,2015302824
+2019202557,2019202557
+2019202558,2015302820
+2019202559,2019202559
+2019202560,2019202560
+2019202561,2019202561
+2019202562,2015302828
+2019202563,2019202563
+2019202564,2019202564
+2019202565,2015302752
+2019202566,2015302765
+2019202567,2019202567
+2019202568,2019202568
+2019202671,2015302951
+2019202672,2019202672
+2019202673,2019202673
+2019202674,2019202674
+2019202675,2015302944
+2019202676,2019202676
+2019202677,2019202677
+2019202678,2015302898
+2019202679,2015302870
+2019202680,2019202680
+2019202681,2019202681
+2019202682,2016310004
+2019202683,2015302917
+2019202684,2015302907
+2019202685,2019202685
+2019202686,2015302849
+2019202687,2019202687
+2019202688,2019202688
+2019202689,2019202689
+2019202690,2019202690
+2019202691,2019202691
+2019202692,2019202692
+2019202693,2019202693
+2019202694,2019202694
+2019202695,2019202695
+2019202696,2019202696
+2019202697,2019202697
+2019202698,2019202698
+2019202699,2019202699
+2019202700,2019202700
+2019202701,2019202701
+2019202702,2019202702
+2019202703,2019202703
+2019202704,2019202704
+2019202705,2015302929
+2019202706,2019202706
+2019202707,2015302931
+2019202708,2019202708
+2019202709,2019202709
+2019202710,2019202710
+2019202711,2019202711
+2019202712,2019202712
+2019202713,2019202713
+2019202714,2019202714
+2019202715,2019202715
+2019202716,2019202716
+2019202717,2019202717
+2019202718,2019202718
+2019202719,2019202719
+2019202720,2019202720
+2019202721,2015302934
+2019202722,2019202722
+2019202723,2015302949
+2019202724,2019202724
+2019202725,2019202725
+2019202726,2019202726
+2019202727,2019202727
+2019202728,2019202728
+2019202729,2019202729
+2019202730,2019202730
+2019202731,2019202731
+2019202732,2014303267
+2019202733,2019202733
+2019202734,2019202734
+2019202735,2019202735
+2019202736,2019202736
+2019202737,2015302848
+2019202738,2019202738
+2019202739,2019202739
+2019203363,2019203363
+2019203364,2014303254
+2019203365,2019203365
+2019203366,2015300177
+2019203367,2019203367
+2019203368,2019203368
+2019203369,2019203369
+2019203370,2019203370
+2019203371,2019203371
+2019203372,2019203372
+2019203373,2019203373
+2019203374,2019203374
+2019203375,2019203375
+2019203376,2019203376
+2019203377,2019203377
+2019203378,2019203378
+2019203379,2019203379
+2019203380,2019203380
+2019203381,2014303234
+2019203382,2019203382
+2019203383,2015302972
+2019203384,2014303245
+2019203385,2019203385
+2019203386,2015303051
+2019203387,2015303071
+2019203388,2015303062
+2019203389,2019203389
+2019203390,2019203390
+2019203391,2015303067
+2019203392,2015302987
+2019203393,2015303048
+2019203394,2012303020
+2019203395,2014303296
+2019203396,2013303228
+2019203397,2014303271
+2019203398,2015303030
+2019203399,2015303025
+2019203400,2019203400
+2019203401,2019203401
+2019203402,2019203402
+2019203403,2019203403
+2019203404,2019203404
+2019203405,2019203405
+2019203406,2019203406
+2019203407,2019203407
+2019203408,2015303033
+2019203480,2015303254
+2019203481,2019203481
+2019203482,2015303162
+2019203483,2015303137
+2019203484,2015303176
+2019203756,2009303309
+2019203757,2019203757
+2019203758,2019203758
+2019203759,2015303408
+2019203760,2019203760
+2019203761,2019203761
+2019203762,2019203762
+2019203763,2019203763
+2019203764,2019203764
+2019203765,2013303571
+2019203766,2019203766
+2019203767,2019203767
+2019203768,2019203768
+2019203769,2019203769
+2019203770,2019203770
+2019203771,2019203771
+2019203772,2019203772
+2019203773,2019203773
+2019203774,2019203774
+2019203775,2019203775
+2019203776,2019203776
+2019203777,2019203777
+2019203778,2019203778
+2019203779,2015303416
+2019203780,2015302613
+2019203781,2019203781
+2019203782,2019203782
+2019203783,2015303398
+2019203784,2019203784
+2019203785,2019203785
+2019203786,2015303411
+2019203787,2019203787
+2019203788,20180P0116
+2019203789,2015303401
+2019203790,2019203790
+2019203791,2019203791
+2019203792,2019203792
+2019203793,2019203793
+2019203794,2019203794
+2019203795,2019203795
+2019203796,2019203796
+2019203797,2019203797
+2019203798,2019203798
+2019203799,2019203799
+2019203800,2019203800
+2019203801,2019203801
+2019203802,2019203802
+2019203803,2019203803
+2019203804,2015303378
+2019203805,2015303405
+2019203806,2019203806
+2019203842,2019203842
+2019203843,2019203843
+2019203844,2015303489
+2019203845,2015303478
+2019203846,2019203846
+2019203847,2015303420
+2019203848,2015303418f
+2019203849,2019203849
+2019203850,2015303436
+2019203851,2019203851
+2019203852,2019203852
+2019203853,2015303454
+2019203854,2015303444
+2019203855,2015303446
+2019203856,2015303448
+2019203857,2015303470
+2019203858,2019203858
+2019203859,2019203859
+2019203874,2019203874
+2019203875,2019203875
+2019203876,2019203876
+2019203877,2019203877
+2019203878,2019203878
+2019203879,2019203879
+2019203880,2019203880
+2019203881,2019203881
+2019203882,2019203882
+2019203883,2019203883
+2019203884,2015302986
+2019203885,2019203885
+2019203886,2019203886
+2019203887,2019203887
+2019203888,2019203888
+2019203889,2019203889
+2019203890,2019203890
+2019203891,2019203891
+2019203892,2019203892
+2019203893,2019203893
+2019203894,2019203894
+2019210145,2019210145
+2019210146,2015300260
+2019210147,2019210147
+2019210148,2011303027
+2019210149,2019210149
+2019210150,2019210150
+2019210151,2019210151
+2019210152,2019210152
+2019210153,2010301621
+2019212740,2019212740
+2019212741,2019212741
+2019212742,2019212742
+2019212743,2019212743
+2019212744,2019212744
+2019212745,2019212745
+2019212746,2019212746
+2019212747,2019212747
+2019212748,2019212748
+2019212749,2019212749
+2019212750,2019212750
+2019212751,2019212751
+2019212752,2019212752
+2019212753,2019212753
+2019212754,2019212754
+2019212755,2019212755
+2019212756,2019212756
+2019212757,2019212757
+2019212758,2019212758
+2019212759,2019212759
+2019212760,2019212760
+2019212761,2019212761
+2019212762,2019212762
+2019212763,2019212763
+2019212764,2019212764
+2019212765,2019212765
+2019212766,2019212766
+2019212767,2019212767
+2019212768,2019212768
+2019212769,2019212769
+2019212770,2019212770
+2019212771,2019212771
+2019212772,2019212772
+2019212773,2019212773
+2019212774,2019212774
+2019212775,2019212775
+2019212776,2019212776
+2019212777,2019212777
+2019212778,2019212778
+2019212779,2019212779
+2019212780,2019212780
+2019212781,2019212781
+2019212782,2019212782
+2019212783,2019212783
+2019212784,2019212784
+2019212785,2019212785
+2019212786,2019212786
+2019212787,2019212787
+2019212788,2019212788
+2019212789,2019212789
+2019212790,2019212790
+2019212791,2019212791
+2019212792,2019212792
+2019212793,2019212793
+2019212794,2019212794
+2019212795,2019212795
+2019212796,2019212796
+2019212797,2019212797
+2019212798,2019212798
+2019212799,2010303036
+2019212800,2019212800
+2019212801,2019212801
+2019212802,2019212802
+2019212803,2019212803
+2019212804,2019212804
+2019212805,2018212685
+2019212806,2019212806
+2019212807,2019212807
+2019212808,2019212808
+2019212809,2019212809
+2019212810,2019212810
+2019212811,2019212811
+2019212812,2019212812
+2019212813,2019212813
+2019212814,2019212814
+2019212815,2019212815
+2019212816,2019212816
+2019212817,2019212817
+2019212818,2019212818
+2019212819,2019212819
+2019212820,2019212820
+2019212821,2019212821
+2019212822,2019212822
+2019212823,2019212823
+2019212824,2019212824
+2019212825,2019212825
+2019212826,2019212826
+2019212827,2019212827
+2019212828,2019212828
+2019212829,2019212829
+2019212830,2019212830
+2019212831,2019212831
+2019212832,2019212832
+2019212833,2019212833
+2019212834,2019212834
+2019212835,2019212835
+2019212836,2019212836
+2019212837,2019212837
+2019212838,2019212838
+2019212839,2019212839
+2019212840,2019212840
+2019212841,2019212841
+2019212842,2019212842
+2019212843,2019212843
+2019212844,2019212844
+2019212845,2019212845
+2019212846,2019212846
+2019212847,2019212847
+2019212848,2019212848
+2019212849,2019212849
+2019212850,2019212850
+2019212851,2019212851
+2019212852,2019212852
+2019212853,2019212853
+2019212854,2019212854
+2019212855,2019212855
+2019212856,2019212856
+2019212857,2019212857
+2019212858,2019212858
+2019212859,2019212859
+2019212860,2019212860
+2019212861,2019212861
+2019212862,2019212862
+2019212863,2019212863
+2019212864,2019212864
+2019212865,2019212865
+2019212866,2019212866
+2019212867,2019212867
+2019212868,2019212868
+2019212869,2019212869
+2019212870,2019212870
+2019212871,2019212871
+2019212872,2019212872
+2019212873,2019212873
+2019212874,2019212874
+2019212875,2019212875
+2019212876,2019212876
+2019212877,2019212877
+2019212878,2019212878
+2019212879,2019212879
+2019212880,2019212880
+2019212881,2019212881
+2019212882,2019212882
+2019212883,2019212883
+2019212884,2019212884
+2019212885,2019212885
+2019212886,2019212886
+2019212887,2019212887
+2019212888,2019212888
+2019212889,2019212889
+2019212890,2019212890
+2019212891,2019212891
+2019212892,2019212892
+2019212893,2019212893
+2019212894,2019212894
+2019212895,2019212895
+2019212896,2019212896
+2019212897,2019212897
+2019212898,2019212898
+2019212899,2019212899
+2019212900,2019212900
+2019212901,2019212901
+2019212902,2019212902
+2019212903,2019212903
+2019212904,2019212904
+2019212905,2019212905
+2019212906,2019212906
+2019212907,2019212907
+2019212908,2019212908
+2019212909,2019212909
+2019212910,2019212910
+2019212911,2019212911
+2019212912,2019212912
+2019212913,2019212913
+2019212914,2019212914
+2019212915,2019212915
+2019212916,2019212916
+2019212917,2019212917
+2019212918,2019212918
+2019212919,2019212919
+2019212920,2019212920
+2019212921,2019212921
+2019212922,2019212922
+2019212923,2019212923
+2019212924,2019212924
+2019212925,2019212925
+2019212926,2019212926
+2019212927,2019212927
+2019212928,2019212928
+2019212929,2019212929
+2019212930,2019212930
+2019212931,2019212931
+2019212932,2019212932
+2019212933,2019212933
+2019212934,2019212934
+2019212935,2019212935
+2019212936,2019212936
+2019212937,2019212937
+2019212938,2019212938
+2019212939,2019212939
+2019212940,2019212940
+2019212941,2019212941
+2019212942,2019212942
+2019212943,2019212943
+2019212944,2019212944
+2019212945,2019212945
+2019212946,2019212946
+2019212947,2019212947
+2019212948,2019212948
+2019212949,2019212949
+2019212950,2019212950
+2019212951,2019212951
+2019212952,2019212952
+2019212953,2019212953
+2019212954,2019212954
+2019212955,2019212955
+2019212956,2019212956
+2019212957,2019212957
+2019212958,2019212958
+2019212959,2019212959
+2019212960,2019212960
+2019212961,2019212961
+2019212962,2019212962
+2019212963,2019212963
+2019212964,2019212964
+2019212965,2019212965
+2019212966,2019212966
+2019212967,2019212967
+2019212968,2019212968
+2019212969,2019212969
+2019212970,2019212970
+2019212971,2019212971
+2019212972,2019212972
+2019212973,2019212973
+2019212974,2019212974
+2019212975,2019212975
+2019212976,2019212976
+2019212977,2019212977
+2019212978,2019212978
+2019212979,2019212979
+2019212980,2019212980
+2019212981,2019212981
+2019212982,2019212982
+2019212983,2019212983
+2019212984,2019212984
+2019212985,2019212985
+2019212986,2019212986
+2019212987,2019212987
+2019212988,2019212988
+2019212989,2019212989
+2019212990,2019212990
+2019212991,2019212991
+2019212992,2019212992
+2019212993,2019212993
+2019212994,2019212994
+2019212995,2019212995
+2019212996,2019212996
+2019212997,2019212997
+2019212998,2019212998
+2019212999,2019212999
+2019213000,2019213000
+2019213001,2019213001
+2019213002,2019213002
+2019213003,2019213003
+2019213004,2019213004
+2019213005,2019213005
+2019213006,2019213006
+2019213007,2019213007
+2019213008,2019213008
+2019213009,2019213009
+2019213010,2019213010
+2019213011,2019213011
+2019213012,2019213012
+2019213013,2019213013
+2019213014,2019213014
+2019213015,2019213015
+2019213016,2019213016
+2019213017,2019213017
+2019213018,2019213018
+2019213019,2019213019
+2019213020,2019213020
+2019213021,2019213021
+2019213022,2019213022
+2019213023,2019213023
+2019213024,2019213024
+2019213025,2019213025
+2019213026,2019213026
+2019213027,2019213027
+2019213028,2019213028
+2019213029,2019213029
+2019213030,2019213030
+2019213031,2019213031
+2019213032,2019213032
+2019213033,2019213033
+2019213034,2019213034
+2019213035,2019213035
+2019213036,2019213036
+2019213037,2019213037
+2019213038,2019213038
+2019213039,2019213039
+2019213040,2019213040
+2019213041,2019213041
+2019213042,2019213042
+2019213043,2019213043
+2019213044,2019213044
+2019213045,2019213045
+2019213046,2019213046
+2019213047,2019213047
+2019213048,2019213048
+2019213049,2019213049
+2019213050,2019213050
+2019213051,2019213051
+2019213052,2019213052
+2019213053,2019213053
+2019213054,2019213054
+2019213055,2019213055
+2019213056,2019213056
+2019213057,2019213057
+2019213058,2019213058
+2019213059,2019213059
+2019213060,2019213060
+2019213061,2019213061
+2019213062,2019213062
+2019213063,2019213063
+2019213064,2019213064
+2019213065,2019213065
+2019213066,2019213066
+2019213067,2019213067
+2019213068,2019213068
+2019213069,2019213069
+2019213070,2019213070
+2019213071,2019213071
+2019213072,2019213072
+2019213073,2019213073
+2019213074,2019213074
+2019213075,2019213075
+2019213076,2019213076
+2019213077,2019213077
+2019213078,2019213078
+2019213079,2019213079
+2019213080,2019213080
+2019213081,2019213081
+2019213082,2019213082
+2019213083,2019213083
+2019213084,2019213084
+2019213085,2019213085
+2019213086,2019213086
+2019213087,2019213087
+2019213088,2019213088
+2019213089,2019213089
+2019213090,2019213090
+2019213091,2019213091
+2019213092,2019213092
+2019213093,2019213093
+2019213094,2019213094
+2019213095,2019213095
+2019213096,2019213096
+2019213097,2019213097
+2019213098,2019213098
+2019213099,2019213099
+2019213100,2019213100
+2019213101,2019213101
+2019213102,2019213102
+2019213103,2019213103
+2019213104,2019213104
+2019213105,2019213105
+2019213106,2019213106
+2019213107,2019213107
+2019213108,2019213108
+2019213109,2019213109
+2019213110,2019213110
+2019213111,2019213111
+2019213112,2019213112
+2019213113,2019213113
+2019213114,2019213114
+2019213115,2019213115
+2019213116,2019213116
+2019213117,2019213117
+2019213118,2019213118
+2019213119,2019213119
+2019213120,2019213120
+2019213121,2019213121
+2019213122,2019213122
+2019213123,2019213123
+2019213124,2019213124
+2019213125,2019213125
+2019213126,2019213126
+2019213127,2019213127
+2019213128,2019213128
+2019213129,2019213129
+2019213130,2019213130
+2019213131,2019213131
+2019213132,2019213132
+2019213133,2019213133
+2019213134,2019213134
+2019213135,2019213135
+2019213136,2019213136
+2019213137,2019213137
+2019213138,2019213138
+2019213139,2019213139
+2019213140,2019213140
+2019213141,2019213141
+2019213142,2019213142
+2019213143,2019213143
+2019213144,2019213144
+2019213145,2019213145
+2019213146,2019213146
+2019213147,2019213147
+2019213148,2019213148
+2019213149,2019213149
+2019213150,2019213150
+2019213151,2019213151
+2019213152,2019213152
+2019213153,2012303058
+2019213154,2019213154
+2019213155,2019213155
+2019213156,2019213156
+2019213157,2019213157
+2019213158,2019213158
+2019213159,2019213159
+2019213160,2019213160
+2019213161,2019213161
+2019213162,2019213162
+2019213163,2019213163
+2019213164,2019213164
+2019213165,2019213165
+2019213166,2019213166
+2019213167,2019213167
+2019213168,2019213168
+2019213169,2019213169
+2019213170,2019213170
+2019213171,2019213171
+2019213172,2019213172
+2019213173,2019213173
+2019213174,2019213174
+2019213175,2019213175
+2019213176,2019213176
+2019213177,2019213177
+2019213178,2019213178
+2019213179,2019213179
+2019213180,2019213180
+2019213181,2019213181
+2019213182,2019213182
+2019213183,2019213183
+2019213184,2019213184
+2019213185,2019213185
+2019213186,2019213186
+2019213187,2019213187
+2019213188,2019213188
+2019213189,2019213189
+2019213190,2019213190
+2019213191,2019213191
+2019213192,2019213192
+2019213193,2019213193
+2019213194,2019213194
+2019213195,2019213195
+2019213196,2019213196
+2019213197,2019213197
+2019213198,2019213198
+2019213199,2019213199
+2019213200,2019213200
+2019213201,2019213201
+2019213202,2019213202
+2019213203,2019213203
+2019213204,2019213204
+2019213205,2019213205
+2019213206,2019213206
+2019213207,2019213207
+2019213208,2019213208
+2019213209,2019213209
+2019213210,2019213210
+2019213211,2019213211
+2019213212,2019213212
+2019213213,2019213213
+2019213214,2011302106
+2019213215,2011302100
+2019213216,2019213216
+2019213217,2019213217
+2019213218,2019213218
+2019213219,2019213219
+2019213220,2019213220
+2019213221,2019213221
+2019213222,2019213222
+2019213223,2019213223
+2019213224,2019213224
+2019213225,2019213225
+2019213226,2019213226
+2019213227,2019213227
+2019213228,2019213228
+2019213229,2019213229
+2019213230,2019213230
+2019213231,2019213231
+2019213232,2019213232
+2019213233,2019213233
+2019213234,2019213234
+2019213235,2019213235
+2019213236,2019213236
+2019213237,2019213237
+2019213238,2019213238
+2019213239,2019213239
+2019213240,2019213240
+2019213241,2019213241
+2019213242,2019213242
+2019213243,2019213243
+2019213244,2019213244
+2019213245,2019213245
+2019213246,2019213246
+2019213247,2019213247
+2019213248,2019213248
+2019213249,053436
+2019213250,2019213250
+2019213251,2019213251
+2019213252,2019213252
+2019213253,2019213253
+2019213254,2019213254
+2019213255,2019213255
+2019213256,2019213256
+2019213257,2019213257
+2019213258,2019213258
+2019213259,2019213259
+2019213260,2019213260
+2019213261,2019213261
+2019213262,2019213262
+2019213263,2019213263
+2019213264,2019213264
+2019213265,2019213265
+2019213266,2019213266
+2019213267,2019213267
+2019213268,2019213268
+2019213269,2019213269
+2019213270,2019213270
+2019213271,2019213271
+2019213272,2019213272
+2019213273,2019213273
+2019213274,2019213274
+2019213275,2019213275
+2019213276,2019213276
+2019213277,2019213277
+2019213278,2019213278
+2019213279,2019213279
+2019213280,2019213280
+2019213281,2019213281
+2019213282,2019213282
+2019213283,2019213283
+2019213284,2019213284
+2019213285,2019213285
+2019213286,2019213286
+2019213287,2019213287
+2019213288,2019213288
+2019213289,2019213289
+2019213290,2019213290
+2019213291,2019213291
+2019213292,2019213292
+2019213293,2019213293
+2019213294,2019213294
+2019213295,2019213295
+2019213296,2019213296
+2019213297,2019213297
+2019213298,2019213298
+2019213299,2019213299
+2019213300,2019213300
+2019213301,2019213301
+2019213302,2019213302
+2019213303,2019213303
+2019213304,2019213304
+2019213305,2019213305
+2019213306,2019213306
+2019213307,2019213307
+2019213308,2019213308
+2019213309,2019213309
+2019213310,2019213310
+2019213311,2019213311
+2019213312,2019213312
+2019213313,2019213313
+2019213314,2019213314
+2019213315,2019213315
+2019213316,2019213316
+2019213317,2019213317
+2019213318,2019213318
+2019213319,2019213319
+2019213320,2019213320
+2019213321,2019213321
+2019213322,2019213322
+2019213323,2019213323
+2019213324,2019213324
+2019213325,2019213325
+2019213326,2019213326
+2019213327,2019213327
+2019213328,2019213328
+2019213329,2019213329
+2019213330,2019213330
+2019213331,2019213331
+2019213332,2019213332
+2019213333,2019213333
+2019213334,2019213334
+2019213335,2019213335
+2019213336,2019213336
+2019213337,2019213337
+2019213338,2019213338
+2019213339,2019213339
+2019213340,2019213340
+2019213341,2019213341
+2019213342,2019213342
+2019213343,2019213343
+2019213344,2019213344
+2019213345,2019213345
+2019213346,2019213346
+2019213347,2019213347
+2019213348,2019213348
+2019213349,2019213349
+2019213350,2019213350
+2019213351,2019213351
+2019213352,2019213352
+2019213353,2019213353
+2019213354,2019213354
+2019213355,2019213355
+2019213356,2019213356
+2019213357,2019213357
+2019213358,2019213358
+2019213359,2019213359
+2019213360,2019213360
+2019213361,2019213361
+2019213362,2019213362
+2019213409,2019213409
+2019213410,2019213410
+2019213411,2019213411
+2019213412,2019213412
+2019213413,2019213413
+2019213414,053876
+2019213415,2019213415
+2019213416,2019213416
+2019213417,2019213417
+2019213418,2019213418
+2019213419,2019213419
+2019213420,2019213420
+2019213421,2019213421
+2019213422,2019213422
+2019213423,2017070158
+2019213424,2010302073
+2019213425,2019213425
+2019213426,2019213426
+2019213427,2008300779
+2019213428,2019213428
+2019213429,2019213429
+2019213430,2019213430
+2019213431,2019213431
+2019213432,2019213432
+2019213433,2019213433
+2019213434,2008303140
+2019213435,2019213435
+2019213436,2015070087
+2019213437,2019213437
+2019213438,2019213438
+2019213439,2019213439
+2019213440,2019213440
+2019213441,2019213441
+2019213442,2019213442
+2019213443,2019213443
+2019213444,2019213444
+2019213445,2019213445
+2019213446,2019213446
+2019213447,2019213447
+2019213448,2019213448
+2019213449,2019213449
+2019213450,2019213450
+2019213451,2019213451
+2019213452,2017010159
+2019213453,2019213453
+2019213454,2019213454
+2019213455,2019213455
+2019213456,2019213456
+2019213457,2019213457
+2019213458,2019213458
+2019213459,2019213459
+2019213460,2019213460
+2019213461,2019213461
+2019213462,2019213462
+2019213463,2019213463
+2019213464,2019213464
+2019213465,2019213465
+2019213466,2019213466
+2019213467,2019213467
+2019213468,2019213468
+2019213469,2019213469
+2019213470,2019213470
+2019213471,2019213471
+2019213472,2019213472
+2019213473,2019213473
+2019213474,2019213474
+2019213475,2019213475
+2019213476,2019213476
+2019213477,2019213477
+2019213478,2019213478
+2019213479,2019213479
+2019213486,2019213486
+2019213487,2019213487
+2019213488,2019213488
+2019213489,2019213489
+2019213490,2019213490
+2019213491,2019213491
+2019213492,2019213492
+2019213493,2019213493
+2019213494,2019213494
+2019213495,2019213495
+2019213496,2019213496
+2019213497,2019213497
+2019213498,2019213498
+2019213499,040396
+2019213500,2019213500
+2019213501,2019213501
+2019213502,2019213502
+2019213503,2019213503
+2019213504,2019213504
+2019213505,2019213505
+2019213506,2019213506
+2019213507,2019213507
+2019213508,2019213508
+2019213509,2019213509
+2019213510,2019213510
+2019213511,2019213511
+2019213512,2019213512
+2019213513,2019213513
+2019213514,2019213514
+2019213515,2019213515
+2019213516,2019213516
+2019213517,2019213517
+2019213518,2019213518
+2019213519,2019213519
+2019213520,2019213520
+2019213521,2019213521
+2019213522,2019213522
+2019213523,2019213523
+2019213524,2019213524
+2019213525,2019213525
+2019213526,2019213526
+2019213527,2019213527
+2019213528,2019213528
+2019213529,2019213529
+2019213530,2019213530
+2019213531,2015301924
+2019213532,2019213532
+2019213533,2019213533
+2019213534,2019213534
+2019213535,2019213535
+2019213536,2015303306
+2019213537,2019213537
+2019213538,2019213538
+2019213539,2019213539
+2019213540,2019213540
+2019213541,2019213541
+2019213542,2019213542
+2019213543,2019213543
+2019213544,2019213544
+2019213545,2019213545
+2019213546,2019213546
+2019213547,2008302518
+2019213548,2019213548
+2019213549,2019213549
+2019213550,2019213550
+2019213551,2019213551
+2019213552,2019213552
+2019213553,2019213553
+2019213554,2019213554
+2019213555,2019213555
+2019213556,2019213556
+2019213557,2019213557
+2019213558,2019213558
+2019213559,2019213559
+2019213560,2019213560
+2019213561,2019213561
+2019213562,2019213562
+2019213563,2019213563
+2019213564,2019213564
+2019213565,2019213565
+2019213566,2019213566
+2019213567,2019213567
+2019213568,2019213568
+2019213569,2019213569
+2019213570,2019213570
+2019213571,2019213571
+2019213572,2019213572
+2019213573,2019213573
+2019213574,2019213574
+2019213575,2019213575
+2019213576,2019213576
+2019213577,2019213577
+2019213578,2019213578
+2019213579,2019213579
+2019213580,2019213580
+2019213581,2019213581
+2019213582,2019213582
+2019213583,2013302714
+2019213584,2019213584
+2019213585,2019213585
+2019213586,2019213586
+2019213587,2019213587
+2019213588,2019213588
+2019213589,2019213589
+2019213590,2019213590
+2019213591,2019213591
+2019213592,051825
+2019213593,2019213593
+2019213594,2019213594
+2019213595,2019213595
+2019213596,2019213596
+2019213597,2019213597
+2019213598,2019213598
+2019213599,2019213599
+2019213600,2013302447
+2019213601,2014300135
+2019213602,2019213602
+2019213603,2019213603
+2019213604,2014303602
+2019213605,2019213605
+2019213606,2019213606
+2019213607,2019213607
+2019213608,2019213608
+2019213609,2019213609
+2019213610,2019213610
+2019213611,2015300882
+2019213612,2019213612
+2019213613,2019213613
+2019213614,2019213614
+2019213615,2019213615
+2019213616,2019213616
+2019213617,2014302407
+2019213618,2019213618
+2019213619,2019213619
+2019213620,2015303228
+2019213621,2019213621
+2019213622,2019213622
+2019213623,2019213623
+2019213624,2015303268
+2019213625,2019213625
+2019213626,2019213626
+2019213627,2019213627
+2019213628,2019213628
+2019213629,2019213629
+2019213630,2019213630
+2019213631,2019213631
+2019213632,2019213632
+2019213633,2019213633
+2019213634,2019213634
+2019213635,2019213635
+2019213636,2019213636
+2019213637,2014302784
+2019213638,2019213638
+2019213639,2019213639
+2019213640,2015301229
+2019213641,2019213641
+2019213642,2019213642
+2019213643,2019213643
+2019213644,2019213644
+2019213645,2019213645
+2019213646,2015301896
+2019213647,2019213647
+2019213648,2019213648
+2019213649,2019213649
+2019213650,2019213650
+2019213651,2019213651
+2019213652,2019213652
+2019213653,2019213653
+2019213654,2019213654
+2019213655,2019213655
+2019213656,2019213656
+2019213657,2019213657
+2019213658,2019213658
+2019213659,2019213659
+2019213660,2019213660
+2019213661,2019213661
+2019213662,2019213662
+2019213663,2019213663
+2019213664,2019213664
+2019213665,2019213665
+2019213865,2019213865
+2019213866,2019213866
+2019213867,2019213867
+2019213868,2019213868
+2019213869,2019213869
+2019213870,2010303109
+2019213873,2019213873
+2019250001,2019250001
+2019250002,2019250002
+2019250003,2019250003
+2019250004,2019250004
+2019250005,2019250005
+2019250006,2014300873
+2019250007,2019250007
+2019250008,2019250008
+2019250009,2019250009
+2019250010,2019250010
+2019250011,2019250011
+2019250012,2014303401
+2019250013,2019250013
+2019250014,2019250014
+2019250015,2019250015
+2019250016,2019250016
+2019250017,2019250017
+2019250018,2019250018
+2019250019,2019250019
+2019250020,2019250020
+2019250021,2019250021
+2019250022,2019250022
+2019250023,2019250023
+2019250024,2019250024
+2019250025,2019250025
+2019250026,2019250026
+2019250027,2019250027
+2019250028,2015301103
+2019250029,2019250029
+2019250030,2019250030
+2019250031,2019250031
+2019250032,2019250032
+2019250033,2019250033
+2019250034,2019250034
+2019250035,2019250035
+2019250036,2019250036
+2019250037,2019250037
+2019250038,2019250038
+2019250039,2014302113
+2019250040,2019250040
+2019250041,2019250041
+2019250042,2015300202
+2019250043,2014302250
+2019250044,2015302085
+2019250045,2015301145
+2019250046,2019250046
+2019250047,2014301973
+2019250048,2019250048
+2019250049,2019250049
+2019250050,2019250050
+2019250051,2019250051
+2019250052,2019250052
+2019250053,2019250053
+2019250054,2019250054
+2019250055,2019250055
+2019250056,2019250056
+2019250057,2019250057
+2019250058,2019250058
+2019250059,2019250059
+2019250060,2019250060
+2019250061,2019250061
+2019250062,2019250062
+2019250063,2019250063
+2019250064,2019250064
+2019250065,2019250065
+2019250066,2019250066
+2019250067,2019250067
+2019250068,2019250068
+2019250069,2019250069
+2019250070,2015300218
+2019250071,2015300415
+2019250072,2019250072
+2019250073,2019250073
+2019250074,2019250074
+2019250075,2013302335
+2019250076,2019250076
+2019250077,2019250077
+2019250078,2019250078
+2019250079,2019250079
+2019250080,2019250080
+2019250081,2019250081
+2019250082,2019250082
+2019250083,2019250083
+2019250084,2019250084
+2019250085,2015301486
+2019250086,2019250086
+2019250087,2014301700
+2019250088,2019250088
+2019250089,2019250089
+2019250090,2019250090
+2019250091,2019250091
+2019250092,2019250092
+2019250093,2019250093
+2019250094,2019250094
+2019250095,2019250095
+2019250096,2019250096
+2019250097,2019250097
+2019250098,2019250098
+2019250099,2019250099
+2019250100,2019250100
+2019250101,2019250101
+2019250102,2019250102
+2019250103,2019250103
+2019250104,2019250104
+2019250105,2019250105
+2019250106,2019250106
+2019250107,2019250107
+2019250108,2019250108
+2019250109,2019250109
+2019250110,2019250110
+2019250111,2019250111
+2019250112,2019250112
+2019250113,2019250113
+2019250114,2019250114
+2019250115,2019250115
+2019250116,2015302746
+2019250117,2019250117
+2019250118,2019250118
+2019250119,2019250119
+2019250120,2019250120
+2019250121,2019250121
+2019250122,2019250122
+2019250123,2019250123
+2019250124,2019250124
+2019250125,2019250125
+2019250126,2019250126
+2019250127,2019250127
+2019250128,2015300249
+2019250129,2015301616
+2019250130,2015301593
+2019250131,2019250131
+2019250132,2019250132
+2019250133,2019250133
+2019250134,2019250134
+2019250135,2019250135
+2019250136,2019250136
+2019250137,2019250137
+2019250138,2019250138
+2019250139,2019250139
+2019250140,2019250140
+2019250141,2019250141
+2019250142,2019250142
+2019250143,2019250143
+2019250144,2019250144
+2019250145,2019250145
+2019250146,2019250146
+2019250147,2019250147
+2019250148,2019250148
+2019250149,2019250149
+2019250150,2019250150
+2019250151,2019250151
+2019250152,2019250152
+2019250153,2019250153
+2019250154,2019250154
+2019250155,2019250155
+2019250156,2019250156
+2019250157,2010300295
+2019250158,2019250158
+2019250159,2019250159
+2019250160,2019250160
+2019250161,2019250161
+2019250162,2019250162
+2019250163,2019250163
+2019250164,2019250164
+2019250165,2019250165
+2019250166,2019250166
+2019250167,2019250167
+2019250168,2019250168
+2019250169,2019250169
+2019250170,2014301576
+2019250171,2019250171
+2019250172,2015300538
+2019250173,2019250173
+2019250174,2019250174
+2019250175,2019250175
+2019250176,2019250176
+2019250177,2019250177
+2019250178,2019250178
+2019250179,2019250179
+2019250180,2019250180
+2019250181,2019250181
+2019250182,2019250182
+2019250183,2019250183
+2019250184,2019250184
+2019250185,2019250185
+2019260154,2019260154
+2019260155,2019260155
+2019260156,2014300239
+2019260157,2019260157
+2019260158,2015300396
+2019260159,2019260159
+2019260160,2019260160
+2019260161,2015300430
+2019260162,2019260162
+2019260163,2019260163
+2019260164,2019260164
+2019260165,2019260165
+2019260166,2019260166
+2019260167,2019260167
+2019260168,2019260168
+2019260169,2019260169
+2019260170,2014300395
+2019260171,2019260171
+2019260172,2019260172
+2019260173,2019260173
+2019260174,2019260174
+2019260175,2019260175
+2019260176,2019260176
+2019260177,2019260177
+2019260178,2015300223
+2019260179,2015300219
+2019260180,2019260180
+2019260181,2019260181
+2019260182,2019260182
+2019260183,2015300399
+2019260184,2019260184
+2019260185,2019260185
+2019260186,2019260186
+2019260187,2019260187
+2019260188,2019260188
+2019260189,2015303412
+2019260190,2015300381
+2019260191,2019260191
+2019260192,2019260192
+2019260193,2019260193
+2019260194,2015300271
+2019260195,2019260195
+2019260196,2019260196
+2019260197,2019260197
+2019260198,2019260198
+2019260199,2019260199
+2019260200,2019260200
+2019260201,2019260201
+2019260202,2019260202
+2019260203,2019260203
+2019260204,2015300426
+2019260205,2019260205
+2019260206,2015300221
+2019260207,2019260207
+2019260208,2015300015
+2019260209,2019260209
+2019260210,2019260210
+2019260211,2019260211
+2019260212,2019260212
+2019260213,2019260213
+2019260214,2019260214
+2019260215,2015300431
+2019260216,2019260216
+2019260217,2019260217
+2019260218,2019260218
+2019260219,2019260219
+2019260220,2015300423
+2019260221,2015300421
+2019260222,2019260222
+2019260223,2019260223
+2019260224,2014300260
+2019260225,2015300261
+2019260226,2015300434
+2019260227,2015300313
+2019260228,2015300231
+2019260229,2019260229
+2019260230,2015300363
+2019260231,2019260231
+2019260232,2015300235
+2019260233,2019260233
+2019260234,2015300352
+2019260235,2015300327
+2019260236,2015302863
+2019260237,2019260237
+2019260238,2019260238
+2019260239,2019260239
+2019260240,2019260240
+2019260241,2015300388
+2019260242,2019260242
+2019260243,2019260243
+2019260244,2019260244
+2019260245,2019260245
+2019260246,2019260246
+2019260247,2015300226
+2019260248,2019260248
+2019260249,2019260249
+2019260250,2019260250
+2019260251,2019260251
+2019260252,2015300288
+2019260253,2019260253
+2019260254,2019260254
+2019260255,2019260255
+2019260256,2015300379
+2019260257,2014300356
+2019260258,2019260258
+2019260259,2015300008
+2019260260,2019260260
+2019260261,2019260261
+2019260262,2019260262
+2019260263,2015300222
+2019260264,2015300367
+2019260265,2015300246
+2019260266,2019260266
+2019260267,2019260267
+2019260268,2019260268
+2019260269,2019260269
+2019260270,2019260270
+2019260271,2015300359
+2019260272,2013300369
+2019260273,2019260273
+2019260274,2019260274
+2019260275,2019260275
+2019260276,2019260276
+2019260277,2019260277
+2019260278,2019260278
+2019260279,2019260279
+2019260280,2019260280
+2019260281,2019260281
+2019260282,2015300259
+2019260283,2019260283
+2019260284,2012300376
+2019260285,2019260285
+2019260372,2019260372
+2019260373,2019260373
+2019260374,2019260374
+2019260375,2019260375
+2019260376,2019260376
+2019260377,2019260377
+2019260378,2019260378
+2019260379,2019260379
+2019260380,2019260380
+2019260381,2019260381
+2019260382,2019260382
+2019260383,2019260383
+2019260384,2019260384
+2019260385,2019260385
+2019260386,2013300052
+2019260387,2019260387
+2019260388,2019260388
+2019260389,2019260389
+2019260390,2019260390
+2019260391,2019260391
+2019260392,2019260392
+2019260393,2019260393
+2019260394,2019260394
+2019260395,2019260395
+2019260396,2019260396
+2019260397,2019260397
+2019260398,2019260398
+2019260399,2019260399
+2019260400,2019260400
+2019260401,2019260401
+2019260402,2019260402
+2019260403,2019260403
+2019260404,2019260404
+2019260405,2019260405
+2019260406,2019260406
+2019260407,2019260407
+2019260408,2019260408
+2019260409,2019260409
+2019260410,2019260410
+2019260411,2019260411
+2019260412,2019260412
+2019260413,2015300543
+2019260414,2019260414
+2019260415,2015300511
+2019260416,2014300010
+2019260417,2015300093
+2019260418,2015300545
+2019260419,2012300434
+2019260420,2015300463f
+2019260421,2019260421
+2019260422,2015301479
+2019260423,2019260423
+2019260424,2015300150
+2019260425,2019260425
+2019260426,2014300522
+2019260427,2019260427
+2019260428,2019260428
+2019260429,2019260429
+2019260430,2019260430
+2019260431,2019260431
+2019260432,2015300533
+2019260433,2019260433
+2019260434,2011300564
+2019260435,2014300068
+2019260436,2015300604
+2019260437,2015300547
+2019260438,2014300507
+2019260439,2015302083
+2019260440,2015300505
+2019260441,2014300173
+2019260442,2015300577
+2019260443,2015300525
+2019260444,2015300613
+2019260445,2019260445
+2019260446,2019260446
+2019260447,2019260447
+2019260448,2019260448
+2019260449,2015300611
+2019260450,2019260450
+2019260451,2019260451
+2019260452,2019260452
+2019260453,2019260453
+2019260454,2019260454
+2019260455,2019260455
+2019260456,2019260456
+2019260457,2019260457
+2019260572,2015300789
+2019260573,2019260573
+2019260574,2015300807
+2019260575,2019260575
+2019260576,2019260576
+2019260577,2019260577
+2019260578,2015300801
+2019260579,2019260579
+2019260580,2019260580
+2019260581,2019260581
+2019260582,2019260582
+2019260583,2019260583
+2019260584,2019260584
+2019260585,2019260585
+2019260586,2014300958
+2019260587,2019260587
+2019260588,2019260588
+2019260589,2019260589
+2019260590,2019260590
+2019260591,2019260591
+2019260592,2019260592
+2019260593,2019260593
+2019260594,2019260594
+2019260595,2019260595
+2019260596,2019260596
+2019260597,2019260597
+2019260598,2019260598
+2019260599,2019260599
+2019260600,2019260600
+2019260601,2019260601
+2019260602,2019260602
+2019260603,2019260603
+2019260604,2019260604
+2019260605,2019260605
+2019260606,2019260606
+2019260607,2019260607
+2019260608,2019260608
+2019260609,2019260609
+2019260610,2019260610
+2019260611,2019260611
+2019260612,2019260612
+2019260613,2019260613
+2019260614,2019260614
+2019260615,2019260615
+2019260616,2019260616
+2019260617,2019260617
+2019260618,2019260618
+2019260619,2019260619
+2019260620,2019260620
+2019260621,2019260621
+2019260622,2014300672
+2019260623,2019260623
+2019260624,2019260624
+2019260625,2019260625
+2019260626,2015300741
+2019260627,2019260627
+2019260628,2019260628
+2019260629,2019260629
+2019260630,2019260630
+2019260631,2019260631
+2019260632,2015300652
+2019260633,2019260633
+2019260634,2019260634
+2019260635,2019260635
+2019260636,2019260636
+2019260637,2019260637
+2019260638,2019260638
+2019260639,2015300753
+2019260640,2019260640
+2019260641,2019260641
+2019260642,2019260642
+2019260643,2019260643
+2019260644,2019260644
+2019260645,2019260645
+2019260646,2019260646
+2019260647,2019260647
+2019260648,2019260648
+2019260649,2019260649
+2019260650,2019260650
+2019260651,2019260651
+2019260652,2014303335
+2019260653,2019260653
+2019260654,2019260654
+2019260655,2014300759
+2019260656,2019260656
+2019260657,2019260657
+2019260658,2019260658
+2019260659,2019260659
+2019260660,2019260660
+2019260661,2019260661
+2019260662,2019260662
+2019260663,2019260663
+2019260664,2019260664
+2019260665,2019260665
+2019260666,2019260666
+2019260667,2019260667
+2019260668,2019260668
+2019260669,2019260669
+2019260670,2019260670
+2019260671,2015300687
+2019260672,2015302267
+2019260673,2015300697
+2019260674,2019260674
+2019260675,2015300677
+2019260864,2012300890
+2019260865,2019260865
+2019260866,2019260866
+2019260867,2019260867
+2019260868,2019260868
+2019260869,2019260869
+2019260870,2019260870
+2019260871,2019260871
+2019260872,2015300893
+2019260873,2019260873
+2019260874,2014300947
+2019260875,2019260875
+2019260876,2019260876
+2019260877,2019260877
+2019260878,2019260878
+2019260879,2019260879
+2019260880,2019260880
+2019260881,2015300987
+2019260882,2019260882
+2019260883,2019260883
+2019260884,2019260884
+2019260885,2019260885
+2019260886,2019260886
+2019260887,2019260887
+2019260888,2019260888
+2019260889,2019260889
+2019260890,2019260890
+2019260891,2019260891
+2019260892,2019260892
+2019260893,2019260893
+2019260894,2019260894
+2019260895,2019260895
+2019260896,2019260896
+2019260897,2019260897
+2019260898,2019260898
+2019260899,2019260899
+2019260900,2015300965
+2019260901,2019260901
+2019260902,2019260902
+2019260903,2019260903
+2019260904,2019260904
+2019260905,2019260905
+2019260906,2019260906
+2019260907,2019260907
+2019260908,2019260908
+2019260909,2019260909
+2019260910,2019260910
+2019260911,2014301026
+2019260912,2019260912
+2019260913,2019260913
+2019260914,2019260914
+2019260915,2019260915
+2019260916,2015300903
+2019260917,2019260917
+2019260918,2019260918
+2019260919,2019260919
+2019260920,2019260920
+2019260921,2015301012
+2019260922,2019260922
+2019260923,2019260923
+2019260924,2019260924
+2019260925,2019260925
+2019260926,2019260926
+2019260927,2019260927
+2019260928,2019260928
+2019260929,2015300983
+2019260930,2019260930
+2019260931,2019260931
+2019260932,2019260932
+2019260933,2019260933
+2019260934,2019260934
+2019260935,2019260935
+2019260936,2019260936
+2019260937,2019260937
+2019260938,2019260938
+2019260939,2015300917
+2019260940,2019260940
+2019260941,2019260941
+2019260942,2019260942
+2019260943,2019260943
+2019260944,2019260944
+2019260945,2019260945
+2019260946,2019260946
+2019260947,2019260947
+2019260948,2019260948
+2019260949,2019260949
+2019260950,2019260950
+2019260951,2019260951
+2019260952,2019260952
+2019260953,2019260953
+2019260954,2013301066
+2019260955,2015301000
+2019260956,2019260956
+2019260957,2019260957
+2019260958,2019260958
+2019260959,2019260959
+2019260960,2019260960
+2019260961,2019260961
+2019260962,2015300881
+2019260963,2019260963
+2019260964,2019260964
+2019260965,2015300973
+2019260966,2019260966
+2019260967,2019260967
+2019260968,2019260968
+2019260969,2019260969
+2019260970,2019260970
+2019260971,2015300860
+2019260972,2019260972
+2019260973,2019260973
+2019260974,2019260974
+2019260975,2019260975
+2019260976,2019260976
+2019260977,2019260977
+2019260978,2019260978
+2019260979,2019260979
+2019260980,2019260980
+2019260981,2019260981
+2019260982,2019260982
+2019260983,2019260983
+2019260984,2015300838
+2019260985,2019260985
+2019260986,2019260986
+2019260987,2019260987
+2019260988,2019260988
+2019260989,2019260989
+2019260990,2015300942
+2019260991,2019260991
+2019260992,2019260992
+2019260993,2019260993
+2019260994,2019260994
+2019260995,2019260995
+2019260996,2019260996
+2019260997,2019260997
+2019260998,2019260998
+2019260999,2019260999
+2019261000,2019261000
+2019261001,2019261001
+2019261002,2019261002
+2019261003,2019261003
+2019261004,2015300944
+2019261005,2019261005
+2019261006,2019261006
+2019261007,2019261007
+2019261008,2019261008
+2019261009,2019261009
+2019261010,2019261010
+2019261011,2019261011
+2019261012,2019261012
+2019261013,2019261013
+2019261014,2019261014
+2019261015,2019261015
+2019261016,2019261016
+2019261017,2019261017
+2019261018,2019261018
+2019261019,2019261019
+2019261020,2019261020
+2019261021,2019261021
+2019261022,2015302358
+2019261023,2019261023
+2019261024,2019261024
+2019261025,2019261025
+2019261026,2019261026
+2019261027,2019261027
+2019261028,2019261028
+2019261029,2019261029
+2019261030,2019261030
+2019261031,2019261031
+2019261032,2019261032
+2019261033,2019261033
+2019261034,2019261034
+2019261035,2019261035
+2019261036,2019261036
+2019261037,2019261037
+2019261038,2019261038
+2019261039,2019261039
+2019261040,2019261040
+2019261041,2019261041
+2019261042,2019261042
+2019261043,2019261043
+2019261044,2019261044
+2019261045,2019261045
+2019261046,2019261046
+2019261047,2019261047
+2019261048,2019261048
+2019261049,2019261049
+2019261050,2019261050
+2019261051,2019261051
+2019261052,2019261052
+2019261053,2019261053
+2019261054,2019261054
+2019261055,2019261055
+2019261056,2019261056
+2019261057,2019261057
+2019261058,2019261058
+2019261059,2019261059
+2019261060,2019261060
+2019261061,2015300869
+2019261062,2019261062
+2019261063,2019261063
+2019261064,2019261064
+2019261065,2019261065
+2019261066,2019261066
+2019261067,2019261067
+2019261068,2019261068
+2019261069,2019261069
+2019261070,2019261070
+2019261071,2019261071
+2019261072,2019261072
+2019261073,2019261073
+2019261074,2019261074
+2019261075,2019261075
+2019261076,2019261076
+2019261077,2019261077
+2019261078,2019261078
+2019261079,2019261079
+2019261080,2019261080
+2019261081,2019261081
+2019261082,2019261082
+2019261083,2019261083
+2019261084,2019261084
+2019261085,2019261085
+2019261258,2019261258
+2019261259,2019261259
+2019261260,2019261260
+2019261261,2019261261
+2019261262,2019261262
+2019261263,2019261263
+2019261264,2019261264
+2019261265,2019261265
+2019261266,2019261266
+2019261267,2019261267
+2019261268,2019261268
+2019261269,2019261269
+2019261270,2019261270
+2019261271,2019261271
+2019261272,2019261272
+2019261273,2019261273
+2019261274,2019261274
+2019261275,2019261275
+2019261276,2019261276
+2019261277,2019261277
+2019261278,2019261278
+2019261279,2019261279
+2019261280,2019261280
+2019261281,2019261281
+2019261282,2019261282
+2019261283,2019261283
+2019261284,2019261284
+2019261285,2019261285
+2019261286,2019261286
+2019261287,2019261287
+2019261288,2019261288
+2019261289,2019261289
+2019261290,2019261290
+2019261291,2019261291
+2019261292,2019261292
+2019261293,2019261293
+2019261294,2019261294
+2019261295,2019261295
+2019261296,2019261296
+2019261297,2019261297
+2019261298,2019261298
+2019261299,2019261299
+2019261300,2019261300
+2019261301,2019261301
+2019261302,2019261302
+2019261303,2019261303
+2019261304,2019261304
+2019261305,2019261305
+2019261306,2019261306
+2019261307,2019261307
+2019261308,2019261308
+2019261309,2019261309
+2019261310,2019261310
+2019261311,2019261311
+2019261312,2019261312
+2019261313,2019261313
+2019261314,2019261314
+2019261315,2019261315
+2019261316,2019261316
+2019261317,2019261317
+2019261318,2019261318
+2019261319,2019261319
+2019261320,2019261320
+2019261321,2019261321
+2019261322,2015301092
+2019261323,2019261323
+2019261324,2019261324
+2019261325,2019261325
+2019261326,2014300088
+2019261327,2019261327
+2019261328,2019261328
+2019261329,2019261329
+2019261330,2019261330
+2019261331,2015301118
+2019261332,2019261332
+2019261333,2019261333
+2019261334,2012301122
+2019261335,2015301091
+2019261336,2019261336
+2019261337,2015301046
+2019261338,2019261338
+2019261339,2015301087
+2019261340,2019261340
+2019261341,2019261341
+2019261342,2019261342
+2019261343,2019261343
+2019261344,2019261344
+2019261345,2019261345
+2019261346,2019261346
+2019261347,2019261347
+2019261348,2019261348
+2019261349,2019261349
+2019261350,2008301202
+2019261351,2019261351
+2019261352,2019261352
+2019261353,2015301090
+2019261354,2019261354
+2019261355,2019261355
+2019261356,2019261356
+2019261357,2019261357
+2019261358,2019261358
+2019261359,2019261359
+2019261360,2015301056
+2019261361,2019261361
+2019261362,2015301062
+2019261363,2019261363
+2019261364,2019261364
+2019261365,2019261365
+2019261366,2019261366
+2019261367,2019261367
+2019261368,2010301345
+2019261369,2015302887
+2019261370,2015301215
+2019261371,2019261371
+2019261372,2015301213
+2019261373,2015301223
+2019261374,2015301214
+2019261375,2015301210
+2019261376,2015301220
+2019261377,2015301181
+2019261378,2015301180
+2019261379,2019261379
+2019261380,2014301420
+2019261381,2019261381
+2019261382,2019261382
+2019261383,2015301191
+2019261384,2019261384
+2019261385,2019261385
+2019261386,2015301286
+2019261387,2015301281
+2019261388,2015301285
+2019261447,2019261447
+2019261448,2019261448
+2019261449,2015301395
+2019261450,2019261450
+2019261451,2019261451
+2019261452,2015302862
+2019261453,2019261453
+2019261454,2019261454
+2019261455,2015301401
+2019261456,2019261456
+2019261457,2019261457
+2019261458,2019261458
+2019261459,2019261459
+2019261460,2019261460
+2019261461,2019261461
+2019261462,2019261462
+2019261463,2019261463
+2019261464,2019261464
+2019261465,2019261465
+2019261466,2019261466
+2019261467,2019261467
+2019261468,2019261468
+2019261469,2019261469
+2019261470,2019261470
+2019261471,2019261471
+2019261472,2019261472
+2019261473,2019261473
+2019261474,2019261474
+2019261475,2019261475
+2019261476,2019261476
+2019261477,2019261477
+2019261478,2019261478
+2019261479,2019261479
+2019261480,2019261480
+2019261481,2019261481
+2019261482,2019261482
+2019261483,2019261483
+2019261484,2019261484
+2019261485,2019261485
+2019261486,2019261486
+2019261487,2019261487
+2019261488,2019261488
+2019261489,2019261489
+2019261568,2015301687
+2019261569,2019261569
+2019261570,2019261570
+2019261571,2019261571
+2019261572,2015301515
+2019261573,2019261573
+2019261574,2019261574
+2019261575,2019261575
+2019261576,2015301153
+2019261577,2019261577
+2019261578,2015301478
+2019261579,2019261579
+2019261580,2019261580
+2019261581,2019261581
+2019261582,2019261582
+2019261583,2019261583
+2019261584,2019261584
+2019261585,2019261585
+2019261586,2019261586
+2019261587,2015301599
+2019261588,2019261588
+2019261589,2019261589
+2019261590,2019261590
+2019261591,2015301509
+2019261592,2015301483
+2019261593,2015301659
+2019261594,2019261594
+2019261595,2019261595
+2019261596,2019261596
+2019261597,2019261597
+2019261598,2019261598
+2019261599,2013301816
+2019261600,2015301488
+2019261601,2013300075
+2019261602,2015301580
+2019261603,2015301555
+2019261604,2019261604
+2019261605,2015301611
+2019261606,2015301480
+2019261607,2019261607
+2019261608,2015301491
+2019261609,2015301603
+2019261610,2015301566
+2019261611,2019261611
+2019261612,2015301553
+2019261613,2019261613
+2019261614,2019261614
+2019261615,2019261615
+2019261616,2015301600
+2019261617,2019261617
+2019261618,2015301525
+2019261619,2015301494
+2019261620,2019261620
+2019261621,2015301554
+2019261622,2019261622
+2019261623,2015301677
+2019261624,2019261624
+2019261625,2019261625
+2019261626,2019261626
+2019261627,2019261627
+2019261628,2019261628
+2019261629,2015301578
+2019261630,2019261630
+2019261631,2019261631
+2019261632,2015301546
+2019261633,2015301516
+2019261634,2014300760
+2019261762,2019261762
+2019261763,2015301136
+2019261764,2019261764
+2019261765,2019261765
+2019261766,2019261766
+2019261767,2015302666
+2019261768,2019261768
+2019261769,2019261769
+2019261770,2019261770
+2019261771,2019261771
+2019261772,2019261772
+2019261773,2019261773
+2019261774,2015301922
+2019261775,2015301817
+2019261776,2019261776
+2019261777,2019261777
+2019261778,2015301774
+2019261779,2019261779
+2019261780,2019261780
+2019261781,2019261781
+2019261782,2019261782
+2019261783,2019261783
+2019261784,2019261784
+2019261785,2019261785
+2019261786,2015301790
+2019261787,2019261787
+2019261788,2015301913
+2019261789,2015301952
+2019261790,2015301911
+2019261791,2019261791
+2019261792,2019261792
+2019261793,2019261793
+2019261794,2019261794
+2019261795,2015302087
+2019261796,2019261796
+2019261797,2019261797
+2019261798,2015301753
+2019261799,2019261799
+2019261800,2015301923
+2019261801,2019261801
+2019261802,2015302096
+2019261803,2019261803
+2019261804,2019261804
+2019261805,2019261805
+2019261806,2019261806
+2019261807,2019261807
+2019261808,2019261808
+2019261809,2019261809
+2019261810,2019261810
+2019261811,2019261811
+2019261812,2015301957
+2019261813,2019261813
+2019261814,2019261814
+2019261815,2019261815
+2019261816,2019261816
+2019261817,2015301915
+2019261818,2019261818
+2019261819,2019261819
+2019261820,2019261820
+2019261821,2015301775
+2019261822,2019261822
+2019261823,2019261823
+2019261824,2014301899
+2019261825,2019261825
+2019261826,2019261826
+2019261827,2019261827
+2019261828,2015301954
+2019261829,2015302686
+2019261830,2015302430
+2019261831,2019261831
+2019261832,2014302944
+2019261833,2019261833
+2019261834,2019261834
+2019261835,2019261835
+2019261836,2015301783
+2019261837,2012301867
+2019261838,2019261838
+2019261839,2019261839
+2019261840,2019261840
+2019261841,2019261841
+2019261842,2019261842
+2019261843,2019261843
+2019261844,2019261844
+2019261845,2014301869
+2019261846,2019261846
+2019261847,2014301737
+2019261848,2019261848
+2019261849,2014302018
+2019261850,2015301797
+2019261851,2015302041
+2019261852,2014302462
+2019261853,2019261853
+2019261854,2015302016
+2019261855,2014303639
+2019261856,2013302345
+2019261857,2019261857
+2019261858,2019261858
+2019261859,2019261859
+2019261860,2014302000
+2019261861,2019261861
+2019261862,2014303629
+2019261863,2015301860
+2019262017,2015302183
+2019262018,2015302205
+2019262019,2015300877
+2019262020,2015302193
+2019262021,2019262021
+2019262022,2019262022
+2019262023,2019262023
+2019262024,2019262024
+2019262025,2019262025
+2019262026,2019262026
+2019262027,2019262027
+2019262028,2014302319
+2019262029,2019262029
+2019262030,2015302166
+2019262031,2019262031
+2019262032,2019262032
+2019262033,2019262033
+2019262034,2019262034
+2019262035,2013302277
+2019262036,2019262036
+2019262037,2019262037
+2019262038,2015310004
+2019262039,2019262039
+2019262040,2019262040
+2019262041,2019262041
+2019262042,2015302120
+2019262043,2019262043
+2019262044,2015302310
+2019262045,2019262045
+2019262046,2019262046
+2019262047,2019262047
+2019262048,2015302308
+2019262049,2019262049
+2019262050,2019262050
+2019262051,2015302305
+2019262052,2015302304
+2019262053,2019262053
+2019262054,2019262054
+2019262055,2015302068
+2019262056,2019262056
+2019262057,2019262057
+2019262058,2019262058
+2019262059,2019262059
+2019262060,2019262060
+2019262061,2019262061
+2019262062,2015302114
+2019262063,2014302176
+2019262064,2019262064
+2019262065,2019262065
+2019262066,2019262066
+2019262067,2019262067
+2019262068,2019262068
+2019262069,2019262069
+2019262070,2019262070
+2019262071,2015302071
+2019262072,2019262072
+2019262073,2019262073
+2019262074,2019262074
+2019262075,2015302211
+2019262076,2019262076
+2019262077,2015300154
+2019262078,2019262078
+2019262079,2019262079
+2019262080,2019262080
+2019262081,2019262081
+2019262082,2019262082
+2019262083,2019262083
+2019262084,2019262084
+2019262085,2015302055
+2019262086,2019262086
+2019262087,2019262087
+2019262088,2019262088
+2019262089,2015302257
+2019262090,2019262090
+2019262091,2019262091
+2019262092,2019262092
+2019262093,2019262093
+2019262094,2019262094
+2019262095,2019262095
+2019262096,2019262096
+2019262097,2019262097
+2019262098,2019262098
+2019262099,2019262099
+2019262100,2019262100
+2019262101,2019262101
+2019262102,2019262102
+2019262103,2019262103
+2019262104,2019262104
+2019262105,2015302092
+2019262106,2019262106
+2019262107,2019262107
+2019262108,2015302181
+2019262109,2019262109
+2019262110,2019262110
+2019262111,2019262111
+2019262112,2019262112
+2019262113,2019262113
+2019262114,2019262114
+2019262115,2019262115
+2019262116,2019262116
+2019262117,2015302312
+2019262118,2019262118
+2019262119,2019262119
+2019262120,2019262120
+2019262121,2015302217
+2019262122,2019262122
+2019262123,2019262123
+2019262124,2019262124
+2019262125,2019262125
+2019262126,2019262126
+2019262127,2019262127
+2019262128,2019262128
+2019262252,2019262252
+2019262253,2019262253
+2019262254,2019262254
+2019262255,2019262255
+2019262256,2019262256
+2019262257,2019262257
+2019262258,2019262258
+2019262259,2019262259
+2019262260,2019262260
+2019262261,2019262261
+2019262262,2019262262
+2019262263,2019262263
+2019262264,2019262264
+2019262265,2019262265
+2019262266,2019262266
+2019262267,2015302331
+2019262268,2015302324
+2019262269,2015302466
+2019262270,2019262270
+2019262271,2015302393
+2019262272,2019262272
+2019262273,2019262273
+2019262274,2019262274
+2019262275,2015302369
+2019262276,2019262276
+2019262277,2019262277
+2019262278,2019262278
+2019262279,2015302401
+2019262280,2019262280
+2019262281,2019262281
+2019262282,2019262282
+2019262283,2019262283
+2019262284,2019262284
+2019262285,2015303078
+2019262286,2019262286
+2019262287,2019262287
+2019262288,2019262288
+2019262289,2019262289
+2019262290,2019262290
+2019262291,2015302391
+2019262292,2019262292
+2019262293,2019262293
+2019262294,2019262294
+2019262295,2019262295
+2019262296,2019262296
+2019262297,2019262297
+2019262298,2019262298
+2019262299,2019262299
+2019262300,2019262300
+2019262301,2019262301
+2019262302,2019262302
+2019262303,2016310003
+2019262304,2019262304
+2019262305,2019262305
+2019262306,2019262306
+2019262307,2013302644
+2019262308,2019262308
+2019262309,2019262309
+2019262310,2019262310
+2019262311,2019262311
+2019262312,2019262312
+2019262313,2014302823
+2019262314,2015302859
+2019262315,2016310002
+2019262316,2015301727
+2019262317,2019262317
+2019262318,2019262318
+2019262319,2019262319
+2019262320,2015303149
+2019262321,2019262321
+2019262322,2019262322
+2019262323,2019262323
+2019262324,2019262324
+2019262325,2015303138
+2019262326,2019262326
+2019262327,2015303099
+2019262328,2015301115
+2019262329,2015301735
+2019262330,2015302443
+2019262331,2019262331
+2019262332,2019262332
+2019262333,2019262333
+2019262334,2019262334
+2019262335,2019262335
+2019262336,2019262336
+2019262337,2019262337
+2019262338,2015302392
+2019262339,2019262339
+2019262340,2015303155
+2019262341,2019262341
+2019262342,2019262342
+2019262343,2019262343
+2019262344,2019262344
+2019262345,2019262345
+2019262346,2019262346
+2019262347,2019262347
+2019262348,2019262348
+2019262349,2019262349
+2019262350,2019262350
+2019262351,2015302855
+2019262352,2019262352
+2019262353,2019262353
+2019262354,2019262354
+2019262355,2019262355
+2019262356,2019262356
+2019262357,2019262357
+2019262358,2019262358
+2019262359,2019262359
+2019262360,2019262360
+2019262361,2019262361
+2019262362,2019262362
+2019262363,2015302427
+2019262364,2019262364
+2019262365,2019262365
+2019262366,2014302206
+2019262367,2019262367
+2019262368,2015300195
+2019262369,2019262369
+2019262370,2019262370
+2019262371,2019262371
+2019262372,2019262372
+2019262373,2019262373
+2019262374,2019262374
+2019262375,2015303170
+2019262376,2015303154
+2019262377,2015303161
+2019262378,2019262378
+2019262379,2019262379
+2019262380,2019262380
+2019262381,2019262381
+2019262382,2019262382
+2019262383,2019262383
+2019262384,2019262384
+2019262385,2019262385
+2019262386,2019262386
+2019262387,2019262387
+2019262388,2019262388
+2019262389,2019262389
+2019262390,2019262390
+2019262391,2019262391
+2019262392,2019262392
+2019262393,2019262393
+2019262394,2019262394
+2019262395,2019262395
+2019262396,2015302840
+2019262397,2015301093
+2019262398,2019262398
+2019262399,2019262399
+2019262569,2019262569
+2019262570,2019262570
+2019262571,2019262571
+2019262572,2019262572
+2019262573,2019262573
+2019262574,2019262574
+2019262575,2019262575
+2019262576,2019262576
+2019262577,2019262577
+2019262578,2019262578
+2019262579,2019262579
+2019262580,2019262580
+2019262581,2019262581
+2019262582,2019262582
+2019262583,2019262583
+2019262584,2019262584
+2019262585,2019262585
+2019262586,2019262586
+2019262587,2019262587
+2019262588,2019262588
+2019262589,2019262589
+2019262590,2019262590
+2019262591,2019262591
+2019262592,2019262592
+2019262593,2019262593
+2019262594,2019262594
+2019262595,2019262595
+2019262596,2019262596
+2019262597,2019262597
+2019262598,2019262598
+2019262599,2019262599
+2019262600,2019262600
+2019262601,2019262601
+2019262602,2019262602
+2019262603,2019262603
+2019262604,2019262604
+2019262605,2019262605
+2019262606,2019262606
+2019262607,2019262607
+2019262608,2019262608
+2019262609,2019262609
+2019262610,2019262610
+2019262611,2019262611
+2019262612,2019262612
+2019262613,2019262613
+2019262614,2019262614
+2019262615,20190P0552
+2019262616,2019262616
+2019262617,2019262617
+2019262618,2012302924
+2019262619,2019262619
+2019262620,2019262620
+2019262621,2019262621
+2019262622,2019262622
+2019262623,2019262623
+2019262624,2019262624
+2019262625,2019262625
+2019262626,2019262626
+2019262627,2019262627
+2019262628,2019262628
+2019262629,2019262629
+2019262630,2019262630
+2019262631,2019262631
+2019262632,2019262632
+2019262633,2019262633
+2019262634,2019262634
+2019262635,2019262635
+2019262636,2015302903
+2019262637,2019262637
+2019262638,2019262638
+2019262639,2019262639
+2019262640,2019262640
+2019262641,2019262641
+2019262642,2019262642
+2019262643,2019262643
+2019262644,2019262644
+2019262645,2019262645
+2019262646,2019262646
+2019262647,2019262647
+2019262648,2015302851
+2019262649,2019262649
+2019262650,2019262650
+2019262651,2019262651
+2019262652,2019262652
+2019262653,2019262653
+2019262654,2019262654
+2019262655,2019262655
+2019262656,2019262656
+2019262657,2019262657
+2019262658,2019262658
+2019262659,2019262659
+2019262660,2019262660
+2019262661,2019262661
+2019262662,2019262662
+2019262663,2019262663
+2019262664,2019262664
+2019262665,2019262665
+2019262666,2019262666
+2019262667,2019262667
+2019262668,2019262668
+2019262669,2019262669
+2019262670,2019262670
+2019263485,2013303501
+2019263666,2019263666
+2019263667,2015303236
+2019263668,2019263668
+2019263669,2019263669
+2019263670,2019263670
+2019263671,2019263671
+2019263672,2019263672
+2019263673,2019263673
+2019263674,2015303293
+2019263675,2019263675
+2019263676,2019263676
+2019263677,2019263677
+2019263678,2019263678
+2019263679,2019263679
+2019263680,2019263680
+2019263681,2015303250
+2019263682,2015303252
+2019263683,2019263683
+2019263684,2015303284
+2019263685,2019263685
+2019263686,2019263686
+2019263687,2019263687
+2019263688,2019263688
+2019263689,2019263689
+2019263690,2019263690
+2019263691,2019263691
+2019263692,2019263692
+2019263693,2015303312
+2019263694,2019263694
+2019263695,2019263695
+2019263696,2019263696
+2019263697,2015303216
+2019263698,2019263698
+2019263699,2019263699
+2019263700,2019263700
+2019263701,2015303248
+2019263702,2019263702
+2019263703,2015303218
+2019263704,2019263704
+2019263705,2019263705
+2019263706,2015303296
+2019263707,2015303316
+2019263708,2015303204
+2019263709,2015302885
+2019263710,2015302517
+2019263711,2015303199
+2019263712,2015303174
+2019263713,2019263713
+2019263714,2015303235
+2019263715,2015302334
+2019263716,2019263716
+2019263717,2019263717
+2019263718,2019263718
+2019263719,2019263719
+2019263720,2019263720
+2019263721,2019263721
+2019263722,2019263722
+2019263723,2019263723
+2019263724,2019263724
+2019263725,2019263725
+2019263726,2019263726
+2019263727,2019263727
+2019263728,2019263728
+2019263729,2019263729
+2019263730,2019263730
+2019263731,2019263731
+2019263732,2019263732
+2019263733,2019263733
+2019263734,2015303116
+2019263735,2015302281
+2019263736,2015303082
+2019263737,2019263737
+2019263738,2019263738
+2019263739,2019263739
+2019263740,2019263740
+2019263741,2019263741
+2019263742,2019263742
+2019263743,2019263743
+2019263744,2015303258
+2019263745,2019263745
+2019263746,2015303085
+2019263747,2015303262
+2019263748,2019263748
+2019263749,2019263749
+2019263750,2019263750
+2019263751,2019263751
+2019263752,2015303098
+2019263753,2019263753
+2019263754,2019263754
+2019263755,2019263755
+2019263807,2019263807
+2019263808,2019263808
+2019263809,2019263809
+2019263810,2019263810
+2019263811,2019263811
+2019263812,2019263812
+2019263813,2019263813
+2019263814,2019263814
+2019263815,2019263815
+2019263816,2014300064
+2019263817,2019263817
+2019263818,2019263818
+2019263819,2019263819
+2019263820,2019263820
+2019263821,2019263821
+2019263822,2019263822
+2019263823,20190P0087
+2019263824,2019263824
+2019263825,2019263825
+2019263826,2019263826
+2019263827,2019263827
+2019263828,2019263828
+2019263829,2019263829
+2019263830,2019263830
+2019263831,2019263831
+2019263832,2019263832
+2019263833,2019263833
+2019263834,2019263834
+2019263835,2019263835
+2019263836,2015300836
+2019263837,2019263837
+2019263838,2019263838
+2019263839,2019263839
+2019263840,2019263840
+2019263841,2015303377
+2019263860,2019263860
+2019263861,2019263861
+2019263862,2015303419
+2019263863,2019263863
+2019263864,2019263864
+2019263871,2019263871
+2019263872,2019263872
+2019270001,2019270001
+2019270002,2019270002
+2019270003,2019270003
+2019270004,2019270004
+2019270005,2019270005
+2019270006,2019270006
+2019270007,2019270007
+2019270008,2019270008
+2019270920,2019270920
+2019272002,2019272002
+2019272003,2019272003
+2019272004,2019272004
+2019272005,2019272005
+2019272006,2019272006
+2019272009,2019272009
+2019272011,2019272011
+2019272012,2019272012
+2019272015,2019272015
+2019272018,2019272018
+2019272019,2019272019
+2019272021,2019272021
+2019272022,2019272022
+2019272023,2019272023
+2019272024,2019272024
+2019272025,2019272025
+2019272026,2019272026
+2019272027,2019272027
+2019280103,2019280103
+2019280104,2019280104
+2019280105,2019280105
+2019280111,2019280111
+2019280112,2019280112
+2019280113,2019280113
+2019280114,2019280114
+2019280116,2019280116
+2019280117,2019280117
+2019280118,2019280118
+2019280119,2019280119
+2019280120,2019280120
+2019280204,2019280204
+2019280205,2019280205
+2019280206,2019280206
+2019280207,2019280207
+2019280209,2019280209
+2019280210,2019280210
+2019280211,2019280211
+2019280212,2019280212
+2019280213,2019280213
+2019280303,2019280303
+2019280304,2019280304
+2019280405,2019280405
+2019280406,2019280406
+2019280409,2019280409
+2019280411,2019280411
+2019280412,2019280412
+2019280413,2019280413
+2019280414,2019280414
+2019280415,2019280415
+2019280501,2019280501
+2019280502,2019280502
+2019280503,2019280503
+2019280506,2019280506
+2019280508,2019280508
+2019280509,2019280509
+2019280510,2019280510
+2019280511,2019280511
+2019280513,2019280513
+2019280515,2019280515
+2019280516,2019280516
+2019280517,2019280517
+2019280518,2019280518
+2019280519,2019280519
+2019280520,2019280520
+2019280522,2019280522
+2019280523,2019280523
+2019280524,2019280524
+2019280525,2019280525
+2019280526,2019280526
+2019280529,2019280529
+2019280534,2019280534
+2019280536,2019280536
+2019280537,2019280537
+2019280602,2019280602
+2019280604,2019280604
+2019280605,2019280605
+2019280606,2019280606
+2019280608,2019280608
+2019280609,2019280609
+2019280610,2019280610
+2019280703,2019280703
+2019280803,2019280803
+2019280807,2019280807
+2019280808,2019280808
+2019280809,2019280809
+2019280810,2019280810
+2019280813,2019280813
+2019280814,2019280814
+2019280815,2019280815
+2019280816,2019280816
+2019280817,2019280817
+2019280905,2019280905
+2019280906,2019280906
+2019280907,2019280907
+2019280909,2019280909
+2019280910,2019280910
+2019280911,2019280911
+2019280912,2019280912
+2019280914,2019280914
+2019280915,2019280915
+2019280917,2019280917
+2019280918,2019280918
+2019280919,2019280919
+2019280923,2019280923
+2019280924,2019280924
+2019281006,2019281006
+2019281007,2019281007
+2019281008,2019281008
+2019281009,2019281009
+2019281010,2019281010
+2019281011,2019281011
+2019281012,2019281012
+2019281013,2019281013
+2019281014,2019281014
+2019281015,2019281015
+2019281017,2019281017
+2019281018,2019281018
+2019281019,2019281019
+2019281021,2019281021
+2019281023,2019281023
+2019281024,2019281024
+2019281026,2019281026
+2019281029,2019281029
+2019281030,2019281030
+2019281031,2019281031
+2019281032,2019281032
+2019281103,2019281103
+2019281104,2019281104
+2019281105,2019281105
+2019281110,2019281110
+2019281205,2019281205
+2019281206,2019281206
+2019281210,2019281210
+2019281211,2019281211
+2019281212,2019281212
+2019281213,2019281213
+2019281214,2019281214
+2019281217,2019281217
+2019281220,2019281220
+2019281222,2019281222
+2019281224,2019281224
+2019281225,2019281225
+2019281226,2019281226
+2019281301,2019281301
+2019281302,2019281302
+2019281305,2019281305
+2019281306,2019281306
+2019281307,2019281307
+2019281308,2019281308
+2019281310,2019281310
+2019281403,2019281403
+2019281404,2019281404
+2019281405,2019281405
+2019281407,2019281407
+2019281505,2019281505
+2019281508,2019281508
+2019281509,2019281509
+2019281510,2019281510
+2019281511,2019281511
+2019281601,2019281601
+2019281602,2019281602
+2019281603,2019281603
+2019300001,2019300001
+2019300002,2019300002
+2019300003,2019300003
+2019300004,2019300004
+2019300005,2019300005
+2019300006,2019300006
+2019300007,2019300007
+2019300008,2019300008
+2019300009,2019300009
+2019300010,2019300010
+2019300011,2019300011
+2019300012,2019300012
+2019300013,2019300013
+2019300014,2019300014
+2019300015,2019300015
+2019300016,2019300016
+2019300017,2019300017
+2019300018,2019300018
+2019300019,2019300019
+2019300020,2019300020
+2019300021,2019300021
+2019300022,2019300022
+2019300023,2019300023
+2019300024,2019300024
+2019300025,2019300025
+2019300026,2019300026
+2019300027,2019300027
+2019300028,2019300028
+2019300029,2019300029
+2019300030,2019300030
+2019300031,2019300031
+2019300032,2019300032
+2019300033,2019300033
+2019300034,2019300034
+2019300035,2019300035
+2019300036,2019300036
+2019300037,2019300037
+2019300038,2019300038
+2019300039,2019300039
+2019300040,2019300040
+2019300041,2019300041
+2019300042,2019300042
+2019300043,2019300043
+2019300044,2019300044
+2019300045,2019300045
+2019300046,2019300046
+2019300047,2019300047
+2019300048,2019300048
+2019300049,2019300049
+2019300050,2019300050
+2019300051,2019300051
+2019300052,2019300052
+2019300053,2019300053
+2019300054,2019300054
+2019300055,2019300055
+2019300056,2019300056
+2019300057,2019300057
+2019300058,2019300058
+2019300059,2019300059
+2019300060,2019300060
+2019300061,2019300061
+2019300062,2019300062
+2019300063,2019300063
+2019300064,2019300064
+2019300065,2019300065
+2019300066,2019300066
+2019300067,2019300067
+2019300068,2019300068
+2019300069,2019300069
+2019300070,2019300070
+2019300071,2019300071
+2019300072,2019300072
+2019300073,2019300073
+2019300074,2019300074
+2019300075,2019300075
+2019300076,2019300076
+2019300077,2019300077
+2019300078,2019300078
+2019300079,2019300079
+2019300080,2019300080
+2019300081,2019300081
+2019300082,2019300082
+2019300083,2019300083
+2019300084,2019300084
+2019300085,2019300085
+2019300086,2019300086
+2019300087,2019300087
+2019300088,2019300088
+2019300089,2019300089
+2019300090,2019300090
+2019300091,2019300091
+2019300092,2019300092
+2019300093,2019300093
+2019300094,2019300094
+2019300095,2019300095
+2019300096,2019300096
+2019300097,2019300097
+2019300098,2019300098
+2019300099,2019300099
+2019300100,2019300100
+2019300101,2019300101
+2019300102,2019300102
+2019300103,2019300103
+2019300104,2019300104
+2019300105,2019300105
+2019300106,2019300106
+2019300107,2019300107
+2019300108,2019300108
+2019300109,2019300109
+2019300110,2019300110
+2019300111,2019300111
+2019300112,2019300112
+2019300113,2019300113
+2019300114,2019300114
+2019300115,2019300115
+2019300116,2019300116
+2019300117,2019300117
+2019300118,2019300118
+2019300119,2019300119
+2019300120,2019300120
+2019300121,2019300121
+2019300122,2019300122
+2019300123,2019300123
+2019300124,2019300124
+2019300125,2019300125
+2019300126,2019300126
+2019300127,2019300127
+2019300128,2019300128
+2019300129,2019300129
+2019300130,2019300130
+2019300131,2019300131
+2019300132,2019300132
+2019300133,2019300133
+2019300134,2019300134
+2019300135,2019300135
+2019300136,2019300136
+2019300137,2019300137
+2019300138,2019300138
+2019300139,2019300139
+2019300140,2019300140
+2019300141,2019300141
+2019300142,2019300142
+2019300143,2019300143
+2019300144,2019300144
+2019300145,2019300145
+2019300146,2019300146
+2019300147,2019300147
+2019300148,2019300148
+2019300149,2019300149
+2019300150,2019300150
+2019300151,2019300151
+2019300152,2019300152
+2019300153,2019300153
+2019300154,2018700025
+2019300155,2019300155
+2019300156,2019300156
+2019300157,2019300157
+2019300158,2019300158
+2019300159,2019300159
+2019300160,2019300160
+2019300161,2019300161
+2019300162,2019300162
+2019300163,2019300163
+2019300164,2019300164
+2019300165,2019300165
+2019300166,2019300166
+2019300167,2019300167
+2019300168,2019300168
+2019300169,2019300169
+2019300170,2019300170
+2019300171,2019300171
+2019300172,2019300172
+2019300173,2019300173
+2019300174,2019300174
+2019300175,2019300175
+2019300176,2019300176
+2019300177,2019300177
+2019300178,2019300178
+2019300179,2019300179
+2019300180,2019300180
+2019300181,2018700076
+2019300182,2019300182
+2019300183,2019300183
+2019300184,2019300184
+2019300185,2019300185
+2019300186,2019300186
+2019300187,2019300187
+2019300188,2019300188
+2019300189,2019300189
+2019300190,2019300190
+2019300191,2019300191
+2019300192,2019300192
+2019300193,2019300193
+2019300194,2019300194
+2019300195,2019300195
+2019300196,2019300196
+2019300197,2019300197
+2019300198,2019300198
+2019300199,2019300199
+2019300200,2019300200
+2019300201,2019300201
+2019300202,2019300202
+2019300203,2019300203
+2019300204,2019300204
+2019300205,2019300205
+2019300206,2019300206
+2019300207,2019300207
+2019300208,2019300208
+2019300209,2019300209
+2019300210,2019300210
+2019300211,2019300211
+2019300212,2019300212
+2019300213,2019300213
+2019300214,2019300214
+2019300215,2019300215
+2019300216,2019300216
+2019300217,2019300217
+2019300218,2019300218
+2019300219,2019300219
+2019300220,2019300220
+2019300221,2019300221
+2019300222,2019300222
+2019300223,2019300223
+2019300224,2019300224
+2019300225,2019300225
+2019300226,2019300226
+2019300227,2019300227
+2019300228,2019300228
+2019300229,2019300229
+2019300230,2019300230
+2019300231,2019300231
+2019300232,2019300232
+2019300233,2019300233
+2019300234,2019300234
+2019300235,2019300235
+2019300236,2019300236
+2019300237,2019300237
+2019300238,2019300238
+2019300239,2019300239
+2019300240,2019300240
+2019300241,2019300241
+2019300242,2019300242
+2019300243,2019300243
+2019300244,2019300244
+2019300245,2019300245
+2019300246,2019300246
+2019300247,2019300247
+2019300248,2019300248
+2019300249,2019300249
+2019300250,2019300250
+2019300251,2019300251
+2019300252,2019300252
+2019300253,2018700051
+2019300254,2019300254
+2019300255,2019300255
+2019300256,2019300256
+2019300257,2019300257
+2019300258,2019300258
+2019300259,2019300259
+2019300260,2019300260
+2019300261,2019300261
+2019300262,2019300262
+2019300263,2019300263
+2019300264,2019300264
+2019300265,2019300265
+2019300266,2019300266
+2019300267,2019300267
+2019300268,2019300268
+2019300269,2019300269
+2019300270,2019300270
+2019300271,2019300271
+2019300272,2019300272
+2019300273,2019300273
+2019300274,2019300274
+2019300275,2019300275
+2019300276,2019300276
+2019300277,2019300277
+2019300278,2019300278
+2019300279,2019300279
+2019300280,2019300280
+2019300281,2019300281
+2019300282,2019300282
+2019300283,2019300283
+2019300284,2019300284
+2019300285,2019300285
+2019300286,2019300286
+2019300287,2019300287
+2019300288,2019300288
+2019300289,2019300289
+2019300290,2019300290
+2019300291,2019300291
+2019300292,2019300292
+2019300293,2019300293
+2019300294,2019300294
+2019300295,2019300295
+2019300296,2019300296
+2019300297,2019300297
+2019300298,2019300298
+2019300299,2019300299
+2019300300,2019300300
+2019300301,2019300301
+2019300302,2019300302
+2019300303,2019300303
+2019300304,2019300304
+2019300305,2019300305
+2019300306,2019300306
+2019300307,2019300307
+2019300308,2019300308
+2019300309,2019300309
+2019300310,2019300310
+2019300311,2018700034
+2019300312,2019300312
+2019300313,2019300313
+2019300314,2019300314
+2019300315,2019300315
+2019300316,2019300316
+2019300317,2019300317
+2019300318,2019300318
+2019300319,2019300319
+2019300320,2019300320
+2019300321,2019300321
+2019300322,2019300322
+2019300323,2019300323
+2019300324,2019300324
+2019300325,2019300325
+2019300326,2019300326
+2019300327,2019300327
+2019300328,2019300328
+2019300329,2019300329
+2019300330,2019300330
+2019300331,2019300331
+2019300332,2019300332
+2019300333,2019300333
+2019300334,2018700009
+2019300335,2019300335
+2019300336,2019300336
+2019300337,2019300337
+2019300338,2019300338
+2019300339,2019300339
+2019300340,2019300340
+2019300341,2019300341
+2019300342,2019300342
+2019300343,2019300343
+2019300344,2019300344
+2019300345,2019300345
+2019300346,2019300346
+2019300347,2019300347
+2019300348,2019300348
+2019300349,2019300349
+2019300350,2019300350
+2019300351,2019300351
+2019300352,2019300352
+2019300353,2019300353
+2019300354,2019300354
+2019300355,2019300355
+2019300356,2019300356
+2019300357,2019300357
+2019300358,2019300358
+2019300359,2019300359
+2019300360,2019300360
+2019300361,2019300361
+2019300362,2019300362
+2019300363,2019300363
+2019300364,2019300364
+2019300365,2019300365
+2019300366,2019300366
+2019300367,2019300367
+2019300368,2019300368
+2019300369,2019300369
+2019300370,2019300370
+2019300371,2019300371
+2019300372,2019300372
+2019300373,2019300373
+2019300374,2019300374
+2019300375,2019300375
+2019300376,2019300376
+2019300377,2019300377
+2019300378,2019300378
+2019300379,2019300379
+2019300380,2019300380
+2019300381,2019300381
+2019300382,2019300382
+2019300383,2019300383
+2019300384,2019300384
+2019300385,2019300385
+2019300386,2019300386
+2019300387,2019300387
+2019300388,2019300388
+2019300389,2019300389
+2019300390,2019300390
+2019300391,2019300391
+2019300392,2019300392
+2019300393,2019300393
+2019300394,2019300394
+2019300395,2019300395
+2019300396,2019300396
+2019300397,2019300397
+2019300398,2019300398
+2019300399,2019300399
+2019300400,2019300400
+2019300401,2019300401
+2019300402,2019300402
+2019300403,2019300403
+2019300404,2019300404
+2019300405,2019300405
+2019300406,2019300406
+2019300407,2019300407
+2019300408,2019300408
+2019300409,2019300409
+2019300410,2019300410
+2019300411,2019300411
+2019300412,2019300412
+2019300413,2019300413
+2019300414,2019300414
+2019300415,2019300415
+2019300416,2019300416
+2019300417,2019300417
+2019300418,2019300418
+2019300419,2019300419
+2019300420,2019300420
+2019300421,2019300421
+2019300422,2019300422
+2019300423,2019300423
+2019300424,2019300424
+2019300425,2019300425
+2019300426,2019300426
+2019300427,2019300427
+2019300428,2019300428
+2019300429,2019300429
+2019300430,2019300430
+2019300431,2019300431
+2019300432,2019300432
+2019300433,2019300433
+2019300434,2019300434
+2019300435,2019300435
+2019300436,2019300436
+2019300437,2019300437
+2019300438,2019300438
+2019300439,2019300439
+2019300440,2019300440
+2019300441,2019300441
+2019300442,2019300442
+2019300443,2019300443
+2019300444,2019300444
+2019300445,2019300445
+2019300446,2019300446
+2019300447,2019300447
+2019300448,2019300448
+2019300449,2019300449
+2019300450,2019300450
+2019300451,2019300451
+2019300452,2018700020
+2019300453,2019300453
+2019300454,2019300454
+2019300455,2019300455
+2019300456,2019300456
+2019300457,2019300457
+2019300458,2019300458
+2019300459,2019300459
+2019300460,2019300460
+2019300461,2019300461
+2019300462,2019300462
+2019300463,2019300463
+2019300464,2019300464
+2019300465,2019300465
+2019300466,2019300466
+2019300467,2019300467
+2019300468,2019300468
+2019300469,2019300469
+2019300470,2019300470
+2019300471,2019300471
+2019300472,2019300472
+2019300473,2019300473
+2019300474,2018700042
+2019300475,2019300475
+2019300476,2019300476
+2019300477,2019300477
+2019300478,2019300478
+2019300479,2019300479
+2019300480,2019300480
+2019300481,2019300481
+2019300482,2019300482
+2019300483,2019300483
+2019300484,2019300484
+2019300485,2019300485
+2019300486,2019300486
+2019300487,2019300487
+2019300488,2019300488
+2019300489,2019300489
+2019300490,2019300490
+2019300491,2019300491
+2019300492,2019300492
+2019300493,2019300493
+2019300494,2019300494
+2019300495,2019300495
+2019300496,2019300496
+2019300497,2019300497
+2019300498,2019300498
+2019300499,2019300499
+2019300500,2019300500
+2019300501,2019300501
+2019300502,2019300502
+2019300503,2019300503
+2019300504,2019300504
+2019300505,2019300505
+2019300506,2019300506
+2019300507,2019300507
+2019300508,2019300508
+2019300509,2019300509
+2019300510,2019300510
+2019300511,2019300511
+2019300512,2019300512
+2019300513,2019300513
+2019300514,2019300514
+2019300515,2019300515
+2019300516,2019300516
+2019300517,2019300517
+2019300518,2018700023
+2019300519,2019300519
+2019300520,2019300520
+2019300521,2019300521
+2019300522,2019300522
+2019300523,2019300523
+2019300524,2019300524
+2019300525,2019300525
+2019300526,2019300526
+2019300527,2019300527
+2019300528,2019300528
+2019300529,2019300529
+2019300530,2019300530
+2019300531,2019300531
+2019300532,2019300532
+2019300533,2019300533
+2019300534,2019300534
+2019300535,2019300535
+2019300536,2019300536
+2019300537,2019300537
+2019300538,2019300538
+2019300539,2019300539
+2019300540,2019300540
+2019300541,2019300541
+2019300542,2019300542
+2019300543,2019300543
+2019300544,2019300544
+2019300545,2019300545
+2019300546,2019300546
+2019300547,2019300547
+2019300548,2019300548
+2019300549,2019300549
+2019300550,2019300550
+2019300551,2019300551
+2019300552,2019300552
+2019300553,2019300553
+2019300554,2019300554
+2019300555,2019300555
+2019300556,2019300556
+2019300557,2019300557
+2019300558,2019300558
+2019300559,2019300559
+2019300560,2019300560
+2019300561,2019300561
+2019300562,2019300562
+2019300563,2019300563
+2019300564,2019300564
+2019300565,2019300565
+2019300566,2019300566
+2019300567,2019300567
+2019300568,2019300568
+2019300569,2019300569
+2019300570,2019300570
+2019300571,2019300571
+2019300572,2019300572
+2019300573,2019300573
+2019300574,2019300574
+2019300575,2019300575
+2019300576,2019300576
+2019300577,2019300577
+2019300578,2019300578
+2019300579,2019300579
+2019300580,2019300580
+2019300581,2019300581
+2019300582,2019300582
+2019300583,2019300583
+2019300584,2019300584
+2019300585,2019300585
+2019300586,2019300586
+2019300587,2019300587
+2019300588,2019300588
+2019300589,2019300589
+2019300590,2019300590
+2019300591,2019300591
+2019300592,2019300592
+2019300593,2019300593
+2019300594,2019300594
+2019300595,2019300595
+2019300596,2019300596
+2019300597,2018700072
+2019300598,2019300598
+2019300599,2019300599
+2019300600,2019300600
+2019300601,2019300601
+2019300602,2019300602
+2019300603,2019300603
+2019300604,2019300604
+2019300605,2019300605
+2019300606,2019300606
+2019300607,2019300607
+2019300608,2019300608
+2019300609,2019300609
+2019300610,2019300610
+2019300611,2019300611
+2019300612,2019300612
+2019300613,2019300613
+2019300614,2019300614
+2019300615,2019300615
+2019300616,2019300616
+2019300617,2019300617
+2019300618,2019300618
+2019300619,2019300619
+2019300620,2019300620
+2019300621,2019300621
+2019300622,2019300622
+2019300623,2019300623
+2019300624,2019300624
+2019300625,2019300625
+2019300626,2019300626
+2019300627,2019300627
+2019300628,2019300628
+2019300629,2019300629
+2019300630,2019300630
+2019300631,2019300631
+2019300632,2019300632
+2019300633,2019300633
+2019300634,2019300634
+2019300635,2019300635
+2019300636,2019300636
+2019300637,2019300637
+2019300638,2019300638
+2019300639,2019300639
+2019300640,2019300640
+2019300641,2019300641
+2019300642,2019300642
+2019300643,2019300643
+2019300644,2019300644
+2019300645,2019300645
+2019300646,2019300646
+2019300647,2019300647
+2019300648,2019300648
+2019300649,2019300649
+2019300650,2019300650
+2019300651,2019300651
+2019300652,2019300652
+2019300653,2019300653
+2019300654,2019300654
+2019300655,2019300655
+2019300656,2019300656
+2019300657,2019300657
+2019300658,2019300658
+2019300659,2019300659
+2019300660,2019300660
+2019300661,2019300661
+2019300662,2019300662
+2019300663,2019300663
+2019300664,2019300664
+2019300665,2019300665
+2019300666,2019300666
+2019300667,2019300667
+2019300668,2019300668
+2019300669,2019300669
+2019300670,2019300670
+2019300671,2019300671
+2019300672,2019300672
+2019300673,2019300673
+2019300674,2019300674
+2019300675,2019300675
+2019300676,2019300676
+2019300677,2019300677
+2019300678,2019300678
+2019300679,2019300679
+2019300680,2019300680
+2019300681,2019300681
+2019300682,2019300682
+2019300683,2019300683
+2019300684,2019300684
+2019300685,2019300685
+2019300686,2019300686
+2019300687,2019300687
+2019300688,2019300688
+2019300689,2019300689
+2019300690,2019300690
+2019300691,2019300691
+2019300692,2019300692
+2019300693,2019300693
+2019300694,2019300694
+2019300695,2019300695
+2019300696,2019300696
+2019300697,2019300697
+2019300698,2019300698
+2019300699,2019300699
+2019300700,2019300700
+2019300701,2019300701
+2019300702,2019300702
+2019300703,2019300703
+2019300704,2019300704
+2019300705,2019300705
+2019300706,2019300706
+2019300707,2019300707
+2019300708,2019300708
+2019300709,2019300709
+2019300710,2019300710
+2019300711,2019300711
+2019300712,2019300712
+2019300713,2019300713
+2019300714,2019300714
+2019300715,2019300715
+2019300716,2019300716
+2019300717,2019300717
+2019300718,2019300718
+2019300719,2019300719
+2019300720,2019300720
+2019300721,2019300721
+2019300722,2019300722
+2019300723,2019300723
+2019300724,2019300724
+2019300725,2019300725
+2019300726,2019300726
+2019300727,2019300727
+2019300728,2019300728
+2019300729,2019300729
+2019300730,2019300730
+2019300731,2019300731
+2019300732,2019300732
+2019300733,2019300733
+2019300734,2019300734
+2019300735,2019300735
+2019300736,2019300736
+2019300737,2019300737
+2019300738,2019300738
+2019300739,2019300739
+2019300740,2019300740
+2019300741,2018700031
+2019300742,2019300742
+2019300743,2019300743
+2019300744,2019300744
+2019300745,2019300745
+2019300746,2019300746
+2019300747,2019300747
+2019300748,2019300748
+2019300749,2019300749
+2019300750,2019300750
+2019300751,2019300751
+2019300752,2019300752
+2019300753,2019300753
+2019300754,2019300754
+2019300755,2019300755
+2019300756,2019300756
+2019300757,2019300757
+2019300758,2019300758
+2019300759,2019300759
+2019300760,2019300760
+2019300761,2019300761
+2019300762,2019300762
+2019300763,2019300763
+2019300764,2019300764
+2019300765,2019300765
+2019300766,2019300766
+2019300767,2019300767
+2019300768,2019300768
+2019300769,2019300769
+2019300770,2019300770
+2019300771,2019300771
+2019300772,2019300772
+2019300773,2019300773
+2019300774,2019300774
+2019300775,2019300775
+2019300776,2019300776
+2019300777,2019300777
+2019300778,2019300778
+2019300779,2019300779
+2019300780,2019300780
+2019300781,2019300781
+2019300782,2019300782
+2019300783,2019300783
+2019300784,2019300784
+2019300785,2019300785
+2019300786,2019300786
+2019300787,2019300787
+2019300788,2019300788
+2019300789,2019300789
+2019300790,2019300790
+2019300791,2019300791
+2019300792,2019300792
+2019300793,2019300793
+2019300794,2019300794
+2019300795,2019300795
+2019300796,2019300796
+2019300797,2019300797
+2019300798,2019300798
+2019300799,2019300799
+2019300800,2019300800
+2019300801,2019300801
+2019300802,2019300802
+2019300803,2019300803
+2019300804,2019300804
+2019300805,2019300805
+2019300806,2019300806
+2019300807,2019300807
+2019300808,2019300808
+2019300809,2019300809
+2019300810,2019300810
+2019300811,2019300811
+2019300812,2019300812
+2019300813,2019300813
+2019300814,2019300814
+2019300815,2019300815
+2019300816,2019300816
+2019300817,2019300817
+2019300818,2019300818
+2019300819,2019300819
+2019300820,2019300820
+2019300821,2019300821
+2019300822,2019300822
+2019300823,2019300823
+2019300824,2019300824
+2019300825,2019300825
+2019300826,2019300826
+2019300827,2019300827
+2019300828,2019300828
+2019300829,2019300829
+2019300830,2019300830
+2019300831,2019300831
+2019300832,2019300832
+2019300833,2019300833
+2019300834,2019300834
+2019300835,2019300835
+2019300836,2019300836
+2019300837,2019300837
+2019300838,2019300838
+2019300839,2019300839
+2019300840,2019300840
+2019300841,2019300841
+2019300842,2019300842
+2019300843,2019300843
+2019300844,2019300844
+2019300845,2019300845
+2019300846,2019300846
+2019300847,2019300847
+2019300848,2019300848
+2019300849,2019300849
+2019300850,2019300850
+2019300851,2019300851
+2019300852,2019300852
+2019300853,2019300853
+2019300854,2019300854
+2019300855,2019300855
+2019300856,2019300856
+2019300857,2019300857
+2019300858,2019300858
+2019300859,2019300859
+2019300860,2019300860
+2019300861,2019300861
+2019300862,2019300862
+2019300863,2019300863
+2019300864,2019300864
+2019300865,2019300865
+2019300866,2019300866
+2019300867,2019300867
+2019300868,2019300868
+2019300869,2019300869
+2019300870,2019300870
+2019300871,2019300871
+2019300872,2019300872
+2019300873,2019300873
+2019300874,2018700057
+2019300875,2019300875
+2019300876,2019300876
+2019300877,2019300877
+2019300878,2019300878
+2019300879,2019300879
+2019300880,2019300880
+2019300881,2019300881
+2019300882,2019300882
+2019300883,2019300883
+2019300884,2019300884
+2019300885,2019300885
+2019300886,2019300886
+2019300887,2019300887
+2019300888,2019300888
+2019300889,2019300889
+2019300890,2019300890
+2019300891,2019300891
+2019300892,2019300892
+2019300893,2019300893
+2019300894,2019300894
+2019300895,2019300895
+2019300896,2019300896
+2019300897,2019300897
+2019300898,2019300898
+2019300899,2019300899
+2019300900,2019300900
+2019300901,2019300901
+2019300902,2019300902
+2019300903,2019300903
+2019300904,2019300904
+2019300905,2019300905
+2019300906,2019300906
+2019300907,2019300907
+2019300908,2019300908
+2019300909,2019300909
+2019300910,2019300910
+2019300911,2019300911
+2019300912,2019300912
+2019300913,2019300913
+2019300914,2019300914
+2019300915,2019300915
+2019300916,2019300916
+2019300917,2019300917
+2019300918,2019300918
+2019300919,2019300919
+2019300920,2019300920
+2019300921,2019300921
+2019300922,2019300922
+2019300923,2019300923
+2019300924,2019300924
+2019300925,2019300925
+2019300926,2019300926
+2019300927,2019300927
+2019300928,2019300928
+2019300929,2019300929
+2019300930,2019300930
+2019300931,2018700016
+2019300932,2019300932
+2019300933,2019300933
+2019300934,2019300934
+2019300935,2019300935
+2019300936,2019300936
+2019300937,2019300937
+2019300938,2019300938
+2019300939,2019300939
+2019300940,2019300940
+2019300941,2019300941
+2019300942,2019300942
+2019300943,2019300943
+2019300944,2019300944
+2019300945,2019300945
+2019300946,2019300946
+2019300947,2019300947
+2019300948,2019300948
+2019300949,2019300949
+2019300950,2019300950
+2019300951,2019300951
+2019300952,2019300952
+2019300953,2019300953
+2019300954,2019300954
+2019300955,2019300955
+2019300956,2019300956
+2019300957,2019300957
+2019300958,2019300958
+2019300959,2019300959
+2019300960,2019300960
+2019300961,2019300961
+2019300962,2019300962
+2019300963,2019300963
+2019300964,2019300964
+2019300965,2019300965
+2019300966,2019300966
+2019300967,2019300967
+2019300968,2019300968
+2019300969,2019300969
+2019300970,2019300970
+2019300971,2019300971
+2019300972,2019300972
+2019300973,2019300973
+2019300974,2019300974
+2019300975,2019300975
+2019300976,2019300976
+2019300977,2019300977
+2019300978,2019300978
+2019300979,2019300979
+2019300980,2019300980
+2019300981,2019300981
+2019300982,2019300982
+2019300983,2019300983
+2019300984,2019300984
+2019300985,2019300985
+2019300986,2019300986
+2019300987,2019300987
+2019300988,2019300988
+2019300989,2019300989
+2019300990,2019300990
+2019300991,2019300991
+2019300992,2019300992
+2019300993,2019300993
+2019300994,2019300994
+2019300995,2019300995
+2019300996,2019300996
+2019300997,2019300997
+2019300998,2019300998
+2019300999,2019300999
+2019301000,2019301000
+2019301001,2019301001
+2019301002,2019301002
+2019301003,2019301003
+2019301004,2019301004
+2019301005,2019301005
+2019301006,2019301006
+2019301007,2019301007
+2019301008,2019301008
+2019301009,2019301009
+2019301010,2019301010
+2019301011,2019301011
+2019301012,2019301012
+2019301013,2019301013
+2019301014,2019301014
+2019301015,2019301015
+2019301016,2019301016
+2019301017,2019301017
+2019301018,2019301018
+2019301019,2019301019
+2019301020,2019301020
+2019301021,2019301021
+2019301022,2019301022
+2019301023,2019301023
+2019301024,2019301024
+2019301025,2019301025
+2019301026,2019301026
+2019301027,2019301027
+2019301028,2019301028
+2019301029,2019301029
+2019301030,2019301030
+2019301031,2019301031
+2019301032,2019301032
+2019301033,2019301033
+2019301034,2019301034
+2019301035,2019301035
+2019301036,2019301036
+2019301037,2019301037
+2019301038,2019301038
+2019301039,2019301039
+2019301040,2019301040
+2019301041,2019301041
+2019301042,2019301042
+2019301043,2019301043
+2019301044,2019301044
+2019301045,2019301045
+2019301046,2019301046
+2019301047,2019301047
+2019301048,2019301048
+2019301049,2019301049
+2019301050,2019301050
+2019301051,2018700007
+2019301052,2019301052
+2019301053,2019301053
+2019301054,2019301054
+2019301055,2019301055
+2019301056,2019301056
+2019301057,2019301057
+2019301058,2019301058
+2019301059,2019301059
+2019301060,2019301060
+2019301061,2019301061
+2019301062,2019301062
+2019301063,2019301063
+2019301064,2019301064
+2019301065,2019301065
+2019301066,2019301066
+2019301067,2019301067
+2019301068,2019301068
+2019301069,2019301069
+2019301070,2019301070
+2019301071,2019301071
+2019301072,2019301072
+2019301073,2019301073
+2019301074,2019301074
+2019301075,2019301075
+2019301076,2019301076
+2019301077,2019301077
+2019301078,2019301078
+2019301079,2019301079
+2019301080,2019301080
+2019301081,2019301081
+2019301082,2019301082
+2019301083,2019301083
+2019301084,2019301084
+2019301085,2019301085
+2019301086,2019301086
+2019301087,2019301087
+2019301088,2019301088
+2019301089,2019301089
+2019301090,2019301090
+2019301091,2019301091
+2019301092,2019301092
+2019301093,2019301093
+2019301094,2019301094
+2019301095,2019301095
+2019301096,2019301096
+2019301097,2019301097
+2019301098,2019301098
+2019301099,2019301099
+2019301100,2019301100
+2019301101,2019301101
+2019301102,2019301102
+2019301103,2019301103
+2019301104,2019301104
+2019301105,2019301105
+2019301106,2019301106
+2019301107,2019301107
+2019301108,2019301108
+2019301109,2019301109
+2019301110,2019301110
+2019301111,2019301111
+2019301112,2019301112
+2019301113,2019301113
+2019301114,2019301114
+2019301115,2019301115
+2019301116,2019301116
+2019301117,2019301117
+2019301118,2019301118
+2019301119,2019301119
+2019301120,2019301120
+2019301121,2019301121
+2019301122,2019301122
+2019301123,2019301123
+2019301124,2019301124
+2019301125,2019301125
+2019301126,2019301126
+2019301127,2019301127
+2019301128,2019301128
+2019301129,2019301129
+2019301130,2019301130
+2019301131,2019301131
+2019301132,2019301132
+2019301133,2019301133
+2019301134,2019301134
+2019301135,2019301135
+2019301136,2019301136
+2019301137,2019301137
+2019301138,2019301138
+2019301139,2019301139
+2019301140,2019301140
+2019301141,2019301141
+2019301142,2019301142
+2019301143,2019301143
+2019301144,2019301144
+2019301145,2019301145
+2019301146,2019301146
+2019301147,2019301147
+2019301148,2019301148
+2019301149,2019301149
+2019301150,2019301150
+2019301151,2019301151
+2019301152,2019301152
+2019301153,2019301153
+2019301154,2019301154
+2019301155,2019301155
+2019301156,2019301156
+2019301157,2019301157
+2019301158,2019301158
+2019301159,2019301159
+2019301160,2019301160
+2019301161,2019301161
+2019301162,2019301162
+2019301163,2019301163
+2019301164,2019301164
+2019301165,2019301165
+2019301166,2019301166
+2019301167,2019301167
+2019301168,2019301168
+2019301169,2019301169
+2019301170,2019301170
+2019301171,2019301171
+2019301172,2019301172
+2019301173,2019301173
+2019301174,2019301174
+2019301175,2019301175
+2019301176,2019301176
+2019301177,2019301177
+2019301178,2019301178
+2019301179,2019301179
+2019301180,2019301180
+2019301181,2019301181
+2019301182,2019301182
+2019301183,2018700067
+2019301184,2019301184
+2019301185,2019301185
+2019301186,2019301186
+2019301187,2019301187
+2019301188,2019301188
+2019301189,2019301189
+2019301190,2019301190
+2019301191,2019301191
+2019301192,2019301192
+2019301193,2019301193
+2019301194,2019301194
+2019301195,2019301195
+2019301196,2019301196
+2019301197,2019301197
+2019301198,2019301198
+2019301199,2019301199
+2019301200,2019301200
+2019301201,2019301201
+2019301202,2019301202
+2019301203,2019301203
+2019301204,2019301204
+2019301205,2019301205
+2019301206,2019301206
+2019301207,2019301207
+2019301208,2019301208
+2019301209,2019301209
+2019301210,2019301210
+2019301211,2019301211
+2019301212,2019301212
+2019301213,2019301213
+2019301214,2019301214
+2019301215,2019301215
+2019301216,2019301216
+2019301217,2019301217
+2019301218,2019301218
+2019301219,2019301219
+2019301220,2019301220
+2019301221,2019301221
+2019301222,2019301222
+2019301223,2019301223
+2019301224,2019301224
+2019301225,2019301225
+2019301226,2019301226
+2019301227,2019301227
+2019301228,2019301228
+2019301229,2019301229
+2019301230,2019301230
+2019301231,2019301231
+2019301232,2019301232
+2019301233,2019301233
+2019301234,2019301234
+2019301235,2019301235
+2019301236,2019301236
+2019301237,2019301237
+2019301238,2019301238
+2019301239,2019301239
+2019301240,2019301240
+2019301241,2019301241
+2019301242,2019301242
+2019301243,2019301243
+2019301244,2019301244
+2019301245,2019301245
+2019301246,2019301246
+2019301247,2019301247
+2019301248,2019301248
+2019301249,2019301249
+2019301250,2019301250
+2019301251,2019301251
+2019301252,2019301252
+2019301253,2019301253
+2019301254,2019301254
+2019301255,2019301255
+2019301256,2019301256
+2019301257,2019301257
+2019301258,2019301258
+2019301259,2019301259
+2019301260,2019301260
+2019301261,2019301261
+2019301262,2019301262
+2019301263,2019301263
+2019301264,2019301264
+2019301265,2019301265
+2019301266,2019301266
+2019301267,2019301267
+2019301268,2019301268
+2019301269,2019301269
+2019301270,2019301270
+2019301271,2019301271
+2019301272,2019301272
+2019301273,2019301273
+2019301274,2019301274
+2019301275,2019301275
+2019301276,2019301276
+2019301277,2019301277
+2019301278,2019301278
+2019301279,2019301279
+2019301280,2019301280
+2019301281,2019301281
+2019301282,2019301282
+2019301283,2019301283
+2019301284,2019301284
+2019301285,2019301285
+2019301286,2019301286
+2019301287,2019301287
+2019301288,2019301288
+2019301289,2019301289
+2019301290,2019301290
+2019301291,2019301291
+2019301292,2019301292
+2019301293,2019301293
+2019301294,2019301294
+2019301295,2019301295
+2019301296,2019301296
+2019301297,2019301297
+2019301298,2019301298
+2019301299,2019301299
+2019301300,2019301300
+2019301301,2019301301
+2019301302,2019301302
+2019301303,2019301303
+2019301304,2019301304
+2019301305,2019301305
+2019301306,2019301306
+2019301307,2019301307
+2019301308,2019301308
+2019301309,2019301309
+2019301310,2019301310
+2019301311,2019301311
+2019301312,2019301312
+2019301313,2019301313
+2019301314,2019301314
+2019301315,2019301315
+2019301316,2019301316
+2019301317,2019301317
+2019301318,2019301318
+2019301319,2019301319
+2019301320,2019301320
+2019301321,2019301321
+2019301322,2019301322
+2019301323,2019301323
+2019301324,2019301324
+2019301325,2019301325
+2019301326,2019301326
+2019301327,2019301327
+2019301328,2019301328
+2019301329,2019301329
+2019301330,2019301330
+2019301331,2019301331
+2019301332,2019301332
+2019301333,2019301333
+2019301334,2019301334
+2019301335,2019301335
+2019301336,2019301336
+2019301337,2019301337
+2019301338,2019301338
+2019301339,2019301339
+2019301340,2019301340
+2019301341,2019301341
+2019301342,2019301342
+2019301343,2019301343
+2019301344,2019301344
+2019301345,2019301345
+2019301346,2019301346
+2019301347,2019301347
+2019301348,2019301348
+2019301349,2019301349
+2019301350,2019301350
+2019301351,2019301351
+2019301352,2019301352
+2019301353,2019301353
+2019301354,2019301354
+2019301355,2019301355
+2019301356,2019301356
+2019301357,2019301357
+2019301358,2019301358
+2019301359,2019301359
+2019301360,2019301360
+2019301361,2019301361
+2019301362,2019301362
+2019301363,2019301363
+2019301364,2018700065
+2019301365,2019301365
+2019301366,2019301366
+2019301367,2019301367
+2019301368,2019301368
+2019301369,2019301369
+2019301370,2019301370
+2019301371,2018700073
+2019301372,2019301372
+2019301373,2019301373
+2019301374,2019301374
+2019301375,2019301375
+2019301376,2019301376
+2019301377,2019301377
+2019301378,2019301378
+2019301379,2019301379
+2019301380,2019301380
+2019301381,2019301381
+2019301382,2019301382
+2019301383,2018700019
+2019301384,2019301384
+2019301385,2019301385
+2019301386,2019301386
+2019301387,2019301387
+2019301388,2019301388
+2019301389,2019301389
+2019301390,2019301390
+2019301391,2019301391
+2019301392,2019301392
+2019301393,2019301393
+2019301394,2019301394
+2019301395,2019301395
+2019301396,2019301396
+2019301397,2019301397
+2019301398,2019301398
+2019301399,2019301399
+2019301400,2019301400
+2019301401,2019301401
+2019301402,2019301402
+2019301403,2018700010
+2019301404,2019301404
+2019301405,2019301405
+2019301406,2019301406
+2019301407,2019301407
+2019301408,2019301408
+2019301409,2019301409
+2019301410,2019301410
+2019301411,2019301411
+2019301412,2019301412
+2019301413,2019301413
+2019301414,2019301414
+2019301415,2019301415
+2019301416,2019301416
+2019301417,2018700049
+2019301418,2019301418
+2019301419,2019301419
+2019301420,2019301420
+2019301421,2019301421
+2019301422,2019301422
+2019301423,2019301423
+2019301424,2019301424
+2019301425,2019301425
+2019301426,2019301426
+2019301427,2019301427
+2019301428,2019301428
+2019301429,2019301429
+2019301430,2019301430
+2019301431,2019301431
+2019301432,2019301432
+2019301433,2019301433
+2019301434,2019301434
+2019301435,2019301435
+2019301436,2019301436
+2019301437,2019301437
+2019301438,2019301438
+2019301439,2019301439
+2019301440,2019301440
+2019301441,2019301441
+2019301442,2018700056
+2019301443,2019301443
+2019301444,2019301444
+2019301445,2019301445
+2019301446,2019301446
+2019301447,2019301447
+2019301448,2019301448
+2019301449,2019301449
+2019301450,2018700011
+2019301451,2019301451
+2019301452,2019301452
+2019301453,2019301453
+2019301454,2019301454
+2019301455,2019301455
+2019301456,2019301456
+2019301457,2019301457
+2019301458,2019301458
+2019301459,2019301459
+2019301460,2019301460
+2019301461,2019301461
+2019301462,2019301462
+2019301463,2019301463
+2019301464,2019301464
+2019301465,2019301465
+2019301466,2019301466
+2019301467,2019301467
+2019301468,2019301468
+2019301469,2019301469
+2019301470,2019301470
+2019301471,2019301471
+2019301472,2019301472
+2019301473,2018700017
+2019301474,2019301474
+2019301475,2019301475
+2019301476,2019301476
+2019301477,2019301477
+2019301478,2019301478
+2019301479,2019301479
+2019301480,2019301480
+2019301481,2019301481
+2019301482,2019301482
+2019301483,2019301483
+2019301484,2019301484
+2019301485,2019301485
+2019301486,2019301486
+2019301487,2019301487
+2019301488,2019301488
+2019301489,2019301489
+2019301490,2018700036
+2019301491,2019301491
+2019301492,2019301492
+2019301493,2019301493
+2019301494,2019301494
+2019301495,2019301495
+2019301496,2019301496
+2019301497,2019301497
+2019301498,2019301498
+2019301499,2019301499
+2019301500,2019301500
+2019301501,2019301501
+2019301502,2019301502
+2019301503,2019301503
+2019301504,2019301504
+2019301505,2019301505
+2019301506,2019301506
+2019301507,2019301507
+2019301508,2019301508
+2019301509,2019301509
+2019301510,2019301510
+2019301511,2019301511
+2019301512,2019301512
+2019301513,2019301513
+2019301514,2019301514
+2019301515,2019301515
+2019301516,2019301516
+2019301517,2019301517
+2019301518,2019301518
+2019301519,2019301519
+2019301520,2019301520
+2019301521,2019301521
+2019301522,2019301522
+2019301523,2019301523
+2019301524,2019301524
+2019301525,2018700045
+2019301526,2019301526
+2019301527,2019301527
+2019301528,2019301528
+2019301529,2019301529
+2019301530,2019301530
+2019301531,2019301531
+2019301532,2019301532
+2019301533,2019301533
+2019301534,2019301534
+2019301535,2019301535
+2019301536,2019301536
+2019301537,2019301537
+2019301538,2019301538
+2019301539,2019301539
+2019301540,2019301540
+2019301541,2019301541
+2019301542,2019301542
+2019301543,2019301543
+2019301544,2019301544
+2019301545,2019301545
+2019301546,2019301546
+2019301547,2019301547
+2019301548,2019301548
+2019301549,2019301549
+2019301550,2019301550
+2019301551,2019301551
+2019301552,2019301552
+2019301553,2019301553
+2019301554,2019301554
+2019301555,2019301555
+2019301556,2019301556
+2019301557,2019301557
+2019301558,2018700064
+2019301559,2019301559
+2019301560,2019301560
+2019301561,2019301561
+2019301562,2019301562
+2019301563,2019301563
+2019301564,2019301564
+2019301565,2019301565
+2019301566,2019301566
+2019301567,2019301567
+2019301568,2019301568
+2019301569,2019301569
+2019301570,2019301570
+2019301571,2019301571
+2019301572,2019301572
+2019301573,2019301573
+2019301574,2019301574
+2019301575,2019301575
+2019301576,2019301576
+2019301577,2019301577
+2019301578,2019301578
+2019301579,2018700058
+2019301580,2019301580
+2019301581,2019301581
+2019301582,2019301582
+2019301583,2019301583
+2019301584,2019301584
+2019301585,2019301585
+2019301586,2019301586
+2019301587,2019301587
+2019301588,2019301588
+2019301589,2019301589
+2019301590,2019301590
+2019301591,2019301591
+2019301592,2019301592
+2019301593,2019301593
+2019301594,2019301594
+2019301595,2019301595
+2019301596,2019301596
+2019301597,2019301597
+2019301598,2019301598
+2019301599,2019301599
+2019301600,2019301600
+2019301601,2019301601
+2019301602,2019301602
+2019301603,2019301603
+2019301604,2019301604
+2019301605,2019301605
+2019301606,2019301606
+2019301607,2019301607
+2019301608,2019301608
+2019301609,2019301609
+2019301610,2019301610
+2019301611,2019301611
+2019301612,2019301612
+2019301613,2019301613
+2019301614,2019301614
+2019301615,2019301615
+2019301616,2019301616
+2019301617,2019301617
+2019301618,2019301618
+2019301619,2019301619
+2019301620,2019301620
+2019301621,2019301621
+2019301622,2019301622
+2019301623,2019301623
+2019301624,2019301624
+2019301625,2019301625
+2019301626,2019301626
+2019301627,2019301627
+2019301628,2019301628
+2019301629,2019301629
+2019301630,2019301630
+2019301631,2019301631
+2019301632,2018700013
+2019301633,2019301633
+2019301634,2019301634
+2019301635,2019301635
+2019301636,2019301636
+2019301637,2019301637
+2019301638,2019301638
+2019301639,2019301639
+2019301640,2019301640
+2019301641,2019301641
+2019301642,2019301642
+2019301643,2019301643
+2019301644,2019301644
+2019301645,2019301645
+2019301646,2019301646
+2019301647,2019301647
+2019301648,2019301648
+2019301649,2019301649
+2019301650,2019301650
+2019301651,2019301651
+2019301652,2018700006
+2019301653,2019301653
+2019301654,2019301654
+2019301655,2019301655
+2019301656,2019301656
+2019301657,2019301657
+2019301658,2019301658
+2019301659,2019301659
+2019301660,2019301660
+2019301661,2019301661
+2019301662,2019301662
+2019301663,2019301663
+2019301664,2019301664
+2019301665,2019301665
+2019301666,2019301666
+2019301667,2019301667
+2019301668,2019301668
+2019301669,2019301669
+2019301670,2019301670
+2019301671,2019301671
+2019301672,2019301672
+2019301673,2019301673
+2019301674,2019301674
+2019301675,2019301675
+2019301676,2019301676
+2019301677,2019301677
+2019301678,2019301678
+2019301679,2019301679
+2019301680,2019301680
+2019301681,2019301681
+2019301682,2019301682
+2019301683,2019301683
+2019301684,2019301684
+2019301685,2019301685
+2019301686,2019301686
+2019301687,2019301687
+2019301688,2019301688
+2019301689,2019301689
+2019301690,2019301690
+2019301691,2019301691
+2019301692,2019301692
+2019301693,2019301693
+2019301694,2019301694
+2019301695,2019301695
+2019301696,2019301696
+2019301697,2019301697
+2019301698,2019301698
+2019301699,2019301699
+2019301700,2019301700
+2019301701,2019301701
+2019301702,2019301702
+2019301703,2019301703
+2019301704,2019301704
+2019301705,2019301705
+2019301706,2019301706
+2019301707,2019301707
+2019301708,2019301708
+2019301709,2019301709
+2019301710,2019301710
+2019301711,2019301711
+2019301712,2019301712
+2019301713,2019301713
+2019301714,2018700047
+2019301715,2019301715
+2019301716,2019301716
+2019301717,2019301717
+2019301718,2019301718
+2019301719,2019301719
+2019301720,2019301720
+2019301721,2019301721
+2019301722,2019301722
+2019301723,2019301723
+2019301724,2019301724
+2019301725,2019301725
+2019301726,2019301726
+2019301727,2019301727
+2019301728,2019301728
+2019301729,2018700012
+2019301730,2019301730
+2019301731,2019301731
+2019301732,2019301732
+2019301733,2019301733
+2019301734,2019301734
+2019301735,2019301735
+2019301736,2019301736
+2019301737,2019301737
+2019301738,2019301738
+2019301739,2019301739
+2019301740,2019301740
+2019301741,2019301741
+2019301742,2019301742
+2019301743,2019301743
+2019301744,2019301744
+2019301745,2019301745
+2019301746,2019301746
+2019301747,2019301747
+2019301748,2019301748
+2019301749,2019301749
+2019301750,2019301750
+2019301751,2019301751
+2019301752,2019301752
+2019301753,2019301753
+2019301754,2019301754
+2019301755,2019301755
+2019301756,2019301756
+2019301757,2019301757
+2019301758,2019301758
+2019301759,2019301759
+2019301760,2019301760
+2019301761,2019301761
+2019301762,2019301762
+2019301763,2019301763
+2019301764,2019301764
+2019301765,2019301765
+2019301766,2019301766
+2019301767,2019301767
+2019301768,2019301768
+2019301769,2019301769
+2019301770,2019301770
+2019301771,2019301771
+2019301772,2019301772
+2019301773,2019301773
+2019301774,2019301774
+2019301775,2019301775
+2019301776,2019301776
+2019301777,2019301777
+2019301778,2019301778
+2019301779,2019301779
+2019301780,2019301780
+2019301781,2019301781
+2019301782,2019301782
+2019301783,2019301783
+2019301784,2019301784
+2019301785,2019301785
+2019301786,2019301786
+2019301787,2019301787
+2019301788,2019301788
+2019301789,2019301789
+2019301790,2019301790
+2019301791,2019301791
+2019301792,2019301792
+2019301793,2019301793
+2019301794,2019301794
+2019301795,2019301795
+2019301796,2019301796
+2019301797,2019301797
+2019301798,2019301798
+2019301799,2019301799
+2019301800,2019301800
+2019301801,2019301801
+2019301802,2019301802
+2019301803,2019301803
+2019301804,2019301804
+2019301805,2019301805
+2019301806,2019301806
+2019301807,2019301807
+2019301808,2019301808
+2019301809,2019301809
+2019301810,2019301810
+2019301811,2019301811
+2019301812,2019301812
+2019301813,2019301813
+2019301814,2019301814
+2019301815,2019301815
+2019301816,2019301816
+2019301817,2019301817
+2019301818,2019301818
+2019301819,2019301819
+2019301820,2019301820
+2019301821,2018700014
+2019301822,2019301822
+2019301823,2019301823
+2019301824,2019301824
+2019301825,2019301825
+2019301826,2019301826
+2019301827,2019301827
+2019301828,2019301828
+2019301829,2019301829
+2019301830,2019301830
+2019301831,2019301831
+2019301832,2019301832
+2019301833,2019301833
+2019301834,2019301834
+2019301835,2019301835
+2019301836,2019301836
+2019301837,2019301837
+2019301838,2019301838
+2019301839,2019301839
+2019301840,2019301840
+2019301841,2019301841
+2019301842,2019301842
+2019301843,2019301843
+2019301844,2019301844
+2019301845,2019301845
+2019301846,2019301846
+2019301847,2019301847
+2019301848,2019301848
+2019301849,2019301849
+2019301850,2019301850
+2019301851,2019301851
+2019301852,2019301852
+2019301853,2019301853
+2019301854,2019301854
+2019301855,2019301855
+2019301856,2019301856
+2019301857,2019301857
+2019301858,2019301858
+2019301859,2019301859
+2019301860,2019301860
+2019301861,2019301861
+2019301862,2019301862
+2019301863,2019301863
+2019301864,2019301864
+2019301865,2019301865
+2019301866,2019301866
+2019301867,2019301867
+2019301868,2019301868
+2019301869,2019301869
+2019301870,2019301870
+2019301871,2019301871
+2019301872,2019301872
+2019301873,2019301873
+2019301874,2019301874
+2019301875,2019301875
+2019301876,2019301876
+2019301877,2019301877
+2019301878,2019301878
+2019301879,2019301879
+2019301880,2019301880
+2019301881,2019301881
+2019301882,2019301882
+2019301883,2019301883
+2019301884,2019301884
+2019301885,2019301885
+2019301886,2019301886
+2019301887,2019301887
+2019301888,2019301888
+2019301889,2019301889
+2019301890,2019301890
+2019301891,2019301891
+2019301892,2019301892
+2019301893,2019301893
+2019301894,2019301894
+2019301895,2018700050
+2019301896,2019301896
+2019301897,2019301897
+2019301898,2019301898
+2019301899,2019301899
+2019301900,2019301900
+2019301901,2019301901
+2019301902,2019301902
+2019301903,2019301903
+2019301904,2019301904
+2019301905,2019301905
+2019301906,2019301906
+2019301907,2019301907
+2019301908,2019301908
+2019301909,2019301909
+2019301910,2019301910
+2019301911,2019301911
+2019301912,2019301912
+2019301913,2019301913
+2019301914,2019301914
+2019301915,2019301915
+2019301916,2019301916
+2019301917,2019301917
+2019301918,2019301918
+2019301919,2019301919
+2019301920,2019301920
+2019301921,2019301921
+2019301922,2019301922
+2019301923,2019301923
+2019301924,2019301924
+2019301925,2019301925
+2019301926,2019301926
+2019301927,2019301927
+2019301928,2019301928
+2019301929,2019301929
+2019301930,2019301930
+2019301931,2019301931
+2019301932,2019301932
+2019301933,2019301933
+2019301934,2019301934
+2019301935,2019301935
+2019301936,2019301936
+2019301937,2019301937
+2019301938,2019301938
+2019301939,2019301939
+2019301940,2018700021
+2019301941,2019301941
+2019301942,2019301942
+2019301943,2019301943
+2019301944,2019301944
+2019301945,2019301945
+2019301946,2019301946
+2019301947,2019301947
+2019301948,2019301948
+2019301949,2019301949
+2019301950,2019301950
+2019301951,2019301951
+2019301952,2019301952
+2019301953,2019301953
+2019301954,2019301954
+2019301955,2019301955
+2019301956,2019301956
+2019301957,2019301957
+2019301958,2019301958
+2019301959,2019301959
+2019301960,2019301960
+2019301961,2019301961
+2019301962,2019301962
+2019301963,2019301963
+2019301964,2019301964
+2019301965,2019301965
+2019301966,2019301966
+2019301967,2019301967
+2019301968,2019301968
+2019301969,2019301969
+2019301970,2019301970
+2019301971,2019301971
+2019301972,2019301972
+2019301973,2019301973
+2019301974,2019301974
+2019301975,2019301975
+2019301976,2019301976
+2019301977,2019301977
+2019301978,2019301978
+2019301979,2019301979
+2019301980,2019301980
+2019301981,2019301981
+2019301982,2019301982
+2019301983,2019301983
+2019301984,2018700033
+2019301985,2019301985
+2019301986,2019301986
+2019301987,2019301987
+2019301988,2019301988
+2019301989,2019301989
+2019301990,2019301990
+2019301991,2019301991
+2019301992,2019301992
+2019301993,2019301993
+2019301994,2019301994
+2019301995,2019301995
+2019301996,2019301996
+2019301997,2019301997
+2019301998,2019301998
+2019301999,2019301999
+2019302000,2019302000
+2019302001,2019302001
+2019302002,2019302002
+2019302003,2019302003
+2019302004,2019302004
+2019302005,2019302005
+2019302006,2019302006
+2019302007,2019302007
+2019302008,2019302008
+2019302009,2019302009
+2019302010,2019302010
+2019302011,2019302011
+2019302012,2019302012
+2019302013,2019302013
+2019302014,2018700060
+2019302015,2019302015
+2019302016,2019302016
+2019302017,2019302017
+2019302018,2019302018
+2019302019,2019302019
+2019302020,2019302020
+2019302021,2019302021
+2019302022,2019302022
+2019302023,2019302023
+2019302024,2019302024
+2019302025,2019302025
+2019302026,2019302026
+2019302027,2019302027
+2019302028,2019302028
+2019302029,2019302029
+2019302030,2019302030
+2019302031,2019302031
+2019302032,2019302032
+2019302033,2019302033
+2019302034,2019302034
+2019302035,2019302035
+2019302036,2019302036
+2019302037,2019302037
+2019302038,2019302038
+2019302039,2019302039
+2019302040,2019302040
+2019302041,2019302041
+2019302042,2019302042
+2019302043,2019302043
+2019302044,2019302044
+2019302045,2019302045
+2019302046,2019302046
+2019302047,2019302047
+2019302048,2019302048
+2019302049,2019302049
+2019302050,2019302050
+2019302051,2019302051
+2019302052,2019302052
+2019302053,2019302053
+2019302054,2019302054
+2019302055,2019302055
+2019302056,2019302056
+2019302057,2019302057
+2019302058,2019302058
+2019302059,2019302059
+2019302060,2019302060
+2019302061,2019302061
+2019302062,2019302062
+2019302063,2019302063
+2019302064,2019302064
+2019302065,2019302065
+2019302066,2019302066
+2019302067,2019302067
+2019302068,2019302068
+2019302069,2019302069
+2019302070,2019302070
+2019302071,2019302071
+2019302072,2019302072
+2019302073,2019302073
+2019302074,2019302074
+2019302075,2019302075
+2019302076,2019302076
+2019302077,2019302077
+2019302078,2019302078
+2019302079,2019302079
+2019302080,2019302080
+2019302081,2019302081
+2019302082,2019302082
+2019302083,2019302083
+2019302084,2019302084
+2019302085,2019302085
+2019302086,2019302086
+2019302087,2019302087
+2019302088,2019302088
+2019302089,2019302089
+2019302090,2019302090
+2019302091,2019302091
+2019302092,2019302092
+2019302093,2019302093
+2019302094,2019302094
+2019302095,2019302095
+2019302096,2019302096
+2019302097,2019302097
+2019302098,2019302098
+2019302099,2019302099
+2019302100,2019302100
+2019302101,2019302101
+2019302102,2019302102
+2019302103,2019302103
+2019302104,2019302104
+2019302105,2019302105
+2019302106,2019302106
+2019302107,2019302107
+2019302108,2019302108
+2019302109,2019302109
+2019302110,2019302110
+2019302111,2019302111
+2019302112,2019302112
+2019302113,2019302113
+2019302114,2019302114
+2019302115,2019302115
+2019302116,2019302116
+2019302117,2019302117
+2019302118,2019302118
+2019302119,2019302119
+2019302120,2019302120
+2019302121,2019302121
+2019302122,2019302122
+2019302123,2019302123
+2019302124,2019302124
+2019302125,2019302125
+2019302126,2019302126
+2019302127,2019302127
+2019302128,2019302128
+2019302129,2019302129
+2019302130,2019302130
+2019302131,2019302131
+2019302132,2019302132
+2019302133,2019302133
+2019302134,2019302134
+2019302135,2019302135
+2019302136,2019302136
+2019302137,2019302137
+2019302138,2019302138
+2019302139,2019302139
+2019302140,2019302140
+2019302141,2019302141
+2019302142,2019302142
+2019302143,2019302143
+2019302144,2019302144
+2019302145,2019302145
+2019302146,2019302146
+2019302147,2019302147
+2019302148,2019302148
+2019302149,2019302149
+2019302150,2019302150
+2019302151,2019302151
+2019302152,2019302152
+2019302153,2019302153
+2019302154,2019302154
+2019302155,2019302155
+2019302156,2019302156
+2019302157,2019302157
+2019302158,2019302158
+2019302159,2019302159
+2019302160,2019302160
+2019302161,2019302161
+2019302162,2019302162
+2019302163,2019302163
+2019302164,2019302164
+2019302165,2019302165
+2019302166,2019302166
+2019302167,2019302167
+2019302168,2019302168
+2019302169,2019302169
+2019302170,2018700046
+2019302171,2019302171
+2019302172,2019302172
+2019302173,2019302173
+2019302174,2019302174
+2019302175,2019302175
+2019302176,2019302176
+2019302177,2019302177
+2019302178,2019302178
+2019302179,2019302179
+2019302180,2019302180
+2019302181,2019302181
+2019302182,2019302182
+2019302183,2019302183
+2019302184,2019302184
+2019302185,2019302185
+2019302186,2019302186
+2019302187,2019302187
+2019302188,2019302188
+2019302189,2019302189
+2019302190,2019302190
+2019302191,2019302191
+2019302192,2019302192
+2019302193,2019302193
+2019302194,2019302194
+2019302195,2019302195
+2019302196,2019302196
+2019302197,2019302197
+2019302198,2019302198
+2019302199,2019302199
+2019302200,2019302200
+2019302201,2019302201
+2019302202,2019302202
+2019302203,2019302203
+2019302204,2019302204
+2019302205,2018700063
+2019302206,2019302206
+2019302207,2019302207
+2019302208,2019302208
+2019302209,2019302209
+2019302210,2019302210
+2019302211,2019302211
+2019302212,2019302212
+2019302213,2019302213
+2019302214,2019302214
+2019302215,2019302215
+2019302216,2019302216
+2019302217,2019302217
+2019302218,2019302218
+2019302219,2019302219
+2019302220,2019302220
+2019302221,2019302221
+2019302222,2019302222
+2019302223,2019302223
+2019302224,2019302224
+2019302225,2019302225
+2019302226,2019302226
+2019302227,2019302227
+2019302228,2019302228
+2019302229,2019302229
+2019302230,2019302230
+2019302231,2019302231
+2019302232,2019302232
+2019302233,2019302233
+2019302234,2019302234
+2019302235,2019302235
+2019302236,2019302236
+2019302237,2019302237
+2019302238,2019302238
+2019302239,2019302239
+2019302240,2019302240
+2019302241,2019302241
+2019302242,2019302242
+2019302243,2019302243
+2019302244,2019302244
+2019302245,2019302245
+2019302246,2019302246
+2019302247,2019302247
+2019302248,2019302248
+2019302249,2019302249
+2019302250,2019302250
+2019302251,2019302251
+2019302252,2019302252
+2019302253,2019302253
+2019302254,2019302254
+2019302255,2019302255
+2019302256,2019302256
+2019302257,2019302257
+2019302258,2019302258
+2019302259,2019302259
+2019302260,2019302260
+2019302261,2019302261
+2019302262,2019302262
+2019302263,2019302263
+2019302264,2018700040
+2019302265,2019302265
+2019302266,2019302266
+2019302267,2019302267
+2019302268,2019302268
+2019302269,2019302269
+2019302270,2019302270
+2019302271,2019302271
+2019302272,2019302272
+2019302273,2019302273
+2019302274,2019302274
+2019302275,2019302275
+2019302276,2019302276
+2019302277,2018700004
+2019302278,2019302278
+2019302279,2019302279
+2019302280,2019302280
+2019302281,2019302281
+2019302282,2019302282
+2019302283,2019302283
+2019302284,2019302284
+2019302285,2019302285
+2019302286,2019302286
+2019302287,2019302287
+2019302288,2019302288
+2019302289,2019302289
+2019302290,2019302290
+2019302291,2019302291
+2019302292,2019302292
+2019302293,2019302293
+2019302294,2019302294
+2019302295,2019302295
+2019302296,2019302296
+2019302297,2019302297
+2019302298,2019302298
+2019302299,2019302299
+2019302300,2019302300
+2019302301,2019302301
+2019302302,2019302302
+2019302303,2019302303
+2019302304,2019302304
+2019302305,2019302305
+2019302306,2019302306
+2019302307,2018700028
+2019302308,2019302308
+2019302309,2019302309
+2019302310,2019302310
+2019302311,2019302311
+2019302312,2019302312
+2019302313,2019302313
+2019302314,2019302314
+2019302315,2019302315
+2019302316,2019302316
+2019302317,2019302317
+2019302318,2019302318
+2019302319,2019302319
+2019302320,2019302320
+2019302321,2019302321
+2019302322,2019302322
+2019302323,2019302323
+2019302324,2019302324
+2019302325,2019302325
+2019302326,2019302326
+2019302327,2019302327
+2019302328,2019302328
+2019302329,2019302329
+2019302330,2019302330
+2019302331,2019302331
+2019302332,2019302332
+2019302333,2019302333
+2019302334,2019302334
+2019302335,2019302335
+2019302336,2019302336
+2019302337,2019302337
+2019302338,2019302338
+2019302339,2019302339
+2019302340,2019302340
+2019302341,2019302341
+2019302342,2019302342
+2019302343,2019302343
+2019302344,2019302344
+2019302345,2019302345
+2019302346,2019302346
+2019302347,2019302347
+2019302348,2019302348
+2019302349,2018700077
+2019302350,2019302350
+2019302351,2019302351
+2019302352,2019302352
+2019302353,2019302353
+2019302354,2018700039
+2019302355,2019302355
+2019302356,2019302356
+2019302357,2019302357
+2019302358,2019302358
+2019302359,2019302359
+2019302360,2019302360
+2019302361,2019302361
+2019302362,2019302362
+2019302363,2019302363
+2019302364,2019302364
+2019302365,2019302365
+2019302366,2019302366
+2019302367,2019302367
+2019302368,2019302368
+2019302369,2019302369
+2019302370,2019302370
+2019302371,2019302371
+2019302372,2019302372
+2019302373,2019302373
+2019302374,2019302374
+2019302375,2019302375
+2019302376,2019302376
+2019302377,2019302377
+2019302378,2019302378
+2019302379,2019302379
+2019302380,2019302380
+2019302381,2019302381
+2019302382,2019302382
+2019302383,2019302383
+2019302384,2019302384
+2019302385,2019302385
+2019302386,2019302386
+2019302387,2019302387
+2019302388,2019302388
+2019302389,2019302389
+2019302390,2019302390
+2019302391,2019302391
+2019302392,2019302392
+2019302393,2019302393
+2019302394,2019302394
+2019302395,2019302395
+2019302396,2019302396
+2019302397,2019302397
+2019302398,2019302398
+2019302399,2019302399
+2019302400,2019302400
+2019302401,2018700074
+2019302402,2019302402
+2019302403,2019302403
+2019302404,2019302404
+2019302405,2019302405
+2019302406,2019302406
+2019302407,2019302407
+2019302408,2019302408
+2019302409,2019302409
+2019302410,2019302410
+2019302411,2019302411
+2019302412,2019302412
+2019302413,2019302413
+2019302414,2019302414
+2019302415,2019302415
+2019302416,2019302416
+2019302417,2019302417
+2019302418,2019302418
+2019302419,2019302419
+2019302420,2019302420
+2019302421,2019302421
+2019302422,2019302422
+2019302423,2019302423
+2019302424,2019302424
+2019302425,2019302425
+2019302426,2019302426
+2019302427,2019302427
+2019302428,2019302428
+2019302429,2019302429
+2019302430,2019302430
+2019302431,2019302431
+2019302432,2019302432
+2019302433,2019302433
+2019302434,2019302434
+2019302435,2019302435
+2019302436,2019302436
+2019302437,2019302437
+2019302438,2019302438
+2019302439,2019302439
+2019302440,2019302440
+2019302441,2019302441
+2019302442,2019302442
+2019302443,2019302443
+2019302444,2019302444
+2019302445,2019302445
+2019302446,2019302446
+2019302447,2019302447
+2019302448,2019302448
+2019302449,2019302449
+2019302450,2019302450
+2019302451,2019302451
+2019302452,2019302452
+2019302453,2019302453
+2019302454,2019302454
+2019302455,2019302455
+2019302456,2019302456
+2019302457,2019302457
+2019302458,2019302458
+2019302459,2019302459
+2019302460,2019302460
+2019302461,2019302461
+2019302462,2019302462
+2019302463,2019302463
+2019302464,2019302464
+2019302465,2019302465
+2019302466,2019302466
+2019302467,2019302467
+2019302468,2019302468
+2019302469,2019302469
+2019302470,2019302470
+2019302471,2019302471
+2019302472,2019302472
+2019302473,2019302473
+2019302474,2019302474
+2019302475,2019302475
+2019302476,2019302476
+2019302477,2019302477
+2019302478,2019302478
+2019302479,2019302479
+2019302480,2019302480
+2019302481,2019302481
+2019302482,2019302482
+2019302483,2019302483
+2019302484,2019302484
+2019302485,2019302485
+2019302486,2019302486
+2019302487,2019302487
+2019302488,2019302488
+2019302489,2019302489
+2019302490,2019302490
+2019302491,2019302491
+2019302492,2019302492
+2019302493,2019302493
+2019302494,2019302494
+2019302495,2019302495
+2019302496,2019302496
+2019302497,2019302497
+2019302498,2015302410
+2019302499,2019302499
+2019302500,2019302500
+2019302501,2019302501
+2019302502,2019302502
+2019302503,2019302503
+2019302504,2019302504
+2019302505,2019302505
+2019302506,2019302506
+2019302507,2019302507
+2019302508,2019302508
+2019302509,2019302509
+2019302510,2019302510
+2019302511,2019302511
+2019302512,2019302512
+2019302513,2019302513
+2019302514,2019302514
+2019302515,2019302515
+2019302516,2019302516
+2019302517,2019302517
+2019302518,2019302518
+2019302519,2019302519
+2019302520,2019302520
+2019302521,2019302521
+2019302522,2019302522
+2019302523,2019302523
+2019302524,2019302524
+2019302525,2019302525
+2019302526,2019302526
+2019302527,2019302527
+2019302528,2019302528
+2019302529,2019302529
+2019302530,2019302530
+2019302531,2019302531
+2019302532,2019302532
+2019302533,2019302533
+2019302534,2019302534
+2019302535,2019302535
+2019302536,2019302536
+2019302537,2019302537
+2019302538,2019302538
+2019302539,2019302539
+2019302540,2019302540
+2019302541,2019302541
+2019302542,2019302542
+2019302543,2019302543
+2019302544,2019302544
+2019302545,2019302545
+2019302546,2018700037
+2019302547,2019302547
+2019302548,2019302548
+2019302549,2019302549
+2019302550,2019302550
+2019302551,2019302551
+2019302552,2019302552
+2019302553,2019302553
+2019302554,2019302554
+2019302555,2019302555
+2019302556,2019302556
+2019302557,2019302557
+2019302558,2019302558
+2019302559,2019302559
+2019302560,2019302560
+2019302561,2019302561
+2019302562,2019302562
+2019302563,2019302563
+2019302564,2019302564
+2019302565,2019302565
+2019302566,2019302566
+2019302567,2019302567
+2019302568,2019302568
+2019302569,2019302569
+2019302570,2019302570
+2019302571,2019302571
+2019302572,2019302572
+2019302573,2019302573
+2019302574,2019302574
+2019302575,2019302575
+2019302576,2019302576
+2019302577,2019302577
+2019302578,2019302578
+2019302579,2019302579
+2019302580,2019302580
+2019302581,2019302581
+2019302582,2019302582
+2019302583,2019302583
+2019302584,2019302584
+2019302585,2019302585
+2019302586,2019302586
+2019302587,2019302587
+2019302588,2019302588
+2019302589,2019302589
+2019302590,2019302590
+2019302591,2019302591
+2019302592,2019302592
+2019302593,2019302593
+2019302594,2019302594
+2019302595,2019302595
+2019302596,2019302596
+2019302597,2019302597
+2019302598,2019302598
+2019302599,2019302599
+2019302600,2019302600
+2019302601,2019302601
+2019302602,2019302602
+2019302603,2019302603
+2019302604,2019302604
+2019302605,2018700048
+2019302606,2019302606
+2019302607,2019302607
+2019302608,2019302608
+2019302609,2019302609
+2019302610,2019302610
+2019302611,2019302611
+2019302612,2019302612
+2019302613,2019302613
+2019302614,2019302614
+2019302615,2019302615
+2019302616,2019302616
+2019302617,2019302617
+2019302618,2019302618
+2019302619,2019302619
+2019302620,2019302620
+2019302621,2019302621
+2019302622,2019302622
+2019302623,2019302623
+2019302624,2019302624
+2019302625,2019302625
+2019302626,2019302626
+2019302627,2019302627
+2019302628,2019302628
+2019302629,2019302629
+2019302630,2019302630
+2019302631,2019302631
+2019302632,2019302632
+2019302633,2019302633
+2019302634,2019302634
+2019302635,2019302635
+2019302636,2019302636
+2019302637,2019302637
+2019302638,2019302638
+2019302639,2019302639
+2019302640,2019302640
+2019302641,2019302641
+2019302642,2019302642
+2019302643,2019302643
+2019302644,2019302644
+2019302645,2019302645
+2019302646,2019302646
+2019302647,2019302647
+2019302648,2019302648
+2019302649,2019302649
+2019302650,2019302650
+2019302651,2019302651
+2019302652,2019302652
+2019302653,2019302653
+2019302654,2019302654
+2019302655,2019302655
+2019302656,2019302656
+2019302657,2019302657
+2019302658,2019302658
+2019302659,2019302659
+2019302660,2019302660
+2019302661,2019302661
+2019302662,2019302662
+2019302663,2019302663
+2019302664,2019302664
+2019302665,2019302665
+2019302666,2019302666
+2019302667,2019302667
+2019302668,2019302668
+2019302669,2019302669
+2019302670,2019302670
+2019302671,2019302671
+2019302672,2019302672
+2019302673,2019302673
+2019302674,2019302674
+2019302675,2019302675
+2019302676,2019302676
+2019302677,2019302677
+2019302678,2019302678
+2019302679,2019302679
+2019302680,2019302680
+2019302681,2019302681
+2019302682,2019302682
+2019302683,2019302683
+2019302684,2019302684
+2019302685,2019302685
+2019302686,2019302686
+2019302687,2019302687
+2019302688,2019302688
+2019302689,2019302689
+2019302690,2019302690
+2019302691,2019302691
+2019302692,2019302692
+2019302693,2019302693
+2019302694,2019302694
+2019302695,2019302695
+2019302696,2019302696
+2019302697,2019302697
+2019302698,2019302698
+2019302699,2019302699
+2019302700,2019302700
+2019302701,2019302701
+2019302702,2019302702
+2019302703,2019302703
+2019302704,2019302704
+2019302705,2019302705
+2019302706,2019302706
+2019302707,2019302707
+2019302708,2019302708
+2019302709,2019302709
+2019302710,2019302710
+2019302711,2019302711
+2019302712,2019302712
+2019302713,2019302713
+2019302714,2019302714
+2019302715,2018700024
+2019302716,2019302716
+2019302717,2019302717
+2019302718,2019302718
+2019302719,2019302719
+2019302720,2019302720
+2019302721,2019302721
+2019302722,2019302722
+2019302723,2019302723
+2019302724,2019302724
+2019302725,2019302725
+2019302726,2019302726
+2019302727,2019302727
+2019302728,2019302728
+2019302729,2019302729
+2019302730,2018700069
+2019302731,2019302731
+2019302732,2019302732
+2019302733,2019302733
+2019302734,2019302734
+2019302735,2019302735
+2019302736,2019302736
+2019302737,2019302737
+2019302738,2019302738
+2019302739,2019302739
+2019302740,2019302740
+2019302741,2019302741
+2019302742,2019302742
+2019302743,2019302743
+2019302744,2019302744
+2019302745,2019302745
+2019302746,2019302746
+2019302747,2018700026
+2019302748,2019302748
+2019302749,2019302749
+2019302750,2019302750
+2019302751,2019302751
+2019302752,2019302752
+2019302753,2019302753
+2019302754,2019302754
+2019302755,2019302755
+2019302756,2019302756
+2019302757,2019302757
+2019302758,2019302758
+2019302759,2019302759
+2019302760,2019302760
+2019302761,2019302761
+2019302762,2019302762
+2019302763,2019302763
+2019302764,2019302764
+2019302765,2019302765
+2019302766,2019302766
+2019302767,2019302767
+2019302768,2019302768
+2019302769,2019302769
+2019302770,2019302770
+2019302771,2019302771
+2019302772,2019302772
+2019302773,2019302773
+2019302774,2019302774
+2019302775,2019302775
+2019302776,2019302776
+2019302777,2019302777
+2019302778,2019302778
+2019302779,2019302779
+2019302780,2019302780
+2019302781,2019302781
+2019302782,2019302782
+2019302783,2019302783
+2019302784,2019302784
+2019302785,2019302785
+2019302786,2019302786
+2019302787,2019302787
+2019302788,2019302788
+2019302789,2019302789
+2019302790,2019302790
+2019302791,2019302791
+2019302792,2019302792
+2019302793,2019302793
+2019302794,2019302794
+2019302795,2019302795
+2019302796,2019302796
+2019302797,2019302797
+2019302798,2019302798
+2019302799,2019302799
+2019302800,2019302800
+2019302801,2019302801
+2019302802,2019302802
+2019302803,2019302803
+2019302804,2019302804
+2019302805,2019302805
+2019302806,2019302806
+2019302807,2019302807
+2019302808,2019302808
+2019302809,2019302809
+2019302810,2019302810
+2019302811,2019302811
+2019302812,2019302812
+2019302813,2019302813
+2019302814,2019302814
+2019302815,2019302815
+2019302816,2019302816
+2019302817,2019302817
+2019302818,2019302818
+2019302819,2019302819
+2019302820,2019302820
+2019302821,2019302821
+2019302822,2019302822
+2019302823,2019302823
+2019302824,2019302824
+2019302825,2019302825
+2019302826,2019302826
+2019302827,2019302827
+2019302828,2019302828
+2019302829,2019302829
+2019302830,2019302830
+2019302831,2019302831
+2019302832,2019302832
+2019302833,2019302833
+2019302834,2019302834
+2019302835,2019302835
+2019302836,2019302836
+2019302837,2019302837
+2019302838,2019302838
+2019302839,2019302839
+2019302840,2019302840
+2019302841,2019302841
+2019302842,2019302842
+2019302843,2019302843
+2019302844,2019302844
+2019302845,2019302845
+2019302846,2019302846
+2019302847,2019302847
+2019302848,2019302848
+2019302849,2019302849
+2019302850,2019302850
+2019302851,2019302851
+2019302852,2019302852
+2019302853,2019302853
+2019302854,2019302854
+2019302855,2019302855
+2019302856,2019302856
+2019302857,2019302857
+2019302858,2019302858
+2019302859,2019302859
+2019302860,2019302860
+2019302861,2019302861
+2019302862,2019302862
+2019302863,2019302863
+2019302864,2019302864
+2019302865,2019302865
+2019302866,2019302866
+2019302867,2019302867
+2019302868,2019302868
+2019302869,2019302869
+2019302870,2019302870
+2019302871,2019302871
+2019302872,2019302872
+2019302873,2019302873
+2019302874,2019302874
+2019302875,2019302875
+2019302876,2019302876
+2019302877,2019302877
+2019302878,2019302878
+2019302879,2019302879
+2019302880,2019302880
+2019302881,2019302881
+2019302882,2019302882
+2019302883,2019302883
+2019302884,2019302884
+2019302885,2019302885
+2019302886,2019302886
+2019302887,2019302887
+2019302888,2019302888
+2019302889,2019302889
+2019302890,2019302890
+2019302891,2019302891
+2019302892,2019302892
+2019302893,2019302893
+2019302894,2019302894
+2019302895,2019302895
+2019302896,2019302896
+2019302897,2019302897
+2019302898,2019302898
+2019302899,2019302899
+2019302900,2019302900
+2019302901,2019302901
+2019302902,2019302902
+2019302903,2019302903
+2019302904,2019302904
+2019302905,2019302905
+2019302906,2019302906
+2019302907,2019302907
+2019302908,2019302908
+2019302909,2019302909
+2019302910,2019302910
+2019302911,2019302911
+2019302912,2019302912
+2019302913,2019302913
+2019302914,2019302914
+2019302915,2019302915
+2019302916,2019302916
+2019302917,2019302917
+2019302918,2019302918
+2019302919,2019302919
+2019302920,2019302920
+2019302921,2019302921
+2019302922,2019302922
+2019302923,2019302923
+2019302924,2019302924
+2019302925,2019302925
+2019302926,2019302926
+2019302927,2019302927
+2019302928,2019302928
+2019302929,2019302929
+2019302930,2019302930
+2019302931,2019302931
+2019302932,2019302932
+2019302933,2019302933
+2019302934,2019302934
+2019302935,2019302935
+2019302936,2019302936
+2019302937,2019302937
+2019302938,2019302938
+2019302939,2018700035
+2019302940,2019302940
+2019302941,2019302941
+2019302942,2019302942
+2019302943,2019302943
+2019302944,2019302944
+2019302945,2019302945
+2019302946,2019302946
+2019302947,2019302947
+2019302948,2019302948
+2019302949,2019302949
+2019302950,2019302950
+2019302951,2019302951
+2019302952,2019302952
+2019302953,2019302953
+2019302954,2019302954
+2019302955,2019302955
+2019302956,2019302956
+2019302957,2019302957
+2019302958,2019302958
+2019302959,2019302959
+2019302960,2019302960
+2019302961,2019302961
+2019302962,2019302962
+2019302963,2019302963
+2019302964,2019302964
+2019302965,2019302965
+2019302966,2019302966
+2019302967,2019302967
+2019302968,2019302968
+2019302969,2019302969
+2019302970,2019302970
+2019302971,2019302971
+2019302972,2019302972
+2019302973,2019302973
+2019302974,2019302974
+2019302975,2019302975
+2019302976,2019302976
+2019302977,2019302977
+2019302978,2019302978
+2019302979,2019302979
+2019302980,2019302980
+2019302981,2019302981
+2019302982,2019302982
+2019302983,2019302983
+2019302984,2019302984
+2019302985,2019302985
+2019302986,2019302986
+2019302987,2019302987
+2019302988,2019302988
+2019302989,2019302989
+2019302990,2018700044
+2019302991,2019302991
+2019302992,2019302992
+2019302993,2019302993
+2019302994,2018700032
+2019302995,2019302995
+2019302996,2019302996
+2019302997,2019302997
+2019302998,2019302998
+2019302999,2019302999
+2019303000,2019303000
+2019303001,2019303001
+2019303002,2019303002
+2019303003,2019303003
+2019303004,2019303004
+2019303005,2019303005
+2019303006,2019303006
+2019303007,2019303007
+2019303008,2019303008
+2019303009,2019303009
+2019303010,2019303010
+2019303011,2019303011
+2019303012,2019303012
+2019303013,2019303013
+2019303014,2019303014
+2019303015,2019303015
+2019303016,2018700075
+2019303017,2019303017
+2019303018,2019303018
+2019303019,2019303019
+2019303020,2019303020
+2019303021,2019303021
+2019303022,2019303022
+2019303023,2019303023
+2019303024,2019303024
+2019303025,2019303025
+2019303026,2019303026
+2019303027,2019303027
+2019303028,2019303028
+2019303029,2019303029
+2019303030,2019303030
+2019303031,2019303031
+2019303032,2019303032
+2019303033,2019303033
+2019303034,2018700030
+2019303035,2019303035
+2019303036,2019303036
+2019303037,2019303037
+2019303038,2019303038
+2019303039,2019303039
+2019303040,2019303040
+2019303041,2019303041
+2019303042,2019303042
+2019303043,2019303043
+2019303044,2019303044
+2019303045,2019303045
+2019303046,2019303046
+2019303047,2019303047
+2019303048,2019303048
+2019303049,2019303049
+2019303050,2019303050
+2019303051,2019303051
+2019303052,2019303052
+2019303053,2019303053
+2019303054,2019303054
+2019303055,2019303055
+2019303056,2019303056
+2019303057,2019303057
+2019303058,2019303058
+2019303059,2018700059
+2019303060,2019303060
+2019303061,2019303061
+2019303062,2019303062
+2019303063,2019303063
+2019303064,2019303064
+2019303065,2019303065
+2019303066,2019303066
+2019303067,2019303067
+2019303068,2019303068
+2019303069,2019303069
+2019303070,2019303070
+2019303071,2019303071
+2019303072,2019303072
+2019303073,2019303073
+2019303074,2019303074
+2019303075,2018700071
+2019303076,2019303076
+2019303077,2019303077
+2019303078,2019303078
+2019303079,2019303079
+2019303080,2019303080
+2019303081,2019303081
+2019303082,2019303082
+2019303083,2019303083
+2019303084,2019303084
+2019303085,2019303085
+2019303086,2018700053
+2019303087,2018700055
+2019303088,2019303088
+2019303089,2019303089
+2019303090,2019303090
+2019303091,2019303091
+2019303092,2019303092
+2019303093,2019303093
+2019303094,2019303094
+2019303095,2019303095
+2019303096,2019303096
+2019303097,2019303097
+2019303098,2019303098
+2019303099,2019303099
+2019303100,2019303100
+2019303101,2019303101
+2019303102,2018700005
+2019303103,2019303103
+2019303104,2019303104
+2019303105,2019303105
+2019303106,2019303106
+2019303107,2019303107
+2019303108,2019303108
+2019303109,2019303109
+2019303110,2019303110
+2019303111,2019303111
+2019303112,2019303112
+2019303113,2019303113
+2019303114,2019303114
+2019303115,2019303115
+2019303116,2018700068
+2019303117,2019303117
+2019303118,2019303118
+2019303119,2019303119
+2019303120,2019303120
+2019303121,2019303121
+2019303122,2019303122
+2019303123,2019303123
+2019303124,2019303124
+2019303125,2018700001
+2019303126,2019303126
+2019303127,2019303127
+2019303128,2019303128
+2019303129,2019303129
+2019303130,2019303130
+2019303131,2019303131
+2019303132,2019303132
+2019303133,2019303133
+2019303134,2019303134
+2019303135,2019303135
+2019303136,2019303136
+2019303137,2019303137
+2019303138,2019303138
+2019303139,2019303139
+2019303140,2019303140
+2019303141,2019303141
+2019303142,2019303142
+2019303143,2019303143
+2019303144,2018700052
+2019303145,2019303145
+2019303146,2019303146
+2019303147,2019303147
+2019303148,2019303148
+2019303149,2019303149
+2019303150,2019303150
+2019303151,2019303151
+2019303152,2019303152
+2019303153,2019303153
+2019303154,2019303154
+2019303155,2019303155
+2019303156,2019303156
+2019303157,2019303157
+2019303158,2019303158
+2019303159,2019303159
+2019303160,2019303160
+2019303161,2019303161
+2019303162,2019303162
+2019303163,2018700027
+2019303164,2019303164
+2019303165,2019303165
+2019303166,2019303166
+2019303167,2019303167
+2019303168,2019303168
+2019303169,2019303169
+2019303170,2019303170
+2019303171,2019303171
+2019303172,2018700043
+2019303173,2019303173
+2019303174,2019303174
+2019303175,2019303175
+2019303176,2019303176
+2019303177,2019303177
+2019303178,2019303178
+2019303179,2019303179
+2019303180,2019303180
+2019303181,2019303181
+2019303182,2019303182
+2019303183,2019303183
+2019303184,2019303184
+2019303185,2019303185
+2019303186,2019303186
+2019303187,2018700054
+2019303188,2019303188
+2019303189,2019303189
+2019303190,2019303190
+2019303191,2019303191
+2019303192,2019303192
+2019303193,2019303193
+2019303194,2019303194
+2019303195,2019303195
+2019303196,2019303196
+2019303197,2019303197
+2019303198,2019303198
+2019303199,2019303199
+2019303200,2019303200
+2019303201,2019303201
+2019303202,2019303202
+2019303203,2019303203
+2019303204,2019303204
+2019303205,2019303205
+2019303206,2019303206
+2019303207,2019303207
+2019303208,2019303208
+2019303209,2019303209
+2019303210,2019303210
+2019303211,2019303211
+2019303212,2019303212
+2019303213,2019303213
+2019303214,2018700038
+2019303215,2019303215
+2019303216,2019303216
+2019303217,2019303217
+2019303218,2019303218
+2019303219,2019303219
+2019303220,2019303220
+2019303221,2019303221
+2019303222,2019303222
+2019303223,2019303223
+2019303224,2019303224
+2019303225,2018700029
+2019303226,2019303226
+2019303227,2019303227
+2019303228,2019303228
+2019303229,2019303229
+2019303230,2019303230
+2019303231,2019303231
+2019303232,2019303232
+2019303233,2019303233
+2019303234,2019303234
+2019303235,2019303235
+2019303236,2019303236
+2019303237,2019303237
+2019303238,2019303238
+2019303239,2019303239
+2019303240,2019303240
+2019303241,2019303241
+2019303242,2019303242
+2019303243,2019303243
+2019303244,2019303244
+2019303245,2019303245
+2019303246,2019303246
+2019303247,2019303247
+2019303248,2019303248
+2019303249,2019303249
+2019303250,2019303250
+2019303251,2019303251
+2019303252,2019303252
+2019303253,2019303253
+2019303254,2019303254
+2019303255,2019303255
+2019303256,2019303256
+2019303257,2019303257
+2019303258,2019303258
+2019303259,2019303259
+2019303260,2019303260
+2019303261,2019303261
+2019303262,2019303262
+2019303263,2019303263
+2019303264,2019303264
+2019303265,2018700041
+2019303266,2019303266
+2019303267,2019303267
+2019303268,2019303268
+2019303269,2019303269
+2019303270,2019303270
+2019303271,2019303271
+2019303272,2019303272
+2019303273,2019303273
+2019303274,2019303274
+2019303275,2019303275
+2019303276,2019303276
+2019303277,2019303277
+2019303278,2019303278
+2019303279,2019303279
+2019303280,2019303280
+2019303281,2019303281
+2019303282,2019303282
+2019303283,2019303283
+2019303284,2019303284
+2019303285,2019303285
+2019303286,2019303286
+2019303287,2019303287
+2019303288,2019303288
+2019303289,2018700002
+2019303290,2019303290
+2019303291,2019303291
+2019303292,2019303292
+2019303293,2019303293
+2019303294,2019303294
+2019303295,2019303295
+2019303296,2019303296
+2019303297,2019303297
+2019303298,2019303298
+2019303299,2019303299
+2019303300,2019303300
+2019303301,2019303301
+2019303302,2019303302
+2019303303,2019303303
+2019303304,2019303304
+2019303305,2019303305
+2019303306,2019303306
+2019303307,2019303307
+2019303308,2019303308
+2019303309,2019303309
+2019303310,2018700066
+2019303311,2019303311
+2019303312,2019303312
+2019303313,2019303313
+2019303314,2019303314
+2019303315,2019303315
+2019303316,2019303316
+2019303317,2019303317
+2019303318,2019303318
+2019303319,2019303319
+2019303320,2019303320
+2019303321,2019303321
+2019303322,2019303322
+2019303323,2019303323
+2019303324,2019303324
+2019303325,2019303325
+2019303326,2019303326
+2019303327,2019303327
+2019303328,2019303328
+2019303329,2019303329
+2019303330,2019303330
+2019303331,2019303331
+2019303332,2019303332
+2019303333,2019303333
+2019303334,2019303334
+2019303335,2019303335
+2019303336,2019303336
+2019303337,2019303337
+2019303338,2019303338
+2019303339,2019303339
+2019303340,2019303340
+2019303341,2019303341
+2019303342,2019303342
+2019303343,2019303343
+2019303344,2019303344
+2019303345,2019303345
+2019303346,2019303346
+2019303347,2019303347
+2019303348,2019303348
+2019303349,2019303349
+2019303350,2019303350
+2019303351,2019303351
+2019303352,2019303352
+2019303353,2019303353
+2019303354,2019303354
+2019303355,2019303355
+2019303356,2019303356
+2019303357,2019303357
+2019303358,2019303358
+2019303359,2019303359
+2019303360,2019303360
+2019303361,2019303361
+2019303362,2019303362
+2019303363,2018700022
+2019303364,2019303364
+2019303365,2019303365
+2019303366,2019303366
+2019303367,2019303367
+2019303368,2019303368
+2019303369,2019303369
+2019303370,2019303370
+2019303371,2019303371
+2019303372,2019303372
+2019303373,2019303373
+2019303374,2019303374
+2019303375,2019303375
+2019303376,2019303376
+2019303377,2019303377
+2019303378,2019303378
+2019303379,2019303379
+2019303380,2019303380
+2019303381,2019303381
+2019303382,2018700070
+2019303383,2019303383
+2019303384,2019303384
+2019303385,2019303385
+2019303386,2019303386
+2019303387,2019303387
+2019303388,2019303388
+2019303389,2019303389
+2019303390,2019303390
+2019303391,2019303391
+2019303392,2019303392
+2019303393,2019303393
+2019303394,2019303394
+2019303395,2019303395
+2019303396,2019303396
+2019303397,2019303397
+2019303398,2019303398
+2019303399,2019303399
+2019303400,2019303400
+2019303401,2019303401
+2019303402,2019303402
+2019303403,2019303403
+2019303404,2019303404
+2019303405,2019303405
+2019303406,2019303406
+2019303407,2019303407
+2019303408,2019303408
+2019303409,2019303409
+2019303410,2019303410
+2019303411,2019303411
+2019303412,2019303412
+2019303413,2019303413
+2019303414,2019303414
+2019303415,2019303415
+2019303416,2019303416
+2019303417,2019303417
+2019303418,2019303418
+2019303419,2019303419
+2019303420,2019303420
+2019303421,2019303421
+2019303422,2019303422
+2019303423,2019303423
+2019303424,2019303424
+2019303425,2019303425
+2019303426,2019303426
+2019303427,2019303427
+2019303428,2018700061
+2019303429,2019303429
+2019303430,2019303430
+2019303431,2019303431
+2019303432,2019303432
+2019303433,2019303433
+2019303434,2019303434
+2019303435,2019303435
+2019303436,2019303436
+2019303437,2019303437
+2019303438,2019303438
+2019303439,2019303439
+2019303440,2019303440
+2019303441,2019303441
+2019303442,2019303442
+2019303443,2019303443
+2019303444,2019303444
+2019303445,2019303445
+2019303446,2019303446
+2019303447,2019303447
+2019303448,2019303448
+2019303449,2019303449
+2019303450,2019303450
+2019303451,2019303451
+2019303452,2019303452
+2019303453,2019303453
+2019303454,2018700015
+2019303455,2019303455
+2019303456,2019303456
+2019303457,2019303457
+2019303458,2019303458
+2019303459,2019303459
+2019303460,2019303460
+2019303461,2019303461
+2019303462,2019303462
+2019303463,2019303463
+2019303464,2019303464
+2019303465,2019303465
+2019303466,2019303466
+2019303467,2019303467
+2019303468,2019303468
+2019303469,2019303469
+2019303470,2019303470
+2019303471,2019303471
+2019303472,2019303472
+2019303473,2019303473
+2019303474,2019303474
+2019303475,2018700062
+2019303476,2019303476
+2019303477,2019303477
+2019303478,2019303478
+2019303479,2019303479
+2019303480,2019303480
+2019303481,2019303481
+2019303482,2019303482
+2019303483,2019303483
+2019303484,2019303484
+2019303485,2019303485
+2019303486,2019303486
+2019303487,2019303487
+2019303488,2019303488
+2019303489,2019303489
+2019303490,2019303490
+2019303491,2019303491
+2019303492,2019303492
+2019303493,2019303493
+2019303494,2019303494
+2019303495,2019303495
+2019303496,2019303496
+2019303497,2019303497
+2019303498,2019303498
+2019303499,2019303499
+2019303500,2019303500
+2019303501,2019303501
+2019303502,2019303502
+2019303503,2019303503
+2019303504,2019303504
+2019303505,2019303505
+2019303506,2019303506
+2019303507,2019303507
+2019303508,2019303508
+2019303509,2019303509
+2019303510,2019303510
+2019303511,2019303511
+2019303512,2019303512
+2019303513,2019303513
+2019303514,2019303514
+2019303515,2019303515
+2019303516,2019303516
+2019303517,2019303517
+2019303518,2019303518
+2019303519,2019303519
+2019303520,2019303520
+2019303521,2019303521
+2019303522,2019303522
+2019303523,2019303523
+2019303524,2019303524
+2019303525,2019303525
+2019303526,2019303526
+2019303527,2019303527
+2019303528,2019303528
+2019303529,2019303529
+2019303530,2019303530
+2019303531,2019303531
+2019303532,2019303532
+2019303533,2019303533
+2019303534,2019303534
+2019303535,2019303535
+2019303536,2019303536
+2019303537,2019303537
+2019303538,2019303538
+2019303539,2019303539
+2019303540,2019303540
+2019303541,2019303541
+2019303542,2019303542
+2019303543,2019303543
+2019303544,2019303544
+2019303545,2019303545
+2019303546,2019303546
+2019303547,2019303547
+2019303548,2019303548
+2019303549,2019303549
+2019303550,2019303550
+2019303551,2019303551
+2019303552,2019303552
+2019303553,2019303553
+2019303554,2019303554
+2019303555,2019303555
+2019303556,2019303556
+2019303557,2019303557
+2019303558,2019303558
+2019303559,2019303559
+2019303560,2019303560
+2019303561,2019303561
+2019303562,2019303562
+2019303563,2019303563
+2019303564,2019303564
+2019303565,2019303565
+2019303566,2019303566
+2019303567,2019303567
+2019303568,2019303568
+2019303569,2019303569
+2019303570,2019303570
+2019303571,2019303571
+2019303572,2019303572
+2019303573,2019303573
+2019303574,2019303574
+2019303575,2019303575
+2019303576,2019303576
+2019303577,2019303577
+2019303578,2019303578
+2019303579,2019303579
+2019303580,2019303580
+2019303581,2019303581
+2019303582,2019303582
+2019303583,2019303583
+2019303584,2019303584
+2019303585,2019303585
+2019303586,2019303586
+2019303587,2019303587
+2019303588,2019303588
+2019303589,2019303589
+2019303590,2019303590
+2019303591,2019303591
+2019303592,2019303592
+2019303593,2019303593
+2019303594,2019303594
+2019303595,2019303595
+2019303596,2019303596
+2019303597,2019303597
+2019303598,2019303598
+2019303599,2019303599
+2019303600,2019303600
+2019303601,2019303601
+2019303602,2019303602
+2019303603,2019303603
+2019303604,2019303604
+2019303605,2019303605
+2019303606,2019303606
+2019303607,2019303607
+2019303608,2019303608
+2019303609,2019303609
+2019303610,2019303610
+2019303611,2019303611
+2019303612,2019303612
+2019303613,2019303613
+2019303614,2019303614
+2019303615,2019303615
+2019303616,2019303616
+2019303617,2019303617
+2019303618,2019303618
+2019303619,2019303619
+2019303620,2018700003
+2019303621,2019303621
+2019303622,2019303622
+2019303623,2019303623
+2019303624,2019303624
+2019303625,2019303625
+2019303626,2019303626
+2019303627,2019303627
+2019303628,2019303628
+2019303629,2019303629
+2019303630,2019303630
+2019303631,2019303631
+2019303632,2019303632
+2019303633,2018700018
+2019303634,2019303634
+2019303635,2019303635
+2019303636,2019303636
+2019303637,2019303637
+2019303638,2019303638
+2019303639,2019303639
+2019303640,2019303640
+2019303641,2019303641
+2019303642,2019303642
+2019303643,2019303643
+2019303644,2019303644
+2019303645,2019303645
+2019303646,2019303646
+2019303647,2019303647
+2019303648,2019303648
+2019303649,2019303649
+2019303650,2019303650
+2019303651,2019303651
+2019303652,2019303652
+2019303653,2019303653
+2019303654,2019303654
+2019303655,2019303655
+2019303656,2019303656
+2019303657,2019303657
+2019303658,2019303658
+2019303659,2019303659
+2019303660,2019303660
+2019303661,2019303661
+2019303662,2019303662
+2019303663,2019303663
+2019303664,2019303664
+2019303665,2019303665
+2019303666,2019303666
+2019303667,2019303667
+2019303668,2019303668
+2019303669,2019303669
+2019303670,2019303670
+2019303671,2019303671
+2019303672,2019303672
+2019303673,2019303673
+2019303674,2019303674
+2019303675,2019303675
+2019303676,2019303676
+2019303677,2019303677
+2019303678,2019303678
+2019303679,2019303679
+2019303680,2019303680
+2019303681,2019303681
+2019303682,2019303682
+2019303683,2019303683
+2019303684,2019303684
+2019303685,2019303685
+2019303686,2019303686
+2019303687,2019303687
+2019303688,2019303688
+2019303689,2019303689
+2019303690,2019303690
+2019303691,2019303691
+2019303692,2019303692
+2019303693,2019303693
+2019303694,2019303694
+2019303695,2019303695
+2019303696,2019303696
+2019303697,2019303697
+2019303698,2019303698
+2019303699,2019303699
+2019303700,2019303700
+2019303701,2019303701
+2019303702,2019303702
+2019303703,2019303703
+2019303704,2019303704
+2019303705,2019303705
+2019303706,2019303706
+2019303707,2019303707
+2019303708,2019303708
+2019303709,2019303709
+2019303710,2019303710
+2019303711,2019303711
+2019303712,2019303712
+2019303713,2019303713
+2019303714,2019303714
+2019303715,2019303715
+2019303716,2019303716
+2019303717,2019303717
+2019303718,2019303718
+2019303719,2019303719
+2019303720,2019303720
+2019303721,2019303721
+2019303722,2019303722
+2019303723,2019303723
+2019303724,2019303724
+2019303725,2019303725
+2019303726,2019303726
+2019303727,2019303727
+2019303728,2019303728
+2019303729,2019303729
+2019303730,2019303730
+2019303731,2019303731
+2019303732,2019303732
+2019303733,2019303733
+2019303734,2019303734
+2019303735,2019303735
+2019303736,2019303736
+2019303737,2019303737
+2019303738,2019303738
+2019303739,2019303739
+2019303740,2019303740
+2019303741,2019303741
+2019303742,2019303742
+2019303743,2019303743
+2019303744,2019303744
+2019303745,2019303745
+2019303746,2019303746
+2019303747,2019303747
+2019303748,2019303748
+2019303749,2019303749
+2019303750,2019303750
+2019303751,2019303751
+2019303752,2019303752
+2019303753,2019303753
+2019303754,2019303754
+2019303755,2019303755
+2019303756,2019303756
+2019303757,2019303757
+2019303758,2019303758
+2019303759,2019303759
+2019303760,2019303760
+2019303761,2019303761
+2019303762,2019303762
+2019303763,2019303763
+2019303764,2019303764
+2019303765,2019303765
+2019303766,2019303766
+2019303767,2019303767
+2019303768,2019303768
+2019303769,2019303769
+2019303770,2019303770
+2019303771,2019303771
+2019303772,2019303772
+2019303773,2019303773
+2019303774,2019303774
+2019303775,2019303775
+2019303776,2019303776
+2019303777,2019303777
+2019303778,2019303778
+2019303779,2019303779
+2019303780,2019303780
+2019303781,2019303781
+2019303782,2019303782
+2019303783,2019303783
+2019303784,2019303784
+2019303785,2019303785
+2019303786,2019303786
+2019303787,2019303787
+2019303788,2019303788
+2019303789,2019303789
+2019303790,2019303790
+2019303791,2019303791
+2019303792,2019303792
+2019303793,2019303793
+2019303794,2019303794
+2019303795,2019303795
+2019303796,2019303796
+2019303797,2019303797
+2019303798,2019303798
+2019303799,2019303799
+2019303800,2019303800
+2019303801,2019303801
+2019303802,2019303802
+2019303803,2019303803
+2019303804,2019303804
+2019303805,2019303805
+2019303806,2019303806
+2019303807,2019303807
+2019303808,2019303808
+2019303809,2019303809
+2019303810,2019303810
+2019303811,2019303811
+2019303812,2019303812
+2019303813,2019303813
+2019303814,2019303814
+2019303815,2019303815
+2019303816,2019303816
+2019303817,2019303817
+2019303818,2019303818
+2019303819,2019303819
+2019303820,2019303820
+2019303821,2019303821
+2019303822,2019303822
+2019303823,2019303823
+2019303824,2019303824
+2019303825,2019303825
+2019303826,2019303826
+2019303827,2019303827
+2019303828,2019303828
+2019303829,2019303829
+2019303830,2019303830
+2019303831,2019303831
+2019303832,2019303832
+2019303833,2019303833
+2019303834,2019303834
+2019303835,2019303835
+2019303836,2019303836
+2019303837,2019303837
+2019303838,2019303838
+2019303839,2019303839
+2019303840,2019303840
+2019303841,2019303841
+2019303842,2019303842
+2019303843,2019303843
+2019303844,2019303844
+2019303845,2019303845
+2019303846,2019303846
+2019303847,2019303847
+2019303848,2019303848
+2019303849,2019303849
+2019303850,2019303850
+2019303851,2019303851
+2019303852,2019303852
+2019303853,2019303853
+2019303854,2019303854
+2019303855,2019303855
+2019303856,2019303856
+2019303857,2019303857
+2019303858,2019303858
+2019303859,2019303859
+2019303860,2019303860
+2019303861,2019303861
+2019303862,2019303862
+2019303863,2019303863
+2019303864,2019303864
+2019303865,2019303865
+2019303866,2019303866
+2019303867,2019303867
+2019303868,2019303868
+2019303869,2019303869
+2019303870,2019303870
+2019303871,2019303871
+2019303872,2019303872
+2019303873,2019303873
+2019303874,2019303874
+2019303875,2019303875
+2019303876,2019303876
+2019303877,2019303877
+2019303878,2019303878
+2019303879,2019303879
+2019303880,2019303880
+2019370025,2019370025
+2019370026,2019370026
+2019370029,2019370029
+2019370031,2019370031
+2019370032,2019370032
+2019371001,2019371001
+2019371002,2019371002
+2019371003,2019371003
+2019371004,2019371004
+2019371005,2019371005
+2019371006,2019371006
+2019371007,2019371007
+2019371008,2019371008
+2019371009,2019371009
+2019371010,2019371010
+2019371012,2019371012
+2019371013,2019371013
+2019371014,2019371014
+2019371015,2019371015
+2019371016,2019371016
+2019371017,2019371017
+2019371019,2019371019
+2019371022,2019371022
+2019371023,2019371023
+2019371024,2019371024
+2019372001,2019372001
+2019372002,2019372002
+2019372003,2019372003
+2019372004,2019372004
+2019372005,2019372005
+2019373001,2019373001
+2019373002,2019373002
+2019373003,2019373003
+2019373004,2019373004
+2019373005,2019373005
+2019373006,2019373006
+2019373007,2019373007
+2019373008,2019373008
+2019373009,2019373009
+2019373010,2019373010
+2019373011,2019373011
+2019373012,2019373012
+2019373013,2019373013
+2019373014,2019373014
+2019373015,2019373015
+2019373016,2019373016
+2019373017,2019373017
+2019373018,2019373018
+2019373019,2019373019
+2019373020,2019373020
+2019373021,2019373021
+2019373022,2019373022
+2019373023,2019373023
+2019373024,2019373024
+2019373025,2019373025
+2019373026,2019373026
+2019373027,2019373027
+2019373028,2019373028
+2019373029,2019373029
+2019373030,2019373030
+2019373031,2019373031
+2019373032,2019373032
+2019373033,2019373033
+2019380001,2019380001
+2019380002,2019380002
+2019380003,2019380003
+2019380004,2019380004
+2019380005,2019380005
+2019380006,2019380006
+2019380007,2019380007
+2019380008,2019380008
+2019380009,2019380009
+2019380010,2019380010
+2019380011,2019380011
+2019380012,2019380012
+2019380013,2019380013
+2019380014,2019380014
+2019380015,2019380015
+2019380016,2019380016
+2019380017,2019380017
+2019380018,2019380018
+2019380019,2019380019
+2019380020,2019380020
+2019380021,2019380021
+2019380022,2019380022
+2019380023,2019380023
+2019380024,2019380024
+2019380025,2019380025
+2019380026,2019380026
+2019380027,2019380027
+2019380028,2019380028
+2019380029,2019380029
+2019380030,2019380030
+2019380031,2019380031
+2019380032,2019380032
+2019380033,2019380033
+2019380034,2018380087
+2019380035,2019380035
+2019380036,2019380036
+2019380037,2019380037
+2019380038,2019380038
+2019380039,2019380039
+2019380040,2019380040
+2019380041,2019380041
+2019380042,2019380042
+2019380043,2019380043
+2019380044,2018380010
+2019380045,2019380045
+2019380046,2019380046
+2019380047,2019380047
+2019380048,2019380048
+2019380049,2019380049
+2019380050,2019380050
+2019380051,2019380051
+2019380052,2019380052
+2019380053,2019380053
+2019380054,2019380054
+2019380055,2019380055
+2019380056,2019380056
+2019380057,2019380057
+2019380058,2019380058
+2019380059,2019380059
+2019380060,2019380060
+2019380061,2019380061
+2019380062,2019380062
+2019380063,2019380063
+2019380064,2019380064
+2019380065,2019380065
+2019380066,2019380066
+2019380067,2019380067
+2019380068,2019380068
+2019380069,2019380069
+2019380070,2019380070
+2019380071,2019380071
+2019380072,2019380072
+2019380073,2019380073
+2019380074,2019380074
+2019380075,2019380075
+2019380076,2019380076
+2019380077,2019380077
+2019380078,2019380078
+2019380079,2019380079
+2019380081,2019380081
+2019380082,2019380082
+2019380083,2019380083
+2019380084,2019380084
+2019380085,2019380085
+2019380086,2019380086
+2019380087,2019380087
+2019380088,2019380088
+2019380089,2019380089
+2019380090,2019380090
+2019380091,2019380091
+2019380092,2019380092
+2019380093,2019380093
+2019380094,2019380094
+2019380095,2019380095
+2019380096,2019380096
+2019380097,2019380097
+2019380098,2019380098
+2019380099,2019380099
+2019380100,2019380100
+2019380101,2019380101
+2019380102,2018380143
+2019380103,2019380103
+2019380104,2019380104
+2019380105,2019380105
+2019380106,2019380106
+2019380107,2019380107
+2019380108,2019380108
+2019380109,2019380109
+2019380111,2019380111
+2019380112,2019380112
+2019380113,2019380113
+2019380114,2019380114
+2019380115,2019380115
+2019380116,2019380116
+2019380117,2019380117
+2019380118,2019380118
+2019380119,2019380119
+2019380120,2019380120
+2019380121,2019380121
+2019380122,2019380122
+2019380123,2019380123
+2019380124,2019380124
+2019380125,2019380125
+2019380126,2019380126
+2019380127,2019380127
+2019380128,2019380128
+2019380129,2019380129
+2019380130,2019380130
+2019380131,2019380131
+2019380132,2019380132
+2019380133,2019380133
+2019380134,2019380134
+2019380135,2019380135
+2019380136,2019380136
+2019380137,2019380137
+2019380138,2019380138
+2019380139,2019380139
+2019380140,2019380140
+2019380141,2019380141
+2019380142,2019380142
+2019380143,2019380143
+2019380144,2019380144
+2019380145,2019380145
+2019380146,2019380146
+2019380147,2019380147
+2019380148,2019380148
+2019380149,2019380149
+2019380150,2019380150
+2019380151,2019380151
+2019380152,2019380152
+2019380153,2019380153
+2019380154,2019380154
+2019380155,2019380155
+2019380156,2019380156
+2019380157,2019380157
+2019380158,2019380158
+2019380159,2019380159
+2019380160,2019380160
+2019380161,2019380161
+2019380162,2019380162
+2019380163,2019380163
+2019380164,2019380164
+2019380165,2019380165
+2019380166,2019380166
+2019380168,2019380168
+2019380169,2019380169
+2019380170,2019380170
+2019380171,2019380171
+2019380172,2019380172
+2019380173,2019380173
+2019380174,2019380174
+2019380175,2019380175
+2019380176,2019380176
+2019380177,2019380177
+2019380178,2019380178
+2019380179,2019380179
+2019380180,2019380180
+2019380181,2019380181
+2019380182,2019380182
+2019380183,2019380183
+2019380184,2019380184
+2019380185,2019380185
+2019380186,2019380186
+2019380187,2019380187
+2019380188,2019380188
+2019380189,2019380189
+2019380190,2019380190
+2019380191,2019380191
+2019380192,2019380192
+2019380193,2019380193
+2019380194,2019380194
+2019380195,2019380195
+2019380196,2019380196
+2019380197,2019380197
+2019380198,2019380198
+2019380199,2019380199
+2019380200,2019380200
+2019380201,2019380201
+2019380202,2019380202
+2019380203,2019380203
+2019380204,2019380204
+2019380205,2019380205
+2019380206,2019380206
+2019380207,2019380207
+2019380208,2019380208
+2019380209,2019380209
+2019380210,2019380210
+2019380211,2019380211
+2019380212,2019380212
+2019380213,2019380213
+2019380214,2019380214
+2019380215,2019380215
+2019380216,2019380216
+2019380217,2019380217
+2019380218,2019380218
+2019380219,2019380219
+2019380220,2019380220
+2019380221,2019380221
+2019380222,2019380222
+2019380223,2019380223
+2019380224,2019380224
+2019380225,2019380225
+2019380226,2019380226
+2019380227,2019380227
+2019380228,2019380228
+2019380229,2019380229
+2019380230,2019380230
+2019700001,2019700001
+2019700002,2019700002
+2019700003,2019700003
+2019700004,2019700004
+2019700005,2019700005
+2019700006,2019700006
+2019700007,2019700007
+2019700008,2019700008
+2019700009,2019700009
+2019700010,2019700010
+2019700011,2019700011
+2019700012,2019700012
+2019700013,2019700013
+2019700014,2019700014
+2019700015,2019700015
+2019700016,2019700016
+2019700017,2019700017
+2019700018,2019700018
+2019700019,2019700019
+2019700020,2019700020
+2019700021,2019700021
+2019700022,2019700022
+2019700023,2019700023
+2019700024,2019700024
+2019700025,2019700025
+2019700026,2019700026
+2019700027,2019700027
+2019700028,2019700028
+2019700029,2019700029
+2019700030,2019700030
+2019700031,2019700031
+2019700032,2019700032
+2019700033,2019700033
+2019700034,2019700034
+2019700035,2019700035
+2019700036,2019700036
+2019700037,2019700037
+2019700038,2019700038
+2019700039,2019700039
+2019700040,2019700040
+2019700041,2019700041
+2019700042,2019700042
+2019700043,2019700043
+2019700044,2019700044
+2019700045,2019700045
+2019700046,2019700046
+2019700047,2019700047
+2019700048,2019700048
+2019700049,2019700049
+2019700050,2019700050
+2019700051,2019700051
+2019700052,2019700052
+2019700053,2019700053
+2019700054,2019700054
+2019700055,2019700055
+2019700056,2019700056
+2019700057,2019700057
+2019700058,2019700058
+2019700059,2019700059
+2019700060,2019700060
+2019700061,2019700061
+2019700062,2019700062
+2019700063,2019700063
+2019700064,2019700064
+2019700065,2019700065
+2019700066,2019700066
+2019700067,2019700067
+2019700068,2019700068
+2019700069,2019700069
+2019700070,2019700070
+2019700071,2019700071
+2019700072,2019700072
+2016301190f,2016301190
+2015300246f,2015300246
+2020100283,2014301971
+2020100502,2018203436
+2018301505f,2018301505
+20200P0184,20180P0341
+2020100315,2013300186
+2020100313,2017201672
+2018303539f,2018303539
+2015301039f,2015301039
+1997000051,1997000051
+20200P0696,2015302864
+2020100447,20190P0584
+2020100180,2018200816
+2020100428,2017202204
+2015300121f,2015300121
+2016301326f,2016301326
+2020100134,2017200691
+2015302325f,2015302325
+2020100314,2013302215
+2016301320f,2016301320
+2020100188,2017200770
+20200P0621,2015240006
+2020100278,2013301655
+2020100491,2018203445
+2015303429f,2015303429
+2018300001f,2018300001
+2020100150,2018200740
+2020100236,2013301481
+2020100189,2017200778
+2018302188f,2018302188
+2015302475f,2015302475
+2018300430f,2018300430
+2018303653f,2018303653
+2020100300,2017201499
+2020100163,2013301126
+2015303021f,2015303021
+2015303431f,2015303431
+2018301383f,2018301383
+2020100104,2013300748
+2018301807f,2018301807
+2020100296,2017201537
+2020100081,2014300722
+2020100170,2017202303
+2015300525f,2015300525
+2015300595f,2015300595
+2020010030,2015100078
+2020100531,2013300512
+2016300091f,2016300091
+1986010120,20190P0058
+2018302192f,2018302192
+2015303459f,2015303459
+2018302765f,2018302765
+dawang,dawang
+2020060001,2018030254
+2018303414f,2018303414
+2020100393,2017202146
+5555,5555
+2015301921f,2015301921
+2020100138,2017202222
+2020060005,20190P0028
+2020065005,20190P0028
+2020100112,2013300732
+2015301033f,2015301033
+2018303431f,2018303431
+2018301641f,2018301641
+2020100171,2013301099
+2020100067,2017260413
+2020100511,2018070081
+2016302708f,2016302708
+2015302236f,2015302236
+2020100346,2012302153
+2020100349,2013302174
+2020100214,2017200992
+2020100100,2018200493
+2018302684f,2018302684
+2020100156,2017200683
+2020100151,2018200710
+2018300020f,2018300020
+2020100153,2013301137
+2015301070f,2015301070
+2016300588f,2016300588
+2018301220f,2018301220
+2018302342f,2018302342
+2018303400f,2018303400
+2015301028f,2015301028
+2020100192,2017200772
+2020100074,2017200506
+2015301424f,2015301424
+2020100106,2013300746
+2015300522f,2015300522
+2018303603f,2018303603
+2020100155,2017260821
+2020100077,2013300638
+2015303419f,2015303419
+2020100178,2018200823
+2020100467,2018202539
+2020100298,2017263322
+20200P0069,20170P0194
+2020100158,2018200703
+20200P0661,2017070070
+2020100103,2018200483
+2020100457,2012302910
+2018303312f,2018303312
+2018302186f,2018302186
+2020100436,2017202263
+2018090050,2018060020
+2020100342,2014300357
+2020100503,2017203309
+2020100195,2018200769
+2015303022f,2015303022
+2015300603f,2015300603
+2018300250f,2018300250
+2020100495,2017203299
+2016301243f,2016301243
+2015302359f,2015302359
+20200P0625,1980000023
+2015303484f,2015303484
+20200P0623,1982000083
+2016301106f,2016301106
+2020100518,2017263349
+2020100141,2017260880
+2018303402f,2018303402
+2020100179,2017260884
+2020100225,2017261167
+2020100543,2017260577
+2015302220f,2015302220
+2020100224,2017261161
+2020100161,2018200720
+2020100501,2017203311
+2015301305f,2015301305
+2020100293,2013302066
+2018300071f,2018300071
+2020100279,2013300158
+2018302785f,2018302785
+2020100404,2017262321
+flowadmin,flowadmin
+20200P0553,20190P0480
+2020100249,2013301592
+2019070888,2017070150
+2019010270,20190P0095
+2018300083f,2018300083
+2020100269,2013301737
+2020100024,2013302086
+2020100247,2017261254
+2018301382f,2018301382
+2018302692f,2018302692
+2018302860f,2018302860
+2020100394,2017202165
+2019010235,2019030028
+2020100455,2013302895
+2020100367,2012300015
+2018302593f,2018302593
+2018303065f,2018303065
+55555,55555
+2015302366f,2015302366
+2015303383f,2015303383
+2020100162,2013301529
+2018301038f,2018301038
+2020100260,2013300673
+2020100539,2013301165
+20200P0109,20170P0135
+2020100034,2013300279
+2020100271,2014301651
+2020100519,2018070187
+2020100399,2017202180
+2020100140,2017260801
+2018302768f,2018302768
+2020100499,2017203298
+20200P0491,20170P1168
+2018090055,2018010035
+2020100061,2013300545
+2018301410f,2018301410
+2020100454,2018202425
+2020100309,2014302208
+2020100412,2018202374
+2018301083f,2018301083
+2018303386f,2018303386
+2015303443f,2015303443
+2015301627f,2015301627
+2015301879f,2015301879
+2015300596f,2015300596
+2020100276,2014301789
+2015303356f,2015303356
+2020100496,2017263324
+portaladmin,portaladmin
+2020100146,2014300916
+2018300187f,2018300187
+2019010259,20170P2102
+2018300129f,2018300129
+2016301191f,2016301191
+20200P0739,2014070001
+2016301084f,2016301084
+2020100540,2017202172
+2020100084,2013300818
+2020100380,2013303307
+2020100384,2017263141
+2018303573f,2018303573
+2018301384f,2018301384
+2018090053,2018060021
+2018302923f,2018302923
+2020100288,2013300167
+2020100036,2017260185
+2020100426,2013302793
+2020100414,2013302907
+00100025,00100025
+20200P0264,20140P0119
+2020100392,2017202176
+2020100047,2013300641
+2020100290,2013301837
+2018302408f,2018302408
+2020100484,20180P2330
+2020100405,2017202198
+2015301035f,2015301035
+2015303217f,2015303217
+2016301195f,2016301195
+2020100211,2017263321
+2015303020f,2015303020
+20200P0354,20140P0124
+2020100190,2017260846
+2018303581f,2018303581
+2018303413f,2018303413
+2020100040,2014300229
+2020100410,20180P2339
+2020100119,2018070175
+2020100356,2017201725
+2018301073f,2018301073
+2015302414f,2015302414
+2018302683f,2018302683
+2020100226,2018201111
+2020100233,2017261139
+2018303430f,2018303430
+20200P0395,20190P0711
+2020100542,2017202188
+2018302793f,2018302793
+2020100046,2013300696
+2020100338,2017261901
+2015303422f,2015303422
+2018302722f,2018302722
+2018300273f,2018300273
+2015301507f,2015301507
+2018302644f,2018302644
+2020100281,2013301844
+2020070036,20180P2202
+2020100234,2017261141
+2020100479,2017202157
+20200P0046,20170P0212
+2016302546f,2016302546
+2020100383,2013303510
+2014240071,2019100458
+2018300010f,2018300010
+2018303499f,2018303499
+2018303188f,2018303188
+2020100165,2013300941
+2020100198,2018200998
+2015303425f,2015303425
+2020100182,2013300971
+2020100537,2013300729
+2016301162f,2016301162
+2020100072,2013300554
+2018301082f,2018301082
+2016301105f,2016301105
+2020100473,2013303044
+2016302726f,2016302726
+2016301285f,2016301285
+2017302846f,2017302846
+2015303403f,2015303403
+2015300537f,2015300537
+2018302794f,2018302794
+2020100261,2013301767
+2016301850f,2016301850
+2020100470,2017202394
+2015301434f,2015301434
+2018303584f,2018303584
+2018300281f,2018300281
+2018302694f,2018302694
+2018302249f,2018302249
+2020100220,2017261124
+2018301072f,2018301072
+2020100039,2014300314
+2018301516f,2018301516
+2020100205,2013301356
+2015301568f,2015301568
+2020100439,2017262328
+2020100018,2013300284
+20200P0819,1981000204
+2020100419,2012302925
+2020100244,2017261274
+2020100347,2017261903
+2020100387,2013302759
+2020100350,2013302459
+2018303128f,2018303128
+2016301335f,2016301335
+2018300567f,2018300567
+2015301775f,2015301775
+2015302243f,2015302243
+2015301667f,2015301667
+2020100343,2013301583
+1988000133,20190P0129
+2020100521,2018201564
+2016303430f,2016303430
+2018303427f,2018303427
+2018302766f,2018302766
+20200P0040,20170P0186
+2020100011,2017260158
+2020100372,2014302669
+2020100305,2017201542
+2020100515,2017202976
+2015303437f,2015303437
+2015303432f,2015303432
+2018303143f,2018303143
+2015303457f,2015303457
+2020100341,2017201781
+2015300825f,2015300825
+2016300093f,2016300093
+2018301172f,2018301172
+2018302849f,2018302849
+2015302472f,2015302472
+2020100284,2013302109
+2016300276f,2016300276
+2018303558f,2018303558
+2018302205f,2018302205
+1989010065,20190P0420
+2020100049,2017200293
+2020100101,2017260597
+2015301323f,2015301323
+2020100025,2017200003
+2020100251,2018201288
+2020100209,2017261092
+2018302429f,2018302429
+2020100335,2017201742
+bizadmin,bizadmin
+2020100364,2017201707
+2020100345,2013302206
+2020100336,2017261908
+2020100237,2013301203
+2020100097,2012300620
+2015301339f,2015301339
+2020100506,2018070037
+2020100232,2017201024
+2020100169,2013301078
+2020100485,20180P2189
+2020100181,2013301050
+2020100385,2017262119
+2020100453,2018202382
+2020100466,2017202943
+2018303396f,2018303396
+2020100148,2017200712
+1992010070,20190P0421
+2015301776f,2015301776
+2020100452,2017203302
+2020100375,2014302689
+2019070165,20190P0776
+2020100480,2017263139
+2018303609f,2018303609
+80808080,90909090
+70707070,90909090
+2020100076,2013301511
+2018302219f,2018302219
+2020100107,2017200437
+20200P0075,20170P0192
+20200P0396,20170P0156
+2020100098,2013300765
+2020100015,2017260172
+2020100337,2017261900
+2020070030,2016210275
+2019070186,2013300882
+2020100194,2017260872
+2020100250,2018201301
+1984010071,20190P0128
+2020100010,2017200077
+1984010037,1984010037
+2020100422,2014302935
+2015302990f,2015302990
+2020100318,2013302282
+2015303106f,2015303106
+2020030018,2009200478
+2020100386,2017262097
+2018300265f,2018300265
+2020100147,2014301102
+2020100166,2014300063
+2020100417,2018202370
+2020100398,2017202169
+2015300092f,2015300092
+2018300385f,2018300385
+2018300404f,2018300404
+2018301455f,2018301455
+2020100258,2017261398
+2020100135,2017200632
+2020100297,2013300175
+2020100378,2013303528
+2020100021,2017260168
+2020100087,2018200484
+2020100253,2017261290
+2015303405f,2015303405
+2020100481,20180P0056
+20111134,20111134
+2020100136,2017262345
+2020100274,2013301660
+2015302218f,2015302218
+2018300316f,2018300316
+2016301163f,2016301163
+2018303404f,2018303404
+2020100231,2017201029
+2020100529,2016262646
+2020100086,2013301920
+2018300652f,2018300652
+2020100031,2013301953
+2015303436f,2015303436
+2020100137,2013301133
+2015301300f,2015301300
+2018303074f,2018303074
+2015302192f,2015302192
+2019010257,2011100003
+08085539,{SHA-256}{XmB7RX3Vq2f2FpJs/QvKrr3MGdFaxKVtEBHFXuuQ6Wc=}e7581fa21aa5f9629ee25b3c003db4bbedb7dc735fdaf485e8c20b29bc0faad1
+2018303411f,2018303411
+20200P0073,20170P0195
+2016300092f,2016300092
+2018300287f,2018300287
+2018303399f,2018303399
+2020100002,2012200778
+2018302723f,2018302723
+2018300003f,2018300003
+2020100418,2017202298
+2018302623f,2018302623
+20200P0032,20170P0133
+2018302791f,2018302791
+2019010288,2007300557
+2018300625f,2018300625
+2018303447f,2018303447
+20200P0089,20180P0340
+20200P0052,20170P0413
+20200P0071,20170P0193
+2020100075,2017260202
+2020100172,2018200728
+2018303553f,2018303553
+2015301066f,2015301066
+20200P0130,20180P0346
+20200P0074,20170P0190
+20200P0024,20170P0198
+2020100235,2013301248
+20200P0042,20170P0196
+2016300094f,2016300094
+2020100425,2014302933
+2016301361f,2016301361
+2020100191,2017260892
+2020100254,2017201235
+2019010302,20170P0624
+2020100446,2015262028
+2015302864f,2015302864
+20200P0717,2018263254
+2020100203,2017201059
+20200P0017,20170P0556
+2018300336f,2018300336
+2020100083,2017260537
+2016301153f,2016301153
+2020100201,2017202145
+2020030007,2013100010
+2016301325f,2016301325
+2018300370f,2018300370
+2020100427,2017262327
+2015301056f,2015301056
+2018300931f,2018300931
+222212,222212
+2020100069,2012300427
+2018302748f,2018302748
+2020100442,2014302855
+2020100032,2017260191
+2018302437f,2018302437
+2016303539f,2016303539
+2020100423,2018202399
+2015302314f,2015302314
+2020100090,2013300887
+2020100280,2017201340
+2020100262,2013301685
+2018300148f,2018300148
+2015302392f,2015302392
+2020100355,2013302171
+2020100440,2013302836
+9090,9090
+2020100411,2017202270
+2020100016,2013300312
+2020100204,2018201118
+2018303445f,2018303445
+2020100374,2017262128
+2016300312f,2016300312
+2019030238,2010200508
+2015300066f,2015300066
+2020100044,2014300278
+2020100354,2017201724
+2018302689f,2018302689
+2020100257,2014301711
+2020100197,2017200926
+2020100352,2017200270
+2015302118f,2015302118
+2020100199,2017261102
+2018303664f,2018303664
+2015302352f,2015302352
+2018301959f,2018301959
+2015302224f,2015302224
+2015300122f,2015300122
+2020100438,2018202414
+2016300043f,2016300043
+2016302754f,2016302754
+2020100216,2017261111
+2020100241,2011301463
+2020100227,2017261159
+2020100243,2017261269
+2018302281f,2018302281
+2020100317,2013302247
+2018300276f,2018300276
+2015301512f,2015301512
+2020100014,2013300378
+2018303229f,2018303229
+2020100041,2013300268
+2018302187f,2018302187
+2020100160,2018203447
+2015303445f,2015303445
+2020100073,2013302561
+2015302618f,2015302618
+2015300531f,2015300531
+20200P0060,20170P1136
+2020100263,2013300652
+2016300113f,2016300113
+2020100489,2016202667
+2018303493f,2018303493
+2020100273,2014301770
+2020100187,2013301105
+CES,201809123654
+2015301650f,2015301650
+2020100456,2018202448
+2020100289,2017261603
+2018090049,2018010028
+2020100132,2017260826
+2015301069f,2015301069
+2020100026,2016260207
+2020100270,2017201349
+2018303410f,2018303410
+2015301059f,2015301059
+2020100344,2013302155
+2016301991f,2016301991
+2020070007,20160P0340
+2016302920f,2016302920
+2018302730f,2018302730
+2020100530,2017201939
+2020100282,2017261640
+2020100009,2017261281
+2020100089,2013300863
+2020100259,2017201304
+2018302589f,2018302589
+2018302727f,2018302727
+2020100252,2017261291
+2015303426f,2015303426
+20200P0375,20170P0151
+2020100108,2017260533
+2020100472,2017262362
+2020100265,2014301678
+2020100019,2013300500
+2020070011,20180P2124
+2020100475,2018202522
+2020100382,2017202012
+2018302836f,2018302836
+2019010293,20190P0772
+2020100340,2013302407
+2020100022,2017200021
+2018302334f,2018302334
+2015302332f,2015302332
+2020100371,2017263312
+2015300609f,2015300609
+2020030022,20190P0627
+2020100266,2013300159
+2020100133,2017200666
+2018302434f,2018302434
+2018301413f,2018301413
+2019070164,20190P0774
+2015302221f,2015302221
+2018302695f,2018302695
+2020100277,2017261443
+2020100415,2013302887
+2020070022,2017070157
+2020100348,2013302399
+2020100020,2013303576
+2020100498,2018203446
+2020100145,2018200663
+2020100109,2013300716
+2020100229,2017261166
+2020100042,2017201359
+2020100078,2013300675
+2020100402,2016201904
+2016300213f,2016300213
+2020100167,2017260912
+2020100420,2017262356
+1234,1234
+2020100186,2017200773
+2020100272,2017201342
+2018302789f,2018302789
+20200P0016,20180P0489
+2020100370,2017201917
+2020100441,2013302792
+2020100264,2017261440
+2018302415f,2018302415
+2015301923f,2015301923
+2015300565f,2015300565
+2020100177,2017200733
+2020100424,2018202394
+2015301490f,2015301490
+2018302339f,2018302339
+2020100246,2017201248
+2020100406,2018202349
+2020100528,2016010140
+2020100376,2017201819
+2016300027f,2016300027
+2020100497,2017263323
+2020010026,2017263236
+2020100068,2013300679
+2020100023,2017200076
+2019010305,2019060071
+2018300646f,2018300646
+2020100334,2017261873
+2020070039,2014202456
+2020100286,2013302079
+2018302194f,2018302194
+2018302266f,2018302266
+2020100060,2017260414
+2020100474,2017202984
+2018300048f,2018300048
+2019070170,20140P0422
+1213,121
+2020100143,2014300906
+2020100092,2017263238
+2020100193,2014301033
+2016300606f,2016300606
+2020100139,2013301487
+2020100395,2017202134
+20200P0449,20190P0502
+2020100037,2017200132
+2018301078f,2018301078
+2020030021,2015100094
+2020100353,2017261880
+2015301975f,2015301975
+2020100482,2017070039
+2020100302,2013300181
+2020100149,2018200765
+2020100157,2017200622
+2020100110,2013300718
+2020100064,2017260373
+2020100230,2017261154
+2018303622f,2018303622
+2018301039f,2018301039
+2020100085,2017260529
+2018303406f,2018303406
+2020100400,2017202163
+2020100066,2017260391
+2018302732f,2018302732
+2020100381,2017201949
+20200P0050,20170P0189
+2020100522,2018201561
+2020100142,2018200735
+2020100396,2017202135
+2020100469,2017202405
+2015301068f,2015301068
+2018300034f,2018300034
+2015300088f,2015300088
+2020100043,2014300402
+2015302417f,2015302417
+2020100391,2018202323
+2020100291,2017201539
+2018303591f,2018303591
+2019070169,2019070034
+2020100159,2017200639
+2020100306,2013301923
+2020100006,2013300503
+2020100299,2013301874
+2015303401f,2015303401
+2020100316,2018200458
+2020100013,2017200022
+2018090079,2018060073
+2018090078,2018060072
+2018302361f,2018302361
+2020100546,2017203295
+2018302598f,2018302598
+2018302922f,2018302922
+2018303412f,2018303412
+2015303421f,2015303421
+2020100541,2014300575
+2020100275,2013301699
+20200P0035,20170P0131
+2015301524f,2015301524
+2016301352f,2016301352
+2020100494,2018203419
+2018303451f,2018303451
+2018302792f,2018302792
+2020100063,2017260402
+T001,T001
+T002,T002
+T003,T003
+xxzx,xxzx
+yxbks001,yxbks001
+yxbks002,yxbks002
+yxbks003,yxbks003
+yxbks004,yxbks004
+yxbks005,yxbks005
+yxbks006,yxbks006
+yxbks007,yxbks007
+yxbks008,yxbks008
+yxbks009,yxbks009
+yxbks010,yxbks010
+yxyjs001,yxyjs001
+yxyjs002,yxyjs002
+yxyjs003,yxyjs003
+yxyjs004,yxyjs004
+yxyjs005,yxyjs005
+yxyjs006,yxyjs006
+yxyjs007,yxyjs007
+yxyjs008,yxyjs008
+yxyjs009,yxyjs009
+yxyjs010,yxyjs010
diff --git a/testing/jmeter/result.xml b/testing/jmeter/result.xml
new file mode 100644
index 0000000..bb5aea0
--- /dev/null
+++ b/testing/jmeter/result.xml
@@ -0,0 +1,533736 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testResults version="1.2">
+<httpSample t="143" it="0" lt="134" ct="33" ts="1587564488087" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="499" sby="199" ng="10" na="10">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjhkMWQ1MzAtNmRkYS00MjUwLWIyMzctYjE3Y2JmZDA4MWZl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="111" it="0" lt="102" ct="19" ts="1587564488119" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="499" sby="199" ng="10" na="10">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDMxYzJhNDQtMzI2My00ZjFkLTkyNzgtOGExM2E1ZTc0OWJh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="144" it="0" lt="134" ct="30" ts="1587564488085" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="499" sby="199" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTM2YjVjYTAtMjM0ZC00NmQ3LWFkZjEtYTk5Y2Q1Mzg5NjI5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="2" ts="1587564488235" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="499" sby="199" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzMzMWM3ZWYtMDJkNC00MmYwLThkMmYtZTY0MzdmZWRiMjkx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="91" it="0" lt="82" ct="1" ts="1587564488139" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="499" sby="199" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWU3MGE3MTMtYjliOS00YWJlLThmMGMtNDgyMGE1MDE0YTc4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="138" it="0" lt="130" ct="24" ts="1587564488091" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="499" sby="199" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2I4YjNkNWUtYTEzMS00Y2NhLWI0NjctMzQxMGViMzg1YzAw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="10" ct="6" ts="1587564488215" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="499" sby="199" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmIwYjMyOWItMjVlYy00OGNhLWFkYTktYTg2NWQxM2ZmOTli; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="144" it="0" lt="138" ct="31" ts="1587564488085" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="499" sby="199" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjRlY2ZkZmYtMzJhMi00ZTNlLTkzZjgtOTRmMzRkMjYwNDM4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="140" it="0" lt="134" ct="31" ts="1587564488089" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="499" sby="199" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzRkMmVkY2ItMGZhNi00ODIxLWI2ZjMtZjdhY2M4MTk1MDNl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="58" it="0" lt="52" ct="1" ts="1587564488171" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="499" sby="199" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjUxOGQ3NDgtYjRmYi00Mzg4LWIwNmUtYTJkOTYyYjhmYjY1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="142" it="0" lt="135" ct="28" ts="1587564488087" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="499" sby="199" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGRlNTI5NmItMDAyZC00ODRjLWE5ZTktNWY3MTU3YTg2Y2Zi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564488242" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="351" sby="307" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDMxYzJhNDQtMzI2My00ZjFkLTkyNzgtOGExM2E1ZTc0OWJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564488244" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="351" sby="307" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzMzMWM3ZWYtMDJkNC00MmYwLThkMmYtZTY0MzdmZWRiMjkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564488245" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="351" sby="307" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWU3MGE3MTMtYjliOS00YWJlLThmMGMtNDgyMGE1MDE0YTc4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564488245" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="351" sby="307" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTM2YjVjYTAtMjM0ZC00NmQ3LWFkZjEtYTk5Y2Q1Mzg5NjI5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564488246" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="351" sby="307" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2I4YjNkNWUtYTEzMS00Y2NhLWI0NjctMzQxMGViMzg1YzAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564488242" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="351" sby="307" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjhkMWQ1MzAtNmRkYS00MjUwLWIyMzctYjE3Y2JmZDA4MWZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564488248" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="351" sby="307" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzRkMmVkY2ItMGZhNi00ODIxLWI2ZjMtZjdhY2M4MTk1MDNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564488248" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="351" sby="307" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmIwYjMyOWItMjVlYy00OGNhLWFkYTktYTg2NWQxM2ZmOTli</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564488250" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="351" sby="307" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGRlNTI5NmItMDAyZC00ODRjLWE5ZTktNWY3MTU3YTg2Y2Zi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564488249" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="351" sby="307" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjUxOGQ3NDgtYjRmYi00Mzg4LWIwNmUtYTJkOTYyYjhmYjY1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564488251" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="351" sby="307" ng="11" na="11">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjRlY2ZkZmYtMzJhMi00ZTNlLTkzZjgtOTRmMzRkMjYwNDM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="1" ts="1587564488272" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="499" sby="199" ng="12" na="12">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzUxNWVlYjktYzI2My00NzM3LWJhYjMtYTBiZTEwZDI0MTE0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564488282" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="351" sby="307" ng="12" na="12">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzUxNWVlYjktYzI2My00NzM3LWJhYjMtYTBiZTEwZDI0MTE0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="1" ts="1587564488309" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="499" sby="199" ng="13" na="13">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmQ1YWJiM2YtYjk0Ni00OTc3LThmYzYtZDkxNzczNWFjMTYy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564488315" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="351" sby="307" ng="13" na="13">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZmQ1YWJiM2YtYjk0Ni00OTc3LThmYzYtZDkxNzczNWFjMTYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="1" ts="1587564488334" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="499" sby="199" ng="14" na="14">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGMzMmY1ODktOTg2MC00MTE0LWI0YzgtNmZhMjk3MDg5MWU1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564488339" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="351" sby="307" ng="14" na="14">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGMzMmY1ODktOTg2MC00MTE0LWI0YzgtNmZhMjk3MDg5MWU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564488350" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="499" sby="199" ng="15" na="15">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjdhZGE4ZDgtMGIwZC00NjJmLWIxM2MtZmEzYzgwZDM1ZDMy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564488355" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="351" sby="307" ng="15" na="15">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjdhZGE4ZDgtMGIwZC00NjJmLWIxM2MtZmEzYzgwZDM1ZDMy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="2" ts="1587564488380" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="499" sby="199" ng="16" na="16">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjVhYjU4YjQtMmU3ZC00NWJkLThmYTItOTM2NmY5YjNmZWM0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564488387" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="351" sby="307" ng="16" na="16">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjVhYjU4YjQtMmU3ZC00NWJkLThmYTItOTM2NmY5YjNmZWM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="2" ts="1587564488497" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="499" sby="199" ng="20" na="20">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjMwMTA1NjgtMGRlMi00Mzk4LWE4NjQtOGQxNTM1ODUxYjk3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564488499" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="499" sby="199" ng="20" na="20">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzI2NzhkYzgtYWY3MC00MWE5LThiODgtMjFhNmVkZTJiZjNk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="1" ts="1587564488498" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="499" sby="199" ng="20" na="20">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmY5MjQzYzEtZjZhZi00YmFhLWE2OTMtY2I5YzFmYjgwNGE5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="3" ts="1587564488496" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="499" sby="199" ng="20" na="20">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTM1ZmU3ZTItN2EyMC00YjIxLWJiODAtZTcyNWY2MGJjMGFm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564488504" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="351" sby="307" ng="20" na="20">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjMwMTA1NjgtMGRlMi00Mzk4LWE4NjQtOGQxNTM1ODUxYjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564488507" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="351" sby="307" ng="20" na="20">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTM1ZmU3ZTItN2EyMC00YjIxLWJiODAtZTcyNWY2MGJjMGFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564488506" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="351" sby="307" ng="20" na="20">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmY5MjQzYzEtZjZhZi00YmFhLWE2OTMtY2I5YzFmYjgwNGE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564488505" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="351" sby="307" ng="20" na="20">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzI2NzhkYzgtYWY3MC00MWE5LThiODgtMjFhNmVkZTJiZjNk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564488524" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="499" sby="199" ng="21" na="21">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2E2N2QzMzctMWU4OC00YWMwLTk1MjYtYmJkMTMzOWU1MTdk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564488529" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="351" sby="307" ng="21" na="21">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2E2N2QzMzctMWU4OC00YWMwLTk1MjYtYmJkMTMzOWU1MTdk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="2" ts="1587564488568" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="499" sby="199" ng="22" na="22">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTJiMGFhYWQtMmFmMi00MWY0LWFlNjQtMGEzOGRkNTc4YTk4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564488574" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="351" sby="307" ng="22" na="22">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTJiMGFhYWQtMmFmMi00MWY0LWFlNjQtMGEzOGRkNTc4YTk4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="1" ts="1587564488598" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="499" sby="199" ng="23" na="23">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzdlNjZlNzEtNjBmNy00NDlkLWE2NjAtMjg5NjU1Y2M4NjBl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564488603" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="351" sby="307" ng="23" na="23">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzdlNjZlNzEtNjBmNy00NDlkLWE2NjAtMjg5NjU1Y2M4NjBl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="1" ts="1587564488614" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="499" sby="199" ng="24" na="24">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmMwMTdjMjAtZjY3Ni00N2U2LTg1OWYtMGNjNWZlMzQ4NzZj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564488619" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="351" sby="307" ng="24" na="24">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmMwMTdjMjAtZjY3Ni00N2U2LTg1OWYtMGNjNWZlMzQ4NzZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="2" ts="1587564488673" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="499" sby="199" ng="25" na="25">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTdlZjdkMzEtY2E5Ny00YzNlLWJiOWQtMDRmMjE0ZjA2ZDBi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564488679" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="351" sby="307" ng="25" na="25">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTdlZjdkMzEtY2E5Ny00YzNlLWJiOWQtMDRmMjE0ZjA2ZDBi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="3" ts="1587564488698" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="499" sby="199" ng="26" na="26">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzExNTQ2YWMtN2MzNC00NDFjLThjNmQtMjg4NzY0NWY5ZGVl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564488705" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="351" sby="307" ng="27" na="27">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzExNTQ2YWMtN2MzNC00NDFjLThjNmQtMjg4NzY0NWY5ZGVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="6" ts="1587564488711" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="499" sby="199" ng="27" na="27">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Mjc0MzRjMzktOTY2NS00NGUzLWE4OTUtZGM4ZGE3ZDRkOTYw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564488720" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="351" sby="307" ng="27" na="27">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mjc0MzRjMzktOTY2NS00NGUzLWE4OTUtZGM4ZGE3ZDRkOTYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="2" ts="1587564488734" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="499" sby="199" ng="28" na="28">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzY3ZjQ3Y2UtOGUyOC00ZmY3LTgzNDctOTJjMTgyMTg0NjFh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564488740" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="351" sby="307" ng="28" na="28">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzY3ZjQ3Y2UtOGUyOC00ZmY3LTgzNDctOTJjMTgyMTg0NjFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564488764" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="499" sby="199" ng="29" na="29">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjYzY2MwNTItNTFhMy00NTQ2LWEzYmUtMzUwODMwZTMyMmUw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564488769" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="351" sby="307" ng="29" na="29">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjYzY2MwNTItNTFhMy00NTQ2LWEzYmUtMzUwODMwZTMyMmUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="39" it="0" lt="39" ct="36" ts="1587564488793" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="499" sby="199" ng="31" na="31">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTcyMmYzMTQtNDkwOC00ZTUxLWE3YmUtOTkxZDVmZWU0OTI0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564488833" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="351" sby="307" ng="31" na="31">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTcyMmYzMTQtNDkwOC00ZTUxLWE3YmUtOTkxZDVmZWU0OTI0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="23" it="0" lt="23" ct="20" ts="1587564488853" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="499" sby="199" ng="32" na="32">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTE5ZmZkNGItYWFhNS00MDcwLWE4ODEtMTMzMWE3NTM1YTA2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="60" it="0" lt="60" ct="54" ts="1587564488823" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="499" sby="199" ng="33" na="33">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjViNDJkN2ItMzAyYy00NDBhLWE5YWUtNmVlMGYyYjRjMDBk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564488883" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="499" sby="199" ng="33" na="33">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmIzODdjYTgtM2ZlMy00MWMyLTk5YTEtZTlmMWZhYjI2OWI4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564488884" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="351" sby="307" ng="33" na="33">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjViNDJkN2ItMzAyYy00NDBhLWE5YWUtNmVlMGYyYjRjMDBk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564488877" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="351" sby="307" ng="33" na="33">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTE5ZmZkNGItYWFhNS00MDcwLWE4ODEtMTMzMWE3NTM1YTA2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564488888" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="351" sby="307" ng="33" na="33">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmIzODdjYTgtM2ZlMy00MWMyLTk5YTEtZTlmMWZhYjI2OWI4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564488915" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="499" sby="199" ng="34" na="34">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGVjOWE4MjEtZDFjNC00ZTFkLWI0OGYtY2YxYjg2YzZjMjk0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564488920" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="351" sby="307" ng="34" na="34">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGVjOWE4MjEtZDFjNC00ZTFkLWI0OGYtY2YxYjg2YzZjMjk0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="1" ts="1587564488943" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="499" sby="199" ng="35" na="35">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmQ1ZDVhOWYtNDFhMC00MzIzLWI3MmUtNjVmMjQ0YjgzNWIy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564488948" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="351" sby="307" ng="35" na="35">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZmQ1ZDVhOWYtNDFhMC00MzIzLWI3MmUtNjVmMjQ0YjgzNWIy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="13" ts="1587564488976" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="499" sby="199" ng="36" na="36">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzRiOTMwYTUtN2EzMS00NmE2LTlkN2UtNzQyNjk0YmM4Nzg3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564488993" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="351" sby="307" ng="36" na="36">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzRiOTMwYTUtN2EzMS00NmE2LTlkN2UtNzQyNjk0YmM4Nzg3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="1" ts="1587564489033" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="499" sby="199" ng="37" na="37">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDUwOTFjYWYtNTJmOS00ODlkLTk1ZmQtYTE1NGMyZjA4ZjUw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564489039" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="351" sby="307" ng="37" na="37">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDUwOTFjYWYtNTJmOS00ODlkLTk1ZmQtYTE1NGMyZjA4ZjUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="20" it="0" lt="20" ct="4" ts="1587564489069" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="499" sby="199" ng="39" na="39">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGY3NDJkZjAtMmMyMy00ZTgzLTk0ODQtMTAxYjY5NzIxYWRh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="8" ts="1587564489082" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="499" sby="199" ng="40" na="40">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTA4OGZjYjAtMzA3NC00ZjhhLWI3MmQtZGNhNjEwODBlOWRk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564489089" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="351" sby="307" ng="40" na="40">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGY3NDJkZjAtMmMyMy00ZTgzLTk0ODQtMTAxYjY5NzIxYWRh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564489094" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="351" sby="307" ng="40" na="40">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTA4OGZjYjAtMzA3NC00ZjhhLWI3MmQtZGNhNjEwODBlOWRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="1" ts="1587564489093" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="499" sby="199" ng="40" na="40">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmJjYmRiMjMtZTAwMy00MTM4LWFiMTgtMWM3NDYyMzc2NDJl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564489108" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="351" sby="307" ng="40" na="40">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZmJjYmRiMjMtZTAwMy00MTM4LWFiMTgtMWM3NDYyMzc2NDJl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="1" ts="1587564489128" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="499" sby="199" ng="41" na="41">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTUyYWI0M2ItNTFhZS00MzAwLTkyMDEtZDFlZGY3Nzg1ZTk3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564489133" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="351" sby="307" ng="41" na="41">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTUyYWI0M2ItNTFhZS00MzAwLTkyMDEtZDFlZGY3Nzg1ZTk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="1" ts="1587564489157" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="499" sby="199" ng="42" na="42">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzkxNzMyNzItNzkzMy00Mzc2LWFjMmUtNjYzOGRmMjJkMDhl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564489162" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="351" sby="307" ng="42" na="42">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzkxNzMyNzItNzkzMy00Mzc2LWFjMmUtNjYzOGRmMjJkMDhl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="1" ts="1587564489400" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="499" sby="199" ng="50" na="50">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDc2MDUyYzYtYmI2OS00ZDM0LTg5N2ItYzRkZGI0YzFmNmU5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="4" ts="1587564489397" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="499" sby="199" ng="50" na="50">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWY3NTg3MjQtNDUyZi00ODA3LWI4OTEtODA5ZGZhMTRiYjlk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="1" ts="1587564489402" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="499" sby="199" ng="50" na="50">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjA1MzViZGUtNWQ1OC00ZGYzLTgxM2EtNGZjZmNhODUxYjUw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="3" ts="1587564489400" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="499" sby="199" ng="50" na="50">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDU1OTIzZGYtNjAzMS00ZjFjLTk3NzYtOTk3YTEwMzFmYTU1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="3" ts="1587564489399" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="499" sby="199" ng="50" na="50">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODlkZTg2YjAtNWFjMS00ZDNjLWI5ODMtMWRiMGUzMjBlMzA2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="5" ts="1587564489398" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="499" sby="199" ng="50" na="50">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTM5OTc0YjctM2U3YS00Yjc1LWE4ZTYtMWQzYmI2Y2E1YjE3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="2" ts="1587564489401" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="499" sby="199" ng="50" na="50">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTQwNzg5YzYtYzViZC00MmNkLTliMTYtYjljNzJjZGMzYjhk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564489403" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="499" sby="199" ng="50" na="50">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDFlOGUxMmMtZjI0ZC00OGU3LWE2OTktZDZmM2UyOTE4MzIz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564489409" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="351" sby="307" ng="50" na="50">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWY3NTg3MjQtNDUyZi00ODA3LWI4OTEtODA5ZGZhMTRiYjlk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564489410" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="351" sby="307" ng="50" na="50">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjA1MzViZGUtNWQ1OC00ZGYzLTgxM2EtNGZjZmNhODUxYjUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564489411" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="351" sby="307" ng="50" na="50">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDU1OTIzZGYtNjAzMS00ZjFjLTk3NzYtOTk3YTEwMzFmYTU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564489412" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="351" sby="307" ng="50" na="50">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODlkZTg2YjAtNWFjMS00ZDNjLWI5ODMtMWRiMGUzMjBlMzA2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564489413" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="351" sby="307" ng="50" na="50">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTQwNzg5YzYtYzViZC00MmNkLTliMTYtYjljNzJjZGMzYjhk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564489414" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="351" sby="307" ng="50" na="50">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTM5OTc0YjctM2U3YS00Yjc1LWE4ZTYtMWQzYmI2Y2E1YjE3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564489414" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="351" sby="307" ng="50" na="50">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDc2MDUyYzYtYmI2OS00ZDM0LTg5N2ItYzRkZGI0YzFmNmU5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564489414" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="351" sby="307" ng="51" na="51">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDFlOGUxMmMtZjI0ZC00OGU3LWE2OTktZDZmM2UyOTE4MzIz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564489426" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="499" sby="199" ng="51" na="51">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjliOGFjNjktZDVmOC00ODdkLTgwZmQtOThlYmMzOGNjYzM4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564489430" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="351" sby="307" ng="51" na="51">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjliOGFjNjktZDVmOC00ODdkLTgwZmQtOThlYmMzOGNjYzM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="1" ts="1587564489453" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="499" sby="199" ng="52" na="52">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmM5MjlhNjItY2FiNi00ODkzLTliMmQtMjZjMDZjYjliNjk1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564489458" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="351" sby="307" ng="52" na="52">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZmM5MjlhNjItY2FiNi00ODkzLTliMmQtMjZjMDZjYjliNjk1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564489484" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="499" sby="199" ng="53" na="53">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDIyNTI5ZDMtZTU0Zi00OGY2LWExMTYtMjUwMjRiMWM1OTg0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564489489" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="351" sby="307" ng="53" na="53">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDIyNTI5ZDMtZTU0Zi00OGY2LWExMTYtMjUwMjRiMWM1OTg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="2" ts="1587564489513" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="499" sby="199" ng="54" na="54">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTM3OTNjY2MtNmZjYy00ZmY5LTk4NWEtZmNhMjdhNDlkMjM3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564489519" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="351" sby="307" ng="54" na="54">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTM3OTNjY2MtNmZjYy00ZmY5LTk4NWEtZmNhMjdhNDlkMjM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564489544" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="499" sby="199" ng="55" na="55">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTcxYWI0MzktYmFkNy00Mjk2LWJiODEtZWU4OGI5MTc2ZjNl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564489549" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="351" sby="307" ng="55" na="55">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTcxYWI0MzktYmFkNy00Mjk2LWJiODEtZWU4OGI5MTc2ZjNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="2" ts="1587564489621" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="499" sby="199" ng="57" na="57">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTBmMzdmNGEtMjFiOC00YzljLTg1YzYtNjE5OTg2NjQ5MzMy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="1" ts="1587564489622" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="499" sby="199" ng="57" na="57">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODE0N2E5Y2ItNDk3YS00OWFlLWIxODYtOThmNzhkNGU0YzI2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564489627" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="351" sby="307" ng="57" na="57">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTBmMzdmNGEtMjFiOC00YzljLTg1YzYtNjE5OTg2NjQ5MzMy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564489628" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="351" sby="307" ng="57" na="57">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODE0N2E5Y2ItNDk3YS00OWFlLWIxODYtOThmNzhkNGU0YzI2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564489635" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="499" sby="199" ng="58" na="58">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTZjNmU0NmMtMzZjYi00Mzg5LWI3OTgtMjhhYTYwZjRmZWVj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="12" ts="1587564489665" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="499" sby="199" ng="59" na="59">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2QzZDUwZjgtNWM2Ny00MmE1LTlhMjgtYTIxMjI0MzliZTFi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="43" it="0" lt="43" ct="0" ts="1587564489639" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="351" sby="307" ng="59" na="59">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTZjNmU0NmMtMzZjYi00Mzg5LWI3OTgtMjhhYTYwZjRmZWVj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564489681" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="351" sby="307" ng="59" na="59">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2QzZDUwZjgtNWM2Ny00MmE1LTlhMjgtYTIxMjI0MzliZTFi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="1" ts="1587564489726" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="499" sby="199" ng="61" na="61">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODVlMDAxM2EtZmFiOS00ZjE0LWIzNjEtYTMyY2QyMDY3N2U5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="3" ts="1587564489738" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="499" sby="199" ng="61" na="61">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWMyZmZkZjktMTQyYi00NzQwLWFjYjItOGRjYTk3NTg5MWMz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564489739" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="351" sby="307" ng="61" na="61">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODVlMDAxM2EtZmFiOS00ZjE0LWIzNjEtYTMyY2QyMDY3N2U5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="88" it="0" lt="88" ct="0" ts="1587564489745" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="351" sby="307" ng="64" na="64">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWMyZmZkZjktMTQyYi00NzQwLWFjYjItOGRjYTk3NTg5MWMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="2" ts="1587564489836" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="499" sby="199" ng="64" na="64">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmNkODNiMmMtZGZkOC00ZjlmLWJjMmEtYzY5NTJlMzAyMjNl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="1" ts="1587564489837" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="499" sby="199" ng="64" na="64">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTBhODQ1MGUtNzY2My00YWI4LWI3YTYtZTFmZGU5YjI3ZmVh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="2" ts="1587564489836" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="499" sby="199" ng="64" na="64">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzhlNTEyOWEtZjljNy00NmIwLTk4MTUtNWM4ZTcyOTIzY2Qw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564489844" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="351" sby="307" ng="65" na="65">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzhlNTEyOWEtZjljNy00NmIwLTk4MTUtNWM4ZTcyOTIzY2Qw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564489843" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="351" sby="307" ng="65" na="65">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTBhODQ1MGUtNzY2My00YWI4LWI3YTYtZTFmZGU5YjI3ZmVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564489842" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="351" sby="307" ng="65" na="65">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmNkODNiMmMtZGZkOC00ZjlmLWJjMmEtYzY5NTJlMzAyMjNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="8" ts="1587564489846" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="499" sby="199" ng="65" na="65">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Mzc0OWM4YTYtOTkyNy00NzFkLTgxZWQtNjA3ODNlM2Q5NjU1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564489857" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="351" sby="307" ng="65" na="65">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mzc0OWM4YTYtOTkyNy00NzFkLTgxZWQtNjA3ODNlM2Q5NjU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="1" ts="1587564489875" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="499" sby="199" ng="66" na="66">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDUwNzAzZTktZTI2MC00ZmNiLThiYjktOTM4NzA0YjYwMDI3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564489882" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="351" sby="307" ng="66" na="66">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDUwNzAzZTktZTI2MC00ZmNiLThiYjktOTM4NzA0YjYwMDI3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="1" ts="1587564489905" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="499" sby="199" ng="67" na="67">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTc4NTZkMmEtMWIyYy00ZDcwLWJlOTktMWRiOGI4MGVhYWRj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564489914" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="351" sby="307" ng="67" na="67">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTc4NTZkMmEtMWIyYy00ZDcwLWJlOTktMWRiOGI4MGVhYWRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="172" it="0" lt="164" ct="1" ts="1587564488252" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-11" dt="text" by="27224" sby="169" ng="17" na="17">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d1750abf-e6ab-4b00-bdb0-237d60e457f6; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="117" it="0" lt="82" ct="3" ts="1587564488251" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-7" dt="text" by="27224" sby="169" ng="15" na="15">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c09b9e0a-c76d-4417-8990-684f006d2c82; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564490114" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="499" sby="199" ng="73" na="73">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTVlNmY0MmUtYWQ0My00NjljLWJjMTQtZWVmOWJhMmZkOTFm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="28" it="0" lt="19" ct="2" ts="1587564489633" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-56" dt="text" by="27224" sby="169" ng="58" na="58">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9882d9c8-77e0-4c89-a648-f179ec6f0d07; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="64" it="0" lt="58" ct="40" ts="1587564488889" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-31" dt="text" by="27224" sby="169" ng="35" na="35">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=1c1f1b66-d509-4e2a-a740-a411ce7a2de2; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="35" it="0" lt="29" ct="5" ts="1587564488712" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-26" dt="text" by="27224" sby="169" ng="28" na="28">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=fc9dc855-ccb7-4997-8288-81926e794c77; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="23" it="0" lt="16" ct="1" ts="1587564488778" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-29" dt="text" by="27224" sby="169" ng="30" na="30">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=f07e4cff-4e14-4f04-a484-6c120db713ef; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="58" it="0" lt="50" ct="14" ts="1587564489852" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-62" dt="text" by="27224" sby="169" ng="67" na="67">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ed61c6ac-d1e7-4b35-a76f-ace0bc06a9e8; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564490144" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="499" sby="199" ng="74" na="74">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzBhOWFlYjktNjRkMy00ZGM1LWFlMDEtMjUyMTk1NmExOTYy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="117" it="0" lt="75" ct="4" ts="1587564488258" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-3" dt="text" by="27224" sby="169" ng="15" na="15">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=5ab40678-9d3d-465d-8f91-5d3070ecb2df; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="26" it="0" lt="23" ct="5" ts="1587564489867" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-65" dt="text" by="27224" sby="169" ng="66" na="66">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=55bf7a0e-18b0-42a5-818d-c5c929ea2c5b; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="77" it="0" lt="73" ct="4" ts="1587564489420" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="27224" sby="169" ng="53" na="53">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2479ed47-0446-436e-9d95-514c24626b77; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="39" it="0" lt="39" ct="3" ts="1587564489046" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="27224" sby="169" ng="39" na="39">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e8ba1250-bbc2-44e7-a3b7-029965fa7226; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="41" it="0" lt="26" ct="0" ts="1587564489435" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-51" dt="text" by="27224" sby="169" ng="52" na="52">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6dba496f-f17c-478c-8880-0c5e0e46c077; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="70" it="0" lt="56" ct="15" ts="1587564489851" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-64" dt="text" by="27224" sby="169" ng="67" na="67">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=39b08b39-fbc8-4557-85fe-c180db15e91b; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="44" it="0" lt="29" ct="1" ts="1587564489147" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-41" dt="text" by="27224" sby="169" ng="49" na="49">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=60798edb-fe3a-4a8b-8aa5-7eaf01559518; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="26" it="0" lt="26" ct="6" ts="1587564488955" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-35" dt="text" by="27224" sby="169" ng="36" na="36">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9a8ddfa4-955e-41cc-bd27-b4d71a3e571e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="19" it="0" lt="15" ct="1" ts="1587564489686" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="27224" sby="169" ng="59" na="59">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=175d8b8e-3fb2-4826-997b-ea1ed79db378; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="114" it="0" lt="108" ct="1" ts="1587564488257" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-10" dt="text" by="27224" sby="169" ng="15" na="15">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=bfff3aae-ef8b-461a-9858-d0914cc70068; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="4" ts="1587564490084" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="499" sby="199" ng="72" na="72">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzA4N2NjNzQtZDczOC00NWVlLWEwYTMtZThhNzcyNzg3OGMz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="14" ct="0" ts="1587564488746" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-28" dt="text" by="27224" sby="169" ng="29" na="29">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=77805041-c04c-4032-9a06-6124845594f3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="73" it="0" lt="56" ct="4" ts="1587564489118" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-40" dt="text" by="27224" sby="169" ng="43" na="43">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=864d4a08-6142-4189-b248-d842e1785e7c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="1" ts="1587564490174" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="499" sby="199" ng="76" na="76">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTFhZDkyNDktZWMyNS00NTY2LThiMjctMmQ3NmUwOTI0NDE5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564490175" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="351" sby="307" ng="76" na="76">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzA4N2NjNzQtZDczOC00NWVlLWEwYTMtZThhNzcyNzg3OGMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="29" it="0" lt="21" ct="0" ts="1587564488926" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-34" dt="text" by="27224" sby="169" ng="35" na="35">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=87f547b9-589e-45cd-9237-44dbe343f3f4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="158" it="0" lt="148" ct="2" ts="1587564488263" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-4" dt="text" by="27224" sby="169" ng="17" na="17">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=56ab4858-5673-4433-98f9-4d20a6a078b6; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="81" it="0" lt="60" ct="13" ts="1587564489108" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-37" dt="text" by="27224" sby="169" ng="43" na="43">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6878f6eb-96d3-4fa4-bc6a-0a82a63927bb; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="25" it="0" lt="25" ct="1" ts="1587564488685" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-25" dt="text" by="27224" sby="169" ng="26" na="26">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2f3b3fe1-cf94-42df-9666-2e1d433d5400; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="12" ct="1" ts="1587564489686" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-58" dt="text" by="27224" sby="169" ng="59" na="59">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=f3bc978d-51e4-454b-9f5b-c2e5e84cff80; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="25" it="0" lt="18" ct="4" ts="1587564489632" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="27224" sby="169" ng="58" na="58">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=03855aca-27cc-4ac6-a032-dd2da2aade32; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="41" it="0" lt="36" ct="23" ts="1587564489494" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-53" dt="text" by="27224" sby="169" ng="54" na="54">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b96b3ffc-2560-4d60-a661-d4dd4303f421; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="83" it="0" lt="66" ct="6" ts="1587564489418" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-47" dt="text" by="27224" sby="169" ng="53" na="53">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=eef3c9dc-8b68-42ba-96df-80362114b5fb; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="77" it="0" lt="73" ct="1" ts="1587564488345" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-14" dt="text" by="27224" sby="169" ng="17" na="17">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8104fe69-f33c-45dc-961c-c0392a2662ea; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="59" it="0" lt="59" ct="39" ts="1587564488838" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-30" dt="text" by="27224" sby="169" ng="33" na="33">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=5eca4cff-65ad-41c6-a2c9-76daa60c1959; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="93" it="0" lt="72" ct="9" ts="1587564489112" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-39" dt="text" by="27224" sby="169" ng="49" na="49">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=82262ed0-e322-43ec-808f-129196e24cb9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="64" it="0" lt="64" ct="57" ts="1587564489999" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="499" sby="199" ng="71" na="71">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjU3OTQxNDItZmRmMC00N2RhLWFjMTEtOWQ1NWIxM2Y2Zjg1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="30" it="0" lt="18" ct="1" ts="1587564489887" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-66" dt="text" by="27224" sby="169" ng="67" na="67">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=97a84db9-2762-4733-a6c2-3b318efb05f7; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="109" it="0" lt="73" ct="2" ts="1587564488260" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-9" dt="text" by="27224" sby="169" ng="15" na="15">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=f1b6f551-ac7d-41db-998b-a70d99e71d21; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564490210" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="351" sby="307" ng="77" na="77">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjU3OTQxNDItZmRmMC00N2RhLWFjMTEtOWQ1NWIxM2Y2Zjg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="2" ts="1587564490054" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="499" sby="199" ng="71" na="71">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGY1MmQ5ZTYtOTcxMy00NTZkLTliZGItOTgwZmM3Yzc4ZGJh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="82" it="0" lt="58" ct="1" ts="1587564489427" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-44" dt="text" by="27224" sby="169" ng="53" na="53">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=11615840-8a94-4359-a9af-ec8e70464990; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="33" it="0" lt="27" ct="1" ts="1587564488625" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-24" dt="text" by="27224" sby="169" ng="24" na="24">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c5a4dd83-29be-48e2-937b-88cb54270839; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564490217" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="351" sby="307" ng="77" na="77">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGY1MmQ5ZTYtOTcxMy00NTZkLTliZGItOTgwZmM3Yzc4ZGJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="58" it="0" lt="39" ct="6" ts="1587564488534" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-21" dt="text" by="27224" sby="169" ng="22" na="22">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d9bc3d9b-b51a-4be8-b1e6-8e8eae2a11e5; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="74" it="0" lt="68" ct="12" ts="1587564489416" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-43" dt="text" by="27224" sby="169" ng="53" na="53">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3817142d-87f8-4d6c-abe6-595427aa0ba6; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="124" it="0" lt="114" ct="1" ts="1587564488261" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-1" dt="text" by="27224" sby="169" ng="16" na="16">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=f4b4e889-f234-4ffa-97b0-57ed09589d3f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="13" ct="1" ts="1587564489554" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-55" dt="text" by="27224" sby="169" ng="55" na="55">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=af07b372-f169-47fa-98a3-6ec93194e11b; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="102" it="0" lt="51" ct="1" ts="1587564488288" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-12" dt="text" by="27224" sby="169" ng="16" na="16">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=eada6c56-8e1f-4894-8d23-f3723411b9b3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="27" it="0" lt="19" ct="3" ts="1587564489834" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-61" dt="text" by="27224" sby="169" ng="65" na="65">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=dd7c8f7d-1f00-4bea-9fc7-1c740ca81ce9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="167" it="0" lt="161" ct="8" ts="1587564488254" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-6" dt="text" by="27224" sby="169" ng="17" na="17">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b9936652-3948-4ca9-b4c4-394907805bb9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="81" it="0" lt="70" ct="4" ts="1587564488321" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-13" dt="text" by="27224" sby="169" ng="16" na="16">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9d7ff0bd-5a86-402e-83e4-48fac865005e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="110" it="0" lt="92" ct="2" ts="1587564488512" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-20" dt="text" by="27224" sby="169" ng="24" na="24">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=96a7bcf0-b46e-405c-938e-b79e66333f34; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="34" it="0" lt="24" ct="1" ts="1587564488609" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-23" dt="text" by="27224" sby="169" ng="24" na="24">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=46f14f68-68b4-4622-96bc-155d95fee726; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="42" it="0" lt="27" ct="1" ts="1587564488501" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-16" dt="text" by="27224" sby="169" ng="21" na="21">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=92891ab0-39e0-4df9-b584-10903d85e11f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="38" it="0" lt="34" ct="4" ts="1587564488510" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-18" dt="text" by="27224" sby="169" ng="21" na="21">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=81c1a85a-32c9-4381-8557-9e9e5ce71c45; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="116" it="0" lt="80" ct="5" ts="1587564488257" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-2" dt="text" by="27224" sby="169" ng="15" na="15">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=341dfacc-aef3-4b77-b51d-2c3a6ee453d3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="25" it="0" lt="25" ct="2" ts="1587564490024" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="499" sby="199" ng="70" na="70">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGJjZjY1MjgtMTgyZC00ODM1LWE3YWYtMGE0M2M4ZGYzMzM5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="78" it="0" lt="63" ct="2" ts="1587564489427" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-50" dt="text" by="27224" sby="169" ng="53" na="53">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=628bdd4c-dcef-4429-a996-aeb9c0c6601d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="11" ct="1" ts="1587564489524" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-54" dt="text" by="27224" sby="169" ng="54" na="54">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=bb163f0e-bafe-4a46-b5d1-db9b4944b6a9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="42" it="0" lt="34" ct="1" ts="1587564488360" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-15" dt="text" by="27224" sby="169" ng="16" na="16">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=30bead59-e2e7-416b-a79c-43e6e7e1076d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="44" it="0" lt="27" ct="7" ts="1587564488998" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-36" dt="text" by="27224" sby="169" ng="37" na="37">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c465114e-80a8-49b6-aa69-38e4511cff7f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="68" it="0" lt="67" ct="51" ts="1587564488890" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-32" dt="text" by="27224" sby="169" ng="35" na="35">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=aeef216b-8c91-4a3e-bc17-bd8e4f58be3a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="22" it="0" lt="16" ct="0" ts="1587564488726" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="27224" sby="169" ng="28" na="28">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0cfeebf5-2e5a-4256-9573-1f21e93028c1; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="21" it="0" lt="16" ct="5" ts="1587564488892" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-33" dt="text" by="27224" sby="169" ng="33" na="33">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=360ab310-8f4e-4e90-bf59-3557026f6411; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="25" it="0" lt="25" ct="1" ts="1587564489168" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-42" dt="text" by="27224" sby="169" ng="43" na="43">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=034f9c30-ed5d-4ddd-bf9c-b2aba814a43d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="1" ts="1587564489463" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-52" dt="text" by="27224" sby="169" ng="52" na="52">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6ac15331-b51e-4977-becc-eb92c118f2e4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="177" it="0" lt="172" ct="5" ts="1587564488253" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-8" dt="text" by="27224" sby="169" ng="17" na="17">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=51465316-3397-462d-a5b2-b3f7f3a803b6; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="23" it="0" lt="21" ct="3" ts="1587564489835" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-60" dt="text" by="27224" sby="169" ng="65" na="65">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e5f847a7-1537-440e-857b-ce13922603b8; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="32" it="0" lt="29" ct="16" ts="1587564489918" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-67" dt="text" by="27224" sby="169" ng="67" na="67">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0a0ffdc5-d12c-44b9-81bf-9c61c85c33e9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="59" it="0" lt="46" ct="13" ts="1587564489854" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="27224" sby="169" ng="67" na="67">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=dda0c571-384c-4e83-8c59-af196d880698; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="70" it="0" lt="65" ct="4" ts="1587564489424" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-45" dt="text" by="27224" sby="169" ng="53" na="53">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7d6f145b-f040-41c2-8780-0801f0c167bd; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="72" it="0" lt="52" ct="2" ts="1587564488518" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-19" dt="text" by="27224" sby="169" ng="22" na="22">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=f636dbae-e878-4e91-a5d4-c07b7aa54ece; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="78" it="0" lt="56" ct="1" ts="1587564488513" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-17" dt="text" by="27224" sby="169" ng="22" na="22">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b81b5de1-1e58-4fe9-9575-8f5388a07a1c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="42" it="0" lt="22" ct="1" ts="1587564488580" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-22" dt="text" by="27224" sby="169" ng="24" na="24">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=57ab25b1-5ae3-462c-b7f6-671313c102e3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="61" it="0" lt="39" ct="8" ts="1587564489425" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-48" dt="text" by="27224" sby="169" ng="53" na="53">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=027e67cf-3f80-48a1-949c-af3a5ce5b668; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="89" it="0" lt="39" ct="12" ts="1587564489425" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-49" dt="text" by="27224" sby="169" ng="54" na="54">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e87680dc-2377-4895-9779-e516dc38026e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="20" it="0" lt="20" ct="2" ts="1587564489965" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="499" sby="199" ng="68" na="68">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDkyZTU1NGQtYmMyNi00NDI1LTlmMmEtZDYwNzZkYzI3MDIw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="123" it="0" lt="118" ct="1" ts="1587564488255" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-5" dt="text" by="27224" sby="169" ng="15" na="15">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e2cd82a2-cb24-4b91-908d-5bbaeaecadc3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="1" ts="1587564490288" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="499" sby="199" ng="79" na="79">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzdiODBiMTUtZTA5OC00NzdjLWEzZGMtYzZmMWRkY2JjYzEy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564490257" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="351" sby="307" ng="78" na="78">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGJjZjY1MjgtMTgyZC00ODM1LWE3YWYtMGE0M2M4ZGYzMzM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="4" ts="1587564490253" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="499" sby="199" ng="78" na="78">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGI5MjQ4ZWItNTY2MC00N2EwLWExMzctMTdjMWExOWUyMjli; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="4" ts="1587564490204" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="499" sby="199" ng="77" na="77">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODNhNGJlOWEtZGQ0Zi00YTg4LWE3MWItODI2YTExZmUyZjgz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564490182" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="351" sby="307" ng="76" na="76">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTFhZDkyNDktZWMyNS00NTY2LThiMjctMmQ3NmUwOTI0NDE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="4" ts="1587564490153" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="499" sby="199" ng="75" na="75">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmE2YzFkZTAtZjMwMi00YmEyLTg3NjktZDAzODRiOWE4ZmJk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564490149" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="351" sby="307" ng="75" na="75">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzBhOWFlYjktNjRkMy00ZGM1LWFlMDEtMjUyMTk1NmExOTYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564490135" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="351" sby="307" ng="73" na="73">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTVlNmY0MmUtYWQ0My00NjljLWJjMTQtZWVmOWJhMmZkOTFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564490303" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="351" sby="307" ng="79" na="79">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDkyZTU1NGQtYmMyNi00NDI1LTlmMmEtZDYwNzZkYzI3MDIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564490311" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="351" sby="307" ng="79" na="79">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmE2YzFkZTAtZjMwMi00YmEyLTg3NjktZDAzODRiOWE4ZmJk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564490309" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="351" sby="307" ng="79" na="79">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODNhNGJlOWEtZGQ0Zi00YTg4LWE3MWItODI2YTExZmUyZjgz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564490308" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="351" sby="307" ng="79" na="79">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGI5MjQ4ZWItNTY2MC00N2EwLWExMzctMTdjMWExOWUyMjli</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564490322" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="499" sby="199" ng="80" na="80">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDlkMmVlMTMtOTQ4Yi00ODg2LThjZmQtOTEzYjM2NDZkMThm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564490321" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="351" sby="307" ng="80" na="80">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzdiODBiMTUtZTA5OC00NzdjLWEzZGMtYzZmMWRkY2JjYzEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564490327" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="351" sby="307" ng="81" na="81">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDlkMmVlMTMtOTQ4Yi00ODg2LThjZmQtOTEzYjM2NDZkMThm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="131" it="0" lt="33" ct="3" ts="1587564490182" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-73" dt="text" by="27224" sby="169" ng="79" na="79">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=55fc1999-5fba-452b-b70d-2e07499b7701; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564490330" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="499" sby="199" ng="81" na="81">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmJkOWQ0NmMtNjdlZC00ZTFjLWI5ZWQtNzJlY2YxZDE5MmRl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564490341" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="351" sby="307" ng="81" na="81">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmJkOWQ0NmMtNjdlZC00ZTFjLWI5ZWQtNzJlY2YxZDE5MmRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564490362" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="499" sby="199" ng="82" na="82">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzYzNTQ3ZWUtYmY4NS00YTdlLTllYjUtMjUyZTNlZWQ1ZWZk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564490366" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="351" sby="307" ng="82" na="82">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzYzNTQ3ZWUtYmY4NS00YTdlLTllYjUtMjUyZTNlZWQ1ZWZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="2" ts="1587564490402" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="499" sby="199" ng="83" na="83">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjEyNTFkY2EtZTEyMy00ZDdiLWE5NmQtZmVlMzgwOTRjNDNi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564490408" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="351" sby="307" ng="83" na="83">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjEyNTFkY2EtZTEyMy00ZDdiLWE5NmQtZmVlMzgwOTRjNDNi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="2" ts="1587564490429" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="499" sby="199" ng="84" na="84">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTdmYjU5ZTUtN2M1Ni00MzQxLWI0OTQtMDNiOGRiMGVmMTE3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564490434" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="351" sby="307" ng="84" na="84">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTdmYjU5ZTUtN2M1Ni00MzQxLWI0OTQtMDNiOGRiMGVmMTE3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564490444" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="499" sby="199" ng="85" na="85">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWUxMTE1NGMtYTdmNy00M2EyLWIyODAtMTAzNDEzNmZmMGNh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564490449" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="351" sby="307" ng="85" na="85">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWUxMTE1NGMtYTdmNy00M2EyLWIyODAtMTAzNDEzNmZmMGNh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="2" ts="1587564490473" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="499" sby="199" ng="86" na="86">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzBhNTg5OTItZjJiMS00ZmJiLThmNmYtZDQ3NmU3OTQ5M2Rl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564490479" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="351" sby="307" ng="86" na="86">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzBhNTg5OTItZjJiMS00ZmJiLThmNmYtZDQ3NmU3OTQ5M2Rl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564490503" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="499" sby="199" ng="87" na="87">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDA4ZDFkZjctYjhjMy00ZDlkLTgzOTYtMDI5ODdlYmY3YjM4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564490508" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="351" sby="307" ng="87" na="87">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDA4ZDFkZjctYjhjMy00ZDlkLTgzOTYtMDI5ODdlYmY3YjM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564490536" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="499" sby="199" ng="88" na="88">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjdlM2EwZjctYmEyNS00Mzg2LTlkNjgtZmNmMzBkOTA3ODQ4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="324" it="0" lt="109" ct="2" ts="1587564490222" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-72" dt="text" by="27224" sby="169" ng="88" na="88">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=30d490bb-31f6-460e-b037-128554f27dc1; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564490556" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="351" sby="307" ng="88" na="88">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjdlM2EwZjctYmEyNS00Mzg2LTlkNjgtZmNmMzBkOTA3ODQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564490567" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="499" sby="199" ng="89" na="89">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjAwNjBkZGUtZmViYS00YWU5LWIwYWQtYWE4NDdlZDdlMWVm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564490571" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="351" sby="307" ng="89" na="89">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjAwNjBkZGUtZmViYS00YWU5LWIwYWQtYWE4NDdlZDdlMWVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564490597" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="499" sby="199" ng="90" na="90">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmU0MzhhOWItZWM4MC00NWU4LTlkM2ItNTFmNDk3ZmFiODU0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564490602" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="351" sby="307" ng="90" na="90">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmU0MzhhOWItZWM4MC00NWU4LTlkM2ItNTFmNDk3ZmFiODU0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="2" ts="1587564490624" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="499" sby="199" ng="91" na="91">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTU3YTQ1ZjgtZDY0Mi00OWY1LTgyOWItMTZmMTg4MzU1ZjY3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564490629" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="351" sby="307" ng="91" na="91">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTU3YTQ1ZjgtZDY0Mi00OWY1LTgyOWItMTZmMTg4MzU1ZjY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="2" ts="1587564490654" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="499" sby="199" ng="92" na="92">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjdhMmU1NGYtYTFiMS00OTExLTk5YjEtYjUxMmZjMjIzMWFk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564490659" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="351" sby="307" ng="92" na="92">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjdhMmU1NGYtYTFiMS00OTExLTk5YjEtYjUxMmZjMjIzMWFk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564490683" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="499" sby="199" ng="93" na="93">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjQ0NTdiMDUtODJmZC00MjE1LTg2YmQtNjI0YWEwNzY4N2Y3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564490687" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="351" sby="307" ng="93" na="93">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjQ0NTdiMDUtODJmZC00MjE1LTg2YmQtNjI0YWEwNzY4N2Y3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="490" it="0" lt="486" ct="1" ts="1587564490216" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="27224" sby="169" ng="93" na="93">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e0aa1667-28c9-4ff9-b75d-ced12e8b6426; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="2" ts="1587564490713" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="499" sby="199" ng="94" na="94">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTAyYjYyZTMtNGZlZS00MjBjLTljNzAtOWRhZmYxNGM3ZDAy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564490719" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="351" sby="307" ng="94" na="94">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTAyYjYyZTMtNGZlZS00MjBjLTljNzAtOWRhZmYxNGM3ZDAy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="2" ts="1587564490744" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="499" sby="199" ng="95" na="95">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmZkOTFkZjgtYWFhMS00MzVmLTgxY2YtYWE5NWZjMzVhYmEy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564490749" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="351" sby="307" ng="95" na="95">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmZkOTFkZjgtYWFhMS00MzVmLTgxY2YtYWE5NWZjMzVhYmEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="458" it="0" lt="341" ct="1" ts="1587564490313" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-69" dt="text" by="27224" sby="169" ng="95" na="95">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3a59525d-4ff8-432a-8683-5997cc44a1a2; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="1" ts="1587564490774" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="499" sby="199" ng="96" na="96">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTNiYzY3OWQtMDMzMS00YmY5LWFiODgtMzkyMjQ3YTVhMjAz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564490785" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="351" sby="307" ng="96" na="96">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTNiYzY3OWQtMDMzMS00YmY5LWFiODgtMzkyMjQ3YTVhMjAz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="105" it="0" lt="105" ct="1" ts="1587564490803" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzE2ZDM5NzUtM2Q0NC00MzY1LWE4MDUtOWMwOTQ2ZmUzMDE2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="2" ts="1587564490893" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDk4ZDJiN2MtMTIzYS00YWYxLTk3YTMtY2UxOThlZWE1Yjk4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="45" it="0" lt="45" ct="2" ts="1587564490865" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTIwMTg3OTItZjk3OS00OTk0LTk3MzAtOWQzZDU5MGVhMWFm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="76" it="0" lt="76" ct="2" ts="1587564490835" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzdkZTJmM2QtOTJjZi00YjkyLWFmMmMtMTdlNDVkNjE5ZjQ4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564490909" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzE2ZDM5NzUtM2Q0NC00MzY1LWE4MDUtOWMwOTQ2ZmUzMDE2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564490910" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDk4ZDJiN2MtMTIzYS00YWYxLTk3YTMtY2UxOThlZWE1Yjk4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564490911" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTIwMTg3OTItZjk3OS00OTk0LTk3MzAtOWQzZDU5MGVhMWFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564490911" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzdkZTJmM2QtOTJjZi00YjkyLWFmMmMtMTdlNDVkNjE5ZjQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="115" it="0" lt="64" ct="1" ts="1587564490919" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-98" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=269def62-c7ee-4324-8388-6ff7173ffab4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="120" it="0" lt="54" ct="2" ts="1587564490918" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-99" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2e4e059a-b31b-4967-a64f-4ad2bca41870; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="579" it="0" lt="470" ct="1" ts="1587564490512" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-87" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=1f70d4a0-8f33-4827-b08b-2b2eafe6941b; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="430" it="0" lt="194" ct="0" ts="1587564490793" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-96" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=96b4e44c-a74b-4606-8f2e-8ca3c11539f6; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="646" it="0" lt="409" ct="1" ts="1587564490576" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-89" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ea4af333-ec13-4ce8-93db-c1857ca68e9b; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="922" it="0" lt="632" ct="4" ts="1587564490328" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-79" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=f0d6731d-2a8d-48da-886b-7a9c4a41a259; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="498" it="0" lt="194" ct="1" ts="1587564490754" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d8598cc6-7dd4-4770-ae4c-1a3927d6d0bc; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="922" it="0" lt="624" ct="1" ts="1587564490332" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-80" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=5f74274b-01c3-423b-b66c-77340a227eb9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="459" it="0" lt="270" ct="4" ts="1587564490916" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-97" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=cb4e3d64-076b-4cbf-be7d-b43bbb282def; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1357" it="0" lt="1119" ct="7" ts="1587564490313" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-74" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=678ddef0-f117-47b4-accc-c725e5efcb4a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="971" it="0" lt="493" ct="1" ts="1587564490453" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-85" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=be3d68a2-5175-4547-a214-bb25bd1ac8d7; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="760" it="0" lt="297" ct="1" ts="1587564490664" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-92" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=569a7138-dafb-4eef-9123-323e7830a5e6; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="980" it="0" lt="292" ct="1" ts="1587564490693" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-93" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=19994ed0-8ca4-41a0-b866-a9d2fabfb55c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1237" it="0" lt="505" ct="1" ts="1587564490440" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-84" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=cca0783f-e3f4-45e3-b145-e16ea6640368; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1385" it="0" lt="1385" ct="8" ts="1587564490312" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-75" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=eff65672-264c-4fd1-8a04-92f53d66250f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="764" it="0" lt="764" ct="3" ts="1587564490917" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-100" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9968863c-f4a5-4e9c-bc72-f0aff5aab9a0; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1383" it="0" lt="1113" ct="10" ts="1587564490310" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-76" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ccf5d98f-92d4-45f0-8cfb-50c99c596d9c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1306" it="0" lt="565" ct="1" ts="1587564490413" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-83" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0fa4efc5-0565-48b9-8816-a02b2ddfba69; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1234" it="0" lt="469" ct="1" ts="1587564490485" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-86" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a34a502a-1992-4c9d-a464-2f218dc07e32; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1109" it="0" lt="630" ct="2" ts="1587564490320" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-78" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=65f6404d-fc4c-45b9-97c0-131aeefa9c01; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1081" it="0" lt="355" ct="2" ts="1587564490634" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-91" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=81d26e52-b7d2-4680-9e1f-463fba75a279; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1355" it="0" lt="620" ct="1" ts="1587564490346" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-81" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=47676a29-027b-40bb-a77d-4c2808bd8843; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="961" it="0" lt="219" ct="1" ts="1587564490724" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-94" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9ce10c41-807e-48af-9676-7b0cd687b296; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1085" it="0" lt="363" ct="1" ts="1587564490607" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-90" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a3d4cd5e-a6de-4d0e-a92a-9d84c2157c4a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1124" it="0" lt="700" ct="13" ts="1587564490307" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-71" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=64ed6f1d-04f0-4dc9-8e6b-4385bc019453; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1112" it="0" lt="684" ct="2" ts="1587564490318" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-68" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e0b37cc2-82dc-4a77-9678-32673dc57058; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1111" it="0" lt="639" ct="1" ts="1587564490319" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-77" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b8f4c1a6-d276-41a0-b894-4e6eba8068bc; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1143" it="0" lt="391" ct="1" ts="1587564490561" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-88" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=024073e9-570b-4443-adf1-4a07669a2ddb; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1305" it="0" lt="633" ct="1" ts="1587564490371" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-82" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ba1f19a6-172e-4108-9e09-70aafd4f73ad; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="4274" it="0" lt="4274" ct="16" ts="1587564490306" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1514-e-q2ZyXxGm-Zp6wpcysjy2EeAZj7xAz19W1ORKc-nHLSG9hkOIGl70zr72I5dEPHwxQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1514-cOLgedmOuPz0UT4dbDX9rqfZwnMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:14 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e2cd82a2-cb24-4b91-908d-5bbaeaecadc3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1514-cOLgedmOuPz0UT4dbDX9rqfZwnMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="1617" it="0" lt="1617" ct="2" ts="1587564494583" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:16 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2I4YjNkNWUtYTEzMS00Y2NhLWI0NjctMzQxMGViMzg1YzAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1514-cOLgedmOuPz0UT4dbDX9rqfZwnMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564496201" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:16 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2I4YjNkNWUtYTEzMS00Y2NhLWI0NjctMzQxMGViMzg1YzAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564496211" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMyOTQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDQ5NCwianRpIjoiSUQtVG9rZW4tMTI4NC14LWZQLVpPREVXai1La05FZ2F3RTZVS21odEpnVW5hNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BPYU9Ot5JzESKbQE2uBfFH_dQ2xOsMuHvInuK5Obzlv27i_fgd-TBl35cqwAopvEcRvlJyXigzFgqafYVFFgOiwOUTohuU1fYPtNeaIJBtCkOYvZaqIiLLEkTna_JAZfb8zITQNsJKmmZ22nJDTxUlnlzcDRR7ypQRbkcn85UjGJK4INeXUlQg2oOoxapeZcrodO53uOGYtgZZSXOzk8FoxuEcB0cJlEjD59d1VaDnX39k7Y2BVDeU9wTv4EdIic_yn8ad2GWf8RzSzjdmE5Eg8mL68Bjd5ifuJXIh4691LMa7ntSd1lTkB0059Dhkpms-Vn3ONZBwJMEsb0lyT22A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:16 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2I4YjNkNWUtYTEzMS00Y2NhLWI0NjctMzQxMGViMzg1YzAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMyOTQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDQ5NCwianRpIjoiSUQtVG9rZW4tMTI4NC14LWZQLVpPREVXai1La05FZ2F3RTZVS21odEpnVW5hNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BPYU9Ot5JzESKbQE2uBfFH_dQ2xOsMuHvInuK5Obzlv27i_fgd-TBl35cqwAopvEcRvlJyXigzFgqafYVFFgOiwOUTohuU1fYPtNeaIJBtCkOYvZaqIiLLEkTna_JAZfb8zITQNsJKmmZ22nJDTxUlnlzcDRR7ypQRbkcn85UjGJK4INeXUlQg2oOoxapeZcrodO53uOGYtgZZSXOzk8FoxuEcB0cJlEjD59d1VaDnX39k7Y2BVDeU9wTv4EdIic_yn8ad2GWf8RzSzjdmE5Eg8mL68Bjd5ifuJXIh4691LMa7ntSd1lTkB0059Dhkpms-Vn3ONZBwJMEsb0lyT22A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8540" it="0" lt="8540" ct="0" ts="1587564490295" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1516-eiDHWpxGpYZIoGEO1mH-d1Rl54FlgZmjol2cETYa-pS956xONQJsNXYA1mklUR0FeJMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1515-VBXsMkLVE6zCerf3YeyeWpvCUrcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:18 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7d6f145b-f040-41c2-8780-0801f0c167bd</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1515-VBXsMkLVE6zCerf3YeyeWpvCUrcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4048" it="0" lt="4047" ct="1" ts="1587564498836" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-45" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:22 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:21.167+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ODlkZTg2YjAtNWFjMS00ZDNjLWI5ODMtMWRiMGUzMjBlMzA2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1515-VBXsMkLVE6zCerf3YeyeWpvCUrcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6668" it="0" lt="6668" ct="0" ts="1587564496220" s="false" lb="GET - Admin Center api user" rc="500" rm="" tn="Typical Admin Center API test 1-5" dt="text" by="718" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTczMjVhY2YtM2Q0ZS00YTYzLTgwMGItZjljZDk4YWJhZDZm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:22 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMyOTQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDQ5NCwianRpIjoiSUQtVG9rZW4tMTI4NC14LWZQLVpPREVXai1La05FZ2F3RTZVS21odEpnVW5hNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BPYU9Ot5JzESKbQE2uBfFH_dQ2xOsMuHvInuK5Obzlv27i_fgd-TBl35cqwAopvEcRvlJyXigzFgqafYVFFgOiwOUTohuU1fYPtNeaIJBtCkOYvZaqIiLLEkTna_JAZfb8zITQNsJKmmZ22nJDTxUlnlzcDRR7ypQRbkcn85UjGJK4INeXUlQg2oOoxapeZcrodO53uOGYtgZZSXOzk8FoxuEcB0cJlEjD59d1VaDnX39k7Y2BVDeU9wTv4EdIic_yn8ad2GWf8RzSzjdmE5Eg8mL68Bjd5ifuJXIh4691LMa7ntSd1lTkB0059Dhkpms-Vn3ONZBwJMEsb0lyT22A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:22.898+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/api/user&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=M2I4YjNkNWUtYTEzMS00Y2NhLWI0NjctMzQxMGViMzg1YzAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="2" ts="1587564502888" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmNiZTczM2UtZmYyMy00ZjhiLWJhY2EtNzY3MTJlODY5ZmM5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:22 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="3" ts="1587564502890" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGNlZGRlM2MtNzYwYS00OWJiLTlkOGQtZDdmODVmOTczZmUz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:22 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564502894" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:22 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmNiZTczM2UtZmYyMy00ZjhiLWJhY2EtNzY3MTJlODY5ZmM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564502900" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:22 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGNlZGRlM2MtNzYwYS00OWJiLTlkOGQtZDdmODVmOTczZmUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12749" it="0" lt="12749" ct="0" ts="1587564490269" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1532-C6s68IawxZT-pKOhVS1DswRhFHv9za-2FTuSGskZwbt-Hh8h1V3FBxdAdJiz7buApIsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1533-dOAtHqg3aJ4qU4BRDrV6q5oxTr0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=aeef216b-8c91-4a3e-bc17-bd8e4f58be3a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1533-dOAtHqg3aJ4qU4BRDrV6q5oxTr0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12718" it="0" lt="12718" ct="0" ts="1587564490301" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1555-2xn0j4c1Q-PHUTx3Uq9BdipQodjLZ2iKZm0tpB4mozjRViB5Otcq0AyqFV8Rv-mTyrEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1547-SuNkdrXRaba6qjjLEaYO5VxH8qAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=027e67cf-3f80-48a1-949c-af3a5ce5b668</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1547-SuNkdrXRaba6qjjLEaYO5VxH8qAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12721" it="0" lt="12721" ct="0" ts="1587564490299" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1554-4gRxtU1t3TVV2TYxPXu0y-XM3CKF1YtoUcmg24Nd8VQWzCD00e53jekqrUVsoq5Hk-gc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1549-0-dvvDtdEfjDaHaWK0-Gcyc8G5wc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=57ab25b1-5ae3-462c-b7f6-671313c102e3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1549-0-dvvDtdEfjDaHaWK0-Gcyc8G5wc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12866" it="0" lt="12866" ct="0" ts="1587564490155" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1557-0lMfYVE1zRkLd31dl352joP9ZOgjKCMEOVPYbtgjRn-L5NBTp9AYcrjijB2WjmInbH0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1544-qxyO2e9bdLsV9vzxVmkWQCWT5fIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c09b9e0a-c76d-4417-8990-684f006d2c82</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1544-qxyO2e9bdLsV9vzxVmkWQCWT5fIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12767" it="0" lt="12767" ct="0" ts="1587564490254" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1575-3xqRSjzW9TbLJklQrdvcybrQhtw02N4dAORb4HBU9xALwQopwx-JyaVLUu3OAbj9Nysc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1573-L4ZoV4IBrGO-b-GmvDZPKL6lfIEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=341dfacc-aef3-4b77-b51d-2c3a6ee453d3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1573-L4ZoV4IBrGO-b-GmvDZPKL6lfIEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12747" it="0" lt="12747" ct="0" ts="1587564490275" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1524-qgVqfMJO5OkEw2sqae0MJUmjt0bmrEz7dY-3S-I2rAg5PdXWOvKMXxyzu8szI-pUc3Ic7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1552-iYfTCSJrNG-Wzf5Pw-qqYEY6bOsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6ac15331-b51e-4977-becc-eb92c118f2e4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1552-iYfTCSJrNG-Wzf5Pw-qqYEY6bOsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12875" it="0" lt="12875" ct="0" ts="1587564490147" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1549-3dMtWi3KTs4QrbN-zOdcT-7O2ZwQ-RfucCoimKEEmUJLZA1h4riLd2DdJb58feeh5-Uc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1538-cRBIpAigDblkEg-SBu4LOzBgHXIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=fc9dc855-ccb7-4997-8288-81926e794c77</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1538-cRBIpAigDblkEg-SBu4LOzBgHXIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11923" it="0" lt="11923" ct="0" ts="1587564491100" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1589-DENjReUZ-V8ZK7HPsw5THCRKPrqzloZ4MIN5N-Cs7U9GnHTnpGz4UGUw4tyMVMQ7i9Mc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1591-tk0n3OFJaCZs4j7XL0HFMtEEdaEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=1f70d4a0-8f33-4827-b08b-2b2eafe6941b</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1591-tk0n3OFJaCZs4j7XL0HFMtEEdaEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12867" it="0" lt="12867" ct="0" ts="1587564490157" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1566-MKvOUpicG-JS-jw4w9JeFXsG8Ply5j3juoF--IfdYBgZPugU0X0qMrlrH2yzcwUeQsUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1580-mtsrK6eDUjxyF02oaxrG9rsYQ6Ic7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ed61c6ac-d1e7-4b35-a76f-ace0bc06a9e8</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1580-mtsrK6eDUjxyF02oaxrG9rsYQ6Ic7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12744" it="0" lt="12744" ct="0" ts="1587564490280" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1530-XAyWDP1pPFD0Xg5QRE1eoEeNwKCr9GTLwH5dKOoK1vFSXlKBOVgp6CtqNlSx29CdTHEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1589-M9o2c-ZyDJkdFWqy4Uq-M1KWVPMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e5f847a7-1537-440e-857b-ce13922603b8</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1589-M9o2c-ZyDJkdFWqy4Uq-M1KWVPMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12817" it="0" lt="12817" ct="0" ts="1587564490208" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1545-t8KoQWJ-N7xg2dpcHChJLiYfY-wvIGppI8FybeiUiLV8nSLKL2g8hYTlADfQp9HoKesc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1550-AVJYEjK-HR0QVZ4JRE2y4YUHoX4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=5eca4cff-65ad-41c6-a2c9-76daa60c1959</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1550-AVJYEjK-HR0QVZ4JRE2y4YUHoX4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12683" it="0" lt="12683" ct="0" ts="1587564490342" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1564-t3drYqehw8QwU8igQSWvcLNLJHdaXFrJzch08a4NYjPaXqW73DdQVlb16DcjPkg6x9Qc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1551-UlmkOMDoIAN0ZfiWzyfIPo5mjzoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=55fc1999-5fba-452b-b70d-2e07499b7701</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1551-UlmkOMDoIAN0ZfiWzyfIPo5mjzoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12841" it="0" lt="12841" ct="0" ts="1587564490185" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1551-CIAK0yNqipZiY0kwMixQUVDMshrcGZ7tAvCHvs37BLvfSFCvjsz-51jzcDykDQG-H7kc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1577-Nm7kBOphRrLE5AeJS-EMo8QQlWkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=87f547b9-589e-45cd-9237-44dbe343f3f4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1577-Nm7kBOphRrLE5AeJS-EMo8QQlWkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11327" it="0" lt="11327" ct="0" ts="1587564491699" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1605-qd2d22ZGUMlTf9i9Cn-x6Eyerc1MK2WxBRwTnIfLrb3MqPmcs-p7GxUMGF96DsLXtn8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1571-3siC-GT08F6N3dZooofj3ffcMQ8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=cca0783f-e3f4-45e3-b145-e16ea6640368</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1571-3siC-GT08F6N3dZooofj3ffcMQ8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12770" it="0" lt="12770" ct="0" ts="1587564490257" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1572-QvL-BJffVR4cOkCEp1bVL4GLYHvX0OqVdkwmVVg4K43Sb2c3--8Dc8RhE0IWxpiLoIIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1576-Acc-GW-Qs3ri-pe3s5EYTssr60sc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=628bdd4c-dcef-4429-a996-aeb9c0c6601d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1576-Acc-GW-Qs3ri-pe3s5EYTssr60sc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12814" it="0" lt="12814" ct="0" ts="1587564490213" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1574-yK-rMmoP9opaP7rTYGyjAReP2f17pf47MsatISqP6kgWqtQgFkSpLF61EaA57Q-1jz4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1582-KYyHpEOcqBOdMkIFUecNNXbs0wIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=82262ed0-e322-43ec-808f-129196e24cb9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1582-KYyHpEOcqBOdMkIFUecNNXbs0wIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12811" it="0" lt="12811" ct="0" ts="1587564490217" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1580-hRFdrYlYq-6nYcE9etvPl3IQegDz4xlu7Au-JlYx0W0wrw4ddgIRT510-FT4IqxLehUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1581-WaD0CTq13F2AcQ-mMv07-SjyKGAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=f1b6f551-ac7d-41db-998b-a70d99e71d21</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1581-WaD0CTq13F2AcQ-mMv07-SjyKGAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11288" it="0" lt="11288" ct="0" ts="1587564491740" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1602-6aQUXcbpvBBVmOe4AgoVlA9HtQzxptIeWirjPhVbjjL00tSri8ceRIIndvwqSWcBAOwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1601-0SBZw2LQQkznXbdunPDNwCpzFsUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a34a502a-1992-4c9d-a464-2f218dc07e32</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1601-0SBZw2LQQkznXbdunPDNwCpzFsUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12791" it="0" lt="12791" ct="0" ts="1587564490238" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1542-hDm0R9jZWIbJ7WoQgl2FRfADlEjxTqQeHvGRuYdd9JKP50D92Wa7kllDapVWju2pB8Ac7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1528-rSYRqVHpx7otuy3rsXt9AKNEXysc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=dd7c8f7d-1f00-4bea-9fc7-1c740ca81ce9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1528-rSYRqVHpx7otuy3rsXt9AKNEXysc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12859" it="0" lt="12859" ct="0" ts="1587564490170" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1543-qtang0En-jxXrp2KT4mjX4cZWhLW1jw3Wl1IgmQYvqFezj4-pNppU9ZyOPo-ofy2i58c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1541-jjGDBQluzeNtuR2G1Xms41t2MRUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=39b08b39-fbc8-4557-85fe-c180db15e91b</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1541-jjGDBQluzeNtuR2G1Xms41t2MRUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11292" it="0" lt="11292" ct="0" ts="1587564491738" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1607-tBII3R1-uECDZCjfBKTFv0gRk1pGuk-NGdiGBsULMKO-Q6yElX5E5lLGkUCyZCMZNA0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1610-gHmL2L5MctSuZN6IX8lmkX-ahCwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ccf5d98f-92d4-45f0-8cfb-50c99c596d9c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1610-gHmL2L5MctSuZN6IX8lmkX-ahCwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12888" it="0" lt="12888" ct="0" ts="1587564490142" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1578-ylf3FoLOcXRkv7lbF7ugqEVIxS9dQ6dV3tEgc787i4aZJJpUruX-Uo-p34O-svnA-ekc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1587-BtKN7o1mHCxZ52uFUKxACkDPcFoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=1c1f1b66-d509-4e2a-a740-a411ce7a2de2</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1587-BtKN7o1mHCxZ52uFUKxACkDPcFoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12737" it="0" lt="12737" ct="0" ts="1587564490294" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1584-CwPYmJFkCuIOwo4EDuzS5oyDHOJNtVQO1PCKCcXj4FwB77GlMGqorKQC4FK1wXQs4ZYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1586-vqAVWCacUFfRnfX5WAPFsOiq8aAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=f636dbae-e878-4e91-a5d4-c07b7aa54ece</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1586-vqAVWCacUFfRnfX5WAPFsOiq8aAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12884" it="0" lt="12884" ct="0" ts="1587564490147" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1553-U-WRdkihN37O-qAa7HbboyOJebVnICcGn2WK5-doBU0REShs6-N2by4Kl1LotCk8OEgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1572-SN1WDPsWIQpXqKPQ0EpEJYXTh04c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9882d9c8-77e0-4c89-a648-f179ec6f0d07</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1572-SN1WDPsWIQpXqKPQ0EpEJYXTh04c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12840" it="0" lt="12840" ct="0" ts="1587564490192" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1569-E9zsU-3XYbMi4Kj-d2JRn-9ja0K4UENRsNxicPo7BEAnREzJPwP38TpCKRbp4Eslg1Yc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1561-6p3B3EwgLwpid9ywlxhmBlHoikEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2f3b3fe1-cf94-42df-9666-2e1d433d5400</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1561-6p3B3EwgLwpid9ywlxhmBlHoikEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12761" it="0" lt="12761" ct="0" ts="1587564490271" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1559-VqDRj6tmyHigANx3yxenhW7a0f2prJdDHVb2gaB3P3KzpxWJ-BGN7CN6qFrfyxNCkNcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1557-oh6GZAEYHyJk-BjPSi-SJ25sqRoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=360ab310-8f4e-4e90-bf59-3557026f6411</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1557-oh6GZAEYHyJk-BjPSi-SJ25sqRoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12866" it="0" lt="12866" ct="0" ts="1587564490157" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1537-J21HUNAO3162oRu-EIhnil0i8Uq4SX8jHsvpfdYBrZ6jibhy7LRLmb5IKeQI9JSEdyUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1537-c3zzaGYz-oOKXyypifhWEodNdS0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2479ed47-0446-436e-9d95-514c24626b77</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1537-c3zzaGYz-oOKXyypifhWEodNdS0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11982" it="0" lt="11982" ct="0" ts="1587564491054" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1596-SN-aFwcS2iN-PuolXils7bX7AUrPMLSyYE-soww-ZOGooj3jJ7RRxciFjaYP3s8DH-Ec7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1583-VULV2HYmTIG-240ulKEQjWGHffsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=269def62-c7ee-4324-8388-6ff7173ffab4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1583-VULV2HYmTIG-240ulKEQjWGHffsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12763" it="0" lt="12763" ct="1" ts="1587564490278" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1552-EEzJU678fNP5Yy-WtDYab3FmCjOtDRNS8Q7bsRaTAzQQDyLL7rcDu9V8a1RepvWBADgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1575-Clkn3a4N9h9LjCBma3i8l2fNhrwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=51465316-3397-462d-a5b2-b3f7f3a803b6</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1575-Clkn3a4N9h9LjCBma3i8l2fNhrwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12889" it="0" lt="12889" ct="0" ts="1587564490152" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1528-T-n-TjVaeAx6FOwjtIVrodsB-o8nfiJCBWuNmU8M19LU0bY8l05QOj5WwcOLhT0FulUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1553-dMwLXAYWXSmr3jLBgeSSqgYT6Rsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=5ab40678-9d3d-465d-8f91-5d3070ecb2df</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1553-dMwLXAYWXSmr3jLBgeSSqgYT6Rsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12864" it="0" lt="12864" ct="0" ts="1587564490177" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1529-xeEsm0XXZroQtnNYinDB2ALtY4cf-yYp3M4grepDRUqe0vRFTwCIw9n2O6uBGsJlSAYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1534-X6nfPigNJbvmwCx5eiUIUCEpZ2sc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=175d8b8e-3fb2-4826-997b-ea1ed79db378</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1534-X6nfPigNJbvmwCx5eiUIUCEpZ2sc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12802" it="0" lt="12802" ct="0" ts="1587564490239" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1525-iSz5DsrQGVokl1f8twUk8xCDUbkbzCxrhDgW8eAkwMRT2Rn6yWkNdYizxcBGaC-sAUYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1548-uUDPUuJI1mquTMQBbYcT9BJn8PAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=eada6c56-8e1f-4894-8d23-f3723411b9b3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1548-uUDPUuJI1mquTMQBbYcT9BJn8PAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12848" it="0" lt="12848" ct="0" ts="1587564490197" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1548-vRvl-wrGzrBdwHA8WysfHH3zgtLMpMKHcGwYzzECn3RXfWkN0oeRgqJKBA0JVhaa8h8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1532-hxvjhprNNNAboeAduEBqFGEct4gc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=f3bc978d-51e4-454b-9f5b-c2e5e84cff80</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1532-hxvjhprNNNAboeAduEBqFGEct4gc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12775" it="0" lt="12775" ct="0" ts="1587564490265" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1546-vXJVXyWubBZDnpQghrsj0AaHaWNM5KzlA-3uAe5W1rlndgFbHzyFfDX89FTwvM3Apn0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1535-nuiF8lWddLtkTuH8pHKGqzVeUJkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=30bead59-e2e7-416b-a79c-43e6e7e1076d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1535-nuiF8lWddLtkTuH8pHKGqzVeUJkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12804" it="0" lt="12804" ct="0" ts="1587564490243" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1522-KkCG14fQFvHKy2tzU-JxavpDG-uyHcnUOfLoKhjLtiCJ38dtOTx-ubf-zQxB2Mu-kf8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1520-A0dYgIk4ed1p8o7r6TipCshAVnsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9d7ff0bd-5a86-402e-83e4-48fac865005e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1520-A0dYgIk4ed1p8o7r6TipCshAVnsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11295" it="0" lt="11295" ct="0" ts="1587564491745" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1599-Iv3nO6iVcu3aUXZSxhbqSpPWkSa3dIy5d5sy-fR-UcvMPX9-seh-5RK-uKBZ-O7KNjwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1606-BsmCDQj8sqUWx3ZzsgQYHBbp4JMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a3d4cd5e-a6de-4d0e-a92a-9d84c2157c4a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1606-BsmCDQj8sqUWx3ZzsgQYHBbp4JMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12818" it="0" lt="12818" ct="0" ts="1587564490222" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1533--vgp8R8xZf7SAJjYEALdIS3qVuPE0-SLuOp0nT-WBvlEdpe73sBq2wtCcI54A-yqBU0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1536-hTNZJDyxtHmXG85IWFRuutv1R0Ic7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=11615840-8a94-4359-a9af-ec8e70464990</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1536-hTNZJDyxtHmXG85IWFRuutv1R0Ic7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11290" it="0" lt="11290" ct="0" ts="1587564491750" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1612-ltX6opvPOGX8N0ob30WKwbCmIXW-7UzWLJRZRQQM-gOARYhzGLXzbeT-TDyQwnjGmlEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1595-bJahTDw-T-ntWvvvKvXQ2sm31FUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=024073e9-570b-4443-adf1-4a07669a2ddb</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1595-bJahTDw-T-ntWvvvKvXQ2sm31FUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11297" it="0" lt="11297" ct="0" ts="1587564491743" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1610-uIklg8W80ZnvDGurUk560vLTmfw9gPyFmbbQfFXq8sbPs5s38qb7vy0ovoYgreM0TSAc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1598-2jdsLW6Y6T-wm6Of0eWMOSbLIZkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=47676a29-027b-40bb-a77d-4c2808bd8843</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1598-2jdsLW6Y6T-wm6Of0eWMOSbLIZkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12804" it="0" lt="12804" ct="0" ts="1587564490235" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1550-NXBh01Pdlj-zdg-dfWqgsfbf1y4TNkNSTp6VdS-tOlSG5hJZzwRsSMH-6YHkM2J92kcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1560-p7oDjuZ0OOVRndJjVroQBA-OAiMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=af07b372-f169-47fa-98a3-6ec93194e11b</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1560-p7oDjuZ0OOVRndJjVroQBA-OAiMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12837" it="0" lt="12837" ct="0" ts="1587564490202" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1541-EDklhh8NytjiV-8a3dB1na11B3pUOz3iVZ2Zi9-C0VQafPbMyj9570mTdbdL5rTdcQUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1539-THO5pTPrNpTyZJ4dV9VaskhvJMAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b96b3ffc-2560-4d60-a661-d4dd4303f421</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1539-THO5pTPrNpTyZJ4dV9VaskhvJMAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11312" it="0" lt="11312" ct="0" ts="1587564491739" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1587-J5mrbgy99LTp6bk6DJA5h2gO5pSw5jxGNUuurpZGYLz5DBZFicVsP8RzMOqH5g9YGroc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1565-Fs5-FHo6qAgoXbj39xDuPp6Egeoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0fa4efc5-0565-48b9-8816-a02b2ddfba69</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1565-Fs5-FHo6qAgoXbj39xDuPp6Egeoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12495" it="0" lt="12495" ct="0" ts="1587564490557" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1570-rCGGmxRswG-wbss0aMBRY4v-jQvBHq8noUehw6ymsvcDagpBKmH49fnJ0tzfxuVtd1Ac7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1568-K1OxPcjr-y3XiU-2V5J-EigsslUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=30d490bb-31f6-460e-b037-128554f27dc1</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1568-K1OxPcjr-y3XiU-2V5J-EigsslUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12792" it="0" lt="12792" ct="0" ts="1587564490247" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1581-cEh5-O5XIVRJCJ8x69Fle2OlwCIr7vlnoagjIADkdEoGant8B1gtXeFDJKV7sq-UVM0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1590-pff6VIUfhkxUd7YLBPfA8CB7Kfkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=46f14f68-68b4-4622-96bc-155d95fee726</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1590-pff6VIUfhkxUd7YLBPfA8CB7Kfkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12852" it="0" lt="12852" ct="0" ts="1587564490201" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1518-QGsJ0olFOEk4KkylAQhTG1NgdOGo3ORkt5z5vrt-8WdzjfgCqLUtYUB2Tt1NVD0faQkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1524-wNJ2oBR-E-dJQJKzlgWODEBHr8Qc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=eef3c9dc-8b68-42ba-96df-80362114b5fb</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1524-wNJ2oBR-E-dJQJKzlgWODEBHr8Qc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11769" it="0" lt="11769" ct="0" ts="1587564491270" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1595-ffLprB7EJ1s9psrFkgtF-378pWuQWg-G4ZhwlhSNZJb-Cs44Rm-FbLH2RSITjcugRAUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1611-LcYJ6wn48FsZbKi6XyCmBhDmTYAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=5f74274b-01c3-423b-b66c-77340a227eb9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1611-LcYJ6wn48FsZbKi6XyCmBhDmTYAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12789" it="0" lt="12789" ct="0" ts="1587564490265" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1535-13XYhOJBIez09-3BfOLnS5ekhPdYWxECOvYDku2VyZ5-CGuLFyV1eqpknSSH6N6247gc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1522-o3gGpvhjzgnon2IMCgZKUA8VQ1sc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=bb163f0e-bafe-4a46-b5d1-db9b4944b6a9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1522-o3gGpvhjzgnon2IMCgZKUA8VQ1sc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11289" it="0" lt="11289" ct="0" ts="1587564491749" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1611-InXDAMTF6jykpvDKZkaHCRKnrOh5Wr23kHKNpipDOA2VSe9toM6QlvqSXSObyNlXcS0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1597-gMWllFN2Uy0AXKVVTHJfxyd-Phoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b8f4c1a6-d276-41a0-b894-4e6eba8068bc</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1597-gMWllFN2Uy0AXKVVTHJfxyd-Phoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12852" it="0" lt="12852" ct="0" ts="1587564490186" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1547-FyUX7O1iINGXnErxKyAGJiNcTMXz5zVBpcD27IhZseuihEKAN4JMweoJI-7MDxJTIIQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1540-UUerDnFLkmRLo4Hk0m-g4FJ5ZVsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=864d4a08-6142-4189-b248-d842e1785e7c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1540-UUerDnFLkmRLo4Hk0m-g4FJ5ZVsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12788" it="0" lt="12788" ct="0" ts="1587564490250" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1556-PdzlJybplZkNb-q5JFA5SC0jewOzyqPfEI6-36ZTfMgelRR1EqHirVVqgW7ZIVl3xREc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1546-QglPHLwEKaZFQOOitHipM7Q07SEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=92891ab0-39e0-4df9-b584-10903d85e11f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1546-QglPHLwEKaZFQOOitHipM7Q07SEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11313" it="0" lt="11313" ct="0" ts="1587564491744" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1519-M8v6tFvL5dHPTdg5v-fkpKxaSaCJj3YgT-bk2klX-SDsX2hW91b-AvVEz-9upGh-zTMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1517-M9wtIniYKUQR4Bj7SyFXpWDOnjkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9ce10c41-807e-48af-9676-7b0cd687b296</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1517-M9wtIniYKUQR4Bj7SyFXpWDOnjkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11827" it="0" lt="11827" ct="0" ts="1587564491231" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1588-n576aFQMOoSQrGKVedeevd4WlmvFWVGjs4Z7PEWw80jtztYt3gfbkHZPpj00vP-eXKAc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1564-e9tB5ARvTQTI9oajgspIMjlE23Ic7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=96b4e44c-a74b-4606-8f2e-8ca3c11539f6</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1564-e9tB5ARvTQTI9oajgspIMjlE23Ic7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11363" it="0" lt="11363" ct="0" ts="1587564491675" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1609-YnUWM6phsEFGEUeFs-65X0nOShvhMds0PwwCqh3YCIFMgOdfx9q2OegBgYiX8fXrxaIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1600-fvgNGPw1SM6sP8m9pKhLa--H7dwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=678ddef0-f117-47b4-accc-c725e5efcb4a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1600-fvgNGPw1SM6sP8m9pKhLa--H7dwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12817" it="0" lt="12817" ct="0" ts="1587564490221" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1540-CIbHEhKi5fS1VM2ysFAUuLTJ1fw4LEleDaAx2CayjfWiiCbdVphMCyqvua653h7dWoAc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1579-mUqRqgHkm9D26FARztvEnG9ZBCAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c5a4dd83-29be-48e2-937b-88cb54270839</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1579-mUqRqgHkm9D26FARztvEnG9ZBCAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11654" it="0" lt="11654" ct="0" ts="1587564491383" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1606-zMXatmbqL7K9lSD9Y6kbFfRGYk8bheWAG6SAHXSWhlV5WB7c4MfbGtrxbS9AjN5atfIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1605-lBkLEDZLgr-kTTwqYFfxZkiLJHYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=cb4e3d64-076b-4cbf-be7d-b43bbb282def</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1605-lBkLEDZLgr-kTTwqYFfxZkiLJHYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12764" it="0" lt="12764" ct="0" ts="1587564490273" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1531-Hc080bR3qTN6PVqGq4tT2ssDKFuv9-4AEH1bLsc1KGnvSMTQjVKqx1KH9fCkTKtmvnYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1530-N1u9-uIppSRu3RQlUwRBr3OvEb4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=034f9c30-ed5d-4ddd-bf9c-b2aba814a43d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1530-N1u9-uIppSRu3RQlUwRBr3OvEb4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12829" it="0" lt="12829" ct="0" ts="1587564490208" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1538-URwfqJtIsEB4B5Cbahm31rIfQ5mIEr2clTbH-82Gx60lX87l5FwxD8TA3CU03C54Zlgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1542-7dxjkKK9StnAlyToWky4hiwcESMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8104fe69-f33c-45dc-961c-c0392a2662ea</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1542-7dxjkKK9StnAlyToWky4hiwcESMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12797" it="0" lt="12797" ct="0" ts="1587564490240" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1567-bLuSGJtIQmfauyLAv6Py2ll67cInkWL2zLhzX3Fv2a63Si11G-wxi6UOiGG-gT7TSh8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1569-vhXdwoA6gPxrZT5G5ZbIjoqFEfEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b9936652-3948-4ca9-b4c4-394907805bb9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1569-vhXdwoA6gPxrZT5G5ZbIjoqFEfEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12785" it="0" lt="12785" ct="0" ts="1587564490252" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1560-Hs88ivwc7hs-SYzhw-HdZtn8sJc1eU5Ng6kBQtFJGfvPo1ekrr8Pns9UecJyu8eIA3Ec7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1559-np2w9CxoQ-63WBeSy6AOVUlgzXoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=81c1a85a-32c9-4381-8557-9e9e5ce71c45</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1559-np2w9CxoQ-63WBeSy6AOVUlgzXoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12259" it="0" lt="12259" ct="0" ts="1587564490778" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1585-ZgPz8xMU5mmRNqEBoukYxrl35wcawGWbmzi8ZKKGSN4nsBZd3lA9CcdDHBCfC00q-Asc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1567-O-NS4kr6u4c-7Ks6mtMgobwXfZAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3a59525d-4ff8-432a-8683-5997cc44a1a2</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1567-O-NS4kr6u4c-7Ks6mtMgobwXfZAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11302" it="0" lt="11302" ct="0" ts="1587564491735" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1594-M5fMu4xIHe-CP64CELuQHLebDVLQzUkiyRlNuBoud-jz5ErfQMsbP3XPa-CezUda-Tsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1593-b-gjZzxCJjBs5g7PRbtbLJPVWpIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=eff65672-264c-4fd1-8a04-92f53d66250f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1593-b-gjZzxCJjBs5g7PRbtbLJPVWpIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12738" it="0" lt="12738" ct="0" ts="1587564490299" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1515-SfrNq2nLWTmfyK77i-djygL8BUwBXJDaClv26qn1fc1KI9IxPHz01xEhZWYbyjx-zi0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1525-nebMqD8So-1ua6TO9bKwNpMcrLUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b81b5de1-1e58-4fe9-9575-8f5388a07a1c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1525-nebMqD8So-1ua6TO9bKwNpMcrLUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12754" it="0" lt="12754" ct="0" ts="1587564490282" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1565-GgsujqtSmds50-0sVbSVnMzYTcEueXzDCHq-toQiXAh9Z29N7FFCWpZnwLmpT-K36iEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1554-grGvVXOiSVJkG5hlzyX4VySD1tcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0a0ffdc5-d12c-44b9-81bf-9c61c85c33e9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1554-grGvVXOiSVJkG5hlzyX4VySD1tcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11819" it="0" lt="11819" ct="0" ts="1587564491243" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1592-kliaxNJKTXoXdHGnL-3EWJx96k1Pz3e85AQNfH4vb-f6xNv842nPGYxfAuUUwWaJo1Ec7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1594-HNDQbKhbzNNsyOQCFd-qweoW5E4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ea4af333-ec13-4ce8-93db-c1857ca68e9b</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1594-HNDQbKhbzNNsyOQCFd-qweoW5E4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11290" it="0" lt="11290" ct="0" ts="1587564491746" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1604-STn3P4HyAZ-fOBwe7vZDrZMyfJ6lxk2hp5P-CiHR4nPwrzosKds0faOFHBbti1-MF2Ic7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1609-Uk4xvPGQaq5k6v-FGS285o12OEsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=64ed6f1d-04f0-4dc9-8e6b-4385bc019453</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1609-Uk4xvPGQaq5k6v-FGS285o12OEsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12732" it="0" lt="12732" ct="0" ts="1587564490304" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1579-BqZv5tkMZdqIRYiF9U4A6w6XkXYtQu9FSS0E3UQMrXp--jMzL43lPnl-NWwTPFT3HQYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1574-NNz1abk7TXQOSSinVXk-qvWQkJYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e87680dc-2377-4895-9779-e516dc38026e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1574-NNz1abk7TXQOSSinVXk-qvWQkJYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12806" it="0" lt="12806" ct="0" ts="1587564490230" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1517-vZY1Fn6aFORI-RzeJKTvSOjUG6gsuYevtDkR7elKX2olu4-0aF3eI5SiJ-yc9gi7s7wc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1531-Y39r-3sViJX4kpmcEBj6SYdWcrEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3817142d-87f8-4d6c-abe6-595427aa0ba6</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1531-Y39r-3sViJX4kpmcEBj6SYdWcrEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12867" it="0" lt="12867" ct="0" ts="1587564490169" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1577-OpoHvAyZ7UMOtsXc-PQOVkQrSBTSTaVbIDIV3r8CBQTtSnMZxqa1ulpb6KA8Mmlu-Pcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1584-J-lhSqi9JkobVhTLM5ciYzFXfJIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=60798edb-fe3a-4a8b-8aa5-7eaf01559518</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1584-J-lhSqi9JkobVhTLM5ciYzFXfJIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12824" it="0" lt="12824" ct="0" ts="1587564490212" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1520-Pv5w2qu1mGwxQf3fhM2Ilm9HkAr6fHpdunR10aw2XV1Ie6bxCPhTmxq3ejOH9w-RyVEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1523-9mSwhEqeaIFcwAWRWm0DBRlNPJEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=97a84db9-2762-4733-a6c2-3b318efb05f7</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1523-9mSwhEqeaIFcwAWRWm0DBRlNPJEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12840" it="0" lt="12840" ct="0" ts="1587564490196" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1568-iBBkyF-zJjbdhP7ORewTAAxEbkTtOhUjWzsKm98l8Ow1CI4GiCpD-0xWr1ISsUeAaCcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1570-JyJ4YKIN0tOEc7melNqgDORXMFoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=03855aca-27cc-4ac6-a032-dd2da2aade32</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1570-JyJ4YKIN0tOEc7melNqgDORXMFoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11337" it="0" lt="11337" ct="0" ts="1587564491698" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1603-TpmN2hZWZsiSQOIEtzwZTRZeH25NDFVvO4iuJCt2TKkgZScQVukrIXZ-SwiSeMgm1R0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1578-Ex1iS2XaSPVZoJIlkoCypdqelmoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=19994ed0-8ca4-41a0-b866-a9d2fabfb55c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1578-Ex1iS2XaSPVZoJIlkoCypdqelmoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11288" it="0" lt="11288" ct="0" ts="1587564491747" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1590-7eJ2uoJwhSml7Fb0UC-Mm3RHUjehLfEsBsoT2Eoi-hJZPdmzCu0-zzRG8PB3iaJBmjwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1608-0MMCF2F7zYQkoOMBD4EFs8Vka0Qc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e0b37cc2-82dc-4a77-9678-32673dc57058</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1608-0MMCF2F7zYQkoOMBD4EFs8Vka0Qc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12842" it="0" lt="12842" ct="0" ts="1587564490193" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1536-MN7Ds9stph1PhLCmDSwa39Opk58XRWFL2Thmam1QBIhCsr5oNzzLJuyTrau8cwi3aD8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1529--0RZRImRhLgj6o0L1R7tHzXi8yoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=56ab4858-5673-4433-98f9-4d20a6a078b6</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1529--0RZRImRhLgj6o0L1R7tHzXi8yoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12746" it="0" lt="12746" ct="0" ts="1587564490289" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1526-lCdXGutW5PcC8MUtDdG97hRJ6ZcMaSmZ-RzVzyXu-JX9xj5OOPxeihPUPtvBXztYcWkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1516-FywgV9vJByitCBnOALc7M9ifX8Ic7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=dda0c571-384c-4e83-8c59-af196d880698</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1516-FywgV9vJByitCBnOALc7M9ifX8Ic7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12842" it="0" lt="12842" ct="0" ts="1587564490193" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1576-p0Gp-9I3n3iiB4Jg-TKbfnVxQrQOJgCCfxZOx4jBcNQGOVmdaRNrrC4n4zxYixedP7Mc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1585-i-awXQqbnbShpfkXBvIXrSCoU2sc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6878f6eb-96d3-4fa4-bc6a-0a82a63927bb</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1585-i-awXQqbnbShpfkXBvIXrSCoU2sc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12796" it="0" lt="12796" ct="0" ts="1587564490239" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1571-zIldBCUzpWr3QkqrWN15YpebDAvIPgxizZPk07MXthJ-IDjt4SxUDlQOs53KrnVqG1Uc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1562-tshyzc5Xbhb8EMSVWCPf2dSbltUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=f4b4e889-f234-4ffa-97b0-57ed09589d3f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1562-tshyzc5Xbhb8EMSVWCPf2dSbltUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12769" it="0" lt="12769" ct="0" ts="1587564490266" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1521-9TEGTYu6Ha5LN-6fqyKmDsCmBA-ZBl6ib7TUf-s3vmHgEax1jR8On0-l9ObjMiRGihgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1519-onzjhZArFSzCaNVmHmwagxRcaG8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c465114e-80a8-49b6-aa69-38e4511cff7f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1519-onzjhZArFSzCaNVmHmwagxRcaG8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11297" it="0" lt="11297" ct="0" ts="1587564491737" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1608-IxkQ-x-9VQqkYeNYLRolTOefjPC6q7bz7xe74RVanYkkU3cNxExGrxc1-Xgr0Sz410kc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1603-SQTOpAx4sBzhS1fTxc-PzN43v8kc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9968863c-f4a5-4e9c-bc72-f0aff5aab9a0</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1603-SQTOpAx4sBzhS1fTxc-PzN43v8kc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12789" it="0" lt="12789" ct="0" ts="1587564490245" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1544-yxbQInwjjTeZYTaFx0zGaeA8T5uZONtC1zrcqYgnvO--1Kl9gf4bBJ7Dptw2I9HQSFwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1527-aNuRQzrfIo2OsVQTs1TwEf26BVIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=96a7bcf0-b46e-405c-938e-b79e66333f34</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1527-aNuRQzrfIo2OsVQTs1TwEf26BVIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11294" it="0" lt="11294" ct="0" ts="1587564491740" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1597-IL0sNkjYcJ-yZcbledEPJ3Cv4IVKsknEfOgO6pkDKmcFnVXIiDmJ5x9jLAne8fu3jjcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1613-r4m2CVgcrlFMeKgtMYPUsyJo7Ukc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=65f6404d-fc4c-45b9-97c0-131aeefa9c01</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1613-r4m2CVgcrlFMeKgtMYPUsyJo7Ukc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11344" it="0" lt="11344" ct="0" ts="1587564491690" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1593-PGP9cqp10CRDrAXf383DiK-1fCDzmPWQL5aMyl3QAKrZc1NpEYMM9xeewKqBkzrpx-0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1612-DGWi056noim9YnXJw6qNRfgJcMgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=be3d68a2-5175-4547-a214-bb25bd1ac8d7</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1612-DGWi056noim9YnXJw6qNRfgJcMgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11770" it="0" lt="11770" ct="0" ts="1587564491264" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1598-O2FyCWpLjq2CGs6zUUFhLHYXalmHyP-jt86VsvWXR4WNuSTdgohZIgvjcvAvkE4kbl0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1607-MHm2xgbTnpJZRPdlqs8WQtzBDsYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d8598cc6-7dd4-4770-ae4c-1a3927d6d0bc</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1607-MHm2xgbTnpJZRPdlqs8WQtzBDsYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12905" it="0" lt="12905" ct="0" ts="1587564490129" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1539-RnkUuwbZxsAT5OpQTFx1QjfSB0SUtwuzCTTX2uykfjKnVub-I44BxkYJgCauoxwk07Ic7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1526-O3BUhjXeeMKviODuv2Tc21DqjK8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d1750abf-e6ab-4b00-bdb0-237d60e457f6</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1526-O3BUhjXeeMKviODuv2Tc21DqjK8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12793" it="0" lt="12793" ct="0" ts="1587564490240" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1583-zukb3D0yFCVSu2KtCiihCphupTth2JQ-wNhy0CN1NBujxLall-aXn8ZJG7rtOZU9c24c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1563-2k6E7AKVHWRWqUcV2YVkUUZzqHsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d9bc3d9b-b51a-4be8-b1e6-8e8eae2a11e5</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1563-2k6E7AKVHWRWqUcV2YVkUUZzqHsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12874" it="0" lt="12874" ct="0" ts="1587564490159" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1562-ZsBaxkVHTobFlMNiTO-DMgXJ3O-0QH-wC1pplOXHzxKmXCiFBk-YlNWhSLic78P-5ukc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1556-vylO0u01wUg2k21WvDBBolDf8aEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e8ba1250-bbc2-44e7-a3b7-029965fa7226</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1556-vylO0u01wUg2k21WvDBBolDf8aEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12765" it="0" lt="12765" ct="0" ts="1587564490268" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1563-hKmOZBpMmJ4CQusCIci9KU4p-3iS-aDWJqMtH3CP7aqoB3MJOLNY8K5-Xr3OosKlBvcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1558-fY0BApA4CtjVzxHdBBIPtMNTy8kc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0cfeebf5-2e5a-4256-9573-1f21e93028c1</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1558-fY0BApA4CtjVzxHdBBIPtMNTy8kc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12857" it="0" lt="12857" ct="0" ts="1587564490176" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1558-jm-cUXSftEEf9lh7tb0FaMlGD20nb4r6W8MBZYeHBxxd389aQGkXbLtGugxX76j278Ac7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1545-4HjTaMvwTd5eIH7-n9lZmwEZYcoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=bfff3aae-ef8b-461a-9858-d0914cc70068</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1545-4HjTaMvwTd5eIH7-n9lZmwEZYcoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12313" it="0" lt="12313" ct="0" ts="1587564490719" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1573-8u57xb8UWqFdB-ba61AAZu50AGz6X8AMVoD90O-W3Z429-EJEqEh9LFG5AZSQUNOUOEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1566-j3N4PImDX4tapNLtajdJyTVzQhwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e0aa1667-28c9-4ff9-b75d-ced12e8b6426</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1566-j3N4PImDX4tapNLtajdJyTVzQhwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12873" it="0" lt="12873" ct="0" ts="1587564490154" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1523-8EhF3vPr4hFJv--ujHYfTscxtinQ-gyIO4chb6jixGAJYYKMoych0VIIO3thLl-61IUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1543-0l4rN3v2gD9rD7w4UCcCMPFeN0kc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=55bf7a0e-18b0-42a5-818d-c5c929ea2c5b</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1543-0l4rN3v2gD9rD7w4UCcCMPFeN0kc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11324" it="0" lt="11324" ct="0" ts="1587564491751" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1601-4AwpdrAm3x0HyhOJ0bT-Vs86XmbOhsXpBGCb4YuQAsLI-2LKdx-K6fF61VSlCkRX188c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1599-LdxXB8xSBeXBQ8I3K2-nTlcKadEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ba1f19a6-172e-4108-9e09-70aafd4f73ad</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1599-LdxXB8xSBeXBQ8I3K2-nTlcKadEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12930" it="0" lt="12930" ct="0" ts="1587564490146" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1561-HSasUgf9cVUD7TjorKKxu9u2VgjzvPssM2r3PW9rgPnl1RCe5wcP0LIFrI6Ye9kxXCoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1555-kqssU7ro9qmbHthIf89C8L-CYcYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=f07e4cff-4e14-4f04-a484-6c120db713ef</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1555-kqssU7ro9qmbHthIf89C8L-CYcYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11335" it="0" lt="11335" ct="0" ts="1587564491742" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1600-NfU87gk5rIws-TN6ajlge9avwAnU7i-LrG-DWq9Sn23Oq3QVAANXzd8-L5ABrD3ZewIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1604-8-NSwSk8xkRwSO4-iW6GyLDkyOgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=81d26e52-b7d2-4680-9e1f-463fba75a279</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1604-8-NSwSk8xkRwSO4-iW6GyLDkyOgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12888" it="0" lt="12888" ct="0" ts="1587564490169" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1534-ncVkuF2o6TswXlad9u6nYWD6Bx738zXeQVI-ZH4v5l6SuR4jx9eIylVY9hWEXj7tvloc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1521-aBHhr3DN5JZjIeecOoLc6j92NdEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:23 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9a8ddfa4-955e-41cc-bd27-b4d71a3e571e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1521-aBHhr3DN5JZjIeecOoLc6j92NdEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="14150" it="0" lt="14150" ct="0" ts="1587564491055" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1591-I519DuOBTQee07rKv5nb1748SL-lLCu-WKr1MfBA05xJhu4MGc-081nWvC4qOd5XYyMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1602--PGCCkj-TBcBlqtjeghTcprws50c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2e4e059a-b31b-4967-a64f-4ad2bca41870</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1602--PGCCkj-TBcBlqtjeghTcprws50c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13948" it="0" lt="13948" ct="0" ts="1587564491258" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1613-8xwJgozyeqyBOqPiO1m4pc8AefMLozyDGwa2E5N-45HYd-RzgoGJbDKrTOHSR0dfL1Uc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1592-NuFrguTZTDaUQjEV-SYg2LARs7kc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=f0d6731d-2a8d-48da-886b-7a9c4a41a259</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1592-NuFrguTZTDaUQjEV-SYg2LARs7kc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15030" it="0" lt="15030" ct="0" ts="1587564490178" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1582-eQsbUQfAErEASh-IJbGN7qEBMzkAIT7pBh9nGK0X8FKs4hTDoHMHJ8qpdqN1LQydbIoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1596-6eKd1ZN2rVzHaexHvsJv353jMb4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=77805041-c04c-4032-9a06-6124845594f3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1596-6eKd1ZN2rVzHaexHvsJv353jMb4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13521" it="0" lt="13521" ct="0" ts="1587564491692" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1586-KeIxk7LjbMgtxhDEh3YAi0bLl4rGVK2-ymT5-bSsgJ0Vq0q-bsqmOwfYy9-16Ins-8Qc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1588--OYIScirV8H3XKbfuldRXDHzRJsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=569a7138-dafb-4eef-9123-323e7830a5e6</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1588--OYIScirV8H3XKbfuldRXDHzRJsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="2477" it="0" lt="2164" ct="22" ts="1587564503051" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-83" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.207+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NjEyNTFkY2EtZTEyMy00ZDdiLWE5NmQtZmVlMzgwOTRjNDNi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1565-Fs5-FHo6qAgoXbj39xDuPp6Egeoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2452" it="0" lt="2140" ct="1" ts="1587564503076" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-82" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.208+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YzYzNTQ3ZWUtYmY4NS00YTdlLTllYjUtMjUyZTNlZWQ1ZWZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1599-LdxXB8xSBeXBQ8I3K2-nTlcKadEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2474" it="0" lt="2161" ct="19" ts="1587564503055" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-54" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.209+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTM3OTNjY2MtNmZjYy00ZmY5LTk4NWEtZmNhMjdhNDlkMjM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1522-o3gGpvhjzgnon2IMCgZKUA8VQ1sc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2465" it="0" lt="2153" ct="7" ts="1587564503064" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-41" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.205+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=OTUyYWI0M2ItNTFhZS00MzAwLTkyMDEtZDFlZGY3Nzg1ZTk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1584-J-lhSqi9JkobVhTLM5ciYzFXfJIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2504" it="0" lt="2189" ct="46" ts="1587564503027" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-50" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.207+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=OTM5OTc0YjctM2U3YS00Yjc1LWE4ZTYtMWQzYmI2Y2E1YjE3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1576-Acc-GW-Qs3ri-pe3s5EYTssr60sc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2466" it="0" lt="2154" ct="6" ts="1587564503065" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-93" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.208+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YjQ0NTdiMDUtODJmZC00MjE1LTg2YmQtNjI0YWEwNzY4N2Y3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1578-Ex1iS2XaSPVZoJIlkoCypdqelmoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2490" it="0" lt="2175" ct="32" ts="1587564503042" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-33" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.209+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NmIzODdjYTgtM2ZlMy00MWMyLTk5YTEtZTlmMWZhYjI2OWI4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1557-oh6GZAEYHyJk-BjPSi-SJ25sqRoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2502" it="0" lt="2186" ct="42" ts="1587564503031" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-19" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.208+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MzI2NzhkYzgtYWY3MC00MWE5LThiODgtMjFhNmVkZTJiZjNk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1586-vqAVWCacUFfRnfX5WAPFsOiq8aAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2457" it="0" lt="2144" ct="1" ts="1587564503076" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-29" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.214+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MjYzY2MwNTItNTFhMy00NTQ2LWEzYmUtMzUwODMwZTMyMmUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1555-kqssU7ro9qmbHthIf89C8L-CYcYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2510" it="0" lt="2193" ct="51" ts="1587564503024" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-62" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.210+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YTBhODQ1MGUtNzY2My00YWI4LWI3YTYtZTFmZGU5YjI3ZmVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1580-mtsrK6eDUjxyF02oaxrG9rsYQ6Ic7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2464" it="0" lt="2150" ct="1" ts="1587564503070" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.211+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MDUwOTFjYWYtNTJmOS00ODlkLTk1ZmQtYTE1NGMyZjA4ZjUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1556-vylO0u01wUg2k21WvDBBolDf8aEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2469" it="0" lt="2155" ct="6" ts="1587564503066" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-4" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.208+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YjhkMWQ1MzAtNmRkYS00MjUwLWIyMzctYjE3Y2JmZDA4MWZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1529--0RZRImRhLgj6o0L1R7tHzXi8yoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2513" it="0" lt="2513" ct="53" ts="1587564503022" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-7" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.218+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NDMxYzJhNDQtMzI2My00ZjFkLTkyNzgtOGExM2E1ZTc0OWJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1544-qxyO2e9bdLsV9vzxVmkWQCWT5fIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2468" it="0" lt="2152" ct="3" ts="1587564503068" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-85" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.212+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MWUxMTE1NGMtYTdmNy00M2EyLWIyODAtMTAzNDEzNmZmMGNh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1612-DGWi056noim9YnXJw6qNRfgJcMgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2475" it="0" lt="2475" ct="11" ts="1587564503061" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-18" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.218+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YjMwMTA1NjgtMGRlMi00Mzk4LWE4NjQtOGQxNTM1ODUxYjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1559-np2w9CxoQ-63WBeSy6AOVUlgzXoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2466" it="0" lt="2146" ct="2" ts="1587564503070" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.208+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=Mjc0MzRjMzktOTY2NS00NGUzLWE4OTUtZGM4ZGE3ZDRkOTYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1558-fY0BApA4CtjVzxHdBBIPtMNTy8kc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2489" it="0" lt="2171" ct="24" ts="1587564503048" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-13" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.213+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmQ1YWJiM2YtYjk0Ni00OTc3LThmYzYtZDkxNzczNWFjMTYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1520-A0dYgIk4ed1p8o7r6TipCshAVnsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2466" it="0" lt="2466" ct="1" ts="1587564503071" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-65" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.214+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=Mzc0OWM4YTYtOTkyNy00NzFkLTgxZWQtNjA3ODNlM2Q5NjU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1543-0l4rN3v2gD9rD7w4UCcCMPFeN0kc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2485" it="0" lt="2166" ct="20" ts="1587564503053" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-23" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.213+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MzdlNjZlNzEtNjBmNy00NDlkLWE2NjAtMjg5NjU1Y2M4NjBl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1590-pff6VIUfhkxUd7YLBPfA8CB7Kfkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2474" it="0" lt="2464" ct="9" ts="1587564503064" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-43" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.217+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MWY3NTg3MjQtNDUyZi00ODA3LWI4OTEtODA5ZGZhMTRiYjlk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1531-Y39r-3sViJX4kpmcEBj6SYdWcrEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2483" it="0" lt="2483" ct="17" ts="1587564503056" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-77" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.216+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ODNhNGJlOWEtZGQ0Zi00YTg4LWE3MWItODI2YTExZmUyZjgz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1597-gMWllFN2Uy0AXKVVTHJfxyd-Phoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2481" it="0" lt="2470" ct="14" ts="1587564503058" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-96" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.219+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YTNiYzY3OWQtMDMzMS00YmY5LWFiODgtMzkyMjQ3YTVhMjAz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1564-e9tB5ARvTQTI9oajgspIMjlE23Ic7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2481" it="0" lt="2158" ct="14" ts="1587564503059" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-74" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.205+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NTVlNmY0MmUtYWQ0My00NjljLWJjMTQtZWVmOWJhMmZkOTFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1600-fvgNGPw1SM6sP8m9pKhLa--H7dwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2477" it="0" lt="2464" ct="10" ts="1587564503063" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-89" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.214+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MjAwNjBkZGUtZmViYS00YWU5LWIwYWQtYWE4NDdlZDdlMWVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1594-HNDQbKhbzNNsyOQCFd-qweoW5E4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2484" it="0" lt="2471" ct="18" ts="1587564503057" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-94" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.215+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=OTAyYjYyZTMtNGZlZS00MjBjLTljNzAtOWRhZmYxNGM3ZDAy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1517-M9wtIniYKUQR4Bj7SyFXpWDOnjkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2521" it="0" lt="2199" ct="55" ts="1587564503020" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-48" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.207+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NDFlOGUxMmMtZjI0ZC00OGU3LWE2OTktZDZmM2UyOTE4MzIz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1547-SuNkdrXRaba6qjjLEaYO5VxH8qAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2464" it="0" lt="2450" ct="1" ts="1587564503077" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-91" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.214+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NTU3YTQ1ZjgtZDY0Mi00OWY1LTgyOWItMTZmMTg4MzU1ZjY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1604-8-NSwSk8xkRwSO4-iW6GyLDkyOgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2513" it="0" lt="2190" ct="45" ts="1587564503029" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-61" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.211+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ODVlMDAxM2EtZmFiOS00ZjE0LWIzNjEtYTMyY2QyMDY3N2U5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1528-rSYRqVHpx7otuy3rsXt9AKNEXysc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2471" it="0" lt="2456" ct="3" ts="1587564503071" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-10" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.211+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YmIwYjMyOWItMjVlYy00OGNhLWFkYTktYTg2NWQxM2ZmOTli</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1545-4HjTaMvwTd5eIH7-n9lZmwEZYcoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2495" it="0" lt="2495" ct="24" ts="1587564503048" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-90" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.217+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MmU0MzhhOWItZWM4MC00NWU4LTlkM2ItNTFmNDk3ZmFiODU0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1606-BsmCDQj8sqUWx3ZzsgQYHBbp4JMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2494" it="0" lt="2478" ct="23" ts="1587564503049" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-88" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.215+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YjdlM2EwZjctYmEyNS00Mzg2LTlkNjgtZmNmMzBkOTA3ODQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1595-bJahTDw-T-ntWvvvKvXQ2sm31FUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2460" it="0" lt="2148" ct="2" ts="1587564503069" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-11" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.209+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MzMzMWM3ZWYtMDJkNC00MmYwLThkMmYtZTY0MzdmZWRiMjkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1526-O3BUhjXeeMKviODuv2Tc21DqjK8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2498" it="0" lt="2173" ct="29" ts="1587564503046" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-58" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.209+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YTZjNmU0NmMtMzZjYi00Mzg5LWI3OTgtMjhhYTYwZjRmZWVj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1532-hxvjhprNNNAboeAduEBqFGEct4gc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2466" it="0" lt="2449" ct="1" ts="1587564503078" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-35" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.216+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmQ1ZDVhOWYtNDFhMC00MzIzLWI3MmUtNjVmMjQ0YjgzNWIy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1521-aBHhr3DN5JZjIeecOoLc6j92NdEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2515" it="0" lt="2515" ct="44" ts="1587564503030" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-76" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.213+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MTFhZDkyNDktZWMyNS00NTY2LThiMjctMmQ3NmUwOTI0NDE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1610-gHmL2L5MctSuZN6IX8lmkX-ahCwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2492" it="0" lt="2165" ct="20" ts="1587564503054" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-80" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.212+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MDlkMmVlMTMtOTQ4Yi00ODg2LThjZmQtOTEzYjM2NDZkMThm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1611-LcYJ6wn48FsZbKi6XyCmBhDmTYAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2518" it="0" lt="2190" ct="45" ts="1587564503028" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-9" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.210+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YjUxOGQ3NDgtYjRmYi00Mzg4LWIwNmUtYTJkOTYyYjhmYjY1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1581-WaD0CTq13F2AcQ-mMv07-SjyKGAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2491" it="0" lt="2161" ct="16" ts="1587564503056" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-40" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.211+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmJjYmRiMjMtZTAwMy00MTM4LWFiMTgtMWM3NDYyMzc2NDJl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1540-UUerDnFLkmRLo4Hk0m-g4FJ5ZVsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2501" it="0" lt="2171" ct="25" ts="1587564503047" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-15" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.211+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YjdhZGE4ZDgtMGIwZC00NjJmLWIxM2MtZmEzYzgwZDM1ZDMy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1535-nuiF8lWddLtkTuH8pHKGqzVeUJkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2480" it="0" lt="2480" ct="5" ts="1587564503069" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.209+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NmZkOTFkZjgtYWFhMS00MzVmLTgxY2YtYWE5NWZjMzVhYmEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1607-MHm2xgbTnpJZRPdlqs8WQtzBDsYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2489" it="0" lt="2158" ct="12" ts="1587564503060" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-97" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.212+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YzE2ZDM5NzUtM2Q0NC00MzY1LWE4MDUtOWMwOTQ2ZmUzMDE2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1605-lBkLEDZLgr-kTTwqYFfxZkiLJHYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2490" it="0" lt="2469" ct="13" ts="1587564503060" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-14" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.214+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NGMzMmY1ODktOTg2MC00MTE0LWI0YzgtNmZhMjk3MDg5MWU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1542-7dxjkKK9StnAlyToWky4hiwcESMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2486" it="0" lt="2157" ct="8" ts="1587564503065" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.210+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NTBmMzdmNGEtMjFiOC00YzljLTg1YzYtNjE5OTg2NjQ5MzMy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1570-JyJ4YKIN0tOEc7melNqgDORXMFoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2526" it="0" lt="2195" ct="48" ts="1587564503026" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-34" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.209+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGVjOWE4MjEtZDFjNC00ZTFkLWI0OGYtY2YxYjg2YzZjMjk0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1577-Nm7kBOphRrLE5AeJS-EMo8QQlWkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2487" it="0" lt="2461" ct="6" ts="1587564503066" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.215+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YmNkODNiMmMtZGZkOC00ZjlmLWJjMmEtYzY5NTJlMzAyMjNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1516-FywgV9vJByitCBnOALc7M9ifX8Ic7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2486" it="0" lt="2461" ct="4" ts="1587564503068" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-100" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.219+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MDk4ZDJiN2MtMTIzYS00YWYxLTk3YTMtY2UxOThlZWE1Yjk4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1603-SQTOpAx4sBzhS1fTxc-PzN43v8kc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2492" it="0" lt="2465" ct="11" ts="1587564503062" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-75" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.216+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MzBhOWFlYjktNjRkMy00ZGM1LWFlMDEtMjUyMTk1NmExOTYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1593-b-gjZzxCJjBs5g7PRbtbLJPVWpIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2488" it="0" lt="2462" ct="6" ts="1587564503067" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-1" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.217+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YjRlY2ZkZmYtMzJhMi00ZTNlLTkzZjgtOTRmMzRkMjYwNDM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1562-tshyzc5Xbhb8EMSVWCPf2dSbltUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2504" it="0" lt="2475" ct="20" ts="1587564503052" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-72" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.214+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MGY1MmQ5ZTYtOTcxMy00NTZkLTliZGItOTgwZmM3Yzc4ZGJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1568-K1OxPcjr-y3XiU-2V5J-EigsslUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2489" it="0" lt="2459" ct="7" ts="1587564503068" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-78" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.216+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGI5MjQ4ZWItNTY2MC00N2EwLWExMzctMTdjMWExOWUyMjli</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1613-r4m2CVgcrlFMeKgtMYPUsyJo7Ukc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2507" it="0" lt="2171" ct="22" ts="1587564503050" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-81" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.213+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NmJkOWQ0NmMtNjdlZC00ZTFjLWI5ZWQtNzJlY2YxZDE5MmRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1598-2jdsLW6Y6T-wm6Of0eWMOSbLIZkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2494" it="0" lt="2169" ct="24" ts="1587564503050" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-55" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.213+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MTcxYWI0MzktYmFkNy00Mjk2LWJiODEtZWU4OGI5MTc2ZjNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1560-p7oDjuZ0OOVRndJjVroQBA-OAiMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2515" it="0" lt="2483" ct="28" ts="1587564503044" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.217+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2QzZDUwZjgtNWM2Ny00MmE1LTlhMjgtYTIxMjI0MzliZTFi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1534-X6nfPigNJbvmwCx5eiUIUCEpZ2sc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2537" it="0" lt="2506" ct="51" ts="1587564503023" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-52" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.205+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmM5MjlhNjItY2FiNi00ODkzLTliMmQtMjZjMDZjYjliNjk1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1552-iYfTCSJrNG-Wzf5Pw-qqYEY6bOsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2498" it="0" lt="2469" ct="11" ts="1587564503063" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-71" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.212+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=OGJjZjY1MjgtMTgyZC00ODM1LWE3YWYtMGE0M2M4ZGYzMzM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1609-Uk4xvPGQaq5k6v-FGS285o12OEsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2475" it="0" lt="2475" ct="8" ts="1587564503066" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-68" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.216+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MmE2YzFkZTAtZjMwMi00YmEyLTg3NjktZDAzODRiOWE4ZmJk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1608-0MMCF2F7zYQkoOMBD4EFs8Vka0Qc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2470" it="0" lt="2458" ct="4" ts="1587564503070" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-21" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.207+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=M2E2N2QzMzctMWU4OC00YWMwLTk1MjYtYmJkMTMzOWU1MTdk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1563-2k6E7AKVHWRWqUcV2YVkUUZzqHsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2512" it="0" lt="2193" ct="49" ts="1587564503025" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-30" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.205+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YTcyMmYzMTQtNDkwOC00ZTUxLWE3YmUtOTkxZDVmZWU0OTI0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1550-AVJYEjK-HR0QVZ4JRE2y4YUHoX4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2492" it="0" lt="2492" ct="31" ts="1587564503043" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-98" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.219+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NzdkZTJmM2QtOTJjZi00YjkyLWFmMmMtMTdlNDVkNjE5ZjQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1583-VULV2HYmTIG-240ulKEQjWGHffsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2467" it="0" lt="2153" ct="4" ts="1587564503067" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-37" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.210+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=OGY3NDJkZjAtMmMyMy00ZTgzLTk0ODQtMTAxYjY5NzIxYWRh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1585-i-awXQqbnbShpfkXBvIXrSCoU2sc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2522" it="0" lt="2485" ct="33" ts="1587564503042" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.215+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDU1OTIzZGYtNjAzMS00ZjFjLTk3NzYtOTk3YTEwMzFmYTU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1537-c3zzaGYz-oOKXyypifhWEodNdS0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="15614" it="0" lt="15614" ct="0" ts="1587564490162" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1527-4M4IMLfGCTnYlRT5apSLSnqJKq1VwyKtfSG9HM5vSY5JNBhk56rFvMjWr1Z5XGt3dYsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1518-jTITohEt5PiTYJJhXU2pU-wVsKYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6dba496f-f17c-478c-8880-0c5e0e46c077</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1518-jTITohEt5PiTYJJhXU2pU-wVsKYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="335" it="0" lt="335" ct="13" ts="1587564505533" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzliMzViYjYtMzI4Yi00YTcwLWFhNmYtNjg2ODMwOGI3YTYz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="307" it="0" lt="307" ct="3" ts="1587564505562" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTAzMDNmOTUtZjkyZi00Njc2LWI2OTctMzIwYWIyYzE1Yjgy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="331" it="0" lt="331" ct="7" ts="1587564505539" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGRmNDU0ZDMtYmI5ZS00MTBlLWJmMDctOTExYmZhZDgxNDM5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="311" it="0" lt="311" ct="7" ts="1587564505559" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjNkZTkwZjUtYWVhZS00OTlhLWJhZGMtY2I5ZWMzYWFmNGVm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="339" it="0" lt="339" ct="15" ts="1587564505531" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzBkOTZjNmUtNzQ2YS00NWRiLTg0MzQtNjVlNGFmZTJkYmVi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="327" it="0" lt="327" ct="2" ts="1587564505544" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjQ2NjVlZTktOTNhYi00ODNiLWIyYjYtMGQyYmEyMzY2ZTEy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="324" it="0" lt="324" ct="18" ts="1587564505547" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTQ1ODdjNTYtZDNiYS00ZTg1LWIxYzEtODk1OGVkYTE3YTY5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="340" it="0" lt="340" ct="14" ts="1587564505532" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDhhODgwNjUtOTViMS00N2U4LTg0YzctNjMzYjE5M2NhOTVk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="313" it="0" lt="313" ct="6" ts="1587564505559" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjY1NmM5ZWMtMjYyMi00MDVjLWI5YWUtMGI1OTQ0N2FhMTRj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="310" it="0" lt="310" ct="1" ts="1587564505563" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTgxZjFmNzUtNzMzZi00ZWNlLWEyMjYtOGZiMzI1MTg0ZTFm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="333" it="0" lt="333" ct="26" ts="1587564505540" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjVhOTdlYjgtZDNlMC00M2Y2LWE3YzYtYWNlMTZmM2U0MzVh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="335" it="0" lt="335" ct="6" ts="1587564505539" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTg5YzNlYWEtMTE5Ny00NTI5LWFjNjctNWFjNDFhZWM0MTBh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="323" it="0" lt="323" ct="15" ts="1587564505551" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWNiOGQ3ZjEtN2NmOS00ZTZlLWEzZGMtOGQ4NmZmZWVmMjg2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="331" it="0" lt="331" ct="2" ts="1587564505543" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGI1N2Q5NGUtZDI5Ny00YTc2LWE1NjMtNTQ1Zjc5MzYxYWE3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="311" it="0" lt="311" ct="2" ts="1587564505564" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjFmYzJjOTMtMWNhYi00NDliLTlhNTAtYzQwYTRlYWM5Zjg0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="313" it="0" lt="313" ct="1" ts="1587564505562" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWFhZTdkZDItMmFmMy00MGM1LTg2ZjAtYmZhZjQzNTlmYmE0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="327" it="0" lt="327" ct="17" ts="1587564505549" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmVjZTM0OWItNTk3MC00MjhmLWFkNDktYmEyZGYyMWU2ZjBi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="346" it="0" lt="346" ct="16" ts="1587564505530" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWI3YmQ3YWUtZWFlYi00YzkwLThmMDktMzQzNWViNDk5ZjM0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="330" it="0" lt="330" ct="21" ts="1587564505546" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTlmZTY1YWQtMjZhZi00MjM1LWE2YzctNjY3MWJmM2ExYjFh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="341" it="0" lt="341" ct="10" ts="1587564505536" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDVlMzgzZmUtNjNiNi00NGZhLWE0YWYtNzY5ZWYwM2VmNzNj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="339" it="0" lt="339" ct="28" ts="1587564505538" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjAxNTk3ZGItMzNhMy00MjQ5LThiYzgtN2ZmZDdiODhhYjVj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="337" it="0" lt="337" ct="6" ts="1587564505540" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDM1YWRhNmUtNjkwOC00MTUyLTgxYTItN2Q4NWE1NzAxZjY3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="337" it="0" lt="337" ct="25" ts="1587564505541" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWQ4ZWY1MzctZGNlZi00NzM3LThkZjktNzlhODY2OWMwMDM0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="340" it="0" lt="340" ct="8" ts="1587564505538" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjVkNjhjOGMtZDRmZS00NjllLTkwNDEtYzIyODI1YTE1NzYz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="337" it="0" lt="337" ct="25" ts="1587564505542" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWQ3OGY4YWUtNDVkZi00MjkwLWI4MTItNmVjNDZmOTgxZWIx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="344" it="0" lt="344" ct="11" ts="1587564505535" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDFiOTBlZTMtODc4Mi00OWM5LWI5NTUtYjlkNTcwMmE1ZTU0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="324" it="0" lt="324" ct="11" ts="1587564505556" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTAwNDM3OWYtNzRhNy00MjBjLTg0OWMtNzM5MWQ4MjNiNzY1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="339" it="0" lt="339" ct="4" ts="1587564505541" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzcxMzdjYzgtYmE4Mi00NWU4LWI4YjYtNDcwMGUxMWIyY2U3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="318" it="0" lt="318" ct="5" ts="1587564505562" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTI0NzI3ZjAtNjQzMi00MDc2LTk1ZDAtZTdmODAyY2I0NjBj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="339" it="0" lt="339" ct="4" ts="1587564505542" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWQ2MDA1ZDctOTc5MS00NjY1LWEzNmEtYzU5YjljYWFlNTA5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="316" it="0" lt="316" ct="2" ts="1587564505565" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWVmOTEzN2EtZWVkYi00M2FlLWE2ZmQtYWFjNGE2ZmNiMzBl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="326" it="0" lt="326" ct="11" ts="1587564505556" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWE4Y2M4YjctYTk4NC00ZDcyLWJjMTYtNzFjYWQxYTYwMTc2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="346" it="0" lt="346" ct="30" ts="1587564505537" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWYwNTFkNGQtNWQxZS00NTc3LWFhYWItYWMxNmNlY2U0NTYx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="352" it="0" lt="351" ct="36" ts="1587564505532" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGVmOWQwNmYtZGNmZi00ZDAxLWI3ZWUtMzhjZTE0ZGUzNWM4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="331" it="0" lt="331" ct="15" ts="1587564505553" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2NmN2VlZDUtNzQzNy00MmNkLWI0ZGItNDE1ZjhkODlkOGJm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="328" it="0" lt="328" ct="11" ts="1587564505557" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjgzODU3ZjgtYTAwZi00NzRiLWI2NDktZTBlYjAzNTNiMDFh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="352" it="0" lt="352" ct="34" ts="1587564505534" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWFmOGVkZGUtN2U1MC00ZDgxLWIzODktNTc2YzI3ODcwYTVh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="326" it="0" lt="326" ct="7" ts="1587564505561" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDdkN2JiNmUtOWQyNC00ZjNjLTliZTItNmQ4NmE0YzM0Mzc0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="325" it="0" lt="325" ct="5" ts="1587564505563" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzlhOTM5YzgtMDkzMy00OWViLTk3ODAtMjQ2OGUxZjE2MDg4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="335" it="0" lt="335" ct="13" ts="1587564505554" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzI1ZWM1YjgtZmM3My00ZDZhLTgxNGQtMWQ4NmQ5MmE4YjZm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="342" it="0" lt="342" ct="17" ts="1587564505548" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTI2YzE2YzgtMGFkOC00ZDM5LThmYjAtNTg1N2E5YWRkNTA3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="339" it="0" lt="339" ct="15" ts="1587564505551" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmQ2Yjc4YTctMzk2YS00MGZkLWFiMjktY2YzMDAyZTA2Mjc2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="352" it="0" lt="352" ct="29" ts="1587564505539" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGE2Njk4YjEtMTFkNC00ODdmLWI3NDYtMDM2NzgwMmQyYTQ4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="342" it="0" lt="342" ct="15" ts="1587564505550" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTQ4ODcxMDMtM2YzZC00ZWMzLTgxNDctMDBmNmUxZTllZjM5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="348" it="0" lt="348" ct="22" ts="1587564505545" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmVmZjBlNmItYWRlZC00MmQ1LWJiOGMtZjdmYjEwNWJlYzJh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="350" it="0" lt="350" ct="24" ts="1587564505543" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDVmMDlkMDQtYTE2MS00NjhlLWIwNTEtZGE5ZGM1NDJiMmI4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="342" it="0" lt="342" ct="14" ts="1587564505552" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzdjMGJiZjctOTRhMC00Yjk2LWIzMmMtNTIxYmQwNDk5ZmM4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="337" it="0" lt="337" ct="8" ts="1587564505560" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTU3NmU4MTAtZmJjNi00OGNlLWI4ZGYtYTVmN2MwMjExN2U1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="339" it="0" lt="339" ct="11" ts="1587564505558" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWViYWNmNmEtZTE2Zi00MmE3LWE1NjEtN2MwOTIyZjllZjUz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="343" it="0" lt="343" ct="12" ts="1587564505555" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzhmN2NkMzctMmEyNy00NGFjLThiYTMtNTg5MWNhNTFkMjYy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="366" it="0" lt="366" ct="35" ts="1587564505533" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDVmOTJiNTktNmIxOC00NTQ4LWJmYTUtNWU1YTVhYzk2NWY1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="370" it="0" lt="370" ct="39" ts="1587564505530" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjcwYjlhZTYtYWI3MC00MDk1LWIwZTUtNWQyMzEzYmJiYTNj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="332" it="0" lt="332" ct="1" ts="1587564505568" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDAxMDUyODEtYTgzNy00ZTM4LWFkY2YtMDk1YTI5NTc3YjJj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="335" it="0" lt="335" ct="3" ts="1587564505566" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTYyM2FhYzYtMGZmZS00MmE0LTg5OWEtZTMwNDkxMWMzNDY1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="338" it="0" lt="338" ct="5" ts="1587564505564" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWFhMTBhYTUtMDM0ZS00ZTZhLTlkMDktMzY2ODQ4M2NmMTky; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="324" it="0" lt="324" ct="22" ts="1587564505544" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDM1MzY3NTItODA4OS00MmY5LTlhNzQtZTcyMDA5NDMxMDk0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="341" it="0" lt="341" ct="8" ts="1587564505537" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTE4Yzc3NjItODdkMS00NzVjLTk1ZmQtN2EwNWVjNTI0N2Nh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="331" it="0" lt="331" ct="1" ts="1587564505545" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWM4NWQzY2YtYWNjOC00NTJjLThiZjAtMGFkYWNlMWMwYTc3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="332" it="0" lt="332" ct="3" ts="1587564505543" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGI2MGRkMWMtMmIyMS00OTg1LWFkYWYtZjQxNDMyNjVmODU1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="338" it="0" lt="338" ct="10" ts="1587564505535" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODIzZjE2OTYtNTFmMC00MzkyLTllZTItNWZiNWFiNDE2MzQ4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="2990" it="0" lt="2302" ct="1" ts="1587564502905" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-5" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0ec566fd-9453-4e81-b5c5-11988bc3a6a7; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="427" it="0" lt="427" ct="32" ts="1587564505536" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTliNGNlZWQtYWVlNS00M2FmLWJjYjktMzA3Nzc2Njk0YmJj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="2896" it="0" lt="2896" ct="1" ts="1587564503068" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTM1ZmU3ZTItN2EyMC00YjIxLWJiODAtZTcyNWY2MGJjMGFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1527-aNuRQzrfIo2OsVQTs1TwEf26BVIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2943" it="0" lt="2943" ct="17" ts="1587564503022" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzRkMmVkY2ItMGZhNi00ODIxLWI2ZjMtZjdhY2M4MTk1MDNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1573-L4ZoV4IBrGO-b-GmvDZPKL6lfIEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2909" it="0" lt="2909" ct="2" ts="1587564503061" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDkyZTU1NGQtYmMyNi00NDI1LTlmMmEtZDYwNzZkYzI3MDIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1567-O-NS4kr6u4c-7Ks6mtMgobwXfZAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3066" it="0" lt="2626" ct="1" ts="1587564502903" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-45" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=1ac1387d-5cd1-405f-b526-8320e78e9f51; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="2928" it="0" lt="2928" ct="1" ts="1587564503050" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDIyNTI5ZDMtZTU0Zi00OGY2LWExMTYtMjUwMjRiMWM1OTg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1539-THO5pTPrNpTyZJ4dV9VaskhvJMAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="108" it="0" lt="108" ct="0" ts="1587564505875" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWFhZTdkZDItMmFmMy00MGM1LTg2ZjAtYmZhZjQzNTlmYmE0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="110" it="0" lt="110" ct="0" ts="1587564505874" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjVhOTdlYjgtZDNlMC00M2Y2LWE3YzYtYWNlMTZmM2U0MzVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="115" it="0" lt="115" ct="0" ts="1587564505870" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGRmNDU0ZDMtYmI5ZS00MTBlLWJmMDctOTExYmZhZDgxNDM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="110" it="0" lt="110" ct="0" ts="1587564505875" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjFmYzJjOTMtMWNhYi00NDliLTlhNTAtYzQwYTRlYWM5Zjg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="117" it="0" lt="117" ct="0" ts="1587564505869" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzliMzViYjYtMzI4Yi00YTcwLWFhNmYtNjg2ODMwOGI3YTYz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="104" it="0" lt="104" ct="0" ts="1587564505882" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWVmOTEzN2EtZWVkYi00M2FlLWE2ZmQtYWFjNGE2ZmNiMzBl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="2962" it="0" lt="2962" ct="13" ts="1587564503025" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWMyZmZkZjktMTQyYi00NzQwLWFjYjItOGRjYTk3NTg5MWMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1589-M9o2c-ZyDJkdFWqy4Uq-M1KWVPMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="107" it="0" lt="107" ct="0" ts="1587564505880" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTAwNDM3OWYtNzRhNy00MjBjLTg0OWMtNzM5MWQ4MjNiNzY1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="113" it="0" lt="113" ct="0" ts="1587564505872" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTQ1ODdjNTYtZDNiYS00ZTg1LWIxYzEtODk1OGVkYTE3YTY5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="110" it="0" lt="110" ct="0" ts="1587564505877" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDVlMzgzZmUtNjNiNi00NGZhLWE0YWYtNzY5ZWYwM2VmNzNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="98" it="0" lt="98" ct="0" ts="1587564505890" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTI2YzE2YzgtMGFkOC00ZDM5LThmYjAtNTg1N2E5YWRkNTA3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="2958" it="0" lt="2958" ct="9" ts="1587564503030" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjViNDJkN2ItMzAyYy00NDBhLWE5YWUtNmVlMGYyYjRjMDBk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1587-BtKN7o1mHCxZ52uFUKxACkDPcFoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="100" it="0" lt="100" ct="0" ts="1587564505889" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzI1ZWM1YjgtZmM3My00ZDZhLTgxNGQtMWQ4NmQ5MmE4YjZm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="2927" it="0" lt="2927" ct="1" ts="1587564503062" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmY5MjQzYzEtZjZhZi00YmFhLWE2OTMtY2I5YzFmYjgwNGE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1525-nebMqD8So-1ua6TO9bKwNpMcrLUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="97" it="0" lt="97" ct="0" ts="1587564505893" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmVmZjBlNmItYWRlZC00MmQ1LWJiOGMtZjdmYjEwNWJlYzJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="115" it="0" lt="115" ct="0" ts="1587564505875" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGI1N2Q5NGUtZDI5Ny00YTc2LWE1NjMtNTQ1Zjc5MzYxYWE3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="112" it="0" lt="112" ct="0" ts="1587564505879" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWQ4ZWY1MzctZGNlZi00NzM3LThkZjktNzlhODY2OWMwMDM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="117" it="0" lt="117" ct="0" ts="1587564505874" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTg5YzNlYWEtMTE5Ny00NTI5LWFjNjctNWFjNDFhZWM0MTBh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="101" it="0" lt="101" ct="0" ts="1587564505891" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmQ2Yjc4YTctMzk2YS00MGZkLWFiMjktY2YzMDAyZTA2Mjc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="121" it="0" lt="121" ct="0" ts="1587564505871" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjQ2NjVlZTktOTNhYi00ODNiLWIyYjYtMGQyYmEyMzY2ZTEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="94" it="0" lt="94" ct="0" ts="1587564505899" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzhmN2NkMzctMmEyNy00NGFjLThiYTMtNTg5MWNhNTFkMjYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="117" it="0" lt="117" ct="0" ts="1587564505876" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWI3YmQ3YWUtZWFlYi00YzkwLThmMDktMzQzNWViNDk5ZjM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="2963" it="0" lt="2963" ct="7" ts="1587564503031" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODE0N2E5Y2ItNDk3YS00OWFlLWIxODYtOThmNzhkNGU0YzI2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1572-SN1WDPsWIQpXqKPQ0EpEJYXTh04c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="106" it="0" lt="106" ct="0" ts="1587564505888" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDdkN2JiNmUtOWQyNC00ZjNjLTliZTItNmQ4NmE0YzM0Mzc0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="122" it="0" lt="122" ct="0" ts="1587564505873" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTgxZjFmNzUtNzMzZi00ZWNlLWEyMjYtOGZiMzI1MTg0ZTFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="109" it="0" lt="109" ct="0" ts="1587564505886" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjgzODU3ZjgtYTAwZi00NzRiLWI2NDktZTBlYjAzNTNiMDFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="91" it="0" lt="91" ct="0" ts="1587564505904" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWM4NWQzY2YtYWNjOC00NTJjLThiZjAtMGFkYWNlMWMwYTc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="117" it="0" lt="117" ct="0" ts="1587564505879" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWQ3OGY4YWUtNDVkZi00MjkwLWI4MTItNmVjNDZmOTgxZWIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="93" it="0" lt="93" ct="0" ts="1587564505903" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTE4Yzc3NjItODdkMS00NzVjLTk1ZmQtN2EwNWVjNTI0N2Nh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="94" it="0" lt="94" ct="0" ts="1587564505903" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWFhMTBhYTUtMDM0ZS00ZTZhLTlkMDktMzY2ODQ4M2NmMTky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="92" it="0" lt="92" ct="0" ts="1587564505905" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODIzZjE2OTYtNTFmMC00MzkyLTllZTItNWZiNWFiNDE2MzQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="95" it="0" lt="95" ct="0" ts="1587564505903" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDM1MzY3NTItODA4OS00MmY5LTlhNzQtZTcyMDA5NDMxMDk0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="118" it="0" lt="118" ct="0" ts="1587564505880" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDFiOTBlZTMtODc4Mi00OWM5LWI5NTUtYjlkNTcwMmE1ZTU0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="122" it="0" lt="122" ct="0" ts="1587564505878" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjAxNTk3ZGItMzNhMy00MjQ5LThiYzgtN2ZmZDdiODhhYjVj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="2971" it="0" lt="2971" ct="9" ts="1587564503029" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzhlNTEyOWEtZjljNy00NmIwLTk4MTUtNWM4ZTcyOTIzY2Qw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1541-jjGDBQluzeNtuR2G1Xms41t2MRUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="37" it="0" lt="37" ct="0" ts="1587564505964" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTliNGNlZWQtYWVlNS00M2FmLWJjYjktMzA3Nzc2Njk0YmJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="109" it="0" lt="109" ct="0" ts="1587564505879" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjVkNjhjOGMtZDRmZS00NjllLTkwNDEtYzIyODI1YTE1NzYz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="116" it="0" lt="116" ct="0" ts="1587564505885" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2NmN2VlZDUtNzQzNy00MmNkLWI0ZGItNDE1ZjhkODlkOGJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="119" it="0" lt="119" ct="0" ts="1587564505881" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWQ2MDA1ZDctOTc5MS00NjY1LWEzNmEtYzU5YjljYWFlNTA5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="132" it="0" lt="132" ct="0" ts="1587564505870" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTAzMDNmOTUtZjkyZi00Njc2LWI2OTctMzIwYWIyYzE1Yjgy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="111" it="0" lt="111" ct="0" ts="1587564505892" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTQ4ODcxMDMtM2YzZC00ZWMzLTgxNDctMDBmNmUxZTllZjM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="116" it="0" lt="116" ct="0" ts="1587564505888" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzlhOTM5YzgtMDkzMy00OWViLTk3ODAtMjQ2OGUxZjE2MDg4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="128" it="0" lt="128" ct="0" ts="1587564505877" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTlmZTY1YWQtMjZhZi00MjM1LWE2YzctNjY3MWJmM2ExYjFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="2946" it="0" lt="2946" ct="1" ts="1587564503059" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmMwMTdjMjAtZjY3Ni00N2U2LTg1OWYtMGNjNWZlMzQ4NzZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1579-mUqRqgHkm9D26FARztvEnG9ZBCAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="109" it="0" lt="109" ct="0" ts="1587564505897" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTU3NmU4MTAtZmJjNi00OGNlLWI4ZGYtYTVmN2MwMjExN2U1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="134" it="0" lt="134" ct="0" ts="1587564505873" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjY1NmM5ZWMtMjYyMi00MDVjLWI5YWUtMGI1OTQ0N2FhMTRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="108" it="0" lt="108" ct="0" ts="1587564505900" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjcwYjlhZTYtYWI3MC00MDk1LWIwZTUtNWQyMzEzYmJiYTNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="115" it="0" lt="115" ct="0" ts="1587564505894" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDVmMDlkMDQtYTE2MS00NjhlLWIwNTEtZGE5ZGM1NDJiMmI4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="115" it="0" lt="115" ct="0" ts="1587564505895" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzdjMGJiZjctOTRhMC00Yjk2LWIzMmMtNTIxYmQwNDk5ZmM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="127" it="0" lt="127" ct="0" ts="1587564505883" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWYwNTFkNGQtNWQxZS00NTc3LWFhYWItYWMxNmNlY2U0NTYx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="110" it="0" lt="110" ct="0" ts="1587564505901" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDAxMDUyODEtYTgzNy00ZTM4LWFkY2YtMDk1YTI5NTc3YjJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="33" it="0" lt="33" ct="1" ts="1587564505979" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDIyNTI5ZDMtZTU0Zi00OGY2LWExMTYtMjUwMjRiMWM1OTg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="115" it="0" lt="115" ct="0" ts="1587564505898" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWViYWNmNmEtZTE2Zi00MmE3LWE1NjEtN2MwOTIyZjllZjUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="44" it="0" lt="44" ct="1" ts="1587564505970" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDkyZTU1NGQtYmMyNi00NDI1LTlmMmEtZDYwNzZkYzI3MDIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="132" it="0" lt="132" ct="0" ts="1587564505882" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWE4Y2M4YjctYTk4NC00ZDcyLWJjMTYtNzFjYWQxYTYwMTc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="126" it="0" lt="126" ct="0" ts="1587564505874" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWNiOGQ3ZjEtN2NmOS00ZTZlLWEzZGMtOGQ4NmZmZWVmMjg2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="25" it="0" lt="25" ct="14" ts="1587564505990" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmY5MjQzYzEtZjZhZi00YmFhLWE2OTMtY2I5YzFmYjgwNGE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="129" it="0" lt="129" ct="0" ts="1587564505871" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjNkZTkwZjUtYWVhZS00OTlhLWJhZGMtY2I5ZWMzYWFmNGVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="2987" it="0" lt="2987" ct="9" ts="1587564503029" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzBhNTg5OTItZjJiMS00ZmJiLThmNmYtZDQ3NmU3OTQ5M2Rl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1601-0SBZw2LQQkznXbdunPDNwCpzFsUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="114" it="0" lt="114" ct="0" ts="1587564505902" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTYyM2FhYzYtMGZmZS00MmE0LTg5OWEtZTMwNDkxMWMzNDY1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="108" it="0" lt="108" ct="0" ts="1587564505876" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmVjZTM0OWItNTk3MC00MjhmLWFkNDktYmEyZGYyMWU2ZjBi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="2957" it="0" lt="2957" ct="3" ts="1587564503060" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzkxNzMyNzItNzkzMy00Mzc2LWFjMmUtNjYzOGRmMjJkMDhl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1530-N1u9-uIppSRu3RQlUwRBr3OvEb4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="107" it="0" lt="107" ct="0" ts="1587564505892" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGE2Njk4YjEtMTFkNC00ODdmLWI3NDYtMDM2NzgwMmQyYTQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="2999" it="0" lt="2999" ct="20" ts="1587564503019" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTE5ZmZkNGItYWFhNS00MDcwLWE4ODEtMTMzMWE3NTM1YTA2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1533-dOAtHqg3aJ4qU4BRDrV6q5oxTr0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="109" it="0" lt="109" ct="0" ts="1587564505899" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDVmOTJiNTktNmIxOC00NTQ4LWJmYTUtNWU1YTVhYzk2NWY1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="121" it="0" lt="121" ct="0" ts="1587564505878" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDM1YWRhNmUtNjkwOC00MTUyLTgxYTItN2Q4NWE1NzAxZjY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="2" ts="1587564506005" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmMwMTdjMjAtZjY3Ni00N2U2LTg1OWYtMGNjNWZlMzQ4NzZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="33" it="0" lt="33" ct="17" ts="1587564505987" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWMyZmZkZjktMTQyYi00NzQwLWFjYjItOGRjYTk3NTg5MWMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="20" it="0" lt="20" ct="3" ts="1587564506001" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzhlNTEyOWEtZjljNy00NmIwLTk4MTUtNWM4ZTcyOTIzY2Qw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="32" it="0" lt="32" ct="15" ts="1587564505989" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjViNDJkN2ItMzAyYy00NDBhLWE5YWUtNmVlMGYyYjRjMDBk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564506013" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMxMi1XZ2ZMbkg4ZFZ2ekkzTnRzcTgwSjl3TUdhUE1vNmJ0WiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NIZckcB8Fg9kjn13ESMeQP8Vxzjtf7mRNyYLg_kn-xtxySgKViJOGAQhpbsnla3vaXlCUnkBx1tByyZoQeKAGmAnjKxm-squzbU6fV5Yc7qiptulaU5PbIfwZeKqiVH_EBaAE2wtk8qewLRxY5oT_Oi5Asar0Fd66fahWzynyDNEtP1yH3oPhvFvtGSL9zvIXfltbFAlZ6BTAa9Bt4Tl4iRhzoKNlO3aauiOfq3rYrl6vTslgiv5UIUDI4CMYxtW1Q3vTg5c8nuz5FtisqlaSaBrorRiHeJnXvyYy_olsOP1nqD-n7Ugj11onBA2e6_1-RCvEwXRp7QT42XA-0m5kA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDIyNTI5ZDMtZTU0Zi00OGY2LWExMTYtMjUwMjRiMWM1OTg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMxMi1XZ2ZMbkg4ZFZ2ekkzTnRzcTgwSjl3TUdhUE1vNmJ0WiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NIZckcB8Fg9kjn13ESMeQP8Vxzjtf7mRNyYLg_kn-xtxySgKViJOGAQhpbsnla3vaXlCUnkBx1tByyZoQeKAGmAnjKxm-squzbU6fV5Yc7qiptulaU5PbIfwZeKqiVH_EBaAE2wtk8qewLRxY5oT_Oi5Asar0Fd66fahWzynyDNEtP1yH3oPhvFvtGSL9zvIXfltbFAlZ6BTAa9Bt4Tl4iRhzoKNlO3aauiOfq3rYrl6vTslgiv5UIUDI4CMYxtW1Q3vTg5c8nuz5FtisqlaSaBrorRiHeJnXvyYy_olsOP1nqD-n7Ugj11onBA2e6_1-RCvEwXRp7QT42XA-0m5kA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="28" it="0" lt="28" ct="10" ts="1587564505994" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODE0N2E5Y2ItNDk3YS00OWFlLWIxODYtOThmNzhkNGU0YzI2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564506014" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5MC1CaXBDWlplLXBVVmQtLVdDNm9MZWN6bGJhTm0tLUpXMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iSpC-dKxqC8rg3U-YYJ92Ce5EKuqjkueDGiAp5O4fWLpIs90SnyJWQEhYSxN_Ir_rsbQc1KfOJCXoYxTCPhp0NeeO_IMcImHfwPOuNPLX_XA3lf3HxnUyom61ABnuX_E1_ImsUPt96lQIUUNmUhLw_3ysDrONvncdWD18XTBoaFnPH0NiegIBP7ID3eVTqjp3wvRs0KIPfX7van-8HbFQiTaJJKNH4eMeilyyIz-acKmebyOFZRABl5SIaXgG9BWsxj0tTnf0kAV8gPoS_qPcaB80aAC8vVJ3xjfVOb6-J-lk4W7G34h4QPbr4G-RW-Ug_IScpz1NaER0QdAPNBXVw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDkyZTU1NGQtYmMyNi00NDI1LTlmMmEtZDYwNzZkYzI3MDIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5MC1CaXBDWlplLXBVVmQtLVdDNm9MZWN6bGJhTm0tLUpXMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iSpC-dKxqC8rg3U-YYJ92Ce5EKuqjkueDGiAp5O4fWLpIs90SnyJWQEhYSxN_Ir_rsbQc1KfOJCXoYxTCPhp0NeeO_IMcImHfwPOuNPLX_XA3lf3HxnUyom61ABnuX_E1_ImsUPt96lQIUUNmUhLw_3ysDrONvncdWD18XTBoaFnPH0NiegIBP7ID3eVTqjp3wvRs0KIPfX7van-8HbFQiTaJJKNH4eMeilyyIz-acKmebyOFZRABl5SIaXgG9BWsxj0tTnf0kAV8gPoS_qPcaB80aAC8vVJ3xjfVOb6-J-lk4W7G34h4QPbr4G-RW-Ug_IScpz1NaER0QdAPNBXVw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="33" it="0" lt="33" ct="0" ts="1587564505966" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzRkMmVkY2ItMGZhNi00ODIxLWI2ZjMtZjdhY2M4MTk1MDNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="115" it="0" lt="115" ct="0" ts="1587564505884" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGVmOWQwNmYtZGNmZi00ZDAxLWI3ZWUtMzhjZTE0ZGUzNWM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="127" it="0" lt="127" ct="0" ts="1587564505872" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDhhODgwNjUtOTViMS00N2U4LTg0YzctNjMzYjE5M2NhOTVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="112" it="0" lt="112" ct="0" ts="1587564505887" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWFmOGVkZGUtN2U1MC00ZDgxLWIzODktNTc2YzI3ODcwYTVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="34" it="0" lt="34" ct="1" ts="1587564505965" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTM1ZmU3ZTItN2EyMC00YjIxLWJiODAtZTcyNWY2MGJjMGFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="94" it="0" lt="94" ct="0" ts="1587564505904" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGI2MGRkMWMtMmIyMS00OTg1LWFkYWYtZjQxNDMyNjVmODU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="118" it="0" lt="118" ct="0" ts="1587564505880" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzcxMzdjYzgtYmE4Mi00NWU4LWI4YjYtNDcwMGUxMWIyY2U3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="113" it="0" lt="113" ct="0" ts="1587564505881" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTI0NzI3ZjAtNjQzMi00MDc2LTk1ZDAtZTdmODAyY2I0NjBj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="122" it="0" lt="122" ct="0" ts="1587564505871" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzBkOTZjNmUtNzQ2YS00NWRiLTg0MzQtNjVlNGFmZTJkYmVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564506016" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5My10c01OTTRzMFYwZFJ3OWJZYTREb3htWG56M0ltUUo5LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nJt03zDr-X6F3F-R9QVZZtbjEimYwZAgKFnx4Z2zrURo_lW3ighH2Zn50zF2xsnJprngo1Xo-Oo6q5c3sD_1BGz6N2NiwBsPAkK365NTkf8NPjIdubJXA2-yduHm46xLrnGYzkwPLkOkfEiDfP0rsEHefCoYHnfY63dhrhxUYwL5ldldgEf7XqIr8VB4HVxzcm2URCW4-hyehdNF8xyq8F05F5SdB5DIhgwF44N2wXGZHCSa449hOLrN-b0Me7C-iGSPBdRKvUmuER3DWVaz_3CX61KipW6TBG0kRIa_JVJzqM7XHVj_BhK5jf--tJgDqM8dLfieuNcAAtXLoeisGg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmY5MjQzYzEtZjZhZi00YmFhLWE2OTMtY2I5YzFmYjgwNGE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5My10c01OTTRzMFYwZFJ3OWJZYTREb3htWG56M0ltUUo5LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nJt03zDr-X6F3F-R9QVZZtbjEimYwZAgKFnx4Z2zrURo_lW3ighH2Zn50zF2xsnJprngo1Xo-Oo6q5c3sD_1BGz6N2NiwBsPAkK365NTkf8NPjIdubJXA2-yduHm46xLrnGYzkwPLkOkfEiDfP0rsEHefCoYHnfY63dhrhxUYwL5ldldgEf7XqIr8VB4HVxzcm2URCW4-hyehdNF8xyq8F05F5SdB5DIhgwF44N2wXGZHCSa449hOLrN-b0Me7C-iGSPBdRKvUmuER3DWVaz_3CX61KipW6TBG0kRIa_JVJzqM7XHVj_BhK5jf--tJgDqM8dLfieuNcAAtXLoeisGg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564506020" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5NS01ajBwamlJOVMzQnMwdUYtaktxdjJIckdaMTZtVUY5UyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OJJGLUpR2QHgx8tV5v9RjXiYtDGb-Q9tfKwlsezDmKiTvCjWKH0og6idvPipbn9JcgtDCRwuUu1wX4zRsSU1AmTzqgvGY3Rf7vcFFgGH1VVOWJ4PFkWzmrt5Cr2Iup0or1CzkOs3AOzHy7zucY3343aEIhkmB5uvYo_DrONndk9twWTd07aWlruoyLFobjdEvDeBNVOEU6CEqgAdMILyYhWa_0e1pPmAF1iBfS8cRygydMI88Zmmd7aekTJscR__TLY3BSat7xq7eTazd7u5XM3ZEt8C_MKMXg6xZR8_J9fi3WfZEsRlVuTxWG-CxX_wmszYB8u8j5gfRGH0Q1Y4TA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWMyZmZkZjktMTQyYi00NzQwLWFjYjItOGRjYTk3NTg5MWMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5NS01ajBwamlJOVMzQnMwdUYtaktxdjJIckdaMTZtVUY5UyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OJJGLUpR2QHgx8tV5v9RjXiYtDGb-Q9tfKwlsezDmKiTvCjWKH0og6idvPipbn9JcgtDCRwuUu1wX4zRsSU1AmTzqgvGY3Rf7vcFFgGH1VVOWJ4PFkWzmrt5Cr2Iup0or1CzkOs3AOzHy7zucY3343aEIhkmB5uvYo_DrONndk9twWTd07aWlruoyLFobjdEvDeBNVOEU6CEqgAdMILyYhWa_0e1pPmAF1iBfS8cRygydMI88Zmmd7aekTJscR__TLY3BSat7xq7eTazd7u5XM3ZEt8C_MKMXg6xZR8_J9fi3WfZEsRlVuTxWG-CxX_wmszYB8u8j5gfRGH0Q1Y4TA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564506021" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMxMS14bHRMYVBCazRYdjE3cHZJVmxNV2NRbEkzWUEtWXAtLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.JWhU7oh-3tGInUTlHCi8ban6Of21APRgv1iPVjt8A8nk2poIMA4y_1gP2dA9s-uPEJWJpaG_jg7vrHJx6zK7EegLrzTXY39zPropZhXE16kDqd2rYm5ReWPXWLWIr3GA6AubG1HKDrQZNfTh7TPPvR2teXVB1GvR0gvf5XoPolCBx3oXYN3m8Y3wNNDkDDOWjq-cLQfEHX3TcMS-wAEOeJQIYRV4wg3HUv9_VCg-Kue8CQPh1AKYUeRxbO3aOZwUIyiihDrj36f09snCa8PONjMEBCwKEp-krNVk-ShYtglvjehTx71iPGNZRckubZUq3r2kvQgkaxtzhjEyokG1kw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzhlNTEyOWEtZjljNy00NmIwLTk4MTUtNWM4ZTcyOTIzY2Qw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMxMS14bHRMYVBCazRYdjE3cHZJVmxNV2NRbEkzWUEtWXAtLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.JWhU7oh-3tGInUTlHCi8ban6Of21APRgv1iPVjt8A8nk2poIMA4y_1gP2dA9s-uPEJWJpaG_jg7vrHJx6zK7EegLrzTXY39zPropZhXE16kDqd2rYm5ReWPXWLWIr3GA6AubG1HKDrQZNfTh7TPPvR2teXVB1GvR0gvf5XoPolCBx3oXYN3m8Y3wNNDkDDOWjq-cLQfEHX3TcMS-wAEOeJQIYRV4wg3HUv9_VCg-Kue8CQPh1AKYUeRxbO3aOZwUIyiihDrj36f09snCa8PONjMEBCwKEp-krNVk-ShYtglvjehTx71iPGNZRckubZUq3r2kvQgkaxtzhjEyokG1kw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3005" it="0" lt="3005" ct="11" ts="1587564503027" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTdmYjU5ZTUtN2M1Ni00MzQxLWI0OTQtMDNiOGRiMGVmMTE3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1571-3siC-GT08F6N3dZooofj3ffcMQ8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564506022" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4NS1uODN2c3lkMC1TaDZVajZqTXdrQ1NoMUhheDhMNjR1MiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LGrmHpHeU7CLMon3Z9VbshKACBuDgpCa_8UIEUJ793F89W0ecVKcwqZit4TleWVsKU6S45kOVeYgx0u1XHKJRhKhUeUMW9ogvZjwXsfLvpyKzuMPUNGv8GfxXJsSYPW0a3sTcWdinyAedVok8pqusYEqBgWlLiIBb-sm0EuLYrQw85IYFIaUH0Tg3V3Ss_H2a3oEdxzCu0BeL_dHZ40_vIWd7-E2leJz6pPIGBCYPJ0p3Yqg08u9nrhLNG37hJODKkscz1Uy5gUI9dZcwD2anh4wAt_iZye6sQirUm3-EEQJwMeLSs4qxNkgdNXweFpaSN3UIAtDvzOvuuBdVQGo_A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODE0N2E5Y2ItNDk3YS00OWFlLWIxODYtOThmNzhkNGU0YzI2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4NS1uODN2c3lkMC1TaDZVajZqTXdrQ1NoMUhheDhMNjR1MiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LGrmHpHeU7CLMon3Z9VbshKACBuDgpCa_8UIEUJ793F89W0ecVKcwqZit4TleWVsKU6S45kOVeYgx0u1XHKJRhKhUeUMW9ogvZjwXsfLvpyKzuMPUNGv8GfxXJsSYPW0a3sTcWdinyAedVok8pqusYEqBgWlLiIBb-sm0EuLYrQw85IYFIaUH0Tg3V3Ss_H2a3oEdxzCu0BeL_dHZ40_vIWd7-E2leJz6pPIGBCYPJ0p3Yqg08u9nrhLNG37hJODKkscz1Uy5gUI9dZcwD2anh4wAt_iZye6sQirUm3-EEQJwMeLSs4qxNkgdNXweFpaSN3UIAtDvzOvuuBdVQGo_A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="50" it="0" lt="50" ct="0" ts="1587564506020" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5OS1YUS1iRHpTUllSdDhzbHlFWHR4cVgxQW5pUjJyWEM3ayIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.W78BTqLBBkn1XsCcD2dFEyPmbNXkZKHo6KphFpgstq4G4aCIaBFSwY2WoTn4FZTG4EfKDIUD5Wt-0Xl65ErIAL5qbMOME3D5cdIAA9lj1h4BScuJih0G1V3dDJCEGraxlicODn0e9XBZ5HKgflv_wOa0a0bLTwEbbALn_W7hXSiUNkwLMG1kWKhgnGkQAjJ59G4R16_CDsXBfbGsN4K2iGJ3KC8Me_WtpZR9BH3JIn2cUHFxgPkzF6a6UeMLAUc_Qzv-_Sl_BsNsyq-qlYCbnUBYsC6EIOQDSHybu9f6IZtYGVPqRgboXPKlOGjUDuKQfZu8DjAUgrmdbTgDaHp2Eg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmMwMTdjMjAtZjY3Ni00N2U2LTg1OWYtMGNjNWZlMzQ4NzZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5OS1YUS1iRHpTUllSdDhzbHlFWHR4cVgxQW5pUjJyWEM3ayIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.W78BTqLBBkn1XsCcD2dFEyPmbNXkZKHo6KphFpgstq4G4aCIaBFSwY2WoTn4FZTG4EfKDIUD5Wt-0Xl65ErIAL5qbMOME3D5cdIAA9lj1h4BScuJih0G1V3dDJCEGraxlicODn0e9XBZ5HKgflv_wOa0a0bLTwEbbALn_W7hXSiUNkwLMG1kWKhgnGkQAjJ59G4R16_CDsXBfbGsN4K2iGJ3KC8Me_WtpZR9BH3JIn2cUHFxgPkzF6a6UeMLAUc_Qzv-_Sl_BsNsyq-qlYCbnUBYsC6EIOQDSHybu9f6IZtYGVPqRgboXPKlOGjUDuKQfZu8DjAUgrmdbTgDaHp2Eg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="49" it="0" lt="49" ct="0" ts="1587564506022" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwNy11Tkp0d29lbEhNVDVudDdYTmhZLWV0UHYtZlNmMHBNVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ovpqmUyOzmhicQi9EKn7OQCov10gEsFiMVXIieInkFFW1Y7M42KhKLtcVGWE-8oKa0bubJhL86FJxyuqFk2Y8qvJoFYm4v8xsE6ShdlsGNodalSRh-_4nWSwFGfBA7eQR2_5m1SgfRb1V3clcNOn_b8kqkUQHCpWTTx4bfVgTIWxpGafORYxYURr7plAn_Mgbuwk8rG-HTZoSxNmqFyC_Ebbl9QHkVV-U8TrCv8I64Jf-fn1mfzwNKJemTDm2QA31FCYG-2pJRzA1J4RnhmxMMNUg3O_QDeEfYRxdQuuVYE2ZiFEc1Tdrf20xv0uVUMpAh9fTYT01W-JVklzv9IiLw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjViNDJkN2ItMzAyYy00NDBhLWE5YWUtNmVlMGYyYjRjMDBk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwNy11Tkp0d29lbEhNVDVudDdYTmhZLWV0UHYtZlNmMHBNVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ovpqmUyOzmhicQi9EKn7OQCov10gEsFiMVXIieInkFFW1Y7M42KhKLtcVGWE-8oKa0bubJhL86FJxyuqFk2Y8qvJoFYm4v8xsE6ShdlsGNodalSRh-_4nWSwFGfBA7eQR2_5m1SgfRb1V3clcNOn_b8kqkUQHCpWTTx4bfVgTIWxpGafORYxYURr7plAn_Mgbuwk8rG-HTZoSxNmqFyC_Ebbl9QHkVV-U8TrCv8I64Jf-fn1mfzwNKJemTDm2QA31FCYG-2pJRzA1J4RnhmxMMNUg3O_QDeEfYRxdQuuVYE2ZiFEc1Tdrf20xv0uVUMpAh9fTYT01W-JVklzv9IiLw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3011" it="0" lt="3011" ct="1" ts="1587564503062" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTc4NTZkMmEtMWIyYy00ZDcwLWJlOTktMWRiOGI4MGVhYWRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1554-grGvVXOiSVJkG5hlzyX4VySD1tcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="57" it="0" lt="57" ct="12" ts="1587564506017" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzkxNzMyNzItNzkzMy00Mzc2LWFjMmUtNjYzOGRmMjJkMDhl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="50" it="0" lt="50" ct="0" ts="1587564506025" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5MS1Eai1yTWh3cnp1NGUtR0xRVk9MZzNYLWpGRjdwZ29XaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.G3nAXyKrNReKoIXPIYEtpIzUfJE3kqo689K-o7hxX0e0QNM1joC_li_T223MpvfQpcF6qg-WaZ_vuyhaeOYNF1fQpYPdNNjbOM6JvETTwDX5KQ_3dmkx0fArKaf4WvFBd8hHQ8U24h2PzLL-7mi1vmP2aCdz5tJd5ZgRO2yMwAqQOTgH7Te2vRttyMkcbGeE7qAwHg9TyEYYyG3yRbrrhgL25UL69YsxTVKK89ox70qwdZNEpT4lqNdh432ibiTDJHlfaphbGNJoMjv184P3lwyntHy3Wsa0mmIqNhiyHyy2iJONTCk9kI1Q26LxyyF-FLYJKCjXKnxnMbF6_XY98A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTM1ZmU3ZTItN2EyMC00YjIxLWJiODAtZTcyNWY2MGJjMGFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5MS1Eai1yTWh3cnp1NGUtR0xRVk9MZzNYLWpGRjdwZ29XaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.G3nAXyKrNReKoIXPIYEtpIzUfJE3kqo689K-o7hxX0e0QNM1joC_li_T223MpvfQpcF6qg-WaZ_vuyhaeOYNF1fQpYPdNNjbOM6JvETTwDX5KQ_3dmkx0fArKaf4WvFBd8hHQ8U24h2PzLL-7mi1vmP2aCdz5tJd5ZgRO2yMwAqQOTgH7Te2vRttyMkcbGeE7qAwHg9TyEYYyG3yRbrrhgL25UL69YsxTVKK89ox70qwdZNEpT4lqNdh432ibiTDJHlfaphbGNJoMjv184P3lwyntHy3Wsa0mmIqNhiyHyy2iJONTCk9kI1Q26LxyyF-FLYJKCjXKnxnMbF6_XY98A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3024" it="0" lt="3024" ct="3" ts="1587564503060" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTM2YjVjYTAtMjM0ZC00NmQ3LWFkZjEtYTk5Y2Q1Mzg5NjI5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1569-vhXdwoA6gPxrZT5G5ZbIjoqFEfEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3036" it="0" lt="3036" ct="1" ts="1587564503048" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDc2MDUyYzYtYmI2OS00ZDM0LTg5N2ItYzRkZGI0YzFmNmU5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1536-hTNZJDyxtHmXG85IWFRuutv1R0Ic7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="52" it="0" lt="52" ct="1" ts="1587564506033" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTdmYjU5ZTUtN2M1Ni00MzQxLWI0OTQtMDNiOGRiMGVmMTE3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3065" it="0" lt="3065" ct="18" ts="1587564503021" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTJiMGFhYWQtMmFmMi00MWY0LWFlNjQtMGEzOGRkNTc4YTk4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1549-0-dvvDtdEfjDaHaWK0-Gcyc8G5wc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3044" it="0" lt="3044" ct="1" ts="1587564503043" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWU3MGE3MTMtYjliOS00YWJlLThmMGMtNDgyMGE1MDE0YTc4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1575-Clkn3a4N9h9LjCBma3i8l2fNhrwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3043" it="0" lt="3043" ct="26" ts="1587564503044" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGRlNTI5NmItMDAyZC00ODRjLWE5ZTktNWY3MTU3YTg2Y2Zi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1553-dMwLXAYWXSmr3jLBgeSSqgYT6Rsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3065" it="0" lt="3065" ct="16" ts="1587564503023" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzExNTQ2YWMtN2MzNC00NDFjLThjNmQtMjg4NzY0NWY5ZGVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1538-cRBIpAigDblkEg-SBu4LOzBgHXIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="65" it="0" lt="65" ct="0" ts="1587564506024" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMxMC1QSnFNbHVBQXA3aWEtNUQxMXNHLXNvYldmN0E5ZWdPaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WLCW5lO9mFMpJfS3N_lxiU1dwtjbDKs4ah_GWdzTf__g44PH0Z8lnEDOWktNQBpeeoQQDLrMkMaAAjH-PVde_Oy1Z54jjSDx4CYN2irmmmcYPv5nlIpLMhSRop1rQwRNMfJsKbwUcxdewI-6vZw6ioO5u9icE1slBi7u96OXZ_3-0vrg9NR-xwlGkKU3UAM_wCgJemeHa37QptS3vOy10BTEz0D703DyKQdmpx18e3268v55x7K1gJYHE-DQGJxz1-EO9taBBMiAzRSgYzSWzeuC-5q6cuJwX507X22zjnPbeFRxunO2ftu1LRNyRz-sYm8nE90ymf04qlvEMJ6IhA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzRkMmVkY2ItMGZhNi00ODIxLWI2ZjMtZjdhY2M4MTk1MDNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMxMC1QSnFNbHVBQXA3aWEtNUQxMXNHLXNvYldmN0E5ZWdPaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WLCW5lO9mFMpJfS3N_lxiU1dwtjbDKs4ah_GWdzTf__g44PH0Z8lnEDOWktNQBpeeoQQDLrMkMaAAjH-PVde_Oy1Z54jjSDx4CYN2irmmmcYPv5nlIpLMhSRop1rQwRNMfJsKbwUcxdewI-6vZw6ioO5u9icE1slBi7u96OXZ_3-0vrg9NR-xwlGkKU3UAM_wCgJemeHa37QptS3vOy10BTEz0D703DyKQdmpx18e3268v55x7K1gJYHE-DQGJxz1-EO9taBBMiAzRSgYzSWzeuC-5q6cuJwX507X22zjnPbeFRxunO2ftu1LRNyRz-sYm8nE90ymf04qlvEMJ6IhA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3066" it="0" lt="3066" ct="14" ts="1587564503024" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDA4ZDFkZjctYjhjMy00ZDlkLTgzOTYtMDI5ODdlYmY3YjM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1591-tk0n3OFJaCZs4j7XL0HFMtEEdaEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3027" it="0" lt="3027" ct="4" ts="1587564503063" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTQwNzg5YzYtYzViZC00MmNkLTliMTYtYjljNzJjZGMzYjhk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1574-NNz1abk7TXQOSSinVXk-qvWQkJYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="75" it="0" lt="75" ct="13" ts="1587564506016" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzBhNTg5OTItZjJiMS00ZmJiLThmNmYtZDQ3NmU3OTQ5M2Rl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="19" it="0" lt="19" ct="1" ts="1587564506073" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTc4NTZkMmEtMWIyYy00ZDcwLWJlOTktMWRiOGI4MGVhYWRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564506074" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5OC1BN2sxaW8zQ3BxWC14STlSQVpvVHNCN21JMUFOZXJKVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.XSugMitrwWmR3lkdgWyWjaytZQCbpATBwD-g41G-RJY_wfZT2XOW_z6tDxVZDP_pFYktGUaBfMXlcZb9TjI7-DZEzc1uS-2XfTp4n7E4-7xbEnrCSIHP9neIx1msjF8IEuPFcYte5nuA8vWnq-3j9xuL_kdITghyRXnl23QgYmcyWUA26m2_yUtzJkDjmhdRzMq8vZhj_ilSaILRH3dnsBuZGGqMk8GJ6pa8EuGQkODsRzQBxwBo5bGtfgoMt3EFN5_dPYV1ECTJOJACmw5xJQmi3S0XQoCa8MMZYkbNaM8t3viz74NQ8SXkP5EJazlbfR1MzccRZCNY0YNuW9zomA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzkxNzMyNzItNzkzMy00Mzc2LWFjMmUtNjYzOGRmMjJkMDhl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5OC1BN2sxaW8zQ3BxWC14STlSQVpvVHNCN21JMUFOZXJKVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.XSugMitrwWmR3lkdgWyWjaytZQCbpATBwD-g41G-RJY_wfZT2XOW_z6tDxVZDP_pFYktGUaBfMXlcZb9TjI7-DZEzc1uS-2XfTp4n7E4-7xbEnrCSIHP9neIx1msjF8IEuPFcYte5nuA8vWnq-3j9xuL_kdITghyRXnl23QgYmcyWUA26m2_yUtzJkDjmhdRzMq8vZhj_ilSaILRH3dnsBuZGGqMk8GJ6pa8EuGQkODsRzQBxwBo5bGtfgoMt3EFN5_dPYV1ECTJOJACmw5xJQmi3S0XQoCa8MMZYkbNaM8t3viz74NQ8SXkP5EJazlbfR1MzccRZCNY0YNuW9zomA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3040" it="0" lt="3040" ct="1" ts="1587564503053" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjA1MzViZGUtNWQ1OC00ZGYzLTgxM2EtNGZjZmNhODUxYjUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1524-wNJ2oBR-E-dJQJKzlgWODEBHr8Qc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3070" it="0" lt="3070" ct="12" ts="1587564503026" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzA4N2NjNzQtZDczOC00NWVlLWEwYTMtZThhNzcyNzg3OGMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1551-UlmkOMDoIAN0ZfiWzyfIPo5mjzoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3071" it="0" lt="3071" ct="10" ts="1587564503028" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTA4OGZjYjAtMzA3NC00ZjhhLWI3MmQtZGNhNjEwODBlOWRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1582-KYyHpEOcqBOdMkIFUecNNXbs0wIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="82" it="0" lt="82" ct="11" ts="1587564506018" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTE5ZmZkNGItYWFhNS00MDcwLWE4ODEtMTMzMWE3NTM1YTA2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3055" it="0" lt="3055" ct="19" ts="1587564503045" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzUxNWVlYjktYzI2My00NzM3LWJhYjMtYTBiZTEwZDI0MTE0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1548-uUDPUuJI1mquTMQBbYcT9BJn8PAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="19" it="0" lt="19" ct="8" ts="1587564506086" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTJiMGFhYWQtMmFmMi00MWY0LWFlNjQtMGEzOGRkNTc4YTk4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="1" ts="1587564506088" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGRlNTI5NmItMDAyZC00ODRjLWE5ZTktNWY3MTU3YTg2Y2Zi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564506091" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4Ny1rT1U3YkpTcnpmbS0ySEYwN2J2bTNZZkotOC1yM0x2dSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KbNJaqsG4Aa0qi2J2cBSwc27hz33agyunSt36WD4hO296ztGNZG0yY648Lyb3uJZRb5PcrTqNZzDbP1xRQU9FBWKuJSMRArBnBaxcGLDTyMEVMt4ePCfI-dnkiEQEtrbirrBzlywyArEYYBn2zRaTRpCmpc72H3WcSUQD9zs_QV_qjWBRYqu_68_YBoV-62QtZJwtkf51Benb9ONATZSfONBJ6f7Z-Mr5D2YEmMUw9RTH-ia7uWEBkTcLKo1Z4f6WJztvx6SrjtOtKvy0XkoRoF5GQvw4wz5OpeLrso_5UXLVoe-isrsw4mCwgapO5o3LjyFDfRS5WRpLZQTIZ3Veg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzBhNTg5OTItZjJiMS00ZmJiLThmNmYtZDQ3NmU3OTQ5M2Rl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4Ny1rT1U3YkpTcnpmbS0ySEYwN2J2bTNZZkotOC1yM0x2dSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KbNJaqsG4Aa0qi2J2cBSwc27hz33agyunSt36WD4hO296ztGNZG0yY648Lyb3uJZRb5PcrTqNZzDbP1xRQU9FBWKuJSMRArBnBaxcGLDTyMEVMt4ePCfI-dnkiEQEtrbirrBzlywyArEYYBn2zRaTRpCmpc72H3WcSUQD9zs_QV_qjWBRYqu_68_YBoV-62QtZJwtkf51Benb9ONATZSfONBJ6f7Z-Mr5D2YEmMUw9RTH-ia7uWEBkTcLKo1Z4f6WJztvx6SrjtOtKvy0XkoRoF5GQvw4wz5OpeLrso_5UXLVoe-isrsw4mCwgapO5o3LjyFDfRS5WRpLZQTIZ3Veg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564506092" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5NC1pZGNlYVMyekRNakNkS3Z6VXkwaC0wZjl3QVE2RHJxaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dI99k-KU4EZg4A3ihi1YbrPwHyi3BYOJbM_HOwlF6978JrtznvcwS9xKzmxQUdoH3kdJKK5u9LdqM3RZj_vcVCMvMNHm0IFNpoj91TbVV8I-4ntzOGTTbXcXqTGOVCjnixCWhiS_C9mz8yFxvXx7ojz6y2AXojadMMv2H8fj2rjNymTpcAfCd7d76d2ZukEx6r7LOIUqI24JZwShHC79LYguksAe-K4bHuoe3683jVg4ze0qCgC_My3QY64TnSAryujrq-_aPlo3bQWqmN5Yz8NwMfzv5sWcJS0rGeqgW-Y0rOYVz34n7HNk7z1mOlSZA8ebplAqiTNo9NH_D99wFA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTc4NTZkMmEtMWIyYy00ZDcwLWJlOTktMWRiOGI4MGVhYWRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5NC1pZGNlYVMyekRNakNkS3Z6VXkwaC0wZjl3QVE2RHJxaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dI99k-KU4EZg4A3ihi1YbrPwHyi3BYOJbM_HOwlF6978JrtznvcwS9xKzmxQUdoH3kdJKK5u9LdqM3RZj_vcVCMvMNHm0IFNpoj91TbVV8I-4ntzOGTTbXcXqTGOVCjnixCWhiS_C9mz8yFxvXx7ojz6y2AXojadMMv2H8fj2rjNymTpcAfCd7d76d2ZukEx6r7LOIUqI24JZwShHC79LYguksAe-K4bHuoe3683jVg4ze0qCgC_My3QY64TnSAryujrq-_aPlo3bQWqmN5Yz8NwMfzv5sWcJS0rGeqgW-Y0rOYVz34n7HNk7z1mOlSZA8ebplAqiTNo9NH_D99wFA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="21" it="0" lt="21" ct="0" ts="1587564506085" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwOC1sV1kxdGlDRWF5blBsN2stVTZHMTJDZGEwZG4zOWllZiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.o635XvIu8sh2r9IjePuzG6n8TGqt7bpQchweMLXfM42Je-aqnk3p0YiaAhhZ1R3vIAKFd_gfnHAXTlXr_fKZittsH0eROBr_SEQGK-A0evbDQTdg3gfU5psrUMtWBLXw6HWej775ay6iYDQprijUJ8-ZAiy0Hc4n2qDJp0v1X6OudmpXjIMDBWXWa5EecDVHfk2KKwXDfSPvOOnCiggfsph0dJg-LKBI02a9c9IgQl3l8QCSjSumpZTp3rFkCTp3QdpaYtbLG6O6bg5DpJGBD3u26e_OgtZXZyBdGIcsMuz57SA9ShkX25Z0wm9aLCcQwxGYjgIDoOx-Rrkj1Kggfw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTdmYjU5ZTUtN2M1Ni00MzQxLWI0OTQtMDNiOGRiMGVmMTE3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwOC1sV1kxdGlDRWF5blBsN2stVTZHMTJDZGEwZG4zOWllZiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.o635XvIu8sh2r9IjePuzG6n8TGqt7bpQchweMLXfM42Je-aqnk3p0YiaAhhZ1R3vIAKFd_gfnHAXTlXr_fKZittsH0eROBr_SEQGK-A0evbDQTdg3gfU5psrUMtWBLXw6HWej775ay6iYDQprijUJ8-ZAiy0Hc4n2qDJp0v1X6OudmpXjIMDBWXWa5EecDVHfk2KKwXDfSPvOOnCiggfsph0dJg-LKBI02a9c9IgQl3l8QCSjSumpZTp3rFkCTp3QdpaYtbLG6O6bg5DpJGBD3u26e_OgtZXZyBdGIcsMuz57SA9ShkX25Z0wm9aLCcQwxGYjgIDoOx-Rrkj1Kggfw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="19" it="0" lt="19" ct="6" ts="1587564506088" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWU3MGE3MTMtYjliOS00YWJlLThmMGMtNDgyMGE1MDE0YTc4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="4" ts="1587564506090" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDA4ZDFkZjctYjhjMy00ZDlkLTgzOTYtMDI5ODdlYmY3YjM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="20" it="0" lt="20" ct="6" ts="1587564506088" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzExNTQ2YWMtN2MzNC00NDFjLThjNmQtMjg4NzY0NWY5ZGVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="30" it="0" lt="30" ct="1" ts="1587564506085" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDc2MDUyYzYtYmI2OS00ZDM0LTg5N2ItYzRkZGI0YzFmNmU5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564506108" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwMC0xLWNpZlVOOU9QZ1NsbGJ3ZHNZVUtwdWJIcThUb20yOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sDAOqT0F2Xr2ztZGBFTWOB1JBX-Dm9AjpOX3i38JH8v8A9AHYpI7DouXfPEhzEyyKuGQE2VP8b_ujktG3M77LXtVAe8JtigSg2QzEbw1vkGq7vOkfuWlYZovCTmB3wxAeJP8gxvF7mP3BAAPmO3mz5KgA9ea0jDBOMGtjmAH1wFWAw4YUg2RvlJORcJKLrATmr-ZFxPT9Z1F0hyGe2_Xup_TfkWYn4lp-KQDfQneEf9rq_puF3kmr0YidfBLXGgbR8cyl7VW3_Y3cUypu5WNmGQfUZagfieoOj6EO4jkXFGoUiPbaAwiWu1PMQHVBkWMM8HBVbWZekWot1PbFnIxHA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDA4ZDFkZjctYjhjMy00ZDlkLTgzOTYtMDI5ODdlYmY3YjM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwMC0xLWNpZlVOOU9QZ1NsbGJ3ZHNZVUtwdWJIcThUb20yOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sDAOqT0F2Xr2ztZGBFTWOB1JBX-Dm9AjpOX3i38JH8v8A9AHYpI7DouXfPEhzEyyKuGQE2VP8b_ujktG3M77LXtVAe8JtigSg2QzEbw1vkGq7vOkfuWlYZovCTmB3wxAeJP8gxvF7mP3BAAPmO3mz5KgA9ea0jDBOMGtjmAH1wFWAw4YUg2RvlJORcJKLrATmr-ZFxPT9Z1F0hyGe2_Xup_TfkWYn4lp-KQDfQneEf9rq_puF3kmr0YidfBLXGgbR8cyl7VW3_Y3cUypu5WNmGQfUZagfieoOj6EO4jkXFGoUiPbaAwiWu1PMQHVBkWMM8HBVbWZekWot1PbFnIxHA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="25" it="0" lt="25" ct="3" ts="1587564506091" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTQwNzg5YzYtYzViZC00MmNkLTliMTYtYjljNzJjZGMzYjhk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="20" it="0" lt="20" ct="1" ts="1587564506096" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzA4N2NjNzQtZDczOC00NWVlLWEwYTMtZThhNzcyNzg3OGMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="1" ts="1587564506100" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzUxNWVlYjktYzI2My00NzM3LWJhYjMtYTBiZTEwZDI0MTE0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="33" it="0" lt="33" ct="1" ts="1587564506084" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTM2YjVjYTAtMjM0ZC00NmQ3LWFkZjEtYTk5Y2Q1Mzg5NjI5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564506108" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5Ny1XR1k5OUwwNkZGU0FSOHJRSkdNY2c2TDhTa3Z0eEJNTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pEgiGzr5GDjXsHiQ4iVtPjsWK1z02Lo4shIzccu7emjUoYQqIU2Dd2bna8UMu2WL_JAFVS10BhWLtq6HZ54QhIlwERf-WNzrGFHrKWRQwqG_nSn10NRl6idDVLbRW9cs2oTPdviKONj6nkx-N7xx-Xb6DDUTlxyMH6w_JWZQehBk_VZlx3axerIcscPFrHzi9vUhevAqYs3lPdDG7yrAHcm3T-Af77a8BRag6F6R_EnXTzuQRtE07fmLLwhX4KBNtkD1U00g84UhDFEWPal6VqE7iKRnBLB8vvA-QMlXr-wsdYYiTYkstvgU6_OcL_-TgkiDK8pmvVvfHfokfXkEnQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWU3MGE3MTMtYjliOS00YWJlLThmMGMtNDgyMGE1MDE0YTc4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5Ny1XR1k5OUwwNkZGU0FSOHJRSkdNY2c2TDhTa3Z0eEJNTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pEgiGzr5GDjXsHiQ4iVtPjsWK1z02Lo4shIzccu7emjUoYQqIU2Dd2bna8UMu2WL_JAFVS10BhWLtq6HZ54QhIlwERf-WNzrGFHrKWRQwqG_nSn10NRl6idDVLbRW9cs2oTPdviKONj6nkx-N7xx-Xb6DDUTlxyMH6w_JWZQehBk_VZlx3axerIcscPFrHzi9vUhevAqYs3lPdDG7yrAHcm3T-Af77a8BRag6F6R_EnXTzuQRtE07fmLLwhX4KBNtkD1U00g84UhDFEWPal6VqE7iKRnBLB8vvA-QMlXr-wsdYYiTYkstvgU6_OcL_-TgkiDK8pmvVvfHfokfXkEnQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564506106" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4OC1ELXVicUpFRUY0d1lORlA2ZDU1bjdRaXhEY3lUVmRuVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.spLj0Jh6JsziDUnHq9LBfcUoQ5YsSAwycUyoZAgUF86bP4DMCb6e2QsgWQhZvgZ0jmntVp7UEmYwfzKeRooH_lrrLyYKHYt5_LDWAIQQP9wCtSpCD4vlHTDCnOgLk5kPhpdNqYpebjRnXkc84ZAwQ-P5Q55kkvMViklOe7MRr8WA10ddC6q_sElpywX3TpEG1-k6mUvL_HhOR0QcCWbg9tKEJvXMUIgeBWSp_4aI8iAMDBzMWnLmHNsN7VRBD_gn-OliM1NjTKEUogEffnxBClZlzExsSpoRiB-IGg6ub1p4jEnuln7oXyEC2iDFBc1x3TMfHHJS5U6UhjboNYzCkw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGRlNTI5NmItMDAyZC00ODRjLWE5ZTktNWY3MTU3YTg2Y2Zi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4OC1ELXVicUpFRUY0d1lORlA2ZDU1bjdRaXhEY3lUVmRuVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.spLj0Jh6JsziDUnHq9LBfcUoQ5YsSAwycUyoZAgUF86bP4DMCb6e2QsgWQhZvgZ0jmntVp7UEmYwfzKeRooH_lrrLyYKHYt5_LDWAIQQP9wCtSpCD4vlHTDCnOgLk5kPhpdNqYpebjRnXkc84ZAwQ-P5Q55kkvMViklOe7MRr8WA10ddC6q_sElpywX3TpEG1-k6mUvL_HhOR0QcCWbg9tKEJvXMUIgeBWSp_4aI8iAMDBzMWnLmHNsN7VRBD_gn-OliM1NjTKEUogEffnxBClZlzExsSpoRiB-IGg6ub1p4jEnuln7oXyEC2iDFBc1x3TMfHHJS5U6UhjboNYzCkw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564506100" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwMy1jamFyOC04aVkxLVhkdHZ1VVpseGNZd2NkQlJTTkZkdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.S8rsNx3CM9_n3dI-_hY1WjIspQ0_IqtDrdRDu28vBZvBVBv0NkmRD-pXQtwgoGDsQkZRLwbYYVJaT1pcGyUGQS0dnfPvgKR3-dS7QtSi_x-YkiPj7Hg-WQM04XC7ASfs4ERPgACsA8yPGa7jwmTV90mXnJwv9lHgCyqstEES-8AJ_a1R0F5DwL6nKipINzX8bXGPRxGIkslAUievdlM9Kj2KDJszsq4Mo7pZb76faSurRicMYa7armhG0LbsmkWJFTpy_QpcYyDu_NuLmSy75fztOFu5fdEG7s-db0kvLB56201Tmcrc99aD-FfO0lI9mtusGY8LSeFfyBAzQZau4Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTE5ZmZkNGItYWFhNS00MDcwLWE4ODEtMTMzMWE3NTM1YTA2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwMy1jamFyOC04aVkxLVhkdHZ1VVpseGNZd2NkQlJTTkZkdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.S8rsNx3CM9_n3dI-_hY1WjIspQ0_IqtDrdRDu28vBZvBVBv0NkmRD-pXQtwgoGDsQkZRLwbYYVJaT1pcGyUGQS0dnfPvgKR3-dS7QtSi_x-YkiPj7Hg-WQM04XC7ASfs4ERPgACsA8yPGa7jwmTV90mXnJwv9lHgCyqstEES-8AJ_a1R0F5DwL6nKipINzX8bXGPRxGIkslAUievdlM9Kj2KDJszsq4Mo7pZb76faSurRicMYa7armhG0LbsmkWJFTpy_QpcYyDu_NuLmSy75fztOFu5fdEG7s-db0kvLB56201Tmcrc99aD-FfO0lI9mtusGY8LSeFfyBAzQZau4Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="20" it="0" lt="20" ct="1" ts="1587564506099" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTA4OGZjYjAtMzA3NC00ZjhhLWI3MmQtZGNhNjEwODBlOWRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564506105" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwOS1tQWUtYjdTbkhySTIyZTNhbTVEUzBub1dYYkFESEl1YiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DwiRnRNi15k8Cps0jVaRrp_jMYXOlDwAtd21p4ByVDTfNysbi19S-yS7ErCcRvlZdPDiZDdkWTu_LMFP2MZXqUZGeiT11JCzbjmeBjFofqJ7h99vs0blaBbghvXCS-VdkLcRTS3byatUdRNcID0p7CIhIF4U9LTadaDesvidmgKWJDLXUAcJAQqwJl_U61czuI1oO9TjicikkHK0OhRHXCl4F3hn0uj8_oDranQvNNIQqfP3Jd4PIN4_7ayazxT6bmBoaZELzSCxqWa1zp2X3pywNDnFWwX7k4gdboPMvjPu4cjjXuOUtydehSwuWEozpGgpV73bjM8yGNkwjlA4IQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTJiMGFhYWQtMmFmMi00MWY0LWFlNjQtMGEzOGRkNTc4YTk4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwOS1tQWUtYjdTbkhySTIyZTNhbTVEUzBub1dYYkFESEl1YiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DwiRnRNi15k8Cps0jVaRrp_jMYXOlDwAtd21p4ByVDTfNysbi19S-yS7ErCcRvlZdPDiZDdkWTu_LMFP2MZXqUZGeiT11JCzbjmeBjFofqJ7h99vs0blaBbghvXCS-VdkLcRTS3byatUdRNcID0p7CIhIF4U9LTadaDesvidmgKWJDLXUAcJAQqwJl_U61czuI1oO9TjicikkHK0OhRHXCl4F3hn0uj8_oDranQvNNIQqfP3Jd4PIN4_7ayazxT6bmBoaZELzSCxqWa1zp2X3pywNDnFWwX7k4gdboPMvjPu4cjjXuOUtydehSwuWEozpGgpV73bjM8yGNkwjlA4IQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="27" it="0" lt="27" ct="1" ts="1587564506093" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjA1MzViZGUtNWQ1OC00ZGYzLTgxM2EtNGZjZmNhODUxYjUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564506117" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwMi1TZzF4b1otclhjalhnenhnbWw4cGhwWnR5V2VXYk9JbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ek_8fP3YuOdPALQRcw2qi0GtylcZhKzj5npt_u1yNVm-eoKAVaQE5gGnXxb3MZuOACA4RezXv7tSn7z0rdh7bPgmLARQsQsd7_Wt5iIISVyuuy2dSNqRLeG4_ovfOZ0SqjNDF9emkhjLmh_8ZdHgxBTXWhlKVJzbqNNYPHGtkBsx-0_j22RMKNtOPWnR30wkwL2drkxDbSOkEH1IVfR934aRmFGg54F8c_a62oiiCiRGVpGlC5Q9-wexLweYS9FpGBUaTy1b8S93QDUVGidMXRsyQ-COWAAYAEov-NRLbFzTAL0wAQUTgwgjku9gx7CVpbBIo1RdQWfne-sqMvhRnQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzA4N2NjNzQtZDczOC00NWVlLWEwYTMtZThhNzcyNzg3OGMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwMi1TZzF4b1otclhjalhnenhnbWw4cGhwWnR5V2VXYk9JbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ek_8fP3YuOdPALQRcw2qi0GtylcZhKzj5npt_u1yNVm-eoKAVaQE5gGnXxb3MZuOACA4RezXv7tSn7z0rdh7bPgmLARQsQsd7_Wt5iIISVyuuy2dSNqRLeG4_ovfOZ0SqjNDF9emkhjLmh_8ZdHgxBTXWhlKVJzbqNNYPHGtkBsx-0_j22RMKNtOPWnR30wkwL2drkxDbSOkEH1IVfR934aRmFGg54F8c_a62oiiCiRGVpGlC5Q9-wexLweYS9FpGBUaTy1b8S93QDUVGidMXRsyQ-COWAAYAEov-NRLbFzTAL0wAQUTgwgjku9gx7CVpbBIo1RdQWfne-sqMvhRnQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564506115" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5Mi1MNThSRWE2ci0xRTZuczVsVUdibjRCWnA0VE50YmNCMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MkelPIaoqX_RyET118lrNu7J6EPLWib_7bJPAeipGeNzt6uG-slgN8JWwds25lJhGC2uPw74xiTgxUKl7Rox_bDzpzkRMiulLzu0TlH1k0RhKyy6qnvEO1boLVHz0ewMMDQA4e6GQ8oAedzPJmvsgNs5r_LQu5j30uzy-FOi1jIe4CLYwqW7Qa2461uoQCFGbPq5HtnUdU_UIYEkCu22cxDbTzNDeiPWscBnyUokCPW_-sheBKgi6kMfMD6lhD2oJuFRpKw-yQM9p6fERQLdD61jJAeFAUjVa8LkC0etlxdNFXQ5dhZgz8W2hPlxk6dA9Rcs-G7-GhHYR4uAD61-CQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDc2MDUyYzYtYmI2OS00ZDM0LTg5N2ItYzRkZGI0YzFmNmU5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5Mi1MNThSRWE2ci0xRTZuczVsVUdibjRCWnA0VE50YmNCMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MkelPIaoqX_RyET118lrNu7J6EPLWib_7bJPAeipGeNzt6uG-slgN8JWwds25lJhGC2uPw74xiTgxUKl7Rox_bDzpzkRMiulLzu0TlH1k0RhKyy6qnvEO1boLVHz0ewMMDQA4e6GQ8oAedzPJmvsgNs5r_LQu5j30uzy-FOi1jIe4CLYwqW7Qa2461uoQCFGbPq5HtnUdU_UIYEkCu22cxDbTzNDeiPWscBnyUokCPW_-sheBKgi6kMfMD6lhD2oJuFRpKw-yQM9p6fERQLdD61jJAeFAUjVa8LkC0etlxdNFXQ5dhZgz8W2hPlxk6dA9Rcs-G7-GhHYR4uAD61-CQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564506117" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwNC0zVUNBTmJIS0lsZS1TLUpmb0dvSjFmVXBpT1BudzJiWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IjeF4W3-xbLceDnATnaw6myc2lGlqqRkB_bspa7Lagj0Xh1UNfDYzZ8Q1Z5EcLj_1e0PZ0uhxQT-EDYy1kPQEIJOHV2y3kZOmuub0k2mzSVAaS8aAYRtsX4jINNov4kU2ihbdbtGfCiFgxnQUB7jr1NCxlqN8N6XdsvvvuvzL2vc7Ben-v2CKhwB0rLUt-coPySfawd0zy3qjXArMIEV5yC6M9IxYaFi5e2valAdeqZ5_0lDtA-tCOCIGSALUGiwKF6M_KRzCaX-98T7mbLIc9-B2jY9O40M0cpUIT5Bpp8oXtQQqme9zV9tze_ECYyyj5IW3j2bT3i7tL5PhE9Vqg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzUxNWVlYjktYzI2My00NzM3LWJhYjMtYTBiZTEwZDI0MTE0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwNC0zVUNBTmJIS0lsZS1TLUpmb0dvSjFmVXBpT1BudzJiWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IjeF4W3-xbLceDnATnaw6myc2lGlqqRkB_bspa7Lagj0Xh1UNfDYzZ8Q1Z5EcLj_1e0PZ0uhxQT-EDYy1kPQEIJOHV2y3kZOmuub0k2mzSVAaS8aAYRtsX4jINNov4kU2ihbdbtGfCiFgxnQUB7jr1NCxlqN8N6XdsvvvuvzL2vc7Ben-v2CKhwB0rLUt-coPySfawd0zy3qjXArMIEV5yC6M9IxYaFi5e2valAdeqZ5_0lDtA-tCOCIGSALUGiwKF6M_KRzCaX-98T7mbLIc9-B2jY9O40M0cpUIT5Bpp8oXtQQqme9zV9tze_ECYyyj5IW3j2bT3i7tL5PhE9Vqg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564506117" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4OS13OUtwNjQ2WnVibkNYaEQzRzRrWG5LNHFMNEZnNi1XTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FtNZOtHvrSqVLXHWpENbMmGe9yo13DhrJa8rtkzv_VqTdqEIrWmiBxz2oAHkBLsOGhXlvwv6CSmkXqWruHMSRlWWUwEZ-n2nl4eRJGitZzsfdyr21UfBWuQ79NisLzlA0yNwTX8BsjJre3BPQpdg3TpO1Jzm5zqHhSUuCf5Cz7o-QvKsO1uLCfDY_2caRfha8Vrg8Wkk8AmdLrvRnUat8FUTO1lGd5EhIOhfL7eRp1SoghRpA6M4PKw1XTWw275g94HDbhdraMwbNt8YiQ-00iB_W8V55AjV-GmfnZJrNc2hA_gG0UdDDrVndWpgkGG5XURUGOydeE1nE9ch8Gil4A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTM2YjVjYTAtMjM0ZC00NmQ3LWFkZjEtYTk5Y2Q1Mzg5NjI5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4OS13OUtwNjQ2WnVibkNYaEQzRzRrWG5LNHFMNEZnNi1XTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FtNZOtHvrSqVLXHWpENbMmGe9yo13DhrJa8rtkzv_VqTdqEIrWmiBxz2oAHkBLsOGhXlvwv6CSmkXqWruHMSRlWWUwEZ-n2nl4eRJGitZzsfdyr21UfBWuQ79NisLzlA0yNwTX8BsjJre3BPQpdg3TpO1Jzm5zqHhSUuCf5Cz7o-QvKsO1uLCfDY_2caRfha8Vrg8Wkk8AmdLrvRnUat8FUTO1lGd5EhIOhfL7eRp1SoghRpA6M4PKw1XTWw275g94HDbhdraMwbNt8YiQ-00iB_W8V55AjV-GmfnZJrNc2hA_gG0UdDDrVndWpgkGG5XURUGOydeE1nE9ch8Gil4A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564506116" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4Ni1QNXlJOTNVTmNjTXhITjUxdlpFQWMyazF6aHF4VVZrLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.W7QEJHHkcPHLG_GWIYi4DSvwXPc_eq6jqSyaLLvD9MScPVInu_6H734S3iHfEhR01CagYU_9N3qKm8WJaBiWcOCvdHYZfYLvugkiVSMV-oVnH2GkknJKJaskAs4COOUjhUH5U_kenVmSBu2toAtRSKyngosBMtrmeTGZWgn8XL0Bc-ebd0RIeMzSMXFBf2-TvSyF05s9naq1pB0TAlASZAGKAbxZDV5IbUbSvp1ldnauOOXCxzrd2HLTDhKlY_-sjvwC1IX_qw8j1LLtRTvnlU-fJELGdzqhHYbmkzTsP6dAyqzDrT9jeTkchHDWAvrbWi0nPc4sdR6uxKYJhELnrQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTQwNzg5YzYtYzViZC00MmNkLTliMTYtYjljNzJjZGMzYjhk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4Ni1QNXlJOTNVTmNjTXhITjUxdlpFQWMyazF6aHF4VVZrLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.W7QEJHHkcPHLG_GWIYi4DSvwXPc_eq6jqSyaLLvD9MScPVInu_6H734S3iHfEhR01CagYU_9N3qKm8WJaBiWcOCvdHYZfYLvugkiVSMV-oVnH2GkknJKJaskAs4COOUjhUH5U_kenVmSBu2toAtRSKyngosBMtrmeTGZWgn8XL0Bc-ebd0RIeMzSMXFBf2-TvSyF05s9naq1pB0TAlASZAGKAbxZDV5IbUbSvp1ldnauOOXCxzrd2HLTDhKlY_-sjvwC1IX_qw8j1LLtRTvnlU-fJELGdzqhHYbmkzTsP6dAyqzDrT9jeTkchHDWAvrbWi0nPc4sdR6uxKYJhELnrQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564506119" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwNS1uMzBEaEZ5azVUNEpycGdvdWNlUEpRc0dSc1RsaFROWSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ztg9UGgfbzEMvVQHC0l9w206gTFeZ3KzhqO9WGXlQQRwysYubF6yjPxqVE4fNG4aXLWxByrs65WEa8m33p15x_N9_hE2x2DvFEXsOHexTGbvblloQ9iqZ91Di6U0v7WXSRzHirEwJeKHjgQY5NQv4uI4XJrpujnXNP1oRNI8_cFiQyuwVjnxqWaysqM1r7HcnXJTO2j8KCh-c6QTw60zTLWXqy9hpsCZrWJgML16I4xba1K5N0lFYLQeET1N8kP1F4I_FJInGGaN9f5ckQlWAal2KGIqugk29SUy3X3EfyIpsmomAfMtn7iw-lGEL7SsCFZwDGYjR75HQTVJI5RQRQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTA4OGZjYjAtMzA3NC00ZjhhLWI3MmQtZGNhNjEwODBlOWRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwNS1uMzBEaEZ5azVUNEpycGdvdWNlUEpRc0dSc1RsaFROWSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ztg9UGgfbzEMvVQHC0l9w206gTFeZ3KzhqO9WGXlQQRwysYubF6yjPxqVE4fNG4aXLWxByrs65WEa8m33p15x_N9_hE2x2DvFEXsOHexTGbvblloQ9iqZ91Di6U0v7WXSRzHirEwJeKHjgQY5NQv4uI4XJrpujnXNP1oRNI8_cFiQyuwVjnxqWaysqM1r7HcnXJTO2j8KCh-c6QTw60zTLWXqy9hpsCZrWJgML16I4xba1K5N0lFYLQeET1N8kP1F4I_FJInGGaN9f5ckQlWAal2KGIqugk29SUy3X3EfyIpsmomAfMtn7iw-lGEL7SsCFZwDGYjR75HQTVJI5RQRQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564506120" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwNi1yYXdKTU9yZnVETG1pbkhEUlhvd0d2SlFnYWE4YVdjQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jxDvP0FgRGVd0w-OK0zJe5q22totVsMm388wgpZJJnteAyMRltcdtPOMOqqtF4kZ6AnDJVjHGR7ikN6x3s0Nu7CsJZ8aVYtXjf6n7x8CmWIfKcioDk9Ox-oSxxHIauy03z2jbULAryaqOjd5KMwj3FP0rBzEdQVPmZ23cgUFNLqzChltyQNAvGV5TP_SWy6JCMABKaJVqG53UglWwfuMlUy32MkYHoOW5ILrB5blDN-r_xy4NM1VILiTVvroM7zta5HDh9PpYP6HdztfVt-HWvts8LsJTT0xD78qiw3yK3iyFD4FGcl1Yc3UD5-D2KE1_rN_gDYSGjseXMKsP7jNig
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjA1MzViZGUtNWQ1OC00ZGYzLTgxM2EtNGZjZmNhODUxYjUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwNi1yYXdKTU9yZnVETG1pbkhEUlhvd0d2SlFnYWE4YVdjQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jxDvP0FgRGVd0w-OK0zJe5q22totVsMm388wgpZJJnteAyMRltcdtPOMOqqtF4kZ6AnDJVjHGR7ikN6x3s0Nu7CsJZ8aVYtXjf6n7x8CmWIfKcioDk9Ox-oSxxHIauy03z2jbULAryaqOjd5KMwj3FP0rBzEdQVPmZ23cgUFNLqzChltyQNAvGV5TP_SWy6JCMABKaJVqG53UglWwfuMlUy32MkYHoOW5ILrB5blDN-r_xy4NM1VILiTVvroM7zta5HDh9PpYP6HdztfVt-HWvts8LsJTT0xD78qiw3yK3iyFD4FGcl1Yc3UD5-D2KE1_rN_gDYSGjseXMKsP7jNig</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564506121" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwMS1ZdUdMSWxXS0NTc2lHWnlpWmVsVC13V2UtaFp3SC02SyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bO-RkhWkq8xWrWzo__Upg4mMYAr2SkwGHdQo0suko3GqBoT0sAdvxeXiFjmLBe2DqWkrw5L_D8AYuu7uqVifdCDhQpvamjm8f0bLcBUgYRzJT_VzUrw_4hQK4WvYnkpSye0fQM2cIpNwmyKWEe8xvJzO6XdrngLAEztd6xVc1CXqMcuJPfMq4dughX_bp_RcHFlBUoTJeYUdJlg_6b-Ro9BsjeI8NvcLQ92S9fL1d2CHJX4uJ11vnzIwGqpe1RUcH2o-JruyU42Et2RoDQUfOB-PWGfvOFso4NCr0EbzV6co2DvIugB_clJ6GC0hr5X1pGmDj86bOpgmobu1Fipy_A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzExNTQ2YWMtN2MzNC00NDFjLThjNmQtMjg4NzY0NWY5ZGVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwMS1ZdUdMSWxXS0NTc2lHWnlpWmVsVC13V2UtaFp3SC02SyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bO-RkhWkq8xWrWzo__Upg4mMYAr2SkwGHdQo0suko3GqBoT0sAdvxeXiFjmLBe2DqWkrw5L_D8AYuu7uqVifdCDhQpvamjm8f0bLcBUgYRzJT_VzUrw_4hQK4WvYnkpSye0fQM2cIpNwmyKWEe8xvJzO6XdrngLAEztd6xVc1CXqMcuJPfMq4dughX_bp_RcHFlBUoTJeYUdJlg_6b-Ro9BsjeI8NvcLQ92S9fL1d2CHJX4uJ11vnzIwGqpe1RUcH2o-JruyU42Et2RoDQUfOB-PWGfvOFso4NCr0EbzV6co2DvIugB_clJ6GC0hr5X1pGmDj86bOpgmobu1Fipy_A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="153" it="0" lt="132" ct="3" ts="1587564506000" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6588bdfd-4d8d-4078-9301-f76f7c117e5b; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="147" it="0" lt="123" ct="19" ts="1587564506007" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-55" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=5a5432cb-b443-4d22-ae23-ac3519ccfdb1; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="155" it="0" lt="155" ct="0" ts="1587564506032" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-64" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWY0NjYxOGMtNTI5MS00ZGNmLWEzZjgtYTcxZWE3OGUwZjU1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMxMS14bHRMYVBCazRYdjE3cHZJVmxNV2NRbEkzWUEtWXAtLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.JWhU7oh-3tGInUTlHCi8ban6Of21APRgv1iPVjt8A8nk2poIMA4y_1gP2dA9s-uPEJWJpaG_jg7vrHJx6zK7EegLrzTXY39zPropZhXE16kDqd2rYm5ReWPXWLWIr3GA6AubG1HKDrQZNfTh7TPPvR2teXVB1GvR0gvf5XoPolCBx3oXYN3m8Y3wNNDkDDOWjq-cLQfEHX3TcMS-wAEOeJQIYRV4wg3HUv9_VCg-Kue8CQPh1AKYUeRxbO3aOZwUIyiihDrj36f09snCa8PONjMEBCwKEp-krNVk-ShYtglvjehTx71iPGNZRckubZUq3r2kvQgkaxtzhjEyokG1kw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YzhlNTEyOWEtZjljNy00NmIwLTk4MTUtNWM4ZTcyOTIzY2Qw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="191" it="0" lt="191" ct="0" ts="1587564506029" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-17" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjQxNjg3MmQtZWIzNi00NWNkLTg1N2YtMmRmYzUxN2YwNTNm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5My10c01OTTRzMFYwZFJ3OWJZYTREb3htWG56M0ltUUo5LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nJt03zDr-X6F3F-R9QVZZtbjEimYwZAgKFnx4Z2zrURo_lW3ighH2Zn50zF2xsnJprngo1Xo-Oo6q5c3sD_1BGz6N2NiwBsPAkK365NTkf8NPjIdubJXA2-yduHm46xLrnGYzkwPLkOkfEiDfP0rsEHefCoYHnfY63dhrhxUYwL5ldldgEf7XqIr8VB4HVxzcm2URCW4-hyehdNF8xyq8F05F5SdB5DIhgwF44N2wXGZHCSa449hOLrN-b0Me7C-iGSPBdRKvUmuER3DWVaz_3CX61KipW6TBG0kRIa_JVJzqM7XHVj_BhK5jf--tJgDqM8dLfieuNcAAtXLoeisGg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NmY5MjQzYzEtZjZhZi00YmFhLWE2OTMtY2I5YzFmYjgwNGE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="149" it="0" lt="149" ct="0" ts="1587564506093" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-42" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDE5MTVjYWMtM2M3Yi00NjYwLWE0OTUtYTg0YzNmM2Y3YjFi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5OC1BN2sxaW8zQ3BxWC14STlSQVpvVHNCN21JMUFOZXJKVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.XSugMitrwWmR3lkdgWyWjaytZQCbpATBwD-g41G-RJY_wfZT2XOW_z6tDxVZDP_pFYktGUaBfMXlcZb9TjI7-DZEzc1uS-2XfTp4n7E4-7xbEnrCSIHP9neIx1msjF8IEuPFcYte5nuA8vWnq-3j9xuL_kdITghyRXnl23QgYmcyWUA26m2_yUtzJkDjmhdRzMq8vZhj_ilSaILRH3dnsBuZGGqMk8GJ6pa8EuGQkODsRzQBxwBo5bGtfgoMt3EFN5_dPYV1ECTJOJACmw5xJQmi3S0XQoCa8MMZYkbNaM8t3viz74NQ8SXkP5EJazlbfR1MzccRZCNY0YNuW9zomA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NzkxNzMyNzItNzkzMy00Mzc2LWFjMmUtNjYzOGRmMjJkMDhl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="172" it="0" lt="172" ct="0" ts="1587564506071" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-24" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDQxNTYzYzItYmVlMS00ZDc0LTlhYzItNDQ0OGE4YjRlYmMx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5OS1YUS1iRHpTUllSdDhzbHlFWHR4cVgxQW5pUjJyWEM3ayIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.W78BTqLBBkn1XsCcD2dFEyPmbNXkZKHo6KphFpgstq4G4aCIaBFSwY2WoTn4FZTG4EfKDIUD5Wt-0Xl65ErIAL5qbMOME3D5cdIAA9lj1h4BScuJih0G1V3dDJCEGraxlicODn0e9XBZ5HKgflv_wOa0a0bLTwEbbALn_W7hXSiUNkwLMG1kWKhgnGkQAjJ59G4R16_CDsXBfbGsN4K2iGJ3KC8Me_WtpZR9BH3JIn2cUHFxgPkzF6a6UeMLAUc_Qzv-_Sl_BsNsyq-qlYCbnUBYsC6EIOQDSHybu9f6IZtYGVPqRgboXPKlOGjUDuKQfZu8DjAUgrmdbTgDaHp2Eg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NmMwMTdjMjAtZjY3Ni00N2U2LTg1OWYtMGNjNWZlMzQ4NzZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="168" it="0" lt="168" ct="0" ts="1587564506076" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-20" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTlmZmRkMGMtYzcyYi00NDU4LThhODMtMWIzNTlkODJjZmYx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5MS1Eai1yTWh3cnp1NGUtR0xRVk9MZzNYLWpGRjdwZ29XaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.G3nAXyKrNReKoIXPIYEtpIzUfJE3kqo689K-o7hxX0e0QNM1joC_li_T223MpvfQpcF6qg-WaZ_vuyhaeOYNF1fQpYPdNNjbOM6JvETTwDX5KQ_3dmkx0fArKaf4WvFBd8hHQ8U24h2PzLL-7mi1vmP2aCdz5tJd5ZgRO2yMwAqQOTgH7Te2vRttyMkcbGeE7qAwHg9TyEYYyG3yRbrrhgL25UL69YsxTVKK89ox70qwdZNEpT4lqNdh432ibiTDJHlfaphbGNJoMjv184P3lwyntHy3Wsa0mmIqNhiyHyy2iJONTCk9kI1Q26LxyyF-FLYJKCjXKnxnMbF6_XY98A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTM1ZmU3ZTItN2EyMC00YjIxLWJiODAtZTcyNWY2MGJjMGFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="245" it="0" lt="104" ct="3" ts="1587564506025" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-62" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ed808c3c-d258-4931-8f9b-a38d41cbd596; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="256" it="0" lt="111" ct="7" ts="1587564506019" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-19" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=989223b7-9dee-4198-b3fa-7e59200e0779; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="274" it="0" lt="226" ct="32" ts="1587564505992" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-14" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d98cd4bf-9dee-4053-ab53-a2d392f4f372; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1085" it="0" lt="1085" ct="1" ts="1587564505207" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzdiODBiMTUtZTA5OC00NzdjLWEzZGMtYzZmMWRkY2JjYzEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1592-NuFrguTZTDaUQjEV-SYg2LARs7kc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1088" it="0" lt="1088" ct="1" ts="1587564505206" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTIwMTg3OTItZjk3OS00OTk0LTk3MzAtOWQzZDU5MGVhMWFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1602--PGCCkj-TBcBlqtjeghTcprws50c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="275" it="0" lt="266" ct="7" ts="1587564506015" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d54e4be5-6e86-4e72-8a24-a368b3840e22; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="279" it="0" lt="278" ct="0" ts="1587564506023" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-69" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzZmMTM3NjYtMDAxMS00ZDI2LTk3OGQtYzNkMzM5ZTg1OTcz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5MC1CaXBDWlplLXBVVmQtLVdDNm9MZWN6bGJhTm0tLUpXMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iSpC-dKxqC8rg3U-YYJ92Ce5EKuqjkueDGiAp5O4fWLpIs90SnyJWQEhYSxN_Ir_rsbQc1KfOJCXoYxTCPhp0NeeO_IMcImHfwPOuNPLX_XA3lf3HxnUyom61ABnuX_E1_ImsUPt96lQIUUNmUhLw_3ysDrONvncdWD18XTBoaFnPH0NiegIBP7ID3eVTqjp3wvRs0KIPfX7van-8HbFQiTaJJKNH4eMeilyyIz-acKmebyOFZRABl5SIaXgG9BWsxj0tTnf0kAV8gPoS_qPcaB80aAC8vVJ3xjfVOb6-J-lk4W7G34h4QPbr4G-RW-Ug_IScpz1NaER0QdAPNBXVw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NDkyZTU1NGQtYmMyNi00NDI1LTlmMmEtZDYwNzZkYzI3MDIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564506294" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTIwMTg3OTItZjk3OS00OTk0LTk3MzAtOWQzZDU5MGVhMWFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="272" it="0" lt="272" ct="0" ts="1587564506031" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-60" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmQwMGMxMzUtMjNjMi00NDRhLWJjMDYtMzFhMTA3MjBkNjg1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5NS01ajBwamlJOVMzQnMwdUYtaktxdjJIckdaMTZtVUY5UyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OJJGLUpR2QHgx8tV5v9RjXiYtDGb-Q9tfKwlsezDmKiTvCjWKH0og6idvPipbn9JcgtDCRwuUu1wX4zRsSU1AmTzqgvGY3Rf7vcFFgGH1VVOWJ4PFkWzmrt5Cr2Iup0or1CzkOs3AOzHy7zucY3343aEIhkmB5uvYo_DrONndk9twWTd07aWlruoyLFobjdEvDeBNVOEU6CEqgAdMILyYhWa_0e1pPmAF1iBfS8cRygydMI88Zmmd7aekTJscR__TLY3BSat7xq7eTazd7u5XM3ZEt8C_MKMXg6xZR8_J9fi3WfZEsRlVuTxWG-CxX_wmszYB8u8j5gfRGH0Q1Y4TA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YWMyZmZkZjktMTQyYi00NzQwLWFjYjItOGRjYTk3NTg5MWMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="281" it="0" lt="281" ct="0" ts="1587564506022" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-53" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWFlNDlhODQtNzlmNS00OWFmLWIwMjAtYWIxMmUxMDU4YjQw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMxMi1XZ2ZMbkg4ZFZ2ekkzTnRzcTgwSjl3TUdhUE1vNmJ0WiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NIZckcB8Fg9kjn13ESMeQP8Vxzjtf7mRNyYLg_kn-xtxySgKViJOGAQhpbsnla3vaXlCUnkBx1tByyZoQeKAGmAnjKxm-squzbU6fV5Yc7qiptulaU5PbIfwZeKqiVH_EBaAE2wtk8qewLRxY5oT_Oi5Asar0Fd66fahWzynyDNEtP1yH3oPhvFvtGSL9zvIXfltbFAlZ6BTAa9Bt4Tl4iRhzoKNlO3aauiOfq3rYrl6vTslgiv5UIUDI4CMYxtW1Q3vTg5c8nuz5FtisqlaSaBrorRiHeJnXvyYy_olsOP1nqD-n7Ugj11onBA2e6_1-RCvEwXRp7QT42XA-0m5kA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NDIyNTI5ZDMtZTU0Zi00OGY2LWExMTYtMjUwMjRiMWM1OTg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564506293" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzdiODBiMTUtZTA5OC00NzdjLWEzZGMtYzZmMWRkY2JjYzEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564506302" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxNy15TDBBckQ5Ym50YzRhNFZDcHpmekw4bVZvUmZNVkNCdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RW5ruPXp0JFQB0dyLcMb7Yf7WYRs95phdzWXhyUBwRT61IhEE0hoYWWkTipcUVdlTDWnIKElpvOgwEaGdcxCRjMDj2WidQU7Eb2Q7KExHgjpA0OetWc1u9a216f2MjgG6ebVcunZp-izMthM4EK3MP5zf-52yDVwZ2x6jMifXYv2txwl156UvL_Pjv5Av3kyAHXAXjUneulAKrxKkfBy3Yp2RIATCgM4tVsLNwmTcr4r58Pjwqws_nIfbu8yvpiseQfaRL7UpgJYAfW-AVUWcXV7miZT2PIjez-Be1o84oSqkGNgzdhiBbryCDSltC_DN2BzqqEgIpABxo6DvJohgA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTIwMTg3OTItZjk3OS00OTk0LTk3MzAtOWQzZDU5MGVhMWFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxNy15TDBBckQ5Ym50YzRhNFZDcHpmekw4bVZvUmZNVkNCdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RW5ruPXp0JFQB0dyLcMb7Yf7WYRs95phdzWXhyUBwRT61IhEE0hoYWWkTipcUVdlTDWnIKElpvOgwEaGdcxCRjMDj2WidQU7Eb2Q7KExHgjpA0OetWc1u9a216f2MjgG6ebVcunZp-izMthM4EK3MP5zf-52yDVwZ2x6jMifXYv2txwl156UvL_Pjv5Av3kyAHXAXjUneulAKrxKkfBy3Yp2RIATCgM4tVsLNwmTcr4r58Pjwqws_nIfbu8yvpiseQfaRL7UpgJYAfW-AVUWcXV7miZT2PIjez-Be1o84oSqkGNgzdhiBbryCDSltC_DN2BzqqEgIpABxo6DvJohgA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3261" it="0" lt="3261" ct="1" ts="1587564503056" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjVhYjU4YjQtMmU3ZC00NWJkLThmYTItOTM2NmY5YjNmZWM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1546-QglPHLwEKaZFQOOitHipM7Q07SEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="246" it="0" lt="245" ct="0" ts="1587564506072" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-31" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTdmNzMxNDktNWU0Yy00Y2U1LWE5MzYtNzY4MTIxMzAwYWVl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwNy11Tkp0d29lbEhNVDVudDdYTmhZLWV0UHYtZlNmMHBNVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ovpqmUyOzmhicQi9EKn7OQCov10gEsFiMVXIieInkFFW1Y7M42KhKLtcVGWE-8oKa0bubJhL86FJxyuqFk2Y8qvJoFYm4v8xsE6ShdlsGNodalSRh-_4nWSwFGfBA7eQR2_5m1SgfRb1V3clcNOn_b8kqkUQHCpWTTx4bfVgTIWxpGafORYxYURr7plAn_Mgbuwk8rG-HTZoSxNmqFyC_Ebbl9QHkVV-U8TrCv8I64Jf-fn1mfzwNKJemTDm2QA31FCYG-2pJRzA1J4RnhmxMMNUg3O_QDeEfYRxdQuuVYE2ZiFEc1Tdrf20xv0uVUMpAh9fTYT01W-JVklzv9IiLw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MjViNDJkN2ItMzAyYy00NDBhLWE5YWUtNmVlMGYyYjRjMDBk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="283" it="0" lt="283" ct="0" ts="1587564506036" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-56" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTFjOTBhNGYtNTljOC00YTNkLTllYmMtOTM1ZmI5Yjg2MTEw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4NS1uODN2c3lkMC1TaDZVajZqTXdrQ1NoMUhheDhMNjR1MiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LGrmHpHeU7CLMon3Z9VbshKACBuDgpCa_8UIEUJ793F89W0ecVKcwqZit4TleWVsKU6S45kOVeYgx0u1XHKJRhKhUeUMW9ogvZjwXsfLvpyKzuMPUNGv8GfxXJsSYPW0a3sTcWdinyAedVok8pqusYEqBgWlLiIBb-sm0EuLYrQw85IYFIaUH0Tg3V3Ss_H2a3oEdxzCu0BeL_dHZ40_vIWd7-E2leJz6pPIGBCYPJ0p3Yqg08u9nrhLNG37hJODKkscz1Uy5gUI9dZcwD2anh4wAt_iZye6sQirUm3-EEQJwMeLSs4qxNkgdNXweFpaSN3UIAtDvzOvuuBdVQGo_A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODE0N2E5Y2ItNDk3YS00OWFlLWIxODYtOThmNzhkNGU0YzI2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="3248" it="0" lt="3248" ct="3" ts="1587564503071" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjU3OTQxNDItZmRmMC00N2RhLWFjMTEtOWQ1NWIxM2Y2Zjg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1566-j3N4PImDX4tapNLtajdJyTVzQhwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3253" it="0" lt="3253" ct="4" ts="1587564503067" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzRiOTMwYTUtN2EzMS00NmE2LTlkN2UtNzQyNjk0YmM4Nzg3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1519-onzjhZArFSzCaNVmHmwagxRcaG8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="16" ct="0" ts="1587564506304" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxOS15R0VTMnBZMUhEMWw4SHJRVGh2ZzNuMzRrbFVPVFVIbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.k_D1vMzMb9UFQALzjNAdI6HSNj1mR92K-18zvRbTVNcdRN6rRdNMCTJKkaQnzpMT-b-v8LiLXFsPt584n4ZUlOUkuFHcXuLxdOAbhc8Qryzl4Bwl-zFt74DJ3s0buansdA9dzXCEDh3gjrvdLWfwAro09LPj_gevcwVfRzY-gpRYSr9_LiX9t6mRreMP24CPZ5QxvkMiaowC7WR1hCDfELsVprlkoSM7SNUTpNdcMTADrhlIg9j8f8dGXYFDPeBfcM7M00LC-vwpgCPYo6NwknX1cLMkJXjy7Yl4Qhbgg3YH5kg7vFWoq7etCnuoZLzujxeK3W33xtvCJM8lzibdsA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzdiODBiMTUtZTA5OC00NzdjLWEzZGMtYzZmMWRkY2JjYzEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxOS15R0VTMnBZMUhEMWw4SHJRVGh2ZzNuMzRrbFVPVFVIbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.k_D1vMzMb9UFQALzjNAdI6HSNj1mR92K-18zvRbTVNcdRN6rRdNMCTJKkaQnzpMT-b-v8LiLXFsPt584n4ZUlOUkuFHcXuLxdOAbhc8Qryzl4Bwl-zFt74DJ3s0buansdA9dzXCEDh3gjrvdLWfwAro09LPj_gevcwVfRzY-gpRYSr9_LiX9t6mRreMP24CPZ5QxvkMiaowC7WR1hCDfELsVprlkoSM7SNUTpNdcMTADrhlIg9j8f8dGXYFDPeBfcM7M00LC-vwpgCPYo6NwknX1cLMkJXjy7Yl4Qhbgg3YH5kg7vFWoq7etCnuoZLzujxeK3W33xtvCJM8lzibdsA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3263" it="0" lt="3263" ct="7" ts="1587564503065" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDUwNzAzZTktZTI2MC00ZmNiLThiYjktOTM4NzA0YjYwMDI3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1523-9mSwhEqeaIFcwAWRWm0DBRlNPJEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="1" ts="1587564506320" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjU3OTQxNDItZmRmMC00N2RhLWFjMTEtOWQ1NWIxM2Y2Zjg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="3" ts="1587564506318" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjVhYjU4YjQtMmU3ZC00NWJkLThmYTItOTM2NmY5YjNmZWM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="1" ts="1587564506320" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzRiOTMwYTUtN2EzMS00NmE2LTlkN2UtNzQyNjk0YmM4Nzg3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="233" it="0" lt="233" ct="0" ts="1587564506107" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-84" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTlmY2ZmZDktMzViZS00NGRlLWIxYTYtMzk3YzBiMjQ0MTgy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwOC1sV1kxdGlDRWF5blBsN2stVTZHMTJDZGEwZG4zOWllZiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.o635XvIu8sh2r9IjePuzG6n8TGqt7bpQchweMLXfM42Je-aqnk3p0YiaAhhZ1R3vIAKFd_gfnHAXTlXr_fKZittsH0eROBr_SEQGK-A0evbDQTdg3gfU5psrUMtWBLXw6HWej775ay6iYDQprijUJ8-ZAiy0Hc4n2qDJp0v1X6OudmpXjIMDBWXWa5EecDVHfk2KKwXDfSPvOOnCiggfsph0dJg-LKBI02a9c9IgQl3l8QCSjSumpZTp3rFkCTp3QdpaYtbLG6O6bg5DpJGBD3u26e_OgtZXZyBdGIcsMuz57SA9ShkX25Z0wm9aLCcQwxGYjgIDoOx-Rrkj1Kggfw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NTdmYjU5ZTUtN2M1Ni00MzQxLWI0OTQtMDNiOGRiMGVmMTE3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="224" it="0" lt="223" ct="0" ts="1587564506120" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-22" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGM3YjA4ZTYtNWIyNi00NGNiLTk5ZWYtOTA5ZWQxM2UyMGVh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwOS1tQWUtYjdTbkhySTIyZTNhbTVEUzBub1dYYkFESEl1YiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DwiRnRNi15k8Cps0jVaRrp_jMYXOlDwAtd21p4ByVDTfNysbi19S-yS7ErCcRvlZdPDiZDdkWTu_LMFP2MZXqUZGeiT11JCzbjmeBjFofqJ7h99vs0blaBbghvXCS-VdkLcRTS3byatUdRNcID0p7CIhIF4U9LTadaDesvidmgKWJDLXUAcJAQqwJl_U61czuI1oO9TjicikkHK0OhRHXCl4F3hn0uj8_oDranQvNNIQqfP3Jd4PIN4_7ayazxT6bmBoaZELzSCxqWa1zp2X3pywNDnFWwX7k4gdboPMvjPu4cjjXuOUtydehSwuWEozpGgpV73bjM8yGNkwjlA4IQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OTJiMGFhYWQtMmFmMi00MWY0LWFlNjQtMGEzOGRkNTc4YTk4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="1" ts="1587564506329" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDUwNzAzZTktZTI2MC00ZmNiLThiYjktOTM4NzA0YjYwMDI3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564506332" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5Ni1jMGNjU3hDemI4TzZUeTZHcFZ6N1FyNzlyRTNjamN5QSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Q1Gr2JXh38YIc2QzSRr6Br9BLAw-qnw99Qlbh1CXN_FdAqu1h48n4rXwT5ABhkMS8le2JGsTkAyzH8LkEYRefcgt53M5yE33lT-XmeYXc5dFnzJyWIPqe_fytff_MB9a-D_hdnx83oVgE6bxrkP00u8ebASiA5z7uzRU76VcKoLQ7hYLbyy83lvsChR2Kb2zTGBKwWKfQqEmTGT9YiTS7bz4Lu_BxBTDlGbHoaU20FSjdC6G8wpaA6RRbGpVDEwoAWrc-OR65YHc_0viu0RxeWUs5Fl_xaztXZuwgffKjPEdpimaNptqw0ijJJk5kcGQ25QIGDrG6sfgTT_YvGgpUw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjVhYjU4YjQtMmU3ZC00NWJkLThmYTItOTM2NmY5YjNmZWM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5Ni1jMGNjU3hDemI4TzZUeTZHcFZ6N1FyNzlyRTNjamN5QSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Q1Gr2JXh38YIc2QzSRr6Br9BLAw-qnw99Qlbh1CXN_FdAqu1h48n4rXwT5ABhkMS8le2JGsTkAyzH8LkEYRefcgt53M5yE33lT-XmeYXc5dFnzJyWIPqe_fytff_MB9a-D_hdnx83oVgE6bxrkP00u8ebASiA5z7uzRU76VcKoLQ7hYLbyy83lvsChR2Kb2zTGBKwWKfQqEmTGT9YiTS7bz4Lu_BxBTDlGbHoaU20FSjdC6G8wpaA6RRbGpVDEwoAWrc-OR65YHc_0viu0RxeWUs5Fl_xaztXZuwgffKjPEdpimaNptqw0ijJJk5kcGQ25QIGDrG6sfgTT_YvGgpUw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="0" ts="1587564506329" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxNS1SWTMxMndyMmw1OWtEWEN0eUxCa0IyTUNSWGZqWXQ1aCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EEYCDQ0ybFKRJCczluxGA1tq8L09SLV6kaKe5WV1AyZruQcP8Pwq9QXFYVAgDsZfHW_tqbfoBPylYHPvu7f3vBjckKOwn5XxVRU_xPXOwDMG7eXUoRcSsR4zOwl_CIej5gkQOR9Y9TXdD6RXeKIk8sgjOmQ-SBNhL5imRp75_L0cC2_J4ErrhD8Rmfre_7lI7X_PgRkLE5ARhflsoMLTjpXi_KgwL-2tU4cBNe-IjSNzROBfATy-Qqxynux5GE8vUuC0MDl3tJmxOgGrKZh-Kep_nGeG4eT4iApne1TWrjx9G0XSQFTW2SOAe72Js2A5nTNcd0t8BdkDKUwAkMdjNQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjU3OTQxNDItZmRmMC00N2RhLWFjMTEtOWQ1NWIxM2Y2Zjg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxNS1SWTMxMndyMmw1OWtEWEN0eUxCa0IyTUNSWGZqWXQ1aCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EEYCDQ0ybFKRJCczluxGA1tq8L09SLV6kaKe5WV1AyZruQcP8Pwq9QXFYVAgDsZfHW_tqbfoBPylYHPvu7f3vBjckKOwn5XxVRU_xPXOwDMG7eXUoRcSsR4zOwl_CIej5gkQOR9Y9TXdD6RXeKIk8sgjOmQ-SBNhL5imRp75_L0cC2_J4ErrhD8Rmfre_7lI7X_PgRkLE5ARhflsoMLTjpXi_KgwL-2tU4cBNe-IjSNzROBfATy-Qqxynux5GE8vUuC0MDl3tJmxOgGrKZh-Kep_nGeG4eT4iApne1TWrjx9G0XSQFTW2SOAe72Js2A5nTNcd0t8BdkDKUwAkMdjNQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="231" it="0" lt="231" ct="0" ts="1587564506115" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-87" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGM3YzA3MmEtNTA3NC00M2I3LTgxMTItMDMzYTEyNGNlMTkx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwMC0xLWNpZlVOOU9QZ1NsbGJ3ZHNZVUtwdWJIcThUb20yOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sDAOqT0F2Xr2ztZGBFTWOB1JBX-Dm9AjpOX3i38JH8v8A9AHYpI7DouXfPEhzEyyKuGQE2VP8b_ujktG3M77LXtVAe8JtigSg2QzEbw1vkGq7vOkfuWlYZovCTmB3wxAeJP8gxvF7mP3BAAPmO3mz5KgA9ea0jDBOMGtjmAH1wFWAw4YUg2RvlJORcJKLrATmr-ZFxPT9Z1F0hyGe2_Xup_TfkWYn4lp-KQDfQneEf9rq_puF3kmr0YidfBLXGgbR8cyl7VW3_Y3cUypu5WNmGQfUZagfieoOj6EO4jkXFGoUiPbaAwiWu1PMQHVBkWMM8HBVbWZekWot1PbFnIxHA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MDA4ZDFkZjctYjhjMy00ZDlkLTgzOTYtMDI5ODdlYmY3YjM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564506332" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxMy1pZnVaMEZ1alVQeHBqY0ozRWVzZ2cwd2NHZVdZeWY5RSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.p6Qx6sJF1Q9q8GXaqBbUe4dtUq2klu-_T8WRKKb7K5mz2WW1hMF80UNIJYGJoBz0tvKPG7e-g8v40FQHSLV-8lNOECS71x9s4qaqmpcWWMuzPsCfi8pXR0fA1aEv3tAggJa5vvayomDpng9RH12X16p30qq1mz6636JLtKCnJ3Q4oozogsU8HEM6FJe343hY_pge51fuIZV633MTyBfpuSboSDtkJBLbuunPQTTWs9P8GQGRi_OZAOs3pnMBawme0by4DeB1bJjv3vTeESkJjAWQOXRa3jNJWMZwYkbMe5FzJJLCeaNZDd_cu_B3IY4sKO-DvqfVYdvn_16ModSBNA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzRiOTMwYTUtN2EzMS00NmE2LTlkN2UtNzQyNjk0YmM4Nzg3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxMy1pZnVaMEZ1alVQeHBqY0ozRWVzZ2cwd2NHZVdZeWY5RSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.p6Qx6sJF1Q9q8GXaqBbUe4dtUq2klu-_T8WRKKb7K5mz2WW1hMF80UNIJYGJoBz0tvKPG7e-g8v40FQHSLV-8lNOECS71x9s4qaqmpcWWMuzPsCfi8pXR0fA1aEv3tAggJa5vvayomDpng9RH12X16p30qq1mz6636JLtKCnJ3Q4oozogsU8HEM6FJe343hY_pge51fuIZV633MTyBfpuSboSDtkJBLbuunPQTTWs9P8GQGRi_OZAOs3pnMBawme0by4DeB1bJjv3vTeESkJjAWQOXRa3jNJWMZwYkbMe5FzJJLCeaNZDd_cu_B3IY4sKO-DvqfVYdvn_16ModSBNA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1134" it="0" lt="1134" ct="1" ts="1587564505213" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjdhMmU1NGYtYTFiMS00OTExLTk5YjEtYjUxMmZjMjIzMWFk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1588--OYIScirV8H3XKbfuldRXDHzRJsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564506348" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjdhMmU1NGYtYTFiMS00OTExLTk5YjEtYjUxMmZjMjIzMWFk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564506345" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxNC00elRLNGNTOGstUTY4U0ZmcEpWTTVYZVNYTWtLQWt4dyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nZ3gQda9yJINEo3-0DFDzwYMGfPcwWW7WH6NQE_RuvzyzDWcB9wSOn67cmVRAI8MRKqKMV_TpoCwiBsj4oO8MU3cTdpLFUHI7ybmkCSPjcx22_Pbc4-vYhVU20awYiQNsVasIXSwWSrnZUYdOJ1pEe12YH-tXBMvq1GVS9wUphWi8suKdQwoXQoao_M3D2_LT88B9FnB3yORXq-h6tF-P6OpGTfE2ZSLu7mSk273cSXhhFuE6obliusGXF87hcWC0r2CgreioT_Kc2z_w5GDVXgbKyiY3Yk4uuIIMhKTZLaM3guC4TR_tM31MFvklbCSQAK_bgjo2cxcSws8aHyHbQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDUwNzAzZTktZTI2MC00ZmNiLThiYjktOTM4NzA0YjYwMDI3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxNC00elRLNGNTOGstUTY4U0ZmcEpWTTVYZVNYTWtLQWt4dyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nZ3gQda9yJINEo3-0DFDzwYMGfPcwWW7WH6NQE_RuvzyzDWcB9wSOn67cmVRAI8MRKqKMV_TpoCwiBsj4oO8MU3cTdpLFUHI7ybmkCSPjcx22_Pbc4-vYhVU20awYiQNsVasIXSwWSrnZUYdOJ1pEe12YH-tXBMvq1GVS9wUphWi8suKdQwoXQoao_M3D2_LT88B9FnB3yORXq-h6tF-P6OpGTfE2ZSLu7mSk273cSXhhFuE6obliusGXF87hcWC0r2CgreioT_Kc2z_w5GDVXgbKyiY3Yk4uuIIMhKTZLaM3guC4TR_tM31MFvklbCSQAK_bgjo2cxcSws8aHyHbQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="271" it="0" lt="271" ct="0" ts="1587564506089" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-2" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjNlNTI3ZjMtMjBjYS00ZGI0LThmNGItYTQ5NjExYmIyMzE2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMxMC1QSnFNbHVBQXA3aWEtNUQxMXNHLXNvYldmN0E5ZWdPaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WLCW5lO9mFMpJfS3N_lxiU1dwtjbDKs4ah_GWdzTf__g44PH0Z8lnEDOWktNQBpeeoQQDLrMkMaAAjH-PVde_Oy1Z54jjSDx4CYN2irmmmcYPv5nlIpLMhSRop1rQwRNMfJsKbwUcxdewI-6vZw6ioO5u9icE1slBi7u96OXZ_3-0vrg9NR-xwlGkKU3UAM_wCgJemeHa37QptS3vOy10BTEz0D703DyKQdmpx18e3268v55x7K1gJYHE-DQGJxz1-EO9taBBMiAzRSgYzSWzeuC-5q6cuJwX507X22zjnPbeFRxunO2ftu1LRNyRz-sYm8nE90ymf04qlvEMJ6IhA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NzRkMmVkY2ItMGZhNi00ODIxLWI2ZjMtZjdhY2M4MTk1MDNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="253" it="0" lt="253" ct="0" ts="1587564506107" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-67" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTgwYzQ3NWItOTIzMS00YWY4LTk0OTYtMzY2NzYyNzUwN2Vj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5NC1pZGNlYVMyekRNakNkS3Z6VXkwaC0wZjl3QVE2RHJxaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dI99k-KU4EZg4A3ihi1YbrPwHyi3BYOJbM_HOwlF6978JrtznvcwS9xKzmxQUdoH3kdJKK5u9LdqM3RZj_vcVCMvMNHm0IFNpoj91TbVV8I-4ntzOGTTbXcXqTGOVCjnixCWhiS_C9mz8yFxvXx7ojz6y2AXojadMMv2H8fj2rjNymTpcAfCd7d76d2ZukEx6r7LOIUqI24JZwShHC79LYguksAe-K4bHuoe3683jVg4ze0qCgC_My3QY64TnSAryujrq-_aPlo3bQWqmN5Yz8NwMfzv5sWcJS0rGeqgW-Y0rOYVz34n7HNk7z1mOlSZA8ebplAqiTNo9NH_D99wFA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OTc4NTZkMmEtMWIyYy00ZDcwLWJlOTktMWRiOGI4MGVhYWRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="585" it="0" lt="585" ct="0" ts="1587564505777" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjliOGFjNjktZDVmOC00ODdkLTgwZmQtOThlYmMzOGNjYzM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1518-jTITohEt5PiTYJJhXU2pU-wVsKYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="366" it="0" lt="291" ct="6" ts="1587564505997" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=19a94000-749f-42fd-a0e4-10b04a4783d3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="0" ts="1587564506355" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxOC1aS1BJR08zem90NTFLVDR4RUJBOEp6bXZTLU1YMlllRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iWUW7Q9d4Ke_hfezO00uT7QA2IkdH1GQ5b7pn751f4gFFmYhDUXhjiKGy_20ejqBbcw1owgiS0cRVDonDF_f5j-pp-UssguMWPo1WrQRx14OFJntaY66_vcyUX4-DLeGeauYZfkZg-h-aiTsiymp3AorRWnHT8j4ACePsXxbGeUQo6rsJ5_T1Ym4hgb3jB1Gbimgn8MRt0rfcXxixSkxSeKvjdeCqVDLZlcmzxnd7dV9dlnYkAHZpsBgawdW5-hautkq34MjGQKp7t0u7xLnr26AjFDruoKOd9qkTXrJJJMH12HfwXDuQmzZ3xaOaKuLsDoEm-Y8EfbgcD-1Vd7MAA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjdhMmU1NGYtYTFiMS00OTExLTk5YjEtYjUxMmZjMjIzMWFk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxOC1aS1BJR08zem90NTFLVDR4RUJBOEp6bXZTLU1YMlllRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iWUW7Q9d4Ke_hfezO00uT7QA2IkdH1GQ5b7pn751f4gFFmYhDUXhjiKGy_20ejqBbcw1owgiS0cRVDonDF_f5j-pp-UssguMWPo1WrQRx14OFJntaY66_vcyUX4-DLeGeauYZfkZg-h-aiTsiymp3AorRWnHT8j4ACePsXxbGeUQo6rsJ5_T1Ym4hgb3jB1Gbimgn8MRt0rfcXxixSkxSeKvjdeCqVDLZlcmzxnd7dV9dlnYkAHZpsBgawdW5-hautkq34MjGQKp7t0u7xLnr26AjFDruoKOd9qkTXrJJJMH12HfwXDuQmzZ3xaOaKuLsDoEm-Y8EfbgcD-1Vd7MAA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="257" it="0" lt="257" ct="0" ts="1587564506118" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-3" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2Q4MjQ1MDEtNGZlYS00Y2E0LTlmMGItMmM3NTIzMGNmOWMz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4OC1ELXVicUpFRUY0d1lORlA2ZDU1bjdRaXhEY3lUVmRuVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.spLj0Jh6JsziDUnHq9LBfcUoQ5YsSAwycUyoZAgUF86bP4DMCb6e2QsgWQhZvgZ0jmntVp7UEmYwfzKeRooH_lrrLyYKHYt5_LDWAIQQP9wCtSpCD4vlHTDCnOgLk5kPhpdNqYpebjRnXkc84ZAwQ-P5Q55kkvMViklOe7MRr8WA10ddC6q_sElpywX3TpEG1-k6mUvL_HhOR0QcCWbg9tKEJvXMUIgeBWSp_4aI8iAMDBzMWnLmHNsN7VRBD_gn-OliM1NjTKEUogEffnxBClZlzExsSpoRiB-IGg6ub1p4jEnuln7oXyEC2iDFBc1x3TMfHHJS5U6UhjboNYzCkw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MGRlNTI5NmItMDAyZC00ODRjLWE5ZTktNWY3MTU3YTg2Y2Zi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="269" it="0" lt="269" ct="0" ts="1587564506106" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-86" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWZkNDNlNDEtMDZlNC00NjM4LTlhZTEtNzQ0OTRhZTA3M2M1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4Ny1rT1U3YkpTcnpmbS0ySEYwN2J2bTNZZkotOC1yM0x2dSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KbNJaqsG4Aa0qi2J2cBSwc27hz33agyunSt36WD4hO296ztGNZG0yY648Lyb3uJZRb5PcrTqNZzDbP1xRQU9FBWKuJSMRArBnBaxcGLDTyMEVMt4ePCfI-dnkiEQEtrbirrBzlywyArEYYBn2zRaTRpCmpc72H3WcSUQD9zs_QV_qjWBRYqu_68_YBoV-62QtZJwtkf51Benb9ONATZSfONBJ6f7Z-Mr5D2YEmMUw9RTH-ia7uWEBkTcLKo1Z4f6WJztvx6SrjtOtKvy0XkoRoF5GQvw4wz5OpeLrso_5UXLVoe-isrsw4mCwgapO5o3LjyFDfRS5WRpLZQTIZ3Veg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YzBhNTg5OTItZjJiMS00ZmJiLThmNmYtZDQ3NmU3OTQ5M2Rl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564506363" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjliOGFjNjktZDVmOC00ODdkLTgwZmQtOThlYmMzOGNjYzM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="366" it="0" lt="289" ct="10" ts="1587564506011" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-13" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=bb72cddf-51be-447a-8dd2-c97093cbf95c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564506377" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMyMS1UamFuMkhoVVhOWWZhcVN0eGNmQThaNmxhb3JlQnhnbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iNSlz1n9yJU_40bhY3bEm6pnALWbB30k_rzpfdG-6gaXsEnlSN87anjUTEiEJZkkR-ZpVQDaHGbHNrzvU3ftm1gwPIL9uwTLwyku9SG_s-UllHCMkkampgLLetIBJVgR8C2klexBzYeVQlEbR_sqclRvi0b6xvBxF2Cg6LL06xPwG-zU-zgjmhMf50lS0qMmJ9Y-DJkAZb13TOsxDd3wLBYOhB54Vv53RQqKieEsiTjCaefKPwsH0dwGPgciVDn7-hZlTOhGmSzkFUOsqBSOKWZQlfx43AVp4Dc9M5TAufCoIHqy2igiKqO5OwGxdGE8Zve7phnVo5V15agdVj4_HQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjliOGFjNjktZDVmOC00ODdkLTgwZmQtOThlYmMzOGNjYzM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMyMS1UamFuMkhoVVhOWWZhcVN0eGNmQThaNmxhb3JlQnhnbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iNSlz1n9yJU_40bhY3bEm6pnALWbB30k_rzpfdG-6gaXsEnlSN87anjUTEiEJZkkR-ZpVQDaHGbHNrzvU3ftm1gwPIL9uwTLwyku9SG_s-UllHCMkkampgLLetIBJVgR8C2klexBzYeVQlEbR_sqclRvi0b6xvBxF2Cg6LL06xPwG-zU-zgjmhMf50lS0qMmJ9Y-DJkAZb13TOsxDd3wLBYOhB54Vv53RQqKieEsiTjCaefKPwsH0dwGPgciVDn7-hZlTOhGmSzkFUOsqBSOKWZQlfx43AVp4Dc9M5TAufCoIHqy2igiKqO5OwGxdGE8Zve7phnVo5V15agdVj4_HQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1184" it="0" lt="1184" ct="1" ts="1587564505209" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzY3ZjQ3Y2UtOGUyOC00ZmY3LTgzNDctOTJjMTgyMTg0NjFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1596-6eKd1ZN2rVzHaexHvsJv353jMb4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="266" it="0" lt="264" ct="0" ts="1587564506128" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-6" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTYyZDI2OGItMTk0YS00YjZiLWFjM2QtZWMxZjA5NmVkZDM0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4OS13OUtwNjQ2WnVibkNYaEQzRzRrWG5LNHFMNEZnNi1XTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FtNZOtHvrSqVLXHWpENbMmGe9yo13DhrJa8rtkzv_VqTdqEIrWmiBxz2oAHkBLsOGhXlvwv6CSmkXqWruHMSRlWWUwEZ-n2nl4eRJGitZzsfdyr21UfBWuQ79NisLzlA0yNwTX8BsjJre3BPQpdg3TpO1Jzm5zqHhSUuCf5Cz7o-QvKsO1uLCfDY_2caRfha8Vrg8Wkk8AmdLrvRnUat8FUTO1lGd5EhIOhfL7eRp1SoghRpA6M4PKw1XTWw275g94HDbhdraMwbNt8YiQ-00iB_W8V55AjV-GmfnZJrNc2hA_gG0UdDDrVndWpgkGG5XURUGOydeE1nE9ch8Gil4A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTM2YjVjYTAtMjM0ZC00NmQ3LWFkZjEtYTk5Y2Q1Mzg5NjI5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564506394" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzY3ZjQ3Y2UtOGUyOC00ZmY3LTgzNDctOTJjMTgyMTg0NjFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564506401" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMyMC1FN0lDUW9uVmxvZlVjdFd1NVE3aDdvNGhxSmFzcWR1TCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hn6GpOejD8ZEg-GqiMZrJMVeyMJciQ0y-Mi-NHZwJGcZHclu1F_s8o-gHd3Ryx7oC4DuhnUqtqNvotIuIZVRwaiVbNgBC9SmBbxWAPlBCGGI45XDi_y7SPmf5h8p71zxLSs4bbTTO-FD6O8NuVjT-WiGXrLPHu7qwKFeYl4cM0k3GiORjkZ3y-JDANfCHbNQ2yT2uLiZUdHYTQfPz-4eqeBsf6HwptAWpnGAfh5S5rvbuBZ6SeTXLbghB16Mj2hdSIM4Q44PeP-mCLjzlHdHFqUVF-uLbFY4kNr1rAso9jSNLzwHC27vQ3LKTtxF0IgQJTZdfSpA42Dt-JA4DTqfmQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzY3ZjQ3Y2UtOGUyOC00ZmY3LTgzNDctOTJjMTgyMTg0NjFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMyMC1FN0lDUW9uVmxvZlVjdFd1NVE3aDdvNGhxSmFzcWR1TCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hn6GpOejD8ZEg-GqiMZrJMVeyMJciQ0y-Mi-NHZwJGcZHclu1F_s8o-gHd3Ryx7oC4DuhnUqtqNvotIuIZVRwaiVbNgBC9SmBbxWAPlBCGGI45XDi_y7SPmf5h8p71zxLSs4bbTTO-FD6O8NuVjT-WiGXrLPHu7qwKFeYl4cM0k3GiORjkZ3y-JDANfCHbNQ2yT2uLiZUdHYTQfPz-4eqeBsf6HwptAWpnGAfh5S5rvbuBZ6SeTXLbghB16Mj2hdSIM4Q44PeP-mCLjzlHdHFqUVF-uLbFY4kNr1rAso9jSNLzwHC27vQ3LKTtxF0IgQJTZdfSpA42Dt-JA4DTqfmQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="419" it="0" lt="311" ct="12" ts="1587564505991" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-88" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ef87cc65-8bbb-4dad-8462-f1736782412e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="301" it="0" lt="301" ct="0" ts="1587564506124" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-73" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGU2YzBkYjQtNWVlMy00N2Y5LWJhMWUtMDdkMjM0NTg4YmQ2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwMi1TZzF4b1otclhjalhnenhnbWw4cGhwWnR5V2VXYk9JbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ek_8fP3YuOdPALQRcw2qi0GtylcZhKzj5npt_u1yNVm-eoKAVaQE5gGnXxb3MZuOACA4RezXv7tSn7z0rdh7bPgmLARQsQsd7_Wt5iIISVyuuy2dSNqRLeG4_ovfOZ0SqjNDF9emkhjLmh_8ZdHgxBTXWhlKVJzbqNNYPHGtkBsx-0_j22RMKNtOPWnR30wkwL2drkxDbSOkEH1IVfR934aRmFGg54F8c_a62oiiCiRGVpGlC5Q9-wexLweYS9FpGBUaTy1b8S93QDUVGidMXRsyQ-COWAAYAEov-NRLbFzTAL0wAQUTgwgjku9gx7CVpbBIo1RdQWfne-sqMvhRnQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NzA4N2NjNzQtZDczOC00NWVlLWEwYTMtZThhNzcyNzg3OGMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="439" it="0" lt="371" ct="15" ts="1587564505988" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-85" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=01ff7737-a821-439f-9f43-9e8bfe8d8feb; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="415" it="0" lt="260" ct="5" ts="1587564506016" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=171b4a8e-0aed-48aa-a764-5b2cd58ac8a3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="321" it="0" lt="321" ct="0" ts="1587564506118" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-8" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODMzMmJhZmEtZGIzMC00NDhkLWExZGItOTJlZDcwNjg5YTAz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5Ny1XR1k5OUwwNkZGU0FSOHJRSkdNY2c2TDhTa3Z0eEJNTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pEgiGzr5GDjXsHiQ4iVtPjsWK1z02Lo4shIzccu7emjUoYQqIU2Dd2bna8UMu2WL_JAFVS10BhWLtq6HZ54QhIlwERf-WNzrGFHrKWRQwqG_nSn10NRl6idDVLbRW9cs2oTPdviKONj6nkx-N7xx-Xb6DDUTlxyMH6w_JWZQehBk_VZlx3axerIcscPFrHzi9vUhevAqYs3lPdDG7yrAHcm3T-Af77a8BRag6F6R_EnXTzuQRtE07fmLLwhX4KBNtkD1U00g84UhDFEWPal6VqE7iKRnBLB8vvA-QMlXr-wsdYYiTYkstvgU6_OcL_-TgkiDK8pmvVvfHfokfXkEnQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWU3MGE3MTMtYjliOS00YWJlLThmMGMtNDgyMGE1MDE0YTc4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="443" it="0" lt="376" ct="6" ts="1587564505997" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-4" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=18f4d966-4e0b-4271-9d48-cc987fc1fefa; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="418" it="0" lt="128" ct="1" ts="1587564506027" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-94" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=5e0fefbf-cd7f-45a6-93f9-54911e499c71; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="387" it="0" lt="223" ct="9" ts="1587564506019" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-89" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=5c6a296e-ce96-44ce-a35a-51e6dda93586; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="432" it="0" lt="360" ct="0" ts="1587564506119" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-32" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODI4OThiOWEtYTBlOC00NTc4LWIwZTgtYjQyZTdhZTNkYWEz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwMy1jamFyOC04aVkxLVhkdHZ1VVpseGNZd2NkQlJTTkZkdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.S8rsNx3CM9_n3dI-_hY1WjIspQ0_IqtDrdRDu28vBZvBVBv0NkmRD-pXQtwgoGDsQkZRLwbYYVJaT1pcGyUGQS0dnfPvgKR3-dS7QtSi_x-YkiPj7Hg-WQM04XC7ASfs4ERPgACsA8yPGa7jwmTV90mXnJwv9lHgCyqstEES-8AJ_a1R0F5DwL6nKipINzX8bXGPRxGIkslAUievdlM9Kj2KDJszsq4Mo7pZb76faSurRicMYa7armhG0LbsmkWJFTpy_QpcYyDu_NuLmSy75fztOFu5fdEG7s-db0kvLB56201Tmcrc99aD-FfO0lI9mtusGY8LSeFfyBAzQZau4Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTE5ZmZkNGItYWFhNS00MDcwLWE4ODEtMTMzMWE3NTM1YTA2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="330" it="0" lt="330" ct="0" ts="1587564506131" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-26" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTZiNmY0YmMtZWNhNS00ZWUxLThkMmItZTMyYjE4NTE3N2E2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwMS1ZdUdMSWxXS0NTc2lHWnlpWmVsVC13V2UtaFp3SC02SyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bO-RkhWkq8xWrWzo__Upg4mMYAr2SkwGHdQo0suko3GqBoT0sAdvxeXiFjmLBe2DqWkrw5L_D8AYuu7uqVifdCDhQpvamjm8f0bLcBUgYRzJT_VzUrw_4hQK4WvYnkpSye0fQM2cIpNwmyKWEe8xvJzO6XdrngLAEztd6xVc1CXqMcuJPfMq4dughX_bp_RcHFlBUoTJeYUdJlg_6b-Ro9BsjeI8NvcLQ92S9fL1d2CHJX4uJ11vnzIwGqpe1RUcH2o-JruyU42Et2RoDQUfOB-PWGfvOFso4NCr0EbzV6co2DvIugB_clJ6GC0hr5X1pGmDj86bOpgmobu1Fipy_A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NzExNTQ2YWMtN2MzNC00NDFjLThjNmQtMjg4NzY0NWY5ZGVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="528" it="0" lt="452" ct="3" ts="1587564506020" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-98" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=4b84a930-efbc-4890-9c12-1c073aa85180; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="330" it="0" lt="330" ct="0" ts="1587564506220" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-17" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWU3MTYyMTQtNjMwZi00NDcxLTkxNDctYTU3YjY3MjliZDBi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5My10c01OTTRzMFYwZFJ3OWJZYTREb3htWG56M0ltUUo5LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nJt03zDr-X6F3F-R9QVZZtbjEimYwZAgKFnx4Z2zrURo_lW3ighH2Zn50zF2xsnJprngo1Xo-Oo6q5c3sD_1BGz6N2NiwBsPAkK365NTkf8NPjIdubJXA2-yduHm46xLrnGYzkwPLkOkfEiDfP0rsEHefCoYHnfY63dhrhxUYwL5ldldgEf7XqIr8VB4HVxzcm2URCW4-hyehdNF8xyq8F05F5SdB5DIhgwF44N2wXGZHCSa449hOLrN-b0Me7C-iGSPBdRKvUmuER3DWVaz_3CX61KipW6TBG0kRIa_JVJzqM7XHVj_BhK5jf--tJgDqM8dLfieuNcAAtXLoeisGg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjQxNjg3MmQtZWIzNi00NWNkLTg1N2YtMmRmYzUxN2YwNTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="411" it="0" lt="262" ct="4" ts="1587564506025" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-93" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=1b8a16ad-0756-412f-a150-21169ea1886e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="56" it="0" lt="56" ct="0" ts="1587564506552" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-32" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmNmMGEwOWYtMTkzNi00ZWU4LTg3NTYtNWUwYTA1MWRmODA4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwMy1jamFyOC04aVkxLVhkdHZ1VVpseGNZd2NkQlJTTkZkdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.S8rsNx3CM9_n3dI-_hY1WjIspQ0_IqtDrdRDu28vBZvBVBv0NkmRD-pXQtwgoGDsQkZRLwbYYVJaT1pcGyUGQS0dnfPvgKR3-dS7QtSi_x-YkiPj7Hg-WQM04XC7ASfs4ERPgACsA8yPGa7jwmTV90mXnJwv9lHgCyqstEES-8AJ_a1R0F5DwL6nKipINzX8bXGPRxGIkslAUievdlM9Kj2KDJszsq4Mo7pZb76faSurRicMYa7armhG0LbsmkWJFTpy_QpcYyDu_NuLmSy75fztOFu5fdEG7s-db0kvLB56201Tmcrc99aD-FfO0lI9mtusGY8LSeFfyBAzQZau4Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ODI4OThiOWEtYTBlOC00NTc4LWIwZTgtYjQyZTdhZTNkYWEz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="417" it="0" lt="417" ct="0" ts="1587564506126" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-12" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzJlZmM4YjUtOGM3Yy00NjgyLWE2ZDgtMjk1ZDhhNWZjMjNh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwNC0zVUNBTmJIS0lsZS1TLUpmb0dvSjFmVXBpT1BudzJiWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IjeF4W3-xbLceDnATnaw6myc2lGlqqRkB_bspa7Lagj0Xh1UNfDYzZ8Q1Z5EcLj_1e0PZ0uhxQT-EDYy1kPQEIJOHV2y3kZOmuub0k2mzSVAaS8aAYRtsX4jINNov4kU2ihbdbtGfCiFgxnQUB7jr1NCxlqN8N6XdsvvvuvzL2vc7Ben-v2CKhwB0rLUt-coPySfawd0zy3qjXArMIEV5yC6M9IxYaFi5e2valAdeqZ5_0lDtA-tCOCIGSALUGiwKF6M_KRzCaX-98T7mbLIc9-B2jY9O40M0cpUIT5Bpp8oXtQQqme9zV9tze_ECYyyj5IW3j2bT3i7tL5PhE9Vqg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzUxNWVlYjktYzI2My00NzM3LWJhYjMtYTBiZTEwZDI0MTE0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="520" it="0" lt="420" ct="2" ts="1587564506002" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-65" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d98cdc94-5e75-4e35-a5e5-2ae48a11eaad; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="299" it="0" lt="299" ct="0" ts="1587564506244" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-24" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDk1MGIzZGQtNmRhNS00YWVlLTk5YmQtZjcyYjk2MjlhNmE4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5OS1YUS1iRHpTUllSdDhzbHlFWHR4cVgxQW5pUjJyWEM3ayIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.W78BTqLBBkn1XsCcD2dFEyPmbNXkZKHo6KphFpgstq4G4aCIaBFSwY2WoTn4FZTG4EfKDIUD5Wt-0Xl65ErIAL5qbMOME3D5cdIAA9lj1h4BScuJih0G1V3dDJCEGraxlicODn0e9XBZ5HKgflv_wOa0a0bLTwEbbALn_W7hXSiUNkwLMG1kWKhgnGkQAjJ59G4R16_CDsXBfbGsN4K2iGJ3KC8Me_WtpZR9BH3JIn2cUHFxgPkzF6a6UeMLAUc_Qzv-_Sl_BsNsyq-qlYCbnUBYsC6EIOQDSHybu9f6IZtYGVPqRgboXPKlOGjUDuKQfZu8DjAUgrmdbTgDaHp2Eg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDQxNTYzYzItYmVlMS00ZDc0LTlhYzItNDQ0OGE4YjRlYmMx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="396" it="0" lt="345" ct="5" ts="1587564506019" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-40" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=01e2f589-d5be-4833-8da0-60933c34d192; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="167" it="0" lt="167" ct="0" ts="1587564506376" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-3" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTFmMTZkM2QtMmQ0Yy00ZWYyLTkzZjUtMzNiOThmMjFjNTgy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4OC1ELXVicUpFRUY0d1lORlA2ZDU1bjdRaXhEY3lUVmRuVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.spLj0Jh6JsziDUnHq9LBfcUoQ5YsSAwycUyoZAgUF86bP4DMCb6e2QsgWQhZvgZ0jmntVp7UEmYwfzKeRooH_lrrLyYKHYt5_LDWAIQQP9wCtSpCD4vlHTDCnOgLk5kPhpdNqYpebjRnXkc84ZAwQ-P5Q55kkvMViklOe7MRr8WA10ddC6q_sElpywX3TpEG1-k6mUvL_HhOR0QcCWbg9tKEJvXMUIgeBWSp_4aI8iAMDBzMWnLmHNsN7VRBD_gn-OliM1NjTKEUogEffnxBClZlzExsSpoRiB-IGg6ub1p4jEnuln7oXyEC2iDFBc1x3TMfHHJS5U6UhjboNYzCkw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=M2Q4MjQ1MDEtNGZlYS00Y2E0LTlmMGItMmM3NTIzMGNmOWMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="538" it="0" lt="443" ct="30" ts="1587564505997" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=1c648e1a-02b6-44d5-b369-96b6c20e0010; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="429" it="0" lt="279" ct="20" ts="1587564505984" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-21" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=051e83c6-b055-45a7-9e77-7d27a9270ee3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="340" it="0" lt="340" ct="0" ts="1587564506188" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-64" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmVjNTVhMDYtZTQ3Yi00YmNkLWExYTYtYjM4Yzk4NzFlMDQw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMxMS14bHRMYVBCazRYdjE3cHZJVmxNV2NRbEkzWUEtWXAtLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.JWhU7oh-3tGInUTlHCi8ban6Of21APRgv1iPVjt8A8nk2poIMA4y_1gP2dA9s-uPEJWJpaG_jg7vrHJx6zK7EegLrzTXY39zPropZhXE16kDqd2rYm5ReWPXWLWIr3GA6AubG1HKDrQZNfTh7TPPvR2teXVB1GvR0gvf5XoPolCBx3oXYN3m8Y3wNNDkDDOWjq-cLQfEHX3TcMS-wAEOeJQIYRV4wg3HUv9_VCg-Kue8CQPh1AKYUeRxbO3aOZwUIyiihDrj36f09snCa8PONjMEBCwKEp-krNVk-ShYtglvjehTx71iPGNZRckubZUq3r2kvQgkaxtzhjEyokG1kw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NWY0NjYxOGMtNTI5MS00ZGNmLWEzZjgtYTcxZWE3OGUwZjU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="152" it="0" lt="146" ct="0" ts="1587564506373" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-92" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDUxNjAxYWEtZTdjYi00MDBhLWFhNWItNWM5NDFmNTgzNzY5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxOC1aS1BJR08zem90NTFLVDR4RUJBOEp6bXZTLU1YMlllRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iWUW7Q9d4Ke_hfezO00uT7QA2IkdH1GQ5b7pn751f4gFFmYhDUXhjiKGy_20ejqBbcw1owgiS0cRVDonDF_f5j-pp-UssguMWPo1WrQRx14OFJntaY66_vcyUX4-DLeGeauYZfkZg-h-aiTsiymp3AorRWnHT8j4ACePsXxbGeUQo6rsJ5_T1Ym4hgb3jB1Gbimgn8MRt0rfcXxixSkxSeKvjdeCqVDLZlcmzxnd7dV9dlnYkAHZpsBgawdW5-hautkq34MjGQKp7t0u7xLnr26AjFDruoKOd9qkTXrJJJMH12HfwXDuQmzZ3xaOaKuLsDoEm-Y8EfbgcD-1Vd7MAA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjdhMmU1NGYtYTFiMS00OTExLTk5YjEtYjUxMmZjMjIzMWFk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="3487" it="0" lt="3487" ct="6" ts="1587564503032" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTdlZjdkMzEtY2E5Ny00YzNlLWJiOWQtMDRmMjE0ZjA2ZDBi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1561-6p3B3EwgLwpid9ywlxhmBlHoikEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="274" it="0" lt="274" ct="0" ts="1587564506245" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-20" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODIzZDAxNTgtZTZiOS00YjRjLWFmMTQtZTdlZjliNTQ1ZDZl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5MS1Eai1yTWh3cnp1NGUtR0xRVk9MZzNYLWpGRjdwZ29XaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.G3nAXyKrNReKoIXPIYEtpIzUfJE3kqo689K-o7hxX0e0QNM1joC_li_T223MpvfQpcF6qg-WaZ_vuyhaeOYNF1fQpYPdNNjbOM6JvETTwDX5KQ_3dmkx0fArKaf4WvFBd8hHQ8U24h2PzLL-7mi1vmP2aCdz5tJd5ZgRO2yMwAqQOTgH7Te2vRttyMkcbGeE7qAwHg9TyEYYyG3yRbrrhgL25UL69YsxTVKK89ox70qwdZNEpT4lqNdh432ibiTDJHlfaphbGNJoMjv184P3lwyntHy3Wsa0mmIqNhiyHyy2iJONTCk9kI1Q26LxyyF-FLYJKCjXKnxnMbF6_XY98A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MTlmZmRkMGMtYzcyYi00NDU4LThhODMtMWIzNTlkODJjZmYx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="214" it="0" lt="214" ct="0" ts="1587564506302" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-69" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTc4NjQ2Y2YtNzgwNS00NzI1LTgxYTYtY2MyNjY1ZmYyYmNl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5MC1CaXBDWlplLXBVVmQtLVdDNm9MZWN6bGJhTm0tLUpXMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iSpC-dKxqC8rg3U-YYJ92Ce5EKuqjkueDGiAp5O4fWLpIs90SnyJWQEhYSxN_Ir_rsbQc1KfOJCXoYxTCPhp0NeeO_IMcImHfwPOuNPLX_XA3lf3HxnUyom61ABnuX_E1_ImsUPt96lQIUUNmUhLw_3ysDrONvncdWD18XTBoaFnPH0NiegIBP7ID3eVTqjp3wvRs0KIPfX7van-8HbFQiTaJJKNH4eMeilyyIz-acKmebyOFZRABl5SIaXgG9BWsxj0tTnf0kAV8gPoS_qPcaB80aAC8vVJ3xjfVOb6-J-lk4W7G34h4QPbr4G-RW-Ug_IScpz1NaER0QdAPNBXVw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzZmMTM3NjYtMDAxMS00ZDI2LTk3OGQtYzNkMzM5ZTg1OTcz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="212" it="0" lt="212" ct="0" ts="1587564506303" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-53" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjVhOGI5MGEtNjRlMi00Njk5LTg1MWUtZmI3MDY0ZmU4NTI4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMxMi1XZ2ZMbkg4ZFZ2ekkzTnRzcTgwSjl3TUdhUE1vNmJ0WiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NIZckcB8Fg9kjn13ESMeQP8Vxzjtf7mRNyYLg_kn-xtxySgKViJOGAQhpbsnla3vaXlCUnkBx1tByyZoQeKAGmAnjKxm-squzbU6fV5Yc7qiptulaU5PbIfwZeKqiVH_EBaAE2wtk8qewLRxY5oT_Oi5Asar0Fd66fahWzynyDNEtP1yH3oPhvFvtGSL9zvIXfltbFAlZ6BTAa9Bt4Tl4iRhzoKNlO3aauiOfq3rYrl6vTslgiv5UIUDI4CMYxtW1Q3vTg5c8nuz5FtisqlaSaBrorRiHeJnXvyYy_olsOP1nqD-n7Ugj11onBA2e6_1-RCvEwXRp7QT42XA-0m5kA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MWFlNDlhODQtNzlmNS00OWFmLWIwMjAtYWIxMmUxMDU4YjQw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="195" it="0" lt="195" ct="0" ts="1587564506320" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-56" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTdlZjJiMjQtNTFhNS00MDIyLWJkZTUtZWIzYTU3YmNhMWJi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4NS1uODN2c3lkMC1TaDZVajZqTXdrQ1NoMUhheDhMNjR1MiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LGrmHpHeU7CLMon3Z9VbshKACBuDgpCa_8UIEUJ793F89W0ecVKcwqZit4TleWVsKU6S45kOVeYgx0u1XHKJRhKhUeUMW9ogvZjwXsfLvpyKzuMPUNGv8GfxXJsSYPW0a3sTcWdinyAedVok8pqusYEqBgWlLiIBb-sm0EuLYrQw85IYFIaUH0Tg3V3Ss_H2a3oEdxzCu0BeL_dHZ40_vIWd7-E2leJz6pPIGBCYPJ0p3Yqg08u9nrhLNG37hJODKkscz1Uy5gUI9dZcwD2anh4wAt_iZye6sQirUm3-EEQJwMeLSs4qxNkgdNXweFpaSN3UIAtDvzOvuuBdVQGo_A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YTFjOTBhNGYtNTljOC00YTNkLTllYmMtOTM1ZmI5Yjg2MTEw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="209" it="0" lt="209" ct="0" ts="1587564506303" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-60" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmYwOGVlYzMtOTVhZC00YjgyLWFhZDMtZDgxYmZhN2U3MDFh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5NS01ajBwamlJOVMzQnMwdUYtaktxdjJIckdaMTZtVUY5UyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OJJGLUpR2QHgx8tV5v9RjXiYtDGb-Q9tfKwlsezDmKiTvCjWKH0og6idvPipbn9JcgtDCRwuUu1wX4zRsSU1AmTzqgvGY3Rf7vcFFgGH1VVOWJ4PFkWzmrt5Cr2Iup0or1CzkOs3AOzHy7zucY3343aEIhkmB5uvYo_DrONndk9twWTd07aWlruoyLFobjdEvDeBNVOEU6CEqgAdMILyYhWa_0e1pPmAF1iBfS8cRygydMI88Zmmd7aekTJscR__TLY3BSat7xq7eTazd7u5XM3ZEt8C_MKMXg6xZR8_J9fi3WfZEsRlVuTxWG-CxX_wmszYB8u8j5gfRGH0Q1Y4TA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NmQwMGMxMzUtMjNjMi00NDRhLWJjMDYtMzFhMTA3MjBkNjg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="334" it="0" lt="334" ct="0" ts="1587564506129" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-39" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzRkZjdkNmUtMzg4OS00ZWNmLTk0YmItZWY1NTcxMDdiODQx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwNS1uMzBEaEZ5azVUNEpycGdvdWNlUEpRc0dSc1RsaFROWSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ztg9UGgfbzEMvVQHC0l9w206gTFeZ3KzhqO9WGXlQQRwysYubF6yjPxqVE4fNG4aXLWxByrs65WEa8m33p15x_N9_hE2x2DvFEXsOHexTGbvblloQ9iqZ91Di6U0v7WXSRzHirEwJeKHjgQY5NQv4uI4XJrpujnXNP1oRNI8_cFiQyuwVjnxqWaysqM1r7HcnXJTO2j8KCh-c6QTw60zTLWXqy9hpsCZrWJgML16I4xba1K5N0lFYLQeET1N8kP1F4I_FJInGGaN9f5ckQlWAal2KGIqugk29SUy3X3EfyIpsmomAfMtn7iw-lGEL7SsCFZwDGYjR75HQTVJI5RQRQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MTA4OGZjYjAtMzA3NC00ZjhhLWI3MmQtZGNhNjEwODBlOWRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="344" it="0" lt="343" ct="0" ts="1587564506125" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-44" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjM1YzI4YzUtNTYwOC00MDQyLTlkYjQtZWI4ZDM5OGNmNWIw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5Mi1MNThSRWE2ci0xRTZuczVsVUdibjRCWnA0VE50YmNCMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MkelPIaoqX_RyET118lrNu7J6EPLWib_7bJPAeipGeNzt6uG-slgN8JWwds25lJhGC2uPw74xiTgxUKl7Rox_bDzpzkRMiulLzu0TlH1k0RhKyy6qnvEO1boLVHz0ewMMDQA4e6GQ8oAedzPJmvsgNs5r_LQu5j30uzy-FOi1jIe4CLYwqW7Qa2461uoQCFGbPq5HtnUdU_UIYEkCu22cxDbTzNDeiPWscBnyUokCPW_-sheBKgi6kMfMD6lhD2oJuFRpKw-yQM9p6fERQLdD61jJAeFAUjVa8LkC0etlxdNFXQ5dhZgz8W2hPlxk6dA9Rcs-G7-GhHYR4uAD61-CQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MDc2MDUyYzYtYmI2OS00ZDM0LTg5N2ItYzRkZGI0YzFmNmU5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564506621" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDFhNTNiOTAtMzY5NS00NTdkLWE1YWMtYjJiNGM0ZjNhYzg0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="337" it="0" lt="337" ct="0" ts="1587564506130" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-47" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjVhZmMyM2MtMTBmNy00YmQwLTllNGItMjMzZjlhOTFmYmY5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwNi1yYXdKTU9yZnVETG1pbkhEUlhvd0d2SlFnYWE4YVdjQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jxDvP0FgRGVd0w-OK0zJe5q22totVsMm388wgpZJJnteAyMRltcdtPOMOqqtF4kZ6AnDJVjHGR7ikN6x3s0Nu7CsJZ8aVYtXjf6n7x8CmWIfKcioDk9Ox-oSxxHIauy03z2jbULAryaqOjd5KMwj3FP0rBzEdQVPmZ23cgUFNLqzChltyQNAvGV5TP_SWy6JCMABKaJVqG53UglWwfuMlUy32MkYHoOW5ILrB5blDN-r_xy4NM1VILiTVvroM7zta5HDh9PpYP6HdztfVt-HWvts8LsJTT0xD78qiw3yK3iyFD4FGcl1Yc3UD5-D2KE1_rN_gDYSGjseXMKsP7jNig
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjA1MzViZGUtNWQ1OC00ZGYzLTgxM2EtNGZjZmNhODUxYjUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="450" it="0" lt="385" ct="33" ts="1587564505990" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-76" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2836d120-83fb-4664-8e5d-6364bb53a0f4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="427" it="0" lt="360" ct="19" ts="1587564506002" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=bd611c0b-d00d-42a6-9178-b79d92d51c42; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564506623" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWViOTRkZWItZjA2My00NjdjLWI5MmUtNGMxNDVjNGNiNDgx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564506619" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTZhNTk4MDAtNzg4ZS00MTI3LWExMjgtNTFjNTE5NjIwMjcw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564506622" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzgyOGJkZmMtMzc5ZC00OGQzLTg0NGEtMzRhYWFiNTA5MGZk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564506624" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDc4MjgxMzItZDYzNi00NWQ4LWEyMmEtZjA0MWU5YjljNjI3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="513" it="0" lt="281" ct="10" ts="1587564506018" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-77" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7697933e-a342-463b-9ed8-e2e0c222683d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="448" it="0" lt="436" ct="4" ts="1587564506024" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-33" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a352f07a-d000-4f38-924d-91c4ddcb797e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="489" it="0" lt="427" ct="37" ts="1587564505986" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-7" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=43519430-cfb0-42c5-b768-89477110712a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="443" it="0" lt="148" ct="21" ts="1587564506005" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-80" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e0154498-d216-4c45-adfe-28d1135163bd; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564506628" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTZhNTk4MDAtNzg4ZS00MTI3LWExMjgtNTFjNTE5NjIwMjcw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="485" it="0" lt="455" ct="30" ts="1587564505993" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-75" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=53aab6c5-a7d1-483a-9b80-c2aa5f7af82c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="457" it="0" lt="423" ct="17" ts="1587564506006" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-52" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=bd96c0a1-fd6a-4af2-80fe-6822699d45fc; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564506629" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDc4MjgxMzItZDYzNi00NWQ4LWEyMmEtZjA0MWU5YjljNjI3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564506611" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2I0MWJhY2MtMzhiYi00NmUxLWEyNTctMzAxOGNiM2JjNGI2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564506628" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWViOTRkZWItZjA2My00NjdjLWI5MmUtNGMxNDVjNGNiNDgx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="560" it="0" lt="443" ct="9" ts="1587564506017" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=edd5d34b-8d27-401c-8111-9b884aa3a9fa; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="588" it="0" lt="448" ct="39" ts="1587564505989" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-100" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b9f48a6a-758c-4f9c-8244-631ce5293ca0; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="465" it="0" lt="385" ct="26" ts="1587564505995" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-78" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=1df78cda-4999-4b89-9fd0-a121ce6852e5; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564506607" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzVjNjZlZjUtN2EyNC00NjQ5LTlkOTMtM2Q3MjFhYWNjYTNm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564506608" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2QxZjUzNjctMWFkYi00ZjM1LWE4ZTktYWY1Njk2MGIxMzc4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="435" it="0" lt="370" ct="13" ts="1587564506010" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-34" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a614ce49-58f4-4d3a-9025-75f9d7fefc4f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="410" it="0" lt="356" ct="8" ts="1587564506013" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-81" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=266497e0-2127-4763-bf58-658be2bac784; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="442" it="0" lt="285" ct="29" ts="1587564505994" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-71" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3ba4e4a1-b69f-40e7-9885-e11a5acf3c0a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="53" it="0" lt="53" ct="0" ts="1587564506552" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-26" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTBkZWE2YzUtNTExMi00NjNkLWFhYjYtM2UzZWEwNTczMjhh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwMS1ZdUdMSWxXS0NTc2lHWnlpWmVsVC13V2UtaFp3SC02SyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bO-RkhWkq8xWrWzo__Upg4mMYAr2SkwGHdQo0suko3GqBoT0sAdvxeXiFjmLBe2DqWkrw5L_D8AYuu7uqVifdCDhQpvamjm8f0bLcBUgYRzJT_VzUrw_4hQK4WvYnkpSye0fQM2cIpNwmyKWEe8xvJzO6XdrngLAEztd6xVc1CXqMcuJPfMq4dughX_bp_RcHFlBUoTJeYUdJlg_6b-Ro9BsjeI8NvcLQ92S9fL1d2CHJX4uJ11vnzIwGqpe1RUcH2o-JruyU42Et2RoDQUfOB-PWGfvOFso4NCr0EbzV6co2DvIugB_clJ6GC0hr5X1pGmDj86bOpgmobu1Fipy_A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTZiNmY0YmMtZWNhNS00ZWUxLThkMmItZTMyYjE4NTE3N2E2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="521" it="0" lt="449" ct="28" ts="1587564505998" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-58" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=96fd9c04-9978-4853-8f95-8924f8c6747b; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="488" it="0" lt="453" ct="12" ts="1587564505991" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-43" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=70bfb54e-7ec1-46c3-a161-2be10fa0fe5e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="522" it="0" lt="433" ct="20" ts="1587564506000" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-23" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9029c80d-d5fb-4596-a269-f9b6e64aaf8f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="446" it="0" lt="286" ct="34" ts="1587564505987" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-1" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e1c3e74e-d54e-4578-bc5f-5ba11a47e3f0; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="398" it="0" lt="245" ct="1" ts="1587564506027" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-68" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=03e9e6b1-0a2b-48fb-8ff9-b486184a4b49; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="421" it="0" lt="134" ct="7" ts="1587564505996" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-35" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2492192c-9a8a-45cf-82d8-d4f6e8fb5b47; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="501" it="0" lt="440" ct="15" ts="1587564506008" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-54" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=16abf3b4-c8b5-4601-b86b-7cba4c449580; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="531" it="0" lt="462" ct="19" ts="1587564505985" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-96" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a2e1e02c-eaac-4772-a87a-8d53a02da042; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="484" it="0" lt="396" ct="41" ts="1587564505985" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-15" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=eea0a71d-fbd9-490b-a25f-5d857ec730d9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="520" it="0" lt="418" ct="11" ts="1587564505992" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-11" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ba814ded-45af-4b6a-9221-a2d8a779a7e8; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="536" it="0" lt="536" ct="14" ts="1587564506009" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-90" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3f27b03b-296d-4e26-bc9c-da585b19a6bb; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="281" it="0" lt="280" ct="0" ts="1587564506319" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-31" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmJjNGY0ZDAtZGE2Ni00Y2Y4LTllYWMtZmZkNzQzYTg1YTBm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwNy11Tkp0d29lbEhNVDVudDdYTmhZLWV0UHYtZlNmMHBNVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ovpqmUyOzmhicQi9EKn7OQCov10gEsFiMVXIieInkFFW1Y7M42KhKLtcVGWE-8oKa0bubJhL86FJxyuqFk2Y8qvJoFYm4v8xsE6ShdlsGNodalSRh-_4nWSwFGfBA7eQR2_5m1SgfRb1V3clcNOn_b8kqkUQHCpWTTx4bfVgTIWxpGafORYxYURr7plAn_Mgbuwk8rG-HTZoSxNmqFyC_Ebbl9QHkVV-U8TrCv8I64Jf-fn1mfzwNKJemTDm2QA31FCYG-2pJRzA1J4RnhmxMMNUg3O_QDeEfYRxdQuuVYE2ZiFEc1Tdrf20xv0uVUMpAh9fTYT01W-JVklzv9IiLw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YTdmNzMxNDktNWU0Yy00Y2U1LWE5MzYtNzY4MTIxMzAwYWVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="454" it="0" lt="418" ct="2" ts="1587564506026" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-10" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ced7b435-7ad5-4236-9ead-9c5e828f4450; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="514" it="0" lt="407" ct="12" ts="1587564506014" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-72" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8c0fea4a-dc8c-4b8d-aade-ba67377e0812; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="532" it="0" lt="467" ct="27" ts="1587564505996" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-61" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=92d0cfe8-623b-4f1f-9eb1-59903813880e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="434" it="0" lt="285" ct="39" ts="1587564505984" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-74" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=04fc879b-47ff-4ab4-8969-009ebfe34d08; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="530" it="0" lt="420" ct="20" ts="1587564506001" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-18" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a5908995-03a9-4d4e-8649-31f891c3d50e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="479" it="0" lt="409" ct="9" ts="1587564505995" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-37" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=5943a864-3f64-45cd-9a75-c4267e1e8483; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="565" it="0" lt="441" ct="35" ts="1587564505988" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-9" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6edfac51-a3c4-4a01-959d-4905c356c4fa; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="462" it="0" lt="430" ct="35" ts="1587564505991" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-48" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=88819dce-7119-4528-9cb7-af4e7bf4704d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="210" it="0" lt="210" ct="0" ts="1587564506384" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-51" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDUzNGI5OGMtNjZhZS00MGQyLWFiYjUtNThlNTk5ZTA2N2Fj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMyMS1UamFuMkhoVVhOWWZhcVN0eGNmQThaNmxhb3JlQnhnbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iNSlz1n9yJU_40bhY3bEm6pnALWbB30k_rzpfdG-6gaXsEnlSN87anjUTEiEJZkkR-ZpVQDaHGbHNrzvU3ftm1gwPIL9uwTLwyku9SG_s-UllHCMkkampgLLetIBJVgR8C2klexBzYeVQlEbR_sqclRvi0b6xvBxF2Cg6LL06xPwG-zU-zgjmhMf50lS0qMmJ9Y-DJkAZb13TOsxDd3wLBYOhB54Vv53RQqKieEsiTjCaefKPwsH0dwGPgciVDn7-hZlTOhGmSzkFUOsqBSOKWZQlfx43AVp4Dc9M5TAufCoIHqy2igiKqO5OwGxdGE8Zve7phnVo5V15agdVj4_HQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MjliOGFjNjktZDVmOC00ODdkLTgwZmQtOThlYmMzOGNjYzM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="276" it="0" lt="242" ct="0" ts="1587564506318" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-99" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWYwMmZmMzAtNGY4Ny00ZTRhLWI1NzYtOTJlZmRiMzZjNTlm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxNy15TDBBckQ5Ym50YzRhNFZDcHpmekw4bVZvUmZNVkNCdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RW5ruPXp0JFQB0dyLcMb7Yf7WYRs95phdzWXhyUBwRT61IhEE0hoYWWkTipcUVdlTDWnIKElpvOgwEaGdcxCRjMDj2WidQU7Eb2Q7KExHgjpA0OetWc1u9a216f2MjgG6ebVcunZp-izMthM4EK3MP5zf-52yDVwZ2x6jMifXYv2txwl156UvL_Pjv5Av3kyAHXAXjUneulAKrxKkfBy3Yp2RIATCgM4tVsLNwmTcr4r58Pjwqws_nIfbu8yvpiseQfaRL7UpgJYAfW-AVUWcXV7miZT2PIjez-Be1o84oSqkGNgzdhiBbryCDSltC_DN2BzqqEgIpABxo6DvJohgA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTIwMTg3OTItZjk3OS00OTk0LTk3MzAtOWQzZDU5MGVhMWFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="422" it="0" lt="271" ct="2" ts="1587564506027" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-41" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e623b7fc-1bae-49e3-b08e-fc6c13f8acb4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="444" it="0" lt="417" ct="9" ts="1587564506012" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-83" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b50f11d5-b138-4a20-aa03-709e2f56ecf4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="560" it="0" lt="486" ct="10" ts="1587564505993" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-82" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7ee97b6d-c2dd-4e00-bca9-ea479d75f539; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="252" it="0" lt="252" ct="0" ts="1587564506340" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-84" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDVjZWYwMmMtZThiZS00ZWYwLTg5ODQtNDU5M2E0ZjJjZTE3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwOC1sV1kxdGlDRWF5blBsN2stVTZHMTJDZGEwZG4zOWllZiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.o635XvIu8sh2r9IjePuzG6n8TGqt7bpQchweMLXfM42Je-aqnk3p0YiaAhhZ1R3vIAKFd_gfnHAXTlXr_fKZittsH0eROBr_SEQGK-A0evbDQTdg3gfU5psrUMtWBLXw6HWej775ay6iYDQprijUJ8-ZAiy0Hc4n2qDJp0v1X6OudmpXjIMDBWXWa5EecDVHfk2KKwXDfSPvOOnCiggfsph0dJg-LKBI02a9c9IgQl3l8QCSjSumpZTp3rFkCTp3QdpaYtbLG6O6bg5DpJGBD3u26e_OgtZXZyBdGIcsMuz57SA9ShkX25Z0wm9aLCcQwxGYjgIDoOx-Rrkj1Kggfw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTlmY2ZmZDktMzViZS00NGRlLWIxYTYtMzk3YzBiMjQ0MTgy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="197" it="0" lt="197" ct="0" ts="1587564506395" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-6" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDgyNGExYmMtNjg4MS00M2JmLWFmNTktNmFiZWZjZGE4Yzk2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4OS13OUtwNjQ2WnVibkNYaEQzRzRrWG5LNHFMNEZnNi1XTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FtNZOtHvrSqVLXHWpENbMmGe9yo13DhrJa8rtkzv_VqTdqEIrWmiBxz2oAHkBLsOGhXlvwv6CSmkXqWruHMSRlWWUwEZ-n2nl4eRJGitZzsfdyr21UfBWuQ79NisLzlA0yNwTX8BsjJre3BPQpdg3TpO1Jzm5zqHhSUuCf5Cz7o-QvKsO1uLCfDY_2caRfha8Vrg8Wkk8AmdLrvRnUat8FUTO1lGd5EhIOhfL7eRp1SoghRpA6M4PKw1XTWw275g94HDbhdraMwbNt8YiQ-00iB_W8V55AjV-GmfnZJrNc2hA_gG0UdDDrVndWpgkGG5XURUGOydeE1nE9ch8Gil4A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OTYyZDI2OGItMTk0YS00YjZiLWFjM2QtZWMxZjA5NmVkZDM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="152" it="0" lt="152" ct="0" ts="1587564506440" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-8" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWQxMmVmOTEtMTllZi00Mzk1LWFiNWUtMDVlYjk4NmYzY2Y5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5Ny1XR1k5OUwwNkZGU0FSOHJRSkdNY2c2TDhTa3Z0eEJNTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pEgiGzr5GDjXsHiQ4iVtPjsWK1z02Lo4shIzccu7emjUoYQqIU2Dd2bna8UMu2WL_JAFVS10BhWLtq6HZ54QhIlwERf-WNzrGFHrKWRQwqG_nSn10NRl6idDVLbRW9cs2oTPdviKONj6nkx-N7xx-Xb6DDUTlxyMH6w_JWZQehBk_VZlx3axerIcscPFrHzi9vUhevAqYs3lPdDG7yrAHcm3T-Af77a8BRag6F6R_EnXTzuQRtE07fmLLwhX4KBNtkD1U00g84UhDFEWPal6VqE7iKRnBLB8vvA-QMlXr-wsdYYiTYkstvgU6_OcL_-TgkiDK8pmvVvfHfokfXkEnQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ODMzMmJhZmEtZGIzMC00NDhkLWExZGItOTJlZDcwNjg5YTAz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="246" it="0" lt="246" ct="0" ts="1587564506346" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-87" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDkyNDQxNWUtZmNmOC00YjE0LWI2ZDYtODc4ZWMwNjQ2NGFm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwMC0xLWNpZlVOOU9QZ1NsbGJ3ZHNZVUtwdWJIcThUb20yOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sDAOqT0F2Xr2ztZGBFTWOB1JBX-Dm9AjpOX3i38JH8v8A9AHYpI7DouXfPEhzEyyKuGQE2VP8b_ujktG3M77LXtVAe8JtigSg2QzEbw1vkGq7vOkfuWlYZovCTmB3wxAeJP8gxvF7mP3BAAPmO3mz5KgA9ea0jDBOMGtjmAH1wFWAw4YUg2RvlJORcJKLrATmr-ZFxPT9Z1F0hyGe2_Xup_TfkWYn4lp-KQDfQneEf9rq_puF3kmr0YidfBLXGgbR8cyl7VW3_Y3cUypu5WNmGQfUZagfieoOj6EO4jkXFGoUiPbaAwiWu1PMQHVBkWMM8HBVbWZekWot1PbFnIxHA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGM3YzA3MmEtNTA3NC00M2I3LTgxMTItMDMzYTEyNGNlMTkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="236" it="0" lt="236" ct="0" ts="1587564506356" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-66" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODEzOWNiMDYtOWE0NC00NjRkLTlkNzUtOWUxNmRiZjkyNzAz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxNC00elRLNGNTOGstUTY4U0ZmcEpWTTVYZVNYTWtLQWt4dyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nZ3gQda9yJINEo3-0DFDzwYMGfPcwWW7WH6NQE_RuvzyzDWcB9wSOn67cmVRAI8MRKqKMV_TpoCwiBsj4oO8MU3cTdpLFUHI7ybmkCSPjcx22_Pbc4-vYhVU20awYiQNsVasIXSwWSrnZUYdOJ1pEe12YH-tXBMvq1GVS9wUphWi8suKdQwoXQoao_M3D2_LT88B9FnB3yORXq-h6tF-P6OpGTfE2ZSLu7mSk273cSXhhFuE6obliusGXF87hcWC0r2CgreioT_Kc2z_w5GDVXgbKyiY3Yk4uuIIMhKTZLaM3guC4TR_tM31MFvklbCSQAK_bgjo2cxcSws8aHyHbQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDUwNzAzZTktZTI2MC00ZmNiLThiYjktOTM4NzA0YjYwMDI3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="244" it="0" lt="244" ct="0" ts="1587564506347" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-36" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzBhZGE2MGMtMTYwMy00MzU3LWI4YTQtZjI1M2NhNzVmZjcz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxMy1pZnVaMEZ1alVQeHBqY0ozRWVzZ2cwd2NHZVdZeWY5RSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.p6Qx6sJF1Q9q8GXaqBbUe4dtUq2klu-_T8WRKKb7K5mz2WW1hMF80UNIJYGJoBz0tvKPG7e-g8v40FQHSLV-8lNOECS71x9s4qaqmpcWWMuzPsCfi8pXR0fA1aEv3tAggJa5vvayomDpng9RH12X16p30qq1mz6636JLtKCnJ3Q4oozogsU8HEM6FJe343hY_pge51fuIZV633MTyBfpuSboSDtkJBLbuunPQTTWs9P8GQGRi_OZAOs3pnMBawme0by4DeB1bJjv3vTeESkJjAWQOXRa3jNJWMZwYkbMe5FzJJLCeaNZDd_cu_B3IY4sKO-DvqfVYdvn_16ModSBNA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NzRiOTMwYTUtN2EzMS00NmE2LTlkN2UtNzQyNjk0YmM4Nzg3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="228" it="0" lt="228" ct="0" ts="1587564506361" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-67" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZThmNzIxMjQtMDVhOS00MzlkLWJkMzgtYzc1NDhhNGY5NTFm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5NC1pZGNlYVMyekRNakNkS3Z6VXkwaC0wZjl3QVE2RHJxaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dI99k-KU4EZg4A3ihi1YbrPwHyi3BYOJbM_HOwlF6978JrtznvcwS9xKzmxQUdoH3kdJKK5u9LdqM3RZj_vcVCMvMNHm0IFNpoj91TbVV8I-4ntzOGTTbXcXqTGOVCjnixCWhiS_C9mz8yFxvXx7ojz6y2AXojadMMv2H8fj2rjNymTpcAfCd7d76d2ZukEx6r7LOIUqI24JZwShHC79LYguksAe-K4bHuoe3683jVg4ze0qCgC_My3QY64TnSAryujrq-_aPlo3bQWqmN5Yz8NwMfzv5sWcJS0rGeqgW-Y0rOYVz34n7HNk7z1mOlSZA8ebplAqiTNo9NH_D99wFA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTgwYzQ3NWItOTIzMS00YWY4LTk0OTYtMzY2NzYyNzUwN2Vj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="341" it="0" lt="341" ct="0" ts="1587564506243" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-42" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGFlZTM1ZTQtOWE5Ny00ZDUwLTk3NDQtMTk5Y2Y1NjFhYzZj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5OC1BN2sxaW8zQ3BxWC14STlSQVpvVHNCN21JMUFOZXJKVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.XSugMitrwWmR3lkdgWyWjaytZQCbpATBwD-g41G-RJY_wfZT2XOW_z6tDxVZDP_pFYktGUaBfMXlcZb9TjI7-DZEzc1uS-2XfTp4n7E4-7xbEnrCSIHP9neIx1msjF8IEuPFcYte5nuA8vWnq-3j9xuL_kdITghyRXnl23QgYmcyWUA26m2_yUtzJkDjmhdRzMq8vZhj_ilSaILRH3dnsBuZGGqMk8GJ6pa8EuGQkODsRzQBxwBo5bGtfgoMt3EFN5_dPYV1ECTJOJACmw5xJQmi3S0XQoCa8MMZYkbNaM8t3viz74NQ8SXkP5EJazlbfR1MzccRZCNY0YNuW9zomA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NDE5MTVjYWMtM2M3Yi00NjYwLWE0OTUtYTg0YzNmM2Y3YjFi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="194" it="0" lt="194" ct="0" ts="1587564506376" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-86" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjcxYjNkMTUtNGJiZC00OThhLTk4NDEtN2Q1MGVhNDY4ZTE3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4Ny1rT1U3YkpTcnpmbS0ySEYwN2J2bTNZZkotOC1yM0x2dSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KbNJaqsG4Aa0qi2J2cBSwc27hz33agyunSt36WD4hO296ztGNZG0yY648Lyb3uJZRb5PcrTqNZzDbP1xRQU9FBWKuJSMRArBnBaxcGLDTyMEVMt4ePCfI-dnkiEQEtrbirrBzlywyArEYYBn2zRaTRpCmpc72H3WcSUQD9zs_QV_qjWBRYqu_68_YBoV-62QtZJwtkf51Benb9ONATZSfONBJ6f7Z-Mr5D2YEmMUw9RTH-ia7uWEBkTcLKo1Z4f6WJztvx6SrjtOtKvy0XkoRoF5GQvw4wz5OpeLrso_5UXLVoe-isrsw4mCwgapO5o3LjyFDfRS5WRpLZQTIZ3Veg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NWZkNDNlNDEtMDZlNC00NjM4LTlhZTEtNzQ0OTRhZTA3M2M1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="222" it="0" lt="220" ct="0" ts="1587564506344" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-22" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmI1ZWIwYmItMjllZC00NGY5LWE1NzMtNjc1OWU1NTkyZWZi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwOS1tQWUtYjdTbkhySTIyZTNhbTVEUzBub1dYYkFESEl1YiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DwiRnRNi15k8Cps0jVaRrp_jMYXOlDwAtd21p4ByVDTfNysbi19S-yS7ErCcRvlZdPDiZDdkWTu_LMFP2MZXqUZGeiT11JCzbjmeBjFofqJ7h99vs0blaBbghvXCS-VdkLcRTS3byatUdRNcID0p7CIhIF4U9LTadaDesvidmgKWJDLXUAcJAQqwJl_U61czuI1oO9TjicikkHK0OhRHXCl4F3hn0uj8_oDranQvNNIQqfP3Jd4PIN4_7ayazxT6bmBoaZELzSCxqWa1zp2X3pywNDnFWwX7k4gdboPMvjPu4cjjXuOUtydehSwuWEozpGgpV73bjM8yGNkwjlA4IQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MGM3YjA4ZTYtNWIyNi00NGNiLTk5ZWYtOTA5ZWQxM2UyMGVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="205" it="0" lt="204" ct="0" ts="1587564506360" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-2" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDQ1MzA3YzItNmIwYy00MWE1LTg5YWUtOTA3NWI2NDlmOWY3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMxMC1QSnFNbHVBQXA3aWEtNUQxMXNHLXNvYldmN0E5ZWdPaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WLCW5lO9mFMpJfS3N_lxiU1dwtjbDKs4ah_GWdzTf__g44PH0Z8lnEDOWktNQBpeeoQQDLrMkMaAAjH-PVde_Oy1Z54jjSDx4CYN2irmmmcYPv5nlIpLMhSRop1rQwRNMfJsKbwUcxdewI-6vZw6ioO5u9icE1slBi7u96OXZ_3-0vrg9NR-xwlGkKU3UAM_wCgJemeHa37QptS3vOy10BTEz0D703DyKQdmpx18e3268v55x7K1gJYHE-DQGJxz1-EO9taBBMiAzRSgYzSWzeuC-5q6cuJwX507X22zjnPbeFRxunO2ftu1LRNyRz-sYm8nE90ymf04qlvEMJ6IhA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NjNlNTI3ZjMtMjBjYS00ZGI0LThmNGItYTQ5NjExYmIyMzE2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="218" it="0" lt="218" ct="0" ts="1587564506346" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzdhNDRiMmMtYmEyMC00OTg3LWJjNjktOGY1OGQ4NzExYmEz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxNS1SWTMxMndyMmw1OWtEWEN0eUxCa0IyTUNSWGZqWXQ1aCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EEYCDQ0ybFKRJCczluxGA1tq8L09SLV6kaKe5WV1AyZruQcP8Pwq9QXFYVAgDsZfHW_tqbfoBPylYHPvu7f3vBjckKOwn5XxVRU_xPXOwDMG7eXUoRcSsR4zOwl_CIej5gkQOR9Y9TXdD6RXeKIk8sgjOmQ-SBNhL5imRp75_L0cC2_J4ErrhD8Rmfre_7lI7X_PgRkLE5ARhflsoMLTjpXi_KgwL-2tU4cBNe-IjSNzROBfATy-Qqxynux5GE8vUuC0MDl3tJmxOgGrKZh-Kep_nGeG4eT4iApne1TWrjx9G0XSQFTW2SOAe72Js2A5nTNcd0t8BdkDKUwAkMdjNQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjU3OTQxNDItZmRmMC00N2RhLWFjMTEtOWQ1NWIxM2Y2Zjg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="417" it="0" lt="354" ct="6" ts="1587564506020" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-50" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=1d5cfbac-71e3-4b63-8981-640da8a224bb; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="555" it="0" lt="437" ct="1" ts="1587564506002" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-91" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=da4b2b57-ae88-4d52-9367-b92762601e82; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="217" it="0" lt="217" ct="0" ts="1587564506346" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-16" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2Y1NWYwMWMtOGNhNy00Mzc0LTk1NDItYmQ1MTdkNzk3Nzg2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5Ni1jMGNjU3hDemI4TzZUeTZHcFZ6N1FyNzlyRTNjamN5QSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Q1Gr2JXh38YIc2QzSRr6Br9BLAw-qnw99Qlbh1CXN_FdAqu1h48n4rXwT5ABhkMS8le2JGsTkAyzH8LkEYRefcgt53M5yE33lT-XmeYXc5dFnzJyWIPqe_fytff_MB9a-D_hdnx83oVgE6bxrkP00u8ebASiA5z7uzRU76VcKoLQ7hYLbyy83lvsChR2Kb2zTGBKwWKfQqEmTGT9YiTS7bz4Lu_BxBTDlGbHoaU20FSjdC6G8wpaA6RRbGpVDEwoAWrc-OR65YHc_0viu0RxeWUs5Fl_xaztXZuwgffKjPEdpimaNptqw0ijJJk5kcGQ25QIGDrG6sfgTT_YvGgpUw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjVhYjU4YjQtMmU3ZC00NWJkLThmYTItOTM2NmY5YjNmZWM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="447" it="0" lt="404" ct="21" ts="1587564506003" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-30" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0897bb6e-48c7-4211-8091-23fdf20f0c08; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="241" it="0" lt="240" ct="0" ts="1587564506321" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-79" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGM3OGJjODAtYmM3NC00NGJhLWFiZmEtZGRlZmEwYTNlYzlm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxOS15R0VTMnBZMUhEMWw4SHJRVGh2ZzNuMzRrbFVPVFVIbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.k_D1vMzMb9UFQALzjNAdI6HSNj1mR92K-18zvRbTVNcdRN6rRdNMCTJKkaQnzpMT-b-v8LiLXFsPt584n4ZUlOUkuFHcXuLxdOAbhc8Qryzl4Bwl-zFt74DJ3s0buansdA9dzXCEDh3gjrvdLWfwAro09LPj_gevcwVfRzY-gpRYSr9_LiX9t6mRreMP24CPZ5QxvkMiaowC7WR1hCDfELsVprlkoSM7SNUTpNdcMTADrhlIg9j8f8dGXYFDPeBfcM7M00LC-vwpgCPYo6NwknX1cLMkJXjy7Yl4Qhbgg3YH5kg7vFWoq7etCnuoZLzujxeK3W33xtvCJM8lzibdsA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YzdiODBiMTUtZTA5OC00NzdjLWEzZGMtYzZmMWRkY2JjYzEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="472" it="0" lt="454" ct="18" ts="1587564505986" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-29" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8505001e-3e4c-463d-8dd8-746f9ec01b83; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="473" it="0" lt="443" ct="19" ts="1587564506004" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-97" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d27a5fb6-4abd-4483-8b68-7ca5cd1701e1; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564506661" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2YyYWUwNGEtYzVhNi00NDFhLThjMjktZjViMzRjNDJhZWM2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564506660" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjFmODA1OWYtZGM5OS00Y2EyLThlOTQtYTA2ZGNkODViMWM2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564506664" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDRjN2E5YzYtNDQ2Ny00NmQxLTlkOGEtOWRhZTIzZmY5NTYy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564506664" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2MyMTVkZjUtNWYzYi00YWU0LWExY2QtOTg2NjkyMDc3MjY3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564506663" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzkxOTBlNDEtMDJhMi00ZTU4LWE3YTEtN2Y4OGYwNmEwY2M4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="131" it="0" lt="131" ct="0" ts="1587564506426" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-73" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDlkMmY1MTItNzUxMy00MTRkLTk1ZTUtYWE1YzI1M2M3M2Vj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwMi1TZzF4b1otclhjalhnenhnbWw4cGhwWnR5V2VXYk9JbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ek_8fP3YuOdPALQRcw2qi0GtylcZhKzj5npt_u1yNVm-eoKAVaQE5gGnXxb3MZuOACA4RezXv7tSn7z0rdh7bPgmLARQsQsd7_Wt5iIISVyuuy2dSNqRLeG4_ovfOZ0SqjNDF9emkhjLmh_8ZdHgxBTXWhlKVJzbqNNYPHGtkBsx-0_j22RMKNtOPWnR30wkwL2drkxDbSOkEH1IVfR934aRmFGg54F8c_a62oiiCiRGVpGlC5Q9-wexLweYS9FpGBUaTy1b8S93QDUVGidMXRsyQ-COWAAYAEov-NRLbFzTAL0wAQUTgwgjku9gx7CVpbBIo1RdQWfne-sqMvhRnQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NGU2YzBkYjQtNWVlMy00N2Y5LWJhMWUtMDdkMjM0NTg4YmQ2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="145" it="0" lt="145" ct="0" ts="1587564506408" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-28" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmQ1OTMzNTUtMjlkOC00MjdmLWI0MDQtOTc4Y2Y4ODFlN2Jm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMyMC1FN0lDUW9uVmxvZlVjdFd1NVE3aDdvNGhxSmFzcWR1TCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hn6GpOejD8ZEg-GqiMZrJMVeyMJciQ0y-Mi-NHZwJGcZHclu1F_s8o-gHd3Ryx7oC4DuhnUqtqNvotIuIZVRwaiVbNgBC9SmBbxWAPlBCGGI45XDi_y7SPmf5h8p71zxLSs4bbTTO-FD6O8NuVjT-WiGXrLPHu7qwKFeYl4cM0k3GiORjkZ3y-JDANfCHbNQ2yT2uLiZUdHYTQfPz-4eqeBsf6HwptAWpnGAfh5S5rvbuBZ6SeTXLbghB16Mj2hdSIM4Q44PeP-mCLjzlHdHFqUVF-uLbFY4kNr1rAso9jSNLzwHC27vQ3LKTtxF0IgQJTZdfSpA42Dt-JA4DTqfmQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzY3ZjQ3Y2UtOGUyOC00ZmY3LTgzNDctOTJjMTgyMTg0NjFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564506662" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Njg3Nzk0ODctY2NhNy00YmFhLWIzMGMtYjk1MzU3NTRlMTBl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564506665" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTlhM2U0MTgtYmY1Mi00NDJlLWFjMDctN2RkZTMxNmJmOGRj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="424" it="0" lt="424" ct="0" ts="1587564506129" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-49" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2JiMzM2NTMtYmMyNC00ZjdmLWJhYmEtYTkzZWVjZDg2Njg5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4Ni1QNXlJOTNVTmNjTXhITjUxdlpFQWMyazF6aHF4VVZrLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.W7QEJHHkcPHLG_GWIYi4DSvwXPc_eq6jqSyaLLvD9MScPVInu_6H734S3iHfEhR01CagYU_9N3qKm8WJaBiWcOCvdHYZfYLvugkiVSMV-oVnH2GkknJKJaskAs4COOUjhUH5U_kenVmSBu2toAtRSKyngosBMtrmeTGZWgn8XL0Bc-ebd0RIeMzSMXFBf2-TvSyF05s9naq1pB0TAlASZAGKAbxZDV5IbUbSvp1ldnauOOXCxzrd2HLTDhKlY_-sjvwC1IX_qw8j1LLtRTvnlU-fJELGdzqhHYbmkzTsP6dAyqzDrT9jeTkchHDWAvrbWi0nPc4sdR6uxKYJhELnrQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MTQwNzg5YzYtYzViZC00MmNkLTliMTYtYjljNzJjZGMzYjhk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564506661" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGU1MzUxOGQtYmYxMy00ZmJjLWIyNWQtNGUyZWQ5NjAxOGNh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564506663" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGE1ZWI3MTQtOGQwZC00NzM5LWJhOGMtMmQxMjY5M2NjODMz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564506650" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDQxMDBhMGEtM2Q2NC00YWE1LTlkYTAtZjQzZmM2NTczZTVi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564506642" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDMyOTA4YzctNjc0OC00Mzc2LWI4ZmQtYzQxYmFhZjZhMWRl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564506638" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzVjNjZlZjUtN2EyNC00NjQ5LTlkOTMtM2Q3MjFhYWNjYTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564506638" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2QxZjUzNjctMWFkYi00ZjM1LWE4ZTktYWY1Njk2MGIxMzc4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564506635" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2I0MWJhY2MtMzhiYi00NmUxLWEyNTctMzAxOGNiM2JjNGI2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564506629" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzgyOGJkZmMtMzc5ZC00OGQzLTg0NGEtMzRhYWFiNTA5MGZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="1" ts="1587564506621" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTdlZjdkMzEtY2E5Ny00YzNlLWJiOWQtMDRmMjE0ZjA2ZDBi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564506625" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDFhNTNiOTAtMzY5NS00NTdkLWE1YWMtYjJiNGM0ZjNhYzg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564506623" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWFkOGU1MWQtY2Q4Ny00OGYzLWFiNmMtYjIxYjIyYWI5ZTkz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564506622" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTdmNDQ0ZjktYzk5ZC00YTQ3LWI2Y2EtOWU4YTBlODA0ODdi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="66" it="0" lt="66" ct="0" ts="1587564506609" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-12" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmVhMzQ1OTktYTM0Yy00ZmZhLWFiYTMtYTEzMGExMmMyY2Jh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwNC0zVUNBTmJIS0lsZS1TLUpmb0dvSjFmVXBpT1BudzJiWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IjeF4W3-xbLceDnATnaw6myc2lGlqqRkB_bspa7Lagj0Xh1UNfDYzZ8Q1Z5EcLj_1e0PZ0uhxQT-EDYy1kPQEIJOHV2y3kZOmuub0k2mzSVAaS8aAYRtsX4jINNov4kU2ihbdbtGfCiFgxnQUB7jr1NCxlqN8N6XdsvvvuvzL2vc7Ben-v2CKhwB0rLUt-coPySfawd0zy3qjXArMIEV5yC6M9IxYaFi5e2valAdeqZ5_0lDtA-tCOCIGSALUGiwKF6M_KRzCaX-98T7mbLIc9-B2jY9O40M0cpUIT5Bpp8oXtQQqme9zV9tze_ECYyyj5IW3j2bT3i7tL5PhE9Vqg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzJlZmM4YjUtOGM3Yy00NjgyLWE2ZDgtMjk1ZDhhNWZjMjNh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564506672" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzRhNTkzMTEtZmNkYS00ZjA3LTlmMjYtM2EyZTZiN2IyMzZi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564506670" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2YyYWUwNGEtYzVhNi00NDFhLThjMjktZjViMzRjNDJhZWM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564506671" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDRjN2E5YzYtNDQ2Ny00NmQxLTlkOGEtOWRhZTIzZmY5NTYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564506670" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjFmODA1OWYtZGM5OS00Y2EyLThlOTQtYTA2ZGNkODViMWM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564506672" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzkxOTBlNDEtMDJhMi00ZTU4LWE3YTEtN2Y4OGYwNmEwY2M4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564506674" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGU1MzUxOGQtYmYxMy00ZmJjLWIyNWQtNGUyZWQ5NjAxOGNh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564506671" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2MyMTVkZjUtNWYzYi00YWU0LWExY2QtOTg2NjkyMDc3MjY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564506673" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Njg3Nzk0ODctY2NhNy00YmFhLWIzMGMtYjk1MzU3NTRlMTBl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564506675" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDMyOTA4YzctNjc0OC00Mzc2LWI4ZmQtYzQxYmFhZjZhMWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="64" it="0" lt="63" ct="0" ts="1587564506621" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-92" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDE3ZmNlZjctYjE1YS00YjdhLTgxNWEtNDU3MTA3MDc5Nzhj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxOC1aS1BJR08zem90NTFLVDR4RUJBOEp6bXZTLU1YMlllRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iWUW7Q9d4Ke_hfezO00uT7QA2IkdH1GQ5b7pn751f4gFFmYhDUXhjiKGy_20ejqBbcw1owgiS0cRVDonDF_f5j-pp-UssguMWPo1WrQRx14OFJntaY66_vcyUX4-DLeGeauYZfkZg-h-aiTsiymp3AorRWnHT8j4ACePsXxbGeUQo6rsJ5_T1Ym4hgb3jB1Gbimgn8MRt0rfcXxixSkxSeKvjdeCqVDLZlcmzxnd7dV9dlnYkAHZpsBgawdW5-hautkq34MjGQKp7t0u7xLnr26AjFDruoKOd9qkTXrJJJMH12HfwXDuQmzZ3xaOaKuLsDoEm-Y8EfbgcD-1Vd7MAA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDUxNjAxYWEtZTdjYi00MDBhLWFhNWItNWM5NDFmNTgzNzY5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564506673" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTlhM2U0MTgtYmY1Mi00NDJlLWFjMDctN2RkZTMxNmJmOGRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564506678" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTRlMGRhMjItYmFlYi00NmQ4LTk0NmEtYTM4ZjEwMmU4YjYw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564506674" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQxMDBhMGEtM2Q2NC00YWE1LTlkYTAtZjQzZmM2NTczZTVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564506678" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTdmNDQ0ZjktYzk5ZC00YTQ3LWI2Y2EtOWU4YTBlODA0ODdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564506674" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGE1ZWI3MTQtOGQwZC00NzM5LWJhOGMtMmQxMjY5M2NjODMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564506678" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWFkOGU1MWQtY2Q4Ny00OGYzLWFiNmMtYjIxYjIyYWI5ZTkz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564506678" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzRhNTkzMTEtZmNkYS00ZjA3LTlmMjYtM2EyZTZiN2IyMzZi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564506677" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxNi1sam9ibUNuNkNiLXNVcVMwWGJJQzZSWGwya0lMd3RYcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WstEzME400hF2WYuExSFUdn6G5sYszQyyFkplj4eWyGVkNecVB2fJPJgnxQ0cvv-CORi0jx50mrUZEnkmZ87DWCP9aOEvVgaFt5e8x_L6vqUM7T9Tef4pZ2MfcU2mJbNVim-EACM9vjhCSA4KANdV7Vq9wqkSSMlvlPY84mn-ZItrpzhtKkCKMBsgXK6hzCbjLvC9o-7wTImoMH-FWDArVSLPzMNTW-Lb6LBg5cjvZsjptJ6WSnmYsKDn3-P8GpdUJ681THozC-eB1QIbQae9F5KI5vy68s33CAX-47MmnKzIjYGVMKrSk0g0jb3Njqatcbd2pSDdD7KBrj7PZv9DQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTdlZjdkMzEtY2E5Ny00YzNlLWJiOWQtMDRmMjE0ZjA2ZDBi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxNi1sam9ibUNuNkNiLXNVcVMwWGJJQzZSWGwya0lMd3RYcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WstEzME400hF2WYuExSFUdn6G5sYszQyyFkplj4eWyGVkNecVB2fJPJgnxQ0cvv-CORi0jx50mrUZEnkmZ87DWCP9aOEvVgaFt5e8x_L6vqUM7T9Tef4pZ2MfcU2mJbNVim-EACM9vjhCSA4KANdV7Vq9wqkSSMlvlPY84mn-ZItrpzhtKkCKMBsgXK6hzCbjLvC9o-7wTImoMH-FWDArVSLPzMNTW-Lb6LBg5cjvZsjptJ6WSnmYsKDn3-P8GpdUJ681THozC-eB1QIbQae9F5KI5vy68s33CAX-47MmnKzIjYGVMKrSk0g0jb3Njqatcbd2pSDdD7KBrj7PZv9DQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564506686" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTM0MjAyZTQtOGIxNi00MTdjLTk0ZDItZTQ3NjZjYzYyNjk3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564506686" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTRlMGRhMjItYmFlYi00NmQ4LTk0NmEtYTM4ZjEwMmU4YjYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="69" it="0" lt="68" ct="0" ts="1587564506624" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-44" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGNkNDZiOWMtOWE5Ny00NTA0LWEwZTMtOTIxZmY5NjA0OTFh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5Mi1MNThSRWE2ci0xRTZuczVsVUdibjRCWnA0VE50YmNCMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MkelPIaoqX_RyET118lrNu7J6EPLWib_7bJPAeipGeNzt6uG-slgN8JWwds25lJhGC2uPw74xiTgxUKl7Rox_bDzpzkRMiulLzu0TlH1k0RhKyy6qnvEO1boLVHz0ewMMDQA4e6GQ8oAedzPJmvsgNs5r_LQu5j30uzy-FOi1jIe4CLYwqW7Qa2461uoQCFGbPq5HtnUdU_UIYEkCu22cxDbTzNDeiPWscBnyUokCPW_-sheBKgi6kMfMD6lhD2oJuFRpKw-yQM9p6fERQLdD61jJAeFAUjVa8LkC0etlxdNFXQ5dhZgz8W2hPlxk6dA9Rcs-G7-GhHYR4uAD61-CQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjM1YzI4YzUtNTYwOC00MDQyLTlkYjQtZWI4ZDM5OGNmNWIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564506690" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTM0MjAyZTQtOGIxNi00MTdjLTk0ZDItZTQ3NjZjYzYyNjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564506693" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWNlNjY5NTEtMzljNi00Y2Y2LWIwNTEtOTQ4MmUzYzdlY2E5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564506696" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWNlNjY5NTEtMzljNi00Y2Y2LWIwNTEtOTQ4MmUzYzdlY2E5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="68" it="0" lt="67" ct="0" ts="1587564506663" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-36" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDMxNDZjYTEtMmI3Mi00ZGFlLThkYzgtMzExMTAxZTc4ZGI0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxMy1pZnVaMEZ1alVQeHBqY0ozRWVzZ2cwd2NHZVdZeWY5RSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.p6Qx6sJF1Q9q8GXaqBbUe4dtUq2klu-_T8WRKKb7K5mz2WW1hMF80UNIJYGJoBz0tvKPG7e-g8v40FQHSLV-8lNOECS71x9s4qaqmpcWWMuzPsCfi8pXR0fA1aEv3tAggJa5vvayomDpng9RH12X16p30qq1mz6636JLtKCnJ3Q4oozogsU8HEM6FJe343hY_pge51fuIZV633MTyBfpuSboSDtkJBLbuunPQTTWs9P8GQGRi_OZAOs3pnMBawme0by4DeB1bJjv3vTeESkJjAWQOXRa3jNJWMZwYkbMe5FzJJLCeaNZDd_cu_B3IY4sKO-DvqfVYdvn_16ModSBNA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MzBhZGE2MGMtMTYwMy00MzU3LWI4YTQtZjI1M2NhNzVmZjcz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564506731" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTUyMjMyNWYtMTQxYS00ZDA5LWIxZDYtNWRmNjBmMzJjZDU5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="113" it="0" lt="112" ct="0" ts="1587564506624" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-39" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzY2ZWMyMGYtNThiOS00NmRhLTk1OWEtNmM5MTgzNjU4OGZh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwNS1uMzBEaEZ5azVUNEpycGdvdWNlUEpRc0dSc1RsaFROWSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ztg9UGgfbzEMvVQHC0l9w206gTFeZ3KzhqO9WGXlQQRwysYubF6yjPxqVE4fNG4aXLWxByrs65WEa8m33p15x_N9_hE2x2DvFEXsOHexTGbvblloQ9iqZ91Di6U0v7WXSRzHirEwJeKHjgQY5NQv4uI4XJrpujnXNP1oRNI8_cFiQyuwVjnxqWaysqM1r7HcnXJTO2j8KCh-c6QTw60zTLWXqy9hpsCZrWJgML16I4xba1K5N0lFYLQeET1N8kP1F4I_FJInGGaN9f5ckQlWAal2KGIqugk29SUy3X3EfyIpsmomAfMtn7iw-lGEL7SsCFZwDGYjR75HQTVJI5RQRQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzRkZjdkNmUtMzg4OS00ZWNmLTk0YmItZWY1NTcxMDdiODQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564506735" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTUyMjMyNWYtMTQxYS00ZDA5LWIxZDYtNWRmNjBmMzJjZDU5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="83" it="0" lt="83" ct="0" ts="1587564506657" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-99" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzYxOTAwNmUtODZhYi00ZTk0LWIzMDctYTVkNWMyNjhiMDBh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxNy15TDBBckQ5Ym50YzRhNFZDcHpmekw4bVZvUmZNVkNCdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RW5ruPXp0JFQB0dyLcMb7Yf7WYRs95phdzWXhyUBwRT61IhEE0hoYWWkTipcUVdlTDWnIKElpvOgwEaGdcxCRjMDj2WidQU7Eb2Q7KExHgjpA0OetWc1u9a216f2MjgG6ebVcunZp-izMthM4EK3MP5zf-52yDVwZ2x6jMifXYv2txwl156UvL_Pjv5Av3kyAHXAXjUneulAKrxKkfBy3Yp2RIATCgM4tVsLNwmTcr4r58Pjwqws_nIfbu8yvpiseQfaRL7UpgJYAfW-AVUWcXV7miZT2PIjez-Be1o84oSqkGNgzdhiBbryCDSltC_DN2BzqqEgIpABxo6DvJohgA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NWYwMmZmMzAtNGY4Ny00ZTRhLWI1NzYtOTJlZmRiMzZjNTlm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564506737" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODM3MjY0YjgtYjBlOC00YzkzLWFjNjAtOGZlNzU4ZThhYzZj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564506740" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDVhNTZkMTMtZGQ1ZS00MzkxLTg5MzQtNTI0M2NmMDI5YzU4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564506740" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODM3MjY0YjgtYjBlOC00YzkzLWFjNjAtOGZlNzU4ZThhYzZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564506744" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDVhNTZkMTMtZGQ1ZS00MzkxLTg5MzQtNTI0M2NmMDI5YzU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="125" it="0" lt="125" ct="0" ts="1587564506626" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-47" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjdjNTE5MTYtZjY3ZS00MjM5LThhZmMtNzdiZDM4NWExZmZk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTMwNi1yYXdKTU9yZnVETG1pbkhEUlhvd0d2SlFnYWE4YVdjQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jxDvP0FgRGVd0w-OK0zJe5q22totVsMm388wgpZJJnteAyMRltcdtPOMOqqtF4kZ6AnDJVjHGR7ikN6x3s0Nu7CsJZ8aVYtXjf6n7x8CmWIfKcioDk9Ox-oSxxHIauy03z2jbULAryaqOjd5KMwj3FP0rBzEdQVPmZ23cgUFNLqzChltyQNAvGV5TP_SWy6JCMABKaJVqG53UglWwfuMlUy32MkYHoOW5ILrB5blDN-r_xy4NM1VILiTVvroM7zta5HDh9PpYP6HdztfVt-HWvts8LsJTT0xD78qiw3yK3iyFD4FGcl1Yc3UD5-D2KE1_rN_gDYSGjseXMKsP7jNig
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NjVhZmMyM2MtMTBmNy00YmQwLTllNGItMjMzZjlhOTFmYmY5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="112" it="0" lt="110" ct="0" ts="1587564506662" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-66" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjZkNWIzMGUtZmFjOC00MzQzLWEwYWItY2VkNDBhNDQ1ODQw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxNC00elRLNGNTOGstUTY4U0ZmcEpWTTVYZVNYTWtLQWt4dyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nZ3gQda9yJINEo3-0DFDzwYMGfPcwWW7WH6NQE_RuvzyzDWcB9wSOn67cmVRAI8MRKqKMV_TpoCwiBsj4oO8MU3cTdpLFUHI7ybmkCSPjcx22_Pbc4-vYhVU20awYiQNsVasIXSwWSrnZUYdOJ1pEe12YH-tXBMvq1GVS9wUphWi8suKdQwoXQoao_M3D2_LT88B9FnB3yORXq-h6tF-P6OpGTfE2ZSLu7mSk273cSXhhFuE6obliusGXF87hcWC0r2CgreioT_Kc2z_w5GDVXgbKyiY3Yk4uuIIMhKTZLaM3guC4TR_tM31MFvklbCSQAK_bgjo2cxcSws8aHyHbQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ODEzOWNiMDYtOWE0NC00NjRkLTlkNzUtOWUxNmRiZjkyNzAz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="26" it="0" lt="26" ct="0" ts="1587564506751" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjFjOTIzNzYtNzk1Ni00YTJiLWI5NjItY2Y0YWVjYmE2YzFl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="110" it="0" lt="108" ct="0" ts="1587564506672" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-28" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWQzNTk2MDYtMzUxNC00MjkyLWFiNjktMjBhOGNiZDFlNzIz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMyMC1FN0lDUW9uVmxvZlVjdFd1NVE3aDdvNGhxSmFzcWR1TCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hn6GpOejD8ZEg-GqiMZrJMVeyMJciQ0y-Mi-NHZwJGcZHclu1F_s8o-gHd3Ryx7oC4DuhnUqtqNvotIuIZVRwaiVbNgBC9SmBbxWAPlBCGGI45XDi_y7SPmf5h8p71zxLSs4bbTTO-FD6O8NuVjT-WiGXrLPHu7qwKFeYl4cM0k3GiORjkZ3y-JDANfCHbNQ2yT2uLiZUdHYTQfPz-4eqeBsf6HwptAWpnGAfh5S5rvbuBZ6SeTXLbghB16Mj2hdSIM4Q44PeP-mCLjzlHdHFqUVF-uLbFY4kNr1rAso9jSNLzwHC27vQ3LKTtxF0IgQJTZdfSpA42Dt-JA4DTqfmQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmQ1OTMzNTUtMjlkOC00MjdmLWI0MDQtOTc4Y2Y4ODFlN2Jm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="108" it="0" lt="107" ct="0" ts="1587564506674" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-49" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGMyMzUxNjYtYTZlNC00OWIxLWFhMDgtMTQ2NTI4MjhhYjA1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI4Ni1QNXlJOTNVTmNjTXhITjUxdlpFQWMyazF6aHF4VVZrLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.W7QEJHHkcPHLG_GWIYi4DSvwXPc_eq6jqSyaLLvD9MScPVInu_6H734S3iHfEhR01CagYU_9N3qKm8WJaBiWcOCvdHYZfYLvugkiVSMV-oVnH2GkknJKJaskAs4COOUjhUH5U_kenVmSBu2toAtRSKyngosBMtrmeTGZWgn8XL0Bc-ebd0RIeMzSMXFBf2-TvSyF05s9naq1pB0TAlASZAGKAbxZDV5IbUbSvp1ldnauOOXCxzrd2HLTDhKlY_-sjvwC1IX_qw8j1LLtRTvnlU-fJELGdzqhHYbmkzTsP6dAyqzDrT9jeTkchHDWAvrbWi0nPc4sdR6uxKYJhELnrQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=N2JiMzM2NTMtYmMyNC00ZjdmLWJhYmEtYTkzZWVjZDg2Njg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="117" it="0" lt="116" ct="0" ts="1587564506665" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDExOTFhNTMtMDU4ZC00OWVjLTg3YWQtY2E2NzRkZGJjNDRj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxNS1SWTMxMndyMmw1OWtEWEN0eUxCa0IyTUNSWGZqWXQ1aCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EEYCDQ0ybFKRJCczluxGA1tq8L09SLV6kaKe5WV1AyZruQcP8Pwq9QXFYVAgDsZfHW_tqbfoBPylYHPvu7f3vBjckKOwn5XxVRU_xPXOwDMG7eXUoRcSsR4zOwl_CIej5gkQOR9Y9TXdD6RXeKIk8sgjOmQ-SBNhL5imRp75_L0cC2_J4ErrhD8Rmfre_7lI7X_PgRkLE5ARhflsoMLTjpXi_KgwL-2tU4cBNe-IjSNzROBfATy-Qqxynux5GE8vUuC0MDl3tJmxOgGrKZh-Kep_nGeG4eT4iApne1TWrjx9G0XSQFTW2SOAe72Js2A5nTNcd0t8BdkDKUwAkMdjNQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzdhNDRiMmMtYmEyMC00OTg3LWJjNjktOGY1OGQ4NzExYmEz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="94" it="0" lt="92" ct="0" ts="1587564506689" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-25" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWU4YjM2YWMtZjZmOS00ODg0LWIzZGYtNTg5ZTVhNTZlMTc0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxNi1sam9ibUNuNkNiLXNVcVMwWGJJQzZSWGwya0lMd3RYcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WstEzME400hF2WYuExSFUdn6G5sYszQyyFkplj4eWyGVkNecVB2fJPJgnxQ0cvv-CORi0jx50mrUZEnkmZ87DWCP9aOEvVgaFt5e8x_L6vqUM7T9Tef4pZ2MfcU2mJbNVim-EACM9vjhCSA4KANdV7Vq9wqkSSMlvlPY84mn-ZItrpzhtKkCKMBsgXK6hzCbjLvC9o-7wTImoMH-FWDArVSLPzMNTW-Lb6LBg5cjvZsjptJ6WSnmYsKDn3-P8GpdUJ681THozC-eB1QIbQae9F5KI5vy68s33CAX-47MmnKzIjYGVMKrSk0g0jb3Njqatcbd2pSDdD7KBrj7PZv9DQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NTdlZjdkMzEtY2E5Ny00YzNlLWJiOWQtMDRmMjE0ZjA2ZDBi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564506775" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjBkMWQ0YjItMmFmYi00YWY5LTgyZmMtZWVlMDgzNzUxZjYw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="127" it="0" lt="126" ct="0" ts="1587564506657" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-51" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDI1MjFjM2YtMGIwMS00MDYzLWIzYjEtOTgzNmVhZjBmZDgz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMyMS1UamFuMkhoVVhOWWZhcVN0eGNmQThaNmxhb3JlQnhnbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iNSlz1n9yJU_40bhY3bEm6pnALWbB30k_rzpfdG-6gaXsEnlSN87anjUTEiEJZkkR-ZpVQDaHGbHNrzvU3ftm1gwPIL9uwTLwyku9SG_s-UllHCMkkampgLLetIBJVgR8C2klexBzYeVQlEbR_sqclRvi0b6xvBxF2Cg6LL06xPwG-zU-zgjmhMf50lS0qMmJ9Y-DJkAZb13TOsxDd3wLBYOhB54Vv53RQqKieEsiTjCaefKPwsH0dwGPgciVDn7-hZlTOhGmSzkFUOsqBSOKWZQlfx43AVp4Dc9M5TAufCoIHqy2igiKqO5OwGxdGE8Zve7phnVo5V15agdVj4_HQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDUzNGI5OGMtNjZhZS00MGQyLWFiYjUtNThlNTk5ZTA2N2Fj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564506778" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjFjOTIzNzYtNzk1Ni00YTJiLWI5NjItY2Y0YWVjYmE2YzFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="119" it="0" lt="119" ct="0" ts="1587564506668" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-79" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Nzk5ZGM3NTQtY2ZhNy00NjA2LWI1YzctYzI1Y2UwNmJiMjJk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxOS15R0VTMnBZMUhEMWw4SHJRVGh2ZzNuMzRrbFVPVFVIbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.k_D1vMzMb9UFQALzjNAdI6HSNj1mR92K-18zvRbTVNcdRN6rRdNMCTJKkaQnzpMT-b-v8LiLXFsPt584n4ZUlOUkuFHcXuLxdOAbhc8Qryzl4Bwl-zFt74DJ3s0buansdA9dzXCEDh3gjrvdLWfwAro09LPj_gevcwVfRzY-gpRYSr9_LiX9t6mRreMP24CPZ5QxvkMiaowC7WR1hCDfELsVprlkoSM7SNUTpNdcMTADrhlIg9j8f8dGXYFDPeBfcM7M00LC-vwpgCPYo6NwknX1cLMkJXjy7Yl4Qhbgg3YH5kg7vFWoq7etCnuoZLzujxeK3W33xtvCJM8lzibdsA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OGM3OGJjODAtYmM3NC00NGJhLWFiZmEtZGRlZmEwYTNlYzlm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="122" it="0" lt="120" ct="0" ts="1587564506667" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-16" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjczYjc2YTgtZTM3Ny00MzI4LThkNmUtYWQ0ZjE4OGZlNTFi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwMywianRpIjoiSUQtVG9rZW4tMTI5Ni1jMGNjU3hDemI4TzZUeTZHcFZ6N1FyNzlyRTNjamN5QSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Q1Gr2JXh38YIc2QzSRr6Br9BLAw-qnw99Qlbh1CXN_FdAqu1h48n4rXwT5ABhkMS8le2JGsTkAyzH8LkEYRefcgt53M5yE33lT-XmeYXc5dFnzJyWIPqe_fytff_MB9a-D_hdnx83oVgE6bxrkP00u8ebASiA5z7uzRU76VcKoLQ7hYLbyy83lvsChR2Kb2zTGBKwWKfQqEmTGT9YiTS7bz4Lu_BxBTDlGbHoaU20FSjdC6G8wpaA6RRbGpVDEwoAWrc-OR65YHc_0viu0RxeWUs5Fl_xaztXZuwgffKjPEdpimaNptqw0ijJJk5kcGQ25QIGDrG6sfgTT_YvGgpUw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2Y1NWYwMWMtOGNhNy00Mzc0LTk1NDItYmQ1MTdkNzk3Nzg2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564506784" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTJjZmQ0YmEtMDIwYS00NzllLThmYWQtMjI5MzUwY2NlMmFl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564506783" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTI0YWE0ZjQtNzJmOC00NTJkLWIxZTUtYmU0NzI3YjQxOWRk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564506782" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTg0MjI4ZTgtYjA4Zi00MjNiLWJhNmEtYTE1Y2FhNjNjZDZm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564506782" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2NmMzI4MWQtYjQ5Yy00OTk0LTkxZjUtNmNjZjVlZDIwMmUz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564506783" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjBkMWQ0YjItMmFmYi00YWY5LTgyZmMtZWVlMDgzNzUxZjYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564506788" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODBhOTNkMTMtNTc1OS00ZDkxLTg5OWUtMTUwOTkwY2JmYmZj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564506789" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Mzk1ZjFhYWItZjU0MC00OTQ5LWEyZjEtYTk2NTQ1ZmJjZjEx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564506789" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTJjZmQ0YmEtMDIwYS00NzllLThmYWQtMjI5MzUwY2NlMmFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564506790" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTI0YWE0ZjQtNzJmOC00NTJkLWIxZTUtYmU0NzI3YjQxOWRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564506792" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTg0MjI4ZTgtYjA4Zi00MjNiLWJhNmEtYTE1Y2FhNjNjZDZm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564506792" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2NmMzI4MWQtYjQ5Yy00OTk0LTkxZjUtNmNjZjVlZDIwMmUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564506794" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODBhOTNkMTMtNTc1OS00ZDkxLTg5OWUtMTUwOTkwY2JmYmZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564506794" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mzk1ZjFhYWItZjU0MC00OTQ5LWEyZjEtYTk2NTQ1ZmJjZjEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="54" it="0" lt="54" ct="0" ts="1587564506783" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-25" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2E1ZTMyZGMtYTZlOS00MGE1LThhNjgtZTYzODU3ODRmODQ1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMDUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUwNSwianRpIjoiSUQtVG9rZW4tMTMxNi1sam9ibUNuNkNiLXNVcVMwWGJJQzZSWGwya0lMd3RYcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WstEzME400hF2WYuExSFUdn6G5sYszQyyFkplj4eWyGVkNecVB2fJPJgnxQ0cvv-CORi0jx50mrUZEnkmZ87DWCP9aOEvVgaFt5e8x_L6vqUM7T9Tef4pZ2MfcU2mJbNVim-EACM9vjhCSA4KANdV7Vq9wqkSSMlvlPY84mn-ZItrpzhtKkCKMBsgXK6hzCbjLvC9o-7wTImoMH-FWDArVSLPzMNTW-Lb6LBg5cjvZsjptJ6WSnmYsKDn3-P8GpdUJ681THozC-eB1QIbQae9F5KI5vy68s33CAX-47MmnKzIjYGVMKrSk0g0jb3Njqatcbd2pSDdD7KBrj7PZv9DQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NWU4YjM2YWMtZjZmOS00ODg0LWIzZGYtNTg5ZTVhNTZlMTc0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564506838" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjU4ZGE2MjctYzZlMy00MjA0LWFlMTQtNTc4N2E2M2YwOTc5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564506841" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjU4ZGE2MjctYzZlMy00MjA0LWFlMTQtNTc4N2E2M2YwOTc5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="445" it="0" lt="341" ct="1" ts="1587564506681" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-84" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=262c8d9f-c482-400c-bedf-331759f64c70; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="439" it="0" lt="306" ct="2" ts="1587564506685" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-87" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=77df306b-f7d9-4444-af53-e2aa59799f96; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="336" it="0" lt="221" ct="1" ts="1587564506797" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-28" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6263a266-03a9-4964-af9e-73cb9f545516; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="339" it="0" lt="221" ct="1" ts="1587564506797" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-49" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c1fbe52e-408a-4331-b9c6-55d180376d6b; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="465" it="0" lt="330" ct="1" ts="1587564506676" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-69" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=26c4e030-1f0a-47a3-8e45-ff9cd9c12efa; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="354" it="0" lt="242" ct="1" ts="1587564506794" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-51" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=32f3277c-e225-4e00-964f-a57f3b9526a0; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="451" it="0" lt="336" ct="1" ts="1587564506694" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-92" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=12fc0faf-d1c1-4928-a1cf-4c2f5b97eb8e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="455" it="0" lt="327" ct="2" ts="1587564506685" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-26" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=01b7ca15-01cb-4681-901b-ac0c19815146; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="399" it="0" lt="270" ct="1" ts="1587564506744" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-39" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=504d8d0d-2c50-4c76-b975-f7d9e5a1210a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="339" it="0" lt="223" ct="1" ts="1587564506798" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-16" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e904f92a-f07c-423f-a278-a3eb5e0025db; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="478" it="0" lt="370" ct="1" ts="1587564506687" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-20" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b087d9fb-4336-40d7-8d01-d6ad4706d9f1; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="474" it="0" lt="365" ct="1" ts="1587564506687" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-67" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=13ad0ee9-e6dc-4bd3-8d16-b40a6df4218c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="487" it="0" lt="356" ct="1" ts="1587564506686" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-2" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=db06cf73-aca2-43cc-96c0-ef3afcdd2838; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="467" it="0" lt="357" ct="1" ts="1587564506691" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-12" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=63d70e4a-f6c5-4867-b858-54c0b314d8f4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="379" it="0" lt="262" ct="0" ts="1587564506750" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-99" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7af47b69-08c4-465b-9989-1fd519a68f70; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="474" it="0" lt="342" ct="4" ts="1587564506683" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-6" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=97b44ef9-00a7-450c-9ef8-8399b5be4f1b; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="472" it="0" lt="350" ct="2" ts="1587564506676" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-32" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=f8030407-91af-4939-8f8d-62533d1fea18; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="462" it="0" lt="320" ct="2" ts="1587564506688" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-56" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ee10c868-cb88-4cd6-b9a8-4118945a8a7f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="502" it="0" lt="400" ct="2" ts="1587564506680" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-8" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=5d1b3c89-66d7-4043-9961-f73e74da77bc; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="340" it="0" lt="219" ct="1" ts="1587564506845" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-25" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e5816601-da91-4055-af58-0656b40bc11a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="478" it="0" lt="345" ct="0" ts="1587564506687" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-31" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8e959ee0-e2b7-4ac7-9a0a-7b645176d447; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="484" it="0" lt="362" ct="1" ts="1587564506689" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-73" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3e310b5b-8ebc-4d25-a7d7-1455e41c6abe; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="517" it="0" lt="421" ct="2" ts="1587564506677" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-64" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=710cc128-7049-46be-ae68-97d17d1d0fb4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="514" it="0" lt="399" ct="3" ts="1587564506675" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-17" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=617e0bc9-c0db-405d-b866-9b28133307a4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="499" it="0" lt="380" ct="1" ts="1587564506681" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-42" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=cc553af2-4b6d-4ba8-a57d-6b5a102e3445; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="423" it="0" lt="302" ct="1" ts="1587564506740" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-36" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2a0d5149-413e-44d1-a2e0-4996c9679cea; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="476" it="0" lt="366" ct="1" ts="1587564506700" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-44" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=36dde4a2-5c39-453c-9d0c-1e435661391b; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="485" it="0" lt="357" ct="2" ts="1587564506676" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-24" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e2402f42-cfd2-48fd-bd3c-f3a594896dae; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="381" it="0" lt="269" ct="1" ts="1587564506793" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-66" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a0e0229d-5c06-4d2d-a124-fa84d0df51c1; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="489" it="0" lt="358" ct="3" ts="1587564506684" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-22" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=83d03b44-0e28-4865-a54b-bc8cb6a7e121; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="543" it="0" lt="440" ct="2" ts="1587564506635" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-53" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=355c331a-6a1a-4956-a2f8-496e6bbfd69d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="376" it="0" lt="261" ct="0" ts="1587564506798" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-79" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a4d7ccb4-4f35-4c00-8f5f-8a9c5f2565b1; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="534" it="0" lt="415" ct="0" ts="1587564506635" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-60" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=f5d736f8-9da2-4d1e-922f-ae4c559f3c85; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="556" it="0" lt="419" ct="1" ts="1587564506633" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-3" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9095ae72-37af-4e01-8b57-25bff5e1c50c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="523" it="0" lt="412" ct="2" ts="1587564506680" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-86" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d2e5b626-3884-4589-be2a-8ad0dbfa449f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="2644" it="0" lt="756" ct="2" ts="1587564506786" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-47" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=751b9aec-b7ec-42d6-a24c-da056bedd367; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:27 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="11231" it="0" lt="11231" ct="0" ts="1587564506425" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1629-BQ3cuEY2Ce7aflca-Rj5eZvOpMgNqzJq2KMWjWTWe9H9v2tk0vgkzutZtSqWVI4KMdgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1620-QML82y4YMY7PFEzrHkFslCP6cgYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ef87cc65-8bbb-4dad-8462-f1736782412e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1620-QML82y4YMY7PFEzrHkFslCP6cgYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10502" it="0" lt="10502" ct="0" ts="1587564507154" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1617-VOGFHj201u0CK7fjHMD8Hm9dj1p2Xs76nb7lpQWfbWffndRwLcczdSsuUGmZgbTZNs4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1614-EO-7XavMVajeFukFPhS6mjBhwhUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=32f3277c-e225-4e00-964f-a57f3b9526a0</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1614-EO-7XavMVajeFukFPhS6mjBhwhUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10428" it="0" lt="10428" ct="0" ts="1587564507229" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1615-UjNG7HLMyRaz-A-Wj87w10-n4hKRbJJLH-WNGB1G2ufOM9srclKlSSrDfYdheGWlUvEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1653-2a60qftpqmy0NqYQhZ-65q-pK1Mc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ee10c868-cb88-4cd6-b9a8-4118945a8a7f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1653-2a60qftpqmy0NqYQhZ-65q-pK1Mc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11022" it="0" lt="11022" ct="0" ts="1587564506635" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1626-9oOVuD6JBu-IbVT4xJOReTfiKe4jNV5aw7wYPRE-vjFcSNjmF3xCKe8uZxBHnncsvbQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1624-BZUtpXUUatCKE241DKANoFMWJxgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=bd96c0a1-fd6a-4af2-80fe-6822699d45fc</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1624-BZUtpXUUatCKE241DKANoFMWJxgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11226" it="0" lt="11226" ct="0" ts="1587564506431" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1649-1BxqH7eBrqWM9Ghp1ui1XimGDLkbersvFUjWq1LmdrtU-yga0eU6Kqe0gxqZVdlsvosc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1637-D-S1ewjygvNrP7qXqKPquMBrw2oc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=01ff7737-a821-439f-9f43-9e8bfe8d8feb</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1637-D-S1ewjygvNrP7qXqKPquMBrw2oc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11010" it="0" lt="11010" ct="0" ts="1587564506648" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1654-qgIdAc8Kk7WDnnpBFCz4IduiTluvIzOkZZFFk-B7FhQgEvye6atzPbWQNVABnCIYJksc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1648-kDfZhEPWKIu0M320Uoc75JlnRtEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=eea0a71d-fbd9-490b-a25f-5d857ec730d9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1648-kDfZhEPWKIu0M320Uoc75JlnRtEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11021" it="0" lt="11021" ct="0" ts="1587564506637" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1628-bgHfP-MjtVBFtZ-1VcTKgH3kBOrlczOMLaPv1EEepMdhsOxIq8qRcOdvZw7aTgNtOJoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1617-nexTTYu7nrP9-K2BIusVXfM3wJEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b9f48a6a-758c-4f9c-8244-631ce5293ca0</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1617-nexTTYu7nrP9-K2BIusVXfM3wJEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10428" it="0" lt="10428" ct="0" ts="1587564507230" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1616-gOEz1QGXe-hwrljFtQM-vpoLip8CNJIZwFrYkhkE3UR8OZW6Q8MsVeEXkWoAGL-zbqUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1616-1HwFq5u8Mxr-qv2VQMe0oLsjR4gc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=97b44ef9-00a7-450c-9ef8-8399b5be4f1b</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1616-1HwFq5u8Mxr-qv2VQMe0oLsjR4gc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11014" it="0" lt="11014" ct="0" ts="1587564506645" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1622-F576XbgFlBDAcGIDLDjDqzu-LBEK7IR3qGwP4Ym0UDqpn5nAJuLUBY5ut1o1wv2nGasc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1633-sBbxDZQpZcdguwyyDq2wa2PL9pwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e1c3e74e-d54e-4578-bc5f-5ba11a47e3f0</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1633-sBbxDZQpZcdguwyyDq2wa2PL9pwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11361" it="0" lt="11361" ct="0" ts="1587564506298" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1631-E363oWMqAhhUd-s00E9t6rk7STGm1nPzEjPamyhJ4QuLrW5JtMsnyEsm-uHxqBBqJHsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1635-ZjxgWzCRJ8aHz4Sgz6mCL19KYq0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d54e4be5-6e86-4e72-8a24-a368b3840e22</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1635-ZjxgWzCRJ8aHz4Sgz6mCL19KYq0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10990" it="0" lt="10990" ct="0" ts="1587564506669" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1623-ZZuF4uNVujSQKnWviOP4n2TE2gb-gizQZJ0Is1FB9SDPek5q7wL-UfsqiIWSJThGIYoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1654-XRGDgSyvhN6TT5xO0Zi9ofr7ZAMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8505001e-3e4c-463d-8dd8-746f9ec01b83</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1654-XRGDgSyvhN6TT5xO0Zi9ofr7ZAMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11276" it="0" lt="11276" ct="0" ts="1587564506383" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1633-anBI8i6TNZiWyZB-LT5GM7mQep0PI-28UV54hcFrRuVecXzHrzK4Nzydk23LOLnYqhsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1628-M8eGmWys7CfLOW67Co0T-KBE3Hsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=bb72cddf-51be-447a-8dd2-c97093cbf95c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1628-M8eGmWys7CfLOW67Co0T-KBE3Hsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11011" it="0" lt="11011" ct="0" ts="1587564506649" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1619-9zaN6rT5-T6da4Pz3MC3R03BGOVcrzsk-PRNTpR0jSZBIYR34JbBWuwvF-Ij-UbfuZUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1619-vjF0qdLi-3sV9Z50ujpB1N0qxtgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ba814ded-45af-4b6a-9221-a2d8a779a7e8</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1619-vjF0qdLi-3sV9Z50ujpB1N0qxtgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11006" it="0" lt="11006" ct="0" ts="1587564506654" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1627-0OUWN73aQF9-lXdDnRSs3TRN4h7uk7PgEh0P-Vm84JmII2-qKM5arMTc9sGCu60VzGAc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1621-eJJtJ4XdRVFGDwiIg8e-xey5PxEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=04fc879b-47ff-4ab4-8969-009ebfe34d08</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1621-eJJtJ4XdRVFGDwiIg8e-xey5PxEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11030" it="0" lt="11030" ct="0" ts="1587564506630" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1630--iOlsf9iALHkRBTbdsBGwSGYngr9MPPgO1FOXuyaKa277kd-k6mTBDsfVVUNz--ew-Uc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1615-zBtjqy4jDYuvrZOElOCMsQ8RwF4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7697933e-a342-463b-9ed8-e2e0c222683d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1615-zBtjqy4jDYuvrZOElOCMsQ8RwF4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10524" it="0" lt="10524" ct="0" ts="1587564507134" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1637-0l9LI6maaQr-wIrRBCk4M7uoM05uH3m58fsFZ27IdHQ72JHsrh-6aEPFxBx7DogCfb0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1636-0-k3x1-xC5P1DgBtp4-Wavs8yF4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=77df306b-f7d9-4444-af53-e2aa59799f96</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1636-0-k3x1-xC5P1DgBtp4-Wavs8yF4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11651" it="0" lt="11651" ct="0" ts="1587564506160" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1638-2kKNpVTbyFVR0pjrWnsxZpjVBLLzWqtV73zI-GcFd9hTp9myR90-TD33s8GrEvQJmXQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1632-oo-mnY8d1b4IldbUXt2RFrlWeiMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6588bdfd-4d8d-4078-9301-f76f7c117e5b</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1632-oo-mnY8d1b4IldbUXt2RFrlWeiMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10576" it="0" lt="10576" ct="0" ts="1587564507235" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1614-7ncWkj-ckOdKyv3yvIpfduL0yHkzREaw3BhKor8l2-C2uiN8TAW44Ky336vene3yoNUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1649-PnXbA18eLg1lUO4hbZpZASsahxQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=355c331a-6a1a-4956-a2f8-496e6bbfd69d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1649-PnXbA18eLg1lUO4hbZpZASsahxQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11185" it="0" lt="11185" ct="0" ts="1587564506628" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1646-V7rJik2gnkAzNidJ09CO7M4n-YKiX9bdgjT6t7nEl6vXaJpe50PVWu2hAZvNwW1eKWEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1622-6mk4EQkmr5FVfkGmRX7nSz-TaIAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=bd611c0b-d00d-42a6-9178-b79d92d51c42</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1622-6mk4EQkmr5FVfkGmRX7nSz-TaIAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10583" it="0" lt="10583" ct="0" ts="1587564507230" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1651-dr-WMWmeJFMml7Q2oKdV2MVms6cx2NQKOmG2vxnBv-rnxflhC2S1ZF0-f-7q-daUHmwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1651-yVo8hdo9oWbnWsfpNbD3DCVrjvUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=36dde4a2-5c39-453c-9d0c-1e435661391b</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1651-yVo8hdo9oWbnWsfpNbD3DCVrjvUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11263" it="0" lt="11263" ct="0" ts="1587564506551" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1650-k-iTS4Ro1j0ejKCfUie0Kg6tSGi0KB3iJnj6yt7GZi7mXkBvOv2-IsNijwXF8sKGNWMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1652-Yhf8B072JD6w2aw635UXU-f3gB4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=5c6a296e-ce96-44ce-a35a-51e6dda93586</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1652-Yhf8B072JD6w2aw635UXU-f3gB4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11164" it="0" lt="11164" ct="0" ts="1587564506650" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1643-Q5HRixyD3ye682P5Xz1V8vA2X285sUoZ2Dd-L-iqtNfGu3JFOap76ludZyV0d7F-YU8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1639-HNJOMHWwCrM6doNSBl74VlCLkrcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3f27b03b-296d-4e26-bc9c-da585b19a6bb</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1639-HNJOMHWwCrM6doNSBl74VlCLkrcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11170" it="0" lt="11170" ct="0" ts="1587564506645" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1625-t8YclG52GLWC5D0u5J85BrIpPVwnXQ442l6ypKtNcn5mPspjP-R2XcJk2vJ12RIuMZEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1630--g1HN86I-Eo0vKt-iRw1rnXdZNoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=03e9e6b1-0a2b-48fb-8ff9-b486184a4b49</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1630--g1HN86I-Eo0vKt-iRw1rnXdZNoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11178" it="0" lt="11178" ct="0" ts="1587564506637" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1624-djLeWV3nBK81qxk3hMGXvRqeiDCGbSAUeQ-h-LSn-3J9U-kBKejNEJtrNbZf4Fi7-nwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1634-H5xnw6nWNUlFfJIgXqlJMj-vp04c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e0154498-d216-4c45-adfe-28d1135163bd</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1634-H5xnw6nWNUlFfJIgXqlJMj-vp04c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11206" it="0" lt="11206" ct="0" ts="1587564506610" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1648-uo8Km0pXv8gVyHP1fnxTCBPSPPv6jOIlSGQzWU-MJP-sSl-XdXJJQW0sg2XOvg5pdfMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1638-3dOdDZCpDjlgdlJegRYOp6O3ydkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d98cdc94-5e75-4e35-a5e5-2ae48a11eaad</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1638-3dOdDZCpDjlgdlJegRYOp6O3ydkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11148" it="0" lt="11148" ct="0" ts="1587564506668" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1621-cHs4Uxj2AkYOq2-XXXFL7XswYtvsACASf8SOie9GFml2ruCYFp6xdi5Vv9HXxVgMmPkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1646-8Rs96p3RRtAQBJiwr2gdXujSQXwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0897bb6e-48c7-4211-8091-23fdf20f0c08</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1646-8Rs96p3RRtAQBJiwr2gdXujSQXwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11163" it="0" lt="11163" ct="0" ts="1587564506653" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1641-fh-vGEBC6rXgOkYexPEIUhnXdv1JSItpmYe2-JWT3ccI-owQBTBVC-yqj6kad5e1pvkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1626-VDe-YVLWyEzMw0pKiqL-Wy9Y30kc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=92d0cfe8-623b-4f1f-9eb1-59903813880e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1626-VDe-YVLWyEzMw0pKiqL-Wy9Y30kc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11183" it="0" lt="11183" ct="0" ts="1587564506638" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1620-OLKvVIx-M6QRc5DDHc9K82dSpEOw8Fdm-zutY0eQx4n2gjgr9FFQU7w8pade2jGoRbQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1629-GQqcQyo5aymVVpf8zEnnhJ9X6fYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=1df78cda-4999-4b89-9fd0-a121ce6852e5</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1629-GQqcQyo5aymVVpf8zEnnhJ9X6fYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11166" it="0" lt="11166" ct="0" ts="1587564506656" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1635-upsRW3hy-Rl7QuwnmmuTlNtFvTcKDfVStZyhf4PqDdyLpX2zD2GCdYPZlOHphyUdP2gc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1641-FHqsbW0clw6-ZtpzfcjzFut8evEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6edfac51-a3c4-4a01-959d-4905c356c4fa</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1641-FHqsbW0clw6-ZtpzfcjzFut8evEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10584" it="0" lt="10584" ct="0" ts="1587564507228" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1642-2jg5uU4jPQBIKywTnedYmZ-IVGhD8GeINTt9jiP9VSG3UsQcH7-mIWpQkvYo0Jawwysc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1645-r-psXAlASMA4VzQ1yZrL5eK2WPAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=5d1b3c89-66d7-4043-9961-f73e74da77bc</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1645-r-psXAlASMA4VzQ1yZrL5eK2WPAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10587" it="0" lt="10587" ct="0" ts="1587564507236" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1640-DvwtcWlXwQypF8neK2nXtHH7we2D17XT4cVWrLnJUf90u056bPbDb0sUmssGjSjp4LEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1643-cvYeQReXow3-vrzT0XK9EGPSYNwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a4d7ccb4-4f35-4c00-8f5f-8a9c5f2565b1</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1643-cvYeQReXow3-vrzT0XK9EGPSYNwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11161" it="0" lt="11161" ct="0" ts="1587564506657" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1653-5GWnz-CMWpUbUjq5-o2l3ahcQWuqXEl02NZEM7jIVb5wDwaT-CkQWzt-ZhCWsU9U5Occ7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1640-43are-JAWgTC8MU9YNNgSx4d0xcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=88819dce-7119-4528-9cb7-af4e7bf4704d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1640-43are-JAWgTC8MU9YNNgSx4d0xcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11210" it="0" lt="11210" ct="0" ts="1587564506607" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1647-giVt9ScueggzldMmm7usx0tPyaBpEy-ilW3wLOjaA6xNCt-R-jBapJejFlpl1r0nGkMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1625-xyn0uBUUYsYAGRTosHURUqNYKtcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=1b8a16ad-0756-412f-a150-21169ea1886e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1625-xyn0uBUUYsYAGRTosHURUqNYKtcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10660" it="0" lt="10660" ct="0" ts="1587564507157" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1652-pRe-Mohy2f3z7JHmS79wXs-kby54BhPtIWkAHweTqBl8tnbLyhmj4ij9mfXfffemxI0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1647-JJPoh8msGSDT3rMVpo-NZOzCJwgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=504d8d0d-2c50-4c76-b975-f7d9e5a1210a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1647-JJPoh8msGSDT3rMVpo-NZOzCJwgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11199" it="0" lt="11199" ct="0" ts="1587564506618" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1636-LHMzPpQoZYXK13sJv-nfGbYEqxWsZtIpW-Nkq7YmOJK-TQ-9nYluQLcY42QZE-59FLsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1642-tJM7nSdipi5qAe63vUw0Aprg9uAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=01e2f589-d5be-4833-8da0-60933c34d192</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1642-tJM7nSdipi5qAe63vUw0Aprg9uAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11369" it="0" lt="11369" ct="0" ts="1587564506448" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1645-NZ69S7PYaiVAjgYUkOpCRh1HeN8oiMn5KHx8vdfg9H94jCJOdKIrqI6ylKdhEjW2W-8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1650-2NhzDIvlrKwaYsPya3Fg8MpzkhQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=18f4d966-4e0b-4271-9d48-cc987fc1fefa</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1650-2NhzDIvlrKwaYsPya3Fg8MpzkhQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11184" it="0" lt="11184" ct="0" ts="1587564506633" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1618-ehuRF8T7Q4MjPM05aGFc-UZ6rl-P3KhTHRBezsdzn2YE9ktk3nLxY71En7giXd25Tasc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1631-5zX1PSA0OtmdB4dHGbZBq2f1ShQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=53aab6c5-a7d1-483a-9b80-c2aa5f7af82c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1631-5zX1PSA0OtmdB4dHGbZBq2f1ShQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11166" it="0" lt="11166" ct="0" ts="1587564506651" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1634-Dee01Lpf4-WKPoKtFGz1QYzg5fcRiIVQhBKhI7J97-ztesYU0c-mTSiMBeN-pCSYFz0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1618-nlQbdT4Vzvg-mV38lbzT0bIJAGUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ced7b435-7ad5-4236-9ead-9c5e828f4450</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1618-nlQbdT4Vzvg-mV38lbzT0bIJAGUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11207" it="0" lt="11207" ct="0" ts="1587564506608" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1632-CyvkSq6-tFweSTAV9ps7-9-Y91L77BGjexNqP8QShWw-EkDy2hiUrI-1OijImmnzWVMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1644-PNG2TH0A58uyGfbYKu0qbQScCzYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=4b84a930-efbc-4890-9c12-1c073aa85180</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1644-PNG2TH0A58uyGfbYKu0qbQScCzYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10590" it="0" lt="10590" ct="0" ts="1587564507223" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1639-rxOg2RzU-orwWZ8225r8YuXQY-qbETtkMlQ-yXm6k4XAL5qvZkpL9jTqaMcT4gcnlqsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1627-K-is00KAAizY89aOlt8RIJSfZtkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e5816601-da91-4055-af58-0656b40bc11a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1627-K-is00KAAizY89aOlt8RIJSfZtkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11172" it="0" lt="11172" ct="0" ts="1587564506655" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1644-gjRhnnXnoq-HAaDviZvnIHk-s7eBClAZ06IVPfkrck5x8mpIyxYOrjQcLZcYnG-Zq2sc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1623--sl77EsXugOk1BykFtQJdXzsv4kc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=5943a864-3f64-45cd-9a75-c4267e1e8483</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1623--sl77EsXugOk1BykFtQJdXzsv4kc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11021" it="0" lt="6467" ct="0" ts="1587564506796" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d226e4c6-096d-4898-b2cf-19aa1582451d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:33 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="10625" it="0" lt="10625" ct="0" ts="1587564507241" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1693-dUppXbW65mqFpjnyHk3TGffSoC9ZCisq6kTcR4YEh9IQRGQtTjjZ9F8aK-1RInlJI-Ic7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1660-LMtrp13afe31TI-Tk8qd3oPgBKEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d2e5b626-3884-4589-be2a-8ad0dbfa449f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1660-LMtrp13afe31TI-Tk8qd3oPgBKEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11233" it="0" lt="11233" ct="0" ts="1587564506636" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1662--xR66jJsD9PvtrAqQtePspn8GqNofn62a8EaMbKx7HO0--NC9ZBw2Y40X-un1RO8dy4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1656-Ve4OSMz0-qvbivpNXSQTpB8BSzgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=edd5d34b-8d27-401c-8111-9b884aa3a9fa</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1656-Ve4OSMz0-qvbivpNXSQTpB8BSzgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11434" it="0" lt="11434" ct="0" ts="1587564506436" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1669-iEFlIXO8CNU1355GKQ9deksfNuHizcAXYhLNWkFpC9ReW6Tk5RODSqoPwupVdDNiko4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1676---YKUUS2BFov0qrkHLyMz57gSjgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=171b4a8e-0aed-48aa-a764-5b2cd58ac8a3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1676---YKUUS2BFov0qrkHLyMz57gSjgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="8433" it="0" lt="8433" ct="2" ts="1587564509439" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1711-zumOmsyVQYXt1woy8ukU4XwhB40I3oVE8tquP-W2F2fmP2aVceizMQEFGqvN-eyfGJwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1663-FyNoTRLDltQaLcimaMmdA4KJQHgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=751b9aec-b7ec-42d6-a24c-da056bedd367</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1663-FyNoTRLDltQaLcimaMmdA4KJQHgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10657" it="0" lt="10657" ct="0" ts="1587564507217" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1707-6JfodOMmTL-C4Q1w0QL-rduXfNyuMo-2sbeT-s8BzUFVHYfnWGAkosTHcdh7qQu4cJwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1701-T5NmlI1qFNWjar6Z4yPkfbZwARkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8e959ee0-e2b7-4ac7-9a0a-7b645176d447</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1701-T5NmlI1qFNWjar6Z4yPkfbZwARkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11230" it="0" lt="11230" ct="0" ts="1587564506646" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1682-uvAyBfUpGZh27QnPPP16BcWEVPD3HzZ8u6nMs1aWlW-39omUp9htdshp0SYjjYXclUwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1693-UaX4mgLRg-YDk0EOltgbQ7TpEGEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2492192c-9a8a-45cf-82d8-d4f6e8fb5b47</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1693-UaX4mgLRg-YDk0EOltgbQ7TpEGEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11236" it="0" lt="11236" ct="0" ts="1587564506641" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1659-QLfnw-NRs-jCqijElXivt3e-WAB-gIeQm5FhPjn83vct7ugt4sYA7eY-qWgg1NLrqX0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1655-1F5SscwO18F3VxzwHnpCwbG4n2Ec7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3ba4e4a1-b69f-40e7-9885-e11a5acf3c0a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1655-1F5SscwO18F3VxzwHnpCwbG4n2Ec7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11236" it="0" lt="11236" ct="0" ts="1587564506642" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1674-fJuZdwqhiLpBNV7QWZzjLst7SVzLk8KXrL3iOvo-tjPgZxD4I2fWAmbsrc3tY56ZrLwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1686-mXwPbK1Z7eWhq2kvidShJTnEXZ8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=96fd9c04-9978-4853-8f95-8924f8c6747b</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1686-mXwPbK1Z7eWhq2kvidShJTnEXZ8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11249" it="0" lt="11249" ct="0" ts="1587564506631" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1691-HBH1mRZBG0-j-mp9mQhgCWWArGjCN0SfGFKqJnpAJYMa6-vig2ZY3nFhhX3jyFauf5Mc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1710-du0va1IRHVfJYaaMamlBs-2luAoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=43519430-cfb0-42c5-b768-89477110712a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1710-du0va1IRHVfJYaaMamlBs-2luAoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11230" it="0" lt="11230" ct="0" ts="1587564506652" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1658-2BSemVhtgFJJcplUQZ8vjJqlIqFljPmb3mIYGbfqp3AXAfw73ux-pHfFXIOVhDN5zYgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1659-mM9ztmCoJ0ugwAxsHdushTLRhQMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8c0fea4a-dc8c-4b8d-aade-ba67377e0812</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1659-mM9ztmCoJ0ugwAxsHdushTLRhQMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10655" it="0" lt="10655" ct="0" ts="1587564507231" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1704-qnbg8mqv86jhLDR2QRzqhqMkaNXdkaJFPzE-fCGy-fr-xCCzIeMQaEWjBh8pgFowx5wc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1707-Z2k-2nV4aYVJ1apGhnddcAi-Krgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e2402f42-cfd2-48fd-bd3c-f3a594896dae</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1707-Z2k-2nV4aYVJ1apGhnddcAi-Krgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10654" it="0" lt="10654" ct="0" ts="1587564507233" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1705-iPx4hgWQYjOLxKgY3XLlbCs8pbl--doxYdDdapkqChsTYeiMfMFbYNCIL9DDLnbs6NMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1669-XoxlpeoVLB3TEHuEJzT2yiugam0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=83d03b44-0e28-4865-a54b-bc8cb6a7e121</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1669-XoxlpeoVLB3TEHuEJzT2yiugam0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10656" it="0" lt="10656" ct="0" ts="1587564507232" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1703-6hO8UxX1xxIW3IOXwcS3ks9RgrkkJ1ig0yurVtpLqeWJmfaW0gMVOThvd1prdpKACOUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1667-f--8l4Ql7CjKBBugKbPB1VL6wbAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e904f92a-f07c-423f-a278-a3eb5e0025db</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1667-f--8l4Ql7CjKBBugKbPB1VL6wbAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11611" it="0" lt="11611" ct="0" ts="1587564506280" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1657-x9f-KI81-4RV-3RgmtWLgoJXsHJ0FSYWjYWgRbyx5HdqrN29nm66U3bvIuPE5DRCy5kc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1688--hqnZo7uIvsrhZE0PFWxZFUuJFcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=989223b7-9dee-4198-b3fa-7e59200e0779</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1688--hqnZo7uIvsrhZE0PFWxZFUuJFcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11253" it="0" lt="11253" ct="0" ts="1587564506640" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1686-SKDD-r4sv38JHEgSOa2a-7Ky9QehK-PnTdwOTCA27CdBQM-1J2SyxU-ZdWA-FZFnuVEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1668-seSVD491fAGKstFF6F-yTYiNdEYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=266497e0-2127-4763-bf58-658be2bac784</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1668-seSVD491fAGKstFF6F-yTYiNdEYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11225" it="0" lt="11225" ct="0" ts="1587564506670" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1676-QI7Q7Vjy0JO9otEK9BLkO9orN-UowCNMxncIrQexOzB01md9ylZa0tP9tdDvjo3YwM8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1681-bhKWwnpE-QK8rn9t2hsdyZh2nWwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d27a5fb6-4abd-4483-8b68-7ca5cd1701e1</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1681-bhKWwnpE-QK8rn9t2hsdyZh2nWwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11530" it="0" lt="11530" ct="0" ts="1587564506368" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1656-JAQUEbRq7JT6MyH860rqMHDkSfDPPFmlMh1YbCo-oXk4Wdwz0scFkAxatJxQhjYGbVUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1658-upBZzWpCYGMQ1ENsrYl-bLpxLXMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=19a94000-749f-42fd-a0e4-10b04a4783d3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1658-upBZzWpCYGMQ1ENsrYl-bLpxLXMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15127" it="0" lt="15127" ct="0" ts="1587564507237" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1667-64KIs15TRY9I5alIqa-yGFoNKXo7UWMax5uB0GdpJLFetzIZGEbmepNjjH0ldVOByHcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1690-XfVCGZ581gXN0nayui-Vezar6msc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=db06cf73-aca2-43cc-96c0-ef3afcdd2838</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1690-XfVCGZ581gXN0nayui-Vezar6msc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15134" it="0" lt="15134" ct="0" ts="1587564507230" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1695-5xeFhUDAhboxTV-coadg1N2XNQSrjS0TUM6AbIgSwFOllqlXZWSoEQN3bQIzElA-uTsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1694-LivK5uDN3cclk33Ob5cru-5Jf4Uc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=f8030407-91af-4939-8f8d-62533d1fea18</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1694-LivK5uDN3cclk33Ob5cru-5Jf4Uc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15138" it="0" lt="15138" ct="0" ts="1587564507227" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1701-SR-vzLDAEpmEHtTUIYz2K0sDbQcpPN9L3cy6ZMMOOuOKNzWyWK-kgbm9DjTmkQzJQOYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1677-FYzLokn-U-Chj1drjSCkogAcUpAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=cc553af2-4b6d-4ba8-a57d-6b5a102e3445</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1677-FYzLokn-U-Chj1drjSCkogAcUpAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15129" it="0" lt="15129" ct="0" ts="1587564507237" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1655-7WMLqFrXUrcKLP3np0D96qEr7sS2sjlN4gh6wRyVjIElpV5O3z7G7iSurFgP3k9G5vwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1678-3SucSDPutDA-pR9SPi7HyK97eucc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=63d70e4a-f6c5-4867-b858-54c0b314d8f4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1678-3SucSDPutDA-pR9SPi7HyK97eucc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15818" it="0" lt="15818" ct="0" ts="1587564506548" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1689-xKjKR1vRJDs-eHU0ZkxQuib6cbVaenkGUxW8LJ76aeLSB8orR8cP5bH3NTtylODWI-Ic7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1661-JwvI7jhh9D5VIQTnqPGoP4-UMnQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=5e0fefbf-cd7f-45a6-93f9-54911e499c71</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1661-JwvI7jhh9D5VIQTnqPGoP4-UMnQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15129" it="0" lt="15129" ct="0" ts="1587564507238" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1671-m5yAbGonDgNP7FfV0vHOCKjaf-J8patg6hvhoBh6T50-FIStk6yP2Ttdle4l2-HgVpAc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1705-sJiLRVHNjwuveXHnkqj4EySahjAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b087d9fb-4336-40d7-8d01-d6ad4706d9f1</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1705-sJiLRVHNjwuveXHnkqj4EySahjAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15142" it="0" lt="15142" ct="0" ts="1587564507225" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1696-iNrwLFxWZyQwfxr20gEmwZwyjFioUxN3ufDmPN7YrJPVuDkbzpnxtg7lrRWm-RCT10cc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1683-7rurFuFia5zFXiqyqjo2UNfY-LMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=617e0bc9-c0db-405d-b866-9b28133307a4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1683-7rurFuFia5zFXiqyqjo2UNfY-LMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15720" it="0" lt="15720" ct="0" ts="1587564506648" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1660-nVQpFZws241luw58mqZ9x8gvvcRM0KFSZYk9ntJt25N-t7VAiBltye1Urpu8fgCOMyIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1685-nQUB1YOlfQ0XvOtkx7qQDtvdTf8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a2e1e02c-eaac-4772-a87a-8d53a02da042</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1685-nQUB1YOlfQ0XvOtkx7qQDtvdTf8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15709" it="0" lt="15709" ct="0" ts="1587564506659" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1690-vVHsMaB6EgaFRvHm82nNNmf5lgudn0wBfK4CHwm7J9KOkhhBE8HON9-H43pmoTrzOJoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1666-rDtYYZ0zrzdXE7RcKfVUJrKWqOoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b50f11d5-b138-4a20-aa03-709e2f56ecf4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1666-rDtYYZ0zrzdXE7RcKfVUJrKWqOoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15709" it="0" lt="15709" ct="0" ts="1587564506659" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1675-gCty8-KgOHT-gG7wX2EEriB8tBQABIDktZFKkkgMAXGHQOT10uiHv4mIWkENMfvGoo4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1692-ZQCODqAY-g3GRMDaMHYEwCxcsGgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7ee97b6d-c2dd-4e00-bca9-ea479d75f539</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1692-ZQCODqAY-g3GRMDaMHYEwCxcsGgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15725" it="0" lt="15725" ct="0" ts="1587564506644" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1683-zJ-4NIAfvrzxuu7vY-VeEUj-aREIMho3OY-CneuHH7RZTa-K6Whgzllu80dyaoIy3HEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1687-nTxO-1N-xa6UEyNxZOHW5dyX5occ7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9029c80d-d5fb-4596-a269-f9b6e64aaf8f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1687-nTxO-1N-xa6UEyNxZOHW5dyX5occ7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15730" it="0" lt="15730" ct="0" ts="1587564506639" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1680-UaPCsLhtF-b8SITDtaVM-AGabhsTuGlYBxUmCJoG62l6zd0eOJO895KFJ3PpZ5wexAYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1699-MAWGhYJd5onOpf99NPTNRVNFViEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a614ce49-58f4-4d3a-9025-75f9d7fefc4f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1699-MAWGhYJd5onOpf99NPTNRVNFViEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15722" it="0" lt="15722" ct="0" ts="1587564506647" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1679-l0vc4teLM6RPnqQ69JJo5DIcljxF2y-EjfXDJrSx8I-fL-PBxRlSKrGMgNd6I5h-2f4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1708-AJm6QjE-bfpFRn0cVgVsFpI9y6Uc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=16abf3b4-c8b5-4601-b86b-7cba4c449580</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1708-AJm6QjE-bfpFRn0cVgVsFpI9y6Uc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15141" it="0" lt="15141" ct="0" ts="1587564507229" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1697-eNHoZOtY5Jr-UbJqEVg-XG9UqcjBl7w7rEVjZzWEhC5rSw3wOBI1amwjnuVmmruCxI8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1691-yMcdQQzvrMckbaKP4YmEwTVzNrMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2a0d5149-413e-44d1-a2e0-4996c9679cea</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1691-yMcdQQzvrMckbaKP4YmEwTVzNrMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15704" it="0" lt="15704" ct="0" ts="1587564506666" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1688-39iRwgdeuf07OAAnRul3-5wO0NYhXdO79kQVvd4Gg9xSOYfGpeqgJAnJxExbi-Rd-pwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1670-BRJTN2ctxxRFmeESMeKiv5Z42bgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=1d5cfbac-71e3-4b63-8981-640da8a224bb</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1670-BRJTN2ctxxRFmeESMeKiv5Z42bgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15751" it="0" lt="15751" ct="0" ts="1587564506620" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1670-ZnWGyur0VCMbOj6uaggU9-y-5-sRmXbOKrlpRYQjJm1kwtoz3w6kgccToNKbr71DcOwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1689-KaoC1-M44dAvAWg-olq1-S6-mGQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=051e83c6-b055-45a7-9e77-7d27a9270ee3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1689-KaoC1-M44dAvAWg-olq1-S6-mGQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15134" it="0" lt="15134" ct="0" ts="1587564507237" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1699-MGzG6Wij0-9s36-penhp7NOkT6hy5mvLtv6PP4bzviahOgkINgoUgzHSnHuTIOZId7gc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1672-1FtvOUACUwBxuhuC-DaS-QcGlesc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=13ad0ee9-e6dc-4bd3-8d16-b40a6df4218c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1672-1FtvOUACUwBxuhuC-DaS-QcGlesc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15713" it="0" lt="15713" ct="0" ts="1587564506658" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1677-hiXG-sYM3SEsSVxByZrr-fNEsPBS7m70Dh5FWd0S9irAWs8--XCeDzhDP9Q04A75Uvwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1697-z-O-Qhls-XqNPbcEgPYvK2o6tB4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e623b7fc-1bae-49e3-b08e-fc6c13f8acb4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1697-z-O-Qhls-XqNPbcEgPYvK2o6tB4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15217" it="0" lt="15217" ct="0" ts="1587564507155" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1698-GrbGXuATvfr0QodbVmlAjIgcfW4maB3-8cxNQ7Mqb0APIFGivNTc-iQDu7r0ED8T82Yc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1711-SSiWwDpF4rV-KrhhDLH9HWZlZnUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=12fc0faf-d1c1-4928-a1cf-4c2f5b97eb8e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1711-SSiWwDpF4rV-KrhhDLH9HWZlZnUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15133" it="0" lt="15133" ct="0" ts="1587564507240" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1692-nrcHd-mD5u0iNWF0s7jeSNrnaANsAmvchjYZQ7-wC2Oh9yVu-Nvjq1cx8jVG36aStigc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1704-ghDVrc0Wi2246VXgxHFoT5avkiIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9095ae72-37af-4e01-8b57-25bff5e1c50c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1704-ghDVrc0Wi2246VXgxHFoT5avkiIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="16207" it="0" lt="16207" ct="0" ts="1587564506166" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1678-APIVRDU5ucoUDDCE7WVaT8nC55y8OHHSw8XpGn8Q-QdaeM7DFCsE-YA-9H-syP0vat8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1682-iz-RxkBT-TDu8FGzUSCNULb6xQgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=5a5432cb-b443-4d22-ae23-ac3519ccfdb1</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1682-iz-RxkBT-TDu8FGzUSCNULb6xQgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="16397" it="0" lt="16397" ct="3" ts="1587564505977" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1661-YodS9H-Smaei3eFQSA72EgaPhmH12n7Ewi9T1P9nPoVFmuSE0XfaSjGx0hALlgF4V8wc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1657-nKF-WCndWxEhLcG3OLyliZk-0BUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=1ac1387d-5cd1-405f-b526-8320e78e9f51</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1657-nKF-WCndWxEhLcG3OLyliZk-0BUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15223" it="0" lt="15223" ct="0" ts="1587564507152" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1687-pkFzpSV8Bva3EM4tRPoggLyfDIZfnmMMIVTP7n-V4a80meTCWBXh4Ktshj3duY1YdZoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1698-e5mVLYztbzIKBBmz6LZ4qqozJs4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=26c4e030-1f0a-47a3-8e45-ff9cd9c12efa</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1698-e5mVLYztbzIKBBmz6LZ4qqozJs4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15746" it="0" lt="15746" ct="0" ts="1587564506630" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1668-H6oLTgZDBwrguQB2JAH-4-yOBH7nM9Sv-0PMyugcIycfE3GUJ2ENbluqR-ac4nRVV1Ic7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1662-b5ruqnVGBos-Ng-jL-KCw8J-or8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a352f07a-d000-4f38-924d-91c4ddcb797e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1662-b5ruqnVGBos-Ng-jL-KCw8J-or8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15225" it="0" lt="15225" ct="0" ts="1587564507151" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1694-o0w04pE5ASAW4HUQbJtzv14VwMRZeW-ylybd-EFD5bhmQ6xrKI1wLh8BEYbaiPU5EZAc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1665-aRM-uoI2Wgesu8xUZRVBZEkTROUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c1fbe52e-408a-4331-b9c6-55d180376d6b</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1665-aRM-uoI2Wgesu8xUZRVBZEkTROUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="16089" it="0" lt="16089" ct="0" ts="1587564506288" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1665-FSqG0lBcFZ-mLWDzwlHfH0sJD9w9StDn2bhgs1pe0V8GLDxjUkWwmu49TMyIdap8I6sc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1709-Osmkd0Tc8bGM9Wkljom9HZFzdgYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d98cd4bf-9dee-4053-ab53-a2d392f4f372</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1709-Osmkd0Tc8bGM9Wkljom9HZFzdgYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15752" it="0" lt="15752" ct="0" ts="1587564506626" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1684-qJY8OtdPqwr8V-ys1fnSRz1glA3DYCHxhhhsBiApYXQAgKb-dvzMuJUN0VehMhEh4tUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1674-sMrkbhsRbsRpw8NYN8t91TaRh4wc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2836d120-83fb-4664-8e5d-6364bb53a0f4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1674-sMrkbhsRbsRpw8NYN8t91TaRh4wc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15228" it="0" lt="15228" ct="0" ts="1587564507136" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1708-02yQmKC0ftw2W0CPopeI0gGDtojOv9NQqZMz9WdJwvCkBEbpvhvKVY6cauX8u5BiDokc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1679-C3cL9QBe9HI6GdQ-Grehrphe6DIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6263a266-03a9-4964-af9e-73cb9f545516</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1679-C3cL9QBe9HI6GdQ-Grehrphe6DIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15223" it="0" lt="15223" ct="0" ts="1587564507155" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1709-HRFfhG68X-YBOonHj7xjQ1Dz7SMGsASPHU-wnitD48XPsdyfUPWdiW-FCVlDgu2cDBoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1695-cLcmNr1okH7M06Rjb0HK8iqBhPYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=01b7ca15-01cb-4681-901b-ac0c19815146</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1695-cLcmNr1okH7M06Rjb0HK8iqBhPYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15722" it="0" lt="15722" ct="0" ts="1587564506657" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1673-3-4xGz1T4NGpZ3tpFPi1SMUWkFMuea8siBVGfE4q6eQViUkMQ21kOEHuiSJv9aY8ZUQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1702-G59H-3kgSMWrd-zuSq1KcQlvwmwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a5908995-03a9-4d4e-8649-31f891c3d50e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1702-G59H-3kgSMWrd-zuSq1KcQlvwmwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15147" it="0" lt="15147" ct="0" ts="1587564507232" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1706-d0zIcNMbmHqrqCt-EX00IkEzZy2gF7DwbYBTmLPs8ZPojB4UWYa-YDQDYWIaU04DWCQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1673-qy-oi22XEK3R1fz7fgIhWwQa-fAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a0e0229d-5c06-4d2d-a124-fa84d0df51c1</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1673-qy-oi22XEK3R1fz7fgIhWwQa-fAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15714" it="0" lt="15714" ct="0" ts="1587564506666" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1663-B2iAx5vslQyKH-YHjRWbKAlb3ZwwyxfTTNH1AL-4SVXnzm27BslnQH6wDxm7op7-QjMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1664-f5gQybNBzKDnVCYUdC--VgEJkdoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=da4b2b57-ae88-4d52-9367-b92762601e82</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1664-f5gQybNBzKDnVCYUdC--VgEJkdoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15737" it="0" lt="15737" ct="0" ts="1587564506643" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1685-AcVzNLW10TJe6IXfhblA-L--t51y0lZXxJjn7GWCK-LsAQuJ1794uyBOzrmsjeofhGcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1696-pKSdXqVGXmouA5FJtmQdwLq4bLcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=70bfb54e-7ec1-46c3-a161-2be10fa0fe5e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1696-pKSdXqVGXmouA5FJtmQdwLq4bLcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15142" it="0" lt="15142" ct="0" ts="1587564507239" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1710-LdT3a2dORQDRTGvqLeCCfqVYFx-4ipV3sWh5UqqKvxjAyC3Hyh6PZa68BVVoQqJPnuUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1684-7X4nPLkPIg-ccDlA9qPyukemlP4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=f5d736f8-9da2-4d1e-922f-ae4c559f3c85</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1684-7X4nPLkPIg-ccDlA9qPyukemlP4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15246" it="0" lt="15246" ct="0" ts="1587564507131" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1681-HpMy1tiOypfNGkg2gy7fdqswaIX0Khvzk-0OzhSTJEtOLwbNQd7NYtfsz3p2I-8eTfUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1675-dydL8U3-jFCDKlgRJeiVKD00Gn0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=262c8d9f-c482-400c-bedf-331759f64c70</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1675-dydL8U3-jFCDKlgRJeiVKD00Gn0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15141" it="0" lt="15141" ct="0" ts="1587564507236" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1712-zdxQY0BvNZPzJiTUH3YHG5iVaVFSAq8zPmG5r1ogGBnC-k-WYlTW7GmCqb2ekk7zdLQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1700--b2irr7OvuQVg1afSqkd2rQbSOsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7af47b69-08c4-465b-9989-1fd519a68f70</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1700--b2irr7OvuQVg1afSqkd2rQbSOsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="16457" it="0" lt="16457" ct="5" ts="1587564505911" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1672-jMd9-nEcxLQOShKmwD5kxnMu59kGvVDv2F4XkqxdeQER7ZgGxUhS5Tp58I0L4tbamHEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1680-AySoLj8kgqrtDWKYPW-izM-6rEgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:42 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0ec566fd-9453-4e81-b5c5-11988bc3a6a7</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1680-AySoLj8kgqrtDWKYPW-izM-6rEgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="17357" it="0" lt="17357" ct="0" ts="1587564507223" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1702-4kn0c8mB-11dDOOURRg5RR9802e0SNkXCviQpPS3B-drn-UuTexHi7BNGzd17PEDGfkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1671-X-bqAKX-3jqcjaBg147t6e56NI4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=710cc128-7049-46be-ae68-97d17d1d0fb4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1671-X-bqAKX-3jqcjaBg147t6e56NI4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="18210" it="0" lt="18210" ct="0" ts="1587564507220" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1700-DO8wA2ooLiRAh5SeNoyzXT8s-breo02areojK5sNGs-G4mZHtRuAEOc9JrBoMHgBbjIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1703-jONGFgi05fqpTX7uPlpTbkHYdOYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3e310b5b-8ebc-4d25-a7d7-1455e41c6abe</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1703-jONGFgi05fqpTX7uPlpTbkHYdOYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="7779" it="0" lt="7779" ct="7" ts="1587564517657" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWFkOGU1MWQtY2Q4Ny00OGYzLWFiNmMtYjIxYjIyYWI5ZTkz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1653-2a60qftpqmy0NqYQhZ-65q-pK1Mc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7558" it="0" lt="7558" ct="1" ts="1587564517878" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDdkN2JiNmUtOWQyNC00ZjNjLTliZTItNmQ4NmE0YzM0Mzc0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1655-1F5SscwO18F3VxzwHnpCwbG4n2Ec7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7612" it="0" lt="7612" ct="2" ts="1587564517824" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDhhODgwNjUtOTViMS00N2U4LTg0YzctNjMzYjE5M2NhOTVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1625-xyn0uBUUYsYAGRTosHURUqNYKtcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7612" it="0" lt="7612" ct="1" ts="1587564517825" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODIzZjE2OTYtNTFmMC00MzkyLTllZTItNWZiNWFiNDE2MzQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1650-2NhzDIvlrKwaYsPya3Fg8MpzkhQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7619" it="0" lt="7619" ct="1" ts="1587564517825" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTI2YzE2YzgtMGFkOC00ZDM5LThmYjAtNTg1N2E5YWRkNTA3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1642-tJM7nSdipi5qAe63vUw0Aprg9uAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7788" it="0" lt="7788" ct="7" ts="1587564517657" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTJjZmQ0YmEtMDIwYS00NzllLThmYWQtMjI5MzUwY2NlMmFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1614-EO-7XavMVajeFukFPhS6mjBhwhUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7576" it="0" lt="7576" ct="1" ts="1587564517869" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmVjZTM0OWItNTk3MC00MjhmLWFkNDktYmEyZGYyMWU2ZjBi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1656-Ve4OSMz0-qvbivpNXSQTpB8BSzgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7632" it="0" lt="7632" ct="3" ts="1587564517815" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTI0NzI3ZjAtNjQzMi00MDc2LTk1ZDAtZTdmODAyY2I0NjBj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1630--g1HN86I-Eo0vKt-iRw1rnXdZNoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7621" it="0" lt="7621" ct="1" ts="1587564517827" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTgxZjFmNzUtNzMzZi00ZWNlLWEyMjYtOGZiMzI1MTg0ZTFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1623--sl77EsXugOk1BykFtQJdXzsv4kc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7622" it="0" lt="7622" ct="1" ts="1587564517826" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjU4ZGE2MjctYzZlMy00MjA0LWFlMTQtNTc4N2E2M2YwOTc5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1627-K-is00KAAizY89aOlt8RIJSfZtkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7790" it="0" lt="7790" ct="4" ts="1587564517659" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGU1MzUxOGQtYmYxMy00ZmJjLWIyNWQtNGUyZWQ5NjAxOGNh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1616-1HwFq5u8Mxr-qv2VQMe0oLsjR4gc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="19173" it="0" lt="19173" ct="0" ts="1587564506278" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1666-09pV-s-8yzd-dp4fs22Lvyjo-3kUOBpYE7n2UktXlS-Tu0YPDB5oJYQ8mXCXJgMjCeoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1706--8b20vwKT-g-iBS6SxC536AN-ewc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ed808c3c-d258-4931-8f9b-a38d41cbd596</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1706--8b20vwKT-g-iBS6SxC536AN-ewc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="7564" it="0" lt="7564" ct="1" ts="1587564517893" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWViYWNmNmEtZTE2Zi00MmE3LWE1NjEtN2MwOTIyZjllZjUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1668-seSVD491fAGKstFF6F-yTYiNdEYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7674" it="0" lt="7674" ct="4" ts="1587564517814" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDM1YWRhNmUtNjkwOC00MTUyLTgxYTItN2Q4NWE1NzAxZjY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1652-Yhf8B072JD6w2aw635UXU-f3gB4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="471" it="0" lt="471" ct="1" ts="1587564525436" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDdkN2JiNmUtOWQyNC00ZjNjLTliZTItNmQ4NmE0YzM0Mzc0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="471" it="0" lt="471" ct="0" ts="1587564525437" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDhhODgwNjUtOTViMS00N2U4LTg0YzctNjMzYjE5M2NhOTVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="464" it="0" lt="464" ct="1" ts="1587564525445" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTI2YzE2YzgtMGFkOC00ZDM5LThmYjAtNTg1N2E5YWRkNTA3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="461" it="0" lt="461" ct="0" ts="1587564525448" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTgxZjFmNzUtNzMzZi00ZWNlLWEyMjYtOGZiMzI1MTg0ZTFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="473" it="0" lt="473" ct="1" ts="1587564525437" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODIzZjE2OTYtNTFmMC00MzkyLTllZTItNWZiNWFiNDE2MzQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="474" it="0" lt="474" ct="1" ts="1587564525436" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWFkOGU1MWQtY2Q4Ny00OGYzLWFiNmMtYjIxYjIyYWI5ZTkz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="461" it="0" lt="461" ct="1" ts="1587564525449" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGU1MzUxOGQtYmYxMy00ZmJjLWIyNWQtNGUyZWQ5NjAxOGNh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8255" it="0" lt="8255" ct="7" ts="1587564517656" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGI1N2Q5NGUtZDI5Ny00YTc2LWE1NjMtNTQ1Zjc5MzYxYWE3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1620-QML82y4YMY7PFEzrHkFslCP6cgYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="466" it="0" lt="466" ct="1" ts="1587564525446" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmVjZTM0OWItNTk3MC00MjhmLWFkNDktYmEyZGYyMWU2ZjBi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8259" it="0" lt="8259" ct="4" ts="1587564517659" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTAwNDM3OWYtNzRhNy00MjBjLTg0OWMtNzM5MWQ4MjNiNzY1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1633-sBbxDZQpZcdguwyyDq2wa2PL9pwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="460" it="0" lt="460" ct="0" ts="1587564525458" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWViYWNmNmEtZTE2Zi00MmE3LWE1NjEtN2MwOTIyZjllZjUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="471" it="0" lt="471" ct="2" ts="1587564525448" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjU4ZGE2MjctYzZlMy00MjA0LWFlMTQtNTc4N2E2M2YwOTc5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8103" it="0" lt="8103" ct="0" ts="1587564517818" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWQ3OGY4YWUtNDVkZi00MjkwLWI4MTItNmVjNDZmOTgxZWIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1626-VDe-YVLWyEzMw0pKiqL-Wy9Y30kc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="476" it="0" lt="476" ct="0" ts="1587564525446" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTJjZmQ0YmEtMDIwYS00NzllLThmYWQtMjI5MzUwY2NlMmFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8110" it="0" lt="8110" ct="12" ts="1587564517812" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWViOTRkZWItZjA2My00NjdjLWI5MmUtNGMxNDVjNGNiNDgx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1649-PnXbA18eLg1lUO4hbZpZASsahxQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8262" it="0" lt="8262" ct="1" ts="1587564517661" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Njg3Nzk0ODctY2NhNy00YmFhLWIzMGMtYjk1MzU3NTRlMTBl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1636-0-k3x1-xC5P1DgBtp4-Wavs8yF4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8108" it="0" lt="8108" ct="2" ts="1587564517816" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjVkNjhjOGMtZDRmZS00NjllLTkwNDEtYzIyODI1YTE1NzYz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1638-3dOdDZCpDjlgdlJegRYOp6O3ydkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8048" it="0" lt="8048" ct="1" ts="1587564517882" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWE4Y2M4YjctYTk4NC00ZDcyLWJjMTYtNzFjYWQxYTYwMTc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1659-mM9ztmCoJ0ugwAxsHdushTLRhQMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8270" it="0" lt="8270" ct="3" ts="1587564517660" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWYwNTFkNGQtNWQxZS00NTc3LWFhYWItYWMxNmNlY2U0NTYx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1628-M8eGmWys7CfLOW67Co0T-KBE3Hsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8273" it="0" lt="8273" ct="6" ts="1587564517658" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjFmYzJjOTMtMWNhYi00NDliLTlhNTAtYzQwYTRlYWM5Zjg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1648-kDfZhEPWKIu0M320Uoc75JlnRtEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8273" it="0" lt="8273" ct="2" ts="1587564517660" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjVhOTdlYjgtZDNlMC00M2Y2LWE3YzYtYWNlMTZmM2U0MzVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1621-eJJtJ4XdRVFGDwiIg8e-xey5PxEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8113" it="0" lt="8113" ct="2" ts="1587564517822" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTQ1ODdjNTYtZDNiYS00ZTg1LWIxYzEtODk1OGVkYTE3YTY5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1641-FHqsbW0clw6-ZtpzfcjzFut8evEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8055" it="0" lt="8055" ct="1" ts="1587564517880" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWVmOTEzN2EtZWVkYi00M2FlLWE2ZmQtYWFjNGE2ZmNiMzBl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1710-du0va1IRHVfJYaaMamlBs-2luAoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8277" it="0" lt="8277" ct="4" ts="1587564517659" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWNiOGQ3ZjEtN2NmOS00ZTZlLWEzZGMtOGQ4NmZmZWVmMjg2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1635-ZjxgWzCRJ8aHz4Sgz6mCL19KYq0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="489" it="0" lt="489" ct="1" ts="1587564525447" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTI0NzI3ZjAtNjQzMi00MDc2LTk1ZDAtZTdmODAyY2I0NjBj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8117" it="0" lt="8117" ct="2" ts="1587564517822" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2YyYWUwNGEtYzVhNi00NDFhLThjMjktZjViMzRjNDJhZWM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1645-r-psXAlASMA4VzQ1yZrL5eK2WPAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8281" it="0" lt="8281" ct="6" ts="1587564517658" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDVlMzgzZmUtNjNiNi00NGZhLWE0YWYtNzY5ZWYwM2VmNzNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1637-D-S1ewjygvNrP7qXqKPquMBrw2oc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8114" it="0" lt="8114" ct="1" ts="1587564517826" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzlhOTM5YzgtMDkzMy00OWViLTk3ODAtMjQ2OGUxZjE2MDg4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1644-PNG2TH0A58uyGfbYKu0qbQScCzYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8112" it="0" lt="8112" ct="1" ts="1587564517829" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1713-VhbQSCb-GJFAOtI5Lmf1eqrLwpD2eQJPr4xZjaz09MqcMJY2Oecx8p-SkEoTDW6W-rQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1713-vixnUneCSfDGW0HBYp9XmzTN010c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d226e4c6-096d-4898-b2cf-19aa1582451d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1713-vixnUneCSfDGW0HBYp9XmzTN010c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="453" it="0" lt="453" ct="1" ts="1587564525489" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDM1YWRhNmUtNjkwOC00MTUyLTgxYTItN2Q4NWE1NzAxZjY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8286" it="0" lt="8286" ct="7" ts="1587564517657" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTU3NmU4MTAtZmJjNi00OGNlLWI4ZGYtYTVmN2MwMjExN2U1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1624-BZUtpXUUatCKE241DKANoFMWJxgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8120" it="0" lt="8120" ct="1" ts="1587564517823" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODBhOTNkMTMtNTc1OS00ZDkxLTg5OWUtMTUwOTkwY2JmYmZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1643-cvYeQReXow3-vrzT0XK9EGPSYNwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8049" it="0" lt="8049" ct="1" ts="1587564517895" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTQ4ODcxMDMtM2YzZC00ZWMzLTgxNDctMDBmNmUxZTllZjM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1681-bhKWwnpE-QK8rn9t2hsdyZh2nWwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8285" it="0" lt="8285" ct="3" ts="1587564517660" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjQ2NjVlZTktOTNhYi00ODNiLWIyYjYtMGQyYmEyMzY2ZTEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1619-vjF0qdLi-3sV9Z50ujpB1N0qxtgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8123" it="0" lt="8123" ct="4" ts="1587564517823" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWQ4ZWY1MzctZGNlZi00NzM3LThkZjktNzlhODY2OWMwMDM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1640-43are-JAWgTC8MU9YNNgSx4d0xcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8135" it="0" lt="8135" ct="6" ts="1587564517812" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDFiOTBlZTMtODc4Mi00OWM5LWI5NTUtYjlkNTcwMmE1ZTU0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1632-oo-mnY8d1b4IldbUXt2RFrlWeiMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8296" it="0" lt="8296" ct="2" ts="1587564517660" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGE2Njk4YjEtMTFkNC00ODdmLWI3NDYtMDM2NzgwMmQyYTQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1615-zBtjqy4jDYuvrZOElOCMsQ8RwF4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="19336" it="0" lt="19336" ct="0" ts="1587564506620" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1664-NqJJQ7KaJQWkCK30qizFPSeu-JJCL815IRpZuZK6RXxqusixWFLNpFcH-1-df6y7Is0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1712-QM-V1Q-E13vVYFgDtuvbQv2S-ZMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=1c648e1a-02b6-44d5-b369-96b6c20e0010</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1712-QM-V1Q-E13vVYFgDtuvbQv2S-ZMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="8083" it="0" lt="8083" ct="1" ts="1587564517874" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQxMDBhMGEtM2Q2NC00YWE1LTlkYTAtZjQzZmM2NTczZTVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1701-T5NmlI1qFNWjar6Z4yPkfbZwARkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8143" it="0" lt="8143" ct="10" ts="1587564517814" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWNlNjY5NTEtMzljNi00Y2Y2LWIwNTEtOTQ4MmUzYzdlY2E5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1651-yVo8hdo9oWbnWsfpNbD3DCVrjvUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8137" it="0" lt="8137" ct="1" ts="1587564517821" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjgzODU3ZjgtYTAwZi00NzRiLWI2NDktZTBlYjAzNTNiMDFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1629-GQqcQyo5aymVVpf8zEnnhJ9X6fYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8078" it="0" lt="8078" ct="1" ts="1587564517871" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjNkZTkwZjUtYWVhZS00OTlhLWJhZGMtY2I5ZWMzYWFmNGVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1676---YKUUS2BFov0qrkHLyMz57gSjgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8068" it="0" lt="8068" ct="1" ts="1587564517888" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mzk1ZjFhYWItZjU0MC00OTQ5LWEyZjEtYTk2NTQ1ZmJjZjEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1667-f--8l4Ql7CjKBBugKbPB1VL6wbAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8301" it="0" lt="8301" ct="5" ts="1587564517658" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzI1ZWM1YjgtZmM3My00ZDZhLTgxNGQtMWQ4NmQ5MmE4YjZm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1617-nexTTYu7nrP9-K2BIusVXfM3wJEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3589" it="0" lt="3589" ct="15" ts="1587564522367" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGRmNDU0ZDMtYmI5ZS00MTBlLWJmMDctOTExYmZhZDgxNDM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1685-nQUB1YOlfQ0XvOtkx7qQDtvdTf8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8082" it="0" lt="8082" ct="0" ts="1587564517879" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDM1MzY3NTItODA4OS00MmY5LTlhNzQtZTcyMDA5NDMxMDk0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1686-mXwPbK1Z7eWhq2kvidShJTnEXZ8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3587" it="0" lt="3587" ct="1" ts="1587564522376" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTg0MjI4ZTgtYjA4Zi00MjNiLWJhNmEtYTE1Y2FhNjNjZDZm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1665-aRM-uoI2Wgesu8xUZRVBZEkTROUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="57" it="0" lt="57" ct="0" ts="1587564525908" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzOC1EZXBwTFh2RzlDTkdmM3p3VlNDWWRabWtvWUNHQnlVMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AY-t4hE4fTu_kJJd2EfRrHBrzku3ks2Rb4NrFEfr1JOd-iixIFmTxaDftSQTf2nzKL2aDRN4FAVh2uI-ak5quXVc96mqb6JBx1obty_cL2rC6CWb4cGwlOBagkpkhE37mAQJBZ2-R3b0e12LurTiaBi1mWKB0NAJhR9I8KQe_bMYjY4ot5tL-Xuw-xNTq23ygNN_rV78_13evWvtqOJ3-nZu5a_exQFRVL0S1Bftd3gYAalPrkEgIexKAMtJ7R37HXpSsLZLffQxvSw-HNdduTqu1FS6CE8LLbuPc_Aea5OPtc8lC7jO0jq8S8t0DRIpa0yIYz-cDYSjvGOAA4Gisw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDhhODgwNjUtOTViMS00N2U4LTg0YzctNjMzYjE5M2NhOTVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzOC1EZXBwTFh2RzlDTkdmM3p3VlNDWWRabWtvWUNHQnlVMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AY-t4hE4fTu_kJJd2EfRrHBrzku3ks2Rb4NrFEfr1JOd-iixIFmTxaDftSQTf2nzKL2aDRN4FAVh2uI-ak5quXVc96mqb6JBx1obty_cL2rC6CWb4cGwlOBagkpkhE37mAQJBZ2-R3b0e12LurTiaBi1mWKB0NAJhR9I8KQe_bMYjY4ot5tL-Xuw-xNTq23ygNN_rV78_13evWvtqOJ3-nZu5a_exQFRVL0S1Bftd3gYAalPrkEgIexKAMtJ7R37HXpSsLZLffQxvSw-HNdduTqu1FS6CE8LLbuPc_Aea5OPtc8lC7jO0jq8S8t0DRIpa0yIYz-cDYSjvGOAA4Gisw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="53" it="0" lt="53" ct="0" ts="1587564525912" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1Ny1XNThHazcxMUNWZWtlSHR2VWotQUV4TVRuN1lUZG5HZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aSkai2CLtibF5x5tMAitMZoOy7XszJdjQn5J_38l_iD1qokpbsFXRQkewM4y9J_8UgOdnJEgqF51GglNrrwiquCOJ9RzJdCoGf9lEeTd53_Bgzw2LM9gI7hEqJeg_dOsAI120aeIp-grWA-PvtFxgTqAK7gOamN93pSQB1nTuM1QBuS4iNiggoENF_JvF5Xi_AgkpsA9H6RqGnh8YD3JzdiB0cWpCg4xU-FPKNVIWk4jB3mtszETnI-3bpiwYWgwArgHNZU8LVkm2oJ04_1aKbioah7wmr7rcD3V8_WV2zJi6YHX2Epfqxq9ktiWWWw7dU-pYyhflzebL9s_GxziMg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmVjZTM0OWItNTk3MC00MjhmLWFkNDktYmEyZGYyMWU2ZjBi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1Ny1XNThHazcxMUNWZWtlSHR2VWotQUV4TVRuN1lUZG5HZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aSkai2CLtibF5x5tMAitMZoOy7XszJdjQn5J_38l_iD1qokpbsFXRQkewM4y9J_8UgOdnJEgqF51GglNrrwiquCOJ9RzJdCoGf9lEeTd53_Bgzw2LM9gI7hEqJeg_dOsAI120aeIp-grWA-PvtFxgTqAK7gOamN93pSQB1nTuM1QBuS4iNiggoENF_JvF5Xi_AgkpsA9H6RqGnh8YD3JzdiB0cWpCg4xU-FPKNVIWk4jB3mtszETnI-3bpiwYWgwArgHNZU8LVkm2oJ04_1aKbioah7wmr7rcD3V8_WV2zJi6YHX2Epfqxq9ktiWWWw7dU-pYyhflzebL9s_GxziMg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8099" it="0" lt="8099" ct="3" ts="1587564517867" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDRjN2E5YzYtNDQ2Ny00NmQxLTlkOGEtOWRhZTIzZmY5NTYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1660-LMtrp13afe31TI-Tk8qd3oPgBKEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8308" it="0" lt="8308" ct="4" ts="1587564517659" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzliMzViYjYtMzI4Yi00YTcwLWFhNmYtNjg2ODMwOGI3YTYz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1654-XRGDgSyvhN6TT5xO0Zi9ofr7ZAMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3584" it="0" lt="3584" ct="1" ts="1587564522382" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGNlZGRlM2MtNzYwYS00OWJiLTlkOGQtZDdmODVmOTczZmUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1680-AySoLj8kgqrtDWKYPW-izM-6rEgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8075" it="0" lt="8075" ct="0" ts="1587564517892" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDVmOTJiNTktNmIxOC00NTQ4LWJmYTUtNWU1YTVhYzk2NWY1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1688--hqnZo7uIvsrhZE0PFWxZFUuJFcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="57" it="0" lt="57" ct="0" ts="1587564525910" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1My1pYXdwd05zcFJSM21DOWlKa1FPeHhGWmo1eUJOZ2RaVSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Z8Tz3noeSZ0f0zrZC0uy68DT4wZDdZc41dqCNsOkEWvbbpA3DQ9V5PGjGRx4WOSs3QgUyFAkxxOrgJ8b4zP-vkdnSdsUzFmpiym66CXQtHT_TDYhmbYw_A5ZHxv0x4-ul3JheapKAhdOULcYtQUIUY3OBG658IxyJ81hLazuzN8dRZwuhkVEUWKcKQNdXgoSMQ_RoDS3Sq5elj4a11mubHOl4DGR4gpRjbndTi98AVOUdMc30hPSTIp5kNBI8vYTNojPTnGKNK4Ns7O_iinxFDuMO7ZEC4BBbSxgytnkI-iM_ntoyasgWjVYxC-OcpXKsqvi6KDWwK54EidSmGhoqg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODIzZjE2OTYtNTFmMC00MzkyLTllZTItNWZiNWFiNDE2MzQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1My1pYXdwd05zcFJSM21DOWlKa1FPeHhGWmo1eUJOZ2RaVSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Z8Tz3noeSZ0f0zrZC0uy68DT4wZDdZc41dqCNsOkEWvbbpA3DQ9V5PGjGRx4WOSs3QgUyFAkxxOrgJ8b4zP-vkdnSdsUzFmpiym66CXQtHT_TDYhmbYw_A5ZHxv0x4-ul3JheapKAhdOULcYtQUIUY3OBG658IxyJ81hLazuzN8dRZwuhkVEUWKcKQNdXgoSMQ_RoDS3Sq5elj4a11mubHOl4DGR4gpRjbndTi98AVOUdMc30hPSTIp5kNBI8vYTNojPTnGKNK4Ns7O_iinxFDuMO7ZEC4BBbSxgytnkI-iM_ntoyasgWjVYxC-OcpXKsqvi6KDWwK54EidSmGhoqg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="44" it="0" lt="44" ct="1" ts="1587564525924" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjVkNjhjOGMtZDRmZS00NjllLTkwNDEtYzIyODI1YTE1NzYz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8145" it="0" lt="8145" ct="1" ts="1587564517823" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTAzMDNmOTUtZjkyZi00Njc2LWI2OTctMzIwYWIyYzE1Yjgy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1646-8Rs96p3RRtAQBJiwr2gdXujSQXwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3594" it="0" lt="3594" ct="3" ts="1587564522373" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjY1NmM5ZWMtMjYyMi00MDVjLWI5YWUtMGI1OTQ0N2FhMTRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1682-iz-RxkBT-TDu8FGzUSCNULb6xQgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3599" it="0" lt="3599" ct="13" ts="1587564522369" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzdjMGJiZjctOTRhMC00Yjk2LWIzMmMtNTIxYmQwNDk5ZmM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1699-MAWGhYJd5onOpf99NPTNRVNFViEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="47" it="0" lt="47" ct="1" ts="1587564525922" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWViOTRkZWItZjA2My00NjdjLWI5MmUtNGMxNDVjNGNiNDgx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="34" it="0" lt="34" ct="1" ts="1587564525936" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWNiOGQ3ZjEtN2NmOS00ZTZlLWEzZGMtOGQ4NmZmZWVmMjg2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3605" it="0" lt="3605" ct="15" ts="1587564522364" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTlhM2U0MTgtYmY1Mi00NDJlLWFjMDctN2RkZTMxNmJmOGRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1690-XfVCGZ581gXN0nayui-Vezar6msc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8094" it="0" lt="8094" ct="1" ts="1587564517876" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWM4NWQzY2YtYWNjOC00NTJjLThiZjAtMGFkYWNlMWMwYTc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1693-UaX4mgLRg-YDk0EOltgbQ7TpEGEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8146" it="0" lt="8146" ct="2" ts="1587564517825" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGI2MGRkMWMtMmIyMS00OTg1LWFkYWYtZjQxNDMyNjVmODU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1618-nlQbdT4Vzvg-mV38lbzT0bIJAGUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3599" it="0" lt="3599" ct="5" ts="1587564522372" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTZhNTk4MDAtNzg4ZS00MTI3LWExMjgtNTFjNTE5NjIwMjcw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1704-ghDVrc0Wi2246VXgxHFoT5avkiIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="27" it="0" lt="27" ct="1" ts="1587564525946" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWQ4ZWY1MzctZGNlZi00NzM3LThkZjktNzlhODY2OWMwMDM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="28" it="0" lt="28" ct="1" ts="1587564525945" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjQ2NjVlZTktOTNhYi00ODNiLWIyYjYtMGQyYmEyMzY2ZTEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3601" it="0" lt="3601" ct="6" ts="1587564522371" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGE1ZWI3MTQtOGQwZC00NzM5LWJhOGMtMmQxMjY5M2NjODMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1672-1FtvOUACUwBxuhuC-DaS-QcGlesc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3608" it="0" lt="3608" ct="14" ts="1587564522365" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzkxOTBlNDEtMDJhMi00ZTU4LWE3YTEtN2Y4OGYwNmEwY2M4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1677-FYzLokn-U-Chj1drjSCkogAcUpAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="31" it="0" lt="31" ct="1" ts="1587564525944" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTQ4ODcxMDMtM2YzZC00ZWMzLTgxNDctMDBmNmUxZTllZjM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="66" it="0" lt="66" ct="0" ts="1587564525910" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyNy10bkFnYmlhOWQ4N29QZ3VGcFpIN09Jbzg2MXlSLVVELSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PH9Vi6bxDhheZ6Ajz715s8v60jzYgXIkA1XCDSWeAAxjGRMZuor1ZZcF0ZNh2v5fQLi0Jusr1z8KRYHBxRRqHIAB3dKrZN1AGbD7FZBu15KG_x8NSoeg96NhjheFNutHFzWcF-SLUpwOAs1F4nFMZgtW8aQUU6AnwwCn9JzpOM93jQMcKv5G7p8uY0eBnezJfr6N_QG3wGOZr6i6y9uIQXzgTIXWRxiAtTtcUYEUE1SK1UlTJLo-yjFIqctdgXdkA-F5WlezKv8kB0N7B__sLo4Dq_hh2mDNW-HiQOdgb_8wQWiraZ-7Wr96QHR-Ky1hc1VjgRkvmSB9IYh07B8E7A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWFkOGU1MWQtY2Q4Ny00OGYzLWFiNmMtYjIxYjIyYWI5ZTkz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyNy10bkFnYmlhOWQ4N29QZ3VGcFpIN09Jbzg2MXlSLVVELSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PH9Vi6bxDhheZ6Ajz715s8v60jzYgXIkA1XCDSWeAAxjGRMZuor1ZZcF0ZNh2v5fQLi0Jusr1z8KRYHBxRRqHIAB3dKrZN1AGbD7FZBu15KG_x8NSoeg96NhjheFNutHFzWcF-SLUpwOAs1F4nFMZgtW8aQUU6AnwwCn9JzpOM93jQMcKv5G7p8uY0eBnezJfr6N_QG3wGOZr6i6y9uIQXzgTIXWRxiAtTtcUYEUE1SK1UlTJLo-yjFIqctdgXdkA-F5WlezKv8kB0N7B__sLo4Dq_hh2mDNW-HiQOdgb_8wQWiraZ-7Wr96QHR-Ky1hc1VjgRkvmSB9IYh07B8E7A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3594" it="0" lt="3594" ct="1" ts="1587564522381" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjFmODA1OWYtZGM5OS00Y2EyLThlOTQtYTA2ZGNkODViMWM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1675-dydL8U3-jFCDKlgRJeiVKD00Gn0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="30" it="0" lt="30" ct="1" ts="1587564525947" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDFiOTBlZTMtODc4Mi00OWM5LWI5NTUtYjlkNTcwMmE1ZTU0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3602" it="0" lt="3602" ct="3" ts="1587564522374" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmNiZTczM2UtZmYyMy00ZjhiLWJhY2EtNzY3MTJlODY5ZmM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1657-nKF-WCndWxEhLcG3OLyliZk-0BUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="67" it="0" lt="67" ct="0" ts="1587564525910" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3OC16elk2SWZ1WDg4a1FzTGY4UHZFSmZQQk1IZTVjVGxWQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.V5ahHrFgGkxJWzl-9LCIrBwlD3kGmLMq_sdG7A_514zSPci7Z45D8y4CObn5Cf7bQIR_DWB3N2_dLEUXJH0D0Oi82dKSAvStyWSDu9YJJs7c7tmrFs6Yvz8Ak3j2Dogls7UKkSZBoJ6TtRqOUqxzBI-dkRExR4VvalUm5RWTMab6ttqnl2HeaH76GP9RzNqYnxikX34HPDz70oYsZiwbNMO7pRwinSDamJ9EjQ3We8av4TjOQGFQix9dNcUZ9q6rym8oWpj7eCclYpSnk4EzAn9ysYm9r9JPaJ7Ty_txtWcZiGqSaBG-YFHAAvevkwX2VFMZ-VmC-JvfAl_dN3yuSw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTgxZjFmNzUtNzMzZi00ZWNlLWEyMjYtOGZiMzI1MTg0ZTFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3OC16elk2SWZ1WDg4a1FzTGY4UHZFSmZQQk1IZTVjVGxWQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.V5ahHrFgGkxJWzl-9LCIrBwlD3kGmLMq_sdG7A_514zSPci7Z45D8y4CObn5Cf7bQIR_DWB3N2_dLEUXJH0D0Oi82dKSAvStyWSDu9YJJs7c7tmrFs6Yvz8Ak3j2Dogls7UKkSZBoJ6TtRqOUqxzBI-dkRExR4VvalUm5RWTMab6ttqnl2HeaH76GP9RzNqYnxikX34HPDz70oYsZiwbNMO7pRwinSDamJ9EjQ3We8av4TjOQGFQix9dNcUZ9q6rym8oWpj7eCclYpSnk4EzAn9ysYm9r9JPaJ7Ty_txtWcZiGqSaBG-YFHAAvevkwX2VFMZ-VmC-JvfAl_dN3yuSw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8076" it="0" lt="8076" ct="1" ts="1587564517899" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTE4Yzc3NjItODdkMS00NzVjLTk1ZmQtN2EwNWVjNTI0N2Nh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1658-upBZzWpCYGMQ1ENsrYl-bLpxLXMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8163" it="0" lt="8163" ct="9" ts="1587564517815" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDVmMDlkMDQtYTE2MS00NjhlLWIwNTEtZGE5ZGM1NDJiMmI4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1639-HNJOMHWwCrM6doNSBl74VlCLkrcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8163" it="0" lt="8163" ct="8" ts="1587564517816" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTlmZTY1YWQtMjZhZi00MjM1LWE2YzctNjY3MWJmM2ExYjFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1634-H5xnw6nWNUlFfJIgXqlJMj-vp04c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="62" it="0" lt="62" ct="1" ts="1587564525918" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTAwNDM3OWYtNzRhNy00MjBjLTg0OWMtNzM5MWQ4MjNiNzY1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="71" it="0" lt="71" ct="0" ts="1587564525909" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1OS1od1NWZy1ZRm9yYW9LRzNOSGZkVUlzaGw3clJ6SnFaZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZRLnTX1DpjyeiEwyS9FhQMaGZRNIckiJCWkEDWxF5-v0YZWz9UQa8npKA6yEXc_YUWkTzSuIqJZPoawRpQIGtcHvZipBJVndYrxzsr-bSpbO0Ci7epJ2fs9oJdeZILYxrhB2-T7SVZ3Ic--9vEw8OB70q4QHTAiV_4y-cksWnuybLVGIM5GKMIc_7zdvXdhCJSDVl_qemyFNpg-sO_heYPJ5mSRrvYNNLr_iR0iEMm5p_7UHpHNxJPbzOAve1Qr4PyUEsriBKAr65RmQUlghT3xrLgVc8mUuAjwAOLih39YNdKe5sq_MW0kZKzU4lyp0cNUX0uFu51HxWk21GnIExw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTI2YzE2YzgtMGFkOC00ZDM5LThmYjAtNTg1N2E5YWRkNTA3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1OS1od1NWZy1ZRm9yYW9LRzNOSGZkVUlzaGw3clJ6SnFaZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZRLnTX1DpjyeiEwyS9FhQMaGZRNIckiJCWkEDWxF5-v0YZWz9UQa8npKA6yEXc_YUWkTzSuIqJZPoawRpQIGtcHvZipBJVndYrxzsr-bSpbO0Ci7epJ2fs9oJdeZILYxrhB2-T7SVZ3Ic--9vEw8OB70q4QHTAiV_4y-cksWnuybLVGIM5GKMIc_7zdvXdhCJSDVl_qemyFNpg-sO_heYPJ5mSRrvYNNLr_iR0iEMm5p_7UHpHNxJPbzOAve1Qr4PyUEsriBKAr65RmQUlghT3xrLgVc8mUuAjwAOLih39YNdKe5sq_MW0kZKzU4lyp0cNUX0uFu51HxWk21GnIExw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="60" it="0" lt="60" ct="1" ts="1587564525921" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWQ3OGY4YWUtNDVkZi00MjkwLWI4MTItNmVjNDZmOTgxZWIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3614" it="0" lt="3614" ct="11" ts="1587564522366" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTdmNDQ0ZjktYzk5ZC00YTQ3LWI2Y2EtOWU4YTBlODA0ODdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1705-sJiLRVHNjwuveXHnkqj4EySahjAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="51" it="0" lt="51" ct="1" ts="1587564525931" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjFmYzJjOTMtMWNhYi00NDliLTlhNTAtYzQwYTRlYWM5Zjg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3615" it="0" lt="3615" ct="10" ts="1587564522367" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDAxMDUyODEtYTgzNy00ZTM4LWFkY2YtMDk1YTI5NTc3YjJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1666-rDtYYZ0zrzdXE7RcKfVUJrKWqOoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="59" it="0" lt="59" ct="1" ts="1587564525924" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Njg3Nzk0ODctY2NhNy00YmFhLWIzMGMtYjk1MzU3NTRlMTBl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="66" it="0" lt="66" ct="0" ts="1587564525918" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3NC1Jc3VIbGlvcGEtRE8xVzhPcml0NHhXNnoyeFAxak1TcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.s1ojuBK_S-ldSZKam04gBE5vNatB2aBBTKas3XQ8R6u-2IzqgEi-uhOPiucz8BPf1zeZrta1KvZIqsra_JQMMezayqiDkA4sjaR39T_BaQvBomtpj_xQ9MWsX9wNtWUmzJ1ML561-BkshSTzhmnLyV2rXHrB2uA5buRoQQ6lAcRdpuDs0TstIz6MV35vPiGQTnqR3qBSBHRJTIifiRORS3XSFCA7uD0bhv3Fo2kamiyto2ay4pKxWchyjkmNwSj7E41XA1N81ziDExGql55ilyzRwZmAitR4QI3Op1Qpg5rpoeFLQbAaYrgUvbmkoI7y0wJMJu6cYdzXu-VRLJS7FA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWViYWNmNmEtZTE2Zi00MmE3LWE1NjEtN2MwOTIyZjllZjUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3NC1Jc3VIbGlvcGEtRE8xVzhPcml0NHhXNnoyeFAxak1TcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.s1ojuBK_S-ldSZKam04gBE5vNatB2aBBTKas3XQ8R6u-2IzqgEi-uhOPiucz8BPf1zeZrta1KvZIqsra_JQMMezayqiDkA4sjaR39T_BaQvBomtpj_xQ9MWsX9wNtWUmzJ1ML561-BkshSTzhmnLyV2rXHrB2uA5buRoQQ6lAcRdpuDs0TstIz6MV35vPiGQTnqR3qBSBHRJTIifiRORS3XSFCA7uD0bhv3Fo2kamiyto2ay4pKxWchyjkmNwSj7E41XA1N81ziDExGql55ilyzRwZmAitR4QI3Op1Qpg5rpoeFLQbAaYrgUvbmkoI7y0wJMJu6cYdzXu-VRLJS7FA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="54" it="0" lt="54" ct="0" ts="1587564525931" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWYwNTFkNGQtNWQxZS00NTc3LWFhYWItYWMxNmNlY2U0NTYx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8101" it="0" lt="8101" ct="2" ts="1587564517887" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2MyMTVkZjUtNWYzYi00YWU0LWExY2QtOTg2NjkyMDc3MjY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1669-XoxlpeoVLB3TEHuEJzT2yiugam0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3623" it="0" lt="3623" ct="6" ts="1587564522376" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmQ2Yjc4YTctMzk2YS00MGZkLWFiMjktY2YzMDAyZTA2Mjc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1709-Osmkd0Tc8bGM9Wkljom9HZFzdgYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8115" it="0" lt="8115" ct="2" ts="1587564517886" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2I0MWJhY2MtMzhiYi00NmUxLWEyNTctMzAxOGNiM2JjNGI2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1707-Z2k-2nV4aYVJ1apGhnddcAi-Krgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="33" it="0" lt="33" ct="0" ts="1587564525970" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyNC11SVE0Y05XMng2RmVKNEN6UXhMelNIMDd1OWZTeGF4VSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KasoQiLywk0llsrgaKuRcqt_3Oj1ym3OrBqo_tkaQWJuujEK5rAe6RTW6iFDw-O4FzukxUiaMbmDNqKUqgP2AaS3wjFceGLlNkW9cqUvm7b5M5bihHTzzPx8EtcYpfyYYgB-X1f9Wz6KCvWOUzzCPY_QgVrDPtLzXeyFNPxunDKpz8EOvluQZjvMBxC71V1GF0SIcIf02B1rA0_Q2brQug2dcC3CQVwbWEk9TiMJ9QAMjnqhE7i13da64Mk3WAYFOMf5o1wgOGBiQufqkQmh5627JkHasQb4ZureRIHIP6xRB54-tS7VGi7H9HdZv6uMc3eaEio3UsR3JU6pm2XiyQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWNiOGQ3ZjEtN2NmOS00ZTZlLWEzZGMtOGQ4NmZmZWVmMjg2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyNC11SVE0Y05XMng2RmVKNEN6UXhMelNIMDd1OWZTeGF4VSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KasoQiLywk0llsrgaKuRcqt_3Oj1ym3OrBqo_tkaQWJuujEK5rAe6RTW6iFDw-O4FzukxUiaMbmDNqKUqgP2AaS3wjFceGLlNkW9cqUvm7b5M5bihHTzzPx8EtcYpfyYYgB-X1f9Wz6KCvWOUzzCPY_QgVrDPtLzXeyFNPxunDKpz8EOvluQZjvMBxC71V1GF0SIcIf02B1rA0_Q2brQug2dcC3CQVwbWEk9TiMJ9QAMjnqhE7i13da64Mk3WAYFOMf5o1wgOGBiQufqkQmh5627JkHasQb4ZureRIHIP6xRB54-tS7VGi7H9HdZv6uMc3eaEio3UsR3JU6pm2XiyQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="127" it="0" lt="127" ct="0" ts="1587564525969" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2NC1mVTFUcy1jc1N0U3lpbTZzRmZtbTlUSjhObVBNRjFBdiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lPmDVdRbClcOc12D1hxcYxmS_xbi6GGdLztNz22Jo2X4SvYA21RqdT2deBiCDZV_MkK6Z_dBOHYfFtl20UXi4hL1f5-AEd8h8hxTNFD-U7MBH4yXUOd9Ko3DM1ja6OlJvXSW_YU5d8KgW2JfjF-GXnvZ1dFOzwkZAZ6anfIFw4i9PBeR1xZkC6GBwNFxNDZPt3tDM6c71-383uJfO2bd_54TAwWM7igRE0hsGbBvXB6cN5X5m2CjGqDBgqmiG3VQBzsjMSMOCL9IOtp2uK9Im_5bq6NknjcOQVTrHG3H_2VSQgkuubHDSc0rFT01qmzw97ISBbUpaytAI0v8PXlD-w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWViOTRkZWItZjA2My00NjdjLWI5MmUtNGMxNDVjNGNiNDgx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2NC1mVTFUcy1jc1N0U3lpbTZzRmZtbTlUSjhObVBNRjFBdiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lPmDVdRbClcOc12D1hxcYxmS_xbi6GGdLztNz22Jo2X4SvYA21RqdT2deBiCDZV_MkK6Z_dBOHYfFtl20UXi4hL1f5-AEd8h8hxTNFD-U7MBH4yXUOd9Ko3DM1ja6OlJvXSW_YU5d8KgW2JfjF-GXnvZ1dFOzwkZAZ6anfIFw4i9PBeR1xZkC6GBwNFxNDZPt3tDM6c71-383uJfO2bd_54TAwWM7igRE0hsGbBvXB6cN5X5m2CjGqDBgqmiG3VQBzsjMSMOCL9IOtp2uK9Im_5bq6NknjcOQVTrHG3H_2VSQgkuubHDSc0rFT01qmzw97ISBbUpaytAI0v8PXlD-w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="191" it="0" lt="191" ct="1" ts="1587564525912" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGI1N2Q5NGUtZDI5Ny00YTc2LWE1NjMtNTQ1Zjc5MzYxYWE3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8292" it="0" lt="8292" ct="5" ts="1587564517813" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2NmN2VlZDUtNzQzNy00MmNkLWI0ZGItNDE1ZjhkODlkOGJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1622-6mk4EQkmr5FVfkGmRX7nSz-TaIAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="173" it="0" lt="173" ct="1" ts="1587564525933" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjVhOTdlYjgtZDNlMC00M2Y2LWE3YzYtYWNlMTZmM2U0MzVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3839" it="0" lt="3839" ct="12" ts="1587564522369" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTUyMjMyNWYtMTQxYS00ZDA5LWIxZDYtNWRmNjBmMzJjZDU5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1691-yMcdQQzvrMckbaKP4YmEwTVzNrMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3843" it="0" lt="3843" ct="12" ts="1587564522365" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTRlMGRhMjItYmFlYi00NmQ4LTk0NmEtYTM4ZjEwMmU4YjYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1678-3SucSDPutDA-pR9SPi7HyK97eucc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="288" it="0" lt="288" ct="0" ts="1587564525922" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyMi0tQTZOeS1EVFJUR0xzT1BhTWw4a3k3LWJDVTR6c0F6QyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.X0pBcKHsnQGAbtDGYiAyU2qOVtbAT0Q6XNl-zxGxeQrIHHYPb_DJqMejzxVm3iW5tfDRu-k97KqTQkWNZmqBl-QI94cOHH8SZUOiX6UZbelj1EmHWKTfX5_4meUX-k-poe8HZkCQR2Lzcj3qoUqi6aTrLGQxPdVL70lp9zQ2zMUiQAJaGRHkEb4SS0OBbnhTO-iH_Wd-Jz4Miid5FXJ7ydX2-5gqvrYps0czEvg_6GWK9opi57Ijy4BOWLmkqbUktsIaz0iLrNmzaJHCQPuWCH1i8e2RpqWDL3A6Tb4OdN7hPyMcOutv_TFPIs24Srxw2v1On9Bh-dnccead7bDfHA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTJjZmQ0YmEtMDIwYS00NzllLThmYWQtMjI5MzUwY2NlMmFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyMi0tQTZOeS1EVFJUR0xzT1BhTWw4a3k3LWJDVTR6c0F6QyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.X0pBcKHsnQGAbtDGYiAyU2qOVtbAT0Q6XNl-zxGxeQrIHHYPb_DJqMejzxVm3iW5tfDRu-k97KqTQkWNZmqBl-QI94cOHH8SZUOiX6UZbelj1EmHWKTfX5_4meUX-k-poe8HZkCQR2Lzcj3qoUqi6aTrLGQxPdVL70lp9zQ2zMUiQAJaGRHkEb4SS0OBbnhTO-iH_Wd-Jz4Miid5FXJ7ydX2-5gqvrYps0czEvg_6GWK9opi57Ijy4BOWLmkqbUktsIaz0iLrNmzaJHCQPuWCH1i8e2RpqWDL3A6Tb4OdN7hPyMcOutv_TFPIs24Srxw2v1On9Bh-dnccead7bDfHA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="304" it="0" lt="304" ct="0" ts="1587564525908" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0Ni1pWEdNRzJUSTBQYmVvR1o3V3N0YXItc3FxajlGMHltViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YVTdQAYmZdbVXlTm5xhwT4JJ4QPWy-moT07b7_wvxfVtcPFUc8eZJ0I7OCvo8LC-d96zaPqZApd69vmLiWPPC5V646OpK15rhDHO-db79gNTZfHdhpI3UOFEtgdQUGHWydkYcJU-4Ge_BTb5_gEv4JdOJfZ1kwRT7-NMxgRr3GQgNlufGtI6-UTZuXWDgW7XoOJ1jrkr_f0NK5sJMGb80Jmyn6dG3or03Vt6dPvYKCQcGJnSZ_DqDkG03fpYDUVrFn-BVmnaRkfG7bCgiTIlC4_6SEHxplpXse6nnkDG0FviBPrRiVosGqXQ2fEv6E6_RtQE6c7KqIvTmlQygS0Wog
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDdkN2JiNmUtOWQyNC00ZjNjLTliZTItNmQ4NmE0YzM0Mzc0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0Ni1pWEdNRzJUSTBQYmVvR1o3V3N0YXItc3FxajlGMHltViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YVTdQAYmZdbVXlTm5xhwT4JJ4QPWy-moT07b7_wvxfVtcPFUc8eZJ0I7OCvo8LC-d96zaPqZApd69vmLiWPPC5V646OpK15rhDHO-db79gNTZfHdhpI3UOFEtgdQUGHWydkYcJU-4Ge_BTb5_gEv4JdOJfZ1kwRT7-NMxgRr3GQgNlufGtI6-UTZuXWDgW7XoOJ1jrkr_f0NK5sJMGb80Jmyn6dG3or03Vt6dPvYKCQcGJnSZ_DqDkG03fpYDUVrFn-BVmnaRkfG7bCgiTIlC4_6SEHxplpXse6nnkDG0FviBPrRiVosGqXQ2fEv6E6_RtQE6c7KqIvTmlQygS0Wog</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="252" it="0" lt="252" ct="1" ts="1587564525961" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDM1MzY3NTItODA4OS00MmY5LTlhNzQtZTcyMDA5NDMxMDk0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="242" it="0" lt="242" ct="1" ts="1587564525971" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWM4NWQzY2YtYWNjOC00NTJjLThiZjAtMGFkYWNlMWMwYTc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="295" it="0" lt="295" ct="0" ts="1587564525919" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTM0MC1pYVA3UEE0SC1YZEtwZExkYm1lZXBUWFc5TlFoVkRZVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hd43-6iV4vhzuWgLMHOZmZByC9zA998X2ka1VmSHbVri2MvXmetrufUh-oZg2tju_aLAOfIOq2MrnvebBd0KTVHDRIb68asdpP_FukPXPnE7JIXtC1OI9dtKs1lpTccySfKIv63M0rswU_gAN1sO-lL0zSqgwJxjh9FJkVAKLtkmMNf_vCnavPvplQcto-yDuFURHeMyNJtC4jBRUdsw--wO2Q1LEQ4DRLb_XMkPH1pr0nMoKHPKukL8Rj68h6KWfEP5ey9nbi_TUz9pXI3SxKEIhJ_NmFLXOlvRgYVCW_vEg_0nmE2MzXpImzh6Uoy2eCA5faIav0XOqkfMurVtIQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjU4ZGE2MjctYzZlMy00MjA0LWFlMTQtNTc4N2E2M2YwOTc5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTM0MC1pYVA3UEE0SC1YZEtwZExkYm1lZXBUWFc5TlFoVkRZVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hd43-6iV4vhzuWgLMHOZmZByC9zA998X2ka1VmSHbVri2MvXmetrufUh-oZg2tju_aLAOfIOq2MrnvebBd0KTVHDRIb68asdpP_FukPXPnE7JIXtC1OI9dtKs1lpTccySfKIv63M0rswU_gAN1sO-lL0zSqgwJxjh9FJkVAKLtkmMNf_vCnavPvplQcto-yDuFURHeMyNJtC4jBRUdsw--wO2Q1LEQ4DRLb_XMkPH1pr0nMoKHPKukL8Rj68h6KWfEP5ey9nbi_TUz9pXI3SxKEIhJ_NmFLXOlvRgYVCW_vEg_0nmE2MzXpImzh6Uoy2eCA5faIav0XOqkfMurVtIQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="244" it="0" lt="244" ct="0" ts="1587564525973" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzNS1xYnhpZTFrdDZrUXhwWllzajQ5VU5RSW5GVkdYdERXVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LCLJXSzQ3d6Hk1bUlBCMaOBP51O_m6E48AUN2gzW7C-IFAzP05vNuAaLSZAP0NFcoEFRrP21gqgxFERoOtosTDQ_rXaRXMRaLg1Bhw3aEw9ZG73QNjsxE6KiL6YGPlmtMem_VRKHtky_kA7uXR3g1XHusr15nf2WBWj5gnY3kO_uo82AsCsPz_J4CmiM8sJS8_loEphTwkSk08NyDLRRkJMYeUNanWaatWc7wkMDXwVTQtJxc2J24ML3s66AXQ_-WxZSh2zNi-nObX3gt7q6uipzs_KU5Yrwi3MzFR4QoDP1QcsUzU9MC0FKvLBqhkc9LnP05CJd9kSy4uqHhYQtUw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjQ2NjVlZTktOTNhYi00ODNiLWIyYjYtMGQyYmEyMzY2ZTEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzNS1xYnhpZTFrdDZrUXhwWllzajQ5VU5RSW5GVkdYdERXVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LCLJXSzQ3d6Hk1bUlBCMaOBP51O_m6E48AUN2gzW7C-IFAzP05vNuAaLSZAP0NFcoEFRrP21gqgxFERoOtosTDQ_rXaRXMRaLg1Bhw3aEw9ZG73QNjsxE6KiL6YGPlmtMem_VRKHtky_kA7uXR3g1XHusr15nf2WBWj5gnY3kO_uo82AsCsPz_J4CmiM8sJS8_loEphTwkSk08NyDLRRkJMYeUNanWaatWc7wkMDXwVTQtJxc2J24ML3s66AXQ_-WxZSh2zNi-nObX3gt7q6uipzs_KU5Yrwi3MzFR4QoDP1QcsUzU9MC0FKvLBqhkc9LnP05CJd9kSy4uqHhYQtUw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="250" it="0" lt="250" ct="3" ts="1587564525968" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTAzMDNmOTUtZjkyZi00Njc2LWI2OTctMzIwYWIyYzE1Yjgy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="245" it="0" lt="245" ct="2" ts="1587564525973" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTZhNTk4MDAtNzg4ZS00MTI3LWExMjgtNTFjNTE5NjIwMjcw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="309" it="0" lt="309" ct="0" ts="1587564525910" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzMS1vcGpvSm11RDBtTGY4SXNBNE1wWkVVd2FRWkQ0RzlHeSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.f6Gd31_1HwkhAy7lrKDnXLsKb5rfTkYVJIOdnr7pV59ENdDAk9i5Ez1Bim_ARmC2FH1MOTS0kbfA-xwqMQp9ZvCCHwmapNMrGWso3LQ3YWY4vqz6xiXjt64FpIbJB41dOFW-d7355a89iUDm4DuZaHwjuaC777z7pby4xZfu-320thDmoFfEyupLv5PadL5M5NFGRm9OYP3-1N88t3HKeZ3JOa5IqK1iJdahcqZ6VNvqZfZtsnK4WPWUqfuPpZZxOmQWH2bWm2RfE_PTyq8xvG6x2vo2RzIcS7SW59qTpBij67kwdL7rLda5rViEgyhw5v0ZP6XkWopGncE9uyt1hg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGU1MzUxOGQtYmYxMy00ZmJjLWIyNWQtNGUyZWQ5NjAxOGNh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzMS1vcGpvSm11RDBtTGY4SXNBNE1wWkVVd2FRWkQ0RzlHeSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.f6Gd31_1HwkhAy7lrKDnXLsKb5rfTkYVJIOdnr7pV59ENdDAk9i5Ez1Bim_ARmC2FH1MOTS0kbfA-xwqMQp9ZvCCHwmapNMrGWso3LQ3YWY4vqz6xiXjt64FpIbJB41dOFW-d7355a89iUDm4DuZaHwjuaC777z7pby4xZfu-320thDmoFfEyupLv5PadL5M5NFGRm9OYP3-1N88t3HKeZ3JOa5IqK1iJdahcqZ6VNvqZfZtsnK4WPWUqfuPpZZxOmQWH2bWm2RfE_PTyq8xvG6x2vo2RzIcS7SW59qTpBij67kwdL7rLda5rViEgyhw5v0ZP6XkWopGncE9uyt1hg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="282" it="0" lt="282" ct="0" ts="1587564525937" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1OC1oWUVQdmpMa1A5UEprVk9HRmZtamtqUDc5bnBCUlJvLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ATLA7HgfLto6re-VrW0b6RE17EUgG8yyTyW3jTJTlTDimwsDEZGdRWaKqKCvg8abbG-Bp5pXr2xVYNP9IMXvI8JAXqK877cc0hL6g0x3UGoAAC4VB26eegBwWQhaVjX0pXQgBy0YjjUOVqfl__WCqr4z0zP30r8RjUM___zo6oEeFp7LAITvxFqh--Ck5AXnw48R4jzoF9_pE0RwRvtAFQj2NtqOMevu0YhBr_AZpwYZy-XsyiG1a78W2z51RJNJ9X4pg7mtTxQfOE9hTlr04TdNxI7gIM91SSGAhnk5wNgjKcq8G6CJU1Gt5cmZLGN6MNsrJ85ad8IEJdcmtm43zw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTI0NzI3ZjAtNjQzMi00MDc2LTk1ZDAtZTdmODAyY2I0NjBj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1OC1oWUVQdmpMa1A5UEprVk9HRmZtamtqUDc5bnBCUlJvLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ATLA7HgfLto6re-VrW0b6RE17EUgG8yyTyW3jTJTlTDimwsDEZGdRWaKqKCvg8abbG-Bp5pXr2xVYNP9IMXvI8JAXqK877cc0hL6g0x3UGoAAC4VB26eegBwWQhaVjX0pXQgBy0YjjUOVqfl__WCqr4z0zP30r8RjUM___zo6oEeFp7LAITvxFqh--Ck5AXnw48R4jzoF9_pE0RwRvtAFQj2NtqOMevu0YhBr_AZpwYZy-XsyiG1a78W2z51RJNJ9X4pg7mtTxQfOE9hTlr04TdNxI7gIM91SSGAhnk5wNgjKcq8G6CJU1Gt5cmZLGN6MNsrJ85ad8IEJdcmtm43zw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="278" it="0" lt="278" ct="1" ts="1587564525943" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTU3NmU4MTAtZmJjNi00OGNlLWI4ZGYtYTVmN2MwMjExN2U1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="251" it="0" lt="251" ct="0" ts="1587564525977" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0NC1lQzV6aUFGOFEtVU9CSXhiWUZDODVsbk8zUHJUUzJ4QyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DrdkYCfly6aBTTm6P01tF-sr92GQJFBGrsnfWBx-mNhLt4rPMjzsOnGMOe3bodhuwNPhhaK0wYPEWII4UsxKQnn8XGbAfYP7XuighI_aZbVgY45fOSAKfdPWf0Hw-BX1rwl4XaXV2VraqCUKf8mRtFV-Wl5Sx8OERGo_12l9Zhlz3GgPUtQ5f4DoAPppDf7C5ouqyPoR6P5MM7jNilSisKHQ4nFGIzDk2cMnLXHVOw36YdaThGq8QcElqYTKs4vJwuckwcasSyv1Ne3HqIIsSi5j5z1XHRjYUaU9Og87kC76g-rUI8St8v3PxiVFjrymqKY_fid0_Zid8orpIa52QA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDFiOTBlZTMtODc4Mi00OWM5LWI5NTUtYjlkNTcwMmE1ZTU0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0NC1lQzV6aUFGOFEtVU9CSXhiWUZDODVsbk8zUHJUUzJ4QyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DrdkYCfly6aBTTm6P01tF-sr92GQJFBGrsnfWBx-mNhLt4rPMjzsOnGMOe3bodhuwNPhhaK0wYPEWII4UsxKQnn8XGbAfYP7XuighI_aZbVgY45fOSAKfdPWf0Hw-BX1rwl4XaXV2VraqCUKf8mRtFV-Wl5Sx8OERGo_12l9Zhlz3GgPUtQ5f4DoAPppDf7C5ouqyPoR6P5MM7jNilSisKHQ4nFGIzDk2cMnLXHVOw36YdaThGq8QcElqYTKs4vJwuckwcasSyv1Ne3HqIIsSi5j5z1XHRjYUaU9Og87kC76g-rUI8St8v3PxiVFjrymqKY_fid0_Zid8orpIa52QA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="285" it="0" lt="285" ct="1" ts="1587564525943" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODBhOTNkMTMtNTc1OS00ZDkxLTg5OWUtMTUwOTkwY2JmYmZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="250" it="0" lt="250" ct="0" ts="1587564525981" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2MC00dk1TaXFLSjlIMHZDeW56NXFHd0JWZkV6SHNyeGJibiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AUtPTvWVD_FLtGoSV6UZBYyN6D57M-XjXW_OiPUrTHxEMBIYKS494vi8DLuu-iC7yaelxZpQZBfuxroQc6mstmJJATZHlpqxfGHjuvGdXLXbrAFIv2-ShzFiPxojTgXFnx6gCBcFTouEAR2h_6SBP8SA-VpGVxSIvZx2470JwNSwYUEZoJT5FHPW_VPENxVDL1Tgx0T9gEoaPjrjlKtIzvOJWXFIjIrt7cXusPckny-clfoo23DSYk76i5e_eJGouNJEiR01z9PsuiwVEMwb6sfS9jfO4IngCZWENBjFFePl0EBKqsDWJ_85plGg4Vtd6AWjTtQH4cYavh_bM_7GOg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWQ3OGY4YWUtNDVkZi00MjkwLWI4MTItNmVjNDZmOTgxZWIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2MC00dk1TaXFLSjlIMHZDeW56NXFHd0JWZkV6SHNyeGJibiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AUtPTvWVD_FLtGoSV6UZBYyN6D57M-XjXW_OiPUrTHxEMBIYKS494vi8DLuu-iC7yaelxZpQZBfuxroQc6mstmJJATZHlpqxfGHjuvGdXLXbrAFIv2-ShzFiPxojTgXFnx6gCBcFTouEAR2h_6SBP8SA-VpGVxSIvZx2470JwNSwYUEZoJT5FHPW_VPENxVDL1Tgx0T9gEoaPjrjlKtIzvOJWXFIjIrt7cXusPckny-clfoo23DSYk76i5e_eJGouNJEiR01z9PsuiwVEMwb6sfS9jfO4IngCZWENBjFFePl0EBKqsDWJ_85plGg4Vtd6AWjTtQH4cYavh_bM_7GOg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="264" it="0" lt="264" ct="0" ts="1587564525968" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzNy1WTGtQYTJkT082elB3UnVDLVozazAtZUtNRjEtbEE5RyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qfkdV2hnI1JANF78H7onjpwYmnqmP4x1pq_7Fig315kg3lJDGWBO45FVu1cVUe94cE6ka2IIjfVxU5NL_WgaeumP4YkPTSV6rotVfFuKWotQPUnlzWIQ_Mo-BGmx7BUVYJmgPJj3qCKrwVAa8M0aMzJ4uzuIc5exURIHU-bsPlnqfF4U-g4JjY_EZIK9yCR9Lq7W2CnMQmsEUFWHKiIDEMwd0B6RTsri3NCQq9oURKQiYEVsQj_Q2MAN-om82NXk9pa-LMh_36D2K2IO8HS4pArF4bI8YZHThPdWBb7KFt5OIJxCRb1RXKS5Ho3id-8dTiuCaMSqi7WSGwfp79_ctg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjVkNjhjOGMtZDRmZS00NjllLTkwNDEtYzIyODI1YTE1NzYz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzNy1WTGtQYTJkT082elB3UnVDLVozazAtZUtNRjEtbEE5RyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qfkdV2hnI1JANF78H7onjpwYmnqmP4x1pq_7Fig315kg3lJDGWBO45FVu1cVUe94cE6ka2IIjfVxU5NL_WgaeumP4YkPTSV6rotVfFuKWotQPUnlzWIQ_Mo-BGmx7BUVYJmgPJj3qCKrwVAa8M0aMzJ4uzuIc5exURIHU-bsPlnqfF4U-g4JjY_EZIK9yCR9Lq7W2CnMQmsEUFWHKiIDEMwd0B6RTsri3NCQq9oURKQiYEVsQj_Q2MAN-om82NXk9pa-LMh_36D2K2IO8HS4pArF4bI8YZHThPdWBb7KFt5OIJxCRb1RXKS5Ho3id-8dTiuCaMSqi7WSGwfp79_ctg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="268" it="0" lt="268" ct="3" ts="1587564525964" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTg0MjI4ZTgtYjA4Zi00MjNiLWJhNmEtYTE1Y2FhNjNjZDZm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="274" it="0" lt="274" ct="2" ts="1587564525958" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjgzODU3ZjgtYTAwZi00NzRiLWI2NDktZTBlYjAzNTNiMDFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="294" it="0" lt="294" ct="1" ts="1587564525939" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2YyYWUwNGEtYzVhNi00NDFhLThjMjktZjViMzRjNDJhZWM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="250" it="0" lt="250" ct="2" ts="1587564525983" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDAxMDUyODEtYTgzNy00ZTM4LWFkY2YtMDk1YTI5NTc3YjJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="304" it="0" lt="304" ct="1" ts="1587564525930" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWE4Y2M4YjctYTk4NC00ZDcyLWJjMTYtNzFjYWQxYTYwMTc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="265" it="0" lt="265" ct="1" ts="1587564525969" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzdjMGJiZjctOTRhMC00Yjk2LWIzMmMtNTIxYmQwNDk5ZmM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="259" it="0" lt="259" ct="2" ts="1587564525976" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjFmODA1OWYtZGM5OS00Y2EyLThlOTQtYTA2ZGNkODViMWM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="266" it="0" lt="266" ct="1" ts="1587564525969" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjY1NmM5ZWMtMjYyMi00MDVjLWI5YWUtMGI1OTQ0N2FhMTRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="296" it="0" lt="296" ct="1" ts="1587564525940" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDVlMzgzZmUtNjNiNi00NGZhLWE0YWYtNzY5ZWYwM2VmNzNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="276" it="0" lt="276" ct="1" ts="1587564525960" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzI1ZWM1YjgtZmM3My00ZDZhLTgxNGQtMWQ4NmQ5MmE4YjZm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="302" it="0" lt="302" ct="1" ts="1587564525935" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTQ1ODdjNTYtZDNiYS00ZTg1LWIxYzEtODk1OGVkYTE3YTY5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="306" it="0" lt="306" ct="0" ts="1587564525936" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWVmOTEzN2EtZWVkYi00M2FlLWE2ZmQtYWFjNGE2ZmNiMzBl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="273" it="0" lt="273" ct="1" ts="1587564525971" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGI2MGRkMWMtMmIyMS00OTg1LWFkYWYtZjQxNDMyNjVmODU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="305" it="0" lt="305" ct="1" ts="1587564525940" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzlhOTM5YzgtMDkzMy00OWViLTk3ODAtMjQ2OGUxZjE2MDg4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="286" it="0" lt="286" ct="2" ts="1587564525959" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjNkZTkwZjUtYWVhZS00OTlhLWJhZGMtY2I5ZWMzYWFmNGVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="288" it="0" lt="288" ct="1" ts="1587564525958" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWNlNjY5NTEtMzljNi00Y2Y2LWIwNTEtOTQ4MmUzYzdlY2E5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="272" it="0" lt="272" ct="1" ts="1587564525974" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGE1ZWI3MTQtOGQwZC00NzM5LWJhOGMtMmQxMjY5M2NjODMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="263" it="0" lt="263" ct="0" ts="1587564525984" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzMi14eG5WM29pZWVFZGFGSmlCbVg1NmcxQm1xYVpqMnRoZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dU1Ej6AxRDfZ6sMJOQauJ4vJlpTzx8HBwMSC6JNkTBnRSJTtyqf3h4wyJkNEGDdALKAtbt3friCbJd5bxOG3T4DTJzbog-tLf5NPBUc8_Wig311UxeAvqeFmVXeMdTpQgsPdcfd2fwIvztdCxM5wPNon_dOil2m3We-Kcn-epSdXsjngS7eR20stuoZE-pzQpaCLp0h9gfSOU1DQJSFb_mqbCzZgXiZ7EfTRxRTUuK43-UQY_whMFFk2zl7Zz39esAmKaDiELl8s9dAzfs1FFaxSkdLU7Y6831k24tsa2kLS2yKaq8zadg3sioswFmaRXohnhO8UOmJFkHG9JTdn0w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Njg3Nzk0ODctY2NhNy00YmFhLWIzMGMtYjk1MzU3NTRlMTBl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzMi14eG5WM29pZWVFZGFGSmlCbVg1NmcxQm1xYVpqMnRoZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dU1Ej6AxRDfZ6sMJOQauJ4vJlpTzx8HBwMSC6JNkTBnRSJTtyqf3h4wyJkNEGDdALKAtbt3friCbJd5bxOG3T4DTJzbog-tLf5NPBUc8_Wig311UxeAvqeFmVXeMdTpQgsPdcfd2fwIvztdCxM5wPNon_dOil2m3We-Kcn-epSdXsjngS7eR20stuoZE-pzQpaCLp0h9gfSOU1DQJSFb_mqbCzZgXiZ7EfTRxRTUuK43-UQY_whMFFk2zl7Zz39esAmKaDiELl8s9dAzfs1FFaxSkdLU7Y6831k24tsa2kLS2yKaq8zadg3sioswFmaRXohnhO8UOmJFkHG9JTdn0w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="265" it="0" lt="265" ct="0" ts="1587564525982" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzMC1VUmNOS3gzczlRMS1hSU12azQ5VUhVcy1QZGFmYnVVcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.H4BYPicpvNfl-kqAsx6rv-kuvfyh_v_kbkY0DIVK7mpq09oUNCLhZbF3qfzsBjrPxZHBavl9dT_XCX21DIo4QDs8Y5zbwBiMQvPVT8UoWh0E2naIHtI4pq7YYqGdC1yom_lIEbZz1dIhmqD-F1KkvsHFhGK4amZnvrlfeiITVbsdM1hgEb_FnlvnZhRbZ365uVtkv0BTVYnlqJt-9zqDb79QEoxearhOXcwc5d_Ln3fLI2t1DsaWEwRD6vFLjxasgDAmQbl648QzkltdYaRAyII4WzpNgzh1hgz1hXjq4hI2wz_MUsluxo7XD4GOt_KL7Bf-Hqd9Qlda8En-odq7MA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjFmYzJjOTMtMWNhYi00NDliLTlhNTAtYzQwYTRlYWM5Zjg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzMC1VUmNOS3gzczlRMS1hSU12azQ5VUhVcy1QZGFmYnVVcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.H4BYPicpvNfl-kqAsx6rv-kuvfyh_v_kbkY0DIVK7mpq09oUNCLhZbF3qfzsBjrPxZHBavl9dT_XCX21DIo4QDs8Y5zbwBiMQvPVT8UoWh0E2naIHtI4pq7YYqGdC1yom_lIEbZz1dIhmqD-F1KkvsHFhGK4amZnvrlfeiITVbsdM1hgEb_FnlvnZhRbZ365uVtkv0BTVYnlqJt-9zqDb79QEoxearhOXcwc5d_Ln3fLI2t1DsaWEwRD6vFLjxasgDAmQbl648QzkltdYaRAyII4WzpNgzh1hgz1hXjq4hI2wz_MUsluxo7XD4GOt_KL7Bf-Hqd9Qlda8En-odq7MA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="272" it="0" lt="272" ct="0" ts="1587564525976" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0Mi16Q3FUT24xTkg5MUxScElLOTJhTFQtaUZicS1aeExqUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Zci2uVyqMeUdxIaG2FUoFhzncRSL64lwFu4tRKl04OyleYs5FIQM1DWW847qNroFLCUlNjAGfOrBLDlBBC-F-ohpxYZnWYZ_YBuqNOlOLP-vA6J0tWT-nER9h421sMEpp5EK0RH3T8TyV8DMFmuHdQeybGhaEf8jV-6z36S7tR78XhEzH2UWZmqxbiebouq2HN6ma9vkjWyOJACWAgH7H5_9NHJo_lOEoF0-yHrRyUWdKJ0VkpFbt4jVxiut5VAWbp5atEechK24J8K6kHHHW1vkod4QJj1HuEOWoD6Ka5Ly9twwrb7tGBLqCaqPGEboj-a4qyHmfKg3VLpoomRGUw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTQ4ODcxMDMtM2YzZC00ZWMzLTgxNDctMDBmNmUxZTllZjM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0Mi16Q3FUT24xTkg5MUxScElLOTJhTFQtaUZicS1aeExqUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Zci2uVyqMeUdxIaG2FUoFhzncRSL64lwFu4tRKl04OyleYs5FIQM1DWW847qNroFLCUlNjAGfOrBLDlBBC-F-ohpxYZnWYZ_YBuqNOlOLP-vA6J0tWT-nER9h421sMEpp5EK0RH3T8TyV8DMFmuHdQeybGhaEf8jV-6z36S7tR78XhEzH2UWZmqxbiebouq2HN6ma9vkjWyOJACWAgH7H5_9NHJo_lOEoF0-yHrRyUWdKJ0VkpFbt4jVxiut5VAWbp5atEechK24J8K6kHHHW1vkod4QJj1HuEOWoD6Ka5Ly9twwrb7tGBLqCaqPGEboj-a4qyHmfKg3VLpoomRGUw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="270" it="0" lt="270" ct="0" ts="1587564525980" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyOC1IazM0Nm9yeTY1S1FuMkFHMzRGVXZuY0FVM3JBUW1ycSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HNHkfzgpzj76zYjgjN9FXXEJIEcov5N2r4Ax7J13ppdBfnGFSpQ6XnnUiTJaQfeA5TZCWcSX889jrt-YvBmHxWHW7cAyXjErLncN50jnmRHoV_P7KHF_lNDXgPE1NklQvwPNOJjTQ30owGeS5ZjpFDM2KX9fjRNq5j6yFl-d2XQmJ5D6ghIizuhbJDgvJhJM8z5QefnGGmPYuWbbq_Hsjb5H8T8jkQi5Y1nvFwDoyrDGRkQ6RI67UEWHkRjCBqmoPTQZkCWs9Tvv9ftxfLpjbD5lPJSHJj3D1BcOqP3xL9uODACqjH8TbUSZvXAS6Uxl1_ECbL97YW9MT9QFZmB1HA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTAwNDM3OWYtNzRhNy00MjBjLTg0OWMtNzM5MWQ4MjNiNzY1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyOC1IazM0Nm9yeTY1S1FuMkFHMzRGVXZuY0FVM3JBUW1ycSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HNHkfzgpzj76zYjgjN9FXXEJIEcov5N2r4Ax7J13ppdBfnGFSpQ6XnnUiTJaQfeA5TZCWcSX889jrt-YvBmHxWHW7cAyXjErLncN50jnmRHoV_P7KHF_lNDXgPE1NklQvwPNOJjTQ30owGeS5ZjpFDM2KX9fjRNq5j6yFl-d2XQmJ5D6ghIizuhbJDgvJhJM8z5QefnGGmPYuWbbq_Hsjb5H8T8jkQi5Y1nvFwDoyrDGRkQ6RI67UEWHkRjCBqmoPTQZkCWs9Tvv9ftxfLpjbD5lPJSHJj3D1BcOqP3xL9uODACqjH8TbUSZvXAS6Uxl1_ECbL97YW9MT9QFZmB1HA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="279" it="0" lt="279" ct="0" ts="1587564525973" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1MS1rUTE2UHIxaEtObVB4SkpUT2pZWGVkbVAtcHZpbUMzTSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.fydKEtaXNraPH3rkeIGs6boy0rthBgKQrOD6leK6RhzoT2Aoc1FHJvz8LaGDK8Bft3W5_jjge0Yp996EBGgbaaiJk6RwJpUH8SqDipgHvjcko3J9erl3dpCPjKun8HhJsExs1oGKJ-dezV3hAO1VnpYGRQsBTW_xaKgamAZXW8SqAdBQXggzrhp4QA5drjKh2kgr56jPvPcRrNiEElGrpS62n5dVzFUxGwcFK_OUHrbzaRgHZydXNERDDGUuQUqEMkh9VepKyh0YdaWc1egws-GPU_QszrqLoVHET2OtK4B_vaCH0UUCRm3_VdjiRqEKItb_MEceYtk56A8z3H95rw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWQ4ZWY1MzctZGNlZi00NzM3LThkZjktNzlhODY2OWMwMDM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1MS1rUTE2UHIxaEtObVB4SkpUT2pZWGVkbVAtcHZpbUMzTSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.fydKEtaXNraPH3rkeIGs6boy0rthBgKQrOD6leK6RhzoT2Aoc1FHJvz8LaGDK8Bft3W5_jjge0Yp996EBGgbaaiJk6RwJpUH8SqDipgHvjcko3J9erl3dpCPjKun8HhJsExs1oGKJ-dezV3hAO1VnpYGRQsBTW_xaKgamAZXW8SqAdBQXggzrhp4QA5drjKh2kgr56jPvPcRrNiEElGrpS62n5dVzFUxGwcFK_OUHrbzaRgHZydXNERDDGUuQUqEMkh9VepKyh0YdaWc1egws-GPU_QszrqLoVHET2OtK4B_vaCH0UUCRm3_VdjiRqEKItb_MEceYtk56A8z3H95rw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="311" it="0" lt="311" ct="0" ts="1587564525942" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2NS0temotYlR0cXRMQ2IzT2Z0MmhxODJHa0JMWWY1cmNxTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NFfK5Cx5qgZHty93gyvMfLXxuaOCgTmKn3_NbUhum24zDSc3hB2Mks3Q62BNSfPAwlTxQ-Vd3lzxvHbNbvJnpOzoMRj8fbLRkpLoUbZ65oxBb4NU6a7PhkiiiTD-DA3q-97pAD1o3HYBYHsqcZZC1YUSCG6CNZR1wqmyEUT7wLwT2Q3vShrNJFN1nS9FeUf-iDa-l39ZJQkBqcl_IvbvwNw37YTmM5PIqV_oZ-lr2pAWdPs01sT75yLiWuL6nCqipPhnBuOrDZzEGDB7cnCxXpF9Q0VOgBr7mpmGYkXzD0IoQBFA0i1V9gUTibZEprBITcAyMJCWOOObUDncAvB1TA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDM1YWRhNmUtNjkwOC00MTUyLTgxYTItN2Q4NWE1NzAxZjY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2NS0temotYlR0cXRMQ2IzT2Z0MmhxODJHa0JMWWY1cmNxTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NFfK5Cx5qgZHty93gyvMfLXxuaOCgTmKn3_NbUhum24zDSc3hB2Mks3Q62BNSfPAwlTxQ-Vd3lzxvHbNbvJnpOzoMRj8fbLRkpLoUbZ65oxBb4NU6a7PhkiiiTD-DA3q-97pAD1o3HYBYHsqcZZC1YUSCG6CNZR1wqmyEUT7wLwT2Q3vShrNJFN1nS9FeUf-iDa-l39ZJQkBqcl_IvbvwNw37YTmM5PIqV_oZ-lr2pAWdPs01sT75yLiWuL6nCqipPhnBuOrDZzEGDB7cnCxXpF9Q0VOgBr7mpmGYkXzD0IoQBFA0i1V9gUTibZEprBITcAyMJCWOOObUDncAvB1TA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="271" it="0" lt="271" ct="0" ts="1587564525985" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyOS1MNll5UG5xREFVT3J6OVc0azJoUkxldEZKS0kyLTk2VCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FXyS_NbS9_OwAm6XqoPFBQJdkfFC_aB0eyF20rJvRtCv6mCBIJ4B4dp6B9iMNI7ZjRsgFZb6C4Fmdbm37wa3JOH5ieasV85M9kl7Z_-e5-X5g6In4SRQ_AjOIfSbsl9YD4dht59je668y3_lyaa2vWNqpmEod129lFRNsLvzL3zC0j4aaf4HzhTw8od3z8NEqf8c1--aHFYAB4T63LgPznHC4DKl-8QSxUaD99yF-lskE3fhNKtgbq9spDLSF4F8Yq4z2f1rqqXZGvT48V1oD-Yus9f6eC1gT_5z2FA0W23En8UkMJEu0cvKV0d5LJBt7knrn06Wzwdc9B1TbLYWUA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWYwNTFkNGQtNWQxZS00NTc3LWFhYWItYWMxNmNlY2U0NTYx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyOS1MNll5UG5xREFVT3J6OVc0azJoUkxldEZKS0kyLTk2VCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FXyS_NbS9_OwAm6XqoPFBQJdkfFC_aB0eyF20rJvRtCv6mCBIJ4B4dp6B9iMNI7ZjRsgFZb6C4Fmdbm37wa3JOH5ieasV85M9kl7Z_-e5-X5g6In4SRQ_AjOIfSbsl9YD4dht59je668y3_lyaa2vWNqpmEod129lFRNsLvzL3zC0j4aaf4HzhTw8od3z8NEqf8c1--aHFYAB4T63LgPznHC4DKl-8QSxUaD99yF-lskE3fhNKtgbq9spDLSF4F8Yq4z2f1rqqXZGvT48V1oD-Yus9f6eC1gT_5z2FA0W23En8UkMJEu0cvKV0d5LJBt7knrn06Wzwdc9B1TbLYWUA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="155" it="0" lt="155" ct="0" ts="1587564526106" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzNi1rT2pndkhZN1ZEcG5Mb2Z1SzNtZzFNVkh5Wm0wYWVQQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cAfmBw7KHY7fAsca3544RB0w4CzRQj8RvM8fx9aGuhp9i0c0XAUUmdFv6OoNJLMed5JqEoJRNQKfCOVZrZu_b2IEuIpczxH8mFJIevYPngT0asrwYiaROC_Mj3Lm6hVqYTIKAQR8c7W6haDouzjfx8BlkOvxFbA_d6WIfsqillIVTNfClM9oFOoVC3pbxj7jHHVw2Cqk8Zkn1WfJBfpuaPEu56RNHD4FOtriwmy3vQ9dlLdeNXFNeSWGubBlFPFDrovHQGvCvANCEJV0J8GG8Iu0Rtwp2FfPXfXM_BwtJbFTtZH6QRz3cPX-nEnQn53Y1MZZrjoSnlwSfv06jMRvPA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjVhOTdlYjgtZDNlMC00M2Y2LWE3YzYtYWNlMTZmM2U0MzVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzNi1rT2pndkhZN1ZEcG5Mb2Z1SzNtZzFNVkh5Wm0wYWVQQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cAfmBw7KHY7fAsca3544RB0w4CzRQj8RvM8fx9aGuhp9i0c0XAUUmdFv6OoNJLMed5JqEoJRNQKfCOVZrZu_b2IEuIpczxH8mFJIevYPngT0asrwYiaROC_Mj3Lm6hVqYTIKAQR8c7W6haDouzjfx8BlkOvxFbA_d6WIfsqillIVTNfClM9oFOoVC3pbxj7jHHVw2Cqk8Zkn1WfJBfpuaPEu56RNHD4FOtriwmy3vQ9dlLdeNXFNeSWGubBlFPFDrovHQGvCvANCEJV0J8GG8Iu0Rtwp2FfPXfXM_BwtJbFTtZH6QRz3cPX-nEnQn53Y1MZZrjoSnlwSfv06jMRvPA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="48" it="0" lt="48" ct="0" ts="1587564526214" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1Mi1KeWwyblJkU0hRYkFsTUZoN3VmeFNndDZJazd6YU5KSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SAUQTtTtArDm5RvLeT3dRgABg72zQwFI9FY1VJIKTaNe67hvXcAS0VwM7Pzgx4nFBEIJBciv3r9CjaGY20wLbQi3AwO-pNbqBP7AcO4OSNe6OwrQvlrHJ1CEUK2AnLmIC1T_4l79McskfChy93EU_NEeYe1842ShxS0O1--41z_liW4rKZEQpP2LgDQg9PaJEafHlMt4vMV6HQOzS2Wi4MZVzxS8PLSf6EKOFwg2WYrQqbMhNis7_yGm2Ip4cdV5udLXvydJMGTpU9CPnpDwlHF8XDBxqn_qMUluTYkHqlFMvbzNKvYTzyr1eAx2CcR9MnGgc_YUNDlo4whRqun0cg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWM4NWQzY2YtYWNjOC00NTJjLThiZjAtMGFkYWNlMWMwYTc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1Mi1KeWwyblJkU0hRYkFsTUZoN3VmeFNndDZJazd6YU5KSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SAUQTtTtArDm5RvLeT3dRgABg72zQwFI9FY1VJIKTaNe67hvXcAS0VwM7Pzgx4nFBEIJBciv3r9CjaGY20wLbQi3AwO-pNbqBP7AcO4OSNe6OwrQvlrHJ1CEUK2AnLmIC1T_4l79McskfChy93EU_NEeYe1842ShxS0O1--41z_liW4rKZEQpP2LgDQg9PaJEafHlMt4vMV6HQOzS2Wi4MZVzxS8PLSf6EKOFwg2WYrQqbMhNis7_yGm2Ip4cdV5udLXvydJMGTpU9CPnpDwlHF8XDBxqn_qMUluTYkHqlFMvbzNKvYTzyr1eAx2CcR9MnGgc_YUNDlo4whRqun0cg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="49" it="0" lt="49" ct="0" ts="1587564526213" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1MC0yRm9mWVItTzRFZWxxQm1nY2FUOHZ4UVRrYlNEZmF5QyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QWsbl0qzcAlrrWGnNVDGpH6ooX51REVx7YriSu2axt5I8y0PKp6mabMwFCyffhbMmuASuphKuCNKwOYSeeyihBSL20VkTSAPLtOMoTPofYyZW7EQSyyGYrcYFsVPtq9p_07W40yTyZsznUDd1UxpBWyrLqjOqgZK0t9F4baBpk8Bt4enuD0G6fpeOnEWJ3qH2Hn2De9khBYrV-Ab2s86wnWDA2F0t_0cCK84UpBsGcMK6ErVH8PW2funJBgMI9SsiZxGmNqrrd0Wlbfgfaf3XVJ3P1o_43C1QGE9utUOQGqw6pxPLKLQRVCnFm-SnBO8y3rSIdCULMsvyXCXrLcCtA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDM1MzY3NTItODA4OS00MmY5LTlhNzQtZTcyMDA5NDMxMDk0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1MC0yRm9mWVItTzRFZWxxQm1nY2FUOHZ4UVRrYlNEZmF5QyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QWsbl0qzcAlrrWGnNVDGpH6ooX51REVx7YriSu2axt5I8y0PKp6mabMwFCyffhbMmuASuphKuCNKwOYSeeyihBSL20VkTSAPLtOMoTPofYyZW7EQSyyGYrcYFsVPtq9p_07W40yTyZsznUDd1UxpBWyrLqjOqgZK0t9F4baBpk8Bt4enuD0G6fpeOnEWJ3qH2Hn2De9khBYrV-Ab2s86wnWDA2F0t_0cCK84UpBsGcMK6ErVH8PW2funJBgMI9SsiZxGmNqrrd0Wlbfgfaf3XVJ3P1o_43C1QGE9utUOQGqw6pxPLKLQRVCnFm-SnBO8y3rSIdCULMsvyXCXrLcCtA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="296" it="0" lt="295" ct="0" ts="1587564525968" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-4" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjI2YmExNDItZDQ1MC00MzIyLTkxNmYtMDJlZTAwNzI0OWMy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1My1pYXdwd05zcFJSM21DOWlKa1FPeHhGWmo1eUJOZ2RaVSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Z8Tz3noeSZ0f0zrZC0uy68DT4wZDdZc41dqCNsOkEWvbbpA3DQ9V5PGjGRx4WOSs3QgUyFAkxxOrgJ8b4zP-vkdnSdsUzFmpiym66CXQtHT_TDYhmbYw_A5ZHxv0x4-ul3JheapKAhdOULcYtQUIUY3OBG658IxyJ81hLazuzN8dRZwuhkVEUWKcKQNdXgoSMQ_RoDS3Sq5elj4a11mubHOl4DGR4gpRjbndTi98AVOUdMc30hPSTIp5kNBI8vYTNojPTnGKNK4Ns7O_iinxFDuMO7ZEC4BBbSxgytnkI-iM_ntoyasgWjVYxC-OcpXKsqvi6KDWwK54EidSmGhoqg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODIzZjE2OTYtNTFmMC00MzkyLTllZTItNWZiNWFiNDE2MzQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="46" it="0" lt="46" ct="0" ts="1587564526218" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2OC1jZFdtQ0E4Q0RDZmszQ2VENjNIaGZmemNMOXctWFROYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RqGZ0aFBWSAD_I9iigJZKr6ly9l1ntYsFtoVtLgmb0gFPRieRSX7NkANdIcGaMaE9FwCvXzVwrWsTlB0ILgAPyL327iWcNnrqYOCR4NOmcGl11bMqRjH58hHjyD3Sm_644aXoBHrkqfpQaV-a84JE2l7C38v1-0tcLy345vyAQfMRGm1ASXJzvrVmipF8pSrRRPEwa463-_wkfjWtB_Cgkl5DV8YvncAqyLbzjID2qm8gvoKl2daddstt6eN1eNldAK7kUzrmmqrpWh6TWYBbJKdTI-8Icep5XGyh6I-soo8KpDzhA_2vAUFCXWWGcsQNrw1yIcuKDv1W2SK3w5zBg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTAzMDNmOTUtZjkyZi00Njc2LWI2OTctMzIwYWIyYzE1Yjgy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2OC1jZFdtQ0E4Q0RDZmszQ2VENjNIaGZmemNMOXctWFROYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RqGZ0aFBWSAD_I9iigJZKr6ly9l1ntYsFtoVtLgmb0gFPRieRSX7NkANdIcGaMaE9FwCvXzVwrWsTlB0ILgAPyL327iWcNnrqYOCR4NOmcGl11bMqRjH58hHjyD3Sm_644aXoBHrkqfpQaV-a84JE2l7C38v1-0tcLy345vyAQfMRGm1ASXJzvrVmipF8pSrRRPEwa463-_wkfjWtB_Cgkl5DV8YvncAqyLbzjID2qm8gvoKl2daddstt6eN1eNldAK7kUzrmmqrpWh6TWYBbJKdTI-8Icep5XGyh6I-soo8KpDzhA_2vAUFCXWWGcsQNrw1yIcuKDv1W2SK3w5zBg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="300" it="0" lt="298" ct="0" ts="1587564525965" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-93" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDY1ZDMzMmMtNzY1Zi00NzZjLWFkZjktNWUzZjE2ZmJjMmQ5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzOC1EZXBwTFh2RzlDTkdmM3p3VlNDWWRabWtvWUNHQnlVMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AY-t4hE4fTu_kJJd2EfRrHBrzku3ks2Rb4NrFEfr1JOd-iixIFmTxaDftSQTf2nzKL2aDRN4FAVh2uI-ak5quXVc96mqb6JBx1obty_cL2rC6CWb4cGwlOBagkpkhE37mAQJBZ2-R3b0e12LurTiaBi1mWKB0NAJhR9I8KQe_bMYjY4ot5tL-Xuw-xNTq23ygNN_rV78_13evWvtqOJ3-nZu5a_exQFRVL0S1Bftd3gYAalPrkEgIexKAMtJ7R37HXpSsLZLffQxvSw-HNdduTqu1FS6CE8LLbuPc_Aea5OPtc8lC7jO0jq8S8t0DRIpa0yIYz-cDYSjvGOAA4Gisw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NDhhODgwNjUtOTViMS00N2U4LTg0YzctNjMzYjE5M2NhOTVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="164" it="0" lt="164" ct="0" ts="1587564526104" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzMy1vUzM4c1lZTGdRRUgzQTN0a1JNN21Pd1AyLXZmSG84TSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.knEFIYSHWbBJ1xExG6luH9xReQj7GpT1LNCk_3buJxTwVDK_Y8DduC_IElEJVtbTV1BDyOqdXF6TbyTUSdGgJtzX2W-ppDWGdBXnkXCUuQ6MWmwwLOsknpqvw_fmW_cRJHiBStdkM9i6OwGoKoNNsmiU_QHrR_U8rGnPL3EJNSm7KNSSDLcMU2j_-Fnb--b48Gn3bst1GXQtc0CyVGqbi8_814zZfgcaE5u8gW4qh_ZM7xuyzQy6CcGSMTF6rmFHtnzpPq7dgqttJvnHie-PAk4-jAgSZbRwPWlCAV8NMeZK-Dau9vJ2W1hIPxjwNi8p6OrRYntIAnXhDpP1PaNsOQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGI1N2Q5NGUtZDI5Ny00YTc2LWE1NjMtNTQ1Zjc5MzYxYWE3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzMy1vUzM4c1lZTGdRRUgzQTN0a1JNN21Pd1AyLXZmSG84TSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.knEFIYSHWbBJ1xExG6luH9xReQj7GpT1LNCk_3buJxTwVDK_Y8DduC_IElEJVtbTV1BDyOqdXF6TbyTUSdGgJtzX2W-ppDWGdBXnkXCUuQ6MWmwwLOsknpqvw_fmW_cRJHiBStdkM9i6OwGoKoNNsmiU_QHrR_U8rGnPL3EJNSm7KNSSDLcMU2j_-Fnb--b48Gn3bst1GXQtc0CyVGqbi8_814zZfgcaE5u8gW4qh_ZM7xuyzQy6CcGSMTF6rmFHtnzpPq7dgqttJvnHie-PAk4-jAgSZbRwPWlCAV8NMeZK-Dau9vJ2W1hIPxjwNi8p6OrRYntIAnXhDpP1PaNsOQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="267" it="0" lt="260" ct="0" ts="1587564526004" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzViNTVlNDItNDBkYi00MmUyLTkwNjEtMGU5YzE0Y2RmNDA2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyNC11SVE0Y05XMng2RmVKNEN6UXhMelNIMDd1OWZTeGF4VSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KasoQiLywk0llsrgaKuRcqt_3Oj1ym3OrBqo_tkaQWJuujEK5rAe6RTW6iFDw-O4FzukxUiaMbmDNqKUqgP2AaS3wjFceGLlNkW9cqUvm7b5M5bihHTzzPx8EtcYpfyYYgB-X1f9Wz6KCvWOUzzCPY_QgVrDPtLzXeyFNPxunDKpz8EOvluQZjvMBxC71V1GF0SIcIf02B1rA0_Q2brQug2dcC3CQVwbWEk9TiMJ9QAMjnqhE7i13da64Mk3WAYFOMf5o1wgOGBiQufqkQmh5627JkHasQb4ZureRIHIP6xRB54-tS7VGi7H9HdZv6uMc3eaEio3UsR3JU6pm2XiyQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NWNiOGQ3ZjEtN2NmOS00ZTZlLWEzZGMtOGQ4NmZmZWVmMjg2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="53" it="0" lt="53" ct="0" ts="1587564526218" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4MS1PY3Q4bXpBdHR0QjIwQXFhME5ESGZiTWFuT3dHdi1xYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.k047iS06Qa-4FgSV8adWyXijrF7JJ7aEOqparqmoj5fMzYtb8eR0vppK4Ea77H4nPzyN94gMZljJrYYOLbXy5hzu64ikoJrzcLj1gZYuI7RpbyFDeBCikzroTn5yqbOZKmzQlxniWLuQmNrdFm4E_VMEB9-kPfZFPZoiYKz08splTZCKLvz9eUx94kB2XO90xiCPEXn1C9S2SJHJXc9xuUlf2S9KBSp91euGqOLjQn1FRC-KdxGB0o66pBZkiCcO3LdWRwlUXnhEqPlvR8Hiv-CxfRgj-eBYQcF55d8zwSgaV1MzqjN8wReWC1dfowkdSfk0DKhXasJZpf1qj814FA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTZhNTk4MDAtNzg4ZS00MTI3LWExMjgtNTFjNTE5NjIwMjcw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4MS1PY3Q4bXpBdHR0QjIwQXFhME5ESGZiTWFuT3dHdi1xYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.k047iS06Qa-4FgSV8adWyXijrF7JJ7aEOqparqmoj5fMzYtb8eR0vppK4Ea77H4nPzyN94gMZljJrYYOLbXy5hzu64ikoJrzcLj1gZYuI7RpbyFDeBCikzroTn5yqbOZKmzQlxniWLuQmNrdFm4E_VMEB9-kPfZFPZoiYKz08splTZCKLvz9eUx94kB2XO90xiCPEXn1C9S2SJHJXc9xuUlf2S9KBSp91euGqOLjQn1FRC-KdxGB0o66pBZkiCcO3LdWRwlUXnhEqPlvR8Hiv-CxfRgj-eBYQcF55d8zwSgaV1MzqjN8wReWC1dfowkdSfk0DKhXasJZpf1qj814FA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="287" it="0" lt="279" ct="0" ts="1587564525985" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-81" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTU5MWFiNDEtOTdkYS00NDRiLTg2MGUtOTliMTI3YWU4Y2M3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3NC1Jc3VIbGlvcGEtRE8xVzhPcml0NHhXNnoyeFAxak1TcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.s1ojuBK_S-ldSZKam04gBE5vNatB2aBBTKas3XQ8R6u-2IzqgEi-uhOPiucz8BPf1zeZrta1KvZIqsra_JQMMezayqiDkA4sjaR39T_BaQvBomtpj_xQ9MWsX9wNtWUmzJ1ML561-BkshSTzhmnLyV2rXHrB2uA5buRoQQ6lAcRdpuDs0TstIz6MV35vPiGQTnqR3qBSBHRJTIifiRORS3XSFCA7uD0bhv3Fo2kamiyto2ay4pKxWchyjkmNwSj7E41XA1N81ziDExGql55ilyzRwZmAitR4QI3Op1Qpg5rpoeFLQbAaYrgUvbmkoI7y0wJMJu6cYdzXu-VRLJS7FA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWViYWNmNmEtZTE2Zi00MmE3LWE1NjEtN2MwOTIyZjllZjUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="307" it="0" lt="298" ct="0" ts="1587564525966" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGUwZjZmZGEtY2Y2ZC00ZDk5LThhMjUtNmMzOGExNjhjMzNl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1Ny1XNThHazcxMUNWZWtlSHR2VWotQUV4TVRuN1lUZG5HZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aSkai2CLtibF5x5tMAitMZoOy7XszJdjQn5J_38l_iD1qokpbsFXRQkewM4y9J_8UgOdnJEgqF51GglNrrwiquCOJ9RzJdCoGf9lEeTd53_Bgzw2LM9gI7hEqJeg_dOsAI120aeIp-grWA-PvtFxgTqAK7gOamN93pSQB1nTuM1QBuS4iNiggoENF_JvF5Xi_AgkpsA9H6RqGnh8YD3JzdiB0cWpCg4xU-FPKNVIWk4jB3mtszETnI-3bpiwYWgwArgHNZU8LVkm2oJ04_1aKbioah7wmr7rcD3V8_WV2zJi6YHX2Epfqxq9ktiWWWw7dU-pYyhflzebL9s_GxziMg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MmVjZTM0OWItNTk3MC00MjhmLWFkNDktYmEyZGYyMWU2ZjBi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="299" it="0" lt="288" ct="0" ts="1587564525976" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-56" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzUwNWM3YTktNWNiNy00ZGFjLWFmNGMtZTVhZmE0NzU3NGE0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyNy10bkFnYmlhOWQ4N29QZ3VGcFpIN09Jbzg2MXlSLVVELSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PH9Vi6bxDhheZ6Ajz715s8v60jzYgXIkA1XCDSWeAAxjGRMZuor1ZZcF0ZNh2v5fQLi0Jusr1z8KRYHBxRRqHIAB3dKrZN1AGbD7FZBu15KG_x8NSoeg96NhjheFNutHFzWcF-SLUpwOAs1F4nFMZgtW8aQUU6AnwwCn9JzpOM93jQMcKv5G7p8uY0eBnezJfr6N_QG3wGOZr6i6y9uIQXzgTIXWRxiAtTtcUYEUE1SK1UlTJLo-yjFIqctdgXdkA-F5WlezKv8kB0N7B__sLo4Dq_hh2mDNW-HiQOdgb_8wQWiraZ-7Wr96QHR-Ky1hc1VjgRkvmSB9IYh07B8E7A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YWFkOGU1MWQtY2Q4Ny00OGYzLWFiNmMtYjIxYjIyYWI5ZTkz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="317" it="0" lt="317" ct="2" ts="1587564525959" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mzk1ZjFhYWItZjU0MC00OTQ5LWEyZjEtYTk2NTQ1ZmJjZjEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3905" it="0" lt="3905" ct="12" ts="1587564522371" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTM0MjAyZTQtOGIxNi00MTdjLTk0ZDItZTQ3NjZjYzYyNjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1711-SSiWwDpF4rV-KrhhDLH9HWZlZnUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3899" it="0" lt="3899" ct="1" ts="1587564522377" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmVmZjBlNmItYWRlZC00MmQ1LWJiOGMtZjdmYjEwNWJlYzJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1674-sMrkbhsRbsRpw8NYN8t91TaRh4wc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1697" it="0" lt="1697" ct="1" ts="1587564524580" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDFhNTNiOTAtMzY5NS00NTdkLWE1YWMtYjJiNGM0ZjNhYzg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1671-X-bqAKX-3jqcjaBg147t6e56NI4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8454" it="0" lt="8454" ct="3" ts="1587564517824" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODM3MjY0YjgtYjBlOC00YzkzLWFjNjAtOGZlNzU4ZThhYzZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1647-JJPoh8msGSDT3rMVpo-NZOzCJwgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="310" it="0" lt="310" ct="3" ts="1587564525968" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDVmOTJiNTktNmIxOC00NTQ4LWJmYTUtNWU1YTVhYzk2NWY1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3912" it="0" lt="3912" ct="15" ts="1587564522366" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzcxMzdjYzgtYmE4Mi00NWU4LWI4YjYtNDcwMGUxMWIyY2U3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1661-JwvI7jhh9D5VIQTnqPGoP4-UMnQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3910" it="0" lt="3910" ct="9" ts="1587564522368" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjAxNTk3ZGItMzNhMy00MjQ5LThiYzgtN2ZmZDdiODhhYjVj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1687-nTxO-1N-xa6UEyNxZOHW5dyX5occ7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="323" it="0" lt="323" ct="5" ts="1587564525956" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWFhMTBhYTUtMDM0ZS00ZTZhLTlkMDktMzY2ODQ4M2NmMTky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1712-QM-V1Q-E13vVYFgDtuvbQv2S-ZMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="309" it="0" lt="309" ct="1" ts="1587564525970" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTlhM2U0MTgtYmY1Mi00NDJlLWFjMDctN2RkZTMxNmJmOGRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3916" it="0" lt="3916" ct="14" ts="1587564522364" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2QxZjUzNjctMWFkYi00ZjM1LWE4ZTktYWY1Njk2MGIxMzc4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1694-LivK5uDN3cclk33Ob5cru-5Jf4Uc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3911" it="0" lt="3911" ct="7" ts="1587564522370" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTYyM2FhYzYtMGZmZS00MmE0LTg5OWEtZTMwNDkxMWMzNDY1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1670-BRJTN2ctxxRFmeESMeKiv5Z42bgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="73" it="0" lt="73" ct="1" ts="1587564526209" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTUyMjMyNWYtMTQxYS00ZDA5LWIxZDYtNWRmNjBmMzJjZDU5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="185" it="0" lt="171" ct="0" ts="1587564526097" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-53" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzIwNThhMDAtMmQ0Ni00N2UwLWFmMmMtOWUwYjIxZGQ4NTM2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2NC1mVTFUcy1jc1N0U3lpbTZzRmZtbTlUSjhObVBNRjFBdiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lPmDVdRbClcOc12D1hxcYxmS_xbi6GGdLztNz22Jo2X4SvYA21RqdT2deBiCDZV_MkK6Z_dBOHYfFtl20UXi4hL1f5-AEd8h8hxTNFD-U7MBH4yXUOd9Ko3DM1ja6OlJvXSW_YU5d8KgW2JfjF-GXnvZ1dFOzwkZAZ6anfIFw4i9PBeR1xZkC6GBwNFxNDZPt3tDM6c71-383uJfO2bd_54TAwWM7igRE0hsGbBvXB6cN5X5m2CjGqDBgqmiG3VQBzsjMSMOCL9IOtp2uK9Im_5bq6NknjcOQVTrHG3H_2VSQgkuubHDSc0rFT01qmzw97ISBbUpaytAI0v8PXlD-w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MWViOTRkZWItZjA2My00NjdjLWI5MmUtNGMxNDVjNGNiNDgx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="304" it="0" lt="304" ct="2" ts="1587564525979" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTlmZTY1YWQtMjZhZi00MjM1LWE2YzctNjY3MWJmM2ExYjFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3916" it="0" lt="3916" ct="16" ts="1587564522366" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzVjNjZlZjUtN2EyNC00NjQ5LTlkOTMtM2Q3MjFhYWNjYTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1683-7rurFuFia5zFXiqyqjo2UNfY-LMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="73" it="0" lt="73" ct="1" ts="1587564526210" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTRlMGRhMjItYmFlYi00NmQ4LTk0NmEtYTM4ZjEwMmU4YjYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="853" it="0" lt="853" ct="1" ts="1587564525431" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzRhNTkzMTEtZmNkYS00ZjA3LTlmMjYtM2EyZTZiN2IyMzZi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1703-jONGFgi05fqpTX7uPlpTbkHYdOYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3905" it="0" lt="3905" ct="4" ts="1587564522378" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDMyOTA4YzctNjc0OC00Mzc2LWI4ZmQtYzQxYmFhZjZhMWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1695-cLcmNr1okH7M06Rjb0HK8iqBhPYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3915" it="0" lt="3915" ct="8" ts="1587564522369" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjcwYjlhZTYtYWI3MC00MDk1LWIwZTUtNWQyMzEzYmJiYTNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1708-AJm6QjE-bfpFRn0cVgVsFpI9y6Uc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3904" it="0" lt="3904" ct="2" ts="1587564522380" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTg5YzNlYWEtMTE5Ny00NTI5LWFjNjctNWFjNDFhZWM0MTBh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1696-pKSdXqVGXmouA5FJtmQdwLq4bLcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3909" it="0" lt="3909" ct="1" ts="1587564522375" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGVmOWQwNmYtZGNmZi00ZDAxLWI3ZWUtMzhjZTE0ZGUzNWM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1662-b5ruqnVGBos-Ng-jL-KCw8J-or8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3917" it="0" lt="3917" ct="13" ts="1587564522368" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWI3YmQ3YWUtZWFlYi00YzkwLThmMDktMzQzNWViNDk5ZjM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1692-ZQCODqAY-g3GRMDaMHYEwCxcsGgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3911" it="0" lt="3911" ct="3" ts="1587564522374" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzgyOGJkZmMtMzc5ZC00OGQzLTg0NGEtMzRhYWFiNTA5MGZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1698-e5mVLYztbzIKBBmz6LZ4qqozJs4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3904" it="0" lt="3904" ct="2" ts="1587564522381" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDc4MjgxMzItZDYzNi00NWQ4LWEyMmEtZjA0MWU5YjljNjI3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1684-7X4nPLkPIg-ccDlA9qPyukemlP4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8462" it="0" lt="8462" ct="1" ts="1587564517825" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzhmN2NkMzctMmEyNy00NGFjLThiYTMtNTg5MWNhNTFkMjYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1631-5zX1PSA0OtmdB4dHGbZBq2f1ShQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3908" it="0" lt="3908" ct="3" ts="1587564522378" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjBkMWQ0YjItMmFmYi00YWY5LTgyZmMtZWVlMDgzNzUxZjYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1673-qy-oi22XEK3R1fz7fgIhWwQa-fAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3905" it="0" lt="3905" ct="1" ts="1587564522381" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDVhNTZkMTMtZGQ1ZS00MzkxLTg5MzQtNTI0M2NmMDI5YzU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1700--b2irr7OvuQVg1afSqkd2rQbSOsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="837" it="0" lt="837" ct="1" ts="1587564525451" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWFmOGVkZGUtN2U1MC00ZDgxLWIzODktNTc2YzI3ODcwYTVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1706--8b20vwKT-g-iBS6SxC536AN-ewc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="66" it="0" lt="66" ct="0" ts="1587564526222" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyNi1PUjU2TUNpOC1ZQVotSjBNTE1nWWlvcE9qUHltOGlTTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Kd0hiVTXbESw-oeaPBPrrbabPHEslth7vKBzTNqCzT4zGQhveBmngOEZ5gBg3s4vqmUHU4DPkbd65Y7N-tg40Hpq-z4AyT41mPoynHh2gdNfjirWnR0A9_5RqJW9rzSB8GaaMhzrIrJbCVWLEaOqWMCXK8PWC2yXptNH6ea-ETkkHKcP92w-Ds52sr2gphB-D4Pv32Qkd3llluMCWhCWOfWzN81xm36I1RLnjMVXnD3NrJNWwL4D69jnKGdHSBudG0ND9bo-eovG-FhsYmUovSWke7Hg8YIyQythvWW1PItERrnXaf8-K_pCx-mp0WZvirGnUnWiy4iviX9RZCCZKA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTU3NmU4MTAtZmJjNi00OGNlLWI4ZGYtYTVmN2MwMjExN2U1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyNi1PUjU2TUNpOC1ZQVotSjBNTE1nWWlvcE9qUHltOGlTTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Kd0hiVTXbESw-oeaPBPrrbabPHEslth7vKBzTNqCzT4zGQhveBmngOEZ5gBg3s4vqmUHU4DPkbd65Y7N-tg40Hpq-z4AyT41mPoynHh2gdNfjirWnR0A9_5RqJW9rzSB8GaaMhzrIrJbCVWLEaOqWMCXK8PWC2yXptNH6ea-ETkkHKcP92w-Ds52sr2gphB-D4Pv32Qkd3llluMCWhCWOfWzN81xm36I1RLnjMVXnD3NrJNWwL4D69jnKGdHSBudG0ND9bo-eovG-FhsYmUovSWke7Hg8YIyQythvWW1PItERrnXaf8-K_pCx-mp0WZvirGnUnWiy4iviX9RZCCZKA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3916" it="0" lt="3916" ct="11" ts="1587564522371" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzBkOTZjNmUtNzQ2YS00NWRiLTg0MzQtNjVlNGFmZTJkYmVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1697-z-O-Qhls-XqNPbcEgPYvK2o6tB4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="61" it="0" lt="61" ct="0" ts="1587564526228" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTM0MS1zNUk3dkRBbHdRQzZieldTVXlJaFQwUHY1RkQwVURqSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UHQvMaeXbaHaqw93hfVQ8Kv1CMBIPb4J74T-sn0Bc_DLRykkYRwHC-E8o3x4ZmiaPda8_vozSxpH0IaCKdTNyA20trlg4ebxriE7she7LFmXf5Xw50KUQOX7Cd_WNNf1YgeRcAmFjQaVx5y9gNiPS4ZWds-nEBvnqyte53pR75HsV1hOIrwac-CummrSN0xMVpq9LH6o3fWkCz7R1dPzu6SLXNQlUTSwahJmuCqXSYKo4BlpRFfYBu3clFOnYcHPaDABgzEMVZFL2b0IBnSK5pKUZ-34jIRn7XpFqIJDeQlJbwFLM3pDXXCy6XZR1LpVj6Ppb4L0-91GnonMPmtg9Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODBhOTNkMTMtNTc1OS00ZDkxLTg5OWUtMTUwOTkwY2JmYmZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTM0MS1zNUk3dkRBbHdRQzZieldTVXlJaFQwUHY1RkQwVURqSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UHQvMaeXbaHaqw93hfVQ8Kv1CMBIPb4J74T-sn0Bc_DLRykkYRwHC-E8o3x4ZmiaPda8_vozSxpH0IaCKdTNyA20trlg4ebxriE7she7LFmXf5Xw50KUQOX7Cd_WNNf1YgeRcAmFjQaVx5y9gNiPS4ZWds-nEBvnqyte53pR75HsV1hOIrwac-CummrSN0xMVpq9LH6o3fWkCz7R1dPzu6SLXNQlUTSwahJmuCqXSYKo4BlpRFfYBu3clFOnYcHPaDABgzEMVZFL2b0IBnSK5pKUZ-34jIRn7XpFqIJDeQlJbwFLM3pDXXCy6XZR1LpVj6Ppb4L0-91GnonMPmtg9Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3917" it="0" lt="3917" ct="11" ts="1587564522370" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWFhZTdkZDItMmFmMy00MGM1LTg2ZjAtYmZhZjQzNTlmYmE0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1689-KaoC1-M44dAvAWg-olq1-S6-mGQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3911" it="0" lt="3911" ct="2" ts="1587564522377" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2NmMzI4MWQtYjQ5Yy00OTk0LTkxZjUtNmNjZjVlZDIwMmUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1679-C3cL9QBe9HI6GdQ-Grehrphe6DIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="288" it="0" lt="288" ct="0" ts="1587564526002" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2I0MWJhY2MtMzhiYi00NmUxLWEyNTctMzAxOGNiM2JjNGI2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8417" it="0" lt="8417" ct="0" ts="1587564517873" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjFjOTIzNzYtNzk1Ni00YTJiLWI5NjItY2Y0YWVjYmE2YzFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1663-FyNoTRLDltQaLcimaMmdA4KJQHgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3911" it="0" lt="3911" ct="1" ts="1587564522378" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTliNGNlZWQtYWVlNS00M2FmLWJjYjktMzA3Nzc2Njk0YmJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1702-G59H-3kgSMWrd-zuSq1KcQlvwmwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="185" it="0" lt="185" ct="3" ts="1587564526106" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2NmN2VlZDUtNzQzNy00MmNkLWI0ZGItNDE1ZjhkODlkOGJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="314" it="0" lt="314" ct="1" ts="1587564525977" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmNiZTczM2UtZmYyMy00ZjhiLWJhY2EtNzY3MTJlODY5ZmM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="303" it="0" lt="303" ct="0" ts="1587564525989" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2MyMTVkZjUtNWYzYi00YWU0LWExY2QtOTg2NjkyMDc3MjY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3915" it="0" lt="3915" ct="2" ts="1587564522379" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWQ2MDA1ZDctOTc5MS00NjY1LWEzNmEtYzU5YjljYWFlNTA5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1664-f5gQybNBzKDnVCYUdC--VgEJkdoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="314" it="0" lt="292" ct="0" ts="1587564525981" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-40" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDUwNzhlNjUtNTcxMS00YWFjLTlkZDAtYTc2NjdmNzQ5ZjQ4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1OS1od1NWZy1ZRm9yYW9LRzNOSGZkVUlzaGw3clJ6SnFaZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZRLnTX1DpjyeiEwyS9FhQMaGZRNIckiJCWkEDWxF5-v0YZWz9UQa8npKA6yEXc_YUWkTzSuIqJZPoawRpQIGtcHvZipBJVndYrxzsr-bSpbO0Ci7epJ2fs9oJdeZILYxrhB2-T7SVZ3Ic--9vEw8OB70q4QHTAiV_4y-cksWnuybLVGIM5GKMIc_7zdvXdhCJSDVl_qemyFNpg-sO_heYPJ5mSRrvYNNLr_iR0iEMm5p_7UHpHNxJPbzOAve1Qr4PyUEsriBKAr65RmQUlghT3xrLgVc8mUuAjwAOLih39YNdKe5sq_MW0kZKzU4lyp0cNUX0uFu51HxWk21GnIExw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTI2YzE2YzgtMGFkOC00ZDM5LThmYjAtNTg1N2E5YWRkNTA3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="318" it="0" lt="318" ct="1" ts="1587564525978" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDVmMDlkMDQtYTE2MS00NjhlLWIwNTEtZGE5ZGM1NDJiMmI4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="318" it="0" lt="318" ct="1" ts="1587564525978" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTE4Yzc3NjItODdkMS00NzVjLTk1ZmQtN2EwNWVjNTI0N2Nh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="299" it="0" lt="299" ct="1" ts="1587564526000" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmQ2Yjc4YTctMzk2YS00MGZkLWFiMjktY2YzMDAyZTA2Mjc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="319" it="0" lt="319" ct="1" ts="1587564525981" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTdmNDQ0ZjktYzk5ZC00YTQ3LWI2Y2EtOWU4YTBlODA0ODdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="343" it="0" lt="343" ct="2" ts="1587564525957" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQxMDBhMGEtM2Q2NC00YWE1LTlkYTAtZjQzZmM2NTczZTVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="334" it="0" lt="334" ct="3" ts="1587564525967" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGNlZGRlM2MtNzYwYS00OWJiLTlkOGQtZDdmODVmOTczZmUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="327" it="0" lt="327" ct="2" ts="1587564525974" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzkxOTBlNDEtMDJhMi00ZTU4LWE3YTEtN2Y4OGYwNmEwY2M4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="341" it="0" lt="341" ct="1" ts="1587564525960" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGRmNDU0ZDMtYmI5ZS00MTBlLWJmMDctOTExYmZhZDgxNDM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="346" it="0" lt="346" ct="1" ts="1587564525956" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGE2Njk4YjEtMTFkNC00ODdmLWI3NDYtMDM2NzgwMmQyYTQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="335" it="0" lt="335" ct="1" ts="1587564525967" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzliMzViYjYtMzI4Yi00YTcwLWFhNmYtNjg2ODMwOGI3YTYz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="326" it="0" lt="295" ct="0" ts="1587564525977" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-37" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjkzYzk4MzQtYWI5Mi00MmE5LWI0MGYtMmFjMTE5ZWM3YWVi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3OC16elk2SWZ1WDg4a1FzTGY4UHZFSmZQQk1IZTVjVGxWQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.V5ahHrFgGkxJWzl-9LCIrBwlD3kGmLMq_sdG7A_514zSPci7Z45D8y4CObn5Cf7bQIR_DWB3N2_dLEUXJH0D0Oi82dKSAvStyWSDu9YJJs7c7tmrFs6Yvz8Ak3j2Dogls7UKkSZBoJ6TtRqOUqxzBI-dkRExR4VvalUm5RWTMab6ttqnl2HeaH76GP9RzNqYnxikX34HPDz70oYsZiwbNMO7pRwinSDamJ9EjQ3We8av4TjOQGFQix9dNcUZ9q6rym8oWpj7eCclYpSnk4EzAn9ysYm9r9JPaJ7Ty_txtWcZiGqSaBG-YFHAAvevkwX2VFMZ-VmC-JvfAl_dN3yuSw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTgxZjFmNzUtNzMzZi00ZWNlLWEyMjYtOGZiMzI1MTg0ZTFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="348" it="0" lt="348" ct="2" ts="1587564525966" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDRjN2E5YzYtNDQ2Ny00NmQxLTlkOGEtOWRhZTIzZmY5NTYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="76" it="0" lt="76" ct="0" ts="1587564526246" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3MC12bHZBLUJjekRJYS15NHAxUFJXSDQxY2l3dVBTRzFWYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SNMl-7IkH8Ctj5UVJdlWgipFu9VL1C9P6PJ0BD4FquWAKcHDaQDMU1Bks_fcPg3MiIVAWVSO6DxVVQRzUWRDjUmC6xG1S4it84b0RYP01DO-a7z0YsTh54AAyzRBIUPZzvkSFNhLvMVTfRSiuVM1xQDJo5REYVXeG3E9PlYNAMipoeqFSV5PK1yqARVhp9_OjjGkIR7OrlqBXYnaP7Gd69ywghKdrChnBeymtLFyFGUsTJS5qw6Ua7yhpJ9b73lYXvlU4wenIgmPnQ6P_xlTA_yfH1WpbTDQjEdTNWCg6UN3UpIxEhCbcgPNcMXUje0S_E5nOsw8I7S4qitRX9XmkQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWNlNjY5NTEtMzljNi00Y2Y2LWIwNTEtOTQ4MmUzYzdlY2E5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3MC12bHZBLUJjekRJYS15NHAxUFJXSDQxY2l3dVBTRzFWYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SNMl-7IkH8Ctj5UVJdlWgipFu9VL1C9P6PJ0BD4FquWAKcHDaQDMU1Bks_fcPg3MiIVAWVSO6DxVVQRzUWRDjUmC6xG1S4it84b0RYP01DO-a7z0YsTh54AAyzRBIUPZzvkSFNhLvMVTfRSiuVM1xQDJo5REYVXeG3E9PlYNAMipoeqFSV5PK1yqARVhp9_OjjGkIR7OrlqBXYnaP7Gd69ywghKdrChnBeymtLFyFGUsTJS5qw6Ua7yhpJ9b73lYXvlU4wenIgmPnQ6P_xlTA_yfH1WpbTDQjEdTNWCg6UN3UpIxEhCbcgPNcMXUje0S_E5nOsw8I7S4qitRX9XmkQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="78" it="0" lt="78" ct="0" ts="1587564526245" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1Ni1SSEVlYTY1c3RHa0N3WjIzNUVOblhNOFljRjRNd00tZSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LaWTrAeorFrLJBP4yzYBOfFr-R2q4I0FGV_VShoRjxhIKgxTXsQrRUKZ5i0GHjs0puGDUT3bP3v3pg5KgV0jVjRyP5FsZiSgtUgdsiEefKTRON73o8gOslrzDhovtYN42llNZBdJ1dUwmaVVt7hmF1rzeYtSz5-Kodvog7TsduVM35-rPkvuZxYMwrnz3YCUpLLGLf6caPGAFRGSKLIYP7xQ9B-bejDqUiwFsJJ2kdtITFKgrmBEemEXHgfGq2eurMFKFTI40pZMDWQ3wNAHTj9kDlOfFE-vIGXaGrIjgZ94pAZDqeuaUG3504FrJpiUvA_qrbId0Gx03R9-x-8_Bw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjNkZTkwZjUtYWVhZS00OTlhLWJhZGMtY2I5ZWMzYWFmNGVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1Ni1SSEVlYTY1c3RHa0N3WjIzNUVOblhNOFljRjRNd00tZSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LaWTrAeorFrLJBP4yzYBOfFr-R2q4I0FGV_VShoRjxhIKgxTXsQrRUKZ5i0GHjs0puGDUT3bP3v3pg5KgV0jVjRyP5FsZiSgtUgdsiEefKTRON73o8gOslrzDhovtYN42llNZBdJ1dUwmaVVt7hmF1rzeYtSz5-Kodvog7TsduVM35-rPkvuZxYMwrnz3YCUpLLGLf6caPGAFRGSKLIYP7xQ9B-bejDqUiwFsJJ2kdtITFKgrmBEemEXHgfGq2eurMFKFTI40pZMDWQ3wNAHTj9kDlOfFE-vIGXaGrIjgZ94pAZDqeuaUG3504FrJpiUvA_qrbId0Gx03R9-x-8_Bw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="78" it="0" lt="78" ct="0" ts="1587564526245" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2Mi1RUmhvd2w1RDIwTU1vLWk4dGF2YnYyODNCUXk1cUZpYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.mgu6FMUpWIAvD9Xmb_s8ShG6IVMMcAaqMdOPdlwkzep0FoHH1BcNzUS0_o9-56u5PMzBdiuuPo-4ZzOVXkuh-jfaK01nt0d-fq0lscleblwER7vN4t1Oc7oP1ZQPfag9FpH-IU9qsY5M0GolJqGzeoIjX4uh-zYbq8aEcrjyjqzpBERtW_ayZxfOKDeSzyJ-2O5Io2uHBc8iJ_aTMRQ1fqHzMCiZJh2aVCY7LBJnwBpFT-8STE-gC4Pie-VsM6OrjMcoaGXYi6aq-4rQ1UL3tEuAJcr73UAzv1AsLQBFm854S-x-5SR2bxThCbi4T_d2ZHnpXLr0okwXF6ALqjCeSg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzlhOTM5YzgtMDkzMy00OWViLTk3ODAtMjQ2OGUxZjE2MDg4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2Mi1RUmhvd2w1RDIwTU1vLWk4dGF2YnYyODNCUXk1cUZpYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.mgu6FMUpWIAvD9Xmb_s8ShG6IVMMcAaqMdOPdlwkzep0FoHH1BcNzUS0_o9-56u5PMzBdiuuPo-4ZzOVXkuh-jfaK01nt0d-fq0lscleblwER7vN4t1Oc7oP1ZQPfag9FpH-IU9qsY5M0GolJqGzeoIjX4uh-zYbq8aEcrjyjqzpBERtW_ayZxfOKDeSzyJ-2O5Io2uHBc8iJ_aTMRQ1fqHzMCiZJh2aVCY7LBJnwBpFT-8STE-gC4Pie-VsM6OrjMcoaGXYi6aq-4rQ1UL3tEuAJcr73UAzv1AsLQBFm854S-x-5SR2bxThCbi4T_d2ZHnpXLr0okwXF6ALqjCeSg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="76" it="0" lt="76" ct="0" ts="1587564526247" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwMy1KQU0wTGgxNURILTB4cWZheHJHNmwxLS1BY1RzWllRQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ALouYD9AkWfwDs25oqM_4Aalf1IEL9vizw87DgUlp-JPczoiOk8gqQulskeogIRGJCpnrwB0iZLOq9Om992a0G1LbdtCb0WBSnbGjoqqn47uIWCDKp61C_id-lbDd_UbIKFmefrHROFFguLHovE8EjiPtyi9qk7qzbUXJJiMkPlC2DEIhuljaC5ShtUBlUwLw_YS2px0R8OWxRilADe9n1-QM1jHh4rAkD6tPy3XkmKyNfNc_CKE8ss_L7Q7R5Bzd2lUxweymoT8uI2IUYyyIyN16fwpYLWkVFsyHT7daJbuLp-r2imUk1-HdN-KXRlR0jPT78M7Dz2OEVI5wjhdzQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGE1ZWI3MTQtOGQwZC00NzM5LWJhOGMtMmQxMjY5M2NjODMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwMy1KQU0wTGgxNURILTB4cWZheHJHNmwxLS1BY1RzWllRQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ALouYD9AkWfwDs25oqM_4Aalf1IEL9vizw87DgUlp-JPczoiOk8gqQulskeogIRGJCpnrwB0iZLOq9Om992a0G1LbdtCb0WBSnbGjoqqn47uIWCDKp61C_id-lbDd_UbIKFmefrHROFFguLHovE8EjiPtyi9qk7qzbUXJJiMkPlC2DEIhuljaC5ShtUBlUwLw_YS2px0R8OWxRilADe9n1-QM1jHh4rAkD6tPy3XkmKyNfNc_CKE8ss_L7Q7R5Bzd2lUxweymoT8uI2IUYyyIyN16fwpYLWkVFsyHT7daJbuLp-r2imUk1-HdN-KXRlR0jPT78M7Dz2OEVI5wjhdzQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="87" it="0" lt="87" ct="0" ts="1587564526237" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0My1GRzBxVzJpcThQOE1WS3c4U3NVMEIzVVNxWDhnUnlEaCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jcrIZfLRwesGHz9Faml1TvCzdymNofQ0qHa8ysOPy4kvVSZhr_AdcFMfipaJzRoAUFF9lct-fg7YvJnDviesjnPBDMga6fn0-gbixRlf3y80e5pD02KfENdKzcIYxZDsVorbXPZja_fFLlQr_kw1OKaADuDjWlRzMEyuSO9x-UhnpIFoR8b-MqP2GPptK0xRMORgnUYjzTWNs9ofW-7cQqTbDdP-kE9A68GXFNUzgwHHjJiAmYbWVNRVBDtvK4q_4BD_TlGGmYqKV2ZkkEPG9pWeOa9a8jTJZWf9_5ObUMnZkj2JJNMT6KcCztgYZEfDyNkyh8M6bowgKwNf9wJBUg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTQ1ODdjNTYtZDNiYS00ZTg1LWIxYzEtODk1OGVkYTE3YTY5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0My1GRzBxVzJpcThQOE1WS3c4U3NVMEIzVVNxWDhnUnlEaCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jcrIZfLRwesGHz9Faml1TvCzdymNofQ0qHa8ysOPy4kvVSZhr_AdcFMfipaJzRoAUFF9lct-fg7YvJnDviesjnPBDMga6fn0-gbixRlf3y80e5pD02KfENdKzcIYxZDsVorbXPZja_fFLlQr_kw1OKaADuDjWlRzMEyuSO9x-UhnpIFoR8b-MqP2GPptK0xRMORgnUYjzTWNs9ofW-7cQqTbDdP-kE9A68GXFNUzgwHHjJiAmYbWVNRVBDtvK4q_4BD_TlGGmYqKV2ZkkEPG9pWeOa9a8jTJZWf9_5ObUMnZkj2JJNMT6KcCztgYZEfDyNkyh8M6bowgKwNf9wJBUg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="91" it="0" lt="91" ct="0" ts="1587564526234" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2My0tTllHWWx0bVFKRDZqREVSZjFlY2xHNzJlSVpuNk5RWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YSilc248U3S6ypNYNj6ydKyt07V0gOXAyFt5TGhWMZNRKdT5K5Powb0WKY6sGGgaNdeo7N9rX1zf0pA061d_llxaa4hufEduF5hjn4GMhjBZdqXu8I3ZMbZhxpj0SxQ6xjVUyLeGvzO-3narRcNBx0x64prvlDbv8uE5BYAn0iPr3flgdqkh1XOOZC8jFRyn6jQHk8c_HxNi8qHXhi_Xn0H33OK1Ug_50O5GCfRKuymc6YosKltIl2M1qPsEHmBPoYPmFYCp99cG2L3EAGZUf7v5EMT2hk6qdfM-E21ysKCsATUd_HtjwmebDUQG5pTZlHEC3hII6jZPYdrG56PmZQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjgzODU3ZjgtYTAwZi00NzRiLWI2NDktZTBlYjAzNTNiMDFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2My0tTllHWWx0bVFKRDZqREVSZjFlY2xHNzJlSVpuNk5RWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YSilc248U3S6ypNYNj6ydKyt07V0gOXAyFt5TGhWMZNRKdT5K5Powb0WKY6sGGgaNdeo7N9rX1zf0pA061d_llxaa4hufEduF5hjn4GMhjBZdqXu8I3ZMbZhxpj0SxQ6xjVUyLeGvzO-3narRcNBx0x64prvlDbv8uE5BYAn0iPr3flgdqkh1XOOZC8jFRyn6jQHk8c_HxNi8qHXhi_Xn0H33OK1Ug_50O5GCfRKuymc6YosKltIl2M1qPsEHmBPoYPmFYCp99cG2L3EAGZUf7v5EMT2hk6qdfM-E21ysKCsATUd_HtjwmebDUQG5pTZlHEC3hII6jZPYdrG56PmZQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="92" it="0" lt="92" ct="0" ts="1587564526234" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0NS1BUDJwRUdSdEZKNXZ2YmFqSXg3c21NZVRNUkk5YUtmVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NGXsUU_qeElQEx_L2UfaWG-fFT87IuIReKeFlEw02fAbpqXYrq_uuOdJPoJp8KVN_WAmq1mcKyYaSYRnFp98bs47EpEMoKdeqJpJN2lwTDh99houzrK5nf59tBw-3nZHIbk-t5amsn3A0Sy7w7-H3t1KxcU03TU5ToI0zGJbumIoYDhd7hiMSy1dRlmfDulmHiixMM9klJu4HrHvFk-R8e_E455kabNp33_7_eogNwQ5Vv2FAWNGd4TyU-d6hTEgzrBR9VrqxcGWYHdFWlcnh9Stae_inCizXTzwgGk4eqiNfj1UDrsMKTkr3frK0-4Qvc1Ry_Ll7HkkIMr0cQWZbA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWE4Y2M4YjctYTk4NC00ZDcyLWJjMTYtNzFjYWQxYTYwMTc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0NS1BUDJwRUdSdEZKNXZ2YmFqSXg3c21NZVRNUkk5YUtmVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NGXsUU_qeElQEx_L2UfaWG-fFT87IuIReKeFlEw02fAbpqXYrq_uuOdJPoJp8KVN_WAmq1mcKyYaSYRnFp98bs47EpEMoKdeqJpJN2lwTDh99houzrK5nf59tBw-3nZHIbk-t5amsn3A0Sy7w7-H3t1KxcU03TU5ToI0zGJbumIoYDhd7hiMSy1dRlmfDulmHiixMM9klJu4HrHvFk-R8e_E455kabNp33_7_eogNwQ5Vv2FAWNGd4TyU-d6hTEgzrBR9VrqxcGWYHdFWlcnh9Stae_inCizXTzwgGk4eqiNfj1UDrsMKTkr3frK0-4Qvc1Ry_Ll7HkkIMr0cQWZbA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="50" it="0" lt="50" ct="2" ts="1587564526281" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2QxZjUzNjctMWFkYi00ZjM1LWE4ZTktYWY1Njk2MGIxMzc4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="46" it="0" lt="46" ct="1" ts="1587564526285" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDMyOTA4YzctNjc0OC00Mzc2LWI4ZmQtYzQxYmFhZjZhMWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="47" it="0" lt="47" ct="2" ts="1587564526285" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTg5YzNlYWEtMTE5Ny00NTI5LWFjNjctNWFjNDFhZWM0MTBh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="56" it="0" lt="56" ct="0" ts="1587564526276" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3NS0wTU94RkRJSDgxZDdIbmlVaVhhaWtzVWFNZmVUb1dNViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YnQWfja5frq_ZOFpg30AQ5wFmiFsJ8wj-6GJ8gfX1dApSi5bdd8EweBRb93gip9BMuh7ysqmaSvImAkjPAtHPHimr-L7FYKKnA0rLr4gcC_VVofBa45-nuT_GouOAqjKlfhfw_801-_bXCER7oAZ9UMK2Uil_FcBAEQXSgGJQVbE2JcDh-9-5QjyOPbQ88o_YWvZmKke_FOYIGLpNWkRvcysMkdWi9xcODkFHyF3vZwIcFNysiU8ySh7TdZ94_ZqwUw1GRrcob_vm5OKQjCOf9yYq9XctysV3u7PcsN_ckQD8Dvow91yRUAQl6HGsxD3YOIqk1sFM8TmCyKeJGv5TA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mzk1ZjFhYWItZjU0MC00OTQ5LWEyZjEtYTk2NTQ1ZmJjZjEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3NS0wTU94RkRJSDgxZDdIbmlVaVhhaWtzVWFNZmVUb1dNViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YnQWfja5frq_ZOFpg30AQ5wFmiFsJ8wj-6GJ8gfX1dApSi5bdd8EweBRb93gip9BMuh7ysqmaSvImAkjPAtHPHimr-L7FYKKnA0rLr4gcC_VVofBa45-nuT_GouOAqjKlfhfw_801-_bXCER7oAZ9UMK2Uil_FcBAEQXSgGJQVbE2JcDh-9-5QjyOPbQ88o_YWvZmKke_FOYIGLpNWkRvcysMkdWi9xcODkFHyF3vZwIcFNysiU8ySh7TdZ94_ZqwUw1GRrcob_vm5OKQjCOf9yYq9XctysV3u7PcsN_ckQD8Dvow91yRUAQl6HGsxD3YOIqk1sFM8TmCyKeJGv5TA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="45" it="0" lt="45" ct="0" ts="1587564526288" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWFmOGVkZGUtN2U1MC00ZDgxLWIzODktNTc2YzI3ODcwYTVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="47" it="0" lt="47" ct="3" ts="1587564526286" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWI3YmQ3YWUtZWFlYi00YzkwLThmMDktMzQzNWViNDk5ZjM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="40" it="0" lt="40" ct="1" ts="1587564526295" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWQ2MDA1ZDctOTc5MS00NjY1LWEzNmEtYzU5YjljYWFlNTA5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="94" it="0" lt="94" ct="0" ts="1587564526242" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3My1kMkd4bVM5cUJRY3lNSk9VYllncWFWdFphVFRrd2ctYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LEOcxp6D5K2xj2XWg2w7BBH1pUJLSItg5UAkizCk7nynFRSR-cYHHsY7p26fcU7sGGIjNplXhrjTCXqS0fwSJKAcAswv93-mkYhDIW3a_EjiUFxVYiTjEURGmud4RLPuaMgLcMyroh3BLT8INI61LMpVam4MG8j9FeDsEzVkJ-X-BGwGbHNkg06Vo2pBxtI44C9NoN9qpSH3_zuxqw1rVJe7xHI-cXkS3tS-_qSO1sD2Bv9_Red5l1LU5lC4Ydwv0zlvUktV4PNoWVz0qqPVt7hG3YNvRDZOtzJy8Id4nkPvNS7iqVPq1l3skx5DuMziTAbPUsA1vR5PYvsaRyMBcw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWVmOTEzN2EtZWVkYi00M2FlLWE2ZmQtYWFjNGE2ZmNiMzBl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3My1kMkd4bVM5cUJRY3lNSk9VYllncWFWdFphVFRrd2ctYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LEOcxp6D5K2xj2XWg2w7BBH1pUJLSItg5UAkizCk7nynFRSR-cYHHsY7p26fcU7sGGIjNplXhrjTCXqS0fwSJKAcAswv93-mkYhDIW3a_EjiUFxVYiTjEURGmud4RLPuaMgLcMyroh3BLT8INI61LMpVam4MG8j9FeDsEzVkJ-X-BGwGbHNkg06Vo2pBxtI44C9NoN9qpSH3_zuxqw1rVJe7xHI-cXkS3tS-_qSO1sD2Bv9_Red5l1LU5lC4Ydwv0zlvUktV4PNoWVz0qqPVt7hG3YNvRDZOtzJy8Id4nkPvNS7iqVPq1l3skx5DuMziTAbPUsA1vR5PYvsaRyMBcw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="130" it="0" lt="128" ct="0" ts="1587564526217" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-11" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmI0ZjNiZTEtMTQyYy00ZDE0LTk1MTEtNzYzYzg1NTJmZTFi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzNS1xYnhpZTFrdDZrUXhwWllzajQ5VU5RSW5GVkdYdERXVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LCLJXSzQ3d6Hk1bUlBCMaOBP51O_m6E48AUN2gzW7C-IFAzP05vNuAaLSZAP0NFcoEFRrP21gqgxFERoOtosTDQ_rXaRXMRaLg1Bhw3aEw9ZG73QNjsxE6KiL6YGPlmtMem_VRKHtky_kA7uXR3g1XHusr15nf2WBWj5gnY3kO_uo82AsCsPz_J4CmiM8sJS8_loEphTwkSk08NyDLRRkJMYeUNanWaatWc7wkMDXwVTQtJxc2J24ML3s66AXQ_-WxZSh2zNi-nObX3gt7q6uipzs_KU5Yrwi3MzFR4QoDP1QcsUzU9MC0FKvLBqhkc9LnP05CJd9kSy4uqHhYQtUw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NjQ2NjVlZTktOTNhYi00ODNiLWIyYjYtMGQyYmEyMzY2ZTEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="117" it="0" lt="117" ct="0" ts="1587564526236" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyNS1LSlQ3eFNMUDU1V2x5Q3BKdjhvN2VwaVZuZy1mRDRXYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Di6z7beddcSPO5M_WiFldUs_hc5pYS7NSnBbx8mBsATBMYrzsYlNUk-XEcFKcyVbvjw93Es5vnN6lPiWxQ2MUGMlsmWb2MfaJBqaUvl5xdh53avedwIFBT4b2myHUAE1GLkECqgrXpu2TK2-e69kNTaa7UoolY_Vs2wYy_UHoC9gvuNoMvtG2iCQxKg_EuOkpW435zf3012i6gUHd-g2wYiTRKYKMWJgt3ndU3qB6X8WTQ3qyO9KHbFP1G1si5zc_M-em4kZXV4aPZeMFK8wVDNkZbUOkGEv7YV5B1w7pM08M5Z8SIHyR30jxVzoa_hEitBdbnBHdMkBeoukIlJ5Qw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDVlMzgzZmUtNjNiNi00NGZhLWE0YWYtNzY5ZWYwM2VmNzNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyNS1LSlQ3eFNMUDU1V2x5Q3BKdjhvN2VwaVZuZy1mRDRXYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Di6z7beddcSPO5M_WiFldUs_hc5pYS7NSnBbx8mBsATBMYrzsYlNUk-XEcFKcyVbvjw93Es5vnN6lPiWxQ2MUGMlsmWb2MfaJBqaUvl5xdh53avedwIFBT4b2myHUAE1GLkECqgrXpu2TK2-e69kNTaa7UoolY_Vs2wYy_UHoC9gvuNoMvtG2iCQxKg_EuOkpW435zf3012i6gUHd-g2wYiTRKYKMWJgt3ndU3qB6X8WTQ3qyO9KHbFP1G1si5zc_M-em4kZXV4aPZeMFK8wVDNkZbUOkGEv7YV5B1w7pM08M5Z8SIHyR30jxVzoa_hEitBdbnBHdMkBeoukIlJ5Qw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="109" it="0" lt="109" ct="0" ts="1587564526244" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2OS1VdUtyLU9veFR1RzZrYjd3alpkMHEtam1EcWhIdnQ2RyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WDLsfFgcWwtTMUR-ykDUBb40LLGtp_q9QuKSEleyLbLy-KdRA-NvJWWb2vd2OjUllZRI4aVYhNYywFWl3-ZTRegVnRFEvG8PjLmBTChFd2cdC1Ji92AFhPJg4DJeepJDuBtdYH66WHg4LJl1F1HT9mGQ-66W-n6KsQfRj0-gl0GurOgWWNCI-wqhhZMwI_oh860wp27BoJsMAOogGFH-Q5uQ36TdZGvFpjD3s643HQN3o-tlxZFNdwy5vRAXHOVnmCLIf2GReK5zTDRK3BP4-CW8cjdIf9ZLtAFCGBAxF8lTEpmBSeAzn6BKF5cTRP2wzANU5I-pRQfiiO21ssCdfg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGI2MGRkMWMtMmIyMS00OTg1LWFkYWYtZjQxNDMyNjVmODU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2OS1VdUtyLU9veFR1RzZrYjd3alpkMHEtam1EcWhIdnQ2RyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WDLsfFgcWwtTMUR-ykDUBb40LLGtp_q9QuKSEleyLbLy-KdRA-NvJWWb2vd2OjUllZRI4aVYhNYywFWl3-ZTRegVnRFEvG8PjLmBTChFd2cdC1Ji92AFhPJg4DJeepJDuBtdYH66WHg4LJl1F1HT9mGQ-66W-n6KsQfRj0-gl0GurOgWWNCI-wqhhZMwI_oh860wp27BoJsMAOogGFH-Q5uQ36TdZGvFpjD3s643HQN3o-tlxZFNdwy5vRAXHOVnmCLIf2GReK5zTDRK3BP4-CW8cjdIf9ZLtAFCGBAxF8lTEpmBSeAzn6BKF5cTRP2wzANU5I-pRQfiiO21ssCdfg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="77" it="0" lt="77" ct="2" ts="1587564526277" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmVmZjBlNmItYWRlZC00MmQ1LWJiOGMtZjdmYjEwNWJlYzJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="120" it="0" lt="120" ct="0" ts="1587564526234" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4Mi10OXlGd1ExTGJMdW5DbFctSDM1WGgyMEx6Qm5yajNCMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BsPG4bHVTUQnFWGRKJXhqCPXfbXxAPEb_bGXFIFjcZVm8-e0wMFpA56dbc-W1QjvhzaQULXaGPUVc3AKbwzidjwVYijyf4aS1AvPYlxF4QPUe66DkwTJ7at6EZb9mvr0agGcU04Rq1DJtkMWP9Pn524-D-tz_dGBAX4KWn083lBPcJEojOtWHXJBNtrNw4ZmMvq1byGotlqAN6qgzahSIXcHW7x_-Wvop--niQ73l_fs3yFukIug_YQeVcFMVktluz5IN8MzX6BzgxntP_3-F-1sd53j07HLPP1S-q6hz3_6wT1nNYXemgljtTZSDtn2e_tV4N7MsxM9F-E0Ql2aIQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzdjMGJiZjctOTRhMC00Yjk2LWIzMmMtNTIxYmQwNDk5ZmM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4Mi10OXlGd1ExTGJMdW5DbFctSDM1WGgyMEx6Qm5yajNCMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BsPG4bHVTUQnFWGRKJXhqCPXfbXxAPEb_bGXFIFjcZVm8-e0wMFpA56dbc-W1QjvhzaQULXaGPUVc3AKbwzidjwVYijyf4aS1AvPYlxF4QPUe66DkwTJ7at6EZb9mvr0agGcU04Rq1DJtkMWP9Pn524-D-tz_dGBAX4KWn083lBPcJEojOtWHXJBNtrNw4ZmMvq1byGotlqAN6qgzahSIXcHW7x_-Wvop--niQ73l_fs3yFukIug_YQeVcFMVktluz5IN8MzX6BzgxntP_3-F-1sd53j07HLPP1S-q6hz3_6wT1nNYXemgljtTZSDtn2e_tV4N7MsxM9F-E0Ql2aIQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="120" it="0" lt="120" ct="0" ts="1587564526235" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4My1acFlxQkFaWG5Bc0R4cUFXdGxvRmNvY0pEdmhDSjg4ZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.paQLzmqOlmIJtOf7a45D4M17dJfTHp8PpYJtayhT8s-z0gfn8LhZ9Ry957P2Rlwd7e0Jn3uRLqiGkfGRtG3xPcwe-gORMDI3XC-C4-N6shtYxTonBBkuyIZS7tWp9QzjifJNidcJ1inodOjZRu8RmhMrRR9Yi_Brci8-SxOS4rDd-C94gAez-BJuakW8wKboV5ISQJM-XwCxbYrKHLXW66C05ISAhw9hkUtXnPzpCum34Grd-gsr5CYqGG_I6Ub1ANofZAeWiJK4qWnjE3MdbfGDYaLYOBlLlhAciUuMU_g69ZaSeEer54q01mcUnvxEtcxMM26VuRrl4Bbn4BS9Hw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjFmODA1OWYtZGM5OS00Y2EyLThlOTQtYTA2ZGNkODViMWM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4My1acFlxQkFaWG5Bc0R4cUFXdGxvRmNvY0pEdmhDSjg4ZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.paQLzmqOlmIJtOf7a45D4M17dJfTHp8PpYJtayhT8s-z0gfn8LhZ9Ry957P2Rlwd7e0Jn3uRLqiGkfGRtG3xPcwe-gORMDI3XC-C4-N6shtYxTonBBkuyIZS7tWp9QzjifJNidcJ1inodOjZRu8RmhMrRR9Yi_Brci8-SxOS4rDd-C94gAez-BJuakW8wKboV5ISQJM-XwCxbYrKHLXW66C05ISAhw9hkUtXnPzpCum34Grd-gsr5CYqGG_I6Ub1ANofZAeWiJK4qWnjE3MdbfGDYaLYOBlLlhAciUuMU_g69ZaSeEer54q01mcUnvxEtcxMM26VuRrl4Bbn4BS9Hw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="65" it="0" lt="65" ct="5" ts="1587564526290" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjFjOTIzNzYtNzk1Ni00YTJiLWI5NjItY2Y0YWVjYmE2YzFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="77" it="0" lt="77" ct="0" ts="1587564526278" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDFhNTNiOTAtMzY5NS00NTdkLWE1YWMtYjJiNGM0ZjNhYzg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="73" it="0" lt="73" ct="2" ts="1587564526283" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzVjNjZlZjUtN2EyNC00NjQ5LTlkOTMtM2Q3MjFhYWNjYTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="77" it="0" lt="77" ct="0" ts="1587564526279" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzcxMzdjYzgtYmE4Mi00NWU4LWI4YjYtNDcwMGUxMWIyY2U3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="125" it="0" lt="125" ct="0" ts="1587564526232" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5MC1yS3ltV21xZ2hkZmk0azBGeVU3NldPUGVBbEFIVEdGNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OGn-c_bkLoGbpF3W9wuAMARg-LYOYZO_eLkrOMhrn5COkPDQ2w35Q6E7KDLbIOLubs_Fvz_UxIz5SBkFY_J--i4mXvcy2tA-zQyxkGHy_7RtyFc0G-Ke3txG8XmjkpAKlPqMXBrQ8c_Re7sUBMboooYLEwzzzTK3JoBarRijyNK-N3S7KT61Yu2PjPUPhNUvv0CMyQeigvXv14RLUnTGnlpIslQV_r7-JSwJWLEPoajyFv7XKBG81OmczKsYHLxk6X2lHkZHPmI3ZWUAr9POGbSJO0YV_sT29wo02KQJzJ7grvKHqrZxzROTEvKmDnLZI9Fx5IhBU9_hgvNg8fniGQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTg0MjI4ZTgtYjA4Zi00MjNiLWJhNmEtYTE1Y2FhNjNjZDZm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5MC1yS3ltV21xZ2hkZmk0azBGeVU3NldPUGVBbEFIVEdGNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OGn-c_bkLoGbpF3W9wuAMARg-LYOYZO_eLkrOMhrn5COkPDQ2w35Q6E7KDLbIOLubs_Fvz_UxIz5SBkFY_J--i4mXvcy2tA-zQyxkGHy_7RtyFc0G-Ke3txG8XmjkpAKlPqMXBrQ8c_Re7sUBMboooYLEwzzzTK3JoBarRijyNK-N3S7KT61Yu2PjPUPhNUvv0CMyQeigvXv14RLUnTGnlpIslQV_r7-JSwJWLEPoajyFv7XKBG81OmczKsYHLxk6X2lHkZHPmI3ZWUAr9POGbSJO0YV_sT29wo02KQJzJ7grvKHqrZxzROTEvKmDnLZI9Fx5IhBU9_hgvNg8fniGQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="66" it="0" lt="66" ct="4" ts="1587564526291" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTliNGNlZWQtYWVlNS00M2FmLWJjYjktMzA3Nzc2Njk0YmJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="79" it="0" lt="79" ct="1" ts="1587564526278" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODM3MjY0YjgtYjBlOC00YzkzLWFjNjAtOGZlNzU4ZThhYzZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="121" it="0" lt="121" ct="0" ts="1587564526237" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzOS1IUVE1VTlVcllVUGFybTF6V0tNcVFFeE0tOUgyUVlUNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YjHaDpTOnbjc03hLJfRBNOBt_h4Z8ja4iAKSbYr9EZxrKakguahdZlwAo6pldWf5ikKxLIoTLZhX_f1RLX6p2JLphnVdxRhTmAoiu6lmnEcKW3stXdepg2HVv-SlpasJtcX6eBh5Gei3g1gQPizKDHinbTWTwbiKMulqVfTsMBDdOPd87HVOujkLZ-tSrqycvEkQhdto4mpPuM9E0yv3OjOmi-tlTf_V0WsCKkXuevbXBRmGcjMtGuYbELloWrMagojOknHmD8z274QfjtdYlX8YhCMLkjteuF5JoeHaeYuFhDEo6V9YV0y6VhZM0KZlnPHwl6AFyHstPdKtOjzlMQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzI1ZWM1YjgtZmM3My00ZDZhLTgxNGQtMWQ4NmQ5MmE4YjZm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzOS1IUVE1VTlVcllVUGFybTF6V0tNcVFFeE0tOUgyUVlUNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YjHaDpTOnbjc03hLJfRBNOBt_h4Z8ja4iAKSbYr9EZxrKakguahdZlwAo6pldWf5ikKxLIoTLZhX_f1RLX6p2JLphnVdxRhTmAoiu6lmnEcKW3stXdepg2HVv-SlpasJtcX6eBh5Gei3g1gQPizKDHinbTWTwbiKMulqVfTsMBDdOPd87HVOujkLZ-tSrqycvEkQhdto4mpPuM9E0yv3OjOmi-tlTf_V0WsCKkXuevbXBRmGcjMtGuYbELloWrMagojOknHmD8z274QfjtdYlX8YhCMLkjteuF5JoeHaeYuFhDEo6V9YV0y6VhZM0KZlnPHwl6AFyHstPdKtOjzlMQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="80" it="0" lt="80" ct="0" ts="1587564526278" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3Mi0zakpaQlhYLWZRTE5SVVRaemNOeUpmZW1VeVJkSEV5TSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AY6D7GmODF9JNkV-SroLvIhHVMTpgj-0EY7iLLtVoD1DuIC6o-CBa0d2mzpYNr46i89ea3m5QVJAUiUm8PqR9KpXM-hp3yXExfWphssBvxSPoqc6WE-DPFRzuVRd4lpE-EJtZ38WDV__qHPaMFUIefrhSw6xkOOaH7MKiwTYefiZoWuV4USJqJ196otjbBXUDWE-loqiYVWrISdz0LVlCbal4zB-_IgtvOHVP9K9ysbRWhIuikQghlMpVLlcI2hJgBQITTAyF9nvjv4abUrmu0ssc5dA3Pxe1wTU0KH-oK259cekcfDZ9NYv_zUrAv84nVvczPCwOc0r95rbY2sSGw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDVmOTJiNTktNmIxOC00NTQ4LWJmYTUtNWU1YTVhYzk2NWY1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3Mi0zakpaQlhYLWZRTE5SVVRaemNOeUpmZW1VeVJkSEV5TSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AY6D7GmODF9JNkV-SroLvIhHVMTpgj-0EY7iLLtVoD1DuIC6o-CBa0d2mzpYNr46i89ea3m5QVJAUiUm8PqR9KpXM-hp3yXExfWphssBvxSPoqc6WE-DPFRzuVRd4lpE-EJtZ38WDV__qHPaMFUIefrhSw6xkOOaH7MKiwTYefiZoWuV4USJqJ196otjbBXUDWE-loqiYVWrISdz0LVlCbal4zB-_IgtvOHVP9K9ysbRWhIuikQghlMpVLlcI2hJgBQITTAyF9nvjv4abUrmu0ssc5dA3Pxe1wTU0KH-oK259cekcfDZ9NYv_zUrAv84nVvczPCwOc0r95rbY2sSGw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="78" it="0" lt="78" ct="0" ts="1587564526280" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWFhMTBhYTUtMDM0ZS00ZTZhLTlkMDktMzY2ODQ4M2NmMTky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="125" it="0" lt="125" ct="0" ts="1587564526233" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0Ny1NTzFvcXZPR2FYQ1Fma3VBVFRsaGNaM0JxbHhBMW1IUiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.soUDhYZq0RoSpYLASXGuYYzeLwMIp7kJm_PYCnVkybqG2o0_W8K76IH0GaTaZwbjC_2_vvC67Oa-KPdYHn16Ky_8lR1DtCDHcon3uYOTdhU-SZfdXh6sdQEp45ptQYClK3mKvTtK8TD22ejyeH40IB5xCEHwhH7QWpZ2cOVf63rejUzWGUnPJz4dLI0Y-4D0waUWN11ioIFctecmbbBhCHdIemgng-P7bTiC8cVyTVTcj4ZirTCjgwq1zxN7AFKBHl3PtR2hoxqYR5ExuHHHhw-LkPP8u0dC6vmsfbY6JbrutgI8-HLqPilYOlzQ759ZzZmv09xtAz6cwyNEmby1PA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2YyYWUwNGEtYzVhNi00NDFhLThjMjktZjViMzRjNDJhZWM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0Ny1NTzFvcXZPR2FYQ1Fma3VBVFRsaGNaM0JxbHhBMW1IUiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.soUDhYZq0RoSpYLASXGuYYzeLwMIp7kJm_PYCnVkybqG2o0_W8K76IH0GaTaZwbjC_2_vvC67Oa-KPdYHn16Ky_8lR1DtCDHcon3uYOTdhU-SZfdXh6sdQEp45ptQYClK3mKvTtK8TD22ejyeH40IB5xCEHwhH7QWpZ2cOVf63rejUzWGUnPJz4dLI0Y-4D0waUWN11ioIFctecmbbBhCHdIemgng-P7bTiC8cVyTVTcj4ZirTCjgwq1zxN7AFKBHl3PtR2hoxqYR5ExuHHHhw-LkPP8u0dC6vmsfbY6JbrutgI8-HLqPilYOlzQ759ZzZmv09xtAz6cwyNEmby1PA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="79" it="0" lt="79" ct="1" ts="1587564526280" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjAxNTk3ZGItMzNhMy00MjQ5LThiYzgtN2ZmZDdiODhhYjVj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="75" it="0" lt="75" ct="0" ts="1587564526284" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzRhNTkzMTEtZmNkYS00ZjA3LTlmMjYtM2EyZTZiN2IyMzZi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="82" it="0" lt="82" ct="2" ts="1587564526277" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTM0MjAyZTQtOGIxNi00MTdjLTk0ZDItZTQ3NjZjYzYyNjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="74" it="0" lt="74" ct="3" ts="1587564526286" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDc4MjgxMzItZDYzNi00NWQ4LWEyMmEtZjA0MWU5YjljNjI3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="74" it="0" lt="74" ct="5" ts="1587564526287" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzhmN2NkMzctMmEyNy00NGFjLThiYTMtNTg5MWNhNTFkMjYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="75" it="0" lt="75" ct="2" ts="1587564526287" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjBkMWQ0YjItMmFmYi00YWY5LTgyZmMtZWVlMDgzNzUxZjYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="128" it="0" lt="128" ct="0" ts="1587564526235" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwMS1OZFlxM0QtZ3pzT0R4am55NmFKbTYxMXN6b0NEbGxkTSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dHJMfEz4sjj_-2iW-CMLqDYcqazOs6rwUPAHAWKm8tNd-f4D3Gnqew3iFyCHWGEhkW4g5R_rJQW7f_r08rl-xVS9MgZ8k28-vnesGoUp3F85t6C3Vrx424PW6dFu-0GjJJYX8eJ_tb12zpddsj5_LlzCWAuh_hP8-JMqb5xmMrMUmuTnl4r_yhbon6BhvT97eNSTcIC3QQfB6L-Yw-Dt993j789rIjbbi1cMGlTHBfFFllX0BF-4gpf7V3xO43gW3_NAR4rhe4zwWCsWJnh1Ici6YH-bZxcASM-qlXWMHdoCSoy8-OcQFnVkuuFiFYim3uKjq6QUZBUDWHCmW4bUtA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjY1NmM5ZWMtMjYyMi00MDVjLWI5YWUtMGI1OTQ0N2FhMTRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwMS1OZFlxM0QtZ3pzT0R4am55NmFKbTYxMXN6b0NEbGxkTSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dHJMfEz4sjj_-2iW-CMLqDYcqazOs6rwUPAHAWKm8tNd-f4D3Gnqew3iFyCHWGEhkW4g5R_rJQW7f_r08rl-xVS9MgZ8k28-vnesGoUp3F85t6C3Vrx424PW6dFu-0GjJJYX8eJ_tb12zpddsj5_LlzCWAuh_hP8-JMqb5xmMrMUmuTnl4r_yhbon6BhvT97eNSTcIC3QQfB6L-Yw-Dt993j789rIjbbi1cMGlTHBfFFllX0BF-4gpf7V3xO43gW3_NAR4rhe4zwWCsWJnh1Ici6YH-bZxcASM-qlXWMHdoCSoy8-OcQFnVkuuFiFYim3uKjq6QUZBUDWHCmW4bUtA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="77" it="0" lt="77" ct="7" ts="1587564526287" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDVhNTZkMTMtZGQ1ZS00MzkxLTg5MzQtNTI0M2NmMDI5YzU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="80" it="0" lt="80" ct="0" ts="1587564526284" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5Ni1hUS1RdUcxcVBDTm1GTkozQTJpVUhmVWw5dW5zNXZlZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PJ9FEExHggYyCdhIkTKPBjX9iySX_rkireOz58ToS9A3XY1FSmjfHDbTD6KjEGkW-ptLv-0tbRx4nqW-2MoPud91Gd324z7CybC3w5TYFnDWTjlGrXUw2RhbMgiJN1QeFUYksfBpM9ClA033NCLOc2bsWunX5u4jcl7jn_xgkQvaQ1aLcWBAsxuc0f7uNRzrLqNfcWe1qDIE3_V5W2WJ8i2yYfGSiR35GOTioy1elW6AZLeqNmr-kTOaSW4V0MYe0Y3U7NOvuanC9Aob52oT0Uy28q0yNzjOsgPrPiPLpfDRJaJ4SH4YN-X0F0JtAg8Ch46vsP49nia6xxiqplbPJg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTRlMGRhMjItYmFlYi00NmQ4LTk0NmEtYTM4ZjEwMmU4YjYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5Ni1hUS1RdUcxcVBDTm1GTkozQTJpVUhmVWw5dW5zNXZlZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PJ9FEExHggYyCdhIkTKPBjX9iySX_rkireOz58ToS9A3XY1FSmjfHDbTD6KjEGkW-ptLv-0tbRx4nqW-2MoPud91Gd324z7CybC3w5TYFnDWTjlGrXUw2RhbMgiJN1QeFUYksfBpM9ClA033NCLOc2bsWunX5u4jcl7jn_xgkQvaQ1aLcWBAsxuc0f7uNRzrLqNfcWe1qDIE3_V5W2WJ8i2yYfGSiR35GOTioy1elW6AZLeqNmr-kTOaSW4V0MYe0Y3U7NOvuanC9Aob52oT0Uy28q0yNzjOsgPrPiPLpfDRJaJ4SH4YN-X0F0JtAg8Ch46vsP49nia6xxiqplbPJg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="131" it="0" lt="131" ct="0" ts="1587564526233" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxNC0tZ3QwY3FJdlpXaU1XSGt0MEltWXh1WldDaEgzWE1UaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FQKvEPvM6qRWy0bJuALe60gbDGzQfjX0TlgMaqXVVJt895f2ISW8T59wJ0HLI0lg9PmKm0W-ACp_7aQxOpUEVOTE8nR_Dxj2OHEFODJo5cIVRUDRKnWuBLKn7LKpMPteNkCoUuRDauIbH7AdyxqWYvpMuVkpAXMw0o5ROofCBjZO4FzwwJQSh2nFtev_qTeKWXRrS-v4L1Q66LzAlIFFnBjbeiVj2yAdsd3pxVUg7Ji8k0L6kuoRHl_lgiYXUFsNO7XjPYsfdMg2Ty2_jRBfjq1NgKPWqVYDv06UCYy65Ah-UHBPD_fGctGDx06CsrcKeYQmKo-tNwxmYhWnARP61w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDAxMDUyODEtYTgzNy00ZTM4LWFkY2YtMDk1YTI5NTc3YjJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxNC0tZ3QwY3FJdlpXaU1XSGt0MEltWXh1WldDaEgzWE1UaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FQKvEPvM6qRWy0bJuALe60gbDGzQfjX0TlgMaqXVVJt895f2ISW8T59wJ0HLI0lg9PmKm0W-ACp_7aQxOpUEVOTE8nR_Dxj2OHEFODJo5cIVRUDRKnWuBLKn7LKpMPteNkCoUuRDauIbH7AdyxqWYvpMuVkpAXMw0o5ROofCBjZO4FzwwJQSh2nFtev_qTeKWXRrS-v4L1Q66LzAlIFFnBjbeiVj2yAdsd3pxVUg7Ji8k0L6kuoRHl_lgiYXUFsNO7XjPYsfdMg2Ty2_jRBfjq1NgKPWqVYDv06UCYy65Ah-UHBPD_fGctGDx06CsrcKeYQmKo-tNwxmYhWnARP61w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="81" it="0" lt="81" ct="0" ts="1587564526283" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5Ny1RcWJUSlYybHlTaWZySTB6Qk83VWxidHhMRlBoR2t1biIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.A3eS_xyQE9xILasJ3g8woP88_TfYYsgWfCdSnYhEq0uD-QdGwdkx2KQ7cRAjaWXh7_mSx-bxefTQPTwV3z1Hf9gJIn7yN-smdqE_dumiJn5mbLo4ya8a8NKYybjQ1WYv6cTmW2fKprSHDaUVF24Bek53wkAGHy-IaHcGnnpC28_EXRyeaZ3P-sBEwCmuYePY1UHQFFgQ8Ur8uawuGUkQTrMqceqkckj_mKt3YjQ5aH5zk1zN3lmsVnRKITnlmiBuD6sJADQ1F33PVgATCUSoKpUvC7cugrJRONU47qxGFs-df2-JCITK-adsVfD48_xZpr11AjaFQ45KnpU1aiog1A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTUyMjMyNWYtMTQxYS00ZDA5LWIxZDYtNWRmNjBmMzJjZDU5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5Ny1RcWJUSlYybHlTaWZySTB6Qk83VWxidHhMRlBoR2t1biIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.A3eS_xyQE9xILasJ3g8woP88_TfYYsgWfCdSnYhEq0uD-QdGwdkx2KQ7cRAjaWXh7_mSx-bxefTQPTwV3z1Hf9gJIn7yN-smdqE_dumiJn5mbLo4ya8a8NKYybjQ1WYv6cTmW2fKprSHDaUVF24Bek53wkAGHy-IaHcGnnpC28_EXRyeaZ3P-sBEwCmuYePY1UHQFFgQ8Ur8uawuGUkQTrMqceqkckj_mKt3YjQ5aH5zk1zN3lmsVnRKITnlmiBuD6sJADQ1F33PVgATCUSoKpUvC7cugrJRONU47qxGFs-df2-JCITK-adsVfD48_xZpr11AjaFQ45KnpU1aiog1A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="81" it="0" lt="81" ct="0" ts="1587564526283" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2Ny1lZXprUWk1MG94ZWtsZElUbkFRTXZ1THY0UXhMa0N3QyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dHTPYpsHSke3orWDW6KY-dlyQ2I7hX65hfOK1CsyUnGQE-nvvh3FyXznUAfGB7s0T5ujZVnBnXCuDb7TzwPK3HFcE0MJ6TUyrGBjHMOOc3yNU2o58mJYbL2DfocWoyV2sFrBhe_OfvcdSoOowBTUTAvdAqeb5p9kPEc_otGHaPiPl5YDKn2KrNw3tM1iZ9LXH6O78ive0UOVPfV44nigYjLqmfqzSeRpZfC5lVLInhlTKayQcU3yqz3Jmy2eFhSRs3xmy4todQulagbN98stNQzDJZFlgnUQ87Ub1EFTZugGefPLJhwqujBKc1K0jcxZg48Sv3cyqiKMAXDO1wM4Vg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTlmZTY1YWQtMjZhZi00MjM1LWE2YzctNjY3MWJmM2ExYjFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2Ny1lZXprUWk1MG94ZWtsZElUbkFRTXZ1THY0UXhMa0N3QyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dHTPYpsHSke3orWDW6KY-dlyQ2I7hX65hfOK1CsyUnGQE-nvvh3FyXznUAfGB7s0T5ujZVnBnXCuDb7TzwPK3HFcE0MJ6TUyrGBjHMOOc3yNU2o58mJYbL2DfocWoyV2sFrBhe_OfvcdSoOowBTUTAvdAqeb5p9kPEc_otGHaPiPl5YDKn2KrNw3tM1iZ9LXH6O78ive0UOVPfV44nigYjLqmfqzSeRpZfC5lVLInhlTKayQcU3yqz3Jmy2eFhSRs3xmy4todQulagbN98stNQzDJZFlgnUQ87Ub1EFTZugGefPLJhwqujBKc1K0jcxZg48Sv3cyqiKMAXDO1wM4Vg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="79" it="0" lt="79" ct="6" ts="1587564526286" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGVmOWQwNmYtZGNmZi00ZDAxLWI3ZWUtMzhjZTE0ZGUzNWM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="76" it="0" lt="76" ct="5" ts="1587564526289" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2NmMzI4MWQtYjQ5Yy00OTk0LTkxZjUtNmNjZjVlZDIwMmUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="77" it="0" lt="77" ct="6" ts="1587564526288" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzBkOTZjNmUtNzQ2YS00NWRiLTg0MzQtNjVlNGFmZTJkYmVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="65" it="0" lt="65" ct="0" ts="1587564526300" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5OS0xUWdFZUhOUlVFbC1tV1E4cG10eFdqbklLNkthTEdoQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.VutX7O2sNMgikcmpcX_Cy9Ds1MYQYVj8cS9wSvreHi6IX4gIQ9n-yP9CZL9q1F-j1xIvoyicff414UNJzFOx2W0CKDFTopWKxj21yak2dxIzoPYdbEXHRfg0Bd2qCj5COTaRassCbWdHaEJCqtpKyNhlX_YYBJ1xy0Fr1CzLTo87L8T6J2dheVjDyoLfZOuX2fUjFXi_eXaPsLz8VGW62FKxvS5phuQNJY_YtJgfBjVfD5MphBwFXKJN8yXgDG6UhHOBLR5wTy94UQdk616CCupGFxgDeiXODlo6jA3EXdxSa92cfHHDyyz1X-PhBcFuO7wSVYP6391imNKbP3HQTw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTdmNDQ0ZjktYzk5ZC00YTQ3LWI2Y2EtOWU4YTBlODA0ODdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5OS0xUWdFZUhOUlVFbC1tV1E4cG10eFdqbklLNkthTEdoQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.VutX7O2sNMgikcmpcX_Cy9Ds1MYQYVj8cS9wSvreHi6IX4gIQ9n-yP9CZL9q1F-j1xIvoyicff414UNJzFOx2W0CKDFTopWKxj21yak2dxIzoPYdbEXHRfg0Bd2qCj5COTaRassCbWdHaEJCqtpKyNhlX_YYBJ1xy0Fr1CzLTo87L8T6J2dheVjDyoLfZOuX2fUjFXi_eXaPsLz8VGW62FKxvS5phuQNJY_YtJgfBjVfD5MphBwFXKJN8yXgDG6UhHOBLR5wTy94UQdk616CCupGFxgDeiXODlo6jA3EXdxSa92cfHHDyyz1X-PhBcFuO7wSVYP6391imNKbP3HQTw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="81" it="0" lt="81" ct="7" ts="1587564526285" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjcwYjlhZTYtYWI3MC00MDk1LWIwZTUtNWQyMzEzYmJiYTNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="80" it="0" lt="80" ct="5" ts="1587564526289" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWFhZTdkZDItMmFmMy00MGM1LTg2ZjAtYmZhZjQzNTlmYmE0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="90" it="0" lt="90" ct="0" ts="1587564526279" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5OC1rQWJKLVZ3ZHpWMDFEWHNIZkFoYzZtYTJKWVZqaGZLMyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KqzFbaXGJUIXQdw22hi7lWuT3-XZFfc0eR_4cC_QUEa2hqWxVk_-1OYYEWILamynf6DSAyiIKc5fr9VvsRKvINdLLAFxh_1SSoqE_2H4iTOisIPoP6_X1isQwWHm7nruPl1XXvQ-xqK6YWTG0BPr2YBnoYq8LrX8eXTJjTqglQq3K-oVI36j0n2wist4HZM4FCTqRcEP8XWA-13yPD4j2hGW02MjZNcrh_XbxdoGeYnYKt9QnLCtTZzdF5IiWlk0EjfhrJl8XxWNQBIDQecCJmuAlM3cH7M9wl2gLQlGQftAjIST8jUVPSY5nGsuviYEY16qKLOYUayN8copUUFpdw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTlhM2U0MTgtYmY1Mi00NDJlLWFjMDctN2RkZTMxNmJmOGRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5OC1rQWJKLVZ3ZHpWMDFEWHNIZkFoYzZtYTJKWVZqaGZLMyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KqzFbaXGJUIXQdw22hi7lWuT3-XZFfc0eR_4cC_QUEa2hqWxVk_-1OYYEWILamynf6DSAyiIKc5fr9VvsRKvINdLLAFxh_1SSoqE_2H4iTOisIPoP6_X1isQwWHm7nruPl1XXvQ-xqK6YWTG0BPr2YBnoYq8LrX8eXTJjTqglQq3K-oVI36j0n2wist4HZM4FCTqRcEP8XWA-13yPD4j2hGW02MjZNcrh_XbxdoGeYnYKt9QnLCtTZzdF5IiWlk0EjfhrJl8XxWNQBIDQecCJmuAlM3cH7M9wl2gLQlGQftAjIST8jUVPSY5nGsuviYEY16qKLOYUayN8copUUFpdw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="78" it="0" lt="78" ct="0" ts="1587564526291" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5NS0tTjAyQjliLWhDcG9qWEZIZFpQUm0zWTZBLXJrOEJTeSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.j6USxx3VEmBbceMnbwOK9yup3sDA1moKwLToQbdaUMAlsn0wSktTbHI9PQaM8BSVe7NQ5ue9ueR_TGpsQr0u94u6wFVHkHjM2T_2MVkdh_7liDEtGf8j57ghZfwAQukFIfGBYcTImF4_X_kZhXj1Ae3UwEigoMc23kyJzkdtME5zlG2q6zBwfF6QrgooZvHmNSuTDfjUhSOUyk2BhnuNa5OhzXlrKy_4vusL7QUEijDRjt_fmSm9SbgrN4RN-sK4E3KDQsPSUw0bS3RwXhOUwtAnjnKgEVLAZSh_NVilj7v9v0cd1hPYqdn1x1C9mFUs4Plw66pSSQWa21cJExFBbA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmNiZTczM2UtZmYyMy00ZjhiLWJhY2EtNzY3MTJlODY5ZmM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5NS0tTjAyQjliLWhDcG9qWEZIZFpQUm0zWTZBLXJrOEJTeSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.j6USxx3VEmBbceMnbwOK9yup3sDA1moKwLToQbdaUMAlsn0wSktTbHI9PQaM8BSVe7NQ5ue9ueR_TGpsQr0u94u6wFVHkHjM2T_2MVkdh_7liDEtGf8j57ghZfwAQukFIfGBYcTImF4_X_kZhXj1Ae3UwEigoMc23kyJzkdtME5zlG2q6zBwfF6QrgooZvHmNSuTDfjUhSOUyk2BhnuNa5OhzXlrKy_4vusL7QUEijDRjt_fmSm9SbgrN4RN-sK4E3KDQsPSUw0bS3RwXhOUwtAnjnKgEVLAZSh_NVilj7v9v0cd1hPYqdn1x1C9mFUs4Plw66pSSQWa21cJExFBbA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="80" it="0" lt="80" ct="0" ts="1587564526290" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3OS13dndvZHJacTdkd0Njd0tzUlU0emNrWXZyM1J5alVYWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DZny4Xg2fXv1sj-01VPfyGQMKHQzqs2HxQoLHugitMp_NAW2nZdPhyxVgOajHXBY3leMhxfdekikIuMyoqi4plFj3IDHZS-8mV0-1m4j6nJc8CIDHxa3Uukn_aj1F2TUmGvcLyYOzvuxnUSMd7f61e1pIIPXF8yhTyliAqO2RP4HOuf3GkT2mB6ljmGOyAP_usK8CJtWS7E-I0w4dDdkLSDTtsB8QqHDoeAcg7TjFla-yRSfWUvDCwebpKHGFrSypfyiICi7xxcdkKklY-s1udHBi6oDj0WLn7wOJYBy98tjmPniPzoKKczKkDN8WyeJklDRforjDpLX1M-twAw05w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2I0MWJhY2MtMzhiYi00NmUxLWEyNTctMzAxOGNiM2JjNGI2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3OS13dndvZHJacTdkd0Njd0tzUlU0emNrWXZyM1J5alVYWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DZny4Xg2fXv1sj-01VPfyGQMKHQzqs2HxQoLHugitMp_NAW2nZdPhyxVgOajHXBY3leMhxfdekikIuMyoqi4plFj3IDHZS-8mV0-1m4j6nJc8CIDHxa3Uukn_aj1F2TUmGvcLyYOzvuxnUSMd7f61e1pIIPXF8yhTyliAqO2RP4HOuf3GkT2mB6ljmGOyAP_usK8CJtWS7E-I0w4dDdkLSDTtsB8QqHDoeAcg7TjFla-yRSfWUvDCwebpKHGFrSypfyiICi7xxcdkKklY-s1udHBi6oDj0WLn7wOJYBy98tjmPniPzoKKczKkDN8WyeJklDRforjDpLX1M-twAw05w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="87" it="0" lt="87" ct="10" ts="1587564526282" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTYyM2FhYzYtMGZmZS00MmE0LTg5OWEtZTMwNDkxMWMzNDY1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="89" it="0" lt="89" ct="6" ts="1587564526286" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzgyOGJkZmMtMzc5ZC00OGQzLTg0NGEtMzRhYWFiNTA5MGZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="76" it="0" lt="76" ct="0" ts="1587564526299" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5My15VFp3VkwtLUxJQkpzTGNPb1dXZktkcXE1MEc4azY2MCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oHp_zO3N-1c9Xef8_UfHuepDokxS7TvafiGPVgmp6DtVKw6YBIJMjSveL5455oepBxgYNNnM3T3Y8_ntAYOUhfmw_er1mKfl_ZGHX7U-H9OI4TSm7YSra06CIQTuXk8hz7SScwuBjgSkZCmr0CSvT6RFfc0cuueTy140U0OQbncHXaDt9E2W5lA9RZ0nv6jXGwbDpwQrPTdgxxJAMlivTUo98R3H-UCwIndw4Fvf0g8Mqp17P4U_9cH7qx4hmlqwNtwtjIPI-ejhMd5L_8tI2LYXfv6thGgnoh6hxFTtHEsqh9fW9996jBZIimx79tO1PUw6Cla2wh-ur3zA3xtHGw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmQ2Yjc4YTctMzk2YS00MGZkLWFiMjktY2YzMDAyZTA2Mjc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5My15VFp3VkwtLUxJQkpzTGNPb1dXZktkcXE1MEc4azY2MCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oHp_zO3N-1c9Xef8_UfHuepDokxS7TvafiGPVgmp6DtVKw6YBIJMjSveL5455oepBxgYNNnM3T3Y8_ntAYOUhfmw_er1mKfl_ZGHX7U-H9OI4TSm7YSra06CIQTuXk8hz7SScwuBjgSkZCmr0CSvT6RFfc0cuueTy140U0OQbncHXaDt9E2W5lA9RZ0nv6jXGwbDpwQrPTdgxxJAMlivTUo98R3H-UCwIndw4Fvf0g8Mqp17P4U_9cH7qx4hmlqwNtwtjIPI-ejhMd5L_8tI2LYXfv6thGgnoh6hxFTtHEsqh9fW9996jBZIimx79tO1PUw6Cla2wh-ur3zA3xtHGw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="75" it="0" lt="75" ct="0" ts="1587564526300" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0OC1IZ3o4ZWVwRzJyZG5ReGJqVGpOYlItZkwwYUhEY0JDbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WcIh3P02dgWsk0bm6jGtUGQoUUbfnHAuRZFVkUGB_paSfhgBcFgTuF8Br9yXUuRP-jv3cO7IVSH2j9tYeM8xF4dwlewfCk2anVDu_yEZ4EVeQmayE2aQNTo29LJKHh0Yr4Cq-DH4k8-h1XRZ6Z2Wz4br9pJj_kFNr20Wb-cSii7fZ4OmVMj9qeivv9ye3nqSNx8mcBQkBrHdHG2F_nrlmzL5NeUhxKWdD7qr04rfrTFhEefuo-Pc2SELKCBJFhbTayxHZ_LQjOU_cBUyVlF2PMmn3wnyd2HhF9mhVfEhCh-K0fx0BImPBstgp3pFCohkCZlcji624u18m07N4PAV5A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQxMDBhMGEtM2Q2NC00YWE1LTlkYTAtZjQzZmM2NTczZTVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0OC1IZ3o4ZWVwRzJyZG5ReGJqVGpOYlItZkwwYUhEY0JDbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WcIh3P02dgWsk0bm6jGtUGQoUUbfnHAuRZFVkUGB_paSfhgBcFgTuF8Br9yXUuRP-jv3cO7IVSH2j9tYeM8xF4dwlewfCk2anVDu_yEZ4EVeQmayE2aQNTo29LJKHh0Yr4Cq-DH4k8-h1XRZ6Z2Wz4br9pJj_kFNr20Wb-cSii7fZ4OmVMj9qeivv9ye3nqSNx8mcBQkBrHdHG2F_nrlmzL5NeUhxKWdD7qr04rfrTFhEefuo-Pc2SELKCBJFhbTayxHZ_LQjOU_cBUyVlF2PMmn3wnyd2HhF9mhVfEhCh-K0fx0BImPBstgp3pFCohkCZlcji624u18m07N4PAV5A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="74" it="0" lt="74" ct="0" ts="1587564526302" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyMy0tVGZaTlNnZVdmZWE2a3NOakdQUzJpLVJIcnd3VWRZTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HqH65AKYKn6lJeN-fsmBd4-yIrzVOJiSrYcLbJqIskcl66Fd_Qgt4c4_XNV72BqiW_sE3if6MBc8kHw0EiLjv06LSeqo6N8kBtABAPAChtuMZrpt1Qkill0F2Byod5a10_FBKNpBw6_toNFRWymHaW--keczjxp8OmlGzffvM83VCOGmvJrMBRMK3Ow98zhxuYvXawp0Xe8lrWmkhe2rkZAM0gBnlPv5HKRz1lUlOxto333KIX9mSgspm1u1JU23_o9aR2fz2hXux3-gR1mYbOWIsjhmp88eHrd7I4_5XVguWzLG7s0lFcv9ckqqJmbGwhLAUxbNT9rOcjy4XlGfnQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzliMzViYjYtMzI4Yi00YTcwLWFhNmYtNjg2ODMwOGI3YTYz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyMy0tVGZaTlNnZVdmZWE2a3NOakdQUzJpLVJIcnd3VWRZTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HqH65AKYKn6lJeN-fsmBd4-yIrzVOJiSrYcLbJqIskcl66Fd_Qgt4c4_XNV72BqiW_sE3if6MBc8kHw0EiLjv06LSeqo6N8kBtABAPAChtuMZrpt1Qkill0F2Byod5a10_FBKNpBw6_toNFRWymHaW--keczjxp8OmlGzffvM83VCOGmvJrMBRMK3Ow98zhxuYvXawp0Xe8lrWmkhe2rkZAM0gBnlPv5HKRz1lUlOxto333KIX9mSgspm1u1JU23_o9aR2fz2hXux3-gR1mYbOWIsjhmp88eHrd7I4_5XVguWzLG7s0lFcv9ckqqJmbGwhLAUxbNT9rOcjy4XlGfnQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="88" it="0" lt="88" ct="0" ts="1587564526291" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2Ni1tanBjV0NuRjlrdWwtU3VVUENvRHJZOEl5alktUlMxNyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WtbQvobwuX26MsBZqzmzzgycH_cPesR8UKTLvOJKmMWKQBQgNXusOsC6qRVVLWQaSMVOMnMwfmr33ckP4E5YoMGsZzCSmZptjxF4sjILxiz1bheK5uglZuXtTeSYa6V0rVaAcRc99BLSUelI7HfnznP5geGgAt5l50avo_bfzS_GAPUEb2wsOAu8fqcmpgrCXLhE54N7SZvWDxk_2TdU6PSUWkvZxYVk9rNtcgH0khlWUQ1agVvUH7QH9OzaXs0DdrS6VUyR1DNU93jNwdMrlGmmbV602h6de-GLQihrRuoXqHugb_zFunNvhbcjRHhY1oyLw_AUGgat_EAslYTEHg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2NmN2VlZDUtNzQzNy00MmNkLWI0ZGItNDE1ZjhkODlkOGJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2Ni1tanBjV0NuRjlrdWwtU3VVUENvRHJZOEl5alktUlMxNyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WtbQvobwuX26MsBZqzmzzgycH_cPesR8UKTLvOJKmMWKQBQgNXusOsC6qRVVLWQaSMVOMnMwfmr33ckP4E5YoMGsZzCSmZptjxF4sjILxiz1bheK5uglZuXtTeSYa6V0rVaAcRc99BLSUelI7HfnznP5geGgAt5l50avo_bfzS_GAPUEb2wsOAu8fqcmpgrCXLhE54N7SZvWDxk_2TdU6PSUWkvZxYVk9rNtcgH0khlWUQ1agVvUH7QH9OzaXs0DdrS6VUyR1DNU93jNwdMrlGmmbV602h6de-GLQihrRuoXqHugb_zFunNvhbcjRHhY1oyLw_AUGgat_EAslYTEHg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="77" it="0" lt="77" ct="0" ts="1587564526302" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4OS1pM1J3cVZLdUdTV2RLbmxTNjdrNnhRMWd0aTVONS1WUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cL2cjBabUVBE7CnyOiO0fLNfrvdl2-N396xjrqeYW4GeGh1df__MzeATKJF-Km21JazAxKqCWazt_HsPOM3nMT0mmZGcc898v0kep8d4SV6uLFGr4OARjM0xqBuU060f2HUJ_U49IbJ6aPt-4caeVdee13FAkbmvf-49TR_bQ01Q29R30Ql1sxnzADbdqHPOOdyVvuT8Xs718bug7wl0opX8wlVQma0bcHXvzjkp5RsviBcBO4s0AzSZbq5vuFN6okVcCfdD4qIHfXpY_g5VJtM-_d1Onur6SrQFXT6zkdepM53eknPZs5hxj0v6XvBB9ejTHdqN-21O9eWDB1wi5w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzkxOTBlNDEtMDJhMi00ZTU4LWE3YTEtN2Y4OGYwNmEwY2M4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4OS1pM1J3cVZLdUdTV2RLbmxTNjdrNnhRMWd0aTVONS1WUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cL2cjBabUVBE7CnyOiO0fLNfrvdl2-N396xjrqeYW4GeGh1df__MzeATKJF-Km21JazAxKqCWazt_HsPOM3nMT0mmZGcc898v0kep8d4SV6uLFGr4OARjM0xqBuU060f2HUJ_U49IbJ6aPt-4caeVdee13FAkbmvf-49TR_bQ01Q29R30Ql1sxnzADbdqHPOOdyVvuT8Xs718bug7wl0opX8wlVQma0bcHXvzjkp5RsviBcBO4s0AzSZbq5vuFN6okVcCfdD4qIHfXpY_g5VJtM-_d1Onur6SrQFXT6zkdepM53eknPZs5hxj0v6XvBB9ejTHdqN-21O9eWDB1wi5w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="78" it="0" lt="78" ct="0" ts="1587564526302" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4Ni1qOFdsLW5jenN0MkRjVGFCZXF4VlZTc1NReWhWZXR2NSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.od9fKnrW4GRmd9dzTtzzwOFVDAjh3Q1yXFA8u_iAM1vzT6oNtTu90YiErcv5-TCk37kzjJn0byfnuubr_IkWahnSnXEyfDMZQnY4h60tCT-9BKT6jUP05a_Kdg0KdSC_i65SHEcb1U0b2OglsCANBleihnF0JTNYZjeyT1AdQTSfvl0JtFwAwkW1of7gX2uQ9EJahYazbC5pmk_2GRKSY57rUYg7Bf0M4qwqotoWzoCbYWBp5AEtUPPRAltwflU5b3bzU6MPhqto4ANZme0b7nJz_5e9J-_vdom6jyFEkCZitjBD68OZsVqe_XYwiIx9pYFGFDtHKkLUtwVdtc5VFQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGRmNDU0ZDMtYmI5ZS00MTBlLWJmMDctOTExYmZhZDgxNDM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4Ni1qOFdsLW5jenN0MkRjVGFCZXF4VlZTc1NReWhWZXR2NSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.od9fKnrW4GRmd9dzTtzzwOFVDAjh3Q1yXFA8u_iAM1vzT6oNtTu90YiErcv5-TCk37kzjJn0byfnuubr_IkWahnSnXEyfDMZQnY4h60tCT-9BKT6jUP05a_Kdg0KdSC_i65SHEcb1U0b2OglsCANBleihnF0JTNYZjeyT1AdQTSfvl0JtFwAwkW1of7gX2uQ9EJahYazbC5pmk_2GRKSY57rUYg7Bf0M4qwqotoWzoCbYWBp5AEtUPPRAltwflU5b3bzU6MPhqto4ANZme0b7nJz_5e9J-_vdom6jyFEkCZitjBD68OZsVqe_XYwiIx9pYFGFDtHKkLUtwVdtc5VFQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="79" it="0" lt="79" ct="0" ts="1587564526301" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4OC13SGViZWh2b3J2dkpwbDlGMUVPQ21PcDJaNHc3OFBwZSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.doPplfYiHva2zwTDmatoHjmpsYxoeI4eOga_ARhKPidWrqDxNvjlHiq2Lt6OiQF94oIf2DjQ55br832cOSlkuWfGtX1lAXFER7p3o-f5I3qwsNOCtsEAQDq5Qrp5o5paEpy3ZAjfpvjAMylMCKsx-0X6R5aayKs19yb9a5UaU2hKB5A-QLif49BoLdvsVYk5S0h-YC3xLWnWo1IMQ1IptGy21jLVmcBo5Oo_i3f2AI9fS6-QbJX1jHDo8Hp-H3Ron417tfkfPEqkW-JA_-Vad2AEpvG1T7i6UQca1lV7GMaPo0fy0QHRoH25XLBNW4xUUmqvmALkAsTV-jGdp_EFsA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGNlZGRlM2MtNzYwYS00OWJiLTlkOGQtZDdmODVmOTczZmUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4OC13SGViZWh2b3J2dkpwbDlGMUVPQ21PcDJaNHc3OFBwZSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.doPplfYiHva2zwTDmatoHjmpsYxoeI4eOga_ARhKPidWrqDxNvjlHiq2Lt6OiQF94oIf2DjQ55br832cOSlkuWfGtX1lAXFER7p3o-f5I3qwsNOCtsEAQDq5Qrp5o5paEpy3ZAjfpvjAMylMCKsx-0X6R5aayKs19yb9a5UaU2hKB5A-QLif49BoLdvsVYk5S0h-YC3xLWnWo1IMQ1IptGy21jLVmcBo5Oo_i3f2AI9fS6-QbJX1jHDo8Hp-H3Ron417tfkfPEqkW-JA_-Vad2AEpvG1T7i6UQca1lV7GMaPo0fy0QHRoH25XLBNW4xUUmqvmALkAsTV-jGdp_EFsA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="88" it="0" lt="88" ct="0" ts="1587564526296" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3Ni1GWG0tS1luT2F6SlVGY0RiTTF6cmdTdDVtWEFhNDBCYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.W7t_M93FrO0AUR4G4z5m80jw5ZgmCXmp4zVe7hSxkdQ_LNYacJVJmMNHhDVuO3_JkuyAZtzSeSm_ZLEsGZSiTEQuHjTSOq8I3blMzVVQsxVCK8zzg5JnZLuqokjOyYosiRZIuxOBEOphVcBueI2HyedSGSqWdf_QQ8PIczMYVH8sqUVZ0GlOHrPHpJcdKuVwBJAKJgswk5KF9-3kDS7b1lBR8ii1pAD0IWB-WTGSULe-ghZoY-ajAnjdTkJ5GMpDW4SxApn64KSANlil1rYWcwiwJEMvfUJevgGlzveSkGBg3Qo-hOmNgsE2tow8n0pitpqwqb6EUZ-yLS0kfPVX5Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTE4Yzc3NjItODdkMS00NzVjLTk1ZmQtN2EwNWVjNTI0N2Nh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3Ni1GWG0tS1luT2F6SlVGY0RiTTF6cmdTdDVtWEFhNDBCYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.W7t_M93FrO0AUR4G4z5m80jw5ZgmCXmp4zVe7hSxkdQ_LNYacJVJmMNHhDVuO3_JkuyAZtzSeSm_ZLEsGZSiTEQuHjTSOq8I3blMzVVQsxVCK8zzg5JnZLuqokjOyYosiRZIuxOBEOphVcBueI2HyedSGSqWdf_QQ8PIczMYVH8sqUVZ0GlOHrPHpJcdKuVwBJAKJgswk5KF9-3kDS7b1lBR8ii1pAD0IWB-WTGSULe-ghZoY-ajAnjdTkJ5GMpDW4SxApn64KSANlil1rYWcwiwJEMvfUJevgGlzveSkGBg3Qo-hOmNgsE2tow8n0pitpqwqb6EUZ-yLS0kfPVX5Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="83" it="0" lt="83" ct="0" ts="1587564526302" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzNC1yeU1hdE55OGJXYk1zQm1KeHl5ekdvLS1uWUg0SVBYViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.c3S_lUQ44XAuckBnfjZTYuJp37g79g_OR_sp2DGi5RqgJk-WXqmJR_I7wh0KF7zbpVH7Zdo2g4nLuuv4YIdiHkXZR_gzhA6n3UcVqukFW7ABsTsi2CEI_-W-5iMAEKflYlgr4QM__f0Gb8gxs24boWsuYmF2294n52uXx6AXuC0nA-4sByfVE58yo_ozMusr80QEXXH6BSyoHsTjr8hr8mzZ6F7K0ZEsktSorWSbWZeryWzL0_tN8ddzJIFWtvTQXp7eWSVnTJbq5qPBzH1BWTT1G4BbW8ouEGDOITxtB3CoySY-RV4l2OESzPA_KWhSAx_WNfDWuaoz4k3etKeS2w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGE2Njk4YjEtMTFkNC00ODdmLWI3NDYtMDM2NzgwMmQyYTQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzNC1yeU1hdE55OGJXYk1zQm1KeHl5ekdvLS1uWUg0SVBYViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.c3S_lUQ44XAuckBnfjZTYuJp37g79g_OR_sp2DGi5RqgJk-WXqmJR_I7wh0KF7zbpVH7Zdo2g4nLuuv4YIdiHkXZR_gzhA6n3UcVqukFW7ABsTsi2CEI_-W-5iMAEKflYlgr4QM__f0Gb8gxs24boWsuYmF2294n52uXx6AXuC0nA-4sByfVE58yo_ozMusr80QEXXH6BSyoHsTjr8hr8mzZ6F7K0ZEsktSorWSbWZeryWzL0_tN8ddzJIFWtvTQXp7eWSVnTJbq5qPBzH1BWTT1G4BbW8ouEGDOITxtB3CoySY-RV4l2OESzPA_KWhSAx_WNfDWuaoz4k3etKeS2w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="72" it="0" lt="72" ct="0" ts="1587564526314" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2MS0wazQzYzR0R2JiTDRXaDg5cjJLZ0tpM1NXUDdiZzFYNSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.se6r-_dfL3uSqdgwbAz41W8GzG67hWPjt7NG6QMQDW5TP7Nlr6puPBrHNSvzxSvfGEwfqKpD9Eo8_jKGTY2CNkmI3Q71HoFGHylRW3jK7SzuGQJbSLKMTTjMy4Q8DOIFWnhqRF7EamzuV2TYB5WA6YX2MMCOd0huy5pAv8ZxQIW19W70nsnTN0JOvVW64RprJmYdqBDg5mbLWHK2jRTqa16Y71vee5KNHPibRf7tn334LdlVpdUTKMAanz38WWXXqDsvAionUi4_3NRHvzqSmimVeT9K6bIbf0qOkec4skcY1MbMqdI4S-gBK2v6ECyL4L41bKMjc_5KegTlcUN7uA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDRjN2E5YzYtNDQ2Ny00NmQxLTlkOGEtOWRhZTIzZmY5NTYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2MS0wazQzYzR0R2JiTDRXaDg5cjJLZ0tpM1NXUDdiZzFYNSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.se6r-_dfL3uSqdgwbAz41W8GzG67hWPjt7NG6QMQDW5TP7Nlr6puPBrHNSvzxSvfGEwfqKpD9Eo8_jKGTY2CNkmI3Q71HoFGHylRW3jK7SzuGQJbSLKMTTjMy4Q8DOIFWnhqRF7EamzuV2TYB5WA6YX2MMCOd0huy5pAv8ZxQIW19W70nsnTN0JOvVW64RprJmYdqBDg5mbLWHK2jRTqa16Y71vee5KNHPibRf7tn334LdlVpdUTKMAanz38WWXXqDsvAionUi4_3NRHvzqSmimVeT9K6bIbf0qOkec4skcY1MbMqdI4S-gBK2v6ECyL4L41bKMjc_5KegTlcUN7uA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="95" it="0" lt="95" ct="0" ts="1587564526292" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3Ny1mdUZHSXFOMnkxVllKQm9zd1VqT3lXMDhTQVkwLUY2TyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.JsrwvZ-piOP_WG0dOf66zZ7y1buRfQiv-aTav_7nPiEiEC0tzVCsQnS0OwsmiC54a9zq7mIhICCaSzQuL3iqFgSswgV5ui8CjxKpu-fcAIM0yhTAIAsvCtZiTbvfXEaoYtzlYgnelFSLGM_00gm-q41hS_QirD0RqcWIaRiCoHEH1voISc_S6xNBPzqCe9ijxA6NQHi3YI-BmI8SwjIGG0WYFcjOu7pLvDoOyAtTIhChx7kTr4fgP3vFqc5lOzgt04y8eZKRh-IdEu2Qm0xohxcpj7KslTJYUK-pyHu-JR4A99Lq-GA9XjjDuw4kRSq--5DbHTPwRatKLwUWwvDjaQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2MyMTVkZjUtNWYzYi00YWU0LWExY2QtOTg2NjkyMDc3MjY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3Ny1mdUZHSXFOMnkxVllKQm9zd1VqT3lXMDhTQVkwLUY2TyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.JsrwvZ-piOP_WG0dOf66zZ7y1buRfQiv-aTav_7nPiEiEC0tzVCsQnS0OwsmiC54a9zq7mIhICCaSzQuL3iqFgSswgV5ui8CjxKpu-fcAIM0yhTAIAsvCtZiTbvfXEaoYtzlYgnelFSLGM_00gm-q41hS_QirD0RqcWIaRiCoHEH1voISc_S6xNBPzqCe9ijxA6NQHi3YI-BmI8SwjIGG0WYFcjOu7pLvDoOyAtTIhChx7kTr4fgP3vFqc5lOzgt04y8eZKRh-IdEu2Qm0xohxcpj7KslTJYUK-pyHu-JR4A99Lq-GA9XjjDuw4kRSq--5DbHTPwRatKLwUWwvDjaQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="91" it="0" lt="91" ct="0" ts="1587564526296" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1NS0tcHAxT3F6eW1ISVNYNUgtNzFtdEZ0MTVNd0FRczd6diIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RuDH0yn6MP_2kU6zRVLv9r1ezk0NaIX7445HWM4xHCRi_o7tKlEqDOZnC5rQd1ri5g0MztHGKk_2ZNce-QuRSL4XdU1nnj2HGKm85v4ne8DuU5-tvGEC84iTjntm0G_mtT1HSz4AlzJunALD2l7O_yvDAavfogb3Zr1g_oBPe0JUTadrJ_nNiNyRCUlsj0-eP9sE_ndWN6PyBz1PanpXnNrNH6XFMxGO88a4qYZAN_CwwpHDHpJgwXgWD_lpH-JCM2KDoSrPh4frfhGnLqmOaO8NeHRmDi2DjN0wW90fE2T3g-amtuEwukWz9WjDIRZveWUJK4OoxcMpOUUQH0nuRg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDVmMDlkMDQtYTE2MS00NjhlLWIwNTEtZGE5ZGM1NDJiMmI4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1NS0tcHAxT3F6eW1ISVNYNUgtNzFtdEZ0MTVNd0FRczd6diIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RuDH0yn6MP_2kU6zRVLv9r1ezk0NaIX7445HWM4xHCRi_o7tKlEqDOZnC5rQd1ri5g0MztHGKk_2ZNce-QuRSL4XdU1nnj2HGKm85v4ne8DuU5-tvGEC84iTjntm0G_mtT1HSz4AlzJunALD2l7O_yvDAavfogb3Zr1g_oBPe0JUTadrJ_nNiNyRCUlsj0-eP9sE_ndWN6PyBz1PanpXnNrNH6XFMxGO88a4qYZAN_CwwpHDHpJgwXgWD_lpH-JCM2KDoSrPh4frfhGnLqmOaO8NeHRmDi2DjN0wW90fE2T3g-amtuEwukWz9WjDIRZveWUJK4OoxcMpOUUQH0nuRg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="56" it="0" lt="56" ct="0" ts="1587564526332" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxMi1QWTREalpHWFprNFFyT2xPbDlSZkRFVkwxSUZ1WFB1TyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Cg6no6ua8V12zwJ-xs9ZrasAJax5p2ZvAI8fxQ-bPOl2hXS-4VFSGG1n12B6engQ2HaEGa28XhgcICN_xtotONwCvecGDAQiRVMXzzyc81nRrb2UmYFSFjAhujFTsjpyCCB6yf-pgorruSQ3Ctc8oK2hYfxQaIacWeVsiZusAING9yNF31x4SYobdAkeh2SLcZ9LyB7JdQ6MY166PBgqCxJeYdbWVHCu8c-wQQ4t8d44Wo7EZ19_iVZew3CGsWTL_e2NZw5hfS_RiOo52ztUHTp43SOojyXa9SR4fE_grD4r5HQqtIkjRX3gfjZewyeJg3S8HUs9bWd2lmi7m94lOA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDMyOTA4YzctNjc0OC00Mzc2LWI4ZmQtYzQxYmFhZjZhMWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxMi1QWTREalpHWFprNFFyT2xPbDlSZkRFVkwxSUZ1WFB1TyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Cg6no6ua8V12zwJ-xs9ZrasAJax5p2ZvAI8fxQ-bPOl2hXS-4VFSGG1n12B6engQ2HaEGa28XhgcICN_xtotONwCvecGDAQiRVMXzzyc81nRrb2UmYFSFjAhujFTsjpyCCB6yf-pgorruSQ3Ctc8oK2hYfxQaIacWeVsiZusAING9yNF31x4SYobdAkeh2SLcZ9LyB7JdQ6MY166PBgqCxJeYdbWVHCu8c-wQQ4t8d44Wo7EZ19_iVZew3CGsWTL_e2NZw5hfS_RiOo52ztUHTp43SOojyXa9SR4fE_grD4r5HQqtIkjRX3gfjZewyeJg3S8HUs9bWd2lmi7m94lOA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="57" it="0" lt="57" ct="0" ts="1587564526332" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwNS1ZekIwVE1GeTZDUkJBUkN1Z0FsVmRwZVh0ZWcwSmtJMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ik5S4vPqjtXsU3dVYWl7ee4f_VOyUrYGZpQnOVSy3e6gGBeFHXHA0afpF4l1oa-IylqVgCZmxZC3JRRaTwCzpT3UDBQBzDwX3iwQE6Jm-pFDmnxjgHepvFfwX8WKh_m8wkj4zQKpwh2pO9hPOu6sBOmFmTmPsLcAuJSJeVU1Nna-UaHVZuP1pGnRSvnZuM4cEqGcHOKNhQcZhWCHBZYZebVIDpkxVY2H5vNeXGhKPCwysROKWERGkzwoYJMWzhjA0GfElnUUcoGFYtmqtOKjF6ENNDUB45n-g8sWpU1110X1Hfj3vU53wNERFLsyuf6IFNy0DvANGDr_MJBw_Jr_Hg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTg5YzNlYWEtMTE5Ny00NTI5LWFjNjctNWFjNDFhZWM0MTBh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwNS1ZekIwVE1GeTZDUkJBUkN1Z0FsVmRwZVh0ZWcwSmtJMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ik5S4vPqjtXsU3dVYWl7ee4f_VOyUrYGZpQnOVSy3e6gGBeFHXHA0afpF4l1oa-IylqVgCZmxZC3JRRaTwCzpT3UDBQBzDwX3iwQE6Jm-pFDmnxjgHepvFfwX8WKh_m8wkj4zQKpwh2pO9hPOu6sBOmFmTmPsLcAuJSJeVU1Nna-UaHVZuP1pGnRSvnZuM4cEqGcHOKNhQcZhWCHBZYZebVIDpkxVY2H5vNeXGhKPCwysROKWERGkzwoYJMWzhjA0GfElnUUcoGFYtmqtOKjF6ENNDUB45n-g8sWpU1110X1Hfj3vU53wNERFLsyuf6IFNy0DvANGDr_MJBw_Jr_Hg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="57" it="0" lt="57" ct="0" ts="1587564526333" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNSwianRpIjoiSUQtVG9rZW4tMTQxOC1YNlFFaGd4ZHpMbnpScnhkZE5ZQm9sZVUxNzhmUVk0WCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rsWe3Jb8Q_8PmznQvxE0FzJ8aFfGru3DFVmQ-rraPLMKJEevtlvU2bW9npIW2fJAyCobdYyOf0g7-1NVReAYrdqCLeGr5rMCN8PggkyLYvgLSXTCrEJulDNEKaAOuQAXcW-KoT1IK5HQ0T9g7cVGcfSMto3nk0tfpjs3meFeUdPwdYw-6_K4VFB2wb75kl6pYlTH6gipS0wCfo4HjJBIAHOGr5NkeG-UEeg4SmXzq1TQPz92OT8ns3tIMTKrLbjS33TNazuEaZc9OtUWbGFOUV_enCGsGs-4ru-j_5v_VZtkZzV-PnjaCKe1bA8SIDZl_IpP6YqWnDBnUKTymK0lgQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWFmOGVkZGUtN2U1MC00ZDgxLWIzODktNTc2YzI3ODcwYTVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNSwianRpIjoiSUQtVG9rZW4tMTQxOC1YNlFFaGd4ZHpMbnpScnhkZE5ZQm9sZVUxNzhmUVk0WCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rsWe3Jb8Q_8PmznQvxE0FzJ8aFfGru3DFVmQ-rraPLMKJEevtlvU2bW9npIW2fJAyCobdYyOf0g7-1NVReAYrdqCLeGr5rMCN8PggkyLYvgLSXTCrEJulDNEKaAOuQAXcW-KoT1IK5HQ0T9g7cVGcfSMto3nk0tfpjs3meFeUdPwdYw-6_K4VFB2wb75kl6pYlTH6gipS0wCfo4HjJBIAHOGr5NkeG-UEeg4SmXzq1TQPz92OT8ns3tIMTKrLbjS33TNazuEaZc9OtUWbGFOUV_enCGsGs-4ru-j_5v_VZtkZzV-PnjaCKe1bA8SIDZl_IpP6YqWnDBnUKTymK0lgQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="57" it="0" lt="57" ct="0" ts="1587564526334" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwMC04aEcyTmhWeUFiZDhBTkI4OTJxSHc1V3gtLUhxOW1iUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DkSHYyBDl2HE1hiQLR6q0GceoVWYIhhLUtPi29SChq2qRfvBtQuCfA2hkNb8qqC9EIZjNHfwC2rqV4uopu9D7AXGSWgALX-SqExOl8V3nutS9ID6-b7WVfpl-LiCCersBmYRR_QnEcUKfS4Bvj9hHY7kehRg9PNHjOTsiyvIEW1_hd9w70n8p2gHzQgfsJ9MAtAOfb7mIsLk9hsmeb092p1de_CZgaIIm0vspgHjsfG5p9nzmPWrr73A-zHe8_XUcoZAs5Es2YXRbgLv9XIoJE20KhSYGKYgFWIxAqURf4F-H2k9_WjjEwenr52CiVqa6wHt06shqT21NgAvmkEzQg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWI3YmQ3YWUtZWFlYi00YzkwLThmMDktMzQzNWViNDk5ZjM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwMC04aEcyTmhWeUFiZDhBTkI4OTJxSHc1V3gtLUhxOW1iUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DkSHYyBDl2HE1hiQLR6q0GceoVWYIhhLUtPi29SChq2qRfvBtQuCfA2hkNb8qqC9EIZjNHfwC2rqV4uopu9D7AXGSWgALX-SqExOl8V3nutS9ID6-b7WVfpl-LiCCersBmYRR_QnEcUKfS4Bvj9hHY7kehRg9PNHjOTsiyvIEW1_hd9w70n8p2gHzQgfsJ9MAtAOfb7mIsLk9hsmeb092p1de_CZgaIIm0vspgHjsfG5p9nzmPWrr73A-zHe8_XUcoZAs5Es2YXRbgLv9XIoJE20KhSYGKYgFWIxAqURf4F-H2k9_WjjEwenr52CiVqa6wHt06shqT21NgAvmkEzQg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="60" it="0" lt="60" ct="0" ts="1587564526331" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwNC1yZTlhb21DV3FoQWF0UGpoUG9LT1hOejYyOVZ1VFA3dCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.X1dOkXcNG2BCwco8b-i2RLDTHrJ6zfPuODNeRbnDTvuwmAProEyZWB2O8bgsgPp9aIkAEDFsVG2_2UoB6GvVu0aW9v7kH3R_Lls34UcVQfjBtW7XcTSyfqltuwFDyNTWrvkavYwNtarTR7_ItQTB3RFH0T3C6BRle_vFZsNvzDCuC_dKwCCIW6wDLZJq4tIQgEWOPxTUjLZZhmBcbsXfca6hVKZAq-aDIcljFTCrWpjFTyjGrIjiKJjsrsbtLUFRGYcnP0hfxZ5m31KAsF0tYaWtFSGc3unWg2RBSLSj6etG02vuO5OKw76DmNRS8pf78VyjCmNtjEb-mbt-VDAdoA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2QxZjUzNjctMWFkYi00ZjM1LWE4ZTktYWY1Njk2MGIxMzc4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwNC1yZTlhb21DV3FoQWF0UGpoUG9LT1hOejYyOVZ1VFA3dCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.X1dOkXcNG2BCwco8b-i2RLDTHrJ6zfPuODNeRbnDTvuwmAProEyZWB2O8bgsgPp9aIkAEDFsVG2_2UoB6GvVu0aW9v7kH3R_Lls34UcVQfjBtW7XcTSyfqltuwFDyNTWrvkavYwNtarTR7_ItQTB3RFH0T3C6BRle_vFZsNvzDCuC_dKwCCIW6wDLZJq4tIQgEWOPxTUjLZZhmBcbsXfca6hVKZAq-aDIcljFTCrWpjFTyjGrIjiKJjsrsbtLUFRGYcnP0hfxZ5m31KAsF0tYaWtFSGc3unWg2RBSLSj6etG02vuO5OKw76DmNRS8pf78VyjCmNtjEb-mbt-VDAdoA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="57" it="0" lt="57" ct="0" ts="1587564526336" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxNi1JSjFDSXBvdzNHdzg4ZXZBNm1PVFR4MVZWbWhIVTZkZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qw_LwH_5v8vvgglpV6qQuLBL2dDmK-IdgKacG9M707tHBFh3f4T1EqnbsmODRLsJIpmKqBsIQljMS9J4j_9trUhi7MuTPlrTOHZU5qX9r-JIiP4R5mL4e_4yFxgoeZkomPSZF5Cu1_HpRu9LaPacoPAvsCb0aWMocCfBBtmurB4uu4IlwBP10Pv1tq1RW4s6LMuOg9V50jBAWfxPqSTmAXGEoc0fTOyj8fv05V871gCyDLXcdHU1EQ7OKgebmIZ99Bb0B8NxQsKjrXNvOvKWjZRifWMAe_HDpEa15LcFVKozxXUI5mRan8eP1Gzz1M-qEeaofPO76FLkkiwTv6f0Yw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWQ2MDA1ZDctOTc5MS00NjY1LWEzNmEtYzU5YjljYWFlNTA5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxNi1JSjFDSXBvdzNHdzg4ZXZBNm1PVFR4MVZWbWhIVTZkZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qw_LwH_5v8vvgglpV6qQuLBL2dDmK-IdgKacG9M707tHBFh3f4T1EqnbsmODRLsJIpmKqBsIQljMS9J4j_9trUhi7MuTPlrTOHZU5qX9r-JIiP4R5mL4e_4yFxgoeZkomPSZF5Cu1_HpRu9LaPacoPAvsCb0aWMocCfBBtmurB4uu4IlwBP10Pv1tq1RW4s6LMuOg9V50jBAWfxPqSTmAXGEoc0fTOyj8fv05V871gCyDLXcdHU1EQ7OKgebmIZ99Bb0B8NxQsKjrXNvOvKWjZRifWMAe_HDpEa15LcFVKozxXUI5mRan8eP1Gzz1M-qEeaofPO76FLkkiwTv6f0Yw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="39" it="0" lt="39" ct="0" ts="1587564526357" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxNS12Y2JmVG5KY01ISlRLVXc1LVl3TTJ0WklXRGd3MjhWWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BhAKpBrX_YyHGIPJEoSYto8wFPEByodzW7xBtroy1UqZYceRoRp2xVxwd3AcNruG9rNGAKYv9HKg7zju0xRFYwm3T8FCtGZ-QGXkr7oqBcfiqA1USj-MiT_XbstRdsnT6xT4h53tXyVbB1EhM4F-3mdOcHM_yxc6wWNYLK1sEG_D4Oem3x3UHVCW4KGUZEZOM1lUU2Qdb0ATM-p2wbfVJDPlS-QoHMRrB5pBs0U4e6BaxrMazGuHAFxrmNK57EmMwH7SGwT0VjHK_ZK6oC6ERJ0zMbgrEFZCtRylG0CN8X2_pxhB14YZymG-f70UGCymbuD3Kr3BX5Yul_oIuV2BKQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTliNGNlZWQtYWVlNS00M2FmLWJjYjktMzA3Nzc2Njk0YmJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxNS12Y2JmVG5KY01ISlRLVXc1LVl3TTJ0WklXRGd3MjhWWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BhAKpBrX_YyHGIPJEoSYto8wFPEByodzW7xBtroy1UqZYceRoRp2xVxwd3AcNruG9rNGAKYv9HKg7zju0xRFYwm3T8FCtGZ-QGXkr7oqBcfiqA1USj-MiT_XbstRdsnT6xT4h53tXyVbB1EhM4F-3mdOcHM_yxc6wWNYLK1sEG_D4Oem3x3UHVCW4KGUZEZOM1lUU2Qdb0ATM-p2wbfVJDPlS-QoHMRrB5pBs0U4e6BaxrMazGuHAFxrmNK57EmMwH7SGwT0VjHK_ZK6oC6ERJ0zMbgrEFZCtRylG0CN8X2_pxhB14YZymG-f70UGCymbuD3Kr3BX5Yul_oIuV2BKQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="37" it="0" lt="37" ct="0" ts="1587564526359" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxMS1WT3M3QVF0YURRcGVHTDNqZzczZ0poeGFFbVBFdXBuSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.JTaukbEBJ3selplh4dBvSRJ31RcFuVqP-_bpyBfarEOE53uaedWEKeHVnY8JJbizivi2AO2ouohJu4cZqFR56aPdm2jUa9xaHbKvSLUXPpqna9kkqjRD9lQ-Mj-18smYivcuAwJFNH39haIOzrUnxyLe1jdPps-VIRf577EOXXJQ0W2pLCJ0dMwDaZ1qBRWBXeyOsbV3vDpPUor4SO8WdRppkD4wp6c2w5az2W4LENJwLThw5ds_3J4XSuTpvmYZB7tiwAT4Ju8JqeQG7T4Sta1bEMchccsm9I3PYcWcfonuX-mo8OXBsyaQRvHbDW8KeG2xePpCi7XFr-RAfTotJw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjAxNTk3ZGItMzNhMy00MjQ5LThiYzgtN2ZmZDdiODhhYjVj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxMS1WT3M3QVF0YURRcGVHTDNqZzczZ0poeGFFbVBFdXBuSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.JTaukbEBJ3selplh4dBvSRJ31RcFuVqP-_bpyBfarEOE53uaedWEKeHVnY8JJbizivi2AO2ouohJu4cZqFR56aPdm2jUa9xaHbKvSLUXPpqna9kkqjRD9lQ-Mj-18smYivcuAwJFNH39haIOzrUnxyLe1jdPps-VIRf577EOXXJQ0W2pLCJ0dMwDaZ1qBRWBXeyOsbV3vDpPUor4SO8WdRppkD4wp6c2w5az2W4LENJwLThw5ds_3J4XSuTpvmYZB7tiwAT4Ju8JqeQG7T4Sta1bEMchccsm9I3PYcWcfonuX-mo8OXBsyaQRvHbDW8KeG2xePpCi7XFr-RAfTotJw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="43" it="0" lt="43" ct="0" ts="1587564526354" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwNi1YNXE3VkVkN20tRHhPdjdzekw1Y0pEYmw0bFVjLTFUNyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HW96jbsh8xA1EOYWgIeoEkcSXZ--bODZ9FCpPCMajiifx385ei9mSClj78L5oni5H5pWSk9dmx9tuyRj4YkitCShJOdco4ETBpLN-fIRbJksbiAYK2rILHtouj8p9Wgblj2uvuumOs63PVjviTF5tE0imwV31j60rsTsV_-8svJZJo6SjM58YRIGY7RpkhpbiJYjre6ncE3781TNT7MaCNaJtxikeEuCwFByOUrqXtM5xrmn6ho0hiIwBWpwmHudQdnSFEHEyTh53ganlGMyU3zwKw7GKbZCvoTZ6i6wWT-MEgb1eV1F-W0PVBcRI6746aSjr9laCm_8UyU_Z-SUYA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmVmZjBlNmItYWRlZC00MmQ1LWJiOGMtZjdmYjEwNWJlYzJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwNi1YNXE3VkVkN20tRHhPdjdzekw1Y0pEYmw0bFVjLTFUNyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HW96jbsh8xA1EOYWgIeoEkcSXZ--bODZ9FCpPCMajiifx385ei9mSClj78L5oni5H5pWSk9dmx9tuyRj4YkitCShJOdco4ETBpLN-fIRbJksbiAYK2rILHtouj8p9Wgblj2uvuumOs63PVjviTF5tE0imwV31j60rsTsV_-8svJZJo6SjM58YRIGY7RpkhpbiJYjre6ncE3781TNT7MaCNaJtxikeEuCwFByOUrqXtM5xrmn6ho0hiIwBWpwmHudQdnSFEHEyTh53ganlGMyU3zwKw7GKbZCvoTZ6i6wWT-MEgb1eV1F-W0PVBcRI6746aSjr9laCm_8UyU_Z-SUYA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="37" it="0" lt="37" ct="0" ts="1587564526360" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQwOC02UkpMVmNBLWhuRDVHVVRxMy1BQ0ZuMEVDME5JVlhBUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Xvm_4JGCNCkLSX9beA7HCf2gbUeZRLpbG23MGQ1waqxfnXTOyRUSephc41Ees2Q9AblCr2fpPX05_ylYSeIrBW2Mtz_xdc1R8vBWotFc6_DVGcN_QJ7q12zoT8Cb9-Ikk4x5umlOAsYHkTtzzo-dPzIWy4HjbhFoLBXrGBOTZukf2eEt-45L6jZ6ZTOGgh9Sf_K-erACiJ_6-5rtJhYujdIZGVmwX36kv6D6LLxIcMGZ8Qx-gmD-K-YHidNEWe5LfPho_Zth9ZoEnq0fOAfPdy-Zlm7u-MWixonEvkJfwPt0McBuOBemZT0JfaFYhnnS72QTv_OL24-MZwU0_vrPjA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTM0MjAyZTQtOGIxNi00MTdjLTk0ZDItZTQ3NjZjYzYyNjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQwOC02UkpMVmNBLWhuRDVHVVRxMy1BQ0ZuMEVDME5JVlhBUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Xvm_4JGCNCkLSX9beA7HCf2gbUeZRLpbG23MGQ1waqxfnXTOyRUSephc41Ees2Q9AblCr2fpPX05_ylYSeIrBW2Mtz_xdc1R8vBWotFc6_DVGcN_QJ7q12zoT8Cb9-Ikk4x5umlOAsYHkTtzzo-dPzIWy4HjbhFoLBXrGBOTZukf2eEt-45L6jZ6ZTOGgh9Sf_K-erACiJ_6-5rtJhYujdIZGVmwX36kv6D6LLxIcMGZ8Qx-gmD-K-YHidNEWe5LfPho_Zth9ZoEnq0fOAfPdy-Zlm7u-MWixonEvkJfwPt0McBuOBemZT0JfaFYhnnS72QTv_OL24-MZwU0_vrPjA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="42" it="0" lt="42" ct="0" ts="1587564526356" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNSwianRpIjoiSUQtVG9rZW4tMTQxNy1YVjBYb2NmVUdyTlpWVDFnVmJaR2xab2JCWXI5UmVpQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qpaC9U1nyEvNwz7fvfDS3Cj4b12q3TGEOWeuZChztAw2pC9HYAlf5IaAdzoINNP7Iii1rLX7rYNd3ti0XT7wzX2kym9VjjBm42V4EiDLrzX9IGfu55Qdh-1k1te9YOUcpeZ1s2iyY5DslZBeZUjAKQLG2D9E9Bfa20xyMc9u8VQBOJCc7ZxOTonzAgqWDfgG7c4P0Th8wXvS0JwkXi8r-y8ltVLHXAjy2e9hgNI7c2kckNLlRsfHShJJTBG6n4bytwf5tTdqgcX-fmuw9qJBQLsI4g41X_TcBi1Je0Fj4hhTZzABNJIzIQQzXSM5M96HlfFKmD8d5kt_faziHWiM3A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDFhNTNiOTAtMzY5NS00NTdkLWE1YWMtYjJiNGM0ZjNhYzg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNSwianRpIjoiSUQtVG9rZW4tMTQxNy1YVjBYb2NmVUdyTlpWVDFnVmJaR2xab2JCWXI5UmVpQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qpaC9U1nyEvNwz7fvfDS3Cj4b12q3TGEOWeuZChztAw2pC9HYAlf5IaAdzoINNP7Iii1rLX7rYNd3ti0XT7wzX2kym9VjjBm42V4EiDLrzX9IGfu55Qdh-1k1te9YOUcpeZ1s2iyY5DslZBeZUjAKQLG2D9E9Bfa20xyMc9u8VQBOJCc7ZxOTonzAgqWDfgG7c4P0Th8wXvS0JwkXi8r-y8ltVLHXAjy2e9hgNI7c2kckNLlRsfHShJJTBG6n4bytwf5tTdqgcX-fmuw9qJBQLsI4g41X_TcBi1Je0Fj4hhTZzABNJIzIQQzXSM5M96HlfFKmD8d5kt_faziHWiM3A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="37" it="0" lt="37" ct="0" ts="1587564526361" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0OS1Fa2tFZkw4S3cwS3kybmVrUGRGMFQ5d1RhS1hoWFRpYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FteHmPBMOZ42ArrMa1_7gAGXQdf51ICba9IQC1jNrsbER2e0PGXI-4BXxPp9l9sifP8tiGSUXX4VxMDcjQNfUQX9EFSTeVi5RtVmGXfArSIqKwl0xuIt8lgdywanwxzCDMK5MNs_9n_1KPoOPVLI1DwtX2fcWUT3QJFO_u0YVKvlyliVRFoabCcWhOPJZ9_aO5bLEYm3iIFU8SNftkxS6oWYW40V7j3G-XMgiC5MTltzZBWmdPizeQWYczgHXpCHaZW79TRXvKxWwVlbzF8-6jtIzzEW1dJ6DW76bi15czmBdij_Lv-PpKdaKwR5IKudB857duEtUBGHYOZ9YtyoSg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzhmN2NkMzctMmEyNy00NGFjLThiYTMtNTg5MWNhNTFkMjYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0OS1Fa2tFZkw4S3cwS3kybmVrUGRGMFQ5d1RhS1hoWFRpYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FteHmPBMOZ42ArrMa1_7gAGXQdf51ICba9IQC1jNrsbER2e0PGXI-4BXxPp9l9sifP8tiGSUXX4VxMDcjQNfUQX9EFSTeVi5RtVmGXfArSIqKwl0xuIt8lgdywanwxzCDMK5MNs_9n_1KPoOPVLI1DwtX2fcWUT3QJFO_u0YVKvlyliVRFoabCcWhOPJZ9_aO5bLEYm3iIFU8SNftkxS6oWYW40V7j3G-XMgiC5MTltzZBWmdPizeQWYczgHXpCHaZW79TRXvKxWwVlbzF8-6jtIzzEW1dJ6DW76bi15czmBdij_Lv-PpKdaKwR5IKudB857duEtUBGHYOZ9YtyoSg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="41" it="0" lt="41" ct="0" ts="1587564526357" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQwOS0wRTAtWHdXbkI3TE9jemtkSmNYZXhkOVlVLXBPaUVEUSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dOuwcX9biYO16UEwG6n4YnTTS5TiiMG-zLgECeqqynH1dZMUQn6CVRKklD9lDNVSZz8Bv3QlnM2Quysqr0lGqRJy-LmJFsehQLIAHTo2aRIseE_-iSG6sh3OOGwcsYsDhF_HzVLIbTWeKhKAPVz_m3B058QWm4X7mH74mlQyZ1lqSUlXpzIu9oz4_m8TrnM5jy2l6AB6iGhq4Up0HBgZJZNaNVJIJ3_eoINvPPrOwDQWoFYt8ZDUkvmI1x9HC0D2Ni6elLhdbVDNAHNayyRgCOmQyOY9s6Xekwzbv39pMjyuLQAWeKjGpONJpCthdS8kN9mcOHi-9F8Vzjb9ocnIMQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzcxMzdjYzgtYmE4Mi00NWU4LWI4YjYtNDcwMGUxMWIyY2U3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQwOS0wRTAtWHdXbkI3TE9jemtkSmNYZXhkOVlVLXBPaUVEUSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dOuwcX9biYO16UEwG6n4YnTTS5TiiMG-zLgECeqqynH1dZMUQn6CVRKklD9lDNVSZz8Bv3QlnM2Quysqr0lGqRJy-LmJFsehQLIAHTo2aRIseE_-iSG6sh3OOGwcsYsDhF_HzVLIbTWeKhKAPVz_m3B058QWm4X7mH74mlQyZ1lqSUlXpzIu9oz4_m8TrnM5jy2l6AB6iGhq4Up0HBgZJZNaNVJIJ3_eoINvPPrOwDQWoFYt8ZDUkvmI1x9HC0D2Ni6elLhdbVDNAHNayyRgCOmQyOY9s6Xekwzbv39pMjyuLQAWeKjGpONJpCthdS8kN9mcOHi-9F8Vzjb9ocnIMQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="38" it="0" lt="38" ct="0" ts="1587564526361" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwNy12Q1ExMHNySWgyNkdrTzRKNWVwTERRVUc2NVhsMlY1TiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hGTdoF31qeXsIuvhvCV6CneheDVDPP-F9JebJyqJM_SjMryHnpubnMZm5FUPZRbP-HEoixGzC0KPf4zL0Vc7oOXgWrrFhDUe6MEzuGJkgZCWhEGcBbY5KGa1GVWLidZ9pcdBUasaTdqoDWkv9lOw_HWMATzHbgjP0D5l_FtSo-VDznOMO44JGU0V7ZOPWdE3YmXbB-8SGnCyMh2K6Db-3QSYukVz-90qKSqFcZfKxF4Jp5LcVUk58YEIdKwMllhQqIISkONfBHeRz5F25vDmG_CPGbGb5z-7EzCV-ESU7akze6tc0iY7OHMrxKxzPNBbhFPoLrWJyGY8pDDzdqgavg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDc4MjgxMzItZDYzNi00NWQ4LWEyMmEtZjA0MWU5YjljNjI3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwNy12Q1ExMHNySWgyNkdrTzRKNWVwTERRVUc2NVhsMlY1TiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hGTdoF31qeXsIuvhvCV6CneheDVDPP-F9JebJyqJM_SjMryHnpubnMZm5FUPZRbP-HEoixGzC0KPf4zL0Vc7oOXgWrrFhDUe6MEzuGJkgZCWhEGcBbY5KGa1GVWLidZ9pcdBUasaTdqoDWkv9lOw_HWMATzHbgjP0D5l_FtSo-VDznOMO44JGU0V7ZOPWdE3YmXbB-8SGnCyMh2K6Db-3QSYukVz-90qKSqFcZfKxF4Jp5LcVUk58YEIdKwMllhQqIISkONfBHeRz5F25vDmG_CPGbGb5z-7EzCV-ESU7akze6tc0iY7OHMrxKxzPNBbhFPoLrWJyGY8pDDzdqgavg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="41" it="0" lt="41" ct="0" ts="1587564526358" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNiwianRpIjoiSUQtVG9rZW4tMTQyMC1aS2p6MmktVWRKNkJCMXAybmZZMkZNU3BRS0duWkcyQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FECqVnFLiFskkGqxKw-7wxIeU4Bk9LVBheEtBAuBVtMqNiWR0_3PrJ_VfojEbuEXk3ep45b0XSbMRblxpruAXLf-M7GsD-t-1PZci1BUNFqdO9ihfpuIbJE-vRWdknVObV5vTVhkj_M4aYU5GvvYs1DKCNmHtQvuZ_wB6oYkWWQDaQ1F_DK3XEpfF45GTngJ_mhxD0eT-o97L3vo01HAfE4zcAR1glYIk1h-EIm1FC5YTTraemlbWBQvc0a-MF8JBA8qI-aIppZs6OxC7j00OKjBDe1v_xjnAP-ngVMMUB7CkZxe5K_wrv9g50O0ptzQFWC8lwg4ji0RDTFR9gheIA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWFhMTBhYTUtMDM0ZS00ZTZhLTlkMDktMzY2ODQ4M2NmMTky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNiwianRpIjoiSUQtVG9rZW4tMTQyMC1aS2p6MmktVWRKNkJCMXAybmZZMkZNU3BRS0duWkcyQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FECqVnFLiFskkGqxKw-7wxIeU4Bk9LVBheEtBAuBVtMqNiWR0_3PrJ_VfojEbuEXk3ep45b0XSbMRblxpruAXLf-M7GsD-t-1PZci1BUNFqdO9ihfpuIbJE-vRWdknVObV5vTVhkj_M4aYU5GvvYs1DKCNmHtQvuZ_wB6oYkWWQDaQ1F_DK3XEpfF45GTngJ_mhxD0eT-o97L3vo01HAfE4zcAR1glYIk1h-EIm1FC5YTTraemlbWBQvc0a-MF8JBA8qI-aIppZs6OxC7j00OKjBDe1v_xjnAP-ngVMMUB7CkZxe5K_wrv9g50O0ptzQFWC8lwg4ji0RDTFR9gheIA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="40" it="0" lt="40" ct="0" ts="1587564526358" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3MS1HUG81VkRkSmFWWTM3ck1mdjl5MGZJNVBSdUQwRVQ5NSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TyAlfSQ_tFrFe8wTtH9iqh1b4ZhhAKtCMFVuafOc_9NPn8jvZECgSj6BFhhf0-79tZUeDrGGy1K7jzLuqUHgTnC-UqrlHky3mH2v6pzHPfb86XKEMmPxhPGeMkcB_K3lXdZjGetnS0ObmiJY15VR8iD_fXHZt8c09dhAbzG_UeOHp9hB0JkVcOpuab093rd2EmOxdr6XxbmJtm-osULCSDDlfAyZGDWV9CoNMHpbZjbUnTBjC1bNYdXdyaMlJnmlnnBalB_QYuA9e-8UjJIRiQKQN0K2RQq0i5nXQcxIGEl_fG0yzKzNEQyg1CjikTXdvwHD2DvBnYyxmkLNAbCxtQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODM3MjY0YjgtYjBlOC00YzkzLWFjNjAtOGZlNzU4ZThhYzZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3MS1HUG81VkRkSmFWWTM3ck1mdjl5MGZJNVBSdUQwRVQ5NSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TyAlfSQ_tFrFe8wTtH9iqh1b4ZhhAKtCMFVuafOc_9NPn8jvZECgSj6BFhhf0-79tZUeDrGGy1K7jzLuqUHgTnC-UqrlHky3mH2v6pzHPfb86XKEMmPxhPGeMkcB_K3lXdZjGetnS0ObmiJY15VR8iD_fXHZt8c09dhAbzG_UeOHp9hB0JkVcOpuab093rd2EmOxdr6XxbmJtm-osULCSDDlfAyZGDWV9CoNMHpbZjbUnTBjC1bNYdXdyaMlJnmlnnBalB_QYuA9e-8UjJIRiQKQN0K2RQq0i5nXQcxIGEl_fG0yzKzNEQyg1CjikTXdvwHD2DvBnYyxmkLNAbCxtQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="40" it="0" lt="40" ct="0" ts="1587564526359" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNSwianRpIjoiSUQtVG9rZW4tMTQxOS1VLWp2RkpqQ0RZbWFXeXRNc2dCZGppZXhTSXMwMjZ1SCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.n9IDfdecn3YxH6CPFmolNCtErtxiX4LDwQYRnm9OcTLn-VRYpBhNNIW9YIK9R9GkPs-v-kz5wNc9ORx7bbXcKfq99890OFID-mUdka-f3O87wy4luSLA_A__ylA2QaEVabYVoAWJaU7NufrnbWYkZXc7kK9Dlv48UJdZBQk0owUXa8KPqCWZCUPDDhT7tMrP-5sTetbnwfUm-l0_1w0LW-QS1iI9YBCUWlC9BUu4ngYYn6VwX9vh555hY2tYRiU7bwbf7SjC9ErU81hGvyS9lnLkUdlgosO0PIPQT0sVgOPT40772dIQVW9IiUWa_3XQBfI0b3VZWGWhP4CJK3lscg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzRhNTkzMTEtZmNkYS00ZjA3LTlmMjYtM2EyZTZiN2IyMzZi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNSwianRpIjoiSUQtVG9rZW4tMTQxOS1VLWp2RkpqQ0RZbWFXeXRNc2dCZGppZXhTSXMwMjZ1SCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.n9IDfdecn3YxH6CPFmolNCtErtxiX4LDwQYRnm9OcTLn-VRYpBhNNIW9YIK9R9GkPs-v-kz5wNc9ORx7bbXcKfq99890OFID-mUdka-f3O87wy4luSLA_A__ylA2QaEVabYVoAWJaU7NufrnbWYkZXc7kK9Dlv48UJdZBQk0owUXa8KPqCWZCUPDDhT7tMrP-5sTetbnwfUm-l0_1w0LW-QS1iI9YBCUWlC9BUu4ngYYn6VwX9vh555hY2tYRiU7bwbf7SjC9ErU81hGvyS9lnLkUdlgosO0PIPQT0sVgOPT40772dIQVW9IiUWa_3XQBfI0b3VZWGWhP4CJK3lscg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="35" it="0" lt="35" ct="0" ts="1587564526365" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxMC10Sm5ITnhJcFoxN0hWdzJ4UTV3LW9GbFJSbHNzd2VDOSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sc3nSd4ZdKoM0JTg65TryIuX5oCjv6GAhtcwuOficFQnP9zCsEaR7nqVqnYsK590zeudskIWDViIB06SFvBGsRP9AJz3698NyTTRpMOgDTKm5y0k6Bpuf4mjuTaJMr20eMxJBBmf0fh0qFDOR87-XYUYzl8QAfELSw5BRTzbJVPavPNNU_JGoQEcNmZRsI7ovp2COisGdeK-362Pw87FyM6zB7YOpFSupDlSjHtCvw-1T_54wPOp119J6_DNBW9g6GHBATKdiND9Ss0ChC3YhTO9Tdjvo_56CBjWIULIJWThRyczQnB6JKEI6swKCP43SGvNxkDNoHdcJkzbJ6ZgmQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGVmOWQwNmYtZGNmZi00ZDAxLWI3ZWUtMzhjZTE0ZGUzNWM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxMC10Sm5ITnhJcFoxN0hWdzJ4UTV3LW9GbFJSbHNzd2VDOSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sc3nSd4ZdKoM0JTg65TryIuX5oCjv6GAhtcwuOficFQnP9zCsEaR7nqVqnYsK590zeudskIWDViIB06SFvBGsRP9AJz3698NyTTRpMOgDTKm5y0k6Bpuf4mjuTaJMr20eMxJBBmf0fh0qFDOR87-XYUYzl8QAfELSw5BRTzbJVPavPNNU_JGoQEcNmZRsI7ovp2COisGdeK-362Pw87FyM6zB7YOpFSupDlSjHtCvw-1T_54wPOp119J6_DNBW9g6GHBATKdiND9Ss0ChC3YhTO9Tdjvo_56CBjWIULIJWThRyczQnB6JKEI6swKCP43SGvNxkDNoHdcJkzbJ6ZgmQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="36" it="0" lt="36" ct="0" ts="1587564526366" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4Ny1YVlRidmJydEpkUFdhUEZFZmh4WXNHT2EyUmlvWmEtbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lS8tDCA2wFDEt9diOCAKOQbVPoI2HjkNShRfT8keG-cRUvcIYuvg0lv7KcjPwEko-gkou03dixyJ1O5KBp8iZbu3dMvpPrU439KJrMAvNm-HViZ_RlAnHYp9PLH4HgqDYtIgZGeHuK4naFWnFgzjRilN2jC-5Xrce6xwPiKMGStEaTgrUUvGGWrVSuy3OrNHwV1ASYiQUcx9ONkcCW2WDFRgY19UEAHA2Tee5qVd3ShBWATHmpsyF8ho4kaorAkjbC3Ni1-AGA3JXabLS2MNz0llHJQwtElWeEV-2jnyFuiQhZUgwywz9ZjbpB2YFfeCYJJkd2FuEpt-vE_gm7fTTA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzBkOTZjNmUtNzQ2YS00NWRiLTg0MzQtNjVlNGFmZTJkYmVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4Ny1YVlRidmJydEpkUFdhUEZFZmh4WXNHT2EyUmlvWmEtbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lS8tDCA2wFDEt9diOCAKOQbVPoI2HjkNShRfT8keG-cRUvcIYuvg0lv7KcjPwEko-gkou03dixyJ1O5KBp8iZbu3dMvpPrU439KJrMAvNm-HViZ_RlAnHYp9PLH4HgqDYtIgZGeHuK4naFWnFgzjRilN2jC-5Xrce6xwPiKMGStEaTgrUUvGGWrVSuy3OrNHwV1ASYiQUcx9ONkcCW2WDFRgY19UEAHA2Tee5qVd3ShBWATHmpsyF8ho4kaorAkjbC3Ni1-AGA3JXabLS2MNz0llHJQwtElWeEV-2jnyFuiQhZUgwywz9ZjbpB2YFfeCYJJkd2FuEpt-vE_gm7fTTA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="31" it="0" lt="31" ct="0" ts="1587564526371" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwMi1LN3FhaEd3d3BwWlFENzhVUVV5T1gydVdvWWFNVW40cSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.fanoom669teWL3SMc6ltmeAd_ktAl24aJK9-JZ8Bz4ymTPVyGw0QPY3YheUA8bBR2pnv3JcNw_1a0uL81dnVQNnWravCFlZvShmMZGibWTVp6lWt3F8mBloN-fEedVIfr9BxvnEoIvI3zbYYhKsFxF56v1lrCKTq1K1CMCz3lJ0yQSMJfg54JxY-sJP3k7n5ZsOzHFx8mSh3e5HUQpLZS2lraT1tPtMHVrytHOa9lXDZq-79A2K1ZL1oOQWHTGOGw4AArDOaeZB_k4LPjjzAutOEfCZDevBaUPKptgrTc98tBos6sFuDU2jjZCW7LryyHDSPClwFSuiaAjvfQhlo6A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTYyM2FhYzYtMGZmZS00MmE0LTg5OWEtZTMwNDkxMWMzNDY1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwMi1LN3FhaEd3d3BwWlFENzhVUVV5T1gydVdvWWFNVW40cSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.fanoom669teWL3SMc6ltmeAd_ktAl24aJK9-JZ8Bz4ymTPVyGw0QPY3YheUA8bBR2pnv3JcNw_1a0uL81dnVQNnWravCFlZvShmMZGibWTVp6lWt3F8mBloN-fEedVIfr9BxvnEoIvI3zbYYhKsFxF56v1lrCKTq1K1CMCz3lJ0yQSMJfg54JxY-sJP3k7n5ZsOzHFx8mSh3e5HUQpLZS2lraT1tPtMHVrytHOa9lXDZq-79A2K1ZL1oOQWHTGOGw4AArDOaeZB_k4LPjjzAutOEfCZDevBaUPKptgrTc98tBos6sFuDU2jjZCW7LryyHDSPClwFSuiaAjvfQhlo6A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="33" it="0" lt="33" ct="0" ts="1587564526369" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5NC1rcUc1WG1MYzhjSmNFay1XUEJQbzdudWRqSDBIMi1FWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Bu-ByFp5uX15-o9PtNJZsLsVj5taGWnUteynj4JwV6XVHjWkq-stuMugYseGaKyMo4fWnJBCclmYTX75i9-9ewH954OFUjoicrpp416QoiXRczTbzFDzSAWGoxEFnuKL5yvm-2jqd1yNcgHIYyRHLlt3x2gdKX490n2Tg2m9pPe9p2LkaNbmlbQNjKUwLrI4A6vLC6YWoci5LZZLA9rWfq-zLddWYDs7wOpSwepCgt9XMwMltzbI-bu9hDnWWuUeDhrcgZXjWhKcb3oQbpk9Qn4ZLBNqMYL1mc9wA5MLR-TJWhv4EGsIIUMJeKGxueFPrV1oWQLM9oQNZXX3-Q4ygw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWFhZTdkZDItMmFmMy00MGM1LTg2ZjAtYmZhZjQzNTlmYmE0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5NC1rcUc1WG1MYzhjSmNFay1XUEJQbzdudWRqSDBIMi1FWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Bu-ByFp5uX15-o9PtNJZsLsVj5taGWnUteynj4JwV6XVHjWkq-stuMugYseGaKyMo4fWnJBCclmYTX75i9-9ewH954OFUjoicrpp416QoiXRczTbzFDzSAWGoxEFnuKL5yvm-2jqd1yNcgHIYyRHLlt3x2gdKX490n2Tg2m9pPe9p2LkaNbmlbQNjKUwLrI4A6vLC6YWoci5LZZLA9rWfq-zLddWYDs7wOpSwepCgt9XMwMltzbI-bu9hDnWWuUeDhrcgZXjWhKcb3oQbpk9Qn4ZLBNqMYL1mc9wA5MLR-TJWhv4EGsIIUMJeKGxueFPrV1oWQLM9oQNZXX3-Q4ygw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="47" it="0" lt="47" ct="0" ts="1587564526356" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4MC1xWWRSZ0VmbDZIWm4tajJCM3pET1BpS1hydC14cWY3VSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bCxtXI3zWUrjB6PlJmBDtR_fp4w7OuSMlfpqSjUSF42kcPheO4gIYZZSydPz67lis0_pbsUY9UfnLL19yQP-_OU2anhygWWmlq9AJttr5OTr6tBSP8K6St1fdXFnUa_TeonF3uP6iucKvPBTCIKdQus6x4gxz9T34eFBxw1vi79MOW-O3fLMSPnMtDTSri4lY0SPTwf9LRaPaqccOmuMRKdEepoOlKHO3lFDKg5ku94sEkSYKk86_I28RFyR-6Knake7pJDsdchKC6-F5zHcvr9318YfT1U4oXKjA0-nqbJ1XbGkwVyX9XhkvfkHL8u-XcJc2asyxIE2BcG9VEN8bQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzVjNjZlZjUtN2EyNC00NjQ5LTlkOTMtM2Q3MjFhYWNjYTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4MC1xWWRSZ0VmbDZIWm4tajJCM3pET1BpS1hydC14cWY3VSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bCxtXI3zWUrjB6PlJmBDtR_fp4w7OuSMlfpqSjUSF42kcPheO4gIYZZSydPz67lis0_pbsUY9UfnLL19yQP-_OU2anhygWWmlq9AJttr5OTr6tBSP8K6St1fdXFnUa_TeonF3uP6iucKvPBTCIKdQus6x4gxz9T34eFBxw1vi79MOW-O3fLMSPnMtDTSri4lY0SPTwf9LRaPaqccOmuMRKdEepoOlKHO3lFDKg5ku94sEkSYKk86_I28RFyR-6Knake7pJDsdchKC6-F5zHcvr9318YfT1U4oXKjA0-nqbJ1XbGkwVyX9XhkvfkHL8u-XcJc2asyxIE2BcG9VEN8bQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="50" it="0" lt="50" ct="0" ts="1587564526355" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1NC0tV3JXdk1lYU96bzgwVEt0dmczZWxpRWU5dFlEeURjVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ru0xLKLMpfBK1R-eYzeCa6ml1iSSCdblHzLav3w-2Bs41vEkGSRyNpqgm1KmZBFX2KShDxp1l6oQkDdWWW1TV0F1QWMXsCOiu7V7QPJRtdDP1E14f6QJUpB3yjEn9CUVGDojp4xPdyK6yWGfBLDSCfEj2k3ktMIy_PWbP7AmhQ5ub4Y3R7Q499Grql93i4tsASKevqEogFFhNPex63xhkQZ0Dbvb5TdJjzkhTXKqvpLY6xTMlkt0Lhl9zCSshfcX2oK0QKwbwIfvVAQC_udkv6yrp_tLZqZvQty30cFukqSQYTNZqAsd9ajnFr6IcfyorspUb_UJSDNr6QUiPADKQg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjFjOTIzNzYtNzk1Ni00YTJiLWI5NjItY2Y0YWVjYmE2YzFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1NC0tV3JXdk1lYU96bzgwVEt0dmczZWxpRWU5dFlEeURjVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ru0xLKLMpfBK1R-eYzeCa6ml1iSSCdblHzLav3w-2Bs41vEkGSRyNpqgm1KmZBFX2KShDxp1l6oQkDdWWW1TV0F1QWMXsCOiu7V7QPJRtdDP1E14f6QJUpB3yjEn9CUVGDojp4xPdyK6yWGfBLDSCfEj2k3ktMIy_PWbP7AmhQ5ub4Y3R7Q499Grql93i4tsASKevqEogFFhNPex63xhkQZ0Dbvb5TdJjzkhTXKqvpLY6xTMlkt0Lhl9zCSshfcX2oK0QKwbwIfvVAQC_udkv6yrp_tLZqZvQty30cFukqSQYTNZqAsd9ajnFr6IcfyorspUb_UJSDNr6QUiPADKQg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="44" it="0" lt="44" ct="0" ts="1587564526362" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5Mi01VTFjeXFic09LNXp2R1U1WExSVDNYSkpmbVdnRS1VWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iztF5w0ZPd4DM2gPEnuuIJSnCT_RBF6vcOvlIw3CNXK5_HC2c9JiI7U3u7hnInirs67QSD3B5hVY4RPfMqacNlp-MpDhzy6L4RkNt1AuyYb62DXmlEGi3oo89mY7kHgVeRNHw0ck-356vXPkBpvopI_YV_6eB-hpLZhFrtCNvbozKvuijTTdrsyxuuK2LSWcPQKkUi0HLxJ7oyMmu5pglhptKLD97s4DfUJmXYIGjgdHLR4RCEdfptyZVyVHh2hvsR8n0N4-9yKc1KvCC1FDbFl7jiN1i6NLtef0gSiEhzpL1NQ8t6KusAzkaZXeH9BVvxA9aUMCWLV-tGl3HFfmqg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjBkMWQ0YjItMmFmYi00YWY5LTgyZmMtZWVlMDgzNzUxZjYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5Mi01VTFjeXFic09LNXp2R1U1WExSVDNYSkpmbVdnRS1VWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iztF5w0ZPd4DM2gPEnuuIJSnCT_RBF6vcOvlIw3CNXK5_HC2c9JiI7U3u7hnInirs67QSD3B5hVY4RPfMqacNlp-MpDhzy6L4RkNt1AuyYb62DXmlEGi3oo89mY7kHgVeRNHw0ck-356vXPkBpvopI_YV_6eB-hpLZhFrtCNvbozKvuijTTdrsyxuuK2LSWcPQKkUi0HLxJ7oyMmu5pglhptKLD97s4DfUJmXYIGjgdHLR4RCEdfptyZVyVHh2hvsR8n0N4-9yKc1KvCC1FDbFl7jiN1i6NLtef0gSiEhzpL1NQ8t6KusAzkaZXeH9BVvxA9aUMCWLV-tGl3HFfmqg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="40" it="0" lt="40" ct="0" ts="1587564526366" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4NC1iazEtMkw1UU1ldWtkMW4tSzVwa2U3dnJ4SHlxZFY0ciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Nw3aTNO5zMX58hdpXGDT8daA-nUSXPZ-9u7edJ2kNDO-yiZTDyV5rigrV8Zm_nmYim2YmHfekRnmlQ0ME0yberKhpNGOpiG574sczNPjDEdnz-WdiOkyJqhnf5omSC6PhPHth2Fna6ShDHYz5eqWSCPxDwRK_2gjFY7vVz6gk__cPucuQ48S6yQgFnfBbOeV1mKZ-NJHi3eKHAZgp89eJBrUK70upsmJn6PUkdloRduwC7agu-vU22d6uWW5QwzsPQp84OvyoSHO6mcSHYb5vad622n7JZb2-hnvnG_dlYZoCTyOakALJtiU2Be1XDi7JPQDFmLQCNGB3Crs0FF-nw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjcwYjlhZTYtYWI3MC00MDk1LWIwZTUtNWQyMzEzYmJiYTNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4NC1iazEtMkw1UU1ldWtkMW4tSzVwa2U3dnJ4SHlxZFY0ciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Nw3aTNO5zMX58hdpXGDT8daA-nUSXPZ-9u7edJ2kNDO-yiZTDyV5rigrV8Zm_nmYim2YmHfekRnmlQ0ME0yberKhpNGOpiG574sczNPjDEdnz-WdiOkyJqhnf5omSC6PhPHth2Fna6ShDHYz5eqWSCPxDwRK_2gjFY7vVz6gk__cPucuQ48S6yQgFnfBbOeV1mKZ-NJHi3eKHAZgp89eJBrUK70upsmJn6PUkdloRduwC7agu-vU22d6uWW5QwzsPQp84OvyoSHO6mcSHYb5vad622n7JZb2-hnvnG_dlYZoCTyOakALJtiU2Be1XDi7JPQDFmLQCNGB3Crs0FF-nw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="42" it="0" lt="42" ct="0" ts="1587564526364" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4NS13MEQyTjJPOEdMUmlYZVlEZTJqMVNmYUg3djV6QUp3LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NAleEXkVh-K5t3dAy2mW5UzlB5-81qKtXiYCmz_i_dxUfoljkNoXSIdmNJlUfBGefYoFIbARJxxH23Tg4l0edHyNcWCHAmagLaVj4zseut7UBbnqknr5_ks98tKZe7iMuS8XyXV0IplmJ2vBB9yb7RMSqrtMybMT2zgVoHYDJ3pHOiOXnrLKG-qG1aiVA6pyd1dsI8ImXJiTQC4v4T3NYdqe1AhPeRgRqb_nVngc5Oa5ndN5F0maZnDWInKq52m2TrlriisKUKLypM3FJEm0MVihMcd9hZEaicehjt13J4arFX3ZB2B59dvrha8yIA9fWa6L2-zO8HKRQ1GFVx9nCw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDVhNTZkMTMtZGQ1ZS00MzkxLTg5MzQtNTI0M2NmMDI5YzU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4NS13MEQyTjJPOEdMUmlYZVlEZTJqMVNmYUg3djV6QUp3LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NAleEXkVh-K5t3dAy2mW5UzlB5-81qKtXiYCmz_i_dxUfoljkNoXSIdmNJlUfBGefYoFIbARJxxH23Tg4l0edHyNcWCHAmagLaVj4zseut7UBbnqknr5_ks98tKZe7iMuS8XyXV0IplmJ2vBB9yb7RMSqrtMybMT2zgVoHYDJ3pHOiOXnrLKG-qG1aiVA6pyd1dsI8ImXJiTQC4v4T3NYdqe1AhPeRgRqb_nVngc5Oa5ndN5F0maZnDWInKq52m2TrlriisKUKLypM3FJEm0MVihMcd9hZEaicehjt13J4arFX3ZB2B59dvrha8yIA9fWa6L2-zO8HKRQ1GFVx9nCw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="45" it="0" lt="45" ct="0" ts="1587564526366" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5MS1yUU1wOVU4bjA4Y0FKLWNsaWJXU0ZMS3V5U2JqRi1pdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LwIy_-UXlCcflAoO3Q4sjMFtvRKcZV7LCifhtTrk804iQ8Wc4fP-hN3BcOl7Q_37FTkQmk8eewxm3FDtB9izOeDnQIN5yxWPHFHB2pPO4eYr6xq2--VFRdmAgwHzN7NwzWd1spIsm0DoKiqCSiqIMjmD4sId0KUk4ZSeCxP_vcQHAxCUPFuqJvg4Dc9pih5p5trQduRHoRvxTzm5atkvsuZ404pvX0ENZrBABgNibJhc9uYueSOG4WK8Q_B9VFiJ7ROe80d_5IU5Y2U_8739jUBwTEZN54YT3wwL4VaxY99KYpyMamUx4G3MFhaScRJU3Qc_gdFjLlWdmrY-GacY5w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2NmMzI4MWQtYjQ5Yy00OTk0LTkxZjUtNmNjZjVlZDIwMmUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5MS1yUU1wOVU4bjA4Y0FKLWNsaWJXU0ZMS3V5U2JqRi1pdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LwIy_-UXlCcflAoO3Q4sjMFtvRKcZV7LCifhtTrk804iQ8Wc4fP-hN3BcOl7Q_37FTkQmk8eewxm3FDtB9izOeDnQIN5yxWPHFHB2pPO4eYr6xq2--VFRdmAgwHzN7NwzWd1spIsm0DoKiqCSiqIMjmD4sId0KUk4ZSeCxP_vcQHAxCUPFuqJvg4Dc9pih5p5trQduRHoRvxTzm5atkvsuZ404pvX0ENZrBABgNibJhc9uYueSOG4WK8Q_B9VFiJ7ROe80d_5IU5Y2U_8739jUBwTEZN54YT3wwL4VaxY99KYpyMamUx4G3MFhaScRJU3Qc_gdFjLlWdmrY-GacY5w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="36" it="0" lt="36" ct="0" ts="1587564526375" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxMy1lVS12T21pSDB3ZW5RRFJyME9uSjhwdzJTaWVkcFI5TCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.E6H9dw6A9u-PzEJOya9_UtA7r-CSIZ0TLMapnWJ49FZ5J53ZIy08Ndm5AtqD1wAY06IJXzgOBE1PKIRDzaVBPil7BC0o6zPXU-0r923OFU0ydxLbue1oG7r7yUYoKVu2UBrEhPxpUgaIJas6tgtJmnWInGRd6Xzp6GGzLQj_7QudrOCd4IELict75iQgcodm5raM13eYOH6aHIZenTuynPK5ORcDZmfoYLEJ0znkO09vpu3Qqvfoo0sNO_iCVFopDvoY6OMvMwWRPrN3KtzyFofhY3MTsC5lPI0K1AGLLSZ098miTwZtRI6HySIT3erUjvqOuJR3RLryfh3PMQYOMw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:45 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzgyOGJkZmMtMzc5ZC00OGQzLTg0NGEtMzRhYWFiNTA5MGZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxMy1lVS12T21pSDB3ZW5RRFJyME9uSjhwdzJTaWVkcFI5TCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.E6H9dw6A9u-PzEJOya9_UtA7r-CSIZ0TLMapnWJ49FZ5J53ZIy08Ndm5AtqD1wAY06IJXzgOBE1PKIRDzaVBPil7BC0o6zPXU-0r923OFU0ydxLbue1oG7r7yUYoKVu2UBrEhPxpUgaIJas6tgtJmnWInGRd6Xzp6GGzLQj_7QudrOCd4IELict75iQgcodm5raM13eYOH6aHIZenTuynPK5ORcDZmfoYLEJ0znkO09vpu3Qqvfoo0sNO_iCVFopDvoY6OMvMwWRPrN3KtzyFofhY3MTsC5lPI0K1AGLLSZ098miTwZtRI6HySIT3erUjvqOuJR3RLryfh3PMQYOMw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="414" it="0" lt="414" ct="0" ts="1587564526210" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-51" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTQ3MGYwNGUtZWExOC00YzA4LWE3MWItMGUyMDA3ZjMyNjE5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyMi0tQTZOeS1EVFJUR0xzT1BhTWw4a3k3LWJDVTR6c0F6QyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.X0pBcKHsnQGAbtDGYiAyU2qOVtbAT0Q6XNl-zxGxeQrIHHYPb_DJqMejzxVm3iW5tfDRu-k97KqTQkWNZmqBl-QI94cOHH8SZUOiX6UZbelj1EmHWKTfX5_4meUX-k-poe8HZkCQR2Lzcj3qoUqi6aTrLGQxPdVL70lp9zQ2zMUiQAJaGRHkEb4SS0OBbnhTO-iH_Wd-Jz4Miid5FXJ7ydX2-5gqvrYps0czEvg_6GWK9opi57Ijy4BOWLmkqbUktsIaz0iLrNmzaJHCQPuWCH1i8e2RpqWDL3A6Tb4OdN7hPyMcOutv_TFPIs24Srxw2v1On9Bh-dnccead7bDfHA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTJjZmQ0YmEtMDIwYS00NzllLThmYWQtMjI5MzUwY2NlMmFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="503" it="0" lt="503" ct="0" ts="1587564526232" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-65" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTI5NzJjNDgtNjNmOS00NDA0LTg0ZjYtYjIyNWI4Zjg2OTli; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzNy1WTGtQYTJkT082elB3UnVDLVozazAtZUtNRjEtbEE5RyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qfkdV2hnI1JANF78H7onjpwYmnqmP4x1pq_7Fig315kg3lJDGWBO45FVu1cVUe94cE6ka2IIjfVxU5NL_WgaeumP4YkPTSV6rotVfFuKWotQPUnlzWIQ_Mo-BGmx7BUVYJmgPJj3qCKrwVAa8M0aMzJ4uzuIc5exURIHU-bsPlnqfF4U-g4JjY_EZIK9yCR9Lq7W2CnMQmsEUFWHKiIDEMwd0B6RTsri3NCQq9oURKQiYEVsQj_Q2MAN-om82NXk9pa-LMh_36D2K2IO8HS4pArF4bI8YZHThPdWBb7KFt5OIJxCRb1RXKS5Ho3id-8dTiuCaMSqi7WSGwfp79_ctg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YjVkNjhjOGMtZDRmZS00NjllLTkwNDEtYzIyODI1YTE1NzYz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="571" it="0" lt="571" ct="0" ts="1587564526214" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-25" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjBkZjZhZTYtNDNjZi00Zjk3LWE0OGYtMTYzMjhkMTE5NzE2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTM0MC1pYVA3UEE0SC1YZEtwZExkYm1lZXBUWFc5TlFoVkRZVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hd43-6iV4vhzuWgLMHOZmZByC9zA998X2ka1VmSHbVri2MvXmetrufUh-oZg2tju_aLAOfIOq2MrnvebBd0KTVHDRIb68asdpP_FukPXPnE7JIXtC1OI9dtKs1lpTccySfKIv63M0rswU_gAN1sO-lL0zSqgwJxjh9FJkVAKLtkmMNf_vCnavPvplQcto-yDuFURHeMyNJtC4jBRUdsw--wO2Q1LEQ4DRLb_XMkPH1pr0nMoKHPKukL8Rj68h6KWfEP5ey9nbi_TUz9pXI3SxKEIhJ_NmFLXOlvRgYVCW_vEg_0nmE2MzXpImzh6Uoy2eCA5faIav0XOqkfMurVtIQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YjU4ZGE2MjctYzZlMy00MjA0LWFlMTQtNTc4N2E2M2YwOTc5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="545" it="0" lt="545" ct="0" ts="1587564526272" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-3" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjY3ZDg2ZjItZTYyOC00OWUwLWIxNjItMDAwYzA2ZTg2NTQy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4MS1PY3Q4bXpBdHR0QjIwQXFhME5ESGZiTWFuT3dHdi1xYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.k047iS06Qa-4FgSV8adWyXijrF7JJ7aEOqparqmoj5fMzYtb8eR0vppK4Ea77H4nPzyN94gMZljJrYYOLbXy5hzu64ikoJrzcLj1gZYuI7RpbyFDeBCikzroTn5yqbOZKmzQlxniWLuQmNrdFm4E_VMEB9-kPfZFPZoiYKz08splTZCKLvz9eUx94kB2XO90xiCPEXn1C9S2SJHJXc9xuUlf2S9KBSp91euGqOLjQn1FRC-KdxGB0o66pBZkiCcO3LdWRwlUXnhEqPlvR8Hiv-CxfRgj-eBYQcF55d8zwSgaV1MzqjN8wReWC1dfowkdSfk0DKhXasJZpf1qj814FA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NTZhNTk4MDAtNzg4ZS00MTI3LWExMjgtNTFjNTE5NjIwMjcw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="424" it="0" lt="422" ct="0" ts="1587564526396" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-18" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGUyZDMzNDQtODg5Zi00OWJhLTg3YjAtMDZkNGFlNWVjZTdj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxNS12Y2JmVG5KY01ISlRLVXc1LVl3TTJ0WklXRGd3MjhWWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BhAKpBrX_YyHGIPJEoSYto8wFPEByodzW7xBtroy1UqZYceRoRp2xVxwd3AcNruG9rNGAKYv9HKg7zju0xRFYwm3T8FCtGZ-QGXkr7oqBcfiqA1USj-MiT_XbstRdsnT6xT4h53tXyVbB1EhM4F-3mdOcHM_yxc6wWNYLK1sEG_D4Oem3x3UHVCW4KGUZEZOM1lUU2Qdb0ATM-p2wbfVJDPlS-QoHMRrB5pBs0U4e6BaxrMazGuHAFxrmNK57EmMwH7SGwT0VjHK_ZK6oC6ERJ0zMbgrEFZCtRylG0CN8X2_pxhB14YZymG-f70UGCymbuD3Kr3BX5Yul_oIuV2BKQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTliNGNlZWQtYWVlNS00M2FmLWJjYjktMzA3Nzc2Njk0YmJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="552" it="0" lt="550" ct="0" ts="1587564526268" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-88" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmMzOTY1MmQtZjQyYS00ZjBlLWE2NWUtNjE1MzlhNGFjZGIy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzMy1vUzM4c1lZTGdRRUgzQTN0a1JNN21Pd1AyLXZmSG84TSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.knEFIYSHWbBJ1xExG6luH9xReQj7GpT1LNCk_3buJxTwVDK_Y8DduC_IElEJVtbTV1BDyOqdXF6TbyTUSdGgJtzX2W-ppDWGdBXnkXCUuQ6MWmwwLOsknpqvw_fmW_cRJHiBStdkM9i6OwGoKoNNsmiU_QHrR_U8rGnPL3EJNSm7KNSSDLcMU2j_-Fnb--b48Gn3bst1GXQtc0CyVGqbi8_814zZfgcaE5u8gW4qh_ZM7xuyzQy6CcGSMTF6rmFHtnzpPq7dgqttJvnHie-PAk4-jAgSZbRwPWlCAV8NMeZK-Dau9vJ2W1hIPxjwNi8p6OrRYntIAnXhDpP1PaNsOQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OGI1N2Q5NGUtZDI5Ny00YTc2LWE1NjMtNTQ1Zjc5MzYxYWE3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="531" it="0" lt="530" ct="0" ts="1587564526289" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-79" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjExNTYxYjEtZTQyZi00ZmY3LWJmMzItZTRmNmIyOTE0NjVk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTM0MS1zNUk3dkRBbHdRQzZieldTVXlJaFQwUHY1RkQwVURqSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UHQvMaeXbaHaqw93hfVQ8Kv1CMBIPb4J74T-sn0Bc_DLRykkYRwHC-E8o3x4ZmiaPda8_vozSxpH0IaCKdTNyA20trlg4ebxriE7she7LFmXf5Xw50KUQOX7Cd_WNNf1YgeRcAmFjQaVx5y9gNiPS4ZWds-nEBvnqyte53pR75HsV1hOIrwac-CummrSN0xMVpq9LH6o3fWkCz7R1dPzu6SLXNQlUTSwahJmuCqXSYKo4BlpRFfYBu3clFOnYcHPaDABgzEMVZFL2b0IBnSK5pKUZ-34jIRn7XpFqIJDeQlJbwFLM3pDXXCy6XZR1LpVj6Ppb4L0-91GnonMPmtg9Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODBhOTNkMTMtNTc1OS00ZDkxLTg5OWUtMTUwOTkwY2JmYmZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="564" it="0" lt="564" ct="0" ts="1587564526256" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-13" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2E5OWQ1YjMtNmUwZC00ZmM1LTljZTUtZmFjZWMxMjJiOGVi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyOS1MNll5UG5xREFVT3J6OVc0azJoUkxldEZKS0kyLTk2VCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FXyS_NbS9_OwAm6XqoPFBQJdkfFC_aB0eyF20rJvRtCv6mCBIJ4B4dp6B9iMNI7ZjRsgFZb6C4Fmdbm37wa3JOH5ieasV85M9kl7Z_-e5-X5g6In4SRQ_AjOIfSbsl9YD4dht59je668y3_lyaa2vWNqpmEod129lFRNsLvzL3zC0j4aaf4HzhTw8od3z8NEqf8c1--aHFYAB4T63LgPznHC4DKl-8QSxUaD99yF-lskE3fhNKtgbq9spDLSF4F8Yq4z2f1rqqXZGvT48V1oD-Yus9f6eC1gT_5z2FA0W23En8UkMJEu0cvKV0d5LJBt7knrn06Wzwdc9B1TbLYWUA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MWYwNTFkNGQtNWQxZS00NTc3LWFhYWItYWMxNmNlY2U0NTYx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="559" it="0" lt="558" ct="0" ts="1587564526262" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-35" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmZlYWMyNzctMWNmZC00OTEzLWExNTEtZDBkN2E4MGZjODI4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1Mi1KeWwyblJkU0hRYkFsTUZoN3VmeFNndDZJazd6YU5KSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SAUQTtTtArDm5RvLeT3dRgABg72zQwFI9FY1VJIKTaNe67hvXcAS0VwM7Pzgx4nFBEIJBciv3r9CjaGY20wLbQi3AwO-pNbqBP7AcO4OSNe6OwrQvlrHJ1CEUK2AnLmIC1T_4l79McskfChy93EU_NEeYe1842ShxS0O1--41z_liW4rKZEQpP2LgDQg9PaJEafHlMt4vMV6HQOzS2Wi4MZVzxS8PLSf6EKOFwg2WYrQqbMhNis7_yGm2Ip4cdV5udLXvydJMGTpU9CPnpDwlHF8XDBxqn_qMUluTYkHqlFMvbzNKvYTzyr1eAx2CcR9MnGgc_YUNDlo4whRqun0cg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MWM4NWQzY2YtYWNjOC00NTJjLThiZjAtMGFkYWNlMWMwYTc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="548" it="0" lt="548" ct="0" ts="1587564526273" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjdjNzkyZTctNTJmZS00OTA4LTg3MDktN2JlOTRlZDNkZmJl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1Ny1XNThHazcxMUNWZWtlSHR2VWotQUV4TVRuN1lUZG5HZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aSkai2CLtibF5x5tMAitMZoOy7XszJdjQn5J_38l_iD1qokpbsFXRQkewM4y9J_8UgOdnJEgqF51GglNrrwiquCOJ9RzJdCoGf9lEeTd53_Bgzw2LM9gI7hEqJeg_dOsAI120aeIp-grWA-PvtFxgTqAK7gOamN93pSQB1nTuM1QBuS4iNiggoENF_JvF5Xi_AgkpsA9H6RqGnh8YD3JzdiB0cWpCg4xU-FPKNVIWk4jB3mtszETnI-3bpiwYWgwArgHNZU8LVkm2oJ04_1aKbioah7wmr7rcD3V8_WV2zJi6YHX2Epfqxq9ktiWWWw7dU-pYyhflzebL9s_GxziMg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGUwZjZmZGEtY2Y2ZC00ZDk5LThhMjUtNmMzOGExNjhjMzNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="562" it="0" lt="562" ct="0" ts="1587564526264" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-4" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjcwZDRiNzItYTJkNi00OTFjLTk3NzEtZTI1YTNhMzhjOWQ3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1My1pYXdwd05zcFJSM21DOWlKa1FPeHhGWmo1eUJOZ2RaVSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Z8Tz3noeSZ0f0zrZC0uy68DT4wZDdZc41dqCNsOkEWvbbpA3DQ9V5PGjGRx4WOSs3QgUyFAkxxOrgJ8b4zP-vkdnSdsUzFmpiym66CXQtHT_TDYhmbYw_A5ZHxv0x4-ul3JheapKAhdOULcYtQUIUY3OBG658IxyJ81hLazuzN8dRZwuhkVEUWKcKQNdXgoSMQ_RoDS3Sq5elj4a11mubHOl4DGR4gpRjbndTi98AVOUdMc30hPSTIp5kNBI8vYTNojPTnGKNK4Ns7O_iinxFDuMO7ZEC4BBbSxgytnkI-iM_ntoyasgWjVYxC-OcpXKsqvi6KDWwK54EidSmGhoqg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjI2YmExNDItZDQ1MC00MzIyLTkxNmYtMDJlZTAwNzI0OWMy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564526822" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Njc3MDA1NjEtNWY4Zi00NGVlLTg3MGMtNWYxNzUzYjQ3NmMw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564526826" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDBmMTJhYjMtYjQ3Yi00NjdlLWFmNjgtMjExODk5OGI2Y2E2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="527" it="0" lt="527" ct="0" ts="1587564526303" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-37" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODc1NzQ4NTQtYzY2Yi00NjUyLTgyZWItNTk2NGJmMmY5Zjhl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3OC16elk2SWZ1WDg4a1FzTGY4UHZFSmZQQk1IZTVjVGxWQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.V5ahHrFgGkxJWzl-9LCIrBwlD3kGmLMq_sdG7A_514zSPci7Z45D8y4CObn5Cf7bQIR_DWB3N2_dLEUXJH0D0Oi82dKSAvStyWSDu9YJJs7c7tmrFs6Yvz8Ak3j2Dogls7UKkSZBoJ6TtRqOUqxzBI-dkRExR4VvalUm5RWTMab6ttqnl2HeaH76GP9RzNqYnxikX34HPDz70oYsZiwbNMO7pRwinSDamJ9EjQ3We8av4TjOQGFQix9dNcUZ9q6rym8oWpj7eCclYpSnk4EzAn9ysYm9r9JPaJ7Ty_txtWcZiGqSaBG-YFHAAvevkwX2VFMZ-VmC-JvfAl_dN3yuSw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NjkzYzk4MzQtYWI5Mi00MmE5LWI0MGYtMmFjMTE5ZWM3YWVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="555" it="0" lt="555" ct="0" ts="1587564526276" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-56" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Nzk3MjU4ZGUtOTZlMC00NTI5LTkzNDMtMDRhNDkxN2MzNTBm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyNy10bkFnYmlhOWQ4N29QZ3VGcFpIN09Jbzg2MXlSLVVELSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PH9Vi6bxDhheZ6Ajz715s8v60jzYgXIkA1XCDSWeAAxjGRMZuor1ZZcF0ZNh2v5fQLi0Jusr1z8KRYHBxRRqHIAB3dKrZN1AGbD7FZBu15KG_x8NSoeg96NhjheFNutHFzWcF-SLUpwOAs1F4nFMZgtW8aQUU6AnwwCn9JzpOM93jQMcKv5G7p8uY0eBnezJfr6N_QG3wGOZr6i6y9uIQXzgTIXWRxiAtTtcUYEUE1SK1UlTJLo-yjFIqctdgXdkA-F5WlezKv8kB0N7B__sLo4Dq_hh2mDNW-HiQOdgb_8wQWiraZ-7Wr96QHR-Ky1hc1VjgRkvmSB9IYh07B8E7A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NzUwNWM3YTktNWNiNy00ZGFjLWFmNGMtZTVhZmE0NzU3NGE0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564526827" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Njc3MDA1NjEtNWY4Zi00NGVlLTg3MGMtNWYxNzUzYjQ3NmMw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564526832" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTEzNWEzNTQtYzkwYi00NGRiLWI2OGUtODE5MTc1ZGUxNzk5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564526831" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTMzOWQ1MTMtMWMyYS00NjVlLWI5MjQtZTM1NDRlNzUyMWQ0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564526830" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDBmMTJhYjMtYjQ3Yi00NjdlLWFmNjgtMjExODk5OGI2Y2E2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564526835" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTEzNWEzNTQtYzkwYi00NGRiLWI2OGUtODE5MTc1ZGUxNzk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564526835" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTMzOWQ1MTMtMWMyYS00NjVlLWI5MjQtZTM1NDRlNzUyMWQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="36" it="0" lt="30" ct="1" ts="1587564526834" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d73a72d0-ae7a-4714-8b4f-d3ccb0de6465; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="33" it="0" lt="28" ct="1" ts="1587564526840" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-37" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8c208dca-50be-4481-bdcd-ab8fd1076452; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="34" it="0" lt="27" ct="0" ts="1587564526836" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-4" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3acbc447-e8af-4e86-9be2-eb618d67f675; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="36" it="0" lt="33" ct="1" ts="1587564526840" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-56" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=43bee7da-a8a4-43f2-a3cb-6c88d1bc9519; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="662" it="0" lt="662" ct="0" ts="1587564526231" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-61" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWUxZjA2ZTUtMmViNC00MTg4LWI5YzctMzU3NGQwYzMzOWYx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2MC00dk1TaXFLSjlIMHZDeW56NXFHd0JWZkV6SHNyeGJibiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AUtPTvWVD_FLtGoSV6UZBYyN6D57M-XjXW_OiPUrTHxEMBIYKS494vi8DLuu-iC7yaelxZpQZBfuxroQc6mstmJJATZHlpqxfGHjuvGdXLXbrAFIv2-ShzFiPxojTgXFnx6gCBcFTouEAR2h_6SBP8SA-VpGVxSIvZx2470JwNSwYUEZoJT5FHPW_VPENxVDL1Tgx0T9gEoaPjrjlKtIzvOJWXFIjIrt7cXusPckny-clfoo23DSYk76i5e_eJGouNJEiR01z9PsuiwVEMwb6sfS9jfO4IngCZWENBjFFePl0EBKqsDWJ_85plGg4Vtd6AWjTtQH4cYavh_bM_7GOg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OWQ3OGY4YWUtNDVkZi00MjkwLWI4MTItNmVjNDZmOTgxZWIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="638" it="0" lt="638" ct="0" ts="1587564526273" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-81" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzI4Yjc2ODMtYTcyOC00ZTg5LWEwNGItYzIzMjE4MWY4MzA3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3NC1Jc3VIbGlvcGEtRE8xVzhPcml0NHhXNnoyeFAxak1TcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.s1ojuBK_S-ldSZKam04gBE5vNatB2aBBTKas3XQ8R6u-2IzqgEi-uhOPiucz8BPf1zeZrta1KvZIqsra_JQMMezayqiDkA4sjaR39T_BaQvBomtpj_xQ9MWsX9wNtWUmzJ1ML561-BkshSTzhmnLyV2rXHrB2uA5buRoQQ6lAcRdpuDs0TstIz6MV35vPiGQTnqR3qBSBHRJTIifiRORS3XSFCA7uD0bhv3Fo2kamiyto2ay4pKxWchyjkmNwSj7E41XA1N81ziDExGql55ilyzRwZmAitR4QI3Op1Qpg5rpoeFLQbAaYrgUvbmkoI7y0wJMJu6cYdzXu-VRLJS7FA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YTU5MWFiNDEtOTdkYS00NDRiLTg2MGUtOTliMTI3YWU4Y2M3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="693" it="0" lt="692" ct="0" ts="1587564526219" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-6" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDFmMDk1ZWUtMjE4Yy00Y2NlLWI3MzUtMjcxZGQ4YjQ5NmU3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzMS1vcGpvSm11RDBtTGY4SXNBNE1wWkVVd2FRWkQ0RzlHeSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.f6Gd31_1HwkhAy7lrKDnXLsKb5rfTkYVJIOdnr7pV59ENdDAk9i5Ez1Bim_ARmC2FH1MOTS0kbfA-xwqMQp9ZvCCHwmapNMrGWso3LQ3YWY4vqz6xiXjt64FpIbJB41dOFW-d7355a89iUDm4DuZaHwjuaC777z7pby4xZfu-320thDmoFfEyupLv5PadL5M5NFGRm9OYP3-1N88t3HKeZ3JOa5IqK1iJdahcqZ6VNvqZfZtsnK4WPWUqfuPpZZxOmQWH2bWm2RfE_PTyq8xvG6x2vo2RzIcS7SW59qTpBij67kwdL7rLda5rViEgyhw5v0ZP6XkWopGncE9uyt1hg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGU1MzUxOGQtYmYxMy00ZmJjLWIyNWQtNGUyZWQ5NjAxOGNh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564526912" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzZhZGFjZDEtZjgzMy00M2NiLTg0OTAtMDZiZTYyY2JiYjFm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="688" it="0" lt="688" ct="0" ts="1587564526228" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTMyZTg4Y2YtY2U5Mi00NDVkLWFkNWYtZjljZmMyMTA5NWMy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0NC1lQzV6aUFGOFEtVU9CSXhiWUZDODVsbk8zUHJUUzJ4QyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DrdkYCfly6aBTTm6P01tF-sr92GQJFBGrsnfWBx-mNhLt4rPMjzsOnGMOe3bodhuwNPhhaK0wYPEWII4UsxKQnn8XGbAfYP7XuighI_aZbVgY45fOSAKfdPWf0Hw-BX1rwl4XaXV2VraqCUKf8mRtFV-Wl5Sx8OERGo_12l9Zhlz3GgPUtQ5f4DoAPppDf7C5ouqyPoR6P5MM7jNilSisKHQ4nFGIzDk2cMnLXHVOw36YdaThGq8QcElqYTKs4vJwuckwcasSyv1Ne3HqIIsSi5j5z1XHRjYUaU9Og87kC76g-rUI8St8v3PxiVFjrymqKY_fid0_Zid8orpIa52QA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDFiOTBlZTMtODc4Mi00OWM5LWI5NTUtYjlkNTcwMmE1ZTU0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="703" it="0" lt="703" ct="0" ts="1587564526213" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-71" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDhmOWY2YWMtYmQ4Yi00OTg4LWExNzYtYmYxZTcyZjhjNzlh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0Ni1pWEdNRzJUSTBQYmVvR1o3V3N0YXItc3FxajlGMHltViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YVTdQAYmZdbVXlTm5xhwT4JJ4QPWy-moT07b7_wvxfVtcPFUc8eZJ0I7OCvo8LC-d96zaPqZApd69vmLiWPPC5V646OpK15rhDHO-db79gNTZfHdhpI3UOFEtgdQUGHWydkYcJU-4Ge_BTb5_gEv4JdOJfZ1kwRT7-NMxgRr3GQgNlufGtI6-UTZuXWDgW7XoOJ1jrkr_f0NK5sJMGb80Jmyn6dG3or03Vt6dPvYKCQcGJnSZ_DqDkG03fpYDUVrFn-BVmnaRkfG7bCgiTIlC4_6SEHxplpXse6nnkDG0FviBPrRiVosGqXQ2fEv6E6_RtQE6c7KqIvTmlQygS0Wog
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MDdkN2JiNmUtOWQyNC00ZjNjLTliZTItNmQ4NmE0YzM0Mzc0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="635" it="0" lt="635" ct="0" ts="1587564526283" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-53" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGI1ZThmNjYtZmVjNy00OWZlLTlkMjUtMzYzMTIxNjM0MjA3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2NC1mVTFUcy1jc1N0U3lpbTZzRmZtbTlUSjhObVBNRjFBdiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lPmDVdRbClcOc12D1hxcYxmS_xbi6GGdLztNz22Jo2X4SvYA21RqdT2deBiCDZV_MkK6Z_dBOHYfFtl20UXi4hL1f5-AEd8h8hxTNFD-U7MBH4yXUOd9Ko3DM1ja6OlJvXSW_YU5d8KgW2JfjF-GXnvZ1dFOzwkZAZ6anfIFw4i9PBeR1xZkC6GBwNFxNDZPt3tDM6c71-383uJfO2bd_54TAwWM7igRE0hsGbBvXB6cN5X5m2CjGqDBgqmiG3VQBzsjMSMOCL9IOtp2uK9Im_5bq6NknjcOQVTrHG3H_2VSQgkuubHDSc0rFT01qmzw97ISBbUpaytAI0v8PXlD-w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MzIwNThhMDAtMmQ0Ni00N2UwLWFmMmMtOWUwYjIxZGQ4NTM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564526915" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzZhZGFjZDEtZjgzMy00M2NiLTg0OTAtMDZiZTYyY2JiYjFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564526918" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2JjNTVkNmItNTAyYS00M2RkLTllYjktOTU4MTc5NWZhZThj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="660" it="0" lt="660" ct="0" ts="1587564526265" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-93" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDEzZmI5OGItMGJiNS00ZmMxLTkxY2QtZTQwNWNhMmRlOTBm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzOC1EZXBwTFh2RzlDTkdmM3p3VlNDWWRabWtvWUNHQnlVMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AY-t4hE4fTu_kJJd2EfRrHBrzku3ks2Rb4NrFEfr1JOd-iixIFmTxaDftSQTf2nzKL2aDRN4FAVh2uI-ak5quXVc96mqb6JBx1obty_cL2rC6CWb4cGwlOBagkpkhE37mAQJBZ2-R3b0e12LurTiaBi1mWKB0NAJhR9I8KQe_bMYjY4ot5tL-Xuw-xNTq23ygNN_rV78_13evWvtqOJ3-nZu5a_exQFRVL0S1Bftd3gYAalPrkEgIexKAMtJ7R37HXpSsLZLffQxvSw-HNdduTqu1FS6CE8LLbuPc_Aea5OPtc8lC7jO0jq8S8t0DRIpa0yIYz-cDYSjvGOAA4Gisw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDY1ZDMzMmMtNzY1Zi00NzZjLWFkZjktNWUzZjE2ZmJjMmQ5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564526922" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2JjNTVkNmItNTAyYS00M2RkLTllYjktOTU4MTc5NWZhZThj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="665" it="0" lt="665" ct="0" ts="1587564526263" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-58" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmVhY2U4ZDEtNjY1OS00N2FmLTg1MmQtYmE5MWNmMTA3MDkw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1MC0yRm9mWVItTzRFZWxxQm1nY2FUOHZ4UVRrYlNEZmF5QyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QWsbl0qzcAlrrWGnNVDGpH6ooX51REVx7YriSu2axt5I8y0PKp6mabMwFCyffhbMmuASuphKuCNKwOYSeeyihBSL20VkTSAPLtOMoTPofYyZW7EQSyyGYrcYFsVPtq9p_07W40yTyZsznUDd1UxpBWyrLqjOqgZK0t9F4baBpk8Bt4enuD0G6fpeOnEWJ3qH2Hn2De9khBYrV-Ab2s86wnWDA2F0t_0cCK84UpBsGcMK6ErVH8PW2funJBgMI9SsiZxGmNqrrd0Wlbfgfaf3XVJ3P1o_43C1QGE9utUOQGqw6pxPLKLQRVCnFm-SnBO8y3rSIdCULMsvyXCXrLcCtA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NDM1MzY3NTItODA4OS00MmY5LTlhNzQtZTcyMDA5NDMxMDk0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="559" it="0" lt="559" ct="0" ts="1587564526369" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-2" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDBmOTVlNjAtZDYzNC00MDc4LWE0MzQtNzExMTZhNDhiY2Yx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5OC1rQWJKLVZ3ZHpWMDFEWHNIZkFoYzZtYTJKWVZqaGZLMyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KqzFbaXGJUIXQdw22hi7lWuT3-XZFfc0eR_4cC_QUEa2hqWxVk_-1OYYEWILamynf6DSAyiIKc5fr9VvsRKvINdLLAFxh_1SSoqE_2H4iTOisIPoP6_X1isQwWHm7nruPl1XXvQ-xqK6YWTG0BPr2YBnoYq8LrX8eXTJjTqglQq3K-oVI36j0n2wist4HZM4FCTqRcEP8XWA-13yPD4j2hGW02MjZNcrh_XbxdoGeYnYKt9QnLCtTZzdF5IiWlk0EjfhrJl8XxWNQBIDQecCJmuAlM3cH7M9wl2gLQlGQftAjIST8jUVPSY5nGsuviYEY16qKLOYUayN8copUUFpdw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NTlhM2U0MTgtYmY1Mi00NDJlLWFjMDctN2RkZTMxNmJmOGRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564526925" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWY3ZjI4ZjUtMjFiMC00YjQ5LTk2NjUtZTcwMjg3YWIxNmFm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564526929" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWY3ZjI4ZjUtMjFiMC00YjQ5LTk2NjUtZTcwMjg3YWIxNmFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="676" it="0" lt="676" ct="0" ts="1587564526261" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-74" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjU3YjMyMzItNTRmYi00ZTM1LTllNDgtOGRiMjdhZjYzZjgy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzNi1rT2pndkhZN1ZEcG5Mb2Z1SzNtZzFNVkh5Wm0wYWVQQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cAfmBw7KHY7fAsca3544RB0w4CzRQj8RvM8fx9aGuhp9i0c0XAUUmdFv6OoNJLMed5JqEoJRNQKfCOVZrZu_b2IEuIpczxH8mFJIevYPngT0asrwYiaROC_Mj3Lm6hVqYTIKAQR8c7W6haDouzjfx8BlkOvxFbA_d6WIfsqillIVTNfClM9oFOoVC3pbxj7jHHVw2Cqk8Zkn1WfJBfpuaPEu56RNHD4FOtriwmy3vQ9dlLdeNXFNeSWGubBlFPFDrovHQGvCvANCEJV0J8GG8Iu0Rtwp2FfPXfXM_BwtJbFTtZH6QRz3cPX-nEnQn53Y1MZZrjoSnlwSfv06jMRvPA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MjVhOTdlYjgtZDNlMC00M2Y2LWE3YzYtYWNlMTZmM2U0MzVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="549" it="0" lt="548" ct="0" ts="1587564526389" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-43" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWVmZjgwZTctNmU3OS00OGE2LWI3ZTgtNGQ0M2Q5MTdlOWJj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwNS1ZekIwVE1GeTZDUkJBUkN1Z0FsVmRwZVh0ZWcwSmtJMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ik5S4vPqjtXsU3dVYWl7ee4f_VOyUrYGZpQnOVSy3e6gGBeFHXHA0afpF4l1oa-IylqVgCZmxZC3JRRaTwCzpT3UDBQBzDwX3iwQE6Jm-pFDmnxjgHepvFfwX8WKh_m8wkj4zQKpwh2pO9hPOu6sBOmFmTmPsLcAuJSJeVU1Nna-UaHVZuP1pGnRSvnZuM4cEqGcHOKNhQcZhWCHBZYZebVIDpkxVY2H5vNeXGhKPCwysROKWERGkzwoYJMWzhjA0GfElnUUcoGFYtmqtOKjF6ENNDUB45n-g8sWpU1110X1Hfj3vU53wNERFLsyuf6IFNy0DvANGDr_MJBw_Jr_Hg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MTg5YzNlYWEtMTE5Ny00NTI5LWFjNjctNWFjNDFhZWM0MTBh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="721" it="0" lt="721" ct="0" ts="1587564526220" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-68" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2ZjOTBhYmUtMzRmYi00MTVhLWE4MjQtYWZiOWZmNzFkNDg5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1OC1oWUVQdmpMa1A5UEprVk9HRmZtamtqUDc5bnBCUlJvLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ATLA7HgfLto6re-VrW0b6RE17EUgG8yyTyW3jTJTlTDimwsDEZGdRWaKqKCvg8abbG-Bp5pXr2xVYNP9IMXvI8JAXqK877cc0hL6g0x3UGoAAC4VB26eegBwWQhaVjX0pXQgBy0YjjUOVqfl__WCqr4z0zP30r8RjUM___zo6oEeFp7LAITvxFqh--Ck5AXnw48R4jzoF9_pE0RwRvtAFQj2NtqOMevu0YhBr_AZpwYZy-XsyiG1a78W2z51RJNJ9X4pg7mtTxQfOE9hTlr04TdNxI7gIM91SSGAhnk5wNgjKcq8G6CJU1Gt5cmZLGN6MNsrJ85ad8IEJdcmtm43zw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OTI0NzI3ZjAtNjQzMi00MDc2LTk1ZDAtZTdmODAyY2I0NjBj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="531" it="0" lt="527" ct="0" ts="1587564526411" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-28" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTI5OGI0ZWMtODVkMy00MGMzLWJiNjQtZjJjMmQ1MjgzNjk4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5MS1yUU1wOVU4bjA4Y0FKLWNsaWJXU0ZMS3V5U2JqRi1pdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LwIy_-UXlCcflAoO3Q4sjMFtvRKcZV7LCifhtTrk804iQ8Wc4fP-hN3BcOl7Q_37FTkQmk8eewxm3FDtB9izOeDnQIN5yxWPHFHB2pPO4eYr6xq2--VFRdmAgwHzN7NwzWd1spIsm0DoKiqCSiqIMjmD4sId0KUk4ZSeCxP_vcQHAxCUPFuqJvg4Dc9pih5p5trQduRHoRvxTzm5atkvsuZ404pvX0ENZrBABgNibJhc9uYueSOG4WK8Q_B9VFiJ7ROe80d_5IU5Y2U_8739jUBwTEZN54YT3wwL4VaxY99KYpyMamUx4G3MFhaScRJU3Qc_gdFjLlWdmrY-GacY5w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=N2NmMzI4MWQtYjQ5Yy00OTk0LTkxZjUtNmNjZjVlZDIwMmUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="535" it="0" lt="535" ct="0" ts="1587564526407" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-54" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzcyMWY3MTYtZjJkMi00MzJiLTkxY2UtYTg2YmI1Y2FiOTIy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4NC1iazEtMkw1UU1ldWtkMW4tSzVwa2U3dnJ4SHlxZFY0ciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Nw3aTNO5zMX58hdpXGDT8daA-nUSXPZ-9u7edJ2kNDO-yiZTDyV5rigrV8Zm_nmYim2YmHfekRnmlQ0ME0yberKhpNGOpiG574sczNPjDEdnz-WdiOkyJqhnf5omSC6PhPHth2Fna6ShDHYz5eqWSCPxDwRK_2gjFY7vVz6gk__cPucuQ48S6yQgFnfBbOeV1mKZ-NJHi3eKHAZgp89eJBrUK70upsmJn6PUkdloRduwC7agu-vU22d6uWW5QwzsPQp84OvyoSHO6mcSHYb5vad622n7JZb2-hnvnG_dlYZoCTyOakALJtiU2Be1XDi7JPQDFmLQCNGB3Crs0FF-nw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YjcwYjlhZTYtYWI3MC00MDk1LWIwZTUtNWQyMzEzYmJiYTNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="531" it="0" lt="530" ct="0" ts="1587564526412" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-69" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2RmNmVjNzYtZGE4OS00NzI2LWE0ODYtY2YzOGUwYTU4NzFh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxMy1lVS12T21pSDB3ZW5RRFJyME9uSjhwdzJTaWVkcFI5TCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.E6H9dw6A9u-PzEJOya9_UtA7r-CSIZ0TLMapnWJ49FZ5J53ZIy08Ndm5AtqD1wAY06IJXzgOBE1PKIRDzaVBPil7BC0o6zPXU-0r923OFU0ydxLbue1oG7r7yUYoKVu2UBrEhPxpUgaIJas6tgtJmnWInGRd6Xzp6GGzLQj_7QudrOCd4IELict75iQgcodm5raM13eYOH6aHIZenTuynPK5ORcDZmfoYLEJ0znkO09vpu3Qqvfoo0sNO_iCVFopDvoY6OMvMwWRPrN3KtzyFofhY3MTsC5lPI0K1AGLLSZ098miTwZtRI6HySIT3erUjvqOuJR3RLryfh3PMQYOMw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YzgyOGJkZmMtMzc5ZC00OGQzLTg0NGEtMzRhYWFiNTA5MGZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="540" it="0" lt="540" ct="0" ts="1587564526402" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-50" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGIxNmE2ZTAtMTc2YS00YjJhLWE1NDYtMTk5M2M4NTliNTIz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwMi1LN3FhaEd3d3BwWlFENzhVUVV5T1gydVdvWWFNVW40cSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.fanoom669teWL3SMc6ltmeAd_ktAl24aJK9-JZ8Bz4ymTPVyGw0QPY3YheUA8bBR2pnv3JcNw_1a0uL81dnVQNnWravCFlZvShmMZGibWTVp6lWt3F8mBloN-fEedVIfr9BxvnEoIvI3zbYYhKsFxF56v1lrCKTq1K1CMCz3lJ0yQSMJfg54JxY-sJP3k7n5ZsOzHFx8mSh3e5HUQpLZS2lraT1tPtMHVrytHOa9lXDZq-79A2K1ZL1oOQWHTGOGw4AArDOaeZB_k4LPjjzAutOEfCZDevBaUPKptgrTc98tBos6sFuDU2jjZCW7LryyHDSPClwFSuiaAjvfQhlo6A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTYyM2FhYzYtMGZmZS00MmE0LTg5OWEtZTMwNDkxMWMzNDY1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="545" it="0" lt="545" ct="0" ts="1587564526398" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-75" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmI1ODNkNDUtNGE0Ny00MjBlLTlmNjEtMDI4NTc1OWU1OGNm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0OS1Fa2tFZkw4S3cwS3kybmVrUGRGMFQ5d1RhS1hoWFRpYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FteHmPBMOZ42ArrMa1_7gAGXQdf51ICba9IQC1jNrsbER2e0PGXI-4BXxPp9l9sifP8tiGSUXX4VxMDcjQNfUQX9EFSTeVi5RtVmGXfArSIqKwl0xuIt8lgdywanwxzCDMK5MNs_9n_1KPoOPVLI1DwtX2fcWUT3QJFO_u0YVKvlyliVRFoabCcWhOPJZ9_aO5bLEYm3iIFU8SNftkxS6oWYW40V7j3G-XMgiC5MTltzZBWmdPizeQWYczgHXpCHaZW79TRXvKxWwVlbzF8-6jtIzzEW1dJ6DW76bi15czmBdij_Lv-PpKdaKwR5IKudB857duEtUBGHYOZ9YtyoSg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzhmN2NkMzctMmEyNy00NGFjLThiYTMtNTg5MWNhNTFkMjYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="575" it="0" lt="575" ct="0" ts="1587564526370" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-45" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTdkM2YwMjgtOTk0YS00YTYzLWFmYTUtNGI4NmY2MGEzNGNj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5NS0tTjAyQjliLWhDcG9qWEZIZFpQUm0zWTZBLXJrOEJTeSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.j6USxx3VEmBbceMnbwOK9yup3sDA1moKwLToQbdaUMAlsn0wSktTbHI9PQaM8BSVe7NQ5ue9ueR_TGpsQr0u94u6wFVHkHjM2T_2MVkdh_7liDEtGf8j57ghZfwAQukFIfGBYcTImF4_X_kZhXj1Ae3UwEigoMc23kyJzkdtME5zlG2q6zBwfF6QrgooZvHmNSuTDfjUhSOUyk2BhnuNa5OhzXlrKy_4vusL7QUEijDRjt_fmSm9SbgrN4RN-sK4E3KDQsPSUw0bS3RwXhOUwtAnjnKgEVLAZSh_NVilj7v9v0cd1hPYqdn1x1C9mFUs4Plw66pSSQWa21cJExFBbA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YmNiZTczM2UtZmYyMy00ZjhiLWJhY2EtNzY3MTJlODY5ZmM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="698" it="0" lt="696" ct="0" ts="1587564526248" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-97" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDhkYTBmZDktZGUxOS00MzRjLThlMTctZmJjNDE3ZTdiYjlk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0Mi16Q3FUT24xTkg5MUxScElLOTJhTFQtaUZicS1aeExqUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Zci2uVyqMeUdxIaG2FUoFhzncRSL64lwFu4tRKl04OyleYs5FIQM1DWW847qNroFLCUlNjAGfOrBLDlBBC-F-ohpxYZnWYZ_YBuqNOlOLP-vA6J0tWT-nER9h421sMEpp5EK0RH3T8TyV8DMFmuHdQeybGhaEf8jV-6z36S7tR78XhEzH2UWZmqxbiebouq2HN6ma9vkjWyOJACWAgH7H5_9NHJo_lOEoF0-yHrRyUWdKJ0VkpFbt4jVxiut5VAWbp5atEechK24J8K6kHHHW1vkod4QJj1HuEOWoD6Ka5Ly9twwrb7tGBLqCaqPGEboj-a4qyHmfKg3VLpoomRGUw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MTQ4ODcxMDMtM2YzZC00ZWMzLTgxNDctMDBmNmUxZTllZjM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="547" it="0" lt="547" ct="0" ts="1587564526399" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-60" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2Q0NzgwMDAtNWRjMy00ZTUyLTk3NDQtMDk3ZTNjYjAyMTMy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwNy12Q1ExMHNySWgyNkdrTzRKNWVwTERRVUc2NVhsMlY1TiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hGTdoF31qeXsIuvhvCV6CneheDVDPP-F9JebJyqJM_SjMryHnpubnMZm5FUPZRbP-HEoixGzC0KPf4zL0Vc7oOXgWrrFhDUe6MEzuGJkgZCWhEGcBbY5KGa1GVWLidZ9pcdBUasaTdqoDWkv9lOw_HWMATzHbgjP0D5l_FtSo-VDznOMO44JGU0V7ZOPWdE3YmXbB-8SGnCyMh2K6Db-3QSYukVz-90qKSqFcZfKxF4Jp5LcVUk58YEIdKwMllhQqIISkONfBHeRz5F25vDmG_CPGbGb5z-7EzCV-ESU7akze6tc0iY7OHMrxKxzPNBbhFPoLrWJyGY8pDDzdqgavg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NDc4MjgxMzItZDYzNi00NWQ4LWEyMmEtZjA0MWU5YjljNjI3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="582" it="0" lt="582" ct="0" ts="1587564526364" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-83" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWMxMTYyZjItNDA2ZS00NjNmLThlYmQtNGY0M2M0MDk3ODYx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxNC0tZ3QwY3FJdlpXaU1XSGt0MEltWXh1WldDaEgzWE1UaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FQKvEPvM6qRWy0bJuALe60gbDGzQfjX0TlgMaqXVVJt895f2ISW8T59wJ0HLI0lg9PmKm0W-ACp_7aQxOpUEVOTE8nR_Dxj2OHEFODJo5cIVRUDRKnWuBLKn7LKpMPteNkCoUuRDauIbH7AdyxqWYvpMuVkpAXMw0o5ROofCBjZO4FzwwJQSh2nFtev_qTeKWXRrS-v4L1Q66LzAlIFFnBjbeiVj2yAdsd3pxVUg7Ji8k0L6kuoRHl_lgiYXUFsNO7XjPYsfdMg2Ty2_jRBfjq1NgKPWqVYDv06UCYy65Ah-UHBPD_fGctGDx06CsrcKeYQmKo-tNwxmYhWnARP61w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDAxMDUyODEtYTgzNy00ZTM4LWFkY2YtMDk1YTI5NTc3YjJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="694" it="0" lt="691" ct="0" ts="1587564526253" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-48" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTI1YWRkNzMtNmY0Yy00YzI3LWJmZTItYjA3YzRjYzFjNzli; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1MS1rUTE2UHIxaEtObVB4SkpUT2pZWGVkbVAtcHZpbUMzTSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.fydKEtaXNraPH3rkeIGs6boy0rthBgKQrOD6leK6RhzoT2Aoc1FHJvz8LaGDK8Bft3W5_jjge0Yp996EBGgbaaiJk6RwJpUH8SqDipgHvjcko3J9erl3dpCPjKun8HhJsExs1oGKJ-dezV3hAO1VnpYGRQsBTW_xaKgamAZXW8SqAdBQXggzrhp4QA5drjKh2kgr56jPvPcRrNiEElGrpS62n5dVzFUxGwcFK_OUHrbzaRgHZydXNERDDGUuQUqEMkh9VepKyh0YdaWc1egws-GPU_QszrqLoVHET2OtK4B_vaCH0UUCRm3_VdjiRqEKItb_MEceYtk56A8z3H95rw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OWQ4ZWY1MzctZGNlZi00NzM3LThkZjktNzlhODY2OWMwMDM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="700" it="0" lt="698" ct="0" ts="1587564526247" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-15" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmE1MmEyYmItYmNjOC00YjYzLTgzNjUtM2E1ZTg3YTVlNDRi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzMC1VUmNOS3gzczlRMS1hSU12azQ5VUhVcy1QZGFmYnVVcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.H4BYPicpvNfl-kqAsx6rv-kuvfyh_v_kbkY0DIVK7mpq09oUNCLhZbF3qfzsBjrPxZHBavl9dT_XCX21DIo4QDs8Y5zbwBiMQvPVT8UoWh0E2naIHtI4pq7YYqGdC1yom_lIEbZz1dIhmqD-F1KkvsHFhGK4amZnvrlfeiITVbsdM1hgEb_FnlvnZhRbZ365uVtkv0BTVYnlqJt-9zqDb79QEoxearhOXcwc5d_Ln3fLI2t1DsaWEwRD6vFLjxasgDAmQbl648QzkltdYaRAyII4WzpNgzh1hgz1hXjq4hI2wz_MUsluxo7XD4GOt_KL7Bf-Hqd9Qlda8En-odq7MA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MjFmYzJjOTMtMWNhYi00NDliLTlhNTAtYzQwYTRlYWM5Zjg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="700" it="0" lt="697" ct="0" ts="1587564526247" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-87" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGE2NDRiNjctMDgxOS00MmM2LTkzYzEtZWNiM2ZiOTk2MWM0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzMi14eG5WM29pZWVFZGFGSmlCbVg1NmcxQm1xYVpqMnRoZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dU1Ej6AxRDfZ6sMJOQauJ4vJlpTzx8HBwMSC6JNkTBnRSJTtyqf3h4wyJkNEGDdALKAtbt3friCbJd5bxOG3T4DTJzbog-tLf5NPBUc8_Wig311UxeAvqeFmVXeMdTpQgsPdcfd2fwIvztdCxM5wPNon_dOil2m3We-Kcn-epSdXsjngS7eR20stuoZE-pzQpaCLp0h9gfSOU1DQJSFb_mqbCzZgXiZ7EfTRxRTUuK43-UQY_whMFFk2zl7Zz39esAmKaDiELl8s9dAzfs1FFaxSkdLU7Y6831k24tsa2kLS2yKaq8zadg3sioswFmaRXohnhO8UOmJFkHG9JTdn0w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Njg3Nzk0ODctY2NhNy00YmFhLWIzMGMtYjk1MzU3NTRlMTBl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="694" it="0" lt="693" ct="0" ts="1587564526253" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-89" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmU2YTAyMTQtM2ViOC00MmRlLTkxNjEtMmYzYjgxM2ZmYmI4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2NS0temotYlR0cXRMQ2IzT2Z0MmhxODJHa0JMWWY1cmNxTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NFfK5Cx5qgZHty93gyvMfLXxuaOCgTmKn3_NbUhum24zDSc3hB2Mks3Q62BNSfPAwlTxQ-Vd3lzxvHbNbvJnpOzoMRj8fbLRkpLoUbZ65oxBb4NU6a7PhkiiiTD-DA3q-97pAD1o3HYBYHsqcZZC1YUSCG6CNZR1wqmyEUT7wLwT2Q3vShrNJFN1nS9FeUf-iDa-l39ZJQkBqcl_IvbvwNw37YTmM5PIqV_oZ-lr2pAWdPs01sT75yLiWuL6nCqipPhnBuOrDZzEGDB7cnCxXpF9Q0VOgBr7mpmGYkXzD0IoQBFA0i1V9gUTibZEprBITcAyMJCWOOObUDncAvB1TA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MDM1YWRhNmUtNjkwOC00MTUyLTgxYTItN2Q4NWE1NzAxZjY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="545" it="0" lt="543" ct="0" ts="1587564526403" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-17" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGU3OTkwYjEtZGM5Ni00M2VjLWE1ZGQtZTI3ZmUyOGFkM2Q1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4MC1xWWRSZ0VmbDZIWm4tajJCM3pET1BpS1hydC14cWY3VSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bCxtXI3zWUrjB6PlJmBDtR_fp4w7OuSMlfpqSjUSF42kcPheO4gIYZZSydPz67lis0_pbsUY9UfnLL19yQP-_OU2anhygWWmlq9AJttr5OTr6tBSP8K6St1fdXFnUa_TeonF3uP6iucKvPBTCIKdQus6x4gxz9T34eFBxw1vi79MOW-O3fLMSPnMtDTSri4lY0SPTwf9LRaPaqccOmuMRKdEepoOlKHO3lFDKg5ku94sEkSYKk86_I28RFyR-6Knake7pJDsdchKC6-F5zHcvr9318YfT1U4oXKjA0-nqbJ1XbGkwVyX9XhkvfkHL8u-XcJc2asyxIE2BcG9VEN8bQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzVjNjZlZjUtN2EyNC00NjQ5LTlkOTMtM2Q3MjFhYWNjYTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="570" it="0" lt="568" ct="0" ts="1587564526379" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2VkNGQzNzUtMTVjZi00Y2I4LTg2MTMtMWZhYjZkZDBlMjAy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2Ni1tanBjV0NuRjlrdWwtU3VVUENvRHJZOEl5alktUlMxNyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WtbQvobwuX26MsBZqzmzzgycH_cPesR8UKTLvOJKmMWKQBQgNXusOsC6qRVVLWQaSMVOMnMwfmr33ckP4E5YoMGsZzCSmZptjxF4sjILxiz1bheK5uglZuXtTeSYa6V0rVaAcRc99BLSUelI7HfnznP5geGgAt5l50avo_bfzS_GAPUEb2wsOAu8fqcmpgrCXLhE54N7SZvWDxk_2TdU6PSUWkvZxYVk9rNtcgH0khlWUQ1agVvUH7QH9OzaXs0DdrS6VUyR1DNU93jNwdMrlGmmbV602h6de-GLQihrRuoXqHugb_zFunNvhbcjRHhY1oyLw_AUGgat_EAslYTEHg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=M2NmN2VlZDUtNzQzNy00MmNkLWI0ZGItNDE1ZjhkODlkOGJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="634" it="0" lt="633" ct="0" ts="1587564526323" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Njg1ZWNiOGEtMjRhZC00YzdjLWJjMDAtNzFjZDY2ZTUwMjhi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1Ni1SSEVlYTY1c3RHa0N3WjIzNUVOblhNOFljRjRNd00tZSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LaWTrAeorFrLJBP4yzYBOfFr-R2q4I0FGV_VShoRjxhIKgxTXsQrRUKZ5i0GHjs0puGDUT3bP3v3pg5KgV0jVjRyP5FsZiSgtUgdsiEefKTRON73o8gOslrzDhovtYN42llNZBdJ1dUwmaVVt7hmF1rzeYtSz5-Kodvog7TsduVM35-rPkvuZxYMwrnz3YCUpLLGLf6caPGAFRGSKLIYP7xQ9B-bejDqUiwFsJJ2kdtITFKgrmBEemEXHgfGq2eurMFKFTI40pZMDWQ3wNAHTj9kDlOfFE-vIGXaGrIjgZ94pAZDqeuaUG3504FrJpiUvA_qrbId0Gx03R9-x-8_Bw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NjNkZTkwZjUtYWVhZS00OTlhLWJhZGMtY2I5ZWMzYWFmNGVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="571" it="0" lt="571" ct="0" ts="1587564526386" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-86" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTgxMzZlMTItYzZkZS00MjdhLTg1NTQtNGQxM2UyMDM1ZWU0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2MS0wazQzYzR0R2JiTDRXaDg5cjJLZ0tpM1NXUDdiZzFYNSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.se6r-_dfL3uSqdgwbAz41W8GzG67hWPjt7NG6QMQDW5TP7Nlr6puPBrHNSvzxSvfGEwfqKpD9Eo8_jKGTY2CNkmI3Q71HoFGHylRW3jK7SzuGQJbSLKMTTjMy4Q8DOIFWnhqRF7EamzuV2TYB5WA6YX2MMCOd0huy5pAv8ZxQIW19W70nsnTN0JOvVW64RprJmYdqBDg5mbLWHK2jRTqa16Y71vee5KNHPibRf7tn334LdlVpdUTKMAanz38WWXXqDsvAionUi4_3NRHvzqSmimVeT9K6bIbf0qOkec4skcY1MbMqdI4S-gBK2v6ECyL4L41bKMjc_5KegTlcUN7uA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDRjN2E5YzYtNDQ2Ny00NmQxLTlkOGEtOWRhZTIzZmY5NTYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="712" it="0" lt="710" ct="0" ts="1587564526251" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-1" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDVlZWQzM2YtNDRjMC00YjQ4LTg4OTItMmMwOWI4N2M3YjQ2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyOC1IazM0Nm9yeTY1S1FuMkFHMzRGVXZuY0FVM3JBUW1ycSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HNHkfzgpzj76zYjgjN9FXXEJIEcov5N2r4Ax7J13ppdBfnGFSpQ6XnnUiTJaQfeA5TZCWcSX889jrt-YvBmHxWHW7cAyXjErLncN50jnmRHoV_P7KHF_lNDXgPE1NklQvwPNOJjTQ30owGeS5ZjpFDM2KX9fjRNq5j6yFl-d2XQmJ5D6ghIizuhbJDgvJhJM8z5QefnGGmPYuWbbq_Hsjb5H8T8jkQi5Y1nvFwDoyrDGRkQ6RI67UEWHkRjCBqmoPTQZkCWs9Tvv9ftxfLpjbD5lPJSHJj3D1BcOqP3xL9uODACqjH8TbUSZvXAS6Uxl1_ECbL97YW9MT9QFZmB1HA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OTAwNDM3OWYtNzRhNy00MjBjLTg0OWMtNzM5MWQ4MjNiNzY1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="566" it="0" lt="566" ct="0" ts="1587564526397" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-76" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjA1ZjUwY2YtMGViZS00N2IzLWE3NTktOTIwNGZlYTdhNDEz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwNi1YNXE3VkVkN20tRHhPdjdzekw1Y0pEYmw0bFVjLTFUNyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HW96jbsh8xA1EOYWgIeoEkcSXZ--bODZ9FCpPCMajiifx385ei9mSClj78L5oni5H5pWSk9dmx9tuyRj4YkitCShJOdco4ETBpLN-fIRbJksbiAYK2rILHtouj8p9Wgblj2uvuumOs63PVjviTF5tE0imwV31j60rsTsV_-8svJZJo6SjM58YRIGY7RpkhpbiJYjre6ncE3781TNT7MaCNaJtxikeEuCwFByOUrqXtM5xrmn6ho0hiIwBWpwmHudQdnSFEHEyTh53ganlGMyU3zwKw7GKbZCvoTZ6i6wWT-MEgb1eV1F-W0PVBcRI6746aSjr9laCm_8UyU_Z-SUYA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NmVmZjBlNmItYWRlZC00MmQ1LWJiOGMtZjdmYjEwNWJlYzJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="583" it="0" lt="583" ct="0" ts="1587564526380" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-5" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGQ0MTMyNTQtZjNjYi00YjBiLWJiODItZDFmODRkYTk1NGNm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4OC13SGViZWh2b3J2dkpwbDlGMUVPQ21PcDJaNHc3OFBwZSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.doPplfYiHva2zwTDmatoHjmpsYxoeI4eOga_ARhKPidWrqDxNvjlHiq2Lt6OiQF94oIf2DjQ55br832cOSlkuWfGtX1lAXFER7p3o-f5I3qwsNOCtsEAQDq5Qrp5o5paEpy3ZAjfpvjAMylMCKsx-0X6R5aayKs19yb9a5UaU2hKB5A-QLif49BoLdvsVYk5S0h-YC3xLWnWo1IMQ1IptGy21jLVmcBo5Oo_i3f2AI9fS6-QbJX1jHDo8Hp-H3Ron417tfkfPEqkW-JA_-Vad2AEpvG1T7i6UQca1lV7GMaPo0fy0QHRoH25XLBNW4xUUmqvmALkAsTV-jGdp_EFsA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NGNlZGRlM2MtNzYwYS00OWJiLTlkOGQtZDdmODVmOTczZmUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="564" it="0" lt="563" ct="0" ts="1587564526400" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDgxNTk1NjAtNjhjZi00ZjQ0LWJkOTUtMzRkZjQ2YjcyYjZh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNiwianRpIjoiSUQtVG9rZW4tMTQyMC1aS2p6MmktVWRKNkJCMXAybmZZMkZNU3BRS0duWkcyQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FECqVnFLiFskkGqxKw-7wxIeU4Bk9LVBheEtBAuBVtMqNiWR0_3PrJ_VfojEbuEXk3ep45b0XSbMRblxpruAXLf-M7GsD-t-1PZci1BUNFqdO9ihfpuIbJE-vRWdknVObV5vTVhkj_M4aYU5GvvYs1DKCNmHtQvuZ_wB6oYkWWQDaQ1F_DK3XEpfF45GTngJ_mhxD0eT-o97L3vo01HAfE4zcAR1glYIk1h-EIm1FC5YTTraemlbWBQvc0a-MF8JBA8qI-aIppZs6OxC7j00OKjBDe1v_xjnAP-ngVMMUB7CkZxe5K_wrv9g50O0ptzQFWC8lwg4ji0RDTFR9gheIA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MWFhMTBhYTUtMDM0ZS00ZTZhLTlkMDktMzY2ODQ4M2NmMTky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="598" it="0" lt="597" ct="0" ts="1587564526366" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-20" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDU3NDA1MzctNGM4Mi00NWQ3LTgwMmUtMmEzYjk3OTgyYTM0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5OS0xUWdFZUhOUlVFbC1tV1E4cG10eFdqbklLNkthTEdoQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.VutX7O2sNMgikcmpcX_Cy9Ds1MYQYVj8cS9wSvreHi6IX4gIQ9n-yP9CZL9q1F-j1xIvoyicff414UNJzFOx2W0CKDFTopWKxj21yak2dxIzoPYdbEXHRfg0Bd2qCj5COTaRassCbWdHaEJCqtpKyNhlX_YYBJ1xy0Fr1CzLTo87L8T6J2dheVjDyoLfZOuX2fUjFXi_eXaPsLz8VGW62FKxvS5phuQNJY_YtJgfBjVfD5MphBwFXKJN8yXgDG6UhHOBLR5wTy94UQdk616CCupGFxgDeiXODlo6jA3EXdxSa92cfHHDyyz1X-PhBcFuO7wSVYP6391imNKbP3HQTw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NTdmNDQ0ZjktYzk5ZC00YTQ3LWI2Y2EtOWU4YTBlODA0ODdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="562" it="0" lt="561" ct="0" ts="1587564526402" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-41" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGFjMTQ3NDItMGRjYS00ODI5LTkxZmYtODA3MDJmOThhMzVj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4Ny1YVlRidmJydEpkUFdhUEZFZmh4WXNHT2EyUmlvWmEtbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lS8tDCA2wFDEt9diOCAKOQbVPoI2HjkNShRfT8keG-cRUvcIYuvg0lv7KcjPwEko-gkou03dixyJ1O5KBp8iZbu3dMvpPrU439KJrMAvNm-HViZ_RlAnHYp9PLH4HgqDYtIgZGeHuK4naFWnFgzjRilN2jC-5Xrce6xwPiKMGStEaTgrUUvGGWrVSuy3OrNHwV1ASYiQUcx9ONkcCW2WDFRgY19UEAHA2Tee5qVd3ShBWATHmpsyF8ho4kaorAkjbC3Ni1-AGA3JXabLS2MNz0llHJQwtElWeEV-2jnyFuiQhZUgwywz9ZjbpB2YFfeCYJJkd2FuEpt-vE_gm7fTTA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzBkOTZjNmUtNzQ2YS00NWRiLTg0MzQtNjVlNGFmZTJkYmVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="631" it="0" lt="630" ct="0" ts="1587564526333" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-16" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTUyYTc4NzktNzk4ZS00NDBlLWJiNjItZTJiZWUwNmRjNTNh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3NS0wTU94RkRJSDgxZDdIbmlVaVhhaWtzVWFNZmVUb1dNViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YnQWfja5frq_ZOFpg30AQ5wFmiFsJ8wj-6GJ8gfX1dApSi5bdd8EweBRb93gip9BMuh7ysqmaSvImAkjPAtHPHimr-L7FYKKnA0rLr4gcC_VVofBa45-nuT_GouOAqjKlfhfw_801-_bXCER7oAZ9UMK2Uil_FcBAEQXSgGJQVbE2JcDh-9-5QjyOPbQ88o_YWvZmKke_FOYIGLpNWkRvcysMkdWi9xcODkFHyF3vZwIcFNysiU8ySh7TdZ94_ZqwUw1GRrcob_vm5OKQjCOf9yYq9XctysV3u7PcsN_ckQD8Dvow91yRUAQl6HGsxD3YOIqk1sFM8TmCyKeJGv5TA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Mzk1ZjFhYWItZjU0MC00OTQ5LWEyZjEtYTk2NTQ1ZmJjZjEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="612" it="0" lt="611" ct="0" ts="1587564526353" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-85" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDQyZjZjN2QtZjFlNy00NjEzLTkxMjAtYmY3NTY1N2M2MDU1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyNS1LSlQ3eFNMUDU1V2x5Q3BKdjhvN2VwaVZuZy1mRDRXYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Di6z7beddcSPO5M_WiFldUs_hc5pYS7NSnBbx8mBsATBMYrzsYlNUk-XEcFKcyVbvjw93Es5vnN6lPiWxQ2MUGMlsmWb2MfaJBqaUvl5xdh53avedwIFBT4b2myHUAE1GLkECqgrXpu2TK2-e69kNTaa7UoolY_Vs2wYy_UHoC9gvuNoMvtG2iCQxKg_EuOkpW435zf3012i6gUHd-g2wYiTRKYKMWJgt3ndU3qB6X8WTQ3qyO9KHbFP1G1si5zc_M-em4kZXV4aPZeMFK8wVDNkZbUOkGEv7YV5B1w7pM08M5Z8SIHyR30jxVzoa_hEitBdbnBHdMkBeoukIlJ5Qw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NDVlMzgzZmUtNjNiNi00NGZhLWE0YWYtNzY5ZWYwM2VmNzNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="640" it="0" lt="638" ct="0" ts="1587564526325" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-78" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzQyZjk1MDYtYzM5ZS00MGVkLWE0MjUtODM0NDIyZTNjMTY0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2My0tTllHWWx0bVFKRDZqREVSZjFlY2xHNzJlSVpuNk5RWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YSilc248U3S6ypNYNj6ydKyt07V0gOXAyFt5TGhWMZNRKdT5K5Powb0WKY6sGGgaNdeo7N9rX1zf0pA061d_llxaa4hufEduF5hjn4GMhjBZdqXu8I3ZMbZhxpj0SxQ6xjVUyLeGvzO-3narRcNBx0x64prvlDbv8uE5BYAn0iPr3flgdqkh1XOOZC8jFRyn6jQHk8c_HxNi8qHXhi_Xn0H33OK1Ug_50O5GCfRKuymc6YosKltIl2M1qPsEHmBPoYPmFYCp99cG2L3EAGZUf7v5EMT2hk6qdfM-E21ysKCsATUd_HtjwmebDUQG5pTZlHEC3hII6jZPYdrG56PmZQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjgzODU3ZjgtYTAwZi00NzRiLWI2NDktZTBlYjAzNTNiMDFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="642" it="0" lt="639" ct="0" ts="1587564526323" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-98" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDQ4MTU4ZjUtMTMyZi00YmMyLWIyOWYtYTU4MDFkZWY3NjQ4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2Mi1RUmhvd2w1RDIwTU1vLWk4dGF2YnYyODNCUXk1cUZpYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.mgu6FMUpWIAvD9Xmb_s8ShG6IVMMcAaqMdOPdlwkzep0FoHH1BcNzUS0_o9-56u5PMzBdiuuPo-4ZzOVXkuh-jfaK01nt0d-fq0lscleblwER7vN4t1Oc7oP1ZQPfag9FpH-IU9qsY5M0GolJqGzeoIjX4uh-zYbq8aEcrjyjqzpBERtW_ayZxfOKDeSzyJ-2O5Io2uHBc8iJ_aTMRQ1fqHzMCiZJh2aVCY7LBJnwBpFT-8STE-gC4Pie-VsM6OrjMcoaGXYi6aq-4rQ1UL3tEuAJcr73UAzv1AsLQBFm854S-x-5SR2bxThCbi4T_d2ZHnpXLr0okwXF6ALqjCeSg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YzlhOTM5YzgtMDkzMy00OWViLTk3ODAtMjQ2OGUxZjE2MDg4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="565" it="0" lt="563" ct="0" ts="1587564526400" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-39" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWZjNjc1MTAtNDM2Zi00NTcyLWFiMWYtMDMwM2VkNzhjZDEw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3MS1HUG81VkRkSmFWWTM3ck1mdjl5MGZJNVBSdUQwRVQ5NSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TyAlfSQ_tFrFe8wTtH9iqh1b4ZhhAKtCMFVuafOc_9NPn8jvZECgSj6BFhhf0-79tZUeDrGGy1K7jzLuqUHgTnC-UqrlHky3mH2v6pzHPfb86XKEMmPxhPGeMkcB_K3lXdZjGetnS0ObmiJY15VR8iD_fXHZt8c09dhAbzG_UeOHp9hB0JkVcOpuab093rd2EmOxdr6XxbmJtm-osULCSDDlfAyZGDWV9CoNMHpbZjbUnTBjC1bNYdXdyaMlJnmlnnBalB_QYuA9e-8UjJIRiQKQN0K2RQq0i5nXQcxIGEl_fG0yzKzNEQyg1CjikTXdvwHD2DvBnYyxmkLNAbCxtQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODM3MjY0YjgtYjBlOC00YzkzLWFjNjAtOGZlNzU4ZThhYzZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="643" it="0" lt="642" ct="0" ts="1587564526323" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-44" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2Y3NjJhZDYtMDU0NC00YzMxLTg0ZGYtZmI2NWMzYWY3MGJl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3MC12bHZBLUJjekRJYS15NHAxUFJXSDQxY2l3dVBTRzFWYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SNMl-7IkH8Ctj5UVJdlWgipFu9VL1C9P6PJ0BD4FquWAKcHDaQDMU1Bks_fcPg3MiIVAWVSO6DxVVQRzUWRDjUmC6xG1S4it84b0RYP01DO-a7z0YsTh54AAyzRBIUPZzvkSFNhLvMVTfRSiuVM1xQDJo5REYVXeG3E9PlYNAMipoeqFSV5PK1yqARVhp9_OjjGkIR7OrlqBXYnaP7Gd69ywghKdrChnBeymtLFyFGUsTJS5qw6Ua7yhpJ9b73lYXvlU4wenIgmPnQ6P_xlTA_yfH1WpbTDQjEdTNWCg6UN3UpIxEhCbcgPNcMXUje0S_E5nOsw8I7S4qitRX9XmkQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NWNlNjY5NTEtMzljNi00Y2Y2LWIwNTEtOTQ4MmUzYzdlY2E5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="603" it="0" lt="601" ct="0" ts="1587564526364" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-12" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTUxY2U2NmQtMmFhZC00YWVlLWE3Y2EtOTI2ZGQ2OTk3ODJm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5Ni1hUS1RdUcxcVBDTm1GTkozQTJpVUhmVWw5dW5zNXZlZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PJ9FEExHggYyCdhIkTKPBjX9iySX_rkireOz58ToS9A3XY1FSmjfHDbTD6KjEGkW-ptLv-0tbRx4nqW-2MoPud91Gd324z7CybC3w5TYFnDWTjlGrXUw2RhbMgiJN1QeFUYksfBpM9ClA033NCLOc2bsWunX5u4jcl7jn_xgkQvaQ1aLcWBAsxuc0f7uNRzrLqNfcWe1qDIE3_V5W2WJ8i2yYfGSiR35GOTioy1elW6AZLeqNmr-kTOaSW4V0MYe0Y3U7NOvuanC9Aob52oT0Uy28q0yNzjOsgPrPiPLpfDRJaJ4SH4YN-X0F0JtAg8Ch46vsP49nia6xxiqplbPJg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTRlMGRhMjItYmFlYi00NmQ4LTk0NmEtYTM4ZjEwMmU4YjYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="572" it="0" lt="571" ct="0" ts="1587564526397" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-23" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTg2NzlhMDMtMjE5Ny00ZTI3LTlkYmMtYjliNTA2ZDVkMjk2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxMS1WT3M3QVF0YURRcGVHTDNqZzczZ0poeGFFbVBFdXBuSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.JTaukbEBJ3selplh4dBvSRJ31RcFuVqP-_bpyBfarEOE53uaedWEKeHVnY8JJbizivi2AO2ouohJu4cZqFR56aPdm2jUa9xaHbKvSLUXPpqna9kkqjRD9lQ-Mj-18smYivcuAwJFNH39haIOzrUnxyLe1jdPps-VIRf577EOXXJQ0W2pLCJ0dMwDaZ1qBRWBXeyOsbV3vDpPUor4SO8WdRppkD4wp6c2w5az2W4LENJwLThw5ds_3J4XSuTpvmYZB7tiwAT4Ju8JqeQG7T4Sta1bEMchccsm9I3PYcWcfonuX-mo8OXBsyaQRvHbDW8KeG2xePpCi7XFr-RAfTotJw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MjAxNTk3ZGItMzNhMy00MjQ5LThiYzgtN2ZmZDdiODhhYjVj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="615" it="0" lt="613" ct="0" ts="1587564526355" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-34" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzZlMTRmYTgtNjg1MS00ZDFiLWFiNzUtZGVjYmVjOThkN2Fl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4Mi10OXlGd1ExTGJMdW5DbFctSDM1WGgyMEx6Qm5yajNCMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BsPG4bHVTUQnFWGRKJXhqCPXfbXxAPEb_bGXFIFjcZVm8-e0wMFpA56dbc-W1QjvhzaQULXaGPUVc3AKbwzidjwVYijyf4aS1AvPYlxF4QPUe66DkwTJ7at6EZb9mvr0agGcU04Rq1DJtkMWP9Pn524-D-tz_dGBAX4KWn083lBPcJEojOtWHXJBNtrNw4ZmMvq1byGotlqAN6qgzahSIXcHW7x_-Wvop--niQ73l_fs3yFukIug_YQeVcFMVktluz5IN8MzX6BzgxntP_3-F-1sd53j07HLPP1S-q6hz3_6wT1nNYXemgljtTZSDtn2e_tV4N7MsxM9F-E0Ql2aIQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzdjMGJiZjctOTRhMC00Yjk2LWIzMmMtNTIxYmQwNDk5ZmM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="646" it="0" lt="644" ct="0" ts="1587564526324" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-9" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTlhYjMwZjAtYmIxNC00NzZhLTllNTItODM4MGExYjE4N2Iw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0My1GRzBxVzJpcThQOE1WS3c4U3NVMEIzVVNxWDhnUnlEaCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jcrIZfLRwesGHz9Faml1TvCzdymNofQ0qHa8ysOPy4kvVSZhr_AdcFMfipaJzRoAUFF9lct-fg7YvJnDviesjnPBDMga6fn0-gbixRlf3y80e5pD02KfENdKzcIYxZDsVorbXPZja_fFLlQr_kw1OKaADuDjWlRzMEyuSO9x-UhnpIFoR8b-MqP2GPptK0xRMORgnUYjzTWNs9ofW-7cQqTbDdP-kE9A68GXFNUzgwHHjJiAmYbWVNRVBDtvK4q_4BD_TlGGmYqKV2ZkkEPG9pWeOa9a8jTJZWf9_5ObUMnZkj2JJNMT6KcCztgYZEfDyNkyh8M6bowgKwNf9wJBUg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTQ1ODdjNTYtZDNiYS00ZTg1LWIxYzEtODk1OGVkYTE3YTY5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="676" it="0" lt="675" ct="0" ts="1587564526295" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-40" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzcxMmIyNTgtZmFhZi00YjdjLWE0NGMtNWNiMzNlODEzZTdh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1OS1od1NWZy1ZRm9yYW9LRzNOSGZkVUlzaGw3clJ6SnFaZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZRLnTX1DpjyeiEwyS9FhQMaGZRNIckiJCWkEDWxF5-v0YZWz9UQa8npKA6yEXc_YUWkTzSuIqJZPoawRpQIGtcHvZipBJVndYrxzsr-bSpbO0Ci7epJ2fs9oJdeZILYxrhB2-T7SVZ3Ic--9vEw8OB70q4QHTAiV_4y-cksWnuybLVGIM5GKMIc_7zdvXdhCJSDVl_qemyFNpg-sO_heYPJ5mSRrvYNNLr_iR0iEMm5p_7UHpHNxJPbzOAve1Qr4PyUEsriBKAr65RmQUlghT3xrLgVc8mUuAjwAOLih39YNdKe5sq_MW0kZKzU4lyp0cNUX0uFu51HxWk21GnIExw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDUwNzhlNjUtNTcxMS00YWFjLTlkZDAtYTc2NjdmNzQ5ZjQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="584" it="0" lt="583" ct="0" ts="1587564526388" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-90" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmVmZTA3Y2ItNGVlYS00OWU3LWE1OGMtMGZlMTVlOTk3ZjQw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1NS0tcHAxT3F6eW1ISVNYNUgtNzFtdEZ0MTVNd0FRczd6diIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RuDH0yn6MP_2kU6zRVLv9r1ezk0NaIX7445HWM4xHCRi_o7tKlEqDOZnC5rQd1ri5g0MztHGKk_2ZNce-QuRSL4XdU1nnj2HGKm85v4ne8DuU5-tvGEC84iTjntm0G_mtT1HSz4AlzJunALD2l7O_yvDAavfogb3Zr1g_oBPe0JUTadrJ_nNiNyRCUlsj0-eP9sE_ndWN6PyBz1PanpXnNrNH6XFMxGO88a4qYZAN_CwwpHDHpJgwXgWD_lpH-JCM2KDoSrPh4frfhGnLqmOaO8NeHRmDi2DjN0wW90fE2T3g-amtuEwukWz9WjDIRZveWUJK4OoxcMpOUUQH0nuRg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDVmMDlkMDQtYTE2MS00NjhlLWIwNTEtZGE5ZGM1NDJiMmI4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="48" it="0" lt="42" ct="1" ts="1587564526920" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-81" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=771cbcff-0ad2-4993-8396-dba5db445ec9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="709" it="0" lt="709" ct="0" ts="1587564526265" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-30" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjJkNzVhNGItZjUyZi00YmIzLWI4Y2QtNmE0YzgyZDNhNjlh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2OC1jZFdtQ0E4Q0RDZmszQ2VENjNIaGZmemNMOXctWFROYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RqGZ0aFBWSAD_I9iigJZKr6ly9l1ntYsFtoVtLgmb0gFPRieRSX7NkANdIcGaMaE9FwCvXzVwrWsTlB0ILgAPyL327iWcNnrqYOCR4NOmcGl11bMqRjH58hHjyD3Sm_644aXoBHrkqfpQaV-a84JE2l7C38v1-0tcLy345vyAQfMRGm1ASXJzvrVmipF8pSrRRPEwa463-_wkfjWtB_Cgkl5DV8YvncAqyLbzjID2qm8gvoKl2daddstt6eN1eNldAK7kUzrmmqrpWh6TWYBbJKdTI-8Icep5XGyh6I-soo8KpDzhA_2vAUFCXWWGcsQNrw1yIcuKDv1W2SK3w5zBg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTAzMDNmOTUtZjkyZi00Njc2LWI2OTctMzIwYWIyYzE1Yjgy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="575" it="0" lt="574" ct="0" ts="1587564526401" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-33" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODk2ZTA4YTYtOWY0OC00ZWE0LTgyNjQtZGJlZjdkNTk5Nzk5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxMC10Sm5ITnhJcFoxN0hWdzJ4UTV3LW9GbFJSbHNzd2VDOSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sc3nSd4ZdKoM0JTg65TryIuX5oCjv6GAhtcwuOficFQnP9zCsEaR7nqVqnYsK590zeudskIWDViIB06SFvBGsRP9AJz3698NyTTRpMOgDTKm5y0k6Bpuf4mjuTaJMr20eMxJBBmf0fh0qFDOR87-XYUYzl8QAfELSw5BRTzbJVPavPNNU_JGoQEcNmZRsI7ovp2COisGdeK-362Pw87FyM6zB7YOpFSupDlSjHtCvw-1T_54wPOp119J6_DNBW9g6GHBATKdiND9Ss0ChC3YhTO9Tdjvo_56CBjWIULIJWThRyczQnB6JKEI6swKCP43SGvNxkDNoHdcJkzbJ6ZgmQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OGVmOWQwNmYtZGNmZi00ZDAxLWI3ZWUtMzhjZTE0ZGUzNWM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564526972" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzU4YWRlNjAtZmEzMi00NmI3LWE4MTUtNzc2MmNhMGY3ZmZj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564526976" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzU4YWRlNjAtZmEzMi00NmI3LWE4MTUtNzc2MmNhMGY3ZmZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="54" it="0" lt="38" ct="2" ts="1587564526927" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-53" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=36c1ff79-0108-4a1d-8db0-ea1027ebc49e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="56" it="0" lt="32" ct="1" ts="1587564526934" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-93" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=aaf0b011-2fcc-4ca3-8426-c13b8cb97dbc; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="658" it="0" lt="658" ct="0" ts="1587564526364" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-36" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTVmYzUxZGItN2EzMC00MDMwLTg1MDQtYTk5N2M3MTIyNGZk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5Ny1RcWJUSlYybHlTaWZySTB6Qk83VWxidHhMRlBoR2t1biIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.A3eS_xyQE9xILasJ3g8woP88_TfYYsgWfCdSnYhEq0uD-QdGwdkx2KQ7cRAjaWXh7_mSx-bxefTQPTwV3z1Hf9gJIn7yN-smdqE_dumiJn5mbLo4ya8a8NKYybjQ1WYv6cTmW2fKprSHDaUVF24Bek53wkAGHy-IaHcGnnpC28_EXRyeaZ3P-sBEwCmuYePY1UHQFFgQ8Ur8uawuGUkQTrMqceqkckj_mKt3YjQ5aH5zk1zN3lmsVnRKITnlmiBuD6sJADQ1F33PVgATCUSoKpUvC7cugrJRONU47qxGFs-df2-JCITK-adsVfD48_xZpr11AjaFQ45KnpU1aiog1A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MTUyMjMyNWYtMTQxYS00ZDA5LWIxZDYtNWRmNjBmMzJjZDU5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="701" it="0" lt="701" ct="0" ts="1587564526323" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-67" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWVjOTMwMzEtNTAzNy00OGM0LWJjZDktNzUzOTI4ZTllMzBh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwMy1KQU0wTGgxNURILTB4cWZheHJHNmwxLS1BY1RzWllRQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ALouYD9AkWfwDs25oqM_4Aalf1IEL9vizw87DgUlp-JPczoiOk8gqQulskeogIRGJCpnrwB0iZLOq9Om992a0G1LbdtCb0WBSnbGjoqqn47uIWCDKp61C_id-lbDd_UbIKFmefrHROFFguLHovE8EjiPtyi9qk7qzbUXJJiMkPlC2DEIhuljaC5ShtUBlUwLw_YS2px0R8OWxRilADe9n1-QM1jHh4rAkD6tPy3XkmKyNfNc_CKE8ss_L7Q7R5Bzd2lUxweymoT8uI2IUYyyIyN16fwpYLWkVFsyHT7daJbuLp-r2imUk1-HdN-KXRlR0jPT78M7Dz2OEVI5wjhdzQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NGE1ZWI3MTQtOGQwZC00NzM5LWJhOGMtMmQxMjY5M2NjODMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="659" it="0" lt="659" ct="0" ts="1587564526365" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-80" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDA4OTQ4YTYtZjdmYS00YmFiLTkxZTUtZGRmNzgwOWQyZjFi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2Ny1lZXprUWk1MG94ZWtsZElUbkFRTXZ1THY0UXhMa0N3QyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dHTPYpsHSke3orWDW6KY-dlyQ2I7hX65hfOK1CsyUnGQE-nvvh3FyXznUAfGB7s0T5ujZVnBnXCuDb7TzwPK3HFcE0MJ6TUyrGBjHMOOc3yNU2o58mJYbL2DfocWoyV2sFrBhe_OfvcdSoOowBTUTAvdAqeb5p9kPEc_otGHaPiPl5YDKn2KrNw3tM1iZ9LXH6O78ive0UOVPfV44nigYjLqmfqzSeRpZfC5lVLInhlTKayQcU3yqz3Jmy2eFhSRs3xmy4todQulagbN98stNQzDJZFlgnUQ87Ub1EFTZugGefPLJhwqujBKc1K0jcxZg48Sv3cyqiKMAXDO1wM4Vg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTlmZTY1YWQtMjZhZi00MjM1LWE2YzctNjY3MWJmM2ExYjFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="666" it="0" lt="666" ct="0" ts="1587564526359" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-8" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmMyNzE0M2EtOTJmOC00MzBiLTk0ZjgtNzhhYmI1YWFlOGQx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0Ny1NTzFvcXZPR2FYQ1Fma3VBVFRsaGNaM0JxbHhBMW1IUiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.soUDhYZq0RoSpYLASXGuYYzeLwMIp7kJm_PYCnVkybqG2o0_W8K76IH0GaTaZwbjC_2_vvC67Oa-KPdYHn16Ky_8lR1DtCDHcon3uYOTdhU-SZfdXh6sdQEp45ptQYClK3mKvTtK8TD22ejyeH40IB5xCEHwhH7QWpZ2cOVf63rejUzWGUnPJz4dLI0Y-4D0waUWN11ioIFctecmbbBhCHdIemgng-P7bTiC8cVyTVTcj4ZirTCjgwq1zxN7AFKBHl3PtR2hoxqYR5ExuHHHhw-LkPP8u0dC6vmsfbY6JbrutgI8-HLqPilYOlzQ759ZzZmv09xtAz6cwyNEmby1PA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=M2YyYWUwNGEtYzVhNi00NDFhLThjMjktZjViMzRjNDJhZWM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="649" it="0" lt="648" ct="0" ts="1587564526376" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-31" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmMwZjg5NDQtNGY0OS00ZmQ1LWI5MGUtNDhjNjUxNjBmNzM1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0OC1IZ3o4ZWVwRzJyZG5ReGJqVGpOYlItZkwwYUhEY0JDbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WcIh3P02dgWsk0bm6jGtUGQoUUbfnHAuRZFVkUGB_paSfhgBcFgTuF8Br9yXUuRP-jv3cO7IVSH2j9tYeM8xF4dwlewfCk2anVDu_yEZ4EVeQmayE2aQNTo29LJKHh0Yr4Cq-DH4k8-h1XRZ6Z2Wz4br9pJj_kFNr20Wb-cSii7fZ4OmVMj9qeivv9ye3nqSNx8mcBQkBrHdHG2F_nrlmzL5NeUhxKWdD7qr04rfrTFhEefuo-Pc2SELKCBJFhbTayxHZ_LQjOU_cBUyVlF2PMmn3wnyd2HhF9mhVfEhCh-K0fx0BImPBstgp3pFCohkCZlcji624u18m07N4PAV5A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQxMDBhMGEtM2Q2NC00YWE1LTlkYTAtZjQzZmM2NTczZTVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="669" it="0" lt="668" ct="0" ts="1587564526357" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-49" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2VkOGNiN2QtMDkzMy00MjhhLTg2ZjEtOWY4Y2ZmYzdhZWY3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5MC1yS3ltV21xZ2hkZmk0azBGeVU3NldPUGVBbEFIVEdGNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OGn-c_bkLoGbpF3W9wuAMARg-LYOYZO_eLkrOMhrn5COkPDQ2w35Q6E7KDLbIOLubs_Fvz_UxIz5SBkFY_J--i4mXvcy2tA-zQyxkGHy_7RtyFc0G-Ke3txG8XmjkpAKlPqMXBrQ8c_Re7sUBMboooYLEwzzzTK3JoBarRijyNK-N3S7KT61Yu2PjPUPhNUvv0CMyQeigvXv14RLUnTGnlpIslQV_r7-JSwJWLEPoajyFv7XKBG81OmczKsYHLxk6X2lHkZHPmI3ZWUAr9POGbSJO0YV_sT29wo02KQJzJ7grvKHqrZxzROTEvKmDnLZI9Fx5IhBU9_hgvNg8fniGQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MTg0MjI4ZTgtYjA4Zi00MjNiLWJhNmEtYTE1Y2FhNjNjZDZm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="668" it="0" lt="668" ct="0" ts="1587564526358" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-19" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGYyNGQ4ZDktYzdiOC00YmE4LWJiMDQtMmQzMzEzN2RkOTBi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3Mi0zakpaQlhYLWZRTE5SVVRaemNOeUpmZW1VeVJkSEV5TSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AY6D7GmODF9JNkV-SroLvIhHVMTpgj-0EY7iLLtVoD1DuIC6o-CBa0d2mzpYNr46i89ea3m5QVJAUiUm8PqR9KpXM-hp3yXExfWphssBvxSPoqc6WE-DPFRzuVRd4lpE-EJtZ38WDV__qHPaMFUIefrhSw6xkOOaH7MKiwTYefiZoWuV4USJqJ196otjbBXUDWE-loqiYVWrISdz0LVlCbal4zB-_IgtvOHVP9K9ysbRWhIuikQghlMpVLlcI2hJgBQITTAyF9nvjv4abUrmu0ssc5dA3Pxe1wTU0KH-oK259cekcfDZ9NYv_zUrAv84nVvczPCwOc0r95rbY2sSGw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MDVmOTJiNTktNmIxOC00NTQ4LWJmYTUtNWU1YTVhYzk2NWY1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="651" it="0" lt="651" ct="0" ts="1587564526376" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-29" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWYzMGQzYWEtNDQxMC00MzAzLTlhOWMtN2MyMjEzMzYyMTAx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyMy0tVGZaTlNnZVdmZWE2a3NOakdQUzJpLVJIcnd3VWRZTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HqH65AKYKn6lJeN-fsmBd4-yIrzVOJiSrYcLbJqIskcl66Fd_Qgt4c4_XNV72BqiW_sE3if6MBc8kHw0EiLjv06LSeqo6N8kBtABAPAChtuMZrpt1Qkill0F2Byod5a10_FBKNpBw6_toNFRWymHaW--keczjxp8OmlGzffvM83VCOGmvJrMBRMK3Ow98zhxuYvXawp0Xe8lrWmkhe2rkZAM0gBnlPv5HKRz1lUlOxto333KIX9mSgspm1u1JU23_o9aR2fz2hXux3-gR1mYbOWIsjhmp88eHrd7I4_5XVguWzLG7s0lFcv9ckqqJmbGwhLAUxbNT9rOcjy4XlGfnQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YzliMzViYjYtMzI4Yi00YTcwLWFhNmYtNjg2ODMwOGI3YTYz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="642" it="0" lt="641" ct="0" ts="1587564526387" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-22" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDVlZWM1MzgtNWZmZi00MjI4LWIxYWUtZWZiNmFkMWEwZGQw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3Ny1mdUZHSXFOMnkxVllKQm9zd1VqT3lXMDhTQVkwLUY2TyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.JsrwvZ-piOP_WG0dOf66zZ7y1buRfQiv-aTav_7nPiEiEC0tzVCsQnS0OwsmiC54a9zq7mIhICCaSzQuL3iqFgSswgV5ui8CjxKpu-fcAIM0yhTAIAsvCtZiTbvfXEaoYtzlYgnelFSLGM_00gm-q41hS_QirD0RqcWIaRiCoHEH1voISc_S6xNBPzqCe9ijxA6NQHi3YI-BmI8SwjIGG0WYFcjOu7pLvDoOyAtTIhChx7kTr4fgP3vFqc5lOzgt04y8eZKRh-IdEu2Qm0xohxcpj7KslTJYUK-pyHu-JR4A99Lq-GA9XjjDuw4kRSq--5DbHTPwRatKLwUWwvDjaQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2MyMTVkZjUtNWYzYi00YWU0LWExY2QtOTg2NjkyMDc3MjY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="693" it="0" lt="693" ct="0" ts="1587564526336" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-7" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjE5NjIzZDktNDZmZC00YWZkLTk0ZGQtMDQ4MGFjMWUyNjZl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3My1kMkd4bVM5cUJRY3lNSk9VYllncWFWdFphVFRrd2ctYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LEOcxp6D5K2xj2XWg2w7BBH1pUJLSItg5UAkizCk7nynFRSR-cYHHsY7p26fcU7sGGIjNplXhrjTCXqS0fwSJKAcAswv93-mkYhDIW3a_EjiUFxVYiTjEURGmud4RLPuaMgLcMyroh3BLT8INI61LMpVam4MG8j9FeDsEzVkJ-X-BGwGbHNkg06Vo2pBxtI44C9NoN9qpSH3_zuxqw1rVJe7xHI-cXkS3tS-_qSO1sD2Bv9_Red5l1LU5lC4Ydwv0zlvUktV4PNoWVz0qqPVt7hG3YNvRDZOtzJy8Id4nkPvNS7iqVPq1l3skx5DuMziTAbPUsA1vR5PYvsaRyMBcw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OWVmOTEzN2EtZWVkYi00M2FlLWE2ZmQtYWFjNGE2ZmNiMzBl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="415" it="0" lt="415" ct="0" ts="1587564526624" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-51" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzE1ZjcxNzgtZTZjMS00Y2RmLWIyN2EtMjE3MTAxZjYwMTNk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyMi0tQTZOeS1EVFJUR0xzT1BhTWw4a3k3LWJDVTR6c0F6QyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.X0pBcKHsnQGAbtDGYiAyU2qOVtbAT0Q6XNl-zxGxeQrIHHYPb_DJqMejzxVm3iW5tfDRu-k97KqTQkWNZmqBl-QI94cOHH8SZUOiX6UZbelj1EmHWKTfX5_4meUX-k-poe8HZkCQR2Lzcj3qoUqi6aTrLGQxPdVL70lp9zQ2zMUiQAJaGRHkEb4SS0OBbnhTO-iH_Wd-Jz4Miid5FXJ7ydX2-5gqvrYps0czEvg_6GWK9opi57Ijy4BOWLmkqbUktsIaz0iLrNmzaJHCQPuWCH1i8e2RpqWDL3A6Tb4OdN7hPyMcOutv_TFPIs24Srxw2v1On9Bh-dnccead7bDfHA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTQ3MGYwNGUtZWExOC00YzA4LWE3MWItMGUyMDA3ZjMyNjE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="2" it="0" lt="2" ct="0" ts="1587564527040" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDYzNTU3Y2EtN2VjZS00N2YxLTgwYjAtNzA0OGM5OWQzOGVk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564527043" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDYzNTU3Y2EtN2VjZS00N2YxLTgwYjAtNzA0OGM5OWQzOGVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="73" it="0" lt="61" ct="1" ts="1587564526980" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-40" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a0d2eb2b-3495-4871-87ea-7a05344a2dba; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="673" it="0" lt="673" ct="0" ts="1587564526398" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-92" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODdhYWFmNjYtODcyYi00ODVhLTliMWMtM2JlOTRmYzFiNjIx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQwOC02UkpMVmNBLWhuRDVHVVRxMy1BQ0ZuMEVDME5JVlhBUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Xvm_4JGCNCkLSX9beA7HCf2gbUeZRLpbG23MGQ1waqxfnXTOyRUSephc41Ees2Q9AblCr2fpPX05_ylYSeIrBW2Mtz_xdc1R8vBWotFc6_DVGcN_QJ7q12zoT8Cb9-Ikk4x5umlOAsYHkTtzzo-dPzIWy4HjbhFoLBXrGBOTZukf2eEt-45L6jZ6ZTOGgh9Sf_K-erACiJ_6-5rtJhYujdIZGVmwX36kv6D6LLxIcMGZ8Qx-gmD-K-YHidNEWe5LfPho_Zth9ZoEnq0fOAfPdy-Zlm7u-MWixonEvkJfwPt0McBuOBemZT0JfaFYhnnS72QTv_OL24-MZwU0_vrPjA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NTM0MjAyZTQtOGIxNi00MTdjLTk0ZDItZTQ3NjZjYzYyNjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="714" it="0" lt="714" ct="0" ts="1587564526358" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-100" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmNmMDJmZDctZjk3Mi00ZTgwLWI1MzAtMDRiZWYwM2YxODYw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzOS1IUVE1VTlVcllVUGFybTF6V0tNcVFFeE0tOUgyUVlUNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YjHaDpTOnbjc03hLJfRBNOBt_h4Z8ja4iAKSbYr9EZxrKakguahdZlwAo6pldWf5ikKxLIoTLZhX_f1RLX6p2JLphnVdxRhTmAoiu6lmnEcKW3stXdepg2HVv-SlpasJtcX6eBh5Gei3g1gQPizKDHinbTWTwbiKMulqVfTsMBDdOPd87HVOujkLZ-tSrqycvEkQhdto4mpPuM9E0yv3OjOmi-tlTf_V0WsCKkXuevbXBRmGcjMtGuYbELloWrMagojOknHmD8z274QfjtdYlX8YhCMLkjteuF5JoeHaeYuFhDEo6V9YV0y6VhZM0KZlnPHwl6AFyHstPdKtOjzlMQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YzI1ZWM1YjgtZmM3My00ZDZhLTgxNGQtMWQ4NmQ5MmE4YjZm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="669" it="0" lt="669" ct="0" ts="1587564526403" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-21" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2NmODA5NjUtODA5ZS00ZTBlLTgzYjgtMTYwZWYyZTY1Y2Iw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5NC1rcUc1WG1MYzhjSmNFay1XUEJQbzdudWRqSDBIMi1FWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Bu-ByFp5uX15-o9PtNJZsLsVj5taGWnUteynj4JwV6XVHjWkq-stuMugYseGaKyMo4fWnJBCclmYTX75i9-9ewH954OFUjoicrpp416QoiXRczTbzFDzSAWGoxEFnuKL5yvm-2jqd1yNcgHIYyRHLlt3x2gdKX490n2Tg2m9pPe9p2LkaNbmlbQNjKUwLrI4A6vLC6YWoci5LZZLA9rWfq-zLddWYDs7wOpSwepCgt9XMwMltzbI-bu9hDnWWuUeDhrcgZXjWhKcb3oQbpk9Qn4ZLBNqMYL1mc9wA5MLR-TJWhv4EGsIIUMJeKGxueFPrV1oWQLM9oQNZXX3-Q4ygw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MWFhZTdkZDItMmFmMy00MGM1LTg2ZjAtYmZhZjQzNTlmYmE0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1134" it="0" lt="1134" ct="1" ts="1587564525941" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTI0YWE0ZjQtNzJmOC00NTJkLWIxZTUtYmU0NzI3YjQxOWRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1713-vixnUneCSfDGW0HBYp9XmzTN010c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="679" it="0" lt="679" ct="0" ts="1587564526399" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-94" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTQzNmU5M2ItNWYyMC00MWI4LTg4YjctNzg5ZGYzMTY5ZTZh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQwOS0wRTAtWHdXbkI3TE9jemtkSmNYZXhkOVlVLXBPaUVEUSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dOuwcX9biYO16UEwG6n4YnTTS5TiiMG-zLgECeqqynH1dZMUQn6CVRKklD9lDNVSZz8Bv3QlnM2Quysqr0lGqRJy-LmJFsehQLIAHTo2aRIseE_-iSG6sh3OOGwcsYsDhF_HzVLIbTWeKhKAPVz_m3B058QWm4X7mH74mlQyZ1lqSUlXpzIu9oz4_m8TrnM5jy2l6AB6iGhq4Up0HBgZJZNaNVJIJ3_eoINvPPrOwDQWoFYt8ZDUkvmI1x9HC0D2Ni6elLhdbVDNAHNayyRgCOmQyOY9s6Xekwzbv39pMjyuLQAWeKjGpONJpCthdS8kN9mcOHi-9F8Vzjb9ocnIMQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzcxMzdjYzgtYmE4Mi00NWU4LWI4YjYtNDcwMGUxMWIyY2U3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="678" it="0" lt="678" ct="0" ts="1587564526400" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-73" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTgxYjQxNWQtNjY4OS00MDA4LWI3NmMtMjUxNjg4MWI0M2M2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNSwianRpIjoiSUQtVG9rZW4tMTQxOS1VLWp2RkpqQ0RZbWFXeXRNc2dCZGppZXhTSXMwMjZ1SCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.n9IDfdecn3YxH6CPFmolNCtErtxiX4LDwQYRnm9OcTLn-VRYpBhNNIW9YIK9R9GkPs-v-kz5wNc9ORx7bbXcKfq99890OFID-mUdka-f3O87wy4luSLA_A__ylA2QaEVabYVoAWJaU7NufrnbWYkZXc7kK9Dlv48UJdZBQk0owUXa8KPqCWZCUPDDhT7tMrP-5sTetbnwfUm-l0_1w0LW-QS1iI9YBCUWlC9BUu4ngYYn6VwX9vh555hY2tYRiU7bwbf7SjC9ErU81hGvyS9lnLkUdlgosO0PIPQT0sVgOPT40772dIQVW9IiUWa_3XQBfI0b3VZWGWhP4CJK3lscg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NzRhNTkzMTEtZmNkYS00ZjA3LTlmMjYtM2EyZTZiN2IyMzZi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="721" it="0" lt="721" ct="0" ts="1587564526363" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-55" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTRkMDg4NWQtNWNiZS00ODk5LThmNjEtNGMyMDFjNGI3OGQ3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwMS1OZFlxM0QtZ3pzT0R4am55NmFKbTYxMXN6b0NEbGxkTSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dHJMfEz4sjj_-2iW-CMLqDYcqazOs6rwUPAHAWKm8tNd-f4D3Gnqew3iFyCHWGEhkW4g5R_rJQW7f_r08rl-xVS9MgZ8k28-vnesGoUp3F85t6C3Vrx424PW6dFu-0GjJJYX8eJ_tb12zpddsj5_LlzCWAuh_hP8-JMqb5xmMrMUmuTnl4r_yhbon6BhvT97eNSTcIC3QQfB6L-Yw-Dt993j789rIjbbi1cMGlTHBfFFllX0BF-4gpf7V3xO43gW3_NAR4rhe4zwWCsWJnh1Ici6YH-bZxcASM-qlXWMHdoCSoy8-OcQFnVkuuFiFYim3uKjq6QUZBUDWHCmW4bUtA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjY1NmM5ZWMtMjYyMi00MDVjLWI5YWUtMGI1OTQ0N2FhMTRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="730" it="0" lt="729" ct="0" ts="1587564526355" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-84" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzUxMGNlMWQtMzliNS00ZjMzLWJkYWQtZjVkYmEwMzAyYzQ2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4My1acFlxQkFaWG5Bc0R4cUFXdGxvRmNvY0pEdmhDSjg4ZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.paQLzmqOlmIJtOf7a45D4M17dJfTHp8PpYJtayhT8s-z0gfn8LhZ9Ry957P2Rlwd7e0Jn3uRLqiGkfGRtG3xPcwe-gORMDI3XC-C4-N6shtYxTonBBkuyIZS7tWp9QzjifJNidcJ1inodOjZRu8RmhMrRR9Yi_Brci8-SxOS4rDd-C94gAez-BJuakW8wKboV5ISQJM-XwCxbYrKHLXW66C05ISAhw9hkUtXnPzpCum34Grd-gsr5CYqGG_I6Ub1ANofZAeWiJK4qWnjE3MdbfGDYaLYOBlLlhAciUuMU_g69ZaSeEer54q01mcUnvxEtcxMM26VuRrl4Bbn4BS9Hw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NjFmODA1OWYtZGM5OS00Y2EyLThlOTQtYTA2ZGNkODViMWM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="678" it="0" lt="676" ct="0" ts="1587564526407" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-99" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmZlNTQwMzMtYjFkNS00NjJhLTk0ZTctNmQxZDkwNjJmZjgw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4NS13MEQyTjJPOEdMUmlYZVlEZTJqMVNmYUg3djV6QUp3LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NAleEXkVh-K5t3dAy2mW5UzlB5-81qKtXiYCmz_i_dxUfoljkNoXSIdmNJlUfBGefYoFIbARJxxH23Tg4l0edHyNcWCHAmagLaVj4zseut7UBbnqknr5_ks98tKZe7iMuS8XyXV0IplmJ2vBB9yb7RMSqrtMybMT2zgVoHYDJ3pHOiOXnrLKG-qG1aiVA6pyd1dsI8ImXJiTQC4v4T3NYdqe1AhPeRgRqb_nVngc5Oa5ndN5F0maZnDWInKq52m2TrlriisKUKLypM3FJEm0MVihMcd9hZEaicehjt13J4arFX3ZB2B59dvrha8yIA9fWa6L2-zO8HKRQ1GFVx9nCw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MDVhNTZkMTMtZGQ1ZS00MzkxLTg5MzQtNTI0M2NmMDI5YzU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="699" it="0" lt="697" ct="0" ts="1587564526386" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-77" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDM4NTIwMzEtNzU5ZS00ODQxLWJjNGItY2Y5ZjMzMzNkMmEx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzNC1yeU1hdE55OGJXYk1zQm1KeHl5ekdvLS1uWUg0SVBYViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.c3S_lUQ44XAuckBnfjZTYuJp37g79g_OR_sp2DGi5RqgJk-WXqmJR_I7wh0KF7zbpVH7Zdo2g4nLuuv4YIdiHkXZR_gzhA6n3UcVqukFW7ABsTsi2CEI_-W-5iMAEKflYlgr4QM__f0Gb8gxs24boWsuYmF2294n52uXx6AXuC0nA-4sByfVE58yo_ozMusr80QEXXH6BSyoHsTjr8hr8mzZ6F7K0ZEsktSorWSbWZeryWzL0_tN8ddzJIFWtvTQXp7eWSVnTJbq5qPBzH1BWTT1G4BbW8ouEGDOITxtB3CoySY-RV4l2OESzPA_KWhSAx_WNfDWuaoz4k3etKeS2w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OGE2Njk4YjEtMTFkNC00ODdmLWI3NDYtMDM2NzgwMmQyYTQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564527075" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTI0YWE0ZjQtNzJmOC00NTJkLWIxZTUtYmU0NzI3YjQxOWRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="734" it="0" lt="734" ct="0" ts="1587564526354" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-10" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODY2ZGE2MjEtMDQ1Zi00ZDU4LWJiOWQtYjE3NmQwNzdiZGY0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2OS1VdUtyLU9veFR1RzZrYjd3alpkMHEtam1EcWhIdnQ2RyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WDLsfFgcWwtTMUR-ykDUBb40LLGtp_q9QuKSEleyLbLy-KdRA-NvJWWb2vd2OjUllZRI4aVYhNYywFWl3-ZTRegVnRFEvG8PjLmBTChFd2cdC1Ji92AFhPJg4DJeepJDuBtdYH66WHg4LJl1F1HT9mGQ-66W-n6KsQfRj0-gl0GurOgWWNCI-wqhhZMwI_oh860wp27BoJsMAOogGFH-Q5uQ36TdZGvFpjD3s643HQN3o-tlxZFNdwy5vRAXHOVnmCLIf2GReK5zTDRK3BP4-CW8cjdIf9ZLtAFCGBAxF8lTEpmBSeAzn6BKF5cTRP2wzANU5I-pRQfiiO21ssCdfg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MGI2MGRkMWMtMmIyMS00OTg1LWFkYWYtZjQxNDMyNjVmODU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="817" it="0" lt="817" ct="0" ts="1587564526272" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTU3M2E3ZGUtYjQ4Ny00ZGU4LWE0OTctMjU5NDM2MzkxZGZh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyNC11SVE0Y05XMng2RmVKNEN6UXhMelNIMDd1OWZTeGF4VSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KasoQiLywk0llsrgaKuRcqt_3Oj1ym3OrBqo_tkaQWJuujEK5rAe6RTW6iFDw-O4FzukxUiaMbmDNqKUqgP2AaS3wjFceGLlNkW9cqUvm7b5M5bihHTzzPx8EtcYpfyYYgB-X1f9Wz6KCvWOUzzCPY_QgVrDPtLzXeyFNPxunDKpz8EOvluQZjvMBxC71V1GF0SIcIf02B1rA0_Q2brQug2dcC3CQVwbWEk9TiMJ9QAMjnqhE7i13da64Mk3WAYFOMf5o1wgOGBiQufqkQmh5627JkHasQb4ZureRIHIP6xRB54-tS7VGi7H9HdZv6uMc3eaEio3UsR3JU6pm2XiyQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MzViNTVlNDItNDBkYi00MmUyLTkwNjEtMGU5YzE0Y2RmNDA2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564527086" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNiwianRpIjoiSUQtVG9rZW4tMTQyMS1yd0IzVGdXWi1yOXBSVkwzYVpRNkczOTJHVWNHWFF3cSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BQDpA9I8lIGw1BCDFORQrTRi5YEeRl7YRnQoTus-3V10QNcPRJfrYWMYtMgsLUfrWQQy9CS7O1KtZJksZkIhQlQorIim1sABHNeV4COMlMY4_Jf252fwHT9ZU3pVsiRbvXZRqaEtsupHfoPP6_JOjB1CJl7FxYhe_jB19orS7KiwvluNlkKyyJ6VNb5B_82HvdCMW3Lahutv2f3bd1YWov-8OB2rrE2YjDdk_aEEx2i8PMqelmbnDd7Otn65ij-2RUwwDfU6YUgth3jyDbYmkZqHl1blkt2Sn-dZgAcyJ3oUoIFgxU2F3IeX8eMFpOcOlLAmFWYWkaMjj7DasvHzFw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTI0YWE0ZjQtNzJmOC00NTJkLWIxZTUtYmU0NzI3YjQxOWRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNiwianRpIjoiSUQtVG9rZW4tMTQyMS1yd0IzVGdXWi1yOXBSVkwzYVpRNkczOTJHVWNHWFF3cSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BQDpA9I8lIGw1BCDFORQrTRi5YEeRl7YRnQoTus-3V10QNcPRJfrYWMYtMgsLUfrWQQy9CS7O1KtZJksZkIhQlQorIim1sABHNeV4COMlMY4_Jf252fwHT9ZU3pVsiRbvXZRqaEtsupHfoPP6_JOjB1CJl7FxYhe_jB19orS7KiwvluNlkKyyJ6VNb5B_82HvdCMW3Lahutv2f3bd1YWov-8OB2rrE2YjDdk_aEEx2i8PMqelmbnDd7Otn65ij-2RUwwDfU6YUgth3jyDbYmkZqHl1blkt2Sn-dZgAcyJ3oUoIFgxU2F3IeX8eMFpOcOlLAmFWYWkaMjj7DasvHzFw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564527089" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWJlYWZlY2UtMWM2ZS00OGVlLTk0YzItZDY1MTg0YzRiZjNj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564527093" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWJlYWZlY2UtMWM2ZS00OGVlLTk0YzItZDY1MTg0YzRiZjNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="707" it="0" lt="707" ct="0" ts="1587564526391" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-32" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2RmOTAyM2MtNWVhOS00MzgyLTg1MTktZmE1Y2M5YmMyZDIx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwNC1yZTlhb21DV3FoQWF0UGpoUG9LT1hOejYyOVZ1VFA3dCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.X1dOkXcNG2BCwco8b-i2RLDTHrJ6zfPuODNeRbnDTvuwmAProEyZWB2O8bgsgPp9aIkAEDFsVG2_2UoB6GvVu0aW9v7kH3R_Lls34UcVQfjBtW7XcTSyfqltuwFDyNTWrvkavYwNtarTR7_ItQTB3RFH0T3C6BRle_vFZsNvzDCuC_dKwCCIW6wDLZJq4tIQgEWOPxTUjLZZhmBcbsXfca6hVKZAq-aDIcljFTCrWpjFTyjGrIjiKJjsrsbtLUFRGYcnP0hfxZ5m31KAsF0tYaWtFSGc3unWg2RBSLSj6etG02vuO5OKw76DmNRS8pf78VyjCmNtjEb-mbt-VDAdoA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=M2QxZjUzNjctMWFkYi00ZjM1LWE4ZTktYWY1Njk2MGIxMzc4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="78" it="0" lt="53" ct="1" ts="1587564527047" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-51" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=69c4d390-e0af-417d-b5b8-5a639d3accf7; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="860" it="0" lt="859" ct="0" ts="1587564526288" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-52" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDc2ZTJlMTgtZDIyNi00ODdmLWE1NTYtYzFlZGM2M2RjOGY2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyNi1PUjU2TUNpOC1ZQVotSjBNTE1nWWlvcE9qUHltOGlTTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Kd0hiVTXbESw-oeaPBPrrbabPHEslth7vKBzTNqCzT4zGQhveBmngOEZ5gBg3s4vqmUHU4DPkbd65Y7N-tg40Hpq-z4AyT41mPoynHh2gdNfjirWnR0A9_5RqJW9rzSB8GaaMhzrIrJbCVWLEaOqWMCXK8PWC2yXptNH6ea-ETkkHKcP92w-Ds52sr2gphB-D4Pv32Qkd3llluMCWhCWOfWzN81xm36I1RLnjMVXnD3NrJNWwL4D69jnKGdHSBudG0ND9bo-eovG-FhsYmUovSWke7Hg8YIyQythvWW1PItERrnXaf8-K_pCx-mp0WZvirGnUnWiy4iviX9RZCCZKA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTU3NmU4MTAtZmJjNi00OGNlLWI4ZGYtYTVmN2MwMjExN2U1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="757" it="0" lt="757" ct="0" ts="1587564526391" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-82" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDE5MTQ2NzMtOWQ3ZC00MGJmLWI2M2MtNDdhMzkyZGIwMTg5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwMC04aEcyTmhWeUFiZDhBTkI4OTJxSHc1V3gtLUhxOW1iUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DkSHYyBDl2HE1hiQLR6q0GceoVWYIhhLUtPi29SChq2qRfvBtQuCfA2hkNb8qqC9EIZjNHfwC2rqV4uopu9D7AXGSWgALX-SqExOl8V3nutS9ID6-b7WVfpl-LiCCersBmYRR_QnEcUKfS4Bvj9hHY7kehRg9PNHjOTsiyvIEW1_hd9w70n8p2gHzQgfsJ9MAtAOfb7mIsLk9hsmeb092p1de_CZgaIIm0vspgHjsfG5p9nzmPWrr73A-zHe8_XUcoZAs5Es2YXRbgLv9XIoJE20KhSYGKYgFWIxAqURf4F-H2k9_WjjEwenr52CiVqa6wHt06shqT21NgAvmkEzQg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MWI3YmQ3YWUtZWFlYi00YzkwLThmMDktMzQzNWViNDk5ZjM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="750" it="0" lt="750" ct="0" ts="1587564526398" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-64" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzhkOGZmZWUtZjZkNC00YzhiLWEwNGUtNWY5NDMyMjQyMzFi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNSwianRpIjoiSUQtVG9rZW4tMTQxNy1YVjBYb2NmVUdyTlpWVDFnVmJaR2xab2JCWXI5UmVpQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qpaC9U1nyEvNwz7fvfDS3Cj4b12q3TGEOWeuZChztAw2pC9HYAlf5IaAdzoINNP7Iii1rLX7rYNd3ti0XT7wzX2kym9VjjBm42V4EiDLrzX9IGfu55Qdh-1k1te9YOUcpeZ1s2iyY5DslZBeZUjAKQLG2D9E9Bfa20xyMc9u8VQBOJCc7ZxOTonzAgqWDfgG7c4P0Th8wXvS0JwkXi8r-y8ltVLHXAjy2e9hgNI7c2kckNLlRsfHShJJTBG6n4bytwf5tTdqgcX-fmuw9qJBQLsI4g41X_TcBi1Je0Fj4hhTZzABNJIzIQQzXSM5M96HlfFKmD8d5kt_faziHWiM3A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MDFhNTNiOTAtMzY5NS00NTdkLWE1YWMtYjJiNGM0ZjNhYzg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="823" it="0" lt="823" ct="0" ts="1587564526326" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-72" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzZlZjRmOTYtOTdjYy00M2U3LTk5OGItMTBhYmZjOTczNTg2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0NS1BUDJwRUdSdEZKNXZ2YmFqSXg3c21NZVRNUkk5YUtmVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NGXsUU_qeElQEx_L2UfaWG-fFT87IuIReKeFlEw02fAbpqXYrq_uuOdJPoJp8KVN_WAmq1mcKyYaSYRnFp98bs47EpEMoKdeqJpJN2lwTDh99houzrK5nf59tBw-3nZHIbk-t5amsn3A0Sy7w7-H3t1KxcU03TU5ToI0zGJbumIoYDhd7hiMSy1dRlmfDulmHiixMM9klJu4HrHvFk-R8e_E455kabNp33_7_eogNwQ5Vv2FAWNGd4TyU-d6hTEgzrBR9VrqxcGWYHdFWlcnh9Stae_inCizXTzwgGk4eqiNfj1UDrsMKTkr3frK0-4Qvc1Ry_Ll7HkkIMr0cQWZbA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NWE4Y2M4YjctYTk4NC00ZDcyLWJjMTYtNzFjYWQxYTYwMTc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="60" it="0" lt="33" ct="1" ts="1587564527098" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8fd5f9a5-aaa9-4af0-b29c-1cfabbe5570e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="817" it="0" lt="817" ct="0" ts="1587564526370" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-24" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODI0ZjVmNDktMTgxYS00YWI4LWFhMGItMWY4NGFiN2NlODQ5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3OS13dndvZHJacTdkd0Njd0tzUlU0emNrWXZyM1J5alVYWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DZny4Xg2fXv1sj-01VPfyGQMKHQzqs2HxQoLHugitMp_NAW2nZdPhyxVgOajHXBY3leMhxfdekikIuMyoqi4plFj3IDHZS-8mV0-1m4j6nJc8CIDHxa3Uukn_aj1F2TUmGvcLyYOzvuxnUSMd7f61e1pIIPXF8yhTyliAqO2RP4HOuf3GkT2mB6ljmGOyAP_usK8CJtWS7E-I0w4dDdkLSDTtsB8QqHDoeAcg7TjFla-yRSfWUvDCwebpKHGFrSypfyiICi7xxcdkKklY-s1udHBi6oDj0WLn7wOJYBy98tjmPniPzoKKczKkDN8WyeJklDRforjDpLX1M-twAw05w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=M2I0MWJhY2MtMzhiYi00NmUxLWEyNTctMzAxOGNiM2JjNGI2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="807" it="0" lt="807" ct="0" ts="1587564526393" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-91" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzYzYTk0NjctNGIwMi00MTcxLTljOGEtMTk5ZTJlNmI4MGM1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxNi1JSjFDSXBvdzNHdzg4ZXZBNm1PVFR4MVZWbWhIVTZkZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qw_LwH_5v8vvgglpV6qQuLBL2dDmK-IdgKacG9M707tHBFh3f4T1EqnbsmODRLsJIpmKqBsIQljMS9J4j_9trUhi7MuTPlrTOHZU5qX9r-JIiP4R5mL4e_4yFxgoeZkomPSZF5Cu1_HpRu9LaPacoPAvsCb0aWMocCfBBtmurB4uu4IlwBP10Pv1tq1RW4s6LMuOg9V50jBAWfxPqSTmAXGEoc0fTOyj8fv05V871gCyDLXcdHU1EQ7OKgebmIZ99Bb0B8NxQsKjrXNvOvKWjZRifWMAe_HDpEa15LcFVKozxXUI5mRan8eP1Gzz1M-qEeaofPO76FLkkiwTv6f0Yw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NWQ2MDA1ZDctOTc5MS00NjY1LWEzNmEtYzU5YjljYWFlNTA5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="830" it="0" lt="830" ct="0" ts="1587564526375" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-14" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2YxNTcyZDAtMTYzMS00YWUxLWFjNzYtYmI1NTcyODY3NDM5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5My15VFp3VkwtLUxJQkpzTGNPb1dXZktkcXE1MEc4azY2MCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oHp_zO3N-1c9Xef8_UfHuepDokxS7TvafiGPVgmp6DtVKw6YBIJMjSveL5455oepBxgYNNnM3T3Y8_ntAYOUhfmw_er1mKfl_ZGHX7U-H9OI4TSm7YSra06CIQTuXk8hz7SScwuBjgSkZCmr0CSvT6RFfc0cuueTy140U0OQbncHXaDt9E2W5lA9RZ0nv6jXGwbDpwQrPTdgxxJAMlivTUo98R3H-UCwIndw4Fvf0g8Mqp17P4U_9cH7qx4hmlqwNtwtjIPI-ejhMd5L_8tI2LYXfv6thGgnoh6hxFTtHEsqh9fW9996jBZIimx79tO1PUw6Cla2wh-ur3zA3xtHGw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YmQ2Yjc4YTctMzk2YS00MGZkLWFiMjktY2YzMDAyZTA2Mjc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="818" it="0" lt="817" ct="0" ts="1587564526406" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-66" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzFjMWY5OTItNjc4Ny00MTk5LTk4NWMtN2VhOTg2MDJjMmU3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5Mi01VTFjeXFic09LNXp2R1U1WExSVDNYSkpmbVdnRS1VWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iztF5w0ZPd4DM2gPEnuuIJSnCT_RBF6vcOvlIw3CNXK5_HC2c9JiI7U3u7hnInirs67QSD3B5hVY4RPfMqacNlp-MpDhzy6L4RkNt1AuyYb62DXmlEGi3oo89mY7kHgVeRNHw0ck-356vXPkBpvopI_YV_6eB-hpLZhFrtCNvbozKvuijTTdrsyxuuK2LSWcPQKkUi0HLxJ7oyMmu5pglhptKLD97s4DfUJmXYIGjgdHLR4RCEdfptyZVyVHh2hvsR8n0N4-9yKc1KvCC1FDbFl7jiN1i6NLtef0gSiEhzpL1NQ8t6KusAzkaZXeH9BVvxA9aUMCWLV-tGl3HFfmqg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NjBkMWQ0YjItMmFmYi00YWY5LTgyZmMtZWVlMDgzNzUxZjYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="835" it="0" lt="833" ct="0" ts="1587564526390" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-62" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTdkMjE2NGEtYzVlNi00MGVjLWE2YTMtNTdjZmQwYmFjMjE4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNSwianRpIjoiSUQtVG9rZW4tMTQxOC1YNlFFaGd4ZHpMbnpScnhkZE5ZQm9sZVUxNzhmUVk0WCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rsWe3Jb8Q_8PmznQvxE0FzJ8aFfGru3DFVmQ-rraPLMKJEevtlvU2bW9npIW2fJAyCobdYyOf0g7-1NVReAYrdqCLeGr5rMCN8PggkyLYvgLSXTCrEJulDNEKaAOuQAXcW-KoT1IK5HQ0T9g7cVGcfSMto3nk0tfpjs3meFeUdPwdYw-6_K4VFB2wb75kl6pYlTH6gipS0wCfo4HjJBIAHOGr5NkeG-UEeg4SmXzq1TQPz92OT8ns3tIMTKrLbjS33TNazuEaZc9OtUWbGFOUV_enCGsGs-4ru-j_5v_VZtkZzV-PnjaCKe1bA8SIDZl_IpP6YqWnDBnUKTymK0lgQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWFmOGVkZGUtN2U1MC00ZDgxLWIzODktNTc2YzI3ODcwYTVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="930" it="0" lt="930" ct="0" ts="1587564526385" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmYxMTExZTctMmRhYy00ZmMwLTkzZGItY2E0NWViNGEzMWNi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3Ni1GWG0tS1luT2F6SlVGY0RiTTF6cmdTdDVtWEFhNDBCYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.W7t_M93FrO0AUR4G4z5m80jw5ZgmCXmp4zVe7hSxkdQ_LNYacJVJmMNHhDVuO3_JkuyAZtzSeSm_ZLEsGZSiTEQuHjTSOq8I3blMzVVQsxVCK8zzg5JnZLuqokjOyYosiRZIuxOBEOphVcBueI2HyedSGSqWdf_QQ8PIczMYVH8sqUVZ0GlOHrPHpJcdKuVwBJAKJgswk5KF9-3kDS7b1lBR8ii1pAD0IWB-WTGSULe-ghZoY-ajAnjdTkJ5GMpDW4SxApn64KSANlil1rYWcwiwJEMvfUJevgGlzveSkGBg3Qo-hOmNgsE2tow8n0pitpqwqb6EUZ-yLS0kfPVX5Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTE4Yzc3NjItODdkMS00NzVjLTk1ZmQtN2EwNWVjNTI0N2Nh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="375" it="0" lt="375" ct="0" ts="1587564526943" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-50" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2U3ZjZjNGQtYjY5Yi00ZWExLWI4YzgtNDFkMWEyNTJmY2Vh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwMi1LN3FhaEd3d3BwWlFENzhVUVV5T1gydVdvWWFNVW40cSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.fanoom669teWL3SMc6ltmeAd_ktAl24aJK9-JZ8Bz4ymTPVyGw0QPY3YheUA8bBR2pnv3JcNw_1a0uL81dnVQNnWravCFlZvShmMZGibWTVp6lWt3F8mBloN-fEedVIfr9BxvnEoIvI3zbYYhKsFxF56v1lrCKTq1K1CMCz3lJ0yQSMJfg54JxY-sJP3k7n5ZsOzHFx8mSh3e5HUQpLZS2lraT1tPtMHVrytHOa9lXDZq-79A2K1ZL1oOQWHTGOGw4AArDOaeZB_k4LPjjzAutOEfCZDevBaUPKptgrTc98tBos6sFuDU2jjZCW7LryyHDSPClwFSuiaAjvfQhlo6A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NGIxNmE2ZTAtMTc2YS00YjJhLWE1NDYtMTk5M2M4NTliNTIz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="498" it="0" lt="498" ct="0" ts="1587564526821" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-35" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDRmOGQ2ZmUtZWJhMi00ZTc3LWI1NzktMDljOGY1YWE2NmFk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1Mi1KeWwyblJkU0hRYkFsTUZoN3VmeFNndDZJazd6YU5KSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SAUQTtTtArDm5RvLeT3dRgABg72zQwFI9FY1VJIKTaNe67hvXcAS0VwM7Pzgx4nFBEIJBciv3r9CjaGY20wLbQi3AwO-pNbqBP7AcO4OSNe6OwrQvlrHJ1CEUK2AnLmIC1T_4l79McskfChy93EU_NEeYe1842ShxS0O1--41z_liW4rKZEQpP2LgDQg9PaJEafHlMt4vMV6HQOzS2Wi4MZVzxS8PLSf6EKOFwg2WYrQqbMhNis7_yGm2Ip4cdV5udLXvydJMGTpU9CPnpDwlHF8XDBxqn_qMUluTYkHqlFMvbzNKvYTzyr1eAx2CcR9MnGgc_YUNDlo4whRqun0cg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YmZlYWMyNzctMWNmZC00OTEzLWExNTEtZDBkN2E4MGZjODI4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="503" it="0" lt="503" ct="0" ts="1587564526820" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-88" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjYyMjY0ODktYjA3Ni00YjMwLWE4MDctNTc2OTdlNTI4NDlm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzMy1vUzM4c1lZTGdRRUgzQTN0a1JNN21Pd1AyLXZmSG84TSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.knEFIYSHWbBJ1xExG6luH9xReQj7GpT1LNCk_3buJxTwVDK_Y8DduC_IElEJVtbTV1BDyOqdXF6TbyTUSdGgJtzX2W-ppDWGdBXnkXCUuQ6MWmwwLOsknpqvw_fmW_cRJHiBStdkM9i6OwGoKoNNsmiU_QHrR_U8rGnPL3EJNSm7KNSSDLcMU2j_-Fnb--b48Gn3bst1GXQtc0CyVGqbi8_814zZfgcaE5u8gW4qh_ZM7xuyzQy6CcGSMTF6rmFHtnzpPq7dgqttJvnHie-PAk4-jAgSZbRwPWlCAV8NMeZK-Dau9vJ2W1hIPxjwNi8p6OrRYntIAnXhDpP1PaNsOQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YmMzOTY1MmQtZjQyYS00ZjBlLWE2NWUtNjE1MzlhNGFjZGIy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="505" it="0" lt="504" ct="0" ts="1587564526820" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-18" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGU2M2Q2ZjAtZjFiNi00NjVhLWJkNDUtNTEwNDkwNTgxNmY5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxNS12Y2JmVG5KY01ISlRLVXc1LVl3TTJ0WklXRGd3MjhWWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BhAKpBrX_YyHGIPJEoSYto8wFPEByodzW7xBtroy1UqZYceRoRp2xVxwd3AcNruG9rNGAKYv9HKg7zju0xRFYwm3T8FCtGZ-QGXkr7oqBcfiqA1USj-MiT_XbstRdsnT6xT4h53tXyVbB1EhM4F-3mdOcHM_yxc6wWNYLK1sEG_D4Oem3x3UHVCW4KGUZEZOM1lUU2Qdb0ATM-p2wbfVJDPlS-QoHMRrB5pBs0U4e6BaxrMazGuHAFxrmNK57EmMwH7SGwT0VjHK_ZK6oC6ERJ0zMbgrEFZCtRylG0CN8X2_pxhB14YZymG-f70UGCymbuD3Kr3BX5Yul_oIuV2BKQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGUyZDMzNDQtODg5Zi00OWJhLTg3YjAtMDZkNGFlNWVjZTdj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564527319" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWY3Zjg3ZTktODE0ZC00OGMxLTlhYzktMmZjODBiYzQwNzdl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564527320" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmVmODJmYjYtOThlNy00MTU5LTllMDgtZTZiMTI2MjdiNjdi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="505" it="0" lt="505" ct="0" ts="1587564526821" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-13" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTAzN2NkMjEtMzFiMy00MDlmLWE1ZWItMzUyNzIyYWY1NTE4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyOS1MNll5UG5xREFVT3J6OVc0azJoUkxldEZKS0kyLTk2VCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FXyS_NbS9_OwAm6XqoPFBQJdkfFC_aB0eyF20rJvRtCv6mCBIJ4B4dp6B9iMNI7ZjRsgFZb6C4Fmdbm37wa3JOH5ieasV85M9kl7Z_-e5-X5g6In4SRQ_AjOIfSbsl9YD4dht59je668y3_lyaa2vWNqpmEod129lFRNsLvzL3zC0j4aaf4HzhTw8od3z8NEqf8c1--aHFYAB4T63LgPznHC4DKl-8QSxUaD99yF-lskE3fhNKtgbq9spDLSF4F8Yq4z2f1rqqXZGvT48V1oD-Yus9f6eC1gT_5z2FA0W23En8UkMJEu0cvKV0d5LJBt7knrn06Wzwdc9B1TbLYWUA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=N2E5OWQ1YjMtNmUwZC00ZmM1LTljZTUtZmFjZWMxMjJiOGVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="507" it="0" lt="506" ct="0" ts="1587564526820" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-79" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDc4NzhmMGQtYmQ0MS00ZjlhLWE0N2QtYzg4N2RkMjNjODA5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTM0MS1zNUk3dkRBbHdRQzZieldTVXlJaFQwUHY1RkQwVURqSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UHQvMaeXbaHaqw93hfVQ8Kv1CMBIPb4J74T-sn0Bc_DLRykkYRwHC-E8o3x4ZmiaPda8_vozSxpH0IaCKdTNyA20trlg4ebxriE7she7LFmXf5Xw50KUQOX7Cd_WNNf1YgeRcAmFjQaVx5y9gNiPS4ZWds-nEBvnqyte53pR75HsV1hOIrwac-CummrSN0xMVpq9LH6o3fWkCz7R1dPzu6SLXNQlUTSwahJmuCqXSYKo4BlpRFfYBu3clFOnYcHPaDABgzEMVZFL2b0IBnSK5pKUZ-34jIRn7XpFqIJDeQlJbwFLM3pDXXCy6XZR1LpVj6Ppb4L0-91GnonMPmtg9Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YjExNTYxYjEtZTQyZi00ZmY3LWJmMzItZTRmNmIyOTE0NjVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="938" it="0" lt="936" ct="0" ts="1587564526389" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-26" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWJmOTIyZDQtZDJlYi00NDA0LTg1ZDctNWRkMWQ5Yzc3ODdl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxMi1QWTREalpHWFprNFFyT2xPbDlSZkRFVkwxSUZ1WFB1TyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Cg6no6ua8V12zwJ-xs9ZrasAJax5p2ZvAI8fxQ-bPOl2hXS-4VFSGG1n12B6engQ2HaEGa28XhgcICN_xtotONwCvecGDAQiRVMXzzyc81nRrb2UmYFSFjAhujFTsjpyCCB6yf-pgorruSQ3Ctc8oK2hYfxQaIacWeVsiZusAING9yNF31x4SYobdAkeh2SLcZ9LyB7JdQ6MY166PBgqCxJeYdbWVHCu8c-wQQ4t8d44Wo7EZ19_iVZew3CGsWTL_e2NZw5hfS_RiOo52ztUHTp43SOojyXa9SR4fE_grD4r5HQqtIkjRX3gfjZewyeJg3S8HUs9bWd2lmi7m94lOA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDMyOTA4YzctNjc0OC00Mzc2LWI4ZmQtYzQxYmFhZjZhMWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="543" it="0" lt="542" ct="0" ts="1587564526785" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-25" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWRkN2ViZDQtM2E5NS00ZjI2LWFlODQtZDdmMjg1MWNjOWNm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTM0MC1pYVA3UEE0SC1YZEtwZExkYm1lZXBUWFc5TlFoVkRZVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hd43-6iV4vhzuWgLMHOZmZByC9zA998X2ka1VmSHbVri2MvXmetrufUh-oZg2tju_aLAOfIOq2MrnvebBd0KTVHDRIb68asdpP_FukPXPnE7JIXtC1OI9dtKs1lpTccySfKIv63M0rswU_gAN1sO-lL0zSqgwJxjh9FJkVAKLtkmMNf_vCnavPvplQcto-yDuFURHeMyNJtC4jBRUdsw--wO2Q1LEQ4DRLb_XMkPH1pr0nMoKHPKukL8Rj68h6KWfEP5ey9nbi_TUz9pXI3SxKEIhJ_NmFLXOlvRgYVCW_vEg_0nmE2MzXpImzh6Uoy2eCA5faIav0XOqkfMurVtIQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YjBkZjZhZTYtNDNjZi00Zjk3LWE0OGYtMTYzMjhkMTE5NzE2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564527323" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjFiNzdkMzYtYzA3My00ZTAzLWExNzctOGExODc4MTQ4YzNm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="512" it="0" lt="512" ct="0" ts="1587564526818" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-3" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmNjMjI5MTMtN2VmMS00MjUwLWFjMWMtYmQ3Yjc3MjA5ZmNh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4MS1PY3Q4bXpBdHR0QjIwQXFhME5ESGZiTWFuT3dHdi1xYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.k047iS06Qa-4FgSV8adWyXijrF7JJ7aEOqparqmoj5fMzYtb8eR0vppK4Ea77H4nPzyN94gMZljJrYYOLbXy5hzu64ikoJrzcLj1gZYuI7RpbyFDeBCikzroTn5yqbOZKmzQlxniWLuQmNrdFm4E_VMEB9-kPfZFPZoiYKz08splTZCKLvz9eUx94kB2XO90xiCPEXn1C9S2SJHJXc9xuUlf2S9KBSp91euGqOLjQn1FRC-KdxGB0o66pBZkiCcO3LdWRwlUXnhEqPlvR8Hiv-CxfRgj-eBYQcF55d8zwSgaV1MzqjN8wReWC1dfowkdSfk0DKhXasJZpf1qj814FA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MjY3ZDg2ZjItZTYyOC00OWUwLWIxNjItMDAwYzA2ZTg2NTQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564527326" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2QyNTVlOTItZjk3Ni00ODUwLWIzOTItNzBmYjYwY2JhMTMw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564527327" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjUxNGZhZjktNjIxYy00MjU2LTk1OTItOTkyYWIzNWI0YzFk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564527327" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGQ2YjU2YzQtZmE0Yi00NDQ2LWE4NDItOGNjZjUxZTI5YmVl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564527326" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWY3Zjg3ZTktODE0ZC00OGMxLTlhYzktMmZjODBiYzQwNzdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="33" it="0" lt="33" ct="0" ts="1587564527326" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmVmODJmYjYtOThlNy00MTU5LTllMDgtZTZiMTI2MjdiNjdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="35" it="0" lt="35" ct="0" ts="1587564527330" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjFiNzdkMzYtYzA3My00ZTAzLWExNzctOGExODc4MTQ4YzNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="35" it="0" lt="35" ct="0" ts="1587564527330" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzJkMjg0YjMtNjQ0OC00MThiLThmYTMtMWRkNzUxODU3MTRm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="34" it="0" lt="34" ct="0" ts="1587564527332" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjUxNGZhZjktNjIxYy00MjU2LTk1OTItOTkyYWIzNWI0YzFk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="39" it="0" lt="39" ct="0" ts="1587564527328" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmZiOTY0NzctMzUxNi00YmNjLTk2NjMtNWJkMDQyYzEyZmE2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="631" it="0" lt="631" ct="0" ts="1587564526736" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-65" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2IyYzQ2ZDgtMjA2Yi00ZDQ0LTg0ODQtYTkzNjYzMjg1NmU2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzNy1WTGtQYTJkT082elB3UnVDLVozazAtZUtNRjEtbEE5RyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qfkdV2hnI1JANF78H7onjpwYmnqmP4x1pq_7Fig315kg3lJDGWBO45FVu1cVUe94cE6ka2IIjfVxU5NL_WgaeumP4YkPTSV6rotVfFuKWotQPUnlzWIQ_Mo-BGmx7BUVYJmgPJj3qCKrwVAa8M0aMzJ4uzuIc5exURIHU-bsPlnqfF4U-g4JjY_EZIK9yCR9Lq7W2CnMQmsEUFWHKiIDEMwd0B6RTsri3NCQq9oURKQiYEVsQj_Q2MAN-om82NXk9pa-LMh_36D2K2IO8HS4pArF4bI8YZHThPdWBb7KFt5OIJxCRb1RXKS5Ho3id-8dTiuCaMSqi7WSGwfp79_ctg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OTI5NzJjNDgtNjNmOS00NDA0LTg0ZjYtYjIyNWI4Zjg2OTli</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="961" it="0" lt="961" ct="0" ts="1587564526406" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-47" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjdkODE4MDAtODRlZC00NmM4LWFjODktNWM4NTkzZmQ1MTQ1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1NC0tV3JXdk1lYU96bzgwVEt0dmczZWxpRWU5dFlEeURjVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ru0xLKLMpfBK1R-eYzeCa6ml1iSSCdblHzLav3w-2Bs41vEkGSRyNpqgm1KmZBFX2KShDxp1l6oQkDdWWW1TV0F1QWMXsCOiu7V7QPJRtdDP1E14f6QJUpB3yjEn9CUVGDojp4xPdyK6yWGfBLDSCfEj2k3ktMIy_PWbP7AmhQ5ub4Y3R7Q499Grql93i4tsASKevqEogFFhNPex63xhkQZ0Dbvb5TdJjzkhTXKqvpLY6xTMlkt0Lhl9zCSshfcX2oK0QKwbwIfvVAQC_udkv6yrp_tLZqZvQty30cFukqSQYTNZqAsd9ajnFr6IcfyorspUb_UJSDNr6QUiPADKQg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YjFjOTIzNzYtNzk1Ni00YTJiLWI5NjItY2Y0YWVjYmE2YzFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="36" it="0" lt="36" ct="0" ts="1587564527332" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGQ2YjU2YzQtZmE0Yi00NDQ2LWE4NDItOGNjZjUxZTI5YmVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="37" it="0" lt="37" ct="0" ts="1587564527331" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2QyNTVlOTItZjk3Ni00ODUwLWIzOTItNzBmYjYwY2JhMTMw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564527367" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWUwYzdjMDItMWVlNi00YjAwLTg2YzItM2Y5NjNkY2M5MGQx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564527366" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzJkMjg0YjMtNjQ0OC00MThiLThmYTMtMWRkNzUxODU3MTRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="991" it="0" lt="991" ct="0" ts="1587564526380" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-96" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2YwNTVjNjgtMjE4OS00NGM5LWIwMjQtZDk2ZDcwNTc5MDZj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4Ni1qOFdsLW5jenN0MkRjVGFCZXF4VlZTc1NReWhWZXR2NSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.od9fKnrW4GRmd9dzTtzzwOFVDAjh3Q1yXFA8u_iAM1vzT6oNtTu90YiErcv5-TCk37kzjJn0byfnuubr_IkWahnSnXEyfDMZQnY4h60tCT-9BKT6jUP05a_Kdg0KdSC_i65SHEcb1U0b2OglsCANBleihnF0JTNYZjeyT1AdQTSfvl0JtFwAwkW1of7gX2uQ9EJahYazbC5pmk_2GRKSY57rUYg7Bf0M4qwqotoWzoCbYWBp5AEtUPPRAltwflU5b3bzU6MPhqto4ANZme0b7nJz_5e9J-_vdom6jyFEkCZitjBD68OZsVqe_XYwiIx9pYFGFDtHKkLUtwVdtc5VFQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NGRmNDU0ZDMtYmI5ZS00MTBlLWJmMDctOTExYmZhZDgxNDM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564527367" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmZiOTY0NzctMzUxNi00YmNjLTk2NjMtNWJkMDQyYzEyZmE2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="349" it="0" lt="349" ct="0" ts="1587564527026" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-19" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGEzNzZlMGYtNGQ3Yy00ZTMwLTliMmEtNGY5M2Y4YzIxMGY2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3Mi0zakpaQlhYLWZRTE5SVVRaemNOeUpmZW1VeVJkSEV5TSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AY6D7GmODF9JNkV-SroLvIhHVMTpgj-0EY7iLLtVoD1DuIC6o-CBa0d2mzpYNr46i89ea3m5QVJAUiUm8PqR9KpXM-hp3yXExfWphssBvxSPoqc6WE-DPFRzuVRd4lpE-EJtZ38WDV__qHPaMFUIefrhSw6xkOOaH7MKiwTYefiZoWuV4USJqJ196otjbBXUDWE-loqiYVWrISdz0LVlCbal4zB-_IgtvOHVP9K9ysbRWhIuikQghlMpVLlcI2hJgBQITTAyF9nvjv4abUrmu0ssc5dA3Pxe1wTU0KH-oK259cekcfDZ9NYv_zUrAv84nVvczPCwOc0r95rbY2sSGw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OGYyNGQ4ZDktYzdiOC00YmE4LWJiMDQtMmQzMzEzN2RkOTBi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564527371" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWUwYzdjMDItMWVlNi00YjAwLTg2YzItM2Y5NjNkY2M5MGQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564527375" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmU5OGMwMzgtNTIyMC00NjAzLTkyZGEtNTlkMWMwNDc3N2Ri; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564527378" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmU5OGMwMzgtNTIyMC00NjAzLTkyZGEtNTlkMWMwNDc3N2Ri</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1041" it="0" lt="1041" ct="0" ts="1587564526380" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-42" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Yzk3NzI0ODEtZWFmZi00NzUxLWI3YmUtMjI4MDcwMzY2ZWE2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4OS1pM1J3cVZLdUdTV2RLbmxTNjdrNnhRMWd0aTVONS1WUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cL2cjBabUVBE7CnyOiO0fLNfrvdl2-N396xjrqeYW4GeGh1df__MzeATKJF-Km21JazAxKqCWazt_HsPOM3nMT0mmZGcc898v0kep8d4SV6uLFGr4OARjM0xqBuU060f2HUJ_U49IbJ6aPt-4caeVdee13FAkbmvf-49TR_bQ01Q29R30Ql1sxnzADbdqHPOOdyVvuT8Xs718bug7wl0opX8wlVQma0bcHXvzjkp5RsviBcBO4s0AzSZbq5vuFN6okVcCfdD4qIHfXpY_g5VJtM-_d1Onur6SrQFXT6zkdepM53eknPZs5hxj0v6XvBB9ejTHdqN-21O9eWDB1wi5w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YzkxOTBlNDEtMDJhMi00ZTU4LWE3YTEtN2Y4OGYwNmEwY2M4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="71" it="0" lt="47" ct="0" ts="1587564527368" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-79" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=08aa3575-3bc2-4cdb-9694-94f2a6e9130d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="65" it="0" lt="44" ct="1" ts="1587564527376" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-65" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=57a3f5cf-7e50-45e9-9307-776cf8a101b7; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="80" it="0" lt="57" ct="1" ts="1587564527366" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-88" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a9e6f24f-90f8-438b-9b04-26414de6ee28; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="88" it="0" lt="71" ct="1" ts="1587564527359" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-35" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c63ae10f-0837-4f55-8f18-e048b3cad072; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="144" it="0" lt="81" ct="1" ts="1587564527332" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-50" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=298ce595-145c-402d-afd6-d4b1b2cc0eb3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="403" it="0" lt="403" ct="0" ts="1587564527078" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-73" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Mzk0MjJmNTQtODc3MS00ODAzLWFiZjYtNWRlZTVkNzJiOWFj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNSwianRpIjoiSUQtVG9rZW4tMTQxOS1VLWp2RkpqQ0RZbWFXeXRNc2dCZGppZXhTSXMwMjZ1SCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.n9IDfdecn3YxH6CPFmolNCtErtxiX4LDwQYRnm9OcTLn-VRYpBhNNIW9YIK9R9GkPs-v-kz5wNc9ORx7bbXcKfq99890OFID-mUdka-f3O87wy4luSLA_A__ylA2QaEVabYVoAWJaU7NufrnbWYkZXc7kK9Dlv48UJdZBQk0owUXa8KPqCWZCUPDDhT7tMrP-5sTetbnwfUm-l0_1w0LW-QS1iI9YBCUWlC9BUu4ngYYn6VwX9vh555hY2tYRiU7bwbf7SjC9ErU81hGvyS9lnLkUdlgosO0PIPQT0sVgOPT40772dIQVW9IiUWa_3XQBfI0b3VZWGWhP4CJK3lscg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTgxYjQxNWQtNjY4OS00MDA4LWI3NmMtMjUxNjg4MWI0M2M2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="114" it="0" lt="62" ct="4" ts="1587564527368" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-18" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=19956cad-b766-49c6-b93c-4290fd3d5a44; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="4" ts="1587564527481" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Yzc2ZDE0YzItNGFjZC00YjA0LTgyYzQtNGI4NWQzN2EzYTc2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="119" it="0" lt="70" ct="1" ts="1587564527366" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-13" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=82f66402-2d8d-4fd8-8e87-11f1d967a098; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564527487" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Yzc2ZDE0YzItNGFjZC00YjA0LTgyYzQtNGI4NWQzN2EzYTc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="526" it="0" lt="525" ct="0" ts="1587564526972" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-90" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTIwMzFmYmEtNmY3MS00ZDNjLWI1MWUtZTU2YmM0NmU4MTMw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1NS0tcHAxT3F6eW1ISVNYNUgtNzFtdEZ0MTVNd0FRczd6diIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RuDH0yn6MP_2kU6zRVLv9r1ezk0NaIX7445HWM4xHCRi_o7tKlEqDOZnC5rQd1ri5g0MztHGKk_2ZNce-QuRSL4XdU1nnj2HGKm85v4ne8DuU5-tvGEC84iTjntm0G_mtT1HSz4AlzJunALD2l7O_yvDAavfogb3Zr1g_oBPe0JUTadrJ_nNiNyRCUlsj0-eP9sE_ndWN6PyBz1PanpXnNrNH6XFMxGO88a4qYZAN_CwwpHDHpJgwXgWD_lpH-JCM2KDoSrPh4frfhGnLqmOaO8NeHRmDi2DjN0wW90fE2T3g-amtuEwukWz9WjDIRZveWUJK4OoxcMpOUUQH0nuRg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MmVmZTA3Y2ItNGVlYS00OWU3LWE1OGMtMGZlMTVlOTk3ZjQw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="121" it="0" lt="71" ct="1" ts="1587564527374" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-25" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c199a495-49f0-4ae9-8e01-d8856c729f80; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="124" it="0" lt="70" ct="1" ts="1587564527371" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-3" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=18e5b7c2-85dc-432d-be72-a19c21c29812; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="555" it="0" lt="554" ct="0" ts="1587564526946" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-60" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjE5MzE3ODEtZTlhMS00N2RlLWE3NGEtMGQxNjVmYjgyYmY5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwNy12Q1ExMHNySWgyNkdrTzRKNWVwTERRVUc2NVhsMlY1TiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hGTdoF31qeXsIuvhvCV6CneheDVDPP-F9JebJyqJM_SjMryHnpubnMZm5FUPZRbP-HEoixGzC0KPf4zL0Vc7oOXgWrrFhDUe6MEzuGJkgZCWhEGcBbY5KGa1GVWLidZ9pcdBUasaTdqoDWkv9lOw_HWMATzHbgjP0D5l_FtSo-VDznOMO44JGU0V7ZOPWdE3YmXbB-8SGnCyMh2K6Db-3QSYukVz-90qKSqFcZfKxF4Jp5LcVUk58YEIdKwMllhQqIISkONfBHeRz5F25vDmG_CPGbGb5z-7EzCV-ESU7akze6tc0iY7OHMrxKxzPNBbhFPoLrWJyGY8pDDzdqgavg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=N2Q0NzgwMDAtNWRjMy00ZTUyLTk3NDQtMDk3ZTNjYjAyMTMy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564527498" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTZiYmNmOGEtYWMyYS00YTE1LTg2NGQtZmU0MmI5MmMwOTky; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="417" it="0" lt="417" ct="0" ts="1587564527085" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-84" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2Y5YTRjNjAtNWJiYy00ZjMwLTk3NTUtNmNkNDEzODQ2ODVk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4My1acFlxQkFaWG5Bc0R4cUFXdGxvRmNvY0pEdmhDSjg4ZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.paQLzmqOlmIJtOf7a45D4M17dJfTHp8PpYJtayhT8s-z0gfn8LhZ9Ry957P2Rlwd7e0Jn3uRLqiGkfGRtG3xPcwe-gORMDI3XC-C4-N6shtYxTonBBkuyIZS7tWp9QzjifJNidcJ1inodOjZRu8RmhMrRR9Yi_Brci8-SxOS4rDd-C94gAez-BJuakW8wKboV5ISQJM-XwCxbYrKHLXW66C05ISAhw9hkUtXnPzpCum34Grd-gsr5CYqGG_I6Ub1ANofZAeWiJK4qWnjE3MdbfGDYaLYOBlLlhAciUuMU_g69ZaSeEer54q01mcUnvxEtcxMM26VuRrl4Bbn4BS9Hw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzUxMGNlMWQtMzliNS00ZjMzLWJkYWQtZjVkYmEwMzAyYzQ2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564527502" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjA1NzhjNDAtZWQwOS00OTNhLTllZjgtZWNlYmZiN2YxYjM2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564527502" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjJhYjk4NWMtYmEzZC00NThmLTk1NmUtMmQ0NzFlZDM1M2Iy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564527502" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTZiYmNmOGEtYWMyYS00YTE1LTg2NGQtZmU0MmI5MmMwOTky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="303" it="0" lt="301" ct="0" ts="1587564527205" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-14" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTY3ZDM4MzMtZjZjNS00YzMyLWEwOTctNmEyZjg5ZmI3M2Nj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5My15VFp3VkwtLUxJQkpzTGNPb1dXZktkcXE1MEc4azY2MCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oHp_zO3N-1c9Xef8_UfHuepDokxS7TvafiGPVgmp6DtVKw6YBIJMjSveL5455oepBxgYNNnM3T3Y8_ntAYOUhfmw_er1mKfl_ZGHX7U-H9OI4TSm7YSra06CIQTuXk8hz7SScwuBjgSkZCmr0CSvT6RFfc0cuueTy140U0OQbncHXaDt9E2W5lA9RZ0nv6jXGwbDpwQrPTdgxxJAMlivTUo98R3H-UCwIndw4Fvf0g8Mqp17P4U_9cH7qx4hmlqwNtwtjIPI-ejhMd5L_8tI2LYXfv6thGgnoh6hxFTtHEsqh9fW9996jBZIimx79tO1PUw6Cla2wh-ur3zA3xtHGw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=N2YxNTcyZDAtMTYzMS00YWUxLWFjNzYtYmI1NTcyODY3NDM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="538" it="0" lt="538" ct="0" ts="1587564526970" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-9" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmE4MTE1NzYtMzlkZi00M2RhLTllYzEtZGFkNGZkY2Q4MTdi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0My1GRzBxVzJpcThQOE1WS3c4U3NVMEIzVVNxWDhnUnlEaCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jcrIZfLRwesGHz9Faml1TvCzdymNofQ0qHa8ysOPy4kvVSZhr_AdcFMfipaJzRoAUFF9lct-fg7YvJnDviesjnPBDMga6fn0-gbixRlf3y80e5pD02KfENdKzcIYxZDsVorbXPZja_fFLlQr_kw1OKaADuDjWlRzMEyuSO9x-UhnpIFoR8b-MqP2GPptK0xRMORgnUYjzTWNs9ofW-7cQqTbDdP-kE9A68GXFNUzgwHHjJiAmYbWVNRVBDtvK4q_4BD_TlGGmYqKV2ZkkEPG9pWeOa9a8jTJZWf9_5ObUMnZkj2JJNMT6KcCztgYZEfDyNkyh8M6bowgKwNf9wJBUg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTlhYjMwZjAtYmIxNC00NzZhLTllNTItODM4MGExYjE4N2Iw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564527505" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjA1NzhjNDAtZWQwOS00OTNhLTllZjgtZWNlYmZiN2YxYjM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564527506" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjJhYjk4NWMtYmEzZC00NThmLTk1NmUtMmQ0NzFlZDM1M2Iy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564527508" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODg3ZjBlYTgtODA5OC00NDY0LThlZTQtZDIwM2FjMjMzODQz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564527508" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWI3YTk4NDItYmRkMC00YmVlLWJjMWItZmU1MTJlMWM1YTBk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564527511" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODg3ZjBlYTgtODA5OC00NDY0LThlZTQtZDIwM2FjMjMzODQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="556" it="0" lt="555" ct="0" ts="1587564526967" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-12" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTEwYmYyYWEtNzk1Zi00YzI3LTgxOWUtYjZjZDg0ZDdkMWRh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5Ni1hUS1RdUcxcVBDTm1GTkozQTJpVUhmVWw5dW5zNXZlZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PJ9FEExHggYyCdhIkTKPBjX9iySX_rkireOz58ToS9A3XY1FSmjfHDbTD6KjEGkW-ptLv-0tbRx4nqW-2MoPud91Gd324z7CybC3w5TYFnDWTjlGrXUw2RhbMgiJN1QeFUYksfBpM9ClA033NCLOc2bsWunX5u4jcl7jn_xgkQvaQ1aLcWBAsxuc0f7uNRzrLqNfcWe1qDIE3_V5W2WJ8i2yYfGSiR35GOTioy1elW6AZLeqNmr-kTOaSW4V0MYe0Y3U7NOvuanC9Aob52oT0Uy28q0yNzjOsgPrPiPLpfDRJaJ4SH4YN-X0F0JtAg8Ch46vsP49nia6xxiqplbPJg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YTUxY2U2NmQtMmFhZC00YWVlLWE3Y2EtOTI2ZGQ2OTk3ODJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="559" it="0" lt="558" ct="0" ts="1587564526965" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-98" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjY3NjUyNGYtMWI1Ny00YmNhLTk1Y2QtM2Q2OWRlNDdkN2Mz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2Mi1RUmhvd2w1RDIwTU1vLWk4dGF2YnYyODNCUXk1cUZpYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.mgu6FMUpWIAvD9Xmb_s8ShG6IVMMcAaqMdOPdlwkzep0FoHH1BcNzUS0_o9-56u5PMzBdiuuPo-4ZzOVXkuh-jfaK01nt0d-fq0lscleblwER7vN4t1Oc7oP1ZQPfag9FpH-IU9qsY5M0GolJqGzeoIjX4uh-zYbq8aEcrjyjqzpBERtW_ayZxfOKDeSzyJ-2O5Io2uHBc8iJ_aTMRQ1fqHzMCiZJh2aVCY7LBJnwBpFT-8STE-gC4Pie-VsM6OrjMcoaGXYi6aq-4rQ1UL3tEuAJcr73UAzv1AsLQBFm854S-x-5SR2bxThCbi4T_d2ZHnpXLr0okwXF6ALqjCeSg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDQ4MTU4ZjUtMTMyZi00YmMyLWIyOWYtYTU4MDFkZWY3NjQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564527511" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWI3YTk4NDItYmRkMC00YmVlLWJjMWItZmU1MTJlMWM1YTBk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564527523" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2E1NjQ1NjMtNWRjOC00NzgyLWJjOTgtMzI5NjRiOTNiNmNm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="586" it="0" lt="585" ct="0" ts="1587564526942" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-68" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODViNjJmNWYtYTJhYS00OTkzLWE2ZTQtYTc1NzE4NTdiMmEy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1OC1oWUVQdmpMa1A5UEprVk9HRmZtamtqUDc5bnBCUlJvLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ATLA7HgfLto6re-VrW0b6RE17EUgG8yyTyW3jTJTlTDimwsDEZGdRWaKqKCvg8abbG-Bp5pXr2xVYNP9IMXvI8JAXqK877cc0hL6g0x3UGoAAC4VB26eegBwWQhaVjX0pXQgBy0YjjUOVqfl__WCqr4z0zP30r8RjUM___zo6oEeFp7LAITvxFqh--Ck5AXnw48R4jzoF9_pE0RwRvtAFQj2NtqOMevu0YhBr_AZpwYZy-XsyiG1a78W2z51RJNJ9X4pg7mtTxQfOE9hTlr04TdNxI7gIM91SSGAhnk5wNgjKcq8G6CJU1Gt5cmZLGN6MNsrJ85ad8IEJdcmtm43zw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=N2ZjOTBhYmUtMzRmYi00MTVhLWE4MjQtYWZiOWZmNzFkNDg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="552" it="0" lt="552" ct="0" ts="1587564526976" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-33" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2VlYmIyOTEtNmExZS00Nzc2LWI2MWYtNmU4N2I3NjJiYWU4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxMC10Sm5ITnhJcFoxN0hWdzJ4UTV3LW9GbFJSbHNzd2VDOSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sc3nSd4ZdKoM0JTg65TryIuX5oCjv6GAhtcwuOficFQnP9zCsEaR7nqVqnYsK590zeudskIWDViIB06SFvBGsRP9AJz3698NyTTRpMOgDTKm5y0k6Bpuf4mjuTaJMr20eMxJBBmf0fh0qFDOR87-XYUYzl8QAfELSw5BRTzbJVPavPNNU_JGoQEcNmZRsI7ovp2COisGdeK-362Pw87FyM6zB7YOpFSupDlSjHtCvw-1T_54wPOp119J6_DNBW9g6GHBATKdiND9Ss0ChC3YhTO9Tdjvo_56CBjWIULIJWThRyczQnB6JKEI6swKCP43SGvNxkDNoHdcJkzbJ6ZgmQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ODk2ZTA4YTYtOWY0OC00ZWE0LTgyNjQtZGJlZjdkNTk5Nzk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="560" it="0" lt="560" ct="0" ts="1587564526969" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-23" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzM4OThlN2QtZTc5MS00ZTI0LWEyZGQtYjA3ZjczMmI0NDg0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxMS1WT3M3QVF0YURRcGVHTDNqZzczZ0poeGFFbVBFdXBuSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.JTaukbEBJ3selplh4dBvSRJ31RcFuVqP-_bpyBfarEOE53uaedWEKeHVnY8JJbizivi2AO2ouohJu4cZqFR56aPdm2jUa9xaHbKvSLUXPpqna9kkqjRD9lQ-Mj-18smYivcuAwJFNH39haIOzrUnxyLe1jdPps-VIRf577EOXXJQ0W2pLCJ0dMwDaZ1qBRWBXeyOsbV3vDpPUor4SO8WdRppkD4wp6c2w5az2W4LENJwLThw5ds_3J4XSuTpvmYZB7tiwAT4Ju8JqeQG7T4Sta1bEMchccsm9I3PYcWcfonuX-mo8OXBsyaQRvHbDW8KeG2xePpCi7XFr-RAfTotJw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MTg2NzlhMDMtMjE5Ny00ZTI3LTlkYmMtYjliNTA2ZDVkMjk2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="565" it="0" lt="564" ct="0" ts="1587564526964" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-20" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWJiMDFmNmMtMDJkNS00OWY0LThhYjgtYzgxNTNlNWViZTc2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5OS0xUWdFZUhOUlVFbC1tV1E4cG10eFdqbklLNkthTEdoQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.VutX7O2sNMgikcmpcX_Cy9Ds1MYQYVj8cS9wSvreHi6IX4gIQ9n-yP9CZL9q1F-j1xIvoyicff414UNJzFOx2W0CKDFTopWKxj21yak2dxIzoPYdbEXHRfg0Bd2qCj5COTaRassCbWdHaEJCqtpKyNhlX_YYBJ1xy0Fr1CzLTo87L8T6J2dheVjDyoLfZOuX2fUjFXi_eXaPsLz8VGW62FKxvS5phuQNJY_YtJgfBjVfD5MphBwFXKJN8yXgDG6UhHOBLR5wTy94UQdk616CCupGFxgDeiXODlo6jA3EXdxSa92cfHHDyyz1X-PhBcFuO7wSVYP6391imNKbP3HQTw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NDU3NDA1MzctNGM4Mi00NWQ3LTgwMmUtMmEzYjk3OTgyYTM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="565" it="0" lt="565" ct="0" ts="1587564526964" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTY2MmExYmMtY2VhYS00MmI5LWJhMmUtYTU5ZGRkNmI4ODM1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNiwianRpIjoiSUQtVG9rZW4tMTQyMC1aS2p6MmktVWRKNkJCMXAybmZZMkZNU3BRS0duWkcyQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FECqVnFLiFskkGqxKw-7wxIeU4Bk9LVBheEtBAuBVtMqNiWR0_3PrJ_VfojEbuEXk3ep45b0XSbMRblxpruAXLf-M7GsD-t-1PZci1BUNFqdO9ihfpuIbJE-vRWdknVObV5vTVhkj_M4aYU5GvvYs1DKCNmHtQvuZ_wB6oYkWWQDaQ1F_DK3XEpfF45GTngJ_mhxD0eT-o97L3vo01HAfE4zcAR1glYIk1h-EIm1FC5YTTraemlbWBQvc0a-MF8JBA8qI-aIppZs6OxC7j00OKjBDe1v_xjnAP-ngVMMUB7CkZxe5K_wrv9g50O0ptzQFWC8lwg4ji0RDTFR9gheIA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDgxNTk1NjAtNjhjZi00ZjQ0LWJkOTUtMzRkZjQ2YjcyYjZh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="566" it="0" lt="566" ct="0" ts="1587564526964" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-76" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmY2MTUwOTYtYzIzNC00ZGJhLTk1YjYtNTU4MjU3NmI2ZGI1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwNi1YNXE3VkVkN20tRHhPdjdzekw1Y0pEYmw0bFVjLTFUNyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HW96jbsh8xA1EOYWgIeoEkcSXZ--bODZ9FCpPCMajiifx385ei9mSClj78L5oni5H5pWSk9dmx9tuyRj4YkitCShJOdco4ETBpLN-fIRbJksbiAYK2rILHtouj8p9Wgblj2uvuumOs63PVjviTF5tE0imwV31j60rsTsV_-8svJZJo6SjM58YRIGY7RpkhpbiJYjre6ncE3781TNT7MaCNaJtxikeEuCwFByOUrqXtM5xrmn6ho0hiIwBWpwmHudQdnSFEHEyTh53ganlGMyU3zwKw7GKbZCvoTZ6i6wWT-MEgb1eV1F-W0PVBcRI6746aSjr9laCm_8UyU_Z-SUYA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MjA1ZjUwY2YtMGViZS00N2IzLWE3NTktOTIwNGZlYTdhNDEz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="593" it="0" lt="589" ct="0" ts="1587564526938" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-74" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTQ3ODViZmItNWM0NS00ZGFkLTlkM2EtZjQyYjE5MjEwMDE0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzNi1rT2pndkhZN1ZEcG5Mb2Z1SzNtZzFNVkh5Wm0wYWVQQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cAfmBw7KHY7fAsca3544RB0w4CzRQj8RvM8fx9aGuhp9i0c0XAUUmdFv6OoNJLMed5JqEoJRNQKfCOVZrZu_b2IEuIpczxH8mFJIevYPngT0asrwYiaROC_Mj3Lm6hVqYTIKAQR8c7W6haDouzjfx8BlkOvxFbA_d6WIfsqillIVTNfClM9oFOoVC3pbxj7jHHVw2Cqk8Zkn1WfJBfpuaPEu56RNHD4FOtriwmy3vQ9dlLdeNXFNeSWGubBlFPFDrovHQGvCvANCEJV0J8GG8Iu0Rtwp2FfPXfXM_BwtJbFTtZH6QRz3cPX-nEnQn53Y1MZZrjoSnlwSfv06jMRvPA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MjU3YjMyMzItNTRmYi00ZTM1LTllNDgtOGRiMjdhZjYzZjgy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564527524" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWYwYTA0NzItYjc0Yy00MzliLThjMTctNGJiOTIwMzQ0ZTNm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="584" it="0" lt="584" ct="0" ts="1587564526946" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-97" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWIwZDk1OTAtMmJmMS00NTJmLWIxYTMtNjUxYTA3YjhlYjk0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0Mi16Q3FUT24xTkg5MUxScElLOTJhTFQtaUZicS1aeExqUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Zci2uVyqMeUdxIaG2FUoFhzncRSL64lwFu4tRKl04OyleYs5FIQM1DWW847qNroFLCUlNjAGfOrBLDlBBC-F-ohpxYZnWYZ_YBuqNOlOLP-vA6J0tWT-nER9h421sMEpp5EK0RH3T8TyV8DMFmuHdQeybGhaEf8jV-6z36S7tR78XhEzH2UWZmqxbiebouq2HN6ma9vkjWyOJACWAgH7H5_9NHJo_lOEoF0-yHrRyUWdKJ0VkpFbt4jVxiut5VAWbp5atEechK24J8K6kHHHW1vkod4QJj1HuEOWoD6Ka5Ly9twwrb7tGBLqCaqPGEboj-a4qyHmfKg3VLpoomRGUw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDhkYTBmZDktZGUxOS00MzRjLThlMTctZmJjNDE3ZTdiYjlk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="587" it="0" lt="587" ct="0" ts="1587564526946" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-45" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2RlZjA1NmQtNDliMS00M2JjLThkNWUtY2E0ZTA5ZjhkOTA4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5NS0tTjAyQjliLWhDcG9qWEZIZFpQUm0zWTZBLXJrOEJTeSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.j6USxx3VEmBbceMnbwOK9yup3sDA1moKwLToQbdaUMAlsn0wSktTbHI9PQaM8BSVe7NQ5ue9ueR_TGpsQr0u94u6wFVHkHjM2T_2MVkdh_7liDEtGf8j57ghZfwAQukFIfGBYcTImF4_X_kZhXj1Ae3UwEigoMc23kyJzkdtME5zlG2q6zBwfF6QrgooZvHmNSuTDfjUhSOUyk2BhnuNa5OhzXlrKy_4vusL7QUEijDRjt_fmSm9SbgrN4RN-sK4E3KDQsPSUw0bS3RwXhOUwtAnjnKgEVLAZSh_NVilj7v9v0cd1hPYqdn1x1C9mFUs4Plw66pSSQWa21cJExFBbA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTdkM2YwMjgtOTk0YS00YTYzLWFmYTUtNGI4NmY2MGEzNGNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564527529" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODc5MDhiOTgtYzc3ZC00MGVjLWJmMDItZWUwNTZkNTYxNWRi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564527529" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjcyODk0NDYtNjliNy00YzgzLTg3OGItZTRmZTRkMzg0N2Nl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564527530" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWE3ZDJiYTctNDExYy00MTdmLWFhMjYtZjJiMzJiZGM1ZDdj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564527529" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTc0NDU3NjMtN2Q5NS00Zjg4LTk3NjUtMzA5ZjQ4ZTE3MjA2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564527530" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWZmNzk3ZWQtN2Y4MC00ZDBhLWJiN2MtZDEzMjk2OGNiNzg1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564527528" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2E1NjQ1NjMtNWRjOC00NzgyLWJjOTgtMzI5NjRiOTNiNmNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="4" ts="1587564527528" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWU4YTFhYjktYzU5Yi00ZWNmLTgzZDItNjA2OGU3MWE5ODVm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564527531" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjZjNjAzOTgtMjkwMi00ZGM2LThkZmYtYmIxMmI4MTBlMGQ1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564527531" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWYwYTA0NzItYjc0Yy00MzliLThjMTctNGJiOTIwMzQ0ZTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564527533" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjkyYjI1ZmMtMDM0Yi00MTBkLWIwNGItYWFlZTcwODI1MDI4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564527534" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDUxMTQzZWEtZjQ1Mi00NjYzLTlkZTMtNjI4MjI4MDBiMzIw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564527534" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODc5MDhiOTgtYzc3ZC00MGVjLWJmMDItZWUwNTZkNTYxNWRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="570" it="0" lt="570" ct="0" ts="1587564526970" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-34" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDVmM2IyY2UtZDFjMy00ZjZkLWI3YmMtNWI1ZjFjM2U3YWQw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4Mi10OXlGd1ExTGJMdW5DbFctSDM1WGgyMEx6Qm5yajNCMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BsPG4bHVTUQnFWGRKJXhqCPXfbXxAPEb_bGXFIFjcZVm8-e0wMFpA56dbc-W1QjvhzaQULXaGPUVc3AKbwzidjwVYijyf4aS1AvPYlxF4QPUe66DkwTJ7at6EZb9mvr0agGcU04Rq1DJtkMWP9Pn524-D-tz_dGBAX4KWn083lBPcJEojOtWHXJBNtrNw4ZmMvq1byGotlqAN6qgzahSIXcHW7x_-Wvop--niQ73l_fs3yFukIug_YQeVcFMVktluz5IN8MzX6BzgxntP_3-F-1sd53j07HLPP1S-q6hz3_6wT1nNYXemgljtTZSDtn2e_tV4N7MsxM9F-E0Ql2aIQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MzZlMTRmYTgtNjg1MS00ZDFiLWFiNzUtZGVjYmVjOThkN2Fl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564527534" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjcyODk0NDYtNjliNy00YzgzLTg3OGItZTRmZTRkMzg0N2Nl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564527535" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWZmNzk3ZWQtN2Y4MC00ZDBhLWJiN2MtZDEzMjk2OGNiNzg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="517" it="0" lt="517" ct="0" ts="1587564527026" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-31" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDI0NDRjNDQtYzVlZC00ODU2LWFlYWMtNDQyMmQ1ODIwZjU1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0OC1IZ3o4ZWVwRzJyZG5ReGJqVGpOYlItZkwwYUhEY0JDbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WcIh3P02dgWsk0bm6jGtUGQoUUbfnHAuRZFVkUGB_paSfhgBcFgTuF8Br9yXUuRP-jv3cO7IVSH2j9tYeM8xF4dwlewfCk2anVDu_yEZ4EVeQmayE2aQNTo29LJKHh0Yr4Cq-DH4k8-h1XRZ6Z2Wz4br9pJj_kFNr20Wb-cSii7fZ4OmVMj9qeivv9ye3nqSNx8mcBQkBrHdHG2F_nrlmzL5NeUhxKWdD7qr04rfrTFhEefuo-Pc2SELKCBJFhbTayxHZ_LQjOU_cBUyVlF2PMmn3wnyd2HhF9mhVfEhCh-K0fx0BImPBstgp3pFCohkCZlcji624u18m07N4PAV5A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MmMwZjg5NDQtNGY0OS00ZmQ1LWI5MGUtNDhjNjUxNjBmNzM1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564527535" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWE3ZDJiYTctNDExYy00MTdmLWFhMjYtZjJiMzJiZGM1ZDdj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564527535" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTc0NDU3NjMtN2Q5NS00Zjg4LTk3NjUtMzA5ZjQ4ZTE3MjA2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564527537" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWU4YTFhYjktYzU5Yi00ZWNmLTgzZDItNjA2OGU3MWE5ODVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564527541" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Zjg3ODU1Y2QtYmRhNS00NmFiLTgyZDQtNDVhMjgzMTVkYmM2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564527540" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjkyYjI1ZmMtMDM0Yi00MTBkLWIwNGItYWFlZTcwODI1MDI4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564527538" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjZjNjAzOTgtMjkwMi00ZGM2LThkZmYtYmIxMmI4MTBlMGQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564527540" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDUxMTQzZWEtZjQ1Mi00NjYzLTlkZTMtNjI4MjI4MDBiMzIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="583" it="0" lt="583" ct="0" ts="1587564526965" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-85" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDRmMWIwM2QtOWYzNi00NTAxLWFlYTQtZTY2NDdlOGMyMTNi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyNS1LSlQ3eFNMUDU1V2x5Q3BKdjhvN2VwaVZuZy1mRDRXYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Di6z7beddcSPO5M_WiFldUs_hc5pYS7NSnBbx8mBsATBMYrzsYlNUk-XEcFKcyVbvjw93Es5vnN6lPiWxQ2MUGMlsmWb2MfaJBqaUvl5xdh53avedwIFBT4b2myHUAE1GLkECqgrXpu2TK2-e69kNTaa7UoolY_Vs2wYy_UHoC9gvuNoMvtG2iCQxKg_EuOkpW435zf3012i6gUHd-g2wYiTRKYKMWJgt3ndU3qB6X8WTQ3qyO9KHbFP1G1si5zc_M-em4kZXV4aPZeMFK8wVDNkZbUOkGEv7YV5B1w7pM08M5Z8SIHyR30jxVzoa_hEitBdbnBHdMkBeoukIlJ5Qw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NDQyZjZjN2QtZjFlNy00NjEzLTkxMjAtYmY3NTY1N2M2MDU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564527544" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTY4YTI5NDktZjc3Ni00OTRmLWIwMTctYTdkMTMxZDQ2Y2Y5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="583" it="0" lt="583" ct="0" ts="1587564526966" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-39" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWIyYzM4MDktZTA3Ni00Y2U3LTlhMDgtMDI1ODJlYzI2NDFk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3MS1HUG81VkRkSmFWWTM3ck1mdjl5MGZJNVBSdUQwRVQ5NSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TyAlfSQ_tFrFe8wTtH9iqh1b4ZhhAKtCMFVuafOc_9NPn8jvZECgSj6BFhhf0-79tZUeDrGGy1K7jzLuqUHgTnC-UqrlHky3mH2v6pzHPfb86XKEMmPxhPGeMkcB_K3lXdZjGetnS0ObmiJY15VR8iD_fXHZt8c09dhAbzG_UeOHp9hB0JkVcOpuab093rd2EmOxdr6XxbmJtm-osULCSDDlfAyZGDWV9CoNMHpbZjbUnTBjC1bNYdXdyaMlJnmlnnBalB_QYuA9e-8UjJIRiQKQN0K2RQq0i5nXQcxIGEl_fG0yzKzNEQyg1CjikTXdvwHD2DvBnYyxmkLNAbCxtQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MWZjNjc1MTAtNDM2Zi00NTcyLWFiMWYtMDMwM2VkNzhjZDEw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="472" it="0" lt="472" ct="0" ts="1587564527078" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-94" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTVkZGM0MTMtYWMyYS00Zjk0LTlhMjAtZmFkMzBmZmQ5MmFk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQwOS0wRTAtWHdXbkI3TE9jemtkSmNYZXhkOVlVLXBPaUVEUSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dOuwcX9biYO16UEwG6n4YnTTS5TiiMG-zLgECeqqynH1dZMUQn6CVRKklD9lDNVSZz8Bv3QlnM2Quysqr0lGqRJy-LmJFsehQLIAHTo2aRIseE_-iSG6sh3OOGwcsYsDhF_HzVLIbTWeKhKAPVz_m3B058QWm4X7mH74mlQyZ1lqSUlXpzIu9oz4_m8TrnM5jy2l6AB6iGhq4Up0HBgZJZNaNVJIJ3_eoINvPPrOwDQWoFYt8ZDUkvmI1x9HC0D2Ni6elLhdbVDNAHNayyRgCOmQyOY9s6Xekwzbv39pMjyuLQAWeKjGpONJpCthdS8kN9mcOHi-9F8Vzjb9ocnIMQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTQzNmU5M2ItNWYyMC00MWI4LTg4YjctNzg5ZGYzMTY5ZTZh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564527545" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Zjg3ODU1Y2QtYmRhNS00NmFiLTgyZDQtNDVhMjgzMTVkYmM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564527550" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWM1MThiMzEtMjY5My00MjdiLWIzYWMtYzI0YWNmZTRmMTQx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564527550" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmE3ZWQyNDctMGRmYy00Y2E3LWIzYTAtY2YwMzcxZGMyOTgz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564527549" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTdhODZmMTMtZGE2Zi00NzFlLWEyMDUtM2YyYzg2NGVlMzdl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564527549" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTY4YTI5NDktZjc3Ni00OTRmLWIwMTctYTdkMTMxZDQ2Y2Y5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564527553" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWM1MThiMzEtMjY5My00MjdiLWIzYWMtYzI0YWNmZTRmMTQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564527553" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmE3ZWQyNDctMGRmYy00Y2E3LWIzYTAtY2YwMzcxZGMyOTgz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564527554" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTdhODZmMTMtZGE2Zi00NzFlLWEyMDUtM2YyYzg2NGVlMzdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="363" it="0" lt="363" ct="0" ts="1587564527200" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-91" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTU2ZTExYWMtOGZkOC00Y2M0LTlmNzktNDdlNjBkNGM0MGZi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxNi1JSjFDSXBvdzNHdzg4ZXZBNm1PVFR4MVZWbWhIVTZkZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qw_LwH_5v8vvgglpV6qQuLBL2dDmK-IdgKacG9M707tHBFh3f4T1EqnbsmODRLsJIpmKqBsIQljMS9J4j_9trUhi7MuTPlrTOHZU5qX9r-JIiP4R5mL4e_4yFxgoeZkomPSZF5Cu1_HpRu9LaPacoPAvsCb0aWMocCfBBtmurB4uu4IlwBP10Pv1tq1RW4s6LMuOg9V50jBAWfxPqSTmAXGEoc0fTOyj8fv05V871gCyDLXcdHU1EQ7OKgebmIZ99Bb0B8NxQsKjrXNvOvKWjZRifWMAe_HDpEa15LcFVKozxXUI5mRan8eP1Gzz1M-qEeaofPO76FLkkiwTv6f0Yw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MzYzYTk0NjctNGIwMi00MTcxLTljOGEtMTk5ZTJlNmI4MGM1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564527563" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWE4YTIyYjktN2M4Mi00MzE1LTkzYWQtMWU3YzZiNzgyNWRl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="153" it="0" lt="153" ct="0" ts="1587564527422" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-42" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGYwMzRiZDctY2U5Ni00ZDk5LWIwYWQtMzczNWUyYjY3NzNi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4OS1pM1J3cVZLdUdTV2RLbmxTNjdrNnhRMWd0aTVONS1WUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cL2cjBabUVBE7CnyOiO0fLNfrvdl2-N396xjrqeYW4GeGh1df__MzeATKJF-Km21JazAxKqCWazt_HsPOM3nMT0mmZGcc898v0kep8d4SV6uLFGr4OARjM0xqBuU060f2HUJ_U49IbJ6aPt-4caeVdee13FAkbmvf-49TR_bQ01Q29R30Ql1sxnzADbdqHPOOdyVvuT8Xs718bug7wl0opX8wlVQma0bcHXvzjkp5RsviBcBO4s0AzSZbq5vuFN6okVcCfdD4qIHfXpY_g5VJtM-_d1Onur6SrQFXT6zkdepM53eknPZs5hxj0v6XvBB9ejTHdqN-21O9eWDB1wi5w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Yzk3NzI0ODEtZWFmZi00NzUxLWI3YmUtMjI4MDcwMzY2ZWE2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564527567" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWE4YTIyYjktN2M4Mi00MzE1LTkzYWQtMWU3YzZiNzgyNWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="639" it="0" lt="638" ct="0" ts="1587564526942" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-28" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGM2YjYxMDMtNDY2NC00MTA2LWI4ZDgtNzFkMDZjZjkxMjI0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5MS1yUU1wOVU4bjA4Y0FKLWNsaWJXU0ZMS3V5U2JqRi1pdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LwIy_-UXlCcflAoO3Q4sjMFtvRKcZV7LCifhtTrk804iQ8Wc4fP-hN3BcOl7Q_37FTkQmk8eewxm3FDtB9izOeDnQIN5yxWPHFHB2pPO4eYr6xq2--VFRdmAgwHzN7NwzWd1spIsm0DoKiqCSiqIMjmD4sId0KUk4ZSeCxP_vcQHAxCUPFuqJvg4Dc9pih5p5trQduRHoRvxTzm5atkvsuZ404pvX0ENZrBABgNibJhc9uYueSOG4WK8Q_B9VFiJ7ROe80d_5IU5Y2U_8739jUBwTEZN54YT3wwL4VaxY99KYpyMamUx4G3MFhaScRJU3Qc_gdFjLlWdmrY-GacY5w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YTI5OGI0ZWMtODVkMy00MGMzLWJiNjQtZjJjMmQ1MjgzNjk4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="617" it="0" lt="616" ct="0" ts="1587564526964" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-5" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTM0ZGZhYTgtMzllYS00ZDZhLThiZGMtY2I0NzlmNmIyNDZj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4OC13SGViZWh2b3J2dkpwbDlGMUVPQ21PcDJaNHc3OFBwZSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.doPplfYiHva2zwTDmatoHjmpsYxoeI4eOga_ARhKPidWrqDxNvjlHiq2Lt6OiQF94oIf2DjQ55br832cOSlkuWfGtX1lAXFER7p3o-f5I3qwsNOCtsEAQDq5Qrp5o5paEpy3ZAjfpvjAMylMCKsx-0X6R5aayKs19yb9a5UaU2hKB5A-QLif49BoLdvsVYk5S0h-YC3xLWnWo1IMQ1IptGy21jLVmcBo5Oo_i3f2AI9fS6-QbJX1jHDo8Hp-H3Ron417tfkfPEqkW-JA_-Vad2AEpvG1T7i6UQca1lV7GMaPo0fy0QHRoH25XLBNW4xUUmqvmALkAsTV-jGdp_EFsA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OGQ0MTMyNTQtZjNjYi00YjBiLWJiODItZDFmODRkYTk1NGNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="635" it="0" lt="635" ct="0" ts="1587564526947" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-87" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjViMjUyODAtMTc2ZS00NDM3LTg2YWEtYjIyNjgyMDRmYTQy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzMi14eG5WM29pZWVFZGFGSmlCbVg1NmcxQm1xYVpqMnRoZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dU1Ej6AxRDfZ6sMJOQauJ4vJlpTzx8HBwMSC6JNkTBnRSJTtyqf3h4wyJkNEGDdALKAtbt3friCbJd5bxOG3T4DTJzbog-tLf5NPBUc8_Wig311UxeAvqeFmVXeMdTpQgsPdcfd2fwIvztdCxM5wPNon_dOil2m3We-Kcn-epSdXsjngS7eR20stuoZE-pzQpaCLp0h9gfSOU1DQJSFb_mqbCzZgXiZ7EfTRxRTUuK43-UQY_whMFFk2zl7Zz39esAmKaDiELl8s9dAzfs1FFaxSkdLU7Y6831k24tsa2kLS2yKaq8zadg3sioswFmaRXohnhO8UOmJFkHG9JTdn0w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGE2NDRiNjctMDgxOS00MmM2LTkzYzEtZWNiM2ZiOTk2MWM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564527576" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDBkYjIyYzUtNjAyNS00YTRmLWEzMjItNzg5ZDcyZGY3ZWIx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="2" it="0" lt="2" ct="0" ts="1587564527582" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjMzOWU2ZTgtZjM0ZC00ZWNjLTgxMGMtMjFhZGU5NjM0M2Q0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="622" it="0" lt="621" ct="0" ts="1587564526964" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-41" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2M2ZDYxODUtYWI4OC00ZTYxLWFkNWEtZWJlMWU1ODcwOTE0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4Ny1YVlRidmJydEpkUFdhUEZFZmh4WXNHT2EyUmlvWmEtbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lS8tDCA2wFDEt9diOCAKOQbVPoI2HjkNShRfT8keG-cRUvcIYuvg0lv7KcjPwEko-gkou03dixyJ1O5KBp8iZbu3dMvpPrU439KJrMAvNm-HViZ_RlAnHYp9PLH4HgqDYtIgZGeHuK4naFWnFgzjRilN2jC-5Xrce6xwPiKMGStEaTgrUUvGGWrVSuy3OrNHwV1ASYiQUcx9ONkcCW2WDFRgY19UEAHA2Tee5qVd3ShBWATHmpsyF8ho4kaorAkjbC3Ni1-AGA3JXabLS2MNz0llHJQwtElWeEV-2jnyFuiQhZUgwywz9ZjbpB2YFfeCYJJkd2FuEpt-vE_gm7fTTA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MGFjMTQ3NDItMGRjYS00ODI5LTkxZmYtODA3MDJmOThhMzVj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="648" it="0" lt="647" ct="0" ts="1587564526938" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-43" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjRjZDgyMjUtYzAzNi00MTc5LWExMDUtMGFmNGVhNDEzNzNm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwNS1ZekIwVE1GeTZDUkJBUkN1Z0FsVmRwZVh0ZWcwSmtJMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ik5S4vPqjtXsU3dVYWl7ee4f_VOyUrYGZpQnOVSy3e6gGBeFHXHA0afpF4l1oa-IylqVgCZmxZC3JRRaTwCzpT3UDBQBzDwX3iwQE6Jm-pFDmnxjgHepvFfwX8WKh_m8wkj4zQKpwh2pO9hPOu6sBOmFmTmPsLcAuJSJeVU1Nna-UaHVZuP1pGnRSvnZuM4cEqGcHOKNhQcZhWCHBZYZebVIDpkxVY2H5vNeXGhKPCwysROKWERGkzwoYJMWzhjA0GfElnUUcoGFYtmqtOKjF6ENNDUB45n-g8sWpU1110X1Hfj3vU53wNERFLsyuf6IFNy0DvANGDr_MJBw_Jr_Hg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OWVmZjgwZTctNmU3OS00OGE2LWI3ZTgtNGQ0M2Q5MTdlOWJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="489" it="0" lt="488" ct="0" ts="1587564527099" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-32" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzdkYzcxOGMtZDYwZS00YTM3LTk0MDgtMzU2ZmU0ODg1ZDAw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwNC1yZTlhb21DV3FoQWF0UGpoUG9LT1hOejYyOVZ1VFA3dCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.X1dOkXcNG2BCwco8b-i2RLDTHrJ6zfPuODNeRbnDTvuwmAProEyZWB2O8bgsgPp9aIkAEDFsVG2_2UoB6GvVu0aW9v7kH3R_Lls34UcVQfjBtW7XcTSyfqltuwFDyNTWrvkavYwNtarTR7_ItQTB3RFH0T3C6BRle_vFZsNvzDCuC_dKwCCIW6wDLZJq4tIQgEWOPxTUjLZZhmBcbsXfca6hVKZAq-aDIcljFTCrWpjFTyjGrIjiKJjsrsbtLUFRGYcnP0hfxZ5m31KAsF0tYaWtFSGc3unWg2RBSLSj6etG02vuO5OKw76DmNRS8pf78VyjCmNtjEb-mbt-VDAdoA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2RmOTAyM2MtNWVhOS00MzgyLTg1MTktZmE1Y2M5YmMyZDIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564527583" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDIyZWVmMzQtZDNhMi00ODMxLTgwZDItMDdmMDVlZjY0NWQ5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564527582" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmRjZTA1ZmYtN2QwZi00MzE0LTg5ZDgtMmRjZTI1ZjY3M2I3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="647" it="0" lt="646" ct="0" ts="1587564526943" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-69" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmExYjljYjAtNjY4MC00M2FmLTkwMTItNzk5YTRmYWQ5NDM5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxMy1lVS12T21pSDB3ZW5RRFJyME9uSjhwdzJTaWVkcFI5TCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.E6H9dw6A9u-PzEJOya9_UtA7r-CSIZ0TLMapnWJ49FZ5J53ZIy08Ndm5AtqD1wAY06IJXzgOBE1PKIRDzaVBPil7BC0o6zPXU-0r923OFU0ydxLbue1oG7r7yUYoKVu2UBrEhPxpUgaIJas6tgtJmnWInGRd6Xzp6GGzLQj_7QudrOCd4IELict75iQgcodm5raM13eYOH6aHIZenTuynPK5ORcDZmfoYLEJ0znkO09vpu3Qqvfoo0sNO_iCVFopDvoY6OMvMwWRPrN3KtzyFofhY3MTsC5lPI0K1AGLLSZ098miTwZtRI6HySIT3erUjvqOuJR3RLryfh3PMQYOMw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=N2RmNmVjNzYtZGE4OS00NzI2LWE0ODYtY2YzOGUwYTU4NzFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="643" it="0" lt="642" ct="0" ts="1587564526947" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-15" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjgzMzYyMmEtYjQ3Mi00MWQ3LTk2NDctNGM0NmIzOTQ4YjM3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzMC1VUmNOS3gzczlRMS1hSU12azQ5VUhVcy1QZGFmYnVVcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.H4BYPicpvNfl-kqAsx6rv-kuvfyh_v_kbkY0DIVK7mpq09oUNCLhZbF3qfzsBjrPxZHBavl9dT_XCX21DIo4QDs8Y5zbwBiMQvPVT8UoWh0E2naIHtI4pq7YYqGdC1yom_lIEbZz1dIhmqD-F1KkvsHFhGK4amZnvrlfeiITVbsdM1hgEb_FnlvnZhRbZ365uVtkv0BTVYnlqJt-9zqDb79QEoxearhOXcwc5d_Ln3fLI2t1DsaWEwRD6vFLjxasgDAmQbl648QzkltdYaRAyII4WzpNgzh1hgz1hXjq4hI2wz_MUsluxo7XD4GOt_KL7Bf-Hqd9Qlda8En-odq7MA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmE1MmEyYmItYmNjOC00YjYzLTgzNjUtM2E1ZTg3YTVlNDRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564527583" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDBkYjIyYzUtNjAyNS00YTRmLWEzMjItNzg5ZDcyZGY3ZWIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1244" it="0" lt="1243" ct="0" ts="1587564526348" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-11" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTc0NzE5ZTktZmM1OC00YzlmLTg4YTgtYzhjMTAyYTE1OWY0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzNS1xYnhpZTFrdDZrUXhwWllzajQ5VU5RSW5GVkdYdERXVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LCLJXSzQ3d6Hk1bUlBCMaOBP51O_m6E48AUN2gzW7C-IFAzP05vNuAaLSZAP0NFcoEFRrP21gqgxFERoOtosTDQ_rXaRXMRaLg1Bhw3aEw9ZG73QNjsxE6KiL6YGPlmtMem_VRKHtky_kA7uXR3g1XHusr15nf2WBWj5gnY3kO_uo82AsCsPz_J4CmiM8sJS8_loEphTwkSk08NyDLRRkJMYeUNanWaatWc7wkMDXwVTQtJxc2J24ML3s66AXQ_-WxZSh2zNi-nObX3gt7q6uipzs_KU5Yrwi3MzFR4QoDP1QcsUzU9MC0FKvLBqhkc9LnP05CJd9kSy4uqHhYQtUw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmI0ZjNiZTEtMTQyYy00ZDE0LTk1MTEtNzYzYzg1NTJmZTFi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564527585" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjMzOWU2ZTgtZjM0ZC00ZWNjLTgxMGMtMjFhZGU5NjM0M2Q0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564527586" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTgxNjBmMmYtOGRhNi00MTZmLTk2ZWEtMmZhOWIwNTJkMWM2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564527586" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWEyZmRhOGItOWE4Ni00Zjc4LWJhZjctNjM4ZTZiZWRkYzFl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="24" it="0" lt="24" ct="0" ts="1587564527591" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWU1NTZkOGEtMTNjMS00ZTFjLWFhYTUtZWRlNTFkMDE2NTAx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="25" it="0" lt="25" ct="0" ts="1587564527590" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjViMTYwOTEtNjk1ZS00YTNmLTk0ZTAtZGZkNzRlM2Q4Nzg5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="27" it="0" lt="27" ct="0" ts="1587564527588" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmFiODY4ZTYtNjU4OC00YjI4LWE5MGMtYzI4NWQ4ZmYxMTE1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="27" it="0" lt="27" ct="0" ts="1587564527589" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDIyZWVmMzQtZDNhMi00ODMxLTgwZDItMDdmMDVlZjY0NWQ5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="26" it="0" lt="26" ct="0" ts="1587564527590" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmRjZTA1ZmYtN2QwZi00MzE0LTg5ZDgtMmRjZTI1ZjY3M2I3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="23" it="0" lt="23" ct="0" ts="1587564527593" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWFmZDFkMjMtZTNlZi00YjJlLWE1YmEtMmEwZjM0NzMxNTkx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="24" it="0" lt="24" ct="0" ts="1587564527595" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTgxNjBmMmYtOGRhNi00MTZmLTk2ZWEtMmZhOWIwNTJkMWM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="593" it="0" lt="592" ct="0" ts="1587564527026" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-8" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWE3M2M4NDUtMWQ4OC00YzYwLWFiN2UtNDA5YTZiNTAxNzIw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0Ny1NTzFvcXZPR2FYQ1Fma3VBVFRsaGNaM0JxbHhBMW1IUiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.soUDhYZq0RoSpYLASXGuYYzeLwMIp7kJm_PYCnVkybqG2o0_W8K76IH0GaTaZwbjC_2_vvC67Oa-KPdYHn16Ky_8lR1DtCDHcon3uYOTdhU-SZfdXh6sdQEp45ptQYClK3mKvTtK8TD22ejyeH40IB5xCEHwhH7QWpZ2cOVf63rejUzWGUnPJz4dLI0Y-4D0waUWN11ioIFctecmbbBhCHdIemgng-P7bTiC8cVyTVTcj4ZirTCjgwq1zxN7AFKBHl3PtR2hoxqYR5ExuHHHhw-LkPP8u0dC6vmsfbY6JbrutgI8-HLqPilYOlzQ759ZzZmv09xtAz6cwyNEmby1PA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YmMyNzE0M2EtOTJmOC00MzBiLTk0ZjgtNzhhYmI1YWFlOGQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="655" it="0" lt="654" ct="0" ts="1587564526965" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-78" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTkxYTc2M2UtZGQwMS00Y2ZmLTlhMzctZjBmZjlkNDQ2MDJh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2My0tTllHWWx0bVFKRDZqREVSZjFlY2xHNzJlSVpuNk5RWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YSilc248U3S6ypNYNj6ydKyt07V0gOXAyFt5TGhWMZNRKdT5K5Powb0WKY6sGGgaNdeo7N9rX1zf0pA061d_llxaa4hufEduF5hjn4GMhjBZdqXu8I3ZMbZhxpj0SxQ6xjVUyLeGvzO-3narRcNBx0x64prvlDbv8uE5BYAn0iPr3flgdqkh1XOOZC8jFRyn6jQHk8c_HxNi8qHXhi_Xn0H33OK1Ug_50O5GCfRKuymc6YosKltIl2M1qPsEHmBPoYPmFYCp99cG2L3EAGZUf7v5EMT2hk6qdfM-E21ysKCsATUd_HtjwmebDUQG5pTZlHEC3hII6jZPYdrG56PmZQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MzQyZjk1MDYtYzM5ZS00MGVkLWE0MjUtODM0NDIyZTNjMTY0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="726" it="0" lt="725" ct="0" ts="1587564526894" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-61" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzlmN2Q1MjQtMTUyNS00ZTFhLWJlY2EtYjU3YTFmZWQ3OWUx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2MC00dk1TaXFLSjlIMHZDeW56NXFHd0JWZkV6SHNyeGJibiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AUtPTvWVD_FLtGoSV6UZBYyN6D57M-XjXW_OiPUrTHxEMBIYKS494vi8DLuu-iC7yaelxZpQZBfuxroQc6mstmJJATZHlpqxfGHjuvGdXLXbrAFIv2-ShzFiPxojTgXFnx6gCBcFTouEAR2h_6SBP8SA-VpGVxSIvZx2470JwNSwYUEZoJT5FHPW_VPENxVDL1Tgx0T9gEoaPjrjlKtIzvOJWXFIjIrt7cXusPckny-clfoo23DSYk76i5e_eJGouNJEiR01z9PsuiwVEMwb6sfS9jfO4IngCZWENBjFFePl0EBKqsDWJ_85plGg4Vtd6AWjTtQH4cYavh_bM_7GOg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YWUxZjA2ZTUtMmViNC00MTg4LWI5YzctMzU3NGQwYzMzOWYx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="471" it="0" lt="470" ct="0" ts="1587564527150" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-72" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjA2MGY1MDMtYTMwYy00YjljLTg0NGMtMTIzOGU3MjFiZmM5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0NS1BUDJwRUdSdEZKNXZ2YmFqSXg3c21NZVRNUkk5YUtmVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NGXsUU_qeElQEx_L2UfaWG-fFT87IuIReKeFlEw02fAbpqXYrq_uuOdJPoJp8KVN_WAmq1mcKyYaSYRnFp98bs47EpEMoKdeqJpJN2lwTDh99houzrK5nf59tBw-3nZHIbk-t5amsn3A0Sy7w7-H3t1KxcU03TU5ToI0zGJbumIoYDhd7hiMSy1dRlmfDulmHiixMM9klJu4HrHvFk-R8e_E455kabNp33_7_eogNwQ5Vv2FAWNGd4TyU-d6hTEgzrBR9VrqxcGWYHdFWlcnh9Stae_inCizXTzwgGk4eqiNfj1UDrsMKTkr3frK0-4Qvc1Ry_Ll7HkkIMr0cQWZbA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NzZlZjRmOTYtOTdjYy00M2U3LTk5OGItMTBhYmZjOTczNTg2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="664" it="0" lt="663" ct="0" ts="1587564526957" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-86" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Njk5ZDAzMzItNWE1NC00OWY1LTg5ZWYtZDIzYzA4ZWFlZDRm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2MS0wazQzYzR0R2JiTDRXaDg5cjJLZ0tpM1NXUDdiZzFYNSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.se6r-_dfL3uSqdgwbAz41W8GzG67hWPjt7NG6QMQDW5TP7Nlr6puPBrHNSvzxSvfGEwfqKpD9Eo8_jKGTY2CNkmI3Q71HoFGHylRW3jK7SzuGQJbSLKMTTjMy4Q8DOIFWnhqRF7EamzuV2TYB5WA6YX2MMCOd0huy5pAv8ZxQIW19W70nsnTN0JOvVW64RprJmYdqBDg5mbLWHK2jRTqa16Y71vee5KNHPibRf7tn334LdlVpdUTKMAanz38WWXXqDsvAionUi4_3NRHvzqSmimVeT9K6bIbf0qOkec4skcY1MbMqdI4S-gBK2v6ECyL4L41bKMjc_5KegTlcUN7uA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OTgxMzZlMTItYzZkZS00MjdhLTg1NTQtNGQxM2UyMDM1ZWU0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="473" it="0" lt="472" ct="0" ts="1587564527148" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-52" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzZmMGQxNzktYzc0OC00N2VmLWFmNzctZDRmMWQ3MGViYmU3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyNi1PUjU2TUNpOC1ZQVotSjBNTE1nWWlvcE9qUHltOGlTTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Kd0hiVTXbESw-oeaPBPrrbabPHEslth7vKBzTNqCzT4zGQhveBmngOEZ5gBg3s4vqmUHU4DPkbd65Y7N-tg40Hpq-z4AyT41mPoynHh2gdNfjirWnR0A9_5RqJW9rzSB8GaaMhzrIrJbCVWLEaOqWMCXK8PWC2yXptNH6ea-ETkkHKcP92w-Ds52sr2gphB-D4Pv32Qkd3llluMCWhCWOfWzN81xm36I1RLnjMVXnD3NrJNWwL4D69jnKGdHSBudG0ND9bo-eovG-FhsYmUovSWke7Hg8YIyQythvWW1PItERrnXaf8-K_pCx-mp0WZvirGnUnWiy4iviX9RZCCZKA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDc2ZTJlMTgtZDIyNi00ODdmLWE1NTYtYzFlZGM2M2RjOGY2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="596" it="0" lt="595" ct="0" ts="1587564527025" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-67" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjNmY2U0ZmMtY2MzYy00YzFmLTkyMmEtZDhkZTRhMWJiMDAz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwMy1KQU0wTGgxNURILTB4cWZheHJHNmwxLS1BY1RzWllRQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ALouYD9AkWfwDs25oqM_4Aalf1IEL9vizw87DgUlp-JPczoiOk8gqQulskeogIRGJCpnrwB0iZLOq9Om992a0G1LbdtCb0WBSnbGjoqqn47uIWCDKp61C_id-lbDd_UbIKFmefrHROFFguLHovE8EjiPtyi9qk7qzbUXJJiMkPlC2DEIhuljaC5ShtUBlUwLw_YS2px0R8OWxRilADe9n1-QM1jHh4rAkD6tPy3XkmKyNfNc_CKE8ss_L7Q7R5Bzd2lUxweymoT8uI2IUYyyIyN16fwpYLWkVFsyHT7daJbuLp-r2imUk1-HdN-KXRlR0jPT78M7Dz2OEVI5wjhdzQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OWVjOTMwMzEtNTAzNy00OGM0LWJjZDktNzUzOTI4ZTllMzBh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="599" it="0" lt="597" ct="0" ts="1587564527023" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-36" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDBkZjMyZDUtNTQyZi00NDcxLWFhMzEtYWM4MjkwNTVjNzE1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5Ny1RcWJUSlYybHlTaWZySTB6Qk83VWxidHhMRlBoR2t1biIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.A3eS_xyQE9xILasJ3g8woP88_TfYYsgWfCdSnYhEq0uD-QdGwdkx2KQ7cRAjaWXh7_mSx-bxefTQPTwV3z1Hf9gJIn7yN-smdqE_dumiJn5mbLo4ya8a8NKYybjQ1WYv6cTmW2fKprSHDaUVF24Bek53wkAGHy-IaHcGnnpC28_EXRyeaZ3P-sBEwCmuYePY1UHQFFgQ8Ur8uawuGUkQTrMqceqkckj_mKt3YjQ5aH5zk1zN3lmsVnRKITnlmiBuD6sJADQ1F33PVgATCUSoKpUvC7cugrJRONU47qxGFs-df2-JCITK-adsVfD48_xZpr11AjaFQ45KnpU1aiog1A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTVmYzUxZGItN2EzMC00MDMwLTg1MDQtYTk5N2M3MTIyNGZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="674" it="0" lt="672" ct="0" ts="1587564526948" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-17" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmQ1YjhiNGEtOGY5YS00OGZhLTk2NzQtM2Q2NWZhMmEwZTkw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4MC1xWWRSZ0VmbDZIWm4tajJCM3pET1BpS1hydC14cWY3VSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bCxtXI3zWUrjB6PlJmBDtR_fp4w7OuSMlfpqSjUSF42kcPheO4gIYZZSydPz67lis0_pbsUY9UfnLL19yQP-_OU2anhygWWmlq9AJttr5OTr6tBSP8K6St1fdXFnUa_TeonF3uP6iucKvPBTCIKdQus6x4gxz9T34eFBxw1vi79MOW-O3fLMSPnMtDTSri4lY0SPTwf9LRaPaqccOmuMRKdEepoOlKHO3lFDKg5ku94sEkSYKk86_I28RFyR-6Knake7pJDsdchKC6-F5zHcvr9318YfT1U4oXKjA0-nqbJ1XbGkwVyX9XhkvfkHL8u-XcJc2asyxIE2BcG9VEN8bQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NGU3OTkwYjEtZGM5Ni00M2VjLWE1ZGQtZTI3ZmUyOGFkM2Q1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="656" it="0" lt="655" ct="0" ts="1587564526966" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-44" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGMyNGRhMzMtNWRiMy00YzIxLWE4ZDQtNWRiMmQ2NjkyMDAy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3MC12bHZBLUJjekRJYS15NHAxUFJXSDQxY2l3dVBTRzFWYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SNMl-7IkH8Ctj5UVJdlWgipFu9VL1C9P6PJ0BD4FquWAKcHDaQDMU1Bks_fcPg3MiIVAWVSO6DxVVQRzUWRDjUmC6xG1S4it84b0RYP01DO-a7z0YsTh54AAyzRBIUPZzvkSFNhLvMVTfRSiuVM1xQDJo5REYVXeG3E9PlYNAMipoeqFSV5PK1yqARVhp9_OjjGkIR7OrlqBXYnaP7Gd69ywghKdrChnBeymtLFyFGUsTJS5qw6Ua7yhpJ9b73lYXvlU4wenIgmPnQ6P_xlTA_yfH1WpbTDQjEdTNWCg6UN3UpIxEhCbcgPNcMXUje0S_E5nOsw8I7S4qitRX9XmkQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=N2Y3NjJhZDYtMDU0NC00YzMxLTg0ZGYtZmI2NWMzYWY3MGJl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="26" it="0" lt="26" ct="0" ts="1587564527596" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWEyZmRhOGItOWE4Ni00Zjc4LWJhZjctNjM4ZTZiZWRkYzFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="256" it="0" lt="254" ct="0" ts="1587564527367" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-47" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmEwYzQ5NzctMTk1MS00MzE4LWI2MWQtNTU1NmJkZjY0Y2Vl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1NC0tV3JXdk1lYU96bzgwVEt0dmczZWxpRWU5dFlEeURjVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ru0xLKLMpfBK1R-eYzeCa6ml1iSSCdblHzLav3w-2Bs41vEkGSRyNpqgm1KmZBFX2KShDxp1l6oQkDdWWW1TV0F1QWMXsCOiu7V7QPJRtdDP1E14f6QJUpB3yjEn9CUVGDojp4xPdyK6yWGfBLDSCfEj2k3ktMIy_PWbP7AmhQ5ub4Y3R7Q499Grql93i4tsASKevqEogFFhNPex63xhkQZ0Dbvb5TdJjzkhTXKqvpLY6xTMlkt0Lhl9zCSshfcX2oK0QKwbwIfvVAQC_udkv6yrp_tLZqZvQty30cFukqSQYTNZqAsd9ajnFr6IcfyorspUb_UJSDNr6QUiPADKQg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjdkODE4MDAtODRlZC00NmM4LWFjODktNWM4NTkzZmQ1MTQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="676" it="0" lt="674" ct="0" ts="1587564526947" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-83" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjkwNWQwNTMtNjQ3ZC00NmE0LWEyZjUtNjE4MTVlOWE5ZjE5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxNC0tZ3QwY3FJdlpXaU1XSGt0MEltWXh1WldDaEgzWE1UaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FQKvEPvM6qRWy0bJuALe60gbDGzQfjX0TlgMaqXVVJt895f2ISW8T59wJ0HLI0lg9PmKm0W-ACp_7aQxOpUEVOTE8nR_Dxj2OHEFODJo5cIVRUDRKnWuBLKn7LKpMPteNkCoUuRDauIbH7AdyxqWYvpMuVkpAXMw0o5ROofCBjZO4FzwwJQSh2nFtev_qTeKWXRrS-v4L1Q66LzAlIFFnBjbeiVj2yAdsd3pxVUg7Ji8k0L6kuoRHl_lgiYXUFsNO7XjPYsfdMg2Ty2_jRBfjq1NgKPWqVYDv06UCYy65Ah-UHBPD_fGctGDx06CsrcKeYQmKo-tNwxmYhWnARP61w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NWMxMTYyZjItNDA2ZS00NjNmLThlYmQtNGY0M2M0MDk3ODYx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="675" it="0" lt="674" ct="0" ts="1587564526948" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-89" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTJkODIzMzYtMzU2Mi00ZDYxLTgwZmMtMmE0NGEzZGE3ZWI4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2NS0temotYlR0cXRMQ2IzT2Z0MmhxODJHa0JMWWY1cmNxTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NFfK5Cx5qgZHty93gyvMfLXxuaOCgTmKn3_NbUhum24zDSc3hB2Mks3Q62BNSfPAwlTxQ-Vd3lzxvHbNbvJnpOzoMRj8fbLRkpLoUbZ65oxBb4NU6a7PhkiiiTD-DA3q-97pAD1o3HYBYHsqcZZC1YUSCG6CNZR1wqmyEUT7wLwT2Q3vShrNJFN1nS9FeUf-iDa-l39ZJQkBqcl_IvbvwNw37YTmM5PIqV_oZ-lr2pAWdPs01sT75yLiWuL6nCqipPhnBuOrDZzEGDB7cnCxXpF9Q0VOgBr7mpmGYkXzD0IoQBFA0i1V9gUTibZEprBITcAyMJCWOOObUDncAvB1TA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmU2YTAyMTQtM2ViOC00MmRlLTkxNjEtMmYzYjgxM2ZmYmI4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="682" it="0" lt="680" ct="0" ts="1587564526943" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-75" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDk0ZjdlNDEtYzEyYi00NjgwLTgwZmMtYTkyNDlmYzQxOGIx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0OS1Fa2tFZkw4S3cwS3kybmVrUGRGMFQ5d1RhS1hoWFRpYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FteHmPBMOZ42ArrMa1_7gAGXQdf51ICba9IQC1jNrsbER2e0PGXI-4BXxPp9l9sifP8tiGSUXX4VxMDcjQNfUQX9EFSTeVi5RtVmGXfArSIqKwl0xuIt8lgdywanwxzCDMK5MNs_9n_1KPoOPVLI1DwtX2fcWUT3QJFO_u0YVKvlyliVRFoabCcWhOPJZ9_aO5bLEYm3iIFU8SNftkxS6oWYW40V7j3G-XMgiC5MTltzZBWmdPizeQWYczgHXpCHaZW79TRXvKxWwVlbzF8-6jtIzzEW1dJ6DW76bi15czmBdij_Lv-PpKdaKwR5IKudB857duEtUBGHYOZ9YtyoSg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YmI1ODNkNDUtNGE0Ny00MjBlLTlmNjEtMDI4NTc1OWU1OGNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="663" it="0" lt="660" ct="0" ts="1587564526963" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-1" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWM0YjExOGQtMTFjNC00MzY4LWJjNmEtYzgyYjkwNDE1ZGEy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyOC1IazM0Nm9yeTY1S1FuMkFHMzRGVXZuY0FVM3JBUW1ycSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HNHkfzgpzj76zYjgjN9FXXEJIEcov5N2r4Ax7J13ppdBfnGFSpQ6XnnUiTJaQfeA5TZCWcSX889jrt-YvBmHxWHW7cAyXjErLncN50jnmRHoV_P7KHF_lNDXgPE1NklQvwPNOJjTQ30owGeS5ZjpFDM2KX9fjRNq5j6yFl-d2XQmJ5D6ghIizuhbJDgvJhJM8z5QefnGGmPYuWbbq_Hsjb5H8T8jkQi5Y1nvFwDoyrDGRkQ6RI67UEWHkRjCBqmoPTQZkCWs9Tvv9ftxfLpjbD5lPJSHJj3D1BcOqP3xL9uODACqjH8TbUSZvXAS6Uxl1_ECbL97YW9MT9QFZmB1HA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDVlZWQzM2YtNDRjMC00YjQ4LTg4OTItMmMwOWI4N2M3YjQ2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="534" it="0" lt="531" ct="0" ts="1587564527092" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWFkZmJhN2QtYzM4MC00M2IwLTg2YWEtNTI4ZjJjMzVhNGJk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNiwianRpIjoiSUQtVG9rZW4tMTQyMS1yd0IzVGdXWi1yOXBSVkwzYVpRNkczOTJHVWNHWFF3cSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BQDpA9I8lIGw1BCDFORQrTRi5YEeRl7YRnQoTus-3V10QNcPRJfrYWMYtMgsLUfrWQQy9CS7O1KtZJksZkIhQlQorIim1sABHNeV4COMlMY4_Jf252fwHT9ZU3pVsiRbvXZRqaEtsupHfoPP6_JOjB1CJl7FxYhe_jB19orS7KiwvluNlkKyyJ6VNb5B_82HvdCMW3Lahutv2f3bd1YWov-8OB2rrE2YjDdk_aEEx2i8PMqelmbnDd7Otn65ij-2RUwwDfU6YUgth3jyDbYmkZqHl1blkt2Sn-dZgAcyJ3oUoIFgxU2F3IeX8eMFpOcOlLAmFWYWkaMjj7DasvHzFw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OTI0YWE0ZjQtNzJmOC00NTJkLWIxZTUtYmU0NzI3YjQxOWRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="677" it="0" lt="677" ct="0" ts="1587564526949" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTk5YjYwYmUtNjE3Ni00MjJiLTk2MWMtNzcwMzNlMjdkNjQx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2Ni1tanBjV0NuRjlrdWwtU3VVUENvRHJZOEl5alktUlMxNyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WtbQvobwuX26MsBZqzmzzgycH_cPesR8UKTLvOJKmMWKQBQgNXusOsC6qRVVLWQaSMVOMnMwfmr33ckP4E5YoMGsZzCSmZptjxF4sjILxiz1bheK5uglZuXtTeSYa6V0rVaAcRc99BLSUelI7HfnznP5geGgAt5l50avo_bfzS_GAPUEb2wsOAu8fqcmpgrCXLhE54N7SZvWDxk_2TdU6PSUWkvZxYVk9rNtcgH0khlWUQ1agVvUH7QH9OzaXs0DdrS6VUyR1DNU93jNwdMrlGmmbV602h6de-GLQihrRuoXqHugb_zFunNvhbcjRHhY1oyLw_AUGgat_EAslYTEHg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=M2VkNGQzNzUtMTVjZi00Y2I4LTg2MTMtMWZhYjZkZDBlMjAy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="698" it="0" lt="697" ct="0" ts="1587564526929" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-2" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDk0YjNjNWQtOGFiMi00OTA5LTkwYjktZjgxNGFlMDRkZDll; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5OC1rQWJKLVZ3ZHpWMDFEWHNIZkFoYzZtYTJKWVZqaGZLMyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KqzFbaXGJUIXQdw22hi7lWuT3-XZFfc0eR_4cC_QUEa2hqWxVk_-1OYYEWILamynf6DSAyiIKc5fr9VvsRKvINdLLAFxh_1SSoqE_2H4iTOisIPoP6_X1isQwWHm7nruPl1XXvQ-xqK6YWTG0BPr2YBnoYq8LrX8eXTJjTqglQq3K-oVI36j0n2wist4HZM4FCTqRcEP8XWA-13yPD4j2hGW02MjZNcrh_XbxdoGeYnYKt9QnLCtTZzdF5IiWlk0EjfhrJl8XxWNQBIDQecCJmuAlM3cH7M9wl2gLQlGQftAjIST8jUVPSY5nGsuviYEY16qKLOYUayN8copUUFpdw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDBmOTVlNjAtZDYzNC00MDc4LWE0MzQtNzExMTZhNDhiY2Yx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="542" it="0" lt="541" ct="0" ts="1587564527085" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-55" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTdmYWVjZjItYmExYy00ZTc3LWJhYjUtY2U3OGVmZWJhNGVm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwMS1OZFlxM0QtZ3pzT0R4am55NmFKbTYxMXN6b0NEbGxkTSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dHJMfEz4sjj_-2iW-CMLqDYcqazOs6rwUPAHAWKm8tNd-f4D3Gnqew3iFyCHWGEhkW4g5R_rJQW7f_r08rl-xVS9MgZ8k28-vnesGoUp3F85t6C3Vrx424PW6dFu-0GjJJYX8eJ_tb12zpddsj5_LlzCWAuh_hP8-JMqb5xmMrMUmuTnl4r_yhbon6BhvT97eNSTcIC3QQfB6L-Yw-Dt993j789rIjbbi1cMGlTHBfFFllX0BF-4gpf7V3xO43gW3_NAR4rhe4zwWCsWJnh1Ici6YH-bZxcASM-qlXWMHdoCSoy8-OcQFnVkuuFiFYim3uKjq6QUZBUDWHCmW4bUtA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MTRkMDg4NWQtNWNiZS00ODk5LThmNjEtNGMyMDFjNGI3OGQ3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="680" it="0" lt="679" ct="0" ts="1587564526947" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-48" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2YxODgyMzAtMDk3MS00Y2M4LTg3OTEtNzg1YjE5MTA2N2Ew; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1MS1rUTE2UHIxaEtObVB4SkpUT2pZWGVkbVAtcHZpbUMzTSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.fydKEtaXNraPH3rkeIGs6boy0rthBgKQrOD6leK6RhzoT2Aoc1FHJvz8LaGDK8Bft3W5_jjge0Yp996EBGgbaaiJk6RwJpUH8SqDipgHvjcko3J9erl3dpCPjKun8HhJsExs1oGKJ-dezV3hAO1VnpYGRQsBTW_xaKgamAZXW8SqAdBQXggzrhp4QA5drjKh2kgr56jPvPcRrNiEElGrpS62n5dVzFUxGwcFK_OUHrbzaRgHZydXNERDDGUuQUqEMkh9VepKyh0YdaWc1egws-GPU_QszrqLoVHET2OtK4B_vaCH0UUCRm3_VdjiRqEKItb_MEceYtk56A8z3H95rw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTI1YWRkNzMtNmY0Yy00YzI3LWJmZTItYjA3YzRjYzFjNzli</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564527616" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjViMTYwOTEtNjk1ZS00YTNmLTk0ZTAtZGZkNzRlM2Q4Nzg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564527616" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmFiODY4ZTYtNjU4OC00YjI4LWE5MGMtYzI4NWQ4ZmYxMTE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="602" it="0" lt="599" ct="0" ts="1587564527028" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-29" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjYwNTFmYzItODU5NC00ODI1LThjMzQtZWQ3MDE5NWQ5NTdm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMyMy0tVGZaTlNnZVdmZWE2a3NOakdQUzJpLVJIcnd3VWRZTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HqH65AKYKn6lJeN-fsmBd4-yIrzVOJiSrYcLbJqIskcl66Fd_Qgt4c4_XNV72BqiW_sE3if6MBc8kHw0EiLjv06LSeqo6N8kBtABAPAChtuMZrpt1Qkill0F2Byod5a10_FBKNpBw6_toNFRWymHaW--keczjxp8OmlGzffvM83VCOGmvJrMBRMK3Ow98zhxuYvXawp0Xe8lrWmkhe2rkZAM0gBnlPv5HKRz1lUlOxto333KIX9mSgspm1u1JU23_o9aR2fz2hXux3-gR1mYbOWIsjhmp88eHrd7I4_5XVguWzLG7s0lFcv9ckqqJmbGwhLAUxbNT9rOcjy4XlGfnQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YWYzMGQzYWEtNDQxMC00MzAzLTlhOWMtN2MyMjEzMzYyMTAx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564527615" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWU1NTZkOGEtMTNjMS00ZTFjLWFhYTUtZWRlNTFkMDE2NTAx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="545" it="0" lt="543" ct="0" ts="1587564527085" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-77" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTUzNDY4MGUtOTQxMS00MzRiLWExZGEtNDNlNmZiMzg0YzAw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzNC1yeU1hdE55OGJXYk1zQm1KeHl5ekdvLS1uWUg0SVBYViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.c3S_lUQ44XAuckBnfjZTYuJp37g79g_OR_sp2DGi5RqgJk-WXqmJR_I7wh0KF7zbpVH7Zdo2g4nLuuv4YIdiHkXZR_gzhA6n3UcVqukFW7ABsTsi2CEI_-W-5iMAEKflYlgr4QM__f0Gb8gxs24boWsuYmF2294n52uXx6AXuC0nA-4sByfVE58yo_ozMusr80QEXXH6BSyoHsTjr8hr8mzZ6F7K0ZEsktSorWSbWZeryWzL0_tN8ddzJIFWtvTQXp7eWSVnTJbq5qPBzH1BWTT1G4BbW8ouEGDOITxtB3CoySY-RV4l2OESzPA_KWhSAx_WNfDWuaoz4k3etKeS2w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDM4NTIwMzEtNzU5ZS00ODQxLWJjNGItY2Y5ZjMzMzNkMmEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="605" it="0" lt="604" ct="0" ts="1587564527026" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-49" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDExMDBmZDYtNDk5NS00NDMwLWFmZGQtMTc1M2Y3YzdlOGEx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5MC1yS3ltV21xZ2hkZmk0azBGeVU3NldPUGVBbEFIVEdGNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OGn-c_bkLoGbpF3W9wuAMARg-LYOYZO_eLkrOMhrn5COkPDQ2w35Q6E7KDLbIOLubs_Fvz_UxIz5SBkFY_J--i4mXvcy2tA-zQyxkGHy_7RtyFc0G-Ke3txG8XmjkpAKlPqMXBrQ8c_Re7sUBMboooYLEwzzzTK3JoBarRijyNK-N3S7KT61Yu2PjPUPhNUvv0CMyQeigvXv14RLUnTGnlpIslQV_r7-JSwJWLEPoajyFv7XKBG81OmczKsYHLxk6X2lHkZHPmI3ZWUAr9POGbSJO0YV_sT29wo02KQJzJ7grvKHqrZxzROTEvKmDnLZI9Fx5IhBU9_hgvNg8fniGQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2VkOGNiN2QtMDkzMy00MjhhLTg2ZjEtOWY4Y2ZmYzdhZWY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564527620" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODgwODgwZjktYzkzZi00YmI5LTlkMjAtYWYzNmJmNWZhYjAw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564527621" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTU1NmM2M2UtYzA4YS00ZjY5LTg0OTMtYzAxYjMyM2FhYWUz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="722" it="0" lt="721" ct="0" ts="1587564526912" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-6" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2I0ODE2MDEtZDkwZi00ZDcyLThkMTYtZTRiMzQ2N2Q4MzAx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzMS1vcGpvSm11RDBtTGY4SXNBNE1wWkVVd2FRWkQ0RzlHeSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.f6Gd31_1HwkhAy7lrKDnXLsKb5rfTkYVJIOdnr7pV59ENdDAk9i5Ez1Bim_ARmC2FH1MOTS0kbfA-xwqMQp9ZvCCHwmapNMrGWso3LQ3YWY4vqz6xiXjt64FpIbJB41dOFW-d7355a89iUDm4DuZaHwjuaC777z7pby4xZfu-320thDmoFfEyupLv5PadL5M5NFGRm9OYP3-1N88t3HKeZ3JOa5IqK1iJdahcqZ6VNvqZfZtsnK4WPWUqfuPpZZxOmQWH2bWm2RfE_PTyq8xvG6x2vo2RzIcS7SW59qTpBij67kwdL7rLda5rViEgyhw5v0ZP6XkWopGncE9uyt1hg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDFmMDk1ZWUtMjE4Yy00Y2NlLWI3MzUtMjcxZGQ4YjQ5NmU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="546" it="0" lt="545" ct="0" ts="1587564527088" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-10" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjRkZDU4MzItZWY1Zi00YWNkLWJhODQtNjgzMWFjNzYxZmE4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2OS1VdUtyLU9veFR1RzZrYjd3alpkMHEtam1EcWhIdnQ2RyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WDLsfFgcWwtTMUR-ykDUBb40LLGtp_q9QuKSEleyLbLy-KdRA-NvJWWb2vd2OjUllZRI4aVYhNYywFWl3-ZTRegVnRFEvG8PjLmBTChFd2cdC1Ji92AFhPJg4DJeepJDuBtdYH66WHg4LJl1F1HT9mGQ-66W-n6KsQfRj0-gl0GurOgWWNCI-wqhhZMwI_oh860wp27BoJsMAOogGFH-Q5uQ36TdZGvFpjD3s643HQN3o-tlxZFNdwy5vRAXHOVnmCLIf2GReK5zTDRK3BP4-CW8cjdIf9ZLtAFCGBAxF8lTEpmBSeAzn6BKF5cTRP2wzANU5I-pRQfiiO21ssCdfg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ODY2ZGE2MjEtMDQ1Zi00ZDU4LWJiOWQtYjE3NmQwNzdiZGY0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564527620" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTkxYWY2NGEtMDc0MC00MWQzLWJlNWEtZWFhZmIxZWIwYTY4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="19" it="0" lt="19" ct="0" ts="1587564527616" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWFmZDFkMjMtZTNlZi00YjJlLWE1YmEtMmEwZjM0NzMxNTkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564527622" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWUxNzBhM2UtYjFhOS00ODQ4LWFjMGItYTI3NWU0ZDU4MGUw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564527621" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWM3MjM1ZWYtMjYxOS00NDEzLWIyYjItZDY0ZTEwZjRlODdk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564527623" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTQzMGY5NjAtNjFhYy00NmU2LTlhNzMtYzNiMjk5NDJkNWJj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564527622" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTliOGM2YjEtMTA3MS00MTViLWFkZjAtY2NlNWZjODJiMmMw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="0" ts="1587564527620" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTIwMTczMDEtMjVmZS00NzgzLWFhNDItNzAxNTg3Mjg4ZTcy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564527624" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjVkZGYwNDEtMWM2Ni00OWRmLWI3YzEtZjJmZjQzZDg0NGQ0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564527622" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTkzNTIyMWYtMmQwNi00ODhmLTg1NDEtZjA4Yjk4NzMyYWE0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564527622" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDA3ZjcwNjMtODVjYS00YjhjLWJmZmMtNTUzYjYwMmI3NTQ0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564527622" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Njk3OTcyNWUtMzc2YS00MmQ0LTk1M2MtZTk3MTEyY2E1MmJm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564527623" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjcyOWE4NzAtZTFjOC00ZjM5LTgwNTItNjkxYjM2NTk0YjU2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="416" it="0" lt="413" ct="0" ts="1587564527225" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-62" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGFlZjdjMzYtMzE0MS00NTQzLWE5MzMtN2RiZDQ5MTc2NDc4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNSwianRpIjoiSUQtVG9rZW4tMTQxOC1YNlFFaGd4ZHpMbnpScnhkZE5ZQm9sZVUxNzhmUVk0WCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rsWe3Jb8Q_8PmznQvxE0FzJ8aFfGru3DFVmQ-rraPLMKJEevtlvU2bW9npIW2fJAyCobdYyOf0g7-1NVReAYrdqCLeGr5rMCN8PggkyLYvgLSXTCrEJulDNEKaAOuQAXcW-KoT1IK5HQ0T9g7cVGcfSMto3nk0tfpjs3meFeUdPwdYw-6_K4VFB2wb75kl6pYlTH6gipS0wCfo4HjJBIAHOGr5NkeG-UEeg4SmXzq1TQPz92OT8ns3tIMTKrLbjS33TNazuEaZc9OtUWbGFOUV_enCGsGs-4ru-j_5v_VZtkZzV-PnjaCKe1bA8SIDZl_IpP6YqWnDBnUKTymK0lgQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OTdkMjE2NGEtYzVlNi00MGVjLWE2YTMtNTdjZmQwYmFjMjE4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="0" ts="1587564527625" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTY3ZDIwMjItMDNkZi00NmVmLTk5YWYtMjM1Y2ZlZjFlY2Uw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="613" it="0" lt="611" ct="0" ts="1587564527030" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-7" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmMwNTdiMTEtYzIxZS00MmRhLWEwNTItNzE1NjY1NGE0ZjM2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM3My1kMkd4bVM5cUJRY3lNSk9VYllncWFWdFphVFRrd2ctYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LEOcxp6D5K2xj2XWg2w7BBH1pUJLSItg5UAkizCk7nynFRSR-cYHHsY7p26fcU7sGGIjNplXhrjTCXqS0fwSJKAcAswv93-mkYhDIW3a_EjiUFxVYiTjEURGmud4RLPuaMgLcMyroh3BLT8INI61LMpVam4MG8j9FeDsEzVkJ-X-BGwGbHNkg06Vo2pBxtI44C9NoN9qpSH3_zuxqw1rVJe7xHI-cXkS3tS-_qSO1sD2Bv9_Red5l1LU5lC4Ydwv0zlvUktV4PNoWVz0qqPVt7hG3YNvRDZOtzJy8Id4nkPvNS7iqVPq1l3skx5DuMziTAbPUsA1vR5PYvsaRyMBcw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YjE5NjIzZDktNDZmZC00YWZkLTk0ZGQtMDQ4MGFjMWUyNjZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="0" ts="1587564527627" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjZmZjJmMDAtYmRlYi00MzlkLWE2ODItYjkxOGNhZTdmOTNm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="0" ts="1587564527627" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzI0NTljMDQtMGNlMi00MGNjLTg3YTYtYzY0NGNiMTc2NzIz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564527626" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzFlZDE5YzUtMjM0Ny00YjZlLWEzYzgtMWMzYzI4MTMzYzAw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564527630" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzQxMDFmZGUtMzRmNS00NjI5LWIxOTgtMWJlYzFiMjQ4Yjhh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="0" ts="1587564527627" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTcwZGNhMjktZTg4ZS00ZGZlLWFiZDYtM2QyZmQwMjIwOWRh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="573" it="0" lt="572" ct="0" ts="1587564527072" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-21" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTIyY2JmNTMtODBlMy00MDIwLTg4NzctNmQ2NzhmYzUyNTBl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5NC1rcUc1WG1MYzhjSmNFay1XUEJQbzdudWRqSDBIMi1FWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Bu-ByFp5uX15-o9PtNJZsLsVj5taGWnUteynj4JwV6XVHjWkq-stuMugYseGaKyMo4fWnJBCclmYTX75i9-9ewH954OFUjoicrpp416QoiXRczTbzFDzSAWGoxEFnuKL5yvm-2jqd1yNcgHIYyRHLlt3x2gdKX490n2Tg2m9pPe9p2LkaNbmlbQNjKUwLrI4A6vLC6YWoci5LZZLA9rWfq-zLddWYDs7wOpSwepCgt9XMwMltzbI-bu9hDnWWuUeDhrcgZXjWhKcb3oQbpk9Qn4ZLBNqMYL1mc9wA5MLR-TJWhv4EGsIIUMJeKGxueFPrV1oWQLM9oQNZXX3-Q4ygw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=M2NmODA5NjUtODA5ZS00ZTBlLTgzYjgtMTYwZWYyZTY1Y2Iw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="670" it="0" lt="669" ct="0" ts="1587564526975" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-30" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTAzMTJjNDEtMDRlMi00Y2VmLWE1M2EtNzZjOTQ0ZmYwNmVh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2OC1jZFdtQ0E4Q0RDZmszQ2VENjNIaGZmemNMOXctWFROYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RqGZ0aFBWSAD_I9iigJZKr6ly9l1ntYsFtoVtLgmb0gFPRieRSX7NkANdIcGaMaE9FwCvXzVwrWsTlB0ILgAPyL327iWcNnrqYOCR4NOmcGl11bMqRjH58hHjyD3Sm_644aXoBHrkqfpQaV-a84JE2l7C38v1-0tcLy345vyAQfMRGm1ASXJzvrVmipF8pSrRRPEwa463-_wkfjWtB_Cgkl5DV8YvncAqyLbzjID2qm8gvoKl2daddstt6eN1eNldAK7kUzrmmqrpWh6TWYBbJKdTI-8Icep5XGyh6I-soo8KpDzhA_2vAUFCXWWGcsQNrw1yIcuKDv1W2SK3w5zBg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MjJkNzVhNGItZjUyZi00YmIzLWI4Y2QtNmE0YzgyZDNhNjlh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564527631" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDA4NDJlYzUtZDA4OC00MDNlLTllMTctY2QzZWVhYmEyNWJl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564527628" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2Q5Mzg3MTctMDgzOC00M2Q4LTlmNDItYjgwZmY4NTUzOWNi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="729" it="0" lt="729" ct="0" ts="1587564526917" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjIzMGFlZjgtNDBkNC00ODBmLWEzNGMtODcwN2ExYmU3NmQz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0NC1lQzV6aUFGOFEtVU9CSXhiWUZDODVsbk8zUHJUUzJ4QyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DrdkYCfly6aBTTm6P01tF-sr92GQJFBGrsnfWBx-mNhLt4rPMjzsOnGMOe3bodhuwNPhhaK0wYPEWII4UsxKQnn8XGbAfYP7XuighI_aZbVgY45fOSAKfdPWf0Hw-BX1rwl4XaXV2VraqCUKf8mRtFV-Wl5Sx8OERGo_12l9Zhlz3GgPUtQ5f4DoAPppDf7C5ouqyPoR6P5MM7jNilSisKHQ4nFGIzDk2cMnLXHVOw36YdaThGq8QcElqYTKs4vJwuckwcasSyv1Ne3HqIIsSi5j5z1XHRjYUaU9Og87kC76g-rUI8St8v3PxiVFjrymqKY_fid0_Zid8orpIa52QA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OTMyZTg4Y2YtY2U5Mi00NDVkLWFkNWYtZjljZmMyMTA5NWMy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="690" it="0" lt="688" ct="0" ts="1587564526957" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjQ0MzM4NDAtM2EyYS00ZmM0LTllNzgtZTRkMmE5YjExYzll; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1Ni1SSEVlYTY1c3RHa0N3WjIzNUVOblhNOFljRjRNd00tZSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LaWTrAeorFrLJBP4yzYBOfFr-R2q4I0FGV_VShoRjxhIKgxTXsQrRUKZ5i0GHjs0puGDUT3bP3v3pg5KgV0jVjRyP5FsZiSgtUgdsiEefKTRON73o8gOslrzDhovtYN42llNZBdJ1dUwmaVVt7hmF1rzeYtSz5-Kodvog7TsduVM35-rPkvuZxYMwrnz3YCUpLLGLf6caPGAFRGSKLIYP7xQ9B-bejDqUiwFsJJ2kdtITFKgrmBEemEXHgfGq2eurMFKFTI40pZMDWQ3wNAHTj9kDlOfFE-vIGXaGrIjgZ94pAZDqeuaUG3504FrJpiUvA_qrbId0Gx03R9-x-8_Bw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Njg1ZWNiOGEtMjRhZC00YzdjLWJjMDAtNzFjZDY2ZTUwMjhi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="276" it="0" lt="274" ct="0" ts="1587564527372" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-96" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDFjZDFkMzItZjZjNi00MGVjLWI5ZDMtYmUyZjc4NGIyZGQw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4Ni1qOFdsLW5jenN0MkRjVGFCZXF4VlZTc1NReWhWZXR2NSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.od9fKnrW4GRmd9dzTtzzwOFVDAjh3Q1yXFA8u_iAM1vzT6oNtTu90YiErcv5-TCk37kzjJn0byfnuubr_IkWahnSnXEyfDMZQnY4h60tCT-9BKT6jUP05a_Kdg0KdSC_i65SHEcb1U0b2OglsCANBleihnF0JTNYZjeyT1AdQTSfvl0JtFwAwkW1of7gX2uQ9EJahYazbC5pmk_2GRKSY57rUYg7Bf0M4qwqotoWzoCbYWBp5AEtUPPRAltwflU5b3bzU6MPhqto4ANZme0b7nJz_5e9J-_vdom6jyFEkCZitjBD68OZsVqe_XYwiIx9pYFGFDtHKkLUtwVdtc5VFQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2YwNTVjNjgtMjE4OS00NGM5LWIwMjQtZDk2ZDcwNTc5MDZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="683" it="0" lt="682" ct="0" ts="1587564526965" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-16" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzVmZjJjMDgtODVkNy00NWM0LTljZDMtODhlZmYzNGI5YTBi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3NS0wTU94RkRJSDgxZDdIbmlVaVhhaWtzVWFNZmVUb1dNViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YnQWfja5frq_ZOFpg30AQ5wFmiFsJ8wj-6GJ8gfX1dApSi5bdd8EweBRb93gip9BMuh7ysqmaSvImAkjPAtHPHimr-L7FYKKnA0rLr4gcC_VVofBa45-nuT_GouOAqjKlfhfw_801-_bXCER7oAZ9UMK2Uil_FcBAEQXSgGJQVbE2JcDh-9-5QjyOPbQ88o_YWvZmKke_FOYIGLpNWkRvcysMkdWi9xcODkFHyF3vZwIcFNysiU8ySh7TdZ94_ZqwUw1GRrcob_vm5OKQjCOf9yYq9XctysV3u7PcsN_ckQD8Dvow91yRUAQl6HGsxD3YOIqk1sFM8TmCyKeJGv5TA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OTUyYTc4NzktNzk4ZS00NDBlLWJiNjItZTJiZWUwNmRjNTNh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="423" it="0" lt="422" ct="0" ts="1587564527225" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-66" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTcyYmEzYzYtMGI5Zi00YWI2LWJmNzItMzllMzg5YTk5OTkx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM5Mi01VTFjeXFic09LNXp2R1U1WExSVDNYSkpmbVdnRS1VWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iztF5w0ZPd4DM2gPEnuuIJSnCT_RBF6vcOvlIw3CNXK5_HC2c9JiI7U3u7hnInirs67QSD3B5hVY4RPfMqacNlp-MpDhzy6L4RkNt1AuyYb62DXmlEGi3oo89mY7kHgVeRNHw0ck-356vXPkBpvopI_YV_6eB-hpLZhFrtCNvbozKvuijTTdrsyxuuK2LSWcPQKkUi0HLxJ7oyMmu5pglhptKLD97s4DfUJmXYIGjgdHLR4RCEdfptyZVyVHh2hvsR8n0N4-9yKc1KvCC1FDbFl7jiN1i6NLtef0gSiEhzpL1NQ8t6KusAzkaZXeH9BVvxA9aUMCWLV-tGl3HFfmqg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NzFjMWY5OTItNjc4Ny00MTk5LTk4NWMtN2VhOTg2MDJjMmU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="576" it="0" lt="575" ct="0" ts="1587564527072" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-100" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTUwMzhiMWEtOTY0Zi00NDlhLWEwMmYtMWUzZmMwYTcwYzI1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxNywianRpIjoiSUQtVG9rZW4tMTMzOS1IUVE1VTlVcllVUGFybTF6V0tNcVFFeE0tOUgyUVlUNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YjHaDpTOnbjc03hLJfRBNOBt_h4Z8ja4iAKSbYr9EZxrKakguahdZlwAo6pldWf5ikKxLIoTLZhX_f1RLX6p2JLphnVdxRhTmAoiu6lmnEcKW3stXdepg2HVv-SlpasJtcX6eBh5Gei3g1gQPizKDHinbTWTwbiKMulqVfTsMBDdOPd87HVOujkLZ-tSrqycvEkQhdto4mpPuM9E0yv3OjOmi-tlTf_V0WsCKkXuevbXBRmGcjMtGuYbELloWrMagojOknHmD8z274QfjtdYlX8YhCMLkjteuF5JoeHaeYuFhDEo6V9YV0y6VhZM0KZlnPHwl6AFyHstPdKtOjzlMQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NmNmMDJmZDctZjk3Mi00ZTgwLWI1MzAtMDRiZWYwM2YxODYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="620" it="0" lt="618" ct="0" ts="1587564527029" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-22" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTg2MDg2YzAtOGZmZS00MzY1LWIyMTQtNWIxNTFmYjhkZWY5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3Ny1mdUZHSXFOMnkxVllKQm9zd1VqT3lXMDhTQVkwLUY2TyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.JsrwvZ-piOP_WG0dOf66zZ7y1buRfQiv-aTav_7nPiEiEC0tzVCsQnS0OwsmiC54a9zq7mIhICCaSzQuL3iqFgSswgV5ui8CjxKpu-fcAIM0yhTAIAsvCtZiTbvfXEaoYtzlYgnelFSLGM_00gm-q41hS_QirD0RqcWIaRiCoHEH1voISc_S6xNBPzqCe9ijxA6NQHi3YI-BmI8SwjIGG0WYFcjOu7pLvDoOyAtTIhChx7kTr4fgP3vFqc5lOzgt04y8eZKRh-IdEu2Qm0xohxcpj7KslTJYUK-pyHu-JR4A99Lq-GA9XjjDuw4kRSq--5DbHTPwRatKLwUWwvDjaQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NDVlZWM1MzgtNWZmZi00MjI4LWIxYWUtZWZiNmFkMWEwZGQw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="731" it="0" lt="727" ct="0" ts="1587564526917" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-71" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDg5MzFkNjItM2E2ZC00MmQwLWJkNmItOTIyNjkzMDlkNjU5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM0Ni1pWEdNRzJUSTBQYmVvR1o3V3N0YXItc3FxajlGMHltViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YVTdQAYmZdbVXlTm5xhwT4JJ4QPWy-moT07b7_wvxfVtcPFUc8eZJ0I7OCvo8LC-d96zaPqZApd69vmLiWPPC5V646OpK15rhDHO-db79gNTZfHdhpI3UOFEtgdQUGHWydkYcJU-4Ge_BTb5_gEv4JdOJfZ1kwRT7-NMxgRr3GQgNlufGtI6-UTZuXWDgW7XoOJ1jrkr_f0NK5sJMGb80Jmyn6dG3or03Vt6dPvYKCQcGJnSZ_DqDkG03fpYDUVrFn-BVmnaRkfG7bCgiTIlC4_6SEHxplpXse6nnkDG0FviBPrRiVosGqXQ2fEv6E6_RtQE6c7KqIvTmlQygS0Wog
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDhmOWY2YWMtYmQ4Yi00OTg4LWExNzYtYmYxZTcyZjhjNzlh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="323" it="0" lt="320" ct="0" ts="1587564527327" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-26" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGYxMTc3NGYtMGYwNS00NTFmLTg1NWEtY2MxOWJiMjA4MzE0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQxMi1QWTREalpHWFprNFFyT2xPbDlSZkRFVkwxSUZ1WFB1TyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Cg6no6ua8V12zwJ-xs9ZrasAJax5p2ZvAI8fxQ-bPOl2hXS-4VFSGG1n12B6engQ2HaEGa28XhgcICN_xtotONwCvecGDAQiRVMXzzyc81nRrb2UmYFSFjAhujFTsjpyCCB6yf-pgorruSQ3Ctc8oK2hYfxQaIacWeVsiZusAING9yNF31x4SYobdAkeh2SLcZ9LyB7JdQ6MY166PBgqCxJeYdbWVHCu8c-wQQ4t8d44Wo7EZ19_iVZew3CGsWTL_e2NZw5hfS_RiOo52ztUHTp43SOojyXa9SR4fE_grD4r5HQqtIkjRX3gfjZewyeJg3S8HUs9bWd2lmi7m94lOA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NWJmOTIyZDQtZDJlYi00NDA0LTg1ZDctNWRkMWQ5Yzc3ODdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="0" ts="1587564527631" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDZhYzc4NzAtZGRkOS00YTY3LWI1MWEtODAwZmUyZjQ2MGFh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="720" it="0" lt="717" ct="0" ts="1587564526928" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-58" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Yjg1ZjZhOGUtODk0MS00N2EyLTg2NzctNzczZjMzNjhlYTJl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM1MC0yRm9mWVItTzRFZWxxQm1nY2FUOHZ4UVRrYlNEZmF5QyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QWsbl0qzcAlrrWGnNVDGpH6ooX51REVx7YriSu2axt5I8y0PKp6mabMwFCyffhbMmuASuphKuCNKwOYSeeyihBSL20VkTSAPLtOMoTPofYyZW7EQSyyGYrcYFsVPtq9p_07W40yTyZsznUDd1UxpBWyrLqjOqgZK0t9F4baBpk8Bt4enuD0G6fpeOnEWJ3qH2Hn2De9khBYrV-Ab2s86wnWDA2F0t_0cCK84UpBsGcMK6ErVH8PW2funJBgMI9SsiZxGmNqrrd0Wlbfgfaf3XVJ3P1o_43C1QGE9utUOQGqw6pxPLKLQRVCnFm-SnBO8y3rSIdCULMsvyXCXrLcCtA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MmVhY2U4ZDEtNjY1OS00N2FmLTg1MmQtYmE5MWNmMTA3MDkw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="336" it="0" lt="333" ct="0" ts="1587564527315" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzA1NzU2MzMtZjdhMy00MWNjLThmNjgtYzczODAyMmZmYzRl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3Ni1GWG0tS1luT2F6SlVGY0RiTTF6cmdTdDVtWEFhNDBCYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.W7t_M93FrO0AUR4G4z5m80jw5ZgmCXmp4zVe7hSxkdQ_LNYacJVJmMNHhDVuO3_JkuyAZtzSeSm_ZLEsGZSiTEQuHjTSOq8I3blMzVVQsxVCK8zzg5JnZLuqokjOyYosiRZIuxOBEOphVcBueI2HyedSGSqWdf_QQ8PIczMYVH8sqUVZ0GlOHrPHpJcdKuVwBJAKJgswk5KF9-3kDS7b1lBR8ii1pAD0IWB-WTGSULe-ghZoY-ajAnjdTkJ5GMpDW4SxApn64KSANlil1rYWcwiwJEMvfUJevgGlzveSkGBg3Qo-hOmNgsE2tow8n0pitpqwqb6EUZ-yLS0kfPVX5Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NmYxMTExZTctMmRhYy00ZmMwLTkzZGItY2E0NWViNGEzMWNi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="566" it="0" lt="563" ct="0" ts="1587564527085" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-99" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTRmZjRkYzUtNTczZi00ZGFiLTkzMWQtOTI1ZGY5MGRlNzlm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4NS13MEQyTjJPOEdMUmlYZVlEZTJqMVNmYUg3djV6QUp3LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NAleEXkVh-K5t3dAy2mW5UzlB5-81qKtXiYCmz_i_dxUfoljkNoXSIdmNJlUfBGefYoFIbARJxxH23Tg4l0edHyNcWCHAmagLaVj4zseut7UBbnqknr5_ks98tKZe7iMuS8XyXV0IplmJ2vBB9yb7RMSqrtMybMT2zgVoHYDJ3pHOiOXnrLKG-qG1aiVA6pyd1dsI8ImXJiTQC4v4T3NYdqe1AhPeRgRqb_nVngc5Oa5ndN5F0maZnDWInKq52m2TrlriisKUKLypM3FJEm0MVihMcd9hZEaicehjt13J4arFX3ZB2B59dvrha8yIA9fWa6L2-zO8HKRQ1GFVx9nCw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NmZlNTQwMzMtYjFkNS00NjJhLTk0ZTctNmQxZDkwNjJmZjgw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="504" it="0" lt="501" ct="0" ts="1587564527148" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-82" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTk0MTA1NzYtZmIwNS00N2JkLWJmZTUtNTA4MzBiNmVkOTM3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTQwMC04aEcyTmhWeUFiZDhBTkI4OTJxSHc1V3gtLUhxOW1iUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DkSHYyBDl2HE1hiQLR6q0GceoVWYIhhLUtPi29SChq2qRfvBtQuCfA2hkNb8qqC9EIZjNHfwC2rqV4uopu9D7AXGSWgALX-SqExOl8V3nutS9ID6-b7WVfpl-LiCCersBmYRR_QnEcUKfS4Bvj9hHY7kehRg9PNHjOTsiyvIEW1_hd9w70n8p2gHzQgfsJ9MAtAOfb7mIsLk9hsmeb092p1de_CZgaIIm0vspgHjsfG5p9nzmPWrr73A-zHe8_XUcoZAs5Es2YXRbgLv9XIoJE20KhSYGKYgFWIxAqURf4F-H2k9_WjjEwenr52CiVqa6wHt06shqT21NgAvmkEzQg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDE5MTQ2NzMtOWQ3ZC00MGJmLWI2M2MtNDdhMzkyZGIwMTg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564527634" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODgwODgwZjktYzkzZi00YmI5LTlkMjAtYWYzNmJmNWZhYjAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564527635" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWM2OTBmNTAtMzkxZC00YzdiLWJkNjItMjZkNjM1MmE2N2Ux; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="19" it="0" lt="19" ct="2" ts="1587564527634" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjU2OWNiMDItMTU5Ny00MWVlLThjMDEtNzAyZTYwZDJhMTc1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="628" it="0" lt="624" ct="0" ts="1587564527025" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-80" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWIzYjBiZDItNTk5YS00ZjRlLWI1NGUtZDVlNzc4MmFiMzA3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUxOSwianRpIjoiSUQtVG9rZW4tMTM2Ny1lZXprUWk1MG94ZWtsZElUbkFRTXZ1THY0UXhMa0N3QyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dHTPYpsHSke3orWDW6KY-dlyQ2I7hX65hfOK1CsyUnGQE-nvvh3FyXznUAfGB7s0T5ujZVnBnXCuDb7TzwPK3HFcE0MJ6TUyrGBjHMOOc3yNU2o58mJYbL2DfocWoyV2sFrBhe_OfvcdSoOowBTUTAvdAqeb5p9kPEc_otGHaPiPl5YDKn2KrNw3tM1iZ9LXH6O78ive0UOVPfV44nigYjLqmfqzSeRpZfC5lVLInhlTKayQcU3yqz3Jmy2eFhSRs3xmy4todQulagbN98stNQzDJZFlgnUQ87Ub1EFTZugGefPLJhwqujBKc1K0jcxZg48Sv3cyqiKMAXDO1wM4Vg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDA4OTQ4YTYtZjdmYS00YmFiLTkxZTUtZGRmNzgwOWQyZjFi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="0" ts="1587564527636" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWUxNzBhM2UtYjFhOS00ODQ4LWFjMGItYTI3NWU0ZDU4MGUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564527636" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWM3MjM1ZWYtMjYxOS00NDEzLWIyYjItZDY0ZTEwZjRlODdk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564527635" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTkxYWY2NGEtMDc0MC00MWQzLWJlNWEtZWFhZmIxZWIwYTY4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564527636" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTQzMGY5NjAtNjFhYy00NmU2LTlhNzMtYzNiMjk5NDJkNWJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564527637" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjVkZGYwNDEtMWM2Ni00OWRmLWI3YzEtZjJmZjQzZDg0NGQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="584" it="0" lt="580" ct="0" ts="1587564527071" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-92" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Nzg1ZTVmYmYtZTc4My00NDFlLTk3NzItZDcyMDQ2MzBjMWFi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNCwianRpIjoiSUQtVG9rZW4tMTQwOC02UkpMVmNBLWhuRDVHVVRxMy1BQ0ZuMEVDME5JVlhBUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Xvm_4JGCNCkLSX9beA7HCf2gbUeZRLpbG23MGQ1waqxfnXTOyRUSephc41Ees2Q9AblCr2fpPX05_ylYSeIrBW2Mtz_xdc1R8vBWotFc6_DVGcN_QJ7q12zoT8Cb9-Ikk4x5umlOAsYHkTtzzo-dPzIWy4HjbhFoLBXrGBOTZukf2eEt-45L6jZ6ZTOGgh9Sf_K-erACiJ_6-5rtJhYujdIZGVmwX36kv6D6LLxIcMGZ8Qx-gmD-K-YHidNEWe5LfPho_Zth9ZoEnq0fOAfPdy-Zlm7u-MWixonEvkJfwPt0McBuOBemZT0JfaFYhnnS72QTv_OL24-MZwU0_vrPjA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ODdhYWFmNjYtODcyYi00ODVhLTliMWMtM2JlOTRmYzFiNjIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564527637" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDA3ZjcwNjMtODVjYS00YjhjLWJmZmMtNTUzYjYwMmI3NTQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="468" it="0" lt="464" ct="0" ts="1587564527187" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-24" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTQwYWI3MDYtMzQzMy00NDgzLWE3MDgtZjI5MWJkMDUxNzJi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMSwianRpIjoiSUQtVG9rZW4tMTM3OS13dndvZHJacTdkd0Njd0tzUlU0emNrWXZyM1J5alVYWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DZny4Xg2fXv1sj-01VPfyGQMKHQzqs2HxQoLHugitMp_NAW2nZdPhyxVgOajHXBY3leMhxfdekikIuMyoqi4plFj3IDHZS-8mV0-1m4j6nJc8CIDHxa3Uukn_aj1F2TUmGvcLyYOzvuxnUSMd7f61e1pIIPXF8yhTyliAqO2RP4HOuf3GkT2mB6ljmGOyAP_usK8CJtWS7E-I0w4dDdkLSDTtsB8QqHDoeAcg7TjFla-yRSfWUvDCwebpKHGFrSypfyiICi7xxcdkKklY-s1udHBi6oDj0WLn7wOJYBy98tjmPniPzoKKczKkDN8WyeJklDRforjDpLX1M-twAw05w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ODI0ZjVmNDktMTgxYS00YWI4LWFhMGItMWY4NGFiN2NlODQ5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="713" it="0" lt="709" ct="0" ts="1587564526943" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-54" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2Q2ZGVmNDEtNDljZi00OGFmLTk0MDItY2MwYTNjMzc2NDUy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyMiwianRpIjoiSUQtVG9rZW4tMTM4NC1iazEtMkw1UU1ldWtkMW4tSzVwa2U3dnJ4SHlxZFY0ciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Nw3aTNO5zMX58hdpXGDT8daA-nUSXPZ-9u7edJ2kNDO-yiZTDyV5rigrV8Zm_nmYim2YmHfekRnmlQ0ME0yberKhpNGOpiG574sczNPjDEdnz-WdiOkyJqhnf5omSC6PhPHth2Fna6ShDHYz5eqWSCPxDwRK_2gjFY7vVz6gk__cPucuQ48S6yQgFnfBbOeV1mKZ-NJHi3eKHAZgp89eJBrUK70upsmJn6PUkdloRduwC7agu-vU22d6uWW5QwzsPQp84OvyoSHO6mcSHYb5vad622n7JZb2-hnvnG_dlYZoCTyOakALJtiU2Be1XDi7JPQDFmLQCNGB3Crs0FF-nw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzcyMWY3MTYtZjJkMi00MzJiLTkxY2UtYTg2YmI1Y2FiOTIy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="507" it="0" lt="502" ct="1" ts="1587564527149" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-64" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWYwZDlkYzUtOWZmYy00MWUyLTg1MzctMDc3OGVhNjk2M2Fm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNSwianRpIjoiSUQtVG9rZW4tMTQxNy1YVjBYb2NmVUdyTlpWVDFnVmJaR2xab2JCWXI5UmVpQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qpaC9U1nyEvNwz7fvfDS3Cj4b12q3TGEOWeuZChztAw2pC9HYAlf5IaAdzoINNP7Iii1rLX7rYNd3ti0XT7wzX2kym9VjjBm42V4EiDLrzX9IGfu55Qdh-1k1te9YOUcpeZ1s2iyY5DslZBeZUjAKQLG2D9E9Bfa20xyMc9u8VQBOJCc7ZxOTonzAgqWDfgG7c4P0Th8wXvS0JwkXi8r-y8ltVLHXAjy2e9hgNI7c2kckNLlRsfHShJJTBG6n4bytwf5tTdqgcX-fmuw9qJBQLsI4g41X_TcBi1Je0Fj4hhTZzABNJIzIQQzXSM5M96HlfFKmD8d5kt_faziHWiM3A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NzhkOGZmZWUtZjZkNC00YzhiLWEwNGUtNWY5NDMyMjQyMzFi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="1" ts="1587564527641" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWJhZjMyYjAtMmY4Yi00MDM0LTg1NjItNjM5MjM4NmNlYWE4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="22" it="0" lt="22" ct="0" ts="1587564527636" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTliOGM2YjEtMTA3MS00MTViLWFkZjAtY2NlNWZjODJiMmMw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="25" it="0" lt="25" ct="0" ts="1587564527634" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTU1NmM2M2UtYzA4YS00ZjY5LTg0OTMtYzAxYjMyM2FhYWUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="23" it="0" lt="23" ct="0" ts="1587564527636" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTIwMTczMDEtMjVmZS00NzgzLWFhNDItNzAxNTg3Mjg4ZTcy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="0" ts="1587564527643" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjAxOGQyYTYtM2Y1My00OGU4LTlkYjAtMGEyMzEwZTk4MTAx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564527648" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2RjYzNlMmEtNjI2NC00YjkxLThjOWQtYmNiMDNiN2E0Y2Yy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="23" it="0" lt="23" ct="0" ts="1587564527637" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjcyOWE4NzAtZTFjOC00ZjM5LTgwNTItNjkxYjM2NTk0YjU2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564527648" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzdlOTcxOTMtMzgzNi00YmFkLWJiZjYtMjVhYTYzOGM2YjM0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564527649" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWE3MWI0YmMtNDlmYS00YTEyLWJjOWYtZjEzN2U3N2Q4YWM1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="0" ts="1587564527645" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzQxMDFmZGUtMzRmNS00NjI5LWIxOTgtMWJlYzFiMjQ4Yjhh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="0" ts="1587564527645" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmZhNzkxZjAtNzhlOS00Nzg1LTk4ZmUtMTdjMDYzMDllY2Nm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564527649" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTM5ZTZiZjgtNzlmZi00N2FlLWFiNGEtNmJlNGMzNzE0Yjc5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564527652" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGZmODkzY2QtMDViNy00MThmLTk2YmEtMzdkMDBiYTFmODE5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564527656" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2NmNmEzN2QtYjI1Yi00ZTY0LWE1YWEtY2I0NTY5YjBhYWQ2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564527647" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Zjg4OGNkYzAtYTQ0Mi00ODNmLWFhM2EtMGU3ZDI2NTk1MDg2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564527655" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjAyOTk0MDItYjE1Zi00NTZiLTg0NmQtYzk5ZGY0MTgyNTYy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="0" ts="1587564527646" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2Q5Mzg3MTctMDgzOC00M2Q4LTlmNDItYjgwZmY4NTUzOWNi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564527648" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODgwZjliY2YtZjUyYS00YjhlLTlkY2UtNTMwMWYyNjY1NDU1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="0" ts="1587564527646" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTE1NzlkNzgtNWZmNS00ODFjLTk5M2UtNDhlYWFiNWQ1ZDNh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564527652" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Mjg1MTA0NDEtNjMzMy00MjlkLWE5MDItYzcxMTI4ZmRkZWFj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564527651" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjNlZWE5NjUtZDhhZi00NmE0LTlhZTQtNDFhODY1YzBkMjE1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564527646" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDA4NDJlYzUtZDA4OC00MDNlLTllMTctY2QzZWVhYmEyNWJl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564527656" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDlhN2ZmMjktNWI5MS00MGVjLTk2MWYtOGRiOGZjYTRjZWYw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564527649" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWUwNTdhNjQtOTYxYy00MWE3LTg2N2UtZmFkOTIxOWY1NTY0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564527654" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Mjg5NmZkMWUtOTIyZS00MWEyLWExNzgtZmQwMGNlNDY0Zjky; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="20" it="0" lt="20" ct="0" ts="1587564527645" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzFlZDE5YzUtMjM0Ny00YjZlLWEzYzgtMWMzYzI4MTMzYzAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564527650" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDZhYzc4NzAtZGRkOS00YTY3LWI1MWEtODAwZmUyZjQ2MGFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="28" it="0" lt="28" ct="0" ts="1587564527637" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTkzNTIyMWYtMmQwNi00ODhmLTg1NDEtZjA4Yjk4NzMyYWE0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564527650" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Yzk0NDg2NjctYzA4Zi00ZjU1LWEwY2UtYjBjOWRiM2ZjM2Vh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564527653" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWM2OTBmNTAtMzkxZC00YzdiLWJkNjItMjZkNjM1MmE2N2Ux</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="22" it="0" lt="22" ct="0" ts="1587564527644" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjZmZjJmMDAtYmRlYi00MzlkLWE2ODItYjkxOGNhZTdmOTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564527652" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGUxZTU1NTAtMjU5MS00NDA4LWE4NDItNzEyNGIxOTFmOWVh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="22" it="0" lt="22" ct="0" ts="1587564527644" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzI0NTljMDQtMGNlMi00MGNjLTg3YTYtYzY0NGNiMTc2NzIz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="1" ts="1587564527650" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDNjYzI0NzYtMGI5NC00NmIyLWE5YjQtMjRlNjNiNjIyNTBm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="22" it="0" lt="22" ct="0" ts="1587564527645" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTcwZGNhMjktZTg4ZS00ZGZlLWFiZDYtM2QyZmQwMjIwOWRh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="31" it="0" lt="31" ct="0" ts="1587564527637" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Njk3OTcyNWUtMzc2YS00MmQ0LTk1M2MtZTk3MTEyY2E1MmJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="26" it="0" lt="26" ct="0" ts="1587564527642" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTY3ZDIwMjItMDNkZi00NmVmLTk5YWYtMjM1Y2ZlZjFlY2Uw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564527657" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWJhZjMyYjAtMmY4Yi00MDM0LTg1NjItNjM5MjM4NmNlYWE4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="0" ts="1587564527653" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjU2OWNiMDItMTU5Ny00MWVlLThjMDEtNzAyZTYwZDJhMTc1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564527656" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTViYTQ1YmEtNzMxYy00MTM2LWJkYjEtNmNhYzRlMDU1Yjcx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564527662" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmZhNzkxZjAtNzhlOS00Nzg1LTk4ZmUtMTdjMDYzMDllY2Nm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564527662" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTM5ZTZiZjgtNzlmZi00N2FlLWFiNGEtNmJlNGMzNzE0Yjc5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564527662" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGZmODkzY2QtMDViNy00MThmLTk2YmEtMzdkMDBiYTFmODE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564527660" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjAxOGQyYTYtM2Y1My00OGU4LTlkYjAtMGEyMzEwZTk4MTAx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564527664" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mjg1MTA0NDEtNjMzMy00MjlkLWE5MDItYzcxMTI4ZmRkZWFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564527663" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTE1NzlkNzgtNWZmNS00ODFjLTk5M2UtNDhlYWFiNWQ1ZDNh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564527661" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWE3MWI0YmMtNDlmYS00YTEyLWJjOWYtZjEzN2U3N2Q4YWM1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564527664" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjNlZWE5NjUtZDhhZi00NmE0LTlhZTQtNDFhODY1YzBkMjE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564527664" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDlhN2ZmMjktNWI5MS00MGVjLTk2MWYtOGRiOGZjYTRjZWYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564527665" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mjg5NmZkMWUtOTIyZS00MWEyLWExNzgtZmQwMGNlNDY0Zjky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564527664" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWUwNTdhNjQtOTYxYy00MWE3LTg2N2UtZmFkOTIxOWY1NTY0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="0" ts="1587564527660" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2RjYzNlMmEtNjI2NC00YjkxLThjOWQtYmNiMDNiN2E0Y2Yy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564527662" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2NmNmEzN2QtYjI1Yi00ZTY0LWE1YWEtY2I0NTY5YjBhYWQ2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564527665" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Yzk0NDg2NjctYzA4Zi00ZjU1LWEwY2UtYjBjOWRiM2ZjM2Vh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564527663" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODgwZjliY2YtZjUyYS00YjhlLTlkY2UtNTMwMWYyNjY1NDU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564527663" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Zjg4OGNkYzAtYTQ0Mi00ODNmLWFhM2EtMGU3ZDI2NTk1MDg2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564527663" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjAyOTk0MDItYjE1Zi00NTZiLTg0NmQtYzk5ZGY0MTgyNTYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564527666" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGUxZTU1NTAtMjU5MS00NDA4LWE4NDItNzEyNGIxOTFmOWVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564527671" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTViYTQ1YmEtNzMxYy00MTM2LWJkYjEtNmNhYzRlMDU1Yjcx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564527661" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzdlOTcxOTMtMzgzNi00YmFkLWJiZjYtMjVhYTYzOGM2YjM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564527667" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDNjYzI0NzYtMGI5NC00NmIyLWE5YjQtMjRlNjNiNjIyNTBm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="55" it="0" lt="55" ct="0" ts="1587564527626" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzZhODFiNWItNzI4Mi00Mjg3LWI3NzAtOWQ2N2RhNTRhODI1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyNiwianRpIjoiSUQtVG9rZW4tMTQyMS1yd0IzVGdXWi1yOXBSVkwzYVpRNkczOTJHVWNHWFF3cSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BQDpA9I8lIGw1BCDFORQrTRi5YEeRl7YRnQoTus-3V10QNcPRJfrYWMYtMgsLUfrWQQy9CS7O1KtZJksZkIhQlQorIim1sABHNeV4COMlMY4_Jf252fwHT9ZU3pVsiRbvXZRqaEtsupHfoPP6_JOjB1CJl7FxYhe_jB19orS7KiwvluNlkKyyJ6VNb5B_82HvdCMW3Lahutv2f3bd1YWov-8OB2rrE2YjDdk_aEEx2i8PMqelmbnDd7Otn65ij-2RUwwDfU6YUgth3jyDbYmkZqHl1blkt2Sn-dZgAcyJ3oUoIFgxU2F3IeX8eMFpOcOlLAmFWYWkaMjj7DasvHzFw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OWFkZmJhN2QtYzM4MC00M2IwLTg2YWEtNTI4ZjJjMzVhNGJk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564527681" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTFjZTFkY2MtN2YxMC00MTQwLTg5ZTUtYzQ0YTgzMjk4MTEy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564527684" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTFjZTFkY2MtN2YxMC00MTQwLTg5ZTUtYzQ0YTgzMjk4MTEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="268" it="0" lt="191" ct="1" ts="1587564527540" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-23" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a93503ae-52a3-41fe-93d9-282f40c37dfe; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="264" it="0" lt="183" ct="1" ts="1587564527544" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-76" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3e2bf50d-cee0-4e97-b6f8-71f1ff63f9fc; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="261" it="0" lt="177" ct="0" ts="1587564527545" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-68" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e901ed8f-e38e-4066-9179-d2dd41caca19; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="276" it="0" lt="245" ct="1" ts="1587564527544" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-20" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6e2448a5-933b-40a6-8c9b-cc81757f3a50; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="340" it="0" lt="236" ct="0" ts="1587564527491" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-73" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e923c3e9-0fd5-42cb-997c-eeda1e9f2496; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="321" it="0" lt="295" ct="1" ts="1587564527543" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b2515fe4-fced-433a-b73c-b2dd58351f2d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="351" it="0" lt="222" ct="1" ts="1587564527526" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-9" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=5520904f-0b33-4df4-bd7b-eeb8737d1ab2; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="352" it="0" lt="324" ct="1" ts="1587564527509" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-60" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=764ee25b-6e2e-4487-a7eb-c7e3a6897181; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="330" it="0" lt="298" ct="1" ts="1587564527546" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-45" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=17647253-e3f9-445c-a33c-157c1bb28690; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="315" it="0" lt="279" ct="1" ts="1587564527554" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-31" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2aec2b37-3e23-4407-a36b-4796327e1760; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="297" it="0" lt="270" ct="1" ts="1587564527578" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-91" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=fa8bc415-5e62-4c36-8f3a-45acc343f0d3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="334" it="0" lt="290" ct="0" ts="1587564527546" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-97" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=050186ca-cd84-4bf6-9296-29da9d37cdc5; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="332" it="0" lt="294" ct="0" ts="1587564527559" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-39" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=63cc92af-cdcd-4dd5-9a3b-3a4e40290a3e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="325" it="0" lt="288" ct="0" ts="1587564527546" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-74" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a38e6b50-c53d-4798-8454-03f8229b1f96; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="357" it="0" lt="310" ct="1" ts="1587564527516" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-14" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d599605b-a60e-42ec-a20b-a0839b09055d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="353" it="0" lt="298" ct="0" ts="1587564527508" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-90" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9307870d-af26-4598-9000-3f4a5ca31144; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="308" it="0" lt="258" ct="1" ts="1587564527550" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-34" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=333d7616-a042-41f1-ba4c-ec4fed1ad929; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="306" it="0" lt="249" ct="1" ts="1587564527559" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-85" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=4b36bec5-5a20-4329-86db-d6e12755418c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="357" it="0" lt="325" ct="1" ts="1587564527536" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-12" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ea3d9bb1-48d4-4307-b272-8447f9810835; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="348" it="0" lt="310" ct="1" ts="1587564527541" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-33" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9063b0cc-a930-4200-8c94-1597003b70a1; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="330" it="0" lt="289" ct="1" ts="1587564527558" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-94" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=bbdc6dc4-506d-4d1f-97af-4a7e90b41ffb; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="315" it="0" lt="282" ct="2" ts="1587564527591" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-42" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2df1ccee-a539-48a3-9d58-fd13c78be8b3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="231" it="0" lt="204" ct="1" ts="1587564527677" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-26" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=86b1bbab-8c38-4170-9724-9f4cd096c2b3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="555" it="0" lt="50" ct="1" ts="1587564527382" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-19" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=cd23c037-a140-487d-96d5-1744fb99ab9f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:46 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="497" it="0" lt="443" ct="1" ts="1587564527538" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-98" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6583610f-7966-4401-98b4-ad66de07e825; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="424" it="0" lt="216" ct="1" ts="1587564527665" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-1" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=fca390a7-9c82-4afa-81f5-f96b11d918b2; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="502" it="0" lt="284" ct="1" ts="1587564527593" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-28" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9c108ad6-b7d5-4c63-b23f-587d35d257cc; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="437" it="0" lt="227" ct="9" ts="1587564527660" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-47" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d3c12eda-eb2b-4905-8ef0-984b6da9c244; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="424" it="0" lt="214" ct="1" ts="1587564527669" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-6" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6333247c-8c0c-4c2d-924c-235008f92ace; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="425" it="0" lt="218" ct="4" ts="1587564527665" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-36" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7752764d-9312-405c-91de-9c2401a49030; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="438" it="0" lt="227" ct="0" ts="1587564527654" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-86" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e9682682-2dbe-4ee2-a18b-bc5dc95ae5b1; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="422" it="0" lt="215" ct="0" ts="1587564527678" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=64b53078-0e54-42e6-9d7c-c3dc927d53d4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="440" it="0" lt="209" ct="0" ts="1587564527688" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2806369f-db03-4cfd-973d-47d8aa4c4d23; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="457" it="0" lt="223" ct="5" ts="1587564527675" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-58" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c9062bfb-ae94-4b2e-8530-c40b90762a26; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="451" it="0" lt="221" ct="7" ts="1587564527674" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-7" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=49aeaf61-6082-487b-b3ef-9e59fb13ba48; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="668" it="0" lt="662" ct="1" ts="1587564527511" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-84" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=429a1e26-b6e2-4e9a-bdde-0b144bb5278c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="507" it="0" lt="235" ct="1" ts="1587564527676" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-80" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2f312d95-4e44-4e24-8960-67bb1fb7344f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="529" it="0" lt="249" ct="3" ts="1587564527663" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-48" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a7957ca5-7d76-4a00-ba94-2296692baca4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="552" it="0" lt="256" ct="0" ts="1587564527659" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-72" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b774385b-8f2e-4efe-b322-3622f099fc16; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="532" it="0" lt="244" ct="5" ts="1587564527675" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-30" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=cb8a057e-0fc2-4a03-a13f-bc5e5bc96748; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="575" it="0" lt="281" ct="1" ts="1587564527630" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-15" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9fdc7e22-2813-4441-9e23-3125ec16db07; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="554" it="0" lt="221" ct="1" ts="1587564527676" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-96" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=29ca77ef-524d-4b54-8b8f-31f00d7c9528; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="558" it="0" lt="417" ct="1" ts="1587564527679" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-99" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=07dc1013-82fe-4902-8273-bbbc81b6fd1d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="589" it="0" lt="229" ct="3" ts="1587564527666" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-2" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9c76f08f-a549-46a3-b8c7-6ecff0be7c04; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="646" it="0" lt="454" ct="1" ts="1587564527628" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-69" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=239b9945-71f5-4798-98e1-197d4c93315a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="661" it="0" lt="488" ct="1" ts="1587564527616" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-5" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=911551aa-a9f1-4e76-a3cd-d339e2908253; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="608" it="0" lt="409" ct="0" ts="1587564527673" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-22" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=15782613-742e-4a29-9304-c39a62c1e9c4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="624" it="0" lt="535" ct="10" ts="1587564527659" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-78" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=48774a94-aa44-45bd-8e15-c9d9ac03b73c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="616" it="0" lt="578" ct="1" ts="1587564527664" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-77" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=07108202-056e-4085-90df-cba7606353d3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="618" it="0" lt="408" ct="2" ts="1587564527667" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-55" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d1be4a10-01dd-4bc2-b4a1-fbe51649c79d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="723" it="0" lt="576" ct="2" ts="1587564527667" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6770bce2-3228-4971-85b7-80b544aae230; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="715" it="0" lt="571" ct="0" ts="1587564527674" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=dd67ead3-22be-41b3-8080-212f97e8c9a5; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="803" it="0" lt="531" ct="4" ts="1587564527676" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-24" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=858c2b3c-740c-4af3-89b9-c58c7a3a069f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="809" it="0" lt="531" ct="1" ts="1587564527672" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-21" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=dab7b859-63ae-41dc-b8dd-af8947300995; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="809" it="0" lt="580" ct="1" ts="1587564527675" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-82" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=bcd509fc-3ed8-451d-8a2c-5860910ccc20; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="805" it="0" lt="569" ct="1" ts="1587564527680" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-71" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a9c2be82-0aef-43f9-9c23-7c6ed30505cc; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="869" it="0" lt="506" ct="4" ts="1587564527619" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-43" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9c27a9f1-d98d-4fc3-8d7c-cef8297e9a13; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="833" it="0" lt="451" ct="2" ts="1587564527655" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-83" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=5bcbd40e-3da2-452e-b6b3-0788b4cb2a9d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="838" it="0" lt="556" ct="3" ts="1587564527654" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-8" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=607532af-56ed-4610-877c-8df798c1049f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="877" it="0" lt="520" ct="1" ts="1587564527616" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-87" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8ff4eb2c-074e-424b-9fa4-d10daa7a41e9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="819" it="0" lt="522" ct="4" ts="1587564527676" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-100" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=56fb5ecb-6b7d-400b-a9e5-3555587d1520; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="844" it="0" lt="570" ct="1" ts="1587564527630" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-32" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e9883230-ba4a-4369-80f8-36fabb9814b2; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="832" it="0" lt="592" ct="0" ts="1587564527669" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-62" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=eb07f2c3-d358-4498-bb04-78562ea5deb6; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="841" it="0" lt="467" ct="1" ts="1587564527655" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-67" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=71161933-52d5-4e08-9612-51fae4b3b25a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="825" it="0" lt="470" ct="2" ts="1587564527652" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-61" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3922b665-9c80-4fac-9c03-3419dd8c1eb5; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="842" it="0" lt="575" ct="1" ts="1587564527658" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-17" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e4d1fa3f-b604-4c27-a1f8-e29db941b62e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="830" it="0" lt="606" ct="3" ts="1587564527653" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-44" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=239e553b-0d60-4bd4-b6a4-c3a54c03ae7c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="813" it="0" lt="583" ct="2" ts="1587564527678" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=012a11cf-b6c0-40cf-b36d-27d4d1aa0ed4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="823" it="0" lt="596" ct="1" ts="1587564527655" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-89" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d1dc4f88-56c8-480e-b46d-66b43443f048; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="807" it="0" lt="436" ct="2" ts="1587564527668" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-75" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a4dedc21-1f30-4002-a04d-24272eff377d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="823" it="0" lt="588" ct="1" ts="1587564527675" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-66" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9bd2d94e-6d40-4357-a1ae-6105afa240a5; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="849" it="0" lt="832" ct="4" ts="1587564527665" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-49" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=99b14b10-a0f7-42f4-8b03-98e1574cf300; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1655" it="0" lt="1654" ct="0" ts="1587564526876" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1715-sgxTQUABu-h5OominmR3-fQH2ANqagUW6RnJmvyHo-2e5DeYrP7F8goAFf-b9Fx2n8Qc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1715-tCsUJnsWy2ibRUA1xQrlHTMKh2kc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d73a72d0-ae7a-4714-8b4f-d3ccb0de6465</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1715-tCsUJnsWy2ibRUA1xQrlHTMKh2kc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="863" it="0" lt="836" ct="0" ts="1587564527666" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-10" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=5514a68a-e916-4692-8d80-2fdf26b25260; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1656" it="0" lt="1656" ct="0" ts="1587564526880" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1714-9tFGEJr4c1dLWEIzVA70EFgngz5D64QUnlXKdLAUkJhec3xBZLjxDv3-8vjTGuit0VYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1714-DyedMoii7TV7Y0gHfkVfopQ3EGEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=43bee7da-a8a4-43f2-a3cb-6c88d1bc9519</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1714-DyedMoii7TV7Y0gHfkVfopQ3EGEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="1091" it="0" lt="1073" ct="1" ts="1587564527635" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-11" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=eddbc222-faf9-4328-a5e8-49f711099d25; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1856" it="0" lt="1856" ct="0" ts="1587564526877" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1716--BX8AmIYsvWrAGmopidMvItBtLuWTTZJHU4P91VaTt0W-27928gotyirAZlXrgUsKfYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1716-2sjZ0D1fUDRwixB0LDZ9tDBS7ikc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8c208dca-50be-4481-bdcd-ab8fd1076452</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1716-2sjZ0D1fUDRwixB0LDZ9tDBS7ikc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="1109" it="0" lt="1084" ct="1" ts="1587564527622" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-41" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d762ac71-7746-4f3f-b548-1078da4e25a7; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1055" it="0" lt="1038" ct="3" ts="1587564527677" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-54" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8f3b138a-d538-44b3-86ed-feb9f5301223; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1062" it="0" lt="1042" ct="1" ts="1587564527668" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-52" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a94d9484-6cb2-4758-bec6-bdfa79d86bcb; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1046" it="0" lt="944" ct="1" ts="1587564527679" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-16" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6c58663a-fcac-442b-b606-e31f76031605; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1048" it="0" lt="1026" ct="1" ts="1587564527679" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-64" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3b2e99b1-03b0-49e8-ab70-97cbf9a7cdc8; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1080" it="0" lt="1045" ct="7" ts="1587564527661" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-29" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=1b17bb3d-f97b-46d2-8584-daa7025e56bf; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1075" it="0" lt="1040" ct="2" ts="1587564527678" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-92" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9663e21d-4dab-46d2-b317-c23a43060c5e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1903" it="0" lt="1903" ct="0" ts="1587564526879" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1717-42w6n0-dXxxF1q446LI6MAvtIXNmQRDSndLcMg1j78xwgZ7q-9JmLOSpTO9XWKyRu8oc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1717-BHnrpeQSqtlJpfQolupwQ2D9AKYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:47 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3acbc447-e8af-4e86-9be2-eb618d67f675</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1717-BHnrpeQSqtlJpfQolupwQ2D9AKYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="703" it="0" lt="703" ct="1" ts="1587564528782" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDBmMTJhYjMtYjQ3Yi00NjdlLWFmNjgtMjExODk5OGI2Y2E2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1717-BHnrpeQSqtlJpfQolupwQ2D9AKYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="753" it="0" lt="753" ct="1" ts="1587564528733" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTMzOWQ1MTMtMWMyYS00NjVlLWI5MjQtZTM1NDRlNzUyMWQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1716-2sjZ0D1fUDRwixB0LDZ9tDBS7ikc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="955" it="0" lt="955" ct="2" ts="1587564528531" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Njc3MDA1NjEtNWY4Zi00NGVlLTg3MGMtNWYxNzUzYjQ3NmMw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1715-tCsUJnsWy2ibRUA1xQrlHTMKh2kc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="951" it="0" lt="951" ct="1" ts="1587564528536" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTEzNWEzNTQtYzkwYi00NGRiLWI2OGUtODE5MTc1ZGUxNzk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1714-DyedMoii7TV7Y0gHfkVfopQ3EGEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564529486" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTMzOWQ1MTMtMWMyYS00NjVlLWI5MjQtZTM1NDRlNzUyMWQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564529487" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTEzNWEzNTQtYzkwYi00NGRiLWI2OGUtODE5MTc1ZGUxNzk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564529486" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Njc3MDA1NjEtNWY4Zi00NGVlLTg3MGMtNWYxNzUzYjQ3NmMw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564529486" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDBmMTJhYjMtYjQ3Yi00NjdlLWFmNjgtMjExODk5OGI2Y2E2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564529494" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyNC1leVB0MHROSS11RUFZU3k1SWtCNXlLYllXS1c3dTNmcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.b0lT4CCP6L0njhpejJlwxyksEgBPxx5tJyN4daLvR_GvY7Yw9fC9xToydwgB04UD5phWzzjsFLOccmykbavGFGx5GMNN2cwfB23Lg0p0lI0RS4LIy_L9cXOKbZSDBk_50vDSXQskHV3CGmPr9mlU-2lt0YOYUJDYuU5IasA4tvI_bgBzyXCjrrbyp3Cl2LnSME8_QA_KmL_nsXD4vgOhFLmoFiQinA2lljjz5ier7nNFOodYEgLwP3NLi26gzQquaMpErV7-bJjh9Tpnv5CID_Wbv8dg_hm7gzbz0jyD0NFGi3BzC16hrhAH7P47qq7eu-QxN1xfdTKKBaemMdUh4g
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTEzNWEzNTQtYzkwYi00NGRiLWI2OGUtODE5MTc1ZGUxNzk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyNC1leVB0MHROSS11RUFZU3k1SWtCNXlLYllXS1c3dTNmcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.b0lT4CCP6L0njhpejJlwxyksEgBPxx5tJyN4daLvR_GvY7Yw9fC9xToydwgB04UD5phWzzjsFLOccmykbavGFGx5GMNN2cwfB23Lg0p0lI0RS4LIy_L9cXOKbZSDBk_50vDSXQskHV3CGmPr9mlU-2lt0YOYUJDYuU5IasA4tvI_bgBzyXCjrrbyp3Cl2LnSME8_QA_KmL_nsXD4vgOhFLmoFiQinA2lljjz5ier7nNFOodYEgLwP3NLi26gzQquaMpErV7-bJjh9Tpnv5CID_Wbv8dg_hm7gzbz0jyD0NFGi3BzC16hrhAH7P47qq7eu-QxN1xfdTKKBaemMdUh4g</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="2508" it="0" lt="2508" ct="0" ts="1587564526994" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1719-qgf5223IFItIN-ClalT1EBaM-dtW09z6xl9CEkupIiUE-jcwfypHIWHjQnY8n9ADyDsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1718-fE3se32krFlU0m1ySzXGnzD5wl0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=aaf0b011-2fcc-4ca3-8426-c13b8cb97dbc</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1718-fE3se32krFlU0m1ySzXGnzD5wl0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564529493" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyMy1BY2Z5OXpLWDZjWTZoc0d3UDR0TFhYQW92R2NhdC0xTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QXDgp3jfUJo_G2kIcbnWBEqW9LXvgJ1m1B1-ngnsx2eMmJyEg1Dlh46YdqxUQc7x5LRoPs-ctDXiqahn5mSekruHXF0dETPgBliZjB36gMMkjJvZlfZgfYIasDw_UJ1nKGKUnf0O-cPvPevOJmFjDS1dUXZxHnVhJGd7h-uj2fAEw71p-dQNE7-GzQUVGnbzYsILdwzF1QOulqX0kned4Ut9W6kl2DKFkd1GYP-oF0p3F8z9tMaQ1_Ms5NN39bInETGw1XLyu5CV1c0czNbA9P4gFoyTaNNmw2OEg0TmXUW8aFL6zitJlLWytD4EWjQcenJwD9lkqaFhNLc-eJRPzw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTMzOWQ1MTMtMWMyYS00NjVlLWI5MjQtZTM1NDRlNzUyMWQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyMy1BY2Z5OXpLWDZjWTZoc0d3UDR0TFhYQW92R2NhdC0xTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QXDgp3jfUJo_G2kIcbnWBEqW9LXvgJ1m1B1-ngnsx2eMmJyEg1Dlh46YdqxUQc7x5LRoPs-ctDXiqahn5mSekruHXF0dETPgBliZjB36gMMkjJvZlfZgfYIasDw_UJ1nKGKUnf0O-cPvPevOJmFjDS1dUXZxHnVhJGd7h-uj2fAEw71p-dQNE7-GzQUVGnbzYsILdwzF1QOulqX0kned4Ut9W6kl2DKFkd1GYP-oF0p3F8z9tMaQ1_Ms5NN39bInETGw1XLyu5CV1c0czNbA9P4gFoyTaNNmw2OEg0TmXUW8aFL6zitJlLWytD4EWjQcenJwD9lkqaFhNLc-eJRPzw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564529497" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyNS14RmNzYmw3S1hLN0xuN0xPSjdCUHBVZUJMU052NUl0WSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BtFLiwh0gsyRbcpSdBzf6sElbNPesl6tFqNfBtWx2H5qtAtdNiDWCUU7ePBwzGGiW7axfAQNp9xo3EYf3coFsariVK49HyKUR4LffTBmVVau4vygpjLZrtEVZkvTkRzHhtSoUBziA-YddcVZwU4z8yuCQuW9AqA2N7VM8guHZKnAIttMgrQwhhDobDa6hqbiPaSkhmMVpOZfgCvkB2Z0DZPEa_kluten_kDDKM9z5qvKHd1kla6Gi3TeVIzc3x09u4JFwsW44-CWWQaxTZtCEmKljLGbTnC7ekWJ-QyCTyvDto8Ht_9ZTgnZehKfH-ejZqMWz9esdhaGGEGxZPOGMg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Njc3MDA1NjEtNWY4Zi00NGVlLTg3MGMtNWYxNzUzYjQ3NmMw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyNS14RmNzYmw3S1hLN0xuN0xPSjdCUHBVZUJMU052NUl0WSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BtFLiwh0gsyRbcpSdBzf6sElbNPesl6tFqNfBtWx2H5qtAtdNiDWCUU7ePBwzGGiW7axfAQNp9xo3EYf3coFsariVK49HyKUR4LffTBmVVau4vygpjLZrtEVZkvTkRzHhtSoUBziA-YddcVZwU4z8yuCQuW9AqA2N7VM8guHZKnAIttMgrQwhhDobDa6hqbiPaSkhmMVpOZfgCvkB2Z0DZPEa_kluten_kDDKM9z5qvKHd1kla6Gi3TeVIzc3x09u4JFwsW44-CWWQaxTZtCEmKljLGbTnC7ekWJ-QyCTyvDto8Ht_9ZTgnZehKfH-ejZqMWz9esdhaGGEGxZPOGMg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564529498" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyMi16YjR3eDFoUWcyS0ZGMzZjVFpYdzFHUkpweS0ydG0yRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aQy9LgqPDmNdCzvMx0SajAMJ7JtZvSND1nGnlvoWMFOCYDi6EqFXTFsJ6gIrk4TUGh9_YHPlse8Vwgs83zSJKP6Ua19lkNaaCO0gzmsTJxH9S4XiORT1nxqu_UH3oe1JElMivXpAt6W_yoT0yXAwTQuUNW48K5p4GgQEp4X5v4XHPQd24_W8G6Y-RrqAHIH18JjMYRG12IPCXu9C5NgW4Fe5aGrIOpVUdJJYgp_YCvaZJa5AabU00gRT9fS36X7JzniIy6O0Vra9tPNiSIy-j7Epd9a-ribisP6NeyZZZCATLwWE-rBcyo38zoMcpjohAhLBNQC4GSgqDlfLcguevg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDBmMTJhYjMtYjQ3Yi00NjdlLWFmNjgtMjExODk5OGI2Y2E2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyMi16YjR3eDFoUWcyS0ZGMzZjVFpYdzFHUkpweS0ydG0yRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aQy9LgqPDmNdCzvMx0SajAMJ7JtZvSND1nGnlvoWMFOCYDi6EqFXTFsJ6gIrk4TUGh9_YHPlse8Vwgs83zSJKP6Ua19lkNaaCO0gzmsTJxH9S4XiORT1nxqu_UH3oe1JElMivXpAt6W_yoT0yXAwTQuUNW48K5p4GgQEp4X5v4XHPQd24_W8G6Y-RrqAHIH18JjMYRG12IPCXu9C5NgW4Fe5aGrIOpVUdJJYgp_YCvaZJa5AabU00gRT9fS36X7JzniIy6O0Vra9tPNiSIy-j7Epd9a-ribisP6NeyZZZCATLwWE-rBcyo38zoMcpjohAhLBNQC4GSgqDlfLcguevg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="112" it="0" lt="112" ct="0" ts="1587564529500" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-56" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjdhNjU3NzEtMDBmMy00ZmQ2LTljZTktOWFiYmUwN2ZkNGQz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyNC1leVB0MHROSS11RUFZU3k1SWtCNXlLYllXS1c3dTNmcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.b0lT4CCP6L0njhpejJlwxyksEgBPxx5tJyN4daLvR_GvY7Yw9fC9xToydwgB04UD5phWzzjsFLOccmykbavGFGx5GMNN2cwfB23Lg0p0lI0RS4LIy_L9cXOKbZSDBk_50vDSXQskHV3CGmPr9mlU-2lt0YOYUJDYuU5IasA4tvI_bgBzyXCjrrbyp3Cl2LnSME8_QA_KmL_nsXD4vgOhFLmoFiQinA2lljjz5ier7nNFOodYEgLwP3NLi26gzQquaMpErV7-bJjh9Tpnv5CID_Wbv8dg_hm7gzbz0jyD0NFGi3BzC16hrhAH7P47qq7eu-QxN1xfdTKKBaemMdUh4g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OTEzNWEzNTQtYzkwYi00NGRiLWI2OGUtODE5MTc1ZGUxNzk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="108" it="0" lt="108" ct="0" ts="1587564529504" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-4" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2E3MTE1NTctOTE4My00MThjLWI2MWMtYjI5MGQzY2Q4ZDNj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyMi16YjR3eDFoUWcyS0ZGMzZjVFpYdzFHUkpweS0ydG0yRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aQy9LgqPDmNdCzvMx0SajAMJ7JtZvSND1nGnlvoWMFOCYDi6EqFXTFsJ6gIrk4TUGh9_YHPlse8Vwgs83zSJKP6Ua19lkNaaCO0gzmsTJxH9S4XiORT1nxqu_UH3oe1JElMivXpAt6W_yoT0yXAwTQuUNW48K5p4GgQEp4X5v4XHPQd24_W8G6Y-RrqAHIH18JjMYRG12IPCXu9C5NgW4Fe5aGrIOpVUdJJYgp_YCvaZJa5AabU00gRT9fS36X7JzniIy6O0Vra9tPNiSIy-j7Epd9a-ribisP6NeyZZZCATLwWE-rBcyo38zoMcpjohAhLBNQC4GSgqDlfLcguevg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NDBmMTJhYjMtYjQ3Yi00NjdlLWFmNjgtMjExODk5OGI2Y2E2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="109" it="0" lt="109" ct="0" ts="1587564529503" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWVkMzU5OTUtMTg2OS00OWVjLWJmZDItNzMyOTE0Yjc4MGNj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyNS14RmNzYmw3S1hLN0xuN0xPSjdCUHBVZUJMU052NUl0WSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BtFLiwh0gsyRbcpSdBzf6sElbNPesl6tFqNfBtWx2H5qtAtdNiDWCUU7ePBwzGGiW7axfAQNp9xo3EYf3coFsariVK49HyKUR4LffTBmVVau4vygpjLZrtEVZkvTkRzHhtSoUBziA-YddcVZwU4z8yuCQuW9AqA2N7VM8guHZKnAIttMgrQwhhDobDa6hqbiPaSkhmMVpOZfgCvkB2Z0DZPEa_kluten_kDDKM9z5qvKHd1kla6Gi3TeVIzc3x09u4JFwsW44-CWWQaxTZtCEmKljLGbTnC7ekWJ-QyCTyvDto8Ht_9ZTgnZehKfH-ejZqMWz9esdhaGGEGxZPOGMg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Njc3MDA1NjEtNWY4Zi00NGVlLTg3MGMtNWYxNzUzYjQ3NmMw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="109" it="0" lt="109" ct="0" ts="1587564529503" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-37" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDdmNzdiOGYtZjIwNi00M2I5LWE1NmQtZjdkZDk1YWFlOGY3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyMy1BY2Z5OXpLWDZjWTZoc0d3UDR0TFhYQW92R2NhdC0xTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QXDgp3jfUJo_G2kIcbnWBEqW9LXvgJ1m1B1-ngnsx2eMmJyEg1Dlh46YdqxUQc7x5LRoPs-ctDXiqahn5mSekruHXF0dETPgBliZjB36gMMkjJvZlfZgfYIasDw_UJ1nKGKUnf0O-cPvPevOJmFjDS1dUXZxHnVhJGd7h-uj2fAEw71p-dQNE7-GzQUVGnbzYsILdwzF1QOulqX0kned4Ut9W6kl2DKFkd1GYP-oF0p3F8z9tMaQ1_Ms5NN39bInETGw1XLyu5CV1c0czNbA9P4gFoyTaNNmw2OEg0TmXUW8aFL6zitJlLWytD4EWjQcenJwD9lkqaFhNLc-eJRPzw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTMzOWQ1MTMtMWMyYS00NjVlLWI5MjQtZTM1NDRlNzUyMWQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="142" it="0" lt="142" ct="0" ts="1587564529613" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDA2MGIwOTYtODI3Ny00MmE4LWI5YWEtMzc1MDZiZmVmYTlh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyNS14RmNzYmw3S1hLN0xuN0xPSjdCUHBVZUJMU052NUl0WSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BtFLiwh0gsyRbcpSdBzf6sElbNPesl6tFqNfBtWx2H5qtAtdNiDWCUU7ePBwzGGiW7axfAQNp9xo3EYf3coFsariVK49HyKUR4LffTBmVVau4vygpjLZrtEVZkvTkRzHhtSoUBziA-YddcVZwU4z8yuCQuW9AqA2N7VM8guHZKnAIttMgrQwhhDobDa6hqbiPaSkhmMVpOZfgCvkB2Z0DZPEa_kluten_kDDKM9z5qvKHd1kla6Gi3TeVIzc3x09u4JFwsW44-CWWQaxTZtCEmKljLGbTnC7ekWJ-QyCTyvDto8Ht_9ZTgnZehKfH-ejZqMWz9esdhaGGEGxZPOGMg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWVkMzU5OTUtMTg2OS00OWVjLWJmZDItNzMyOTE0Yjc4MGNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="143" it="0" lt="143" ct="0" ts="1587564529612" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-4" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2U4NGQ3YWQtZGNmYi00ZjEzLTk4ZWMtNWYxZjQ1ODQyYjI0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyMi16YjR3eDFoUWcyS0ZGMzZjVFpYdzFHUkpweS0ydG0yRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aQy9LgqPDmNdCzvMx0SajAMJ7JtZvSND1nGnlvoWMFOCYDi6EqFXTFsJ6gIrk4TUGh9_YHPlse8Vwgs83zSJKP6Ua19lkNaaCO0gzmsTJxH9S4XiORT1nxqu_UH3oe1JElMivXpAt6W_yoT0yXAwTQuUNW48K5p4GgQEp4X5v4XHPQd24_W8G6Y-RrqAHIH18JjMYRG12IPCXu9C5NgW4Fe5aGrIOpVUdJJYgp_YCvaZJa5AabU00gRT9fS36X7JzniIy6O0Vra9tPNiSIy-j7Epd9a-ribisP6NeyZZZCATLwWE-rBcyo38zoMcpjohAhLBNQC4GSgqDlfLcguevg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2E3MTE1NTctOTE4My00MThjLWI2MWMtYjI5MGQzY2Q4ZDNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="143" it="0" lt="143" ct="0" ts="1587564529612" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-56" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzczNTI1OGItNzc0MC00MjhlLTg2OTktODIwNDQ4ZjQ4YjM1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyNC1leVB0MHROSS11RUFZU3k1SWtCNXlLYllXS1c3dTNmcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.b0lT4CCP6L0njhpejJlwxyksEgBPxx5tJyN4daLvR_GvY7Yw9fC9xToydwgB04UD5phWzzjsFLOccmykbavGFGx5GMNN2cwfB23Lg0p0lI0RS4LIy_L9cXOKbZSDBk_50vDSXQskHV3CGmPr9mlU-2lt0YOYUJDYuU5IasA4tvI_bgBzyXCjrrbyp3Cl2LnSME8_QA_KmL_nsXD4vgOhFLmoFiQinA2lljjz5ier7nNFOodYEgLwP3NLi26gzQquaMpErV7-bJjh9Tpnv5CID_Wbv8dg_hm7gzbz0jyD0NFGi3BzC16hrhAH7P47qq7eu-QxN1xfdTKKBaemMdUh4g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NjdhNjU3NzEtMDBmMy00ZmQ2LTljZTktOWFiYmUwN2ZkNGQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="256" it="0" lt="256" ct="1" ts="1587564529502" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWY3ZjI4ZjUtMjFiMC00YjQ5LTk2NjUtZTcwMjg3YWIxNmFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1718-fE3se32krFlU0m1ySzXGnzD5wl0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564529756" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTg2NjdlM2MtZjg1NS00N2VkLTgxNDMtMTMwYTlmNDFlN2Y3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564529755" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWE3NDhkOTItN2I4Zi00NGU4LWFkZjUtODI2MjAyMWIyN2Zm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564529755" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmU3NmIzMWItZTUwYy00NzUxLWJkMGItZWQxNmE0NzBjMTU3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564529759" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTg2NjdlM2MtZjg1NS00N2VkLTgxNDMtMTMwYTlmNDFlN2Y3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564529758" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWY3ZjI4ZjUtMjFiMC00YjQ5LTk2NjUtZTcwMjg3YWIxNmFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564529760" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmU3NmIzMWItZTUwYy00NzUxLWJkMGItZWQxNmE0NzBjMTU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564529760" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWE3NDhkOTItN2I4Zi00NGU4LWFkZjUtODI2MjAyMWIyN2Zm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="155" it="0" lt="155" ct="0" ts="1587564529613" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-37" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGVmMWYyZjctMDdlYS00ZmZiLTg3MGMtM2ZiOTI0ZjRlNmZj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyMy1BY2Z5OXpLWDZjWTZoc0d3UDR0TFhYQW92R2NhdC0xTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QXDgp3jfUJo_G2kIcbnWBEqW9LXvgJ1m1B1-ngnsx2eMmJyEg1Dlh46YdqxUQc7x5LRoPs-ctDXiqahn5mSekruHXF0dETPgBliZjB36gMMkjJvZlfZgfYIasDw_UJ1nKGKUnf0O-cPvPevOJmFjDS1dUXZxHnVhJGd7h-uj2fAEw71p-dQNE7-GzQUVGnbzYsILdwzF1QOulqX0kned4Ut9W6kl2DKFkd1GYP-oF0p3F8z9tMaQ1_Ms5NN39bInETGw1XLyu5CV1c0czNbA9P4gFoyTaNNmw2OEg0TmXUW8aFL6zitJlLWytD4EWjQcenJwD9lkqaFhNLc-eJRPzw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDdmNzdiOGYtZjIwNi00M2I5LWE1NmQtZjdkZDk1YWFlOGY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564529765" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyNi0wVGwyZnM0SVhEdlBVLVhLWUZRUndsYmJ2bVk4MEh3WCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ea4bkaIVBi7NF6ArR9E6N-5UT6oHgfxHBSBpupudIPZ01opovHsoX_dbEDQtmMh5N7W3wb5-f1MYGdxrxPXYnZQ4ghGDXh2s0BFKIpJkmnHHeUL1XpEVtnMmMMi7-CbCjMHftv9CHyuTpKP9ASbeCC41Ts14cGd03H907w08ku90OTFQTcWtReyCkyHeuPp539iyBCgBnXj9yX-U_yW-C6TwI2Nt_KGAZl3byd-4TWDKtPMBOGyWpUcoGUxCeJxgX1ABqTR1gyebEMEGUBQIvr9ICvJ_7aPiafl-VrytEwD9lky8MGG2dzdhcHnQ6K5-ZdObYgXOBWp4ZiF5UJFuBQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWY3ZjI4ZjUtMjFiMC00YjQ5LTk2NjUtZTcwMjg3YWIxNmFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyNi0wVGwyZnM0SVhEdlBVLVhLWUZRUndsYmJ2bVk4MEh3WCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ea4bkaIVBi7NF6ArR9E6N-5UT6oHgfxHBSBpupudIPZ01opovHsoX_dbEDQtmMh5N7W3wb5-f1MYGdxrxPXYnZQ4ghGDXh2s0BFKIpJkmnHHeUL1XpEVtnMmMMi7-CbCjMHftv9CHyuTpKP9ASbeCC41Ts14cGd03H907w08ku90OTFQTcWtReyCkyHeuPp539iyBCgBnXj9yX-U_yW-C6TwI2Nt_KGAZl3byd-4TWDKtPMBOGyWpUcoGUxCeJxgX1ABqTR1gyebEMEGUBQIvr9ICvJ_7aPiafl-VrytEwD9lky8MGG2dzdhcHnQ6K5-ZdObYgXOBWp4ZiF5UJFuBQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564529769" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTcxYWFjMzItYzMzNi00NzEzLTlhN2ItZTAzZDc5NWQ0ZTlj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564529772" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTcxYWFjMzItYzMzNi00NzEzLTlhN2ItZTAzZDc5NWQ0ZTlj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="54" it="0" lt="50" ct="0" ts="1587564529770" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-93" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2MxNTIzNjQtMzE1NS00ZmY4LTkwZGItNzUwMThlYWM2YzBl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyNi0wVGwyZnM0SVhEdlBVLVhLWUZRUndsYmJ2bVk4MEh3WCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ea4bkaIVBi7NF6ArR9E6N-5UT6oHgfxHBSBpupudIPZ01opovHsoX_dbEDQtmMh5N7W3wb5-f1MYGdxrxPXYnZQ4ghGDXh2s0BFKIpJkmnHHeUL1XpEVtnMmMMi7-CbCjMHftv9CHyuTpKP9ASbeCC41Ts14cGd03H907w08ku90OTFQTcWtReyCkyHeuPp539iyBCgBnXj9yX-U_yW-C6TwI2Nt_KGAZl3byd-4TWDKtPMBOGyWpUcoGUxCeJxgX1ABqTR1gyebEMEGUBQIvr9ICvJ_7aPiafl-VrytEwD9lky8MGG2dzdhcHnQ6K5-ZdObYgXOBWp4ZiF5UJFuBQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YWY3ZjI4ZjUtMjFiMC00YjQ5LTk2NjUtZTcwMjg3YWIxNmFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="180" it="0" lt="38" ct="1" ts="1587564529775" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-37" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0cf7f87b-650e-46ac-a15c-1593a3a5b93b; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="282" it="0" lt="84" ct="0" ts="1587564529766" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-4" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=45165c6c-d263-49c8-8365-c22f8d210acc; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="228" it="0" lt="228" ct="0" ts="1587564529824" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-93" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGU0MjhhYjItMzA5Ny00Y2I2LThjYmItNzY5YzhkZTg5YzE4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUyOSwianRpIjoiSUQtVG9rZW4tMTQyNi0wVGwyZnM0SVhEdlBVLVhLWUZRUndsYmJ2bVk4MEh3WCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ea4bkaIVBi7NF6ArR9E6N-5UT6oHgfxHBSBpupudIPZ01opovHsoX_dbEDQtmMh5N7W3wb5-f1MYGdxrxPXYnZQ4ghGDXh2s0BFKIpJkmnHHeUL1XpEVtnMmMMi7-CbCjMHftv9CHyuTpKP9ASbeCC41Ts14cGd03H907w08ku90OTFQTcWtReyCkyHeuPp539iyBCgBnXj9yX-U_yW-C6TwI2Nt_KGAZl3byd-4TWDKtPMBOGyWpUcoGUxCeJxgX1ABqTR1gyebEMEGUBQIvr9ICvJ_7aPiafl-VrytEwD9lky8MGG2dzdhcHnQ6K5-ZdObYgXOBWp4ZiF5UJFuBQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2MxNTIzNjQtMzE1NS00ZmY4LTkwZGItNzUwMThlYWM2YzBl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="282" it="0" lt="96" ct="0" ts="1587564529766" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=f4877d19-c2d4-43d5-a189-c8df791b8046; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="285" it="0" lt="89" ct="1" ts="1587564529764" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-56" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=4d7df864-ef8f-48d3-a180-286bd234babd; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="2554" it="0" lt="2554" ct="0" ts="1587564527502" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1720-QNKv2yY6JH60uEK8wRNky1cqNNj90OLx3mpeh-Yyjqs4w-o60sEnJDo4GplMk6NnpIIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1719-IdcfUAmAbOf2sOzm6H3PLT64k7wc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=18e5b7c2-85dc-432d-be72-a19c21c29812</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1719-IdcfUAmAbOf2sOzm6H3PLT64k7wc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564530052" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmY2MGU3MWMtNjI4My00ZWIwLTgyMDYtNGYyMjc5OThkOGVi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564530056" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmY2MGU3MWMtNjI4My00ZWIwLTgyMDYtNGYyMjc5OThkOGVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3099" it="0" lt="3099" ct="0" ts="1587564527057" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1721-oSIHbdgQu4XGYD9Yhg7WAj5PF2m0WAi4abE5kWKUwrZlHW-LYwwQgvBe7a7X8aPHRLQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1720-gAHT39ghyNRdhh6YdAL3Xs8y-CUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a0d2eb2b-3495-4871-87ea-7a05344a2dba</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1720-gAHT39ghyNRdhh6YdAL3Xs8y-CUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="198" it="0" lt="198" ct="0" ts="1587564530056" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzJkMjg0YjMtNjQ0OC00MThiLThmYTMtMWRkNzUxODU3MTRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1719-IdcfUAmAbOf2sOzm6H3PLT64k7wc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="195" it="0" lt="191" ct="1" ts="1587564530060" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-93" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0210f904-7b4a-436a-b34f-2f9c0e9f266e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564530254" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzJkMjg0YjMtNjQ0OC00MThiLThmYTMtMWRkNzUxODU3MTRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564530270" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzMCwianRpIjoiSUQtVG9rZW4tMTQyNy1lU3JtVmp2WDkydm1rQmU4QUM4OWNsOE5OMElmRW1jNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.W76J1ZfbQYPuW0sIzbRP_clo-uD29zeJQgg7OYIoWjjEkDA6lYlD1Cl1_dFogMcj96pMR1GtQN4byaKQwc48xgomqHWocp8epQdxo1WVaNERDwaqwa3rTgOAErUNMpGyonJ60y2w1sfvdH8bSHlHTGSlSBfItMmLGMxE4t_F7aItyx2wtVVEeO3a82wW5VJWVALVbNwvh-GfG_qeUFsNJMnkz8DEzjgzBxYbcVd_qLF-S7VVfBvQ5ZTRd9tnvzZhBJs8nCeEmXVq0QJ5x-bySDQpLlwWoH3CIdhBukkZtrp4U8YtBM8NZtHUmT9g2lhMB0eLYNxk3i9ywzQwNHbuAw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzJkMjg0YjMtNjQ0OC00MThiLThmYTMtMWRkNzUxODU3MTRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzMCwianRpIjoiSUQtVG9rZW4tMTQyNy1lU3JtVmp2WDkydm1rQmU4QUM4OWNsOE5OMElmRW1jNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.W76J1ZfbQYPuW0sIzbRP_clo-uD29zeJQgg7OYIoWjjEkDA6lYlD1Cl1_dFogMcj96pMR1GtQN4byaKQwc48xgomqHWocp8epQdxo1WVaNERDwaqwa3rTgOAErUNMpGyonJ60y2w1sfvdH8bSHlHTGSlSBfItMmLGMxE4t_F7aItyx2wtVVEeO3a82wW5VJWVALVbNwvh-GfG_qeUFsNJMnkz8DEzjgzBxYbcVd_qLF-S7VVfBvQ5ZTRd9tnvzZhBJs8nCeEmXVq0QJ5x-bySDQpLlwWoH3CIdhBukkZtrp4U8YtBM8NZtHUmT9g2lhMB0eLYNxk3i9ywzQwNHbuAw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="162" it="0" lt="162" ct="1" ts="1587564530157" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzU4YWRlNjAtZmEzMi00NmI3LWE4MTUtNzc2MmNhMGY3ZmZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1720-gAHT39ghyNRdhh6YdAL3Xs8y-CUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="49" it="0" lt="49" ct="0" ts="1587564530275" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-3" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzZmN2ExODgtMmJjZC00OTMwLWEwYzctYWQ5OTZlZDExMTJh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzMCwianRpIjoiSUQtVG9rZW4tMTQyNy1lU3JtVmp2WDkydm1rQmU4QUM4OWNsOE5OMElmRW1jNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.W76J1ZfbQYPuW0sIzbRP_clo-uD29zeJQgg7OYIoWjjEkDA6lYlD1Cl1_dFogMcj96pMR1GtQN4byaKQwc48xgomqHWocp8epQdxo1WVaNERDwaqwa3rTgOAErUNMpGyonJ60y2w1sfvdH8bSHlHTGSlSBfItMmLGMxE4t_F7aItyx2wtVVEeO3a82wW5VJWVALVbNwvh-GfG_qeUFsNJMnkz8DEzjgzBxYbcVd_qLF-S7VVfBvQ5ZTRd9tnvzZhBJs8nCeEmXVq0QJ5x-bySDQpLlwWoH3CIdhBukkZtrp4U8YtBM8NZtHUmT9g2lhMB0eLYNxk3i9ywzQwNHbuAw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NzJkMjg0YjMtNjQ0OC00MThiLThmYTMtMWRkNzUxODU3MTRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564530319" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzU4YWRlNjAtZmEzMi00NmI3LWE4MTUtNzc2MmNhMGY3ZmZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564530325" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzMCwianRpIjoiSUQtVG9rZW4tMTQyOC1xNURFTklhNGd0TnRjdVRHVjBZRXVTUHRmNkJhbGJpSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.anL3A5LYQc_m9GkwlsXY3DMV1_CdSrSMN3c8vveP1rK-5AOJI2fbyOgROLv_vE9zSRn-3OcXwx9NkP7fpRLv-WwD8WdIblNz7kbovkyfwuFYaDRhYTKS2162W_4aFETG00JmluQXDyt70f1OMZAfJ7JI9tar_33TGu_qIxpUS-I17b5sPI7MwNd7rJuj-gQbF6iCVwkvdECQdLXdshQioqmKpXyJamcdxZbz_8B668Cm6Dw_W14vKzud1H_EmZxb5JTH8z1U604YZehUBPJy1pegkVjKzJJGRm_zTO-Fv6Rxnb3n67-7zv5eDHU8LqLJ5KheGhPz9We4VwA6Uvv_4A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzU4YWRlNjAtZmEzMi00NmI3LWE4MTUtNzc2MmNhMGY3ZmZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzMCwianRpIjoiSUQtVG9rZW4tMTQyOC1xNURFTklhNGd0TnRjdVRHVjBZRXVTUHRmNkJhbGJpSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.anL3A5LYQc_m9GkwlsXY3DMV1_CdSrSMN3c8vveP1rK-5AOJI2fbyOgROLv_vE9zSRn-3OcXwx9NkP7fpRLv-WwD8WdIblNz7kbovkyfwuFYaDRhYTKS2162W_4aFETG00JmluQXDyt70f1OMZAfJ7JI9tar_33TGu_qIxpUS-I17b5sPI7MwNd7rJuj-gQbF6iCVwkvdECQdLXdshQioqmKpXyJamcdxZbz_8B668Cm6Dw_W14vKzud1H_EmZxb5JTH8z1U604YZehUBPJy1pegkVjKzJJGRm_zTO-Fv6Rxnb3n67-7zv5eDHU8LqLJ5KheGhPz9We4VwA6Uvv_4A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="48" it="0" lt="48" ct="0" ts="1587564530330" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-40" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmI0YTUxNTktZTg3Ni00Njc5LWFjYTctYjhlYjZlYTdlODg1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzMCwianRpIjoiSUQtVG9rZW4tMTQyOC1xNURFTklhNGd0TnRjdVRHVjBZRXVTUHRmNkJhbGJpSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.anL3A5LYQc_m9GkwlsXY3DMV1_CdSrSMN3c8vveP1rK-5AOJI2fbyOgROLv_vE9zSRn-3OcXwx9NkP7fpRLv-WwD8WdIblNz7kbovkyfwuFYaDRhYTKS2162W_4aFETG00JmluQXDyt70f1OMZAfJ7JI9tar_33TGu_qIxpUS-I17b5sPI7MwNd7rJuj-gQbF6iCVwkvdECQdLXdshQioqmKpXyJamcdxZbz_8B668Cm6Dw_W14vKzud1H_EmZxb5JTH8z1U604YZehUBPJy1pegkVjKzJJGRm_zTO-Fv6Rxnb3n67-7zv5eDHU8LqLJ5KheGhPz9We4VwA6Uvv_4A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NzU4YWRlNjAtZmEzMi00NmI3LWE4MTUtNzc2MmNhMGY3ZmZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="55" it="0" lt="54" ct="0" ts="1587564530325" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-3" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzMyM2MyNGEtOTQ2ZC00YzJjLWIxMTktYzZhMjBjOTEyMzk0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzMCwianRpIjoiSUQtVG9rZW4tMTQyNy1lU3JtVmp2WDkydm1rQmU4QUM4OWNsOE5OMElmRW1jNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.W76J1ZfbQYPuW0sIzbRP_clo-uD29zeJQgg7OYIoWjjEkDA6lYlD1Cl1_dFogMcj96pMR1GtQN4byaKQwc48xgomqHWocp8epQdxo1WVaNERDwaqwa3rTgOAErUNMpGyonJ60y2w1sfvdH8bSHlHTGSlSBfItMmLGMxE4t_F7aItyx2wtVVEeO3a82wW5VJWVALVbNwvh-GfG_qeUFsNJMnkz8DEzjgzBxYbcVd_qLF-S7VVfBvQ5ZTRd9tnvzZhBJs8nCeEmXVq0QJ5x-bySDQpLlwWoH3CIdhBukkZtrp4U8YtBM8NZtHUmT9g2lhMB0eLYNxk3i9ywzQwNHbuAw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzZmN2ExODgtMmJjZC00OTMwLWEwYzctYWQ5OTZlZDExMTJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564530381" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGQyYmU4NDAtNGEzZS00NWIyLTkwYTgtMjBmNjVjYWFmMmQ1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564530384" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGQyYmU4NDAtNGEzZS00NWIyLTkwYTgtMjBmNjVjYWFmMmQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="53" it="0" lt="53" ct="0" ts="1587564530378" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-40" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDg1MWE0ODktMTQzOS00MjkxLThiZDEtMzc2YzYzMjFiYmNi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzMCwianRpIjoiSUQtVG9rZW4tMTQyOC1xNURFTklhNGd0TnRjdVRHVjBZRXVTUHRmNkJhbGJpSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.anL3A5LYQc_m9GkwlsXY3DMV1_CdSrSMN3c8vveP1rK-5AOJI2fbyOgROLv_vE9zSRn-3OcXwx9NkP7fpRLv-WwD8WdIblNz7kbovkyfwuFYaDRhYTKS2162W_4aFETG00JmluQXDyt70f1OMZAfJ7JI9tar_33TGu_qIxpUS-I17b5sPI7MwNd7rJuj-gQbF6iCVwkvdECQdLXdshQioqmKpXyJamcdxZbz_8B668Cm6Dw_W14vKzud1H_EmZxb5JTH8z1U604YZehUBPJy1pegkVjKzJJGRm_zTO-Fv6Rxnb3n67-7zv5eDHU8LqLJ5KheGhPz9We4VwA6Uvv_4A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YmI0YTUxNTktZTg3Ni00Njc5LWFjYTctYjhlYjZlYTdlODg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564530431" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2UzM2EyNDMtMDFjNC00Y2JkLTgzZTQtMWQ1NjJkNWQ5NWVm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564530435" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:49 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2UzM2EyNDMtMDFjNC00Y2JkLTgzZTQtMWQ1NjJkNWQ5NWVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="542" it="0" lt="95" ct="1" ts="1587564530388" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-3" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e68e51f0-03fb-473e-98c1-884931ecfa44; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:50 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="3528" it="0" lt="3528" ct="0" ts="1587564527899" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1722-LT9xPy-ZwqKvIcv0ctht73lCwaiBy6ehg3UG8-ZPlB2GfpaKhYRE6WPLzBNpqxeMCMUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1721-MD2cS20qY4zOXAoR9aoYLXEzDOQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:50 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=63cc92af-cdcd-4dd5-9a3b-3a4e40290a3e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1721-MD2cS20qY4zOXAoR9aoYLXEzDOQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4298" it="0" lt="4298" ct="0" ts="1587564527130" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1723-GeDrutMAfA2FJdPxTmnsf0UFdFSkxhGF7-H8oeuK6zUrjoIHdPWXOtlbaq7aCDVdR8gc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1724-YngBQBbS4Vhe10pERv5ZhoSwa7Yc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:50 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=69c4d390-e0af-417d-b5b8-5a639d3accf7</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1724-YngBQBbS4Vhe10pERv5ZhoSwa7Yc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="3034" it="0" lt="3034" ct="0" ts="1587564528395" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1726-Yn1GZCQEiowGNhT3V78-RqoHuCZA2-k06DANxBvWV6pTWkzmQ3xjVVSt6HgvWN-w--0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1723--0BI3Rpwd0D06QDArbtivzmGg-4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:50 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=dd67ead3-22be-41b3-8080-212f97e8c9a5</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1723--0BI3Rpwd0D06QDArbtivzmGg-4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="3139" it="0" lt="3139" ct="0" ts="1587564528290" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1724-y0WkSQcWJtenVwtZ8rjPf9p3UYM6y26iPfjp1vWKQ7V1ZTm4iQSFZqxTjznbdiIB5XQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1725-LaKom7UFOiFX-5PfvdBZwpNHwxUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:50 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d1be4a10-01dd-4bc2-b4a1-fbe51649c79d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1725-LaKom7UFOiFX-5PfvdBZwpNHwxUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4243" it="0" lt="4243" ct="0" ts="1587564527887" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1725-tIounNngJOw8cCWyJEslq8wMnZqdCep5pui2Gao0AC1Z7HAgm-HvZueRQ1onrIXCdp0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1722-ozoFdyugN4zkGORjhyN2dKCZLkgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=17647253-e3f9-445c-a33c-157c1bb28690</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1722-ozoFdyugN4zkGORjhyN2dKCZLkgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="1690" it="0" lt="991" ct="1" ts="1587564530439" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-40" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=1c73284a-b312-4cf1-8338-db45baa9af2a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:08:50 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="3944" it="0" lt="3944" ct="0" ts="1587564528287" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1732-H7dSgvYHqWndQTkKioqKHkk4C2WJNfjE-tBumAcllMDGdVQmhZ5QUwguOgJmph0nnQoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1731-M5gd5cr0tjyUeho-bJS6LZ6O2TYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=911551aa-a9f1-4e76-a3cd-d339e2908253</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1731-M5gd5cr0tjyUeho-bJS6LZ6O2TYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4321" it="0" lt="4321" ct="0" ts="1587564527910" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1728-1evSqXScbwHJShBci0qOVvDtYWVlXBsUusJm21zvIVxYF126IY2WkwxqgMWM9gK4Ljsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1726-6R7DcOc7BLtB47d9pI3QUQ5qwWsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2df1ccee-a539-48a3-9d58-fd13c78be8b3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1726-6R7DcOc7BLtB47d9pI3QUQ5qwWsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="3748" it="0" lt="3748" ct="0" ts="1587564528484" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1729-rNdXLAfSWhkCVuWFPISiNkU63hPcEv6QXb6IijgK-v3VGm-gdTF-GBtrc7uZZdjyz9kc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1728-NNYETN9JQAPohSec2-XZQH1LR-Qc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=dab7b859-63ae-41dc-b8dd-af8947300995</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1728-NNYETN9JQAPohSec2-XZQH1LR-Qc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="3987" it="0" lt="3987" ct="0" ts="1587564528245" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1730-ET0Hza-z0ihW84wWOiN-KCceR4fB8stFm8pMWuLs8VY8AyDUk4FWSUVRNRxC19u2eAkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1730-MICOzclhVOnxeNHv7iUSF43PRgQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9fdc7e22-2813-4441-9e23-3125ec16db07</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1730-MICOzclhVOnxeNHv7iUSF43PRgQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="1830" it="0" lt="1830" ct="2" ts="1587564531428" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDYzNTU3Y2EtN2VjZS00N2YxLTgwYjAtNzA0OGM5OWQzOGVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1724-YngBQBbS4Vhe10pERv5ZhoSwa7Yc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="5001" it="0" lt="5001" ct="0" ts="1587564528289" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1727-BA3hb8XsAZs-ZyVAgceRcDXOjYTuOZ4UJdxaHl3-62DScB-3ejH-jAERylPJtKvGOrIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1727-L7CyA2DykWtz16jv6cYXhn4Cj74c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=48774a94-aa44-45bd-8e15-c9d9ac03b73c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1727-L7CyA2DykWtz16jv6cYXhn4Cj74c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="5054" it="0" lt="5054" ct="0" ts="1587564528236" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1731-G65N6AX-XS93JSREdfVC-1zaXi3LSwgrw9HdlsBlFL3U8yD4j4dTcOntlUaxHA9RoJoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1729-Wu3jZekWhuwLcPv4Z4BNYusHb24c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b774385b-8f2e-4efe-b322-3622f099fc16</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1729-Wu3jZekWhuwLcPv4Z4BNYusHb24c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4547" it="0" lt="4547" ct="0" ts="1587564528744" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1733-yEpU3NuI3d7OhaN8L-lKZHOnypvbsoa0kPQndPYmFRrYYGCTrze7FGgA2sF2K4qa8Z4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1732-SRD6SWlEvGZ7CO0RltWmTdAfl9kc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=1b17bb3d-f97b-46d2-8584-daa7025e56bf</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1732-SRD6SWlEvGZ7CO0RltWmTdAfl9kc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="5338" it="0" lt="5338" ct="1" ts="1587564531429" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:56 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGZmODkzY2QtMDViNy00MThmLTk2YmEtMzdkMDBiYTFmODE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1723--0BI3Rpwd0D06QDArbtivzmGg-4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="5344" it="0" lt="5343" ct="1" ts="1587564531428" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-39" dt="text" by="631" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:56 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:56.780+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MmE3ZWQyNDctMGRmYy00Y2E3LWIzYTAtY2YwMzcxZGMyOTgz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1721-MD2cS20qY4zOXAoR9aoYLXEzDOQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3599" it="0" lt="3514" ct="0" ts="1587564533258" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-51" dt="text" by="654" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Content-Language: en-US
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:56 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:56.783+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDYzNTU3Y2EtN2VjZS00N2YxLTgwYjAtNzA0OGM5OWQzOGVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10339" it="0" lt="10339" ct="0" ts="1587564528040" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1737-29TA2NTNr2I3sAXE19rDj2JaeLH1fWMNFQiHf1a4XSBzEzdT-KXpZmfu8VJsQPxhYLkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1735-lCjONkQ37GooY4gnEUzau-Hlef8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:58 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6583610f-7966-4401-98b4-ad66de07e825</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1735-lCjONkQ37GooY4gnEUzau-Hlef8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="1608" it="0" lt="1608" ct="1" ts="1587564536772" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODllZmNlNjEtZGViZi00ZTkzLWI1ZjctMjViNTk5MWIyNTNm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:58 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1523" it="0" lt="1523" ct="0" ts="1587564536858" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTQxMzdkOTMtMzNiZi00YTBlLWFkOWItMDQxMmY0OThiMjEw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:58 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1614" it="0" lt="1614" ct="1" ts="1587564536767" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:58 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGZmODkzY2QtMDViNy00MThmLTk2YmEtMzdkMDBiYTFmODE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10481" it="0" lt="10481" ct="0" ts="1587564527903" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1735-a4HY80n3fAtozsv2kIUCuaMOlCNwWUkbYiuEfRz79QtdqbrQ-wDQp3eQfW2p6i1T-Ygc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1734-L4wJ5SVa5A-Z5-0-m6P5MbTNn4Yc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:58 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=4b36bec5-5a20-4329-86db-d6e12755418c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1734-L4wJ5SVa5A-Z5-0-m6P5MbTNn4Yc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="1443" it="0" lt="1443" ct="0" ts="1587564538381" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODllZmNlNjEtZGViZi00ZTkzLWI1ZjctMjViNTk5MWIyNTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1444" it="0" lt="1444" ct="0" ts="1587564538381" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTQxMzdkOTMtMzNiZi00YTBlLWFkOWItMDQxMmY0OThiMjEw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1445" it="0" lt="1445" ct="0" ts="1587564538381" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzMSwianRpIjoiSUQtVG9rZW4tMTQzMS1aZENKc0gtaHItVnE5R1IyT2doLUZrMUliZmNCRUdxdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sb-fWC2HHGGTcN_bepmaT4i0Novk3iRmfjdWtc6VL3DeVOXs5GqBHJMklzAfGimN75crLG6glK5Mr6NS58d9dGzNX9AtheCG0tpbSASwNjh8Q7E3RbuDQ_W-Xnfl5uuq1XA9y7GpY2sGiZcbR_G637QPTr_pCaRwhOuQNgxUO29eofyKXOVOgG4_B--QxujC1rKA2to0PkbN699xJQBeQUt_MiIgAjic4aQ4nABBcgKN4hatFdPHYfOp6Tmu0xCiD_ycU0QUhSyHJAL84Wy8HBFX8QSVwKXhQ8V7UH5sCRWgM9_bDin7MRjN0oG1tOu1zkM1O5xTadfTF1A9E8-y_Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGZmODkzY2QtMDViNy00MThmLTk2YmEtMzdkMDBiYTFmODE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzMSwianRpIjoiSUQtVG9rZW4tMTQzMS1aZENKc0gtaHItVnE5R1IyT2doLUZrMUliZmNCRUdxdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sb-fWC2HHGGTcN_bepmaT4i0Novk3iRmfjdWtc6VL3DeVOXs5GqBHJMklzAfGimN75crLG6glK5Mr6NS58d9dGzNX9AtheCG0tpbSASwNjh8Q7E3RbuDQ_W-Xnfl5uuq1XA9y7GpY2sGiZcbR_G637QPTr_pCaRwhOuQNgxUO29eofyKXOVOgG4_B--QxujC1rKA2to0PkbN699xJQBeQUt_MiIgAjic4aQ4nABBcgKN4hatFdPHYfOp6Tmu0xCiD_ycU0QUhSyHJAL84Wy8HBFX8QSVwKXhQ8V7UH5sCRWgM9_bDin7MRjN0oG1tOu1zkM1O5xTadfTF1A9E8-y_Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12474" it="0" lt="12474" ct="0" ts="1587564527480" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1741-fEN3DU4-F1KaTX2piLWYin1R-dqdACORewg5CDGwp7OZcQmpyMIHzJjANcQ6e5Eu-boc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1739-Afe-qOui74l2Yru03xcDL5SVhtoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=298ce595-145c-402d-afd6-d4b1b2cc0eb3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1739-Afe-qOui74l2Yru03xcDL5SVhtoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11820" it="0" lt="11820" ct="0" ts="1587564528135" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1754-hpwmWGfSUWAVJyFOM-ohxeFhVTwCf-7JghwHAXGZu9AeG17jEFP1RSzAMLMaW3Ueclsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1753-lGKo13XZsCcuA7zfZPjtnuujT4Yc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c9062bfb-ae94-4b2e-8530-c40b90762a26</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1753-lGKo13XZsCcuA7zfZPjtnuujT4Yc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12056" it="0" lt="12056" ct="0" ts="1587564527900" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1751-d8vGNhVaK--Dn8PspDj5vVfpZc6y00TTnGXsA1IX-nDmIuUzSznQcCYtxLAt-JBGg48c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1752-3RZGCVXKaYcqXJYMkfMfKv9GDdQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a38e6b50-c53d-4798-8454-03f8229b1f96</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1752-3RZGCVXKaYcqXJYMkfMfKv9GDdQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11842" it="0" lt="11842" ct="0" ts="1587564528114" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1749-yOzLoiCDd0vb4HFvFJsn57AEi2g8gc6Cdf307Kk4C-GxPIK6My6lXfrOeImlRNTV5coc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1744-hnoLM0UjmjI2ZOI4gHbZz6to7Zoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=64b53078-0e54-42e6-9d7c-c3dc927d53d4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1744-hnoLM0UjmjI2ZOI4gHbZz6to7Zoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11226" it="0" lt="11226" ct="0" ts="1587564528730" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1743-HddnJGiN8UJv6Q2nyeFihE4JCgN0-r2svoGjkB5bLWNrD7IYpOoVfDEP9vuqBACByWIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1743-ABdIZY7yFfj7xKefXb7-qhcPI-oc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=eddbc222-faf9-4328-a5e8-49f711099d25</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1743-ABdIZY7yFfj7xKefXb7-qhcPI-oc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12015" it="0" lt="12015" ct="0" ts="1587564527942" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1753-0WQLNZro7ROKS7fPtBYn0PEDYP-hgBXDwFJnrYBTQhVWAoHssLoLcJZTVTZwVxeSlGUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1749-FmT4Icc4wteLy3zHwpQEu-bZKy0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=cd23c037-a140-487d-96d5-1744fb99ab9f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1749-FmT4Icc4wteLy3zHwpQEu-bZKy0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11200" it="0" lt="11200" ct="0" ts="1587564528757" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1744--OFk2cQagUga7J-vn2mey9M-n00yaM0sVfzPmcgd-V-TZCAU4vp-1ExJRtA6NRty0R0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1747-7zoLvMhWEiweMY-MAwzCl4PHkeQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9663e21d-4dab-46d2-b317-c23a43060c5e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1747-7zoLvMhWEiweMY-MAwzCl4PHkeQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11222" it="0" lt="11222" ct="0" ts="1587564528735" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1745-tJOJFow8wAbnGoIyHqTn11i8XYYS3evkLRl8pGpinkvW5UnoPqE4lAt2VOgbzstZlaAc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1742-LmkCQzCP1f6uxIJMgFv1MoYa55sc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8f3b138a-d538-44b3-86ed-feb9f5301223</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1742-LmkCQzCP1f6uxIJMgFv1MoYa55sc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12973" it="0" lt="12973" ct="0" ts="1587564526985" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1752-72F7K2SYWSHpRqntCwJv-derG8Euyt2V3-kH5TzlF3s2JrVTMjgmne567MUzv-v7JRcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1748-jRTRFRYGeF0BJ1COPltZZIaWYowc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=36c1ff79-0108-4a1d-8db0-ea1027ebc49e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1748-jRTRFRYGeF0BJ1COPltZZIaWYowc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12983" it="0" lt="12983" ct="0" ts="1587564526975" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1718-868Y9DM5gj1neuw0rLMbpJD0zBLli3coRBjejlsLJsurBkLZrCOijPJf4keCQf1jHKIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1737-T5re8D5NK-ybBUNyB--P-YZlxGQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=771cbcff-0ad2-4993-8396-dba5db445ec9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1737-T5re8D5NK-ybBUNyB--P-YZlxGQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12472" it="0" lt="12472" ct="0" ts="1587564527486" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1740-1JiogsmaqXbTvATvrzNAUi2p08-7BWDoUzNRfDTdUCGvoPV7A2txOJOIJAn3E7F4JkYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1740-pquOu-TVr4uwze6r-8Ufd5Wbvpgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=19956cad-b766-49c6-b93c-4290fd3d5a44</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1740-pquOu-TVr4uwze6r-8Ufd5Wbvpgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11858" it="0" lt="11858" ct="0" ts="1587564528101" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1748-byjc08ztop81SVjFy7YDtKk-f2pjfcLmHu7Z8P7xu5bH0VMh1aEmq8ZU-slgCOBJ0ZAc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1750-9SHcVbvzPDdLYHbTSSRFuytKaGYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9c108ad6-b7d5-4c63-b23f-587d35d257cc</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1750-9SHcVbvzPDdLYHbTSSRFuytKaGYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11223" it="0" lt="11223" ct="0" ts="1587564528736" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1746-G-7FgroR9ky03I45E8MACahm4YwTAZSjFrT9G5hTNNQF1IH6wHJHr5JI56sDg4eXQL4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1746-iZLUrtpWQ1jb-Juji-gRFk-YD-8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a94d9484-6cb2-4758-bec6-bdfa79d86bcb</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1746-iZLUrtpWQ1jb-Juji-gRFk-YD-8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11671" it="0" lt="11671" ct="0" ts="1587564528289" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1789-WDHlSl2eDHb4aCGdKz-0ZPPmQNvApGsInxMS8tOrnVQ7tboWM6RyOQkDnva1wsxrH8sc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1775-cJemqnzSrmbZQCa1RUQURHIsPj8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=15782613-742e-4a29-9304-c39a62c1e9c4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1775-cJemqnzSrmbZQCa1RUQURHIsPj8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12055" it="0" lt="12055" ct="0" ts="1587564527905" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1738-5JC2-z0RPTms7SZSZV6yKVXaHHTw4Zv3JwUJHxtxnEr8w-xps5IpJATt5AgNTJpRum0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1738-oiuzahBDZTUbpRpl1PcXo6C-0QYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=bbdc6dc4-506d-4d1f-97af-4a7e90b41ffb</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1738-oiuzahBDZTUbpRpl1PcXo6C-0QYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11222" it="0" lt="11222" ct="0" ts="1587564528738" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1742-c4Goz5yL-tVEPwYqoE5-RLYXcRaoGvkNFR6FjzxJzjiNcjb-ojdGUKKcqV9srwilzMMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1751-QJphLy6qPdqIXcSEKIImS5joN3wc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6c58663a-fcac-442b-b606-e31f76031605</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1751-QJphLy6qPdqIXcSEKIImS5joN3wc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12134" it="0" lt="12134" ct="0" ts="1587564527826" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1776-CSgq5REMc08CFYz8HZYyOajre1JMeQZVnftkfc2co1sUBgzFw73ufNBskyoEBXJD6TMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1794-Hls605-Qj8pDtej1mck-3CB2ZnMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6e2448a5-933b-40a6-8c9b-cc81757f3a50</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1794-Hls605-Qj8pDtej1mck-3CB2ZnMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10001" it="0" lt="10001" ct="0" ts="1587564529960" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1785-oCsaDho0dP2ONfEAjKQw-47YFLyIhbgXUQmfXaHOJ5RcPPjmzVc84DA4r-RESxAKD80c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1763-y2ZcOsO5mEwgm3Ot3viOb5t1uhMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0cf7f87b-650e-46ac-a15c-1593a3a5b93b</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1763-y2ZcOsO5mEwgm3Ot3viOb5t1uhMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11466" it="0" lt="11466" ct="0" ts="1587564528495" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1739-zNxkKS6-KXGS24ZeASgcm4VhyApSMkOgjv9-LRwG--UsLdz3AIMfuegGTcxCmsJm-Kcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1741-nIFr6dCzJS-6lje13E0sgXeoQOkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=607532af-56ed-4610-877c-8df798c1049f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1741-nIFr6dCzJS-6lje13E0sgXeoQOkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11823" it="0" lt="11823" ct="0" ts="1587564528138" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1747-9KIVDtU2ta-EFbjnIC8SjP5PPIrjcFSLx4Sras5COcvv2UAj5JoilCdSLB8yfGV-ilwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1745-Ulv2yI91PEqY0iHrCsFk4K5BEPcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=49aeaf61-6082-487b-b3ef-9e59fb13ba48</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1745-Ulv2yI91PEqY0iHrCsFk4K5BEPcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12517" it="0" lt="12517" ct="0" ts="1587564527445" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1778-rtoEsH2Sa67ENhHCJA3L1GRh3Yd5vKRkuKvKaB1cEE5aTwGm0-jcr8MxCgSBMsPggb4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1760-nojwR8fBjmx0NFYjx-z33dVb3vwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=08aa3575-3bc2-4cdb-9694-94f2a6e9130d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1760-nojwR8fBjmx0NFYjx-z33dVb3vwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11456" it="0" lt="11456" ct="0" ts="1587564528506" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1818-HD-7gi0-GgClOJ-Qo16Cm10kUVmsBUthbcX1fFr2K0xw4K-Ais1CYGflhOoYCpvn-x8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1815-mjl1SW8EOZqKiM6YmjOMLx3-L7cc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3922b665-9c80-4fac-9c03-3419dd8c1eb5</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1815-mjl1SW8EOZqKiM6YmjOMLx3-L7cc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12148" it="0" lt="12148" ct="0" ts="1587564527815" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1756-4M3YWpvYv1fHJmeU8vdqSlBu12iFFXpb2sOBh24luHCcBUqHvVxgLLOiv-CRfwQwg-8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1759-rj2TVztfnwmJ5OiLa7FWTt-Mv-Ac7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e901ed8f-e38e-4066-9179-d2dd41caca19</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1759-rj2TVztfnwmJ5OiLa7FWTt-Mv-Ac7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12513" it="0" lt="12513" ct="0" ts="1587564527450" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1760-GDH0L2d5DgbhXPSumQ4WbeMhdv-XKcktTUlgZk9Af6O27h2eNcD8N21pArWwxAVlHQUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1784-4-pSD0poySes8k0FspnW1ydiCG8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a9e6f24f-90f8-438b-9b04-26414de6ee28</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1784-4-pSD0poySes8k0FspnW1ydiCG8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11832" it="0" lt="11832" ct="0" ts="1587564528131" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1773-mDaeh5ZwiH--I4cI2kK76M3Ht5mHY5HlPsEEq1oF3AoKqRBNsKFqlOIzUinrvnIXI94c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1781-jSh-uWxT6HM12cAvHgoOihHs-hYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2806369f-db03-4cfd-973d-47d8aa4c4d23</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1781-jSh-uWxT6HM12cAvHgoOihHs-hYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12128" it="0" lt="12128" ct="0" ts="1587564527836" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1781-LfvTaO0XiOABgRlQ-ZEJo0fmTg1siXPYXVdyRRBTxya-TH6eZWTS8tA511y0CKkNe7wc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1773-E0oYTX3Miiv-bKDIizf7Wn2CWGYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e923c3e9-0fd5-42cb-997c-eeda1e9f2496</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1773-E0oYTX3Miiv-bKDIizf7Wn2CWGYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11766" it="0" lt="11766" ct="0" ts="1587564528198" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1767-wpTS4bqBcyaD4sXoiHxBr8i0Cq6-HONzR0QWjk3NU697UV5fhiRtYVKbaarA5Fpk4OIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1767-dIPOPFBpJQpTLCdDut8nmiyjinIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a7957ca5-7d76-4a00-ba94-2296692baca4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1767-dIPOPFBpJQpTLCdDut8nmiyjinIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12514" it="0" lt="12514" ct="0" ts="1587564527451" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1782-baO3mO1ODSjD1-GJsNzSenUJ-neU6gRODgZ48bR0kY-DLTVjQHJji668AI4S6RGcGkQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1782-zzhwGe0MY9Fh7E5UTXVjgpS4cywc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c63ae10f-0837-4f55-8f18-e048b3cad072</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1782-zzhwGe0MY9Fh7E5UTXVjgpS4cywc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11866" it="0" lt="11866" ct="0" ts="1587564528099" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1757-gwbknZh4bGAIG6vjCcICAHK-6M-MkO1C0VbQ8gjD9yGOPVE9UL7-JwyHDL1k813zulUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1754-aZaaTAlTVovIvYjqoRVZ49ocVgwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=fca390a7-9c82-4afa-81f5-f96b11d918b2</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1754-aZaaTAlTVovIvYjqoRVZ49ocVgwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12070" it="0" lt="12070" ct="0" ts="1587564527895" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1814-7AnCU3s64QjQMBVld6KeRWuFwDubTmrRdGfebnAxf8bjnFu0XspVEzhAM0bwNb1roAAc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1808-fBe6w8kcq2228CsiV3z2qKig0Xoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=fa8bc415-5e62-4c36-8f3a-45acc343f0d3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1808-fBe6w8kcq2228CsiV3z2qKig0Xoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11856" it="0" lt="11856" ct="0" ts="1587564528110" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1761-xHqXw-7LryLpRx54naB6mdpH0GwWyV-FPVQJAuXzh2Dsm2v1VM-lk7bWD-C4HJviCpkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1756-Cfv3IW5EQN3A83jYPUWSeAh1hRcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e9682682-2dbe-4ee2-a18b-bc5dc95ae5b1</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1756-Cfv3IW5EQN3A83jYPUWSeAh1hRcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11724" it="0" lt="11724" ct="0" ts="1587564528242" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1800-ZBlxFJBWCq04hX1FkGEssyIIss8f1TodVDn1a0HnkxGlECAiqmabETorryU93LZsWO4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1806-dVTdYoi5DiRF2BIcBzP9YGG9oKYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=cb8a057e-0fc2-4a03-a13f-bc5e5bc96748</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1806-dVTdYoi5DiRF2BIcBzP9YGG9oKYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11475" it="0" lt="11475" ct="0" ts="1587564528491" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1775-2aNx4FJM2oKE15xZk3w-89S3y0WiGgcTPD6ymIoS1-bD47nr-SKY7MThHrn5PkgV51Uc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1769-jZ-xb93c0HbDCiEBvXyE3A09igAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9c27a9f1-d98d-4fc3-8d7c-cef8297e9a13</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1769-jZ-xb93c0HbDCiEBvXyE3A09igAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12154" it="0" lt="12154" ct="0" ts="1587564527812" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1806-u8Dmva1ExqWFgULccSo5nnH2SdFaTsrVK2crVC781wuwZZekagGickDPHm-AgIgn7-oc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1802-U3FEGdEkxAb0Wsvt37cK9CGhaXoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a93503ae-52a3-41fe-93d9-282f40c37dfe</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1802-U3FEGdEkxAb0Wsvt37cK9CGhaXoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12154" it="0" lt="12154" ct="0" ts="1587564527813" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1736-7Dm0CxPFevZgloQ321ASGVTaCtaqjdgyPwwIIXR-bLm0mGUDXvr6uh6thiiCR8-eRbUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1736-4NcMyMmtYcGktexzNsOs4TA0z88c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3e2bf50d-cee0-4e97-b6f8-71f1ff63f9fc</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1736-4NcMyMmtYcGktexzNsOs4TA0z88c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11858" it="0" lt="11858" ct="0" ts="1587564528109" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1783-Zuz4UG-sV2xPb-1v2rFQWZyH3j63C3wKggBBgwHhnz3yuaLZK2EMOFXAuAcIa3FIWbEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1774-ODJgfEewRNdRewPIxVtz3-ON3LAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6333247c-8c0c-4c2d-924c-235008f92ace</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1774-ODJgfEewRNdRewPIxVtz3-ON3LAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12468" it="0" lt="12468" ct="0" ts="1587564527500" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1764--LYQjDxlf1t83yrYjkuJqFE9nQfQugHvVbAYhjtlvKl1dff-w-Po6801ROCfhz1rcHIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1766-wUC0y5aDKzk8TIVbmf15r35vhYoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c199a495-49f0-4ae9-8e01-d8856c729f80</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1766-wUC0y5aDKzk8TIVbmf15r35vhYoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11459" it="0" lt="11459" ct="0" ts="1587564528509" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1786-rK8kfMUjkZwvQg-N7mGRvhLFbsiBhxjz5onCccbPjYpaZ-MUj7row1M6pVdqgiJTMP4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1776-K08WiXIiqcD1V9-X2xxHQJ7be80c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a4dedc21-1f30-4002-a04d-24272eff377d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1776-K08WiXIiqcD1V9-X2xxHQJ7be80c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11473" it="0" lt="11473" ct="0" ts="1587564528496" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1762-sD9aDd8NUY5hcKqWd24HCC-eBxjoT-Vu6tipqpzq6Alt566dZ33kFUqWYqfWnxsULDIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1791-vhqFsPDAoBHNXKNwf8sPBxeRLmoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8ff4eb2c-074e-424b-9fa4-d10daa7a41e9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1791-vhqFsPDAoBHNXKNwf8sPBxeRLmoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="9914" it="0" lt="9914" ct="0" ts="1587564530055" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1790-a2FqQFsIKjhK1-CHfUbYENzLsjLzaPqn4-TECjk9BY1UJJS19NtKbJgQtUcO7v5-SG4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1780-E-hYZpWNYI0oHnnVzjlzHj26xNIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=4d7df864-ef8f-48d3-a180-286bd234babd</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1780-E-hYZpWNYI0oHnnVzjlzHj26xNIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11471" it="0" lt="11471" ct="0" ts="1587564528499" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1797-rygcgYi6WX5izYgFvxBHZ7NN8xvDlZM0AFe3AafZjFick0Op2QFyCYKYXnS5nTvNrJQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1799-AnIfiT5CkBzFS01zMsohTq8jz74c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=56fb5ecb-6b7d-400b-a9e5-3555587d1520</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1799-AnIfiT5CkBzFS01zMsohTq8jz74c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="7835" it="0" lt="7835" ct="0" ts="1587564532135" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1813-cMzKshz1GwCgGu9mx7xk39WckNafogdhsDIZxoEENdLKRfmxS0F90aYaPqKOP4wD8iYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1805-3IDYx9Ngk56ykrzl-tKCF1zwwvoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=1c73284a-b312-4cf1-8338-db45baa9af2a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1805-3IDYx9Ngk56ykrzl-tKCF1zwwvoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12481" it="0" lt="12481" ct="0" ts="1587564527489" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1771-YqiNC0JaAGFXYu4eBm3P0UFZqxdNvloDx6rJqeq25AclzIsfYitTWCKPDS6l7GKiomoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1785-RS3bf4hw7yBH1JlIHNO1iXCCa-Ec7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=82f66402-2d8d-4fd8-8e87-11f1d967a098</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1785-RS3bf4hw7yBH1JlIHNO1iXCCa-Ec7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11473" it="0" lt="11473" ct="0" ts="1587564528497" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1779-R4wnJ5iE7FiWYGXBrx7XeSNkmctO1tHviSJlVe5lcLnuIoQx6LhH-PmBYjWdfNhZ1igc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1770-iOgjwxVT-6x3HUDZBFIJ8g-eykYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=858c2b3c-740c-4af3-89b9-c58c7a3a069f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1770-iOgjwxVT-6x3HUDZBFIJ8g-eykYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11465" it="0" lt="11465" ct="0" ts="1587564528506" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1788-qn7GjEPX2UIHk-xa-1GcBZoUwivXwRBBl-ls9PRhAH2UHUN-TKz-Bqb1UkC2LSOOul4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1797-1iikl6JfCCTcs67-bvjwiZRBjrcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e4d1fa3f-b604-4c27-a1f8-e29db941b62e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1797-1iikl6JfCCTcs67-bvjwiZRBjrcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11708" it="0" lt="11708" ct="0" ts="1587564528263" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1792-KwDEUt1LFw7Rl8b6jC9j86HCv7gziaT0W6MoOwXCy7vI4EVP9P3yjnnaYtdhLUneyEsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1778-1Z1HcTKqjZ4AZKb7bWieg-fI7lQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9c76f08f-a549-46a3-b8c7-6ecff0be7c04</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1778-1Z1HcTKqjZ4AZKb7bWieg-fI7lQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11466" it="0" lt="11466" ct="0" ts="1587564528505" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1796-dFR1ip8-apUS7niB8H1Y6ratHnk-VtQ6ZCqsDjSy-5WTdfyiTGegOcbBaQaSZ5VHmRMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1788-WjpfDCztP-t8i7YzJcvyfU6antsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=71161933-52d5-4e08-9612-51fae4b3b25a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1788-WjpfDCztP-t8i7YzJcvyfU6antsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11468" it="0" lt="11468" ct="0" ts="1587564528504" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1798-ZLSuPEHx3PxJWdOFxBUkAizpKh8e5rd-zgJxY2Gvkf-ON0d-rBfO13wt9pu9Sl8N8Foc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1777-HPUVnU5GXYoKnHqUgMS1Cq9YGMcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=eb07f2c3-d358-4498-bb04-78562ea5deb6</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1777-HPUVnU5GXYoKnHqUgMS1Cq9YGMcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11465" it="0" lt="11465" ct="0" ts="1587564528507" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1763-A108Kwv708CpsWUL8H9Jvf9ZfixTE7pLILHuYMidDDfU5IysYv0YG9IPjDioMAFPAT8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1762-KiQ1A5Kvo3JkOdB2u7sOoTkPCxEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=012a11cf-b6c0-40cf-b36d-27d4d1aa0ed4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1762-KiQ1A5Kvo3JkOdB2u7sOoTkPCxEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="9713" it="0" lt="9713" ct="0" ts="1587564530259" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1795-I0Jy2QgRRuZ3GT7bn-xruN5rihC1AkY0VLyLydusO-HCOCI7JnAiAk7VYP1T-a-IDlsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1772-7Mo19wDZJdhULEFzWW8NuxYMJ0Ac7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0210f904-7b4a-436a-b34f-2f9c0e9f266e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1772-7Mo19wDZJdhULEFzWW8NuxYMJ0Ac7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12085" it="0" lt="12085" ct="0" ts="1587564527888" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1805-4jtqT3NUJ1EQH33chk5hWHgKIoNlpEOSSaEgHlQSILY--bEtVCa-zE0YbYikSymfbgoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1807-r985QvGZQ6fE78-zyTTTKOukq5Ec7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2aec2b37-3e23-4407-a36b-4796327e1760</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1807-r985QvGZQ6fE78-zyTTTKOukq5Ec7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11865" it="0" lt="11865" ct="0" ts="1587564528108" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1811-xP4xlIF-OLYtUhQOBN8xDm1aLcdxeEDD3VJHdQfeAlaPIneJ7swCrYcjuBx-jAJQGCYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1819-hZLQvru-4BXu0sdmA7YKSi-7RO4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d3c12eda-eb2b-4905-8ef0-984b6da9c244</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1819-hZLQvru-4BXu0sdmA7YKSi-7RO4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12527" it="0" lt="12527" ct="0" ts="1587564527446" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1768-lwYwtogyOMugXkjVj0H97Aa1-QBiYtur4Vz5m0PAu9QVkLbfrIvLMfS8yYR85E6pOO0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1783-S10jhi55FfrrA5FPpNVrfhbg-oQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=57a3f5cf-7e50-45e9-9307-776cf8a101b7</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1783-S10jhi55FfrrA5FPpNVrfhbg-oQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11465" it="0" lt="11465" ct="0" ts="1587564528508" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1769-x94c2LSMqoDEeSNkcVAZ92c1ylaSPdVSHa8R0QTKwNea2GtIDEanULr-UIaFjoKsaNsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1786-YtrrV7I3BximjgtiD4lkiqW2OtMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d1dc4f88-56c8-480e-b46d-66b43443f048</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1786-YtrrV7I3BximjgtiD4lkiqW2OtMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12089" it="0" lt="12089" ct="0" ts="1587564527885" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1808-GmTfQqGoFTSc-vJMlJzRNixOKEsNRo524skGpTxBCt0YfIVL40aAYvBVH5tVWI4xJ4Ac7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1818-p1659-BuSy4tRQmwOsfRtE8BqYQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b2515fe4-fced-433a-b73c-b2dd58351f2d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1818-p1659-BuSy4tRQmwOsfRtE8BqYQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="9920" it="0" lt="9920" ct="0" ts="1587564530054" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1791-fJqOZgwSnZLh1ZD9eInKT3Igrd2LNMNNvI9VKNioe-cFkwiMBOVseac5XdAFiTjvgZAc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1779-2ZMvcpSUKOOF7Elb4vE6Chi6pVEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=f4877d19-c2d4-43d5-a189-c8df791b8046</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1779-2ZMvcpSUKOOF7Elb4vE6Chi6pVEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12062" it="0" lt="12062" ct="0" ts="1587564527912" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1803-kEk7P3SVsIx3ntl6j5lr8K3I07uJFwbA75qj6ztKfIXP6U2oIAk7SNm8tGJ7hEYTdiwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1801-QBqJzRjg8fUEwchOck5fSnMzCDYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=86b1bbab-8c38-4170-9724-9f4cd096c2b3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1801-QBqJzRjg8fUEwchOck5fSnMzCDYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11475" it="0" lt="11475" ct="0" ts="1587564528500" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1770--XfMIGL6AKZx8HwJiZglYu5YSgdMQtBs1lndewsDvf74Dgpt8wztCYjwKnypcTdtAyIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1764-WrVGnoI1NqeLqhunPreO5ALKfrAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e9883230-ba4a-4369-80f8-36fabb9814b2</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1764-WrVGnoI1NqeLqhunPreO5ALKfrAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12074" it="0" lt="12074" ct="0" ts="1587564527901" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1801-oRlwjkuydp3AdcGhtf957U--kobdxZX-6JNpcMDrwX1LnZlWrhqiZxz7wvDXakSpW-8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1796-PzOKTsj0CQljJZ65akpzXkmcrAgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d599605b-a60e-42ec-a20b-a0839b09055d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1796-PzOKTsj0CQljJZ65akpzXkmcrAgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12073" it="0" lt="12073" ct="0" ts="1587564527902" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1755-6d913Q942yazuAtNjvnoy1krCb4DaSuxvJB3ZDSxkVmF8zhzD6UBo7brYK7fvLjNRl4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1757-lu5dqYUfUIBck7Wl8D7d8kt7uuIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9307870d-af26-4598-9000-3f4a5ca31144</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1757-lu5dqYUfUIBck7Wl8D7d8kt7uuIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11236" it="0" lt="11236" ct="0" ts="1587564528739" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1765-VlLmzN6tuDX7BGkoDzBjOLuoKtwfSUIwHsU0MLueE8grB2NT6W78G1jx4ix3GIZoH74c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1795-PmwZZzc7ELtKqQUvcgbSKu3OVS4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3b2e99b1-03b0-49e8-ab70-97cbf9a7cdc8</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1795-PmwZZzc7ELtKqQUvcgbSKu3OVS4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11718" it="0" lt="11718" ct="0" ts="1587564528258" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1793-eEPunP1wI5bGxTvwWwae00ydCL79qQRAlfo--AfAuB2vQNfSiMDDvaM3uGhvTLAL6n0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1765--O-4u5-r-e0avZfN9gEMwl23-Tsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=07dc1013-82fe-4902-8273-bbbc81b6fd1d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1765--O-4u5-r-e0avZfN9gEMwl23-Tsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11437" it="0" lt="11437" ct="0" ts="1587564528533" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1774-5bWLGudUoQ3H-pthTeXJxA-NUEE1eSPUN-6mx43Oq4UuET4-LbkgKhIS48gHnGSr0r8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1768-74n3ScDAsP-7G0D2fT6lPoe2c-Ec7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=5514a68a-e916-4692-8d80-2fdf26b25260</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1768-74n3ScDAsP-7G0D2fT6lPoe2c-Ec7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12082" it="0" lt="12082" ct="0" ts="1587564527894" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1802-GTYul1ykyMBHRouRyCJ6sQp8TF84fsJCKjTWc9DUcMQct6JHWzEt8Xpo-8IJf3gkYsoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1800-YSa28D4u6dS2FIxZaCPJUmFkZ9Yc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=050186ca-cd84-4bf6-9296-29da9d37cdc5</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1800-YSa28D4u6dS2FIxZaCPJUmFkZ9Yc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="9927" it="0" lt="9927" ct="0" ts="1587564530052" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1794-2MJID5pxWQEe-auKNOUC7DY1AWr7yMjTZ5A7XFbHUzfzPhwqlXBtSrYZlsXCBiM-F3Ac7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1761--PXbi4AaqRQLbXfzRAQadQgRENoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=45165c6c-d263-49c8-8365-c22f8d210acc</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1761--PXbi4AaqRQLbXfzRAQadQgRENoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12818" it="0" lt="12818" ct="0" ts="1587564527162" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1780-RIJ0SjP5aHsVOZXUrTO7fpIoKVYPdagMMbeJb4yqjRC7-7fPd1Ia87SrjrJboKuaIO8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1787--OKjZlW5QkpINHQkiKOAdwYEJnMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8fd5f9a5-aaa9-4af0-b29c-1cfabbe5570e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1787--OKjZlW5QkpINHQkiKOAdwYEJnMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11462" it="0" lt="11462" ct="0" ts="1587564528518" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1766-c4XgZ4aDM3HmeveQdVSr1ClaxfoXyS0-20s3Pdx81fiAjzU-ig6tzT8dhHbAGUf5KIIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1792-MsF-4ZBYsTf1VLGUNq5TheVaDfYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=99b14b10-a0f7-42f4-8b03-98e1574cf300</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1792-MsF-4ZBYsTf1VLGUNq5TheVaDfYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12094" it="0" lt="12094" ct="0" ts="1587564527887" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1777-izRRzmi37PgZB7zucs6CI-rjFaBPg5e91o7cswwomR13NCqmUG1Y-tv67bClZ6h1Y-Ic7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1789-M-JcvIjfQojknxHbz1lbQJJge58c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=764ee25b-6e2e-4487-a7eb-c7e3a6897181</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1789-M-JcvIjfQojknxHbz1lbQJJge58c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11793" it="0" lt="11793" ct="0" ts="1587564528188" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1758-Ni6v4RwvDd6msRPtmTm3T3XZKyfCPgwpqyLAjo7nxQ6PHmgTo7Wf7ChiV88uyuDvDYIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1771-0TPTQKStAXbrn5FtzZxD7PF5qiEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2f312d95-4e44-4e24-8960-67bb1fb7344f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1771-0TPTQKStAXbrn5FtzZxD7PF5qiEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11702" it="0" lt="11702" ct="0" ts="1587564528279" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1784-cA0EbqUD0lkYdOR-zgcKNtmyX5qIxvSr06-WNXCiEbcPHEEDJW-NPS-bsy3KEmmH7vQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1790-S8CxSLTZjaWyj9yVR2dNdhHZ6N4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=239b9945-71f5-4798-98e1-197d4c93315a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1790-S8CxSLTZjaWyj9yVR2dNdhHZ6N4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11801" it="0" lt="11801" ct="0" ts="1587564528184" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1787-jAJHyCAjrSPJJnjzlSHQg89VMQM1OP3gg-4BfRDY1-rlYvpHRP1yN0IPC1fEjY4XMEgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1798-Ei4W7mRyetBPrTK2wMZCUAOS780c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=429a1e26-b6e2-4e9a-bdde-0b144bb5278c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1798-Ei4W7mRyetBPrTK2wMZCUAOS780c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12084" it="0" lt="12084" ct="0" ts="1587564527903" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1812--a5klIbgNP9g4LTqg9ikTr92J805PNxEeuuUYsBdauefPPAxQy0i-okrPMFxADVLKtoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1809-xI6EkYBk2YscNTT3IwZW-7rSsc4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=333d7616-a042-41f1-ba4c-ec4fed1ad929</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1809-xI6EkYBk2YscNTT3IwZW-7rSsc4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="9540" it="0" lt="9540" ct="0" ts="1587564530935" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1799-jAcQ5LLharqR6UmW-3jHJB1Wa5kR4gGy8HsbEj7tx7DQDtqGKhOzuIW-ihA4i0gINlkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1803-dOXhKNeQCo-AUXCiUB-klhFVzuAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e68e51f0-03fb-473e-98c1-884931ecfa44</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1803-dOXhKNeQCo-AUXCiUB-klhFVzuAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12598" it="0" lt="12598" ct="0" ts="1587564527887" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1759-YYgnXV7yLabqV6vD2Yo71EbLeWd-t5bS-wMhe-MpsyYeOJiOBZu5fsBStfyVAht3UGIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1755-C5cI6w-5BPWpjOTIVB-rdROKCcQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=5520904f-0b33-4df4-bd7b-eeb8737d1ab2</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1755-C5cI6w-5BPWpjOTIVB-rdROKCcQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11976" it="0" lt="11976" ct="0" ts="1587564528510" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1772-anqePbeqlUR4gEDYEC7icLPrw10jO6mhlQ-0hlcgMAmmRxkRvxvtPne3xsYNQ7ZyRP8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1793-ZCiKBH-lJcM7FqE9n9AbFCnOm2Yc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9bd2d94e-6d40-4357-a1ae-6105afa240a5</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1793-ZCiKBH-lJcM7FqE9n9AbFCnOm2Yc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11759" it="0" lt="11759" ct="0" ts="1587564528735" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1734-HMDJt7fOk9cFIeMGnrUYHOT43IQzsZ1r-dJlGWHwYC-gGofPUi7jesrIq7i6zoLsuJIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1733-MGSVdfpr5-VmiW6qhwZwGIK1JzAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d762ac71-7746-4f3f-b548-1078da4e25a7</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1733-MGSVdfpr5-VmiW6qhwZwGIK1JzAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12661" it="0" lt="12661" ct="0" ts="1587564527904" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1804-scfdkPNeR5KzaicsP-o8ZceMN2VPWsZl7zqayk9t9UsuQkvSebVUMMNrDq3s9kVbjPQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1813-4Rr0yQYQyXuXQV87b1JIOu4yg9Mc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:08:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ea3d9bb1-48d4-4307-b272-8447f9810835</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1813-4Rr0yQYQyXuXQV87b1JIOu4yg9Mc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="1211" it="0" lt="1209" ct="1" ts="1587564539826" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTE0M2E0OTQtZGY0Yi00ZTcyLWEyMDYtYjE3OGVhZmY0NTky; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:01 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzMSwianRpIjoiSUQtVG9rZW4tMTQzMS1aZENKc0gtaHItVnE5R1IyT2doLUZrMUliZmNCRUdxdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sb-fWC2HHGGTcN_bepmaT4i0Novk3iRmfjdWtc6VL3DeVOXs5GqBHJMklzAfGimN75crLG6glK5Mr6NS58d9dGzNX9AtheCG0tpbSASwNjh8Q7E3RbuDQ_W-Xnfl5uuq1XA9y7GpY2sGiZcbR_G637QPTr_pCaRwhOuQNgxUO29eofyKXOVOgG4_B--QxujC1rKA2to0PkbN699xJQBeQUt_MiIgAjic4aQ4nABBcgKN4hatFdPHYfOp6Tmu0xCiD_ycU0QUhSyHJAL84Wy8HBFX8QSVwKXhQ8V7UH5sCRWgM9_bDin7MRjN0oG1tOu1zkM1O5xTadfTF1A9E8-y_Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MGZmODkzY2QtMDViNy00MThmLTk2YmEtMzdkMDBiYTFmODE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="7746" it="0" lt="7746" ct="1" ts="1587564533291" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:01 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTIwMTczMDEtMjVmZS00NzgzLWFhNDItNzAxNTg3Mjg4ZTcy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1727-L7CyA2DykWtz16jv6cYXhn4Cj74c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8806" it="0" lt="8806" ct="1" ts="1587564532232" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:01 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmZhNzkxZjAtNzhlOS00Nzg1LTk4ZmUtMTdjMDYzMDllY2Nm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1728-NNYETN9JQAPohSec2-XZQH1LR-Qc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8830" it="0" lt="8830" ct="1" ts="1587564532231" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:01 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmRjZTA1ZmYtN2QwZi00MzE0LTg5ZDgtMmRjZTI1ZjY3M2I3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1731-M5gd5cr0tjyUeho-bJS6LZ6O2TYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="9632" it="0" lt="9632" ct="1" ts="1587564531430" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:01 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTcwZGNhMjktZTg4ZS00ZGZlLWFiZDYtM2QyZmQwMjIwOWRh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1725-LaKom7UFOiFX-5PfvdBZwpNHwxUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8829" it="0" lt="8829" ct="0" ts="1587564532233" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:01 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWU1NTZkOGEtMTNjMS00ZTFjLWFhYTUtZWRlNTFkMDE2NTAx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1730-MICOzclhVOnxeNHv7iUSF43PRgQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8830" it="0" lt="8830" ct="1" ts="1587564532232" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:01 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDBkYjIyYzUtNjAyNS00YTRmLWEzMjItNzg5ZDcyZGY3ZWIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1726-6R7DcOc7BLtB47d9pI3QUQ5qwWsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7770" it="0" lt="7770" ct="1" ts="1587564533292" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:01 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzQxMDFmZGUtMzRmNS00NjI5LWIxOTgtMWJlYzFiMjQ4Yjhh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1732-SRD6SWlEvGZ7CO0RltWmTdAfl9kc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7772" it="0" lt="7772" ct="0" ts="1587564533291" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:01 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTU1NmM2M2UtYzA4YS00ZjY5LTg0OTMtYzAxYjMyM2FhYWUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1729-Wu3jZekWhuwLcPv4Z4BNYusHb24c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="13160" it="0" lt="13160" ct="0" ts="1587564527905" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1817-B-5NahRRxhl4NZ9B3EDihyRN9yYE-ztCR7rl-a-KFhfOYj7-V2Q9ofre0kKCrkl3wuIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1817-fY1YRfxGC6wZYC-yhaDk8NbZ9oAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:01 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9063b0cc-a930-4200-8c94-1597003b70a1</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1817-fY1YRfxGC6wZYC-yhaDk8NbZ9oAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12672" it="0" lt="12672" ct="0" ts="1587564528394" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1820-tLDw9bvlHHZR6hj4cgQwFYzZjNU-uTa5e5C95YanhnayoMXXs-Wd2gW-Isq6fL-c4o4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1820-jRKCkWhdZIxIVZ2wW2fHavxQ0z0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:01 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6770bce2-3228-4971-85b7-80b544aae230</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1820-jRKCkWhdZIxIVZ2wW2fHavxQ0z0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12823" it="0" lt="12823" ct="0" ts="1587564528249" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1815-qUi1mByTLgnCQbqkUqE-QJ-UPAer97LGE9n3EK2Lp-vzT9NSdfbLbkzjTSeZvWRUCh8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1816-ZdZAfhi4srn3dDHUSIurbrHGwl0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:01 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=29ca77ef-524d-4b54-8b8f-31f00d7c9528</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1816-ZdZAfhi4srn3dDHUSIurbrHGwl0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12787" it="0" lt="12787" ct="0" ts="1587564528290" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1810-NYe1Ut9xCfT8H-doA0Um4VgvcVsqLTpa2qqB7W0N-Wv1fSv3gyUS6LNGAwpp6Z3Wybcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1814-xn7CMjmjpGcDh-wcVmoLaQ0Nz64c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:01 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=07108202-056e-4085-90df-cba7606353d3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1814-xn7CMjmjpGcDh-wcVmoLaQ0Nz64c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12589" it="0" lt="12589" ct="0" ts="1587564528488" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1807-gN3GRq-qLOPPgUgtKSc-VgiUonPpBSUd0MLFp-SLWoQsJmT0poWwIEFMt-c24D-iuicc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1804-gxPiD9pxNY2NytzTzmp02QHEUPgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:01 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a9c2be82-0aef-43f9-9c23-7c6ed30505cc</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1804-gxPiD9pxNY2NytzTzmp02QHEUPgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12570" it="0" lt="12570" ct="0" ts="1587564528507" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1816-K0Hzn2v13ktvW2DW4FK0dJbFrdyjE1-lHPiZ2HqX4NbJDyCvsnNG-jq5RssdYWd2ZAEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1812---556lVvkFs2RVYvbwpCPFphFYAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:01 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=239e553b-0d60-4bd4-b6a4-c3a54c03ae7c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1812---556lVvkFs2RVYvbwpCPFphFYAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11769" it="0" lt="11766" ct="1" ts="1587564532130" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-45" dt="text" by="787" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.074+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDUxMTQzZWEtZjQ1Mi00NjYzLTlkZTMtNjI4MjI4MDBiMzIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1722-ozoFdyugN4zkGORjhyN2dKCZLkgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="15791" it="0" lt="15791" ct="0" ts="1587564528110" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1750-xOAKXzXbelrWAqf31zheG3fyOiWSxMLBWjz0teFPMJ7JAb3uf6aUrsTW-As5rJv4L2oc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1758-nn6yiQW-T-E8B77TM40w56TJGkkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7752764d-9312-405c-91de-9c2401a49030</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1758-nn6yiQW-T-E8B77TM40w56TJGkkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="15414" it="0" lt="15414" ct="0" ts="1587564528491" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1819-ClgbhKgHxTVmlnINIJtKqwjW4HnxpLeLxNtteVRTQvo8p-ZfKHPnYxk9JAxwgYfJI3sc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1811--zymb3Ki6T8y6o7WzSr-Yn5abUkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=5bcbd40e-3da2-452e-b6b3-0788b4cb2a9d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1811--zymb3Ki6T8y6o7WzSr-Yn5abUkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="2843" it="0" lt="2840" ct="0" ts="1587564541062" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-55" dt="text" by="447" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.907+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MTcwZGNhMjktZTg4ZS00ZGZlLWFiZDYtM2QyZmQwMjIwOWRh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="2843" it="0" lt="2840" ct="1" ts="1587564541063" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-72" dt="text" by="447" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.909+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=OTU1NmM2M2UtYzA4YS00ZjY5LTg0OTMtYzAxYjMyM2FhYWUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="2845" it="0" lt="2842" ct="1" ts="1587564541062" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-42" dt="text" by="447" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.908+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NDBkYjIyYzUtNjAyNS00YTRmLWEzMjItNzg5ZDcyZGY3ZWIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="2831" it="0" lt="2827" ct="1" ts="1587564541077" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-77" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.909+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NDA4NDJlYzUtZDA4OC00MDNlLTllMTctY2QzZWVhYmEyNWJl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1814-xn7CMjmjpGcDh-wcVmoLaQ0Nz64c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="15421" it="0" lt="15421" ct="0" ts="1587564528487" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1809-00hoU9VIpmOyoVhJGcfcfXtEVBJG5WJGLXoPG8yQiGOuzdD7OXLvA3k1P5tszU-YpAsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1810-5MyHg04Q9Xd-JSR9-wtaFnwV1S0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=bcd509fc-3ed8-451d-8a2c-5860910ccc20</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1810-5MyHg04Q9Xd-JSR9-wtaFnwV1S0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="2847" it="0" lt="2842" ct="1" ts="1587564541062" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-15" dt="text" by="447" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.909+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NWU1NTZkOGEtMTNjMS00ZTFjLWFhYTUtZWRlNTFkMDE2NTAx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="2845" it="0" lt="2843" ct="1" ts="1587564541066" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.909+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YzI0NTljMDQtMGNlMi00MGNjLTg3YTYtYzY0NGNiMTc2NzIz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1820-jRKCkWhdZIxIVZ2wW2fHavxQ0z0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2873" it="0" lt="2872" ct="1" ts="1587564541038" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-21" dt="text" by="447" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.906+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NmZhNzkxZjAtNzhlOS00Nzg1LTk4ZmUtMTdjMDYzMDllY2Nm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="2874" it="0" lt="2872" ct="0" ts="1587564541038" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-78" dt="text" by="654" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Content-Language: en-US
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.918+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YTIwMTczMDEtMjVmZS00NzgzLWFhNDItNzAxNTg3Mjg4ZTcy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="2876" it="0" lt="2874" ct="0" ts="1587564541037" s="false" lb="GET - Admin Center api security account" rc="500" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="669" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzMSwianRpIjoiSUQtVG9rZW4tMTQzMS1aZENKc0gtaHItVnE5R1IyT2doLUZrMUliZmNCRUdxdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sb-fWC2HHGGTcN_bepmaT4i0Novk3iRmfjdWtc6VL3DeVOXs5GqBHJMklzAfGimN75crLG6glK5Mr6NS58d9dGzNX9AtheCG0tpbSASwNjh8Q7E3RbuDQ_W-Xnfl5uuq1XA9y7GpY2sGiZcbR_G637QPTr_pCaRwhOuQNgxUO29eofyKXOVOgG4_B--QxujC1rKA2to0PkbN699xJQBeQUt_MiIgAjic4aQ4nABBcgKN4hatFdPHYfOp6Tmu0xCiD_ycU0QUhSyHJAL84Wy8HBFX8QSVwKXhQ8V7UH5sCRWgM9_bDin7MRjN0oG1tOu1zkM1O5xTadfTF1A9E8-y_Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.909+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/api/v1/security/accounts/accountName/smartadmin&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NTE0M2E0OTQtZGY0Yi00ZTcyLWEyMDYtYjE3OGVhZmY0NTky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="2852" it="0" lt="2850" ct="2" ts="1587564541061" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-5" dt="text" by="447" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.907+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YmRjZTA1ZmYtN2QwZi00MzE0LTg5ZDgtMmRjZTI1ZjY3M2I3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="2845" it="0" lt="2840" ct="1" ts="1587564541072" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-96" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.911+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2RjYzNlMmEtNjI2NC00YjkxLThjOWQtYmNiMDNiN2E0Y2Yy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1816-ZdZAfhi4srn3dDHUSIurbrHGwl0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2852" it="0" lt="2849" ct="1" ts="1587564541065" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-33" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.909+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YjcyODk0NDYtNjliNy00YzgzLTg3OGItZTRmZTRkMzg0N2Nl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1817-fY1YRfxGC6wZYC-yhaDk8NbZ9oAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2855" it="0" lt="2850" ct="0" ts="1587564541063" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-29" dt="text" by="447" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.910+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MzQxMDFmZGUtMzRmNS00NjI5LWIxOTgtMWJlYzFiMjQ4Yjhh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="2843" it="0" lt="2839" ct="0" ts="1587564541078" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-44" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.911+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWUxNzBhM2UtYjFhOS00ODQ4LWFjMGItYTI3NWU0ZDU4MGUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1812---556lVvkFs2RVYvbwpCPFphFYAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="21" it="0" lt="21" ct="1" ts="1587564543900" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTAzMjk3ZDctM2RjOC00N2M2LTk3MGEtZTcxMTUzYjQ3MDZh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564543907" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDQ4Yzc1NWUtODE2OS00OTU4LWEyN2YtMzJlMzFjYmM3MWRl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="2843" it="0" lt="2839" ct="0" ts="1587564541078" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-71" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.911+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NDNjYzI0NzYtMGI5NC00NmIyLWE5YjQtMjRlNjNiNjIyNTBm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1804-gxPiD9pxNY2NytzTzmp02QHEUPgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="1" ts="1587564543907" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGZkZTY0NTMtZTEwNy00MWY1LThkMTYtYjczNWFjMjQwYmVh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564543906" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGNlNWI2MmQtYjg3ZS00NTQ4LWE5ZjYtYmEyZTk5NGJiZTc1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="1" ts="1587564543909" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Yjk5OTU5YzgtMDY1My00NWRjLTgxNDAtNzQwYTI5NDE5NjQ0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="1" ts="1587564543908" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmM4ZTc3MWMtYjIxNy00MGFhLWFhZmYtY2YyODc0MmJkMWY3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564543913" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjBiOTc5ZTMtYTBiMC00ZTNmLWIwNDUtMzg4NDI5YjdlM2Yx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="2" ts="1587564543912" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmViYzM0ZTgtYjE5Ny00Y2IxLTkzZWQtOWVjNDEzY2QzODU2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="1" ts="1587564543912" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmQ4NDNlYmMtYjBmNC00MGRiLTllMDctZjkwM2I1ZTIzMWU1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="1" ts="1587564543913" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWQ0YmQ0MDAtZDJmNy00MDg0LThlODAtMTdjMjBhMGY1YmUx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="1" ts="1587564543913" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTc3Njk0YzItYWFhZC00ZDFlLWIwZGYtYTZjNjA5YmNiYzQ4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="1" ts="1587564543917" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjBhZWM1ZjMtY2I4Ni00ZTZiLTg1ZGEtNzYyMzYwZDUzNjA4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564543918" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDgwMThmYTMtNWYyNi00Yzk1LWE1YjYtNTJmNGU1NTA0Y2Zk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="1" ts="1587564543918" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzdmZWIzZDgtYjk3MC00ZmY2LThhYTktOWQ3MThlZmE1ZDc5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564543922" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Mzc3NmQxN2YtM2ZmNC00YTQ5LTlkOGItOTUzNDg5ZTBjY2Uz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564543923" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmM4ZTc3MWMtYjIxNy00MGFhLWFhZmYtY2YyODc0MmJkMWY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564543923" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjBiOTc5ZTMtYTBiMC00ZTNmLWIwNDUtMzg4NDI5YjdlM2Yx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564543922" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGNlNWI2MmQtYjg3ZS00NTQ4LWE5ZjYtYmEyZTk5NGJiZTc1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564543923" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Yjk5OTU5YzgtMDY1My00NWRjLTgxNDAtNzQwYTI5NDE5NjQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564543922" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGZkZTY0NTMtZTEwNy00MWY1LThkMTYtYjczNWFjMjQwYmVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564543924" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWQ0YmQ0MDAtZDJmNy00MDg0LThlODAtMTdjMjBhMGY1YmUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564543921" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQ4Yzc1NWUtODE2OS00OTU4LWEyN2YtMzJlMzFjYmM3MWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564543927" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzdmZWIzZDgtYjk3MC00ZmY2LThhYTktOWQ3MThlZmE1ZDc5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564543924" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmViYzM0ZTgtYjE5Ny00Y2IxLTkzZWQtOWVjNDEzY2QzODU2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564543926" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjBhZWM1ZjMtY2I4Ni00ZTZiLTg1ZGEtNzYyMzYwZDUzNjA4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564543924" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTc3Njk0YzItYWFhZC00ZDFlLWIwZGYtYTZjNjA5YmNiYzQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564543927" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDgwMThmYTMtNWYyNi00Yzk1LWE1YjYtNTJmNGU1NTA0Y2Zk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="1" ts="1587564543921" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWFkMTZhZGEtZTZjNS00Y2VjLWIyZTAtNmU0MzEwODMxYjY4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564543921" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTAzMjk3ZDctM2RjOC00N2M2LTk3MGEtZTcxMTUzYjQ3MDZh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564543924" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmQ4NDNlYmMtYjBmNC00MGRiLTllMDctZjkwM2I1ZTIzMWU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564543930" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mzc3NmQxN2YtM2ZmNC00YTQ5LTlkOGItOTUzNDg5ZTBjY2Uz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564543935" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWFkMTZhZGEtZTZjNS00Y2VjLWIyZTAtNmU0MzEwODMxYjY4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6430" it="0" lt="6429" ct="2" ts="1587564539966" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-86" dt="text" by="631" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:06.405+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NWM3MjM1ZWYtMjYxOS00NDEzLWIyYjItZDY0ZTEwZjRlODdk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1756-Cfv3IW5EQN3A83jYPUWSeAh1hRcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6430" it="0" lt="6427" ct="11" ts="1587564539966" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-30" dt="text" by="631" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:06.401+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=OTE1NzlkNzgtNWZmNS00ODFjLTk5M2UtNDhlYWFiNWQ1ZDNh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1806-dVTdYoi5DiRF2BIcBzP9YGG9oKYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564546397" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzI2OTEzNDMtNjZmYi00YzgyLWE1YTMtZTcwM2Q0MzE0NWZi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="1" ts="1587564546397" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGRmYWFkOGUtYzQ4ZS00NmY0LTgyMjgtZWYwYjEzZDRiM2Uy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564546402" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzI2OTEzNDMtNjZmYi00YzgyLWE1YTMtZTcwM2Q0MzE0NWZi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6445" it="0" lt="6444" ct="13" ts="1587564539964" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="631" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:06.404+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=OTFjZTFkY2MtN2YxMC00MTQwLTg5ZTUtYzQ0YTgzMjk4MTEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1781-jSh-uWxT6HM12cAvHgoOihHs-hYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564546405" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGRmYWFkOGUtYzQ4ZS00NmY0LTgyMjgtZWYwYjEzZDRiM2Uy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6444" it="0" lt="6437" ct="2" ts="1587564539965" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-1" dt="text" by="631" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:06.406+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YzFlZDE5YzUtMjM0Ny00YjZlLWEzYzgtMWMzYzI4MTMzYzAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1754-aZaaTAlTVovIvYjqoRVZ49ocVgwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6443" it="0" lt="6440" ct="1" ts="1587564539967" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-23" dt="text" by="631" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:06.401+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ODc5MDhiOTgtYzc3ZC00MGVjLWJmMDItZWUwNTZkNTYxNWRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1802-U3FEGdEkxAb0Wsvt37cK9CGhaXoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="1" ts="1587564546409" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDE3Y2NlYWYtMWQzMy00MGQ5LWFmMGQtNzVjMzRiZGIyMzJi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="1" ts="1587564546410" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmY4MzVjMzgtZTQ4OC00NmY3LTk1YTAtNTJmN2Q3NzBmZDFk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564546411" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDU5Y2JlNDItNDY0NS00YzhjLWI2MzQtZDc0MDZhYzZhMDE4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564546415" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDE3Y2NlYWYtMWQzMy00MGQ5LWFmMGQtNzVjMzRiZGIyMzJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6597" it="0" lt="4093" ct="1" ts="1587564539825" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-39" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6f46b5cc-362e-4df2-aa6b-dda2acba6cc5; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564546418" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZmY4MzVjMzgtZTQ4OC00NmY3LTk1YTAtNTJmN2Q3NzBmZDFk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564546419" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDU5Y2JlNDItNDY0NS00YzhjLWI2MzQtZDc0MDZhYzZhMDE4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6599" it="0" lt="4083" ct="1" ts="1587564539826" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-51" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3384cdd2-bfb2-4a51-a8ef-6c1b555aa241; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="6508" it="0" lt="6508" ct="2" ts="1587564539959" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjMzOWU2ZTgtZjM0ZC00ZWNjLTgxMGMtMjFhZGU5NjM0M2Q0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1750-9SHcVbvzPDdLYHbTSSRFuytKaGYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6516" it="0" lt="6516" ct="1" ts="1587564539958" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2JjNTVkNmItNTAyYS00M2RkLTllYjktOTU4MTc5NWZhZThj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1748-jRTRFRYGeF0BJ1COPltZZIaWYowc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6507" it="0" lt="6507" ct="4" ts="1587564539973" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWUwYzdjMDItMWVlNi00YjAwLTg2YzItM2Y5NjNkY2M5MGQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1783-S10jhi55FfrrA5FPpNVrfhbg-oQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="21" it="0" lt="21" ct="1" ts="1587564546467" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjMzOWU2ZTgtZjM0ZC00ZWNjLTgxMGMtMjFhZGU5NjM0M2Q0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="1" ts="1587564546481" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWUwYzdjMDItMWVlNi00YjAwLTg2YzItM2Y5NjNkY2M5MGQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="1" ts="1587564546474" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2JjNTVkNmItNTAyYS00M2RkLTllYjktOTU4MTc5NWZhZThj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564546489" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3My0xdkxMSU1kYkxIUTZhYmxlNkozM2dwUHFhMFM0eVozViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bnCwi46wZJZdo9EIRVKpnVsmUvAFbG_bMDLciyR_XMnIjPJ2JwmLjorapKzr0jbgNzUdZ_VRAyjW6N7hrAZz5PX-UYef9mT3_DzhjdOCds9S18ToG0Dyk9vUDUyRPZHUBMMesarjyqO6lJMy5iMTVs7EY2BunoZ2NyKnRkaVUj5Igq7e28gmYpBqBc32k5q-b-JL1GRstv9qsMl24vHxGm5WgJY-fMiTUF0YcmC_obrLuBq3jTNSxKbYzi2B9iKuyhsjk-7pTnh-BUfDbFyF0ZLrlxYl5ktIulJrpE-8CTAeUxlLHuOMARMDFPUz9d-ebSD6mAo3EiDccygg-BTHKQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWUwYzdjMDItMWVlNi00YjAwLTg2YzItM2Y5NjNkY2M5MGQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3My0xdkxMSU1kYkxIUTZhYmxlNkozM2dwUHFhMFM0eVozViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bnCwi46wZJZdo9EIRVKpnVsmUvAFbG_bMDLciyR_XMnIjPJ2JwmLjorapKzr0jbgNzUdZ_VRAyjW6N7hrAZz5PX-UYef9mT3_DzhjdOCds9S18ToG0Dyk9vUDUyRPZHUBMMesarjyqO6lJMy5iMTVs7EY2BunoZ2NyKnRkaVUj5Igq7e28gmYpBqBc32k5q-b-JL1GRstv9qsMl24vHxGm5WgJY-fMiTUF0YcmC_obrLuBq3jTNSxKbYzi2B9iKuyhsjk-7pTnh-BUfDbFyF0ZLrlxYl5ktIulJrpE-8CTAeUxlLHuOMARMDFPUz9d-ebSD6mAo3EiDccygg-BTHKQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564546488" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1MC1lcXF5eFJTS1ZRRFotaFczZnYtajFaNHF0d2xOOHBRTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PR6tfSmy0OAbdp9tumTYeXYuKJIqhXf9wSaKiKNu-K5g6eg2rQLwMgRIB9masnDvi5-iK1sWU8yQdGQRcnfwG6ceU2u3qRk-b18NPx6INQUjj0KCLPB9HtYuYm670FofGpvub6xsOSHjlvzMgPLcn7JKebbazrOo2pYdOeIQ8BpvP-HrOAElNQx_I2tMxdxJ77qiLnzv9Unwox2Gfn5zeVqZheYimt7fLwUyZhko_G-cfHf8FeXHAdHcMuwJD-KP6mhMsmBa7NrT0mYZ4ndm07rl7uI1RncC2h6VWIRGdHqcxQJGO5c6vtZB-Hn7SIjc0MpVKWQqQF6EM-zdVX9X1Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjMzOWU2ZTgtZjM0ZC00ZWNjLTgxMGMtMjFhZGU5NjM0M2Q0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1MC1lcXF5eFJTS1ZRRFotaFczZnYtajFaNHF0d2xOOHBRTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PR6tfSmy0OAbdp9tumTYeXYuKJIqhXf9wSaKiKNu-K5g6eg2rQLwMgRIB9masnDvi5-iK1sWU8yQdGQRcnfwG6ceU2u3qRk-b18NPx6INQUjj0KCLPB9HtYuYm670FofGpvub6xsOSHjlvzMgPLcn7JKebbazrOo2pYdOeIQ8BpvP-HrOAElNQx_I2tMxdxJ77qiLnzv9Unwox2Gfn5zeVqZheYimt7fLwUyZhko_G-cfHf8FeXHAdHcMuwJD-KP6mhMsmBa7NrT0mYZ4ndm07rl7uI1RncC2h6VWIRGdHqcxQJGO5c6vtZB-Hn7SIjc0MpVKWQqQF6EM-zdVX9X1Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564546491" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1NC0tdnRjREFpQ1NYSVctb3I2LW5iSkRxdlR5U0d1dFFURiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KVQc2u7x8s7Mx56oDkTcT5AQi-Y9J9iJaMlpD2C1obqRJUyOcNE_1p3slRp4QQij2AzQ-GzAf-R_ew8DYzfAuP-PPkcsyoI4ncx3dXfeyqNswTDVOwqtNrqjjRKNqHYeEEmE0BSTlzW8Dl4Tb6QIy5P6OGIzz33nvLqVhrAkNm2DuVt0vYDBU4xIBrALFM8bDeBMpfW04mL0d6QDM8RQUN0voJIAbGF5Kpm9fxQmyWm-ZJ-w9syBw1aX3LlsyR4u1JiTttX3ohvBE3pEdB_acQNS4yurJzcFbvT97q476LImy4W5oUTz8X5SUTqY7Xr-YQubVfEqedmdSPXp7eUrMg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2JjNTVkNmItNTAyYS00M2RkLTllYjktOTU4MTc5NWZhZThj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1NC0tdnRjREFpQ1NYSVctb3I2LW5iSkRxdlR5U0d1dFFURiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KVQc2u7x8s7Mx56oDkTcT5AQi-Y9J9iJaMlpD2C1obqRJUyOcNE_1p3slRp4QQij2AzQ-GzAf-R_ew8DYzfAuP-PPkcsyoI4ncx3dXfeyqNswTDVOwqtNrqjjRKNqHYeEEmE0BSTlzW8Dl4Tb6QIy5P6OGIzz33nvLqVhrAkNm2DuVt0vYDBU4xIBrALFM8bDeBMpfW04mL0d6QDM8RQUN0voJIAbGF5Kpm9fxQmyWm-ZJ-w9syBw1aX3LlsyR4u1JiTttX3ohvBE3pEdB_acQNS4yurJzcFbvT97q476LImy4W5oUTz8X5SUTqY7Xr-YQubVfEqedmdSPXp7eUrMg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6542" it="0" lt="6542" ct="2" ts="1587564539980" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWJlYWZlY2UtMWM2ZS00OGVlLTk0YzItZDY1MTg0YzRiZjNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1787--OKjZlW5QkpINHQkiKOAdwYEJnMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="1" ts="1587564546522" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWJlYWZlY2UtMWM2ZS00OGVlLTk0YzItZDY1MTg0YzRiZjNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6559" it="0" lt="6559" ct="5" ts="1587564539972" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODgwZjliY2YtZjUyYS00YjhlLTlkY2UtNTMwMWYyNjY1NDU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1762-KiQ1A5Kvo3JkOdB2u7sOoTkPCxEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564546530" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3NS1GV3NTMlhkSUo0aHpOWXhMSTMzUDVTem9zRUJVa29nMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WT5S9mCM3LnBpEyb8Ge2NidODS_5wyYEiku1-ZsAx-ZqZg73fWC5KewCdR4meZ1cUPaJoU7GS5Nr7YNkVWyvxLKbVnMBb8pLi4ZW41zXhQj1RTgMDuwmkZClGQVLT7oKHITDrTPrCiXvJ68xO4bAgolNDQ5OwXuFPALPZw_HhZot_1ZAUAuldKPQc5OM6lwlBiqdJcAhd6e0A94ClKAzr87GilJw0C3PPpr5vnKCEpu0HH2-_pzuyBDzMbV04b6fcgN-1z-K5G5KEHfw2QnIDf2RsOBFmGb4OJCToX5sApkTcEnUxeyI5V9381dPbEHzh9EAQESe6PobIMS9K1iJeg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWJlYWZlY2UtMWM2ZS00OGVlLTk0YzItZDY1MTg0YzRiZjNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3NS1GV3NTMlhkSUo0aHpOWXhMSTMzUDVTem9zRUJVa29nMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WT5S9mCM3LnBpEyb8Ge2NidODS_5wyYEiku1-ZsAx-ZqZg73fWC5KewCdR4meZ1cUPaJoU7GS5Nr7YNkVWyvxLKbVnMBb8pLi4ZW41zXhQj1RTgMDuwmkZClGQVLT7oKHITDrTPrCiXvJ68xO4bAgolNDQ5OwXuFPALPZw_HhZot_1ZAUAuldKPQc5OM6lwlBiqdJcAhd6e0A94ClKAzr87GilJw0C3PPpr5vnKCEpu0HH2-_pzuyBDzMbV04b6fcgN-1z-K5G5KEHfw2QnIDf2RsOBFmGb4OJCToX5sApkTcEnUxeyI5V9381dPbEHzh9EAQESe6PobIMS9K1iJeg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="1" ts="1587564546532" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODgwZjliY2YtZjUyYS00YjhlLTlkY2UtNTMwMWYyNjY1NDU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="2612" it="0" lt="2507" ct="0" ts="1587564543936" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-71" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=653d2d50-6216-4342-b6c0-db9eaa5c9c95; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="2622" it="0" lt="2501" ct="1" ts="1587564543932" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-55" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=27a6881c-6df6-4511-ad44-4f3607272e18; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="2622" it="0" lt="2494" ct="1" ts="1587564543935" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-33" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ddd86511-ea26-42e3-9299-8a8ca2678cb9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="2615" it="0" lt="2503" ct="1" ts="1587564543934" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-96" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=04de2550-7237-4b77-9ecd-37dc23f06b99; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="24" it="0" lt="24" ct="0" ts="1587564546540" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2Ny1YVldFM0dRQ2FCaDBYdU1kS2sxcVBGTWhTeThzc3ZkRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WF9O_MI_WQBtpUI98A4C6auS6yq-Z_vwyrPLY9fqjT6OEdHLFNMkFpOzgE2Aums0uwWNGKP_KckS4YD1obdCrZBuS9-a8CTvd7AkEFskMCbOcVSoifZuwzIZFuaXP1OUKuTypeMfd7_SXk_ws43O00mmKZaT60SPI8obQM9NeG15Q0gyAKzPUPVYLOZf2FgzdJ3GrX9jTzEVqs2051T-5m4W8AbE0Dpb0v8HDrfLMUi67GoM-9-J4DIN5KhIEBBFyb2fJS3JNmRbfxY026QOYK8r7xpBNeuHfj5be_pvUaUoEEKpS3sYQYzSKQ2x8569Dpnu1jgoZkc8ZxqoraO1oA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODgwZjliY2YtZjUyYS00YjhlLTlkY2UtNTMwMWYyNjY1NDU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2Ny1YVldFM0dRQ2FCaDBYdU1kS2sxcVBGTWhTeThzc3ZkRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WF9O_MI_WQBtpUI98A4C6auS6yq-Z_vwyrPLY9fqjT6OEdHLFNMkFpOzgE2Aums0uwWNGKP_KckS4YD1obdCrZBuS9-a8CTvd7AkEFskMCbOcVSoifZuwzIZFuaXP1OUKuTypeMfd7_SXk_ws43O00mmKZaT60SPI8obQM9NeG15Q0gyAKzPUPVYLOZf2FgzdJ3GrX9jTzEVqs2051T-5m4W8AbE0Dpb0v8HDrfLMUi67GoM-9-J4DIN5KhIEBBFyb2fJS3JNmRbfxY026QOYK8r7xpBNeuHfj5be_pvUaUoEEKpS3sYQYzSKQ2x8569Dpnu1jgoZkc8ZxqoraO1oA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="2617" it="0" lt="2507" ct="1" ts="1587564543938" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-44" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e323adc6-42f8-4131-ae20-709ca334e7df; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="2614" it="0" lt="2502" ct="1" ts="1587564543933" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-42" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=4caa7daa-5e10-4f37-928c-6eabe964e392; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="2617" it="0" lt="2497" ct="2" ts="1587564543932" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=964abfec-eca6-4b8c-97a5-ee2b4b323e78; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="2618" it="0" lt="2506" ct="1" ts="1587564543934" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-15" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6bb77254-4d03-43c5-9901-4e26f65e8ab2; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="2655" it="0" lt="2504" ct="2" ts="1587564543934" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-5" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2f755320-cb37-4131-83bc-abedbcc5c88e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="2659" it="0" lt="2480" ct="2" ts="1587564543934" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=f62ebc2c-70ee-4d54-8cf2-57e85cec6c81; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="2664" it="0" lt="2495" ct="2" ts="1587564543933" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-72" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=1e51fce8-b0e4-491e-a98f-c7693a4635b2; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="2654" it="0" lt="2476" ct="1" ts="1587564543935" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-21" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=cbb40e4a-fffa-43a5-80c1-efe5f5693740; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="2669" it="0" lt="2503" ct="0" ts="1587564543932" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-77" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d231782c-3c8d-4828-9795-eb901c4f7f62; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="2652" it="0" lt="2483" ct="1" ts="1587564543935" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-45" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c1b54199-76c6-437e-9346-5597d6737229; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="2652" it="0" lt="2540" ct="0" ts="1587564543934" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-29" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7b6959e3-6a5d-4b9d-b241-7c1980ed4868; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="2655" it="0" lt="2497" ct="3" ts="1587564543933" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-78" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=32870978-e829-4ca7-9319-0a0ab1767e37; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="6686" it="0" lt="6686" ct="1" ts="1587564539955" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWY3Zjg3ZTktODE0ZC00OGMxLTlhYzktMmZjODBiYzQwNzdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1739-Afe-qOui74l2Yru03xcDL5SVhtoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6655" it="0" lt="6655" ct="1" ts="1587564539987" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Zjg3ODU1Y2QtYmRhNS00NmFiLTgyZDQtNDVhMjgzMTVkYmM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1809-xI6EkYBk2YscNTT3IwZW-7rSsc4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6679" it="0" lt="6679" ct="1" ts="1587564539969" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDIyZWVmMzQtZDNhMi00ODMxLTgwZDItMDdmMDVlZjY0NWQ5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1791-vhqFsPDAoBHNXKNwf8sPBxeRLmoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="225" it="0" lt="222" ct="1" ts="1587564546420" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=31b091fa-bceb-4f23-b67f-29f42356aac9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="6679" it="0" lt="6679" ct="7" ts="1587564539971" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDlhN2ZmMjktNWI5MS00MGVjLTk2MWYtOGRiOGZjYTRjZWYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1770-iOgjwxVT-6x3HUDZBFIJ8g-eykYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564546643" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Zjg3ODU1Y2QtYmRhNS00NmFiLTgyZDQtNDVhMjgzMTVkYmM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="1" ts="1587564546641" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWY3Zjg3ZTktODE0ZC00OGMxLTlhYzktMmZjODBiYzQwNzdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564546649" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDIyZWVmMzQtZDNhMi00ODMxLTgwZDItMDdmMDVlZjY0NWQ5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564546653" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0My1CZ3Z1S1BETWRwMThWbExnRi1kbDFhMm5wZzdsZlB6NyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iYiIxvfFov1Ui3Oa9zNnzpIr4WQsXYallLpdcZT1PxGVQA21U-A_vASyWKyV13jIcZ34rNTAcYnhjwMS_wDnezfDT4ixojrX66yrrKFFf9a73BQjEQrWRUs5TNCpqKNHT8SnBi3nyG7t59oJTce908VZp46oTbOipyVgXfq5KPiKgq-OQW3iFFHH4QzR5q37ddZLqzJAw0ZxQ9VNw-tDBoxhcJDn10ViQevM-BqfEOPWXWF4HHy2Vd_C2a0FOF1885WgmJxqxshGqm1geJk7eVK7oAltQqdC3dcRP3zHc8g46zHRTApb8n49GsCbaYM98BjzmzROVrvymhi87lfCzQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWY3Zjg3ZTktODE0ZC00OGMxLTlhYzktMmZjODBiYzQwNzdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0My1CZ3Z1S1BETWRwMThWbExnRi1kbDFhMm5wZzdsZlB6NyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iYiIxvfFov1Ui3Oa9zNnzpIr4WQsXYallLpdcZT1PxGVQA21U-A_vASyWKyV13jIcZ34rNTAcYnhjwMS_wDnezfDT4ixojrX66yrrKFFf9a73BQjEQrWRUs5TNCpqKNHT8SnBi3nyG7t59oJTce908VZp46oTbOipyVgXfq5KPiKgq-OQW3iFFHH4QzR5q37ddZLqzJAw0ZxQ9VNw-tDBoxhcJDn10ViQevM-BqfEOPWXWF4HHy2Vd_C2a0FOF1885WgmJxqxshGqm1geJk7eVK7oAltQqdC3dcRP3zHc8g46zHRTApb8n49GsCbaYM98BjzmzROVrvymhi87lfCzQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564546652" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2NC1oTGlYYVVYbkxZUEo1dXpPa1REVG9Yd1hoaW1NZkg0MCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cScUCKgvIHjL1dX5yPGaC-SFmmqetG9Pabgpq9U1J4-otsSgqqa4vwYkU_q0FvEf9xkOvLGTuC79PIZNVrFUS3q7fsTeOZc5UgzYWLF9sS_Ms6U7ZFVQNDUkt_isX8q1octUDcbdCXI9C9qm2_9QP0Fi8ZT5GTS3uBpN1NCLHhujRiWdBCU_lhuofwCMcE6zYdd3yYPDs69gLRdwJd_9UHVcOOKIbsJjI_k6_X0ZdhhMnIIRA0PSqfpqSUJIB_dRnXS0XEzTSACIJOocnDyq0vkxb0tARHo_9ikcaDh4QjY4IeWkGmV402xOqGte-vFneeNTSiMHpnXYEQKETi1P2Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Zjg3ODU1Y2QtYmRhNS00NmFiLTgyZDQtNDVhMjgzMTVkYmM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2NC1oTGlYYVVYbkxZUEo1dXpPa1REVG9Yd1hoaW1NZkg0MCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cScUCKgvIHjL1dX5yPGaC-SFmmqetG9Pabgpq9U1J4-otsSgqqa4vwYkU_q0FvEf9xkOvLGTuC79PIZNVrFUS3q7fsTeOZc5UgzYWLF9sS_Ms6U7ZFVQNDUkt_isX8q1octUDcbdCXI9C9qm2_9QP0Fi8ZT5GTS3uBpN1NCLHhujRiWdBCU_lhuofwCMcE6zYdd3yYPDs69gLRdwJd_9UHVcOOKIbsJjI_k6_X0ZdhhMnIIRA0PSqfpqSUJIB_dRnXS0XEzTSACIJOocnDyq0vkxb0tARHo_9ikcaDh4QjY4IeWkGmV402xOqGte-vFneeNTSiMHpnXYEQKETi1P2Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="1" ts="1587564546650" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDlhN2ZmMjktNWI5MS00MGVjLTk2MWYtOGRiOGZjYTRjZWYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="254" it="0" lt="247" ct="1" ts="1587564546407" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-86" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b491b0d3-584c-4b33-b3e0-4d2afc259c8e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564546661" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4My1ZMWZPZ1h2cUZxZXZFQzVqQkNUNE1tY2Z0aFVPd3JYcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.a_hK2DNJC48Onb2HM8bV3wJsHp85uIanvf4OJas8K99N7C4749infcR2MYpInk4_1lcqElyS6dpGbjAz_Z3Ax8q-b9z71zyBfK41Jnu5ANtfRuUdazFTZxoNaFBXpXntqagB0-7BCYzOcZMgx33PwxnPooEsOHdIwIJfRHWuAdCdjZhjzTiUQhl5OfRzpPZoK4QauEEAJNda67mUGMqaQs2EAGt1CiEqiyUIGZMOtAfPciTTYqIfhFpW84pwCtW2FMszoUuRjS7-EZJ0gQpPfxD_pKCjbKV5FVy3SZhg1erJb0TCkYQO6Dgb1SBjyydW3EyCsFaLl7IoRBIQYOxxbA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDIyZWVmMzQtZDNhMi00ODMxLTgwZDItMDdmMDVlZjY0NWQ5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4My1ZMWZPZ1h2cUZxZXZFQzVqQkNUNE1tY2Z0aFVPd3JYcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.a_hK2DNJC48Onb2HM8bV3wJsHp85uIanvf4OJas8K99N7C4749infcR2MYpInk4_1lcqElyS6dpGbjAz_Z3Ax8q-b9z71zyBfK41Jnu5ANtfRuUdazFTZxoNaFBXpXntqagB0-7BCYzOcZMgx33PwxnPooEsOHdIwIJfRHWuAdCdjZhjzTiUQhl5OfRzpPZoK4QauEEAJNda67mUGMqaQs2EAGt1CiEqiyUIGZMOtAfPciTTYqIfhFpW84pwCtW2FMszoUuRjS7-EZJ0gQpPfxD_pKCjbKV5FVy3SZhg1erJb0TCkYQO6Dgb1SBjyydW3EyCsFaLl7IoRBIQYOxxbA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564546662" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ5MC1jV0tqMFhOY0JRMEtsalk2cFhnckhPMkpETURWdlJ0MSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.a5SoUuht0RkGjkEn26N6WbiTgzz21XbCKEiKGqy50mCC-Ly38xCjWKFXOpWH2YRQQzT2ntGEvxhcqp8e4hPtFulJLLPeSrg23YGs_2OF8na7dLid8zVckEsZhz3DQ8AJKKl6n_f0cOQOCYxFDq29kF9lpGEDh8J7cE2MK7YQPwZLWQXzlgfiytmxlRQOTDzWx3cOPqXw5OKFTmVhtTU3MNec69-q_Vah04mv81c5T445dbxuPnhRFmfWFl9bH6RD77K6BcdaQqobV8_o9McoiIPcOCyqBBSqMMsVT5B9gJjdFmAer5e6FRW2pW7-fxgAsjMb10fbwnr7XywBBUps1w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDlhN2ZmMjktNWI5MS00MGVjLTk2MWYtOGRiOGZjYTRjZWYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ5MC1jV0tqMFhOY0JRMEtsalk2cFhnckhPMkpETURWdlJ0MSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.a5SoUuht0RkGjkEn26N6WbiTgzz21XbCKEiKGqy50mCC-Ly38xCjWKFXOpWH2YRQQzT2ntGEvxhcqp8e4hPtFulJLLPeSrg23YGs_2OF8na7dLid8zVckEsZhz3DQ8AJKKl6n_f0cOQOCYxFDq29kF9lpGEDh8J7cE2MK7YQPwZLWQXzlgfiytmxlRQOTDzWx3cOPqXw5OKFTmVhtTU3MNec69-q_Vah04mv81c5T445dbxuPnhRFmfWFl9bH6RD77K6BcdaQqobV8_o9McoiIPcOCyqBBSqMMsVT5B9gJjdFmAer5e6FRW2pW7-fxgAsjMb10fbwnr7XywBBUps1w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="270" it="0" lt="252" ct="0" ts="1587564546410" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-30" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9d19d3d0-0ef2-4084-b755-68640edb5c40; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="6745" it="0" lt="6745" ct="10" ts="1587564539968" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTY3ZDIwMjItMDNkZi00NmVmLTk5YWYtMjM1Y2ZlZjFlY2Uw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1776-K08WiXIiqcD1V9-X2xxHQJ7be80c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="257" it="0" lt="232" ct="1" ts="1587564546428" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-1" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6213db58-4732-40ba-97cc-2b23d12886c7; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="253" it="0" lt="237" ct="1" ts="1587564546428" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-23" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2e038efa-8783-414f-9462-678f1ece36a4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="1" ts="1587564546714" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTY3ZDIwMjItMDNkZi00NmVmLTk5YWYtMjM1Y2ZlZjFlY2Uw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6766" it="0" lt="6766" ct="1" ts="1587564539960" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTM5ZTZiZjgtNzlmZi00N2FlLWFiNGEtNmJlNGMzNzE0Yjc5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1775-cJemqnzSrmbZQCa1RUQURHIsPj8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564546720" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2OC1ETTVTN3RHSDdOVTA1UTV4UWNkZDRnU1E1Zk5pNTMtdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KokzGsuJiCDQh1vfcpuU6zNM2yYVa_2XJg2HZNYK40Sx2q-QMF3YvYWZbahTtDLmFOuyeDiTVKwDQLFFi3sbslGUrEY4cucV2QJzbUlU_dpAzbc_ajVN9Q5Ziv5uXp7y0pJWp7B69wfrjLHQLjQPCyzqWPp-yyEJGi2QJppdQVEmx-xdMxSyCgX__0S7iVVQXxDrtaaPj6dJNCYd8rMn7mXeFBDQ4kAn590A5AqCjSQ_lNwl4dDIkm1KPHXEtJuL2c7MsGYl3yOMaRTh9upeDIH2q9QXGHCt2hAepINx7Z4WL3FoZlnUdugQk0n-lqye2NJBcId4UQjPX7t77yojkQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTY3ZDIwMjItMDNkZi00NmVmLTk5YWYtMjM1Y2ZlZjFlY2Uw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2OC1ETTVTN3RHSDdOVTA1UTV4UWNkZDRnU1E1Zk5pNTMtdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KokzGsuJiCDQh1vfcpuU6zNM2yYVa_2XJg2HZNYK40Sx2q-QMF3YvYWZbahTtDLmFOuyeDiTVKwDQLFFi3sbslGUrEY4cucV2QJzbUlU_dpAzbc_ajVN9Q5Ziv5uXp7y0pJWp7B69wfrjLHQLjQPCyzqWPp-yyEJGi2QJppdQVEmx-xdMxSyCgX__0S7iVVQXxDrtaaPj6dJNCYd8rMn7mXeFBDQ4kAn590A5AqCjSQ_lNwl4dDIkm1KPHXEtJuL2c7MsGYl3yOMaRTh9upeDIH2q9QXGHCt2hAepINx7Z4WL3FoZlnUdugQk0n-lqye2NJBcId4UQjPX7t77yojkQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="2" ts="1587564546726" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTM5ZTZiZjgtNzlmZi00N2FlLWFiNGEtNmJlNGMzNzE0Yjc5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564546734" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1MS1UbWlkenNxUmsyQnNqdnBHWGVLaExNaGNlbDk3ZXZqViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UcX2gXHwEHX6FfAUVFoHeyGenheFuhMtQ9gMvfDXLoKTJbrbqFPhwBKoBt_q9Zn2gRuoPSvqNO9k2HfLdKVoKl6XPROSiB-zPLBgeVhP2z2aVajpZa_r11iG0dskTQ8l0kjtU6TvW6c_xQsoqvty5OAFt-9P8btyzhrdgEkZfj611ytvScXZ9VE3Yr1T0Iyv5aSOTJTv3DU3lYsb58ntbtZLQdbID_jvQ9yzDI3ltWA5GsCul2CKtMjKGDNyFZJt5rKzMhKT8X62ewDEBOvnjM6Dk68k4_0cuAySr-_SVQR5Y_H902byOIBWE-x2ZYU3i9Ht6TZIUbTeDobR0uJvyA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTM5ZTZiZjgtNzlmZi00N2FlLWFiNGEtNmJlNGMzNzE0Yjc5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1MS1UbWlkenNxUmsyQnNqdnBHWGVLaExNaGNlbDk3ZXZqViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UcX2gXHwEHX6FfAUVFoHeyGenheFuhMtQ9gMvfDXLoKTJbrbqFPhwBKoBt_q9Zn2gRuoPSvqNO9k2HfLdKVoKl6XPROSiB-zPLBgeVhP2z2aVajpZa_r11iG0dskTQ8l0kjtU6TvW6c_xQsoqvty5OAFt-9P8btyzhrdgEkZfj611ytvScXZ9VE3Yr1T0Iyv5aSOTJTv3DU3lYsb58ntbtZLQdbID_jvQ9yzDI3ltWA5GsCul2CKtMjKGDNyFZJt5rKzMhKT8X62ewDEBOvnjM6Dk68k4_0cuAySr-_SVQR5Y_H902byOIBWE-x2ZYU3i9Ht6TZIUbTeDobR0uJvyA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6853" it="0" lt="6853" ct="2" ts="1587564539980" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmU3NmIzMWItZTUwYy00NzUxLWJkMGItZWQxNmE0NzBjMTU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1761--PXbi4AaqRQLbXfzRAQadQgRENoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6879" it="0" lt="6879" ct="1" ts="1587564539957" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmU5OGMwMzgtNTIyMC00NjAzLTkyZGEtNTlkMWMwNDc3N2Ri</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1749-FmT4Icc4wteLy3zHwpQEu-bZKy0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="340" it="0" lt="339" ct="0" ts="1587564546497" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-53" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODViYTU2NTItYTRlNy00YWFkLTgwZDktN2UzOTNkOTc0MjY2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1NC0tdnRjREFpQ1NYSVctb3I2LW5iSkRxdlR5U0d1dFFURiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KVQc2u7x8s7Mx56oDkTcT5AQi-Y9J9iJaMlpD2C1obqRJUyOcNE_1p3slRp4QQij2AzQ-GzAf-R_ew8DYzfAuP-PPkcsyoI4ncx3dXfeyqNswTDVOwqtNrqjjRKNqHYeEEmE0BSTlzW8Dl4Tb6QIy5P6OGIzz33nvLqVhrAkNm2DuVt0vYDBU4xIBrALFM8bDeBMpfW04mL0d6QDM8RQUN0voJIAbGF5Kpm9fxQmyWm-ZJ-w9syBw1aX3LlsyR4u1JiTttX3ohvBE3pEdB_acQNS4yurJzcFbvT97q476LImy4W5oUTz8X5SUTqY7Xr-YQubVfEqedmdSPXp7eUrMg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2JjNTVkNmItNTAyYS00M2RkLTllYjktOTU4MTc5NWZhZThj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="1" ts="1587564546834" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmU3NmIzMWItZTUwYy00NzUxLWJkMGItZWQxNmE0NzBjMTU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564546837" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmU5OGMwMzgtNTIyMC00NjAzLTkyZGEtNTlkMWMwNDc3N2Ri</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8463" it="0" lt="8463" ct="0" ts="1587564538385" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTdhODZmMTMtZGE2Zi00NzFlLWEyMDUtM2YyYzg2NGVlMzdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1734-L4wJ5SVa5A-Z5-0-m6P5MbTNn4Yc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6872" it="0" lt="6872" ct="1" ts="1587564539976" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTViYTQ1YmEtNzMxYy00MTM2LWJkYjEtNmNhYzRlMDU1Yjcx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1795-PmwZZzc7ELtKqQUvcgbSKu3OVS4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6887" it="0" lt="6887" ct="16" ts="1587564539961" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTkxYWY2NGEtMDc0MC00MWQzLWJlNWEtZWFhZmIxZWIwYTY4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1741-nIFr6dCzJS-6lje13E0sgXeoQOkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564546841" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3NC13bDFoNEc3SG1lLXU1TE9BNU81RlJibnUwdTJmTy1hbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sfDQDpXqF4ogv6Z2N2xbsAY9GiIlrX_QwM3Zp_z-T0SE_UeuuVpSmgtlnlBWvhZ0daUw6BocAIbHWuDUSwiXJcbNNKIhmUYhic0GgHwhVJVYvJGkU0w62jx5fq9rjnzc7dZ8jVtmAXN7umFqAz43HPwqr4FN1noEMqWhOfJS8YlxOvwLDBf7L69fyjVwV1JD8iWgjKigEwT4jZxkIyXaIXGARAcZIHpPvIrBRXrXdVD5ls0pRM4ixMvMmTmtjawzUbRPpJYH-wOOmqljl34Y7mVmqtD6Hyv0AGjoaqwTS5al-xTawo2W2Si0YD_Ikn7pJ0JvQ8C1jEUf3FxOlbPflw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmU3NmIzMWItZTUwYy00NzUxLWJkMGItZWQxNmE0NzBjMTU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3NC13bDFoNEc3SG1lLXU1TE9BNU81RlJibnUwdTJmTy1hbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sfDQDpXqF4ogv6Z2N2xbsAY9GiIlrX_QwM3Zp_z-T0SE_UeuuVpSmgtlnlBWvhZ0daUw6BocAIbHWuDUSwiXJcbNNKIhmUYhic0GgHwhVJVYvJGkU0w62jx5fq9rjnzc7dZ8jVtmAXN7umFqAz43HPwqr4FN1noEMqWhOfJS8YlxOvwLDBf7L69fyjVwV1JD8iWgjKigEwT4jZxkIyXaIXGARAcZIHpPvIrBRXrXdVD5ls0pRM4ixMvMmTmtjawzUbRPpJYH-wOOmqljl34Y7mVmqtD6Hyv0AGjoaqwTS5al-xTawo2W2Si0YD_Ikn7pJ0JvQ8C1jEUf3FxOlbPflw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6893" it="0" lt="6893" ct="6" ts="1587564539956" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjZjNjAzOTgtMjkwMi00ZGM2LThkZmYtYmIxMmI4MTBlMGQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1752-3RZGCVXKaYcqXJYMkfMfKv9GDdQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="358" it="0" lt="356" ct="0" ts="1587564546496" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-65" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmIyMDQ1MTQtYTc4MS00ZTMwLTg5MzMtMjJhYjQ5NjAxYWE5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3My0xdkxMSU1kYkxIUTZhYmxlNkozM2dwUHFhMFM0eVozViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bnCwi46wZJZdo9EIRVKpnVsmUvAFbG_bMDLciyR_XMnIjPJ2JwmLjorapKzr0jbgNzUdZ_VRAyjW6N7hrAZz5PX-UYef9mT3_DzhjdOCds9S18ToG0Dyk9vUDUyRPZHUBMMesarjyqO6lJMy5iMTVs7EY2BunoZ2NyKnRkaVUj5Igq7e28gmYpBqBc32k5q-b-JL1GRstv9qsMl24vHxGm5WgJY-fMiTUF0YcmC_obrLuBq3jTNSxKbYzi2B9iKuyhsjk-7pTnh-BUfDbFyF0ZLrlxYl5ktIulJrpE-8CTAeUxlLHuOMARMDFPUz9d-ebSD6mAo3EiDccygg-BTHKQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWUwYzdjMDItMWVlNi00YjAwLTg2YzItM2Y5NjNkY2M5MGQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="1" ts="1587564546848" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTViYTQ1YmEtNzMxYy00MTM2LWJkYjEtNmNhYzRlMDU1Yjcx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="1" ts="1587564546848" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTdhODZmMTMtZGE2Zi00NzFlLWEyMDUtM2YyYzg2NGVlMzdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564546849" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjZjNjAzOTgtMjkwMi00ZGM2LThkZmYtYmIxMmI4MTBlMGQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564546847" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0OS1hMUNiYVdVUUxSWWUtekcydzZFUXBFdFBCMkFuWWFNbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.axtHYCfAsGrWYtpXUb5jETKUTAQE1QnxWz-rQRDYYtrbsEQ4csPYflZC8Jc0uN_Uos0kLMAfgeynfYJFCOQcs8hXPeYB-EIQYX5pl5AqYEsw6c68GZcHlCGgk6r6_G_D8kYsZ21-Utad51xw3VWrNlLFxQpxXi9rTh3ubhG7eX7ltoq9NAtRjCMpodBl4D5OH3NY3GR4dGh6fEU1ok9bCBedDx1jUGkSizkHVSHh9ZdHJEveLtXPOHz0FTYbjZ-POc_2jMP3_QgsNLn_sUuZw2oBjbKB3FiGenukMHwPUoLYKj7JXgn8IuawSi3Pfl_ArC3mtJkEAzMQRo4vmAPIoQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmU5OGMwMzgtNTIyMC00NjAzLTkyZGEtNTlkMWMwNDc3N2Ri</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0OS1hMUNiYVdVUUxSWWUtekcydzZFUXBFdFBCMkFuWWFNbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.axtHYCfAsGrWYtpXUb5jETKUTAQE1QnxWz-rQRDYYtrbsEQ4csPYflZC8Jc0uN_Uos0kLMAfgeynfYJFCOQcs8hXPeYB-EIQYX5pl5AqYEsw6c68GZcHlCGgk6r6_G_D8kYsZ21-Utad51xw3VWrNlLFxQpxXi9rTh3ubhG7eX7ltoq9NAtRjCMpodBl4D5OH3NY3GR4dGh6fEU1ok9bCBedDx1jUGkSizkHVSHh9ZdHJEveLtXPOHz0FTYbjZ-POc_2jMP3_QgsNLn_sUuZw2oBjbKB3FiGenukMHwPUoLYKj7JXgn8IuawSi3Pfl_ArC3mtJkEAzMQRo4vmAPIoQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="1" ts="1587564546848" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTkxYWY2NGEtMDc0MC00MWQzLWJlNWEtZWFhZmIxZWIwYTY4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564546858" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2My14NDhQSi0tR3lZc3hwQnlneUJaWFZZbE1vT1pxTm5YYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Y_fS3b-xhppGJDwVsWvp421Va1DptDuss7dNBAYL4wx7WDL5VASjbEgv5lafhWyYepktfEBKwljh6PCb1G_-FoFB4uSlr3C2WPt58l0GuQ0SKv5NF9fLm4GJiReWHTPtdFETzdq2dj4OUswbOqYYFg-oYljfLRkEDozlJUMIwRs3gR6sMr_uKHE7hE0mIqLKFFC_r3wI6_enT38tddDIqjDBHG8n-BjeQkUpDZpSkb7llcGBxviCAMU_OKWp_CZ-Q3LLmEdcoKI_JYO5FI_ynowxIkjzFhW1v4mJN8FprpjByvvHNN5txq32At3hdOKlFqv6f4DsnqdmJKdH0MVioA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTViYTQ1YmEtNzMxYy00MTM2LWJkYjEtNmNhYzRlMDU1Yjcx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2My14NDhQSi0tR3lZc3hwQnlneUJaWFZZbE1vT1pxTm5YYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Y_fS3b-xhppGJDwVsWvp421Va1DptDuss7dNBAYL4wx7WDL5VASjbEgv5lafhWyYepktfEBKwljh6PCb1G_-FoFB4uSlr3C2WPt58l0GuQ0SKv5NF9fLm4GJiReWHTPtdFETzdq2dj4OUswbOqYYFg-oYljfLRkEDozlJUMIwRs3gR6sMr_uKHE7hE0mIqLKFFC_r3wI6_enT38tddDIqjDBHG8n-BjeQkUpDZpSkb7llcGBxviCAMU_OKWp_CZ-Q3LLmEdcoKI_JYO5FI_ynowxIkjzFhW1v4mJN8FprpjByvvHNN5txq32At3hdOKlFqv6f4DsnqdmJKdH0MVioA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564546859" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzOSwianRpIjoiSUQtVG9rZW4tMTQ0Mi1zbWtJUFFzNTRrREZSNUI0dzlPeVNZaXpCLVJUcmhRbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pAWg7r1iZFTv0SE_Roo8klXl3EAbk_bZHMG7lqGwE8ow23eQfF5Ul9eGttOQOWM-_UFX26GpvwmvTbjMdO6rcVooB0y4DIHLG01eiDlJCwaeFyMCc8ZkpHmc1_HL_cDOpUTpQJazn2FbGBIGjlyvX1FR8glLVqAuRrTNneshJ7bAFdCgpxrX4GueZkE1NzQOEZ4A2EuUXAtssoPWcYgV5w6pXVv3rpBTkY082WwhIIe8og1JXn-EQ2eVLVLQhIXgWUMbC97T9Z-rnRzV8xHLXeIRSOBDmgBddRw898Seu7WwDj44FQ3GlaK3Gq7D8Z0UST3jjVIMD5rFyxNdNDRzTg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTdhODZmMTMtZGE2Zi00NzFlLWEyMDUtM2YyYzg2NGVlMzdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzOSwianRpIjoiSUQtVG9rZW4tMTQ0Mi1zbWtJUFFzNTRrREZSNUI0dzlPeVNZaXpCLVJUcmhRbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pAWg7r1iZFTv0SE_Roo8klXl3EAbk_bZHMG7lqGwE8ow23eQfF5Ul9eGttOQOWM-_UFX26GpvwmvTbjMdO6rcVooB0y4DIHLG01eiDlJCwaeFyMCc8ZkpHmc1_HL_cDOpUTpQJazn2FbGBIGjlyvX1FR8glLVqAuRrTNneshJ7bAFdCgpxrX4GueZkE1NzQOEZ4A2EuUXAtssoPWcYgV5w6pXVv3rpBTkY082WwhIIe8og1JXn-EQ2eVLVLQhIXgWUMbC97T9Z-rnRzV8xHLXeIRSOBDmgBddRw898Seu7WwDj44FQ3GlaK3Gq7D8Z0UST3jjVIMD5rFyxNdNDRzTg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564546859" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1Mi02OEM5ZURzQ0pQY25kVjlJMkZyZDM0bmxYLThXM1praCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.kbnS0xI5TI2uMS7IwLI-ka6ziy-eXfbHVNCT_Zlr7G6wT7ZXaIpb7UOx9gcdzkNK7-8PPKGTkvYqQFIE9FiNqY1oC-8XhjEZsJZ__vTD7dzWwJMik8uqpwc4x0ERHA8oB9nY1KtrN_BW5PjqPRrp8JXE4fUDSWGUtv5VEpmrkF81JWgT6okXmnB6OWIsvcfp8dc1D-bNQWWRx2RrvSUNeEJ17SgMBmqaZ3UO1xyKs03RcFoupGv6btn7RKuTgAIMfbDxuObkApG4JZUEtYM68ifscBi-g9YBUaWMULr_i6fZc0yON-JBwlzhaZC-MoBy4-4-EhMqQ4EYxm2QPfsgkA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjZjNjAzOTgtMjkwMi00ZGM2LThkZmYtYmIxMmI4MTBlMGQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1Mi02OEM5ZURzQ0pQY25kVjlJMkZyZDM0bmxYLThXM1praCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.kbnS0xI5TI2uMS7IwLI-ka6ziy-eXfbHVNCT_Zlr7G6wT7ZXaIpb7UOx9gcdzkNK7-8PPKGTkvYqQFIE9FiNqY1oC-8XhjEZsJZ__vTD7dzWwJMik8uqpwc4x0ERHA8oB9nY1KtrN_BW5PjqPRrp8JXE4fUDSWGUtv5VEpmrkF81JWgT6okXmnB6OWIsvcfp8dc1D-bNQWWRx2RrvSUNeEJ17SgMBmqaZ3UO1xyKs03RcFoupGv6btn7RKuTgAIMfbDxuObkApG4JZUEtYM68ifscBi-g9YBUaWMULr_i6fZc0yON-JBwlzhaZC-MoBy4-4-EhMqQ4EYxm2QPfsgkA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564546860" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2MC1GNU5QeDJuZGZxWVhiZ3lMS1BqQkpFelhsZTVxdnZGaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Uhdn5JweQoe8FnbvvgO13H_-BlCevaIeat7fwAczhMpvuW-0e32l4xFvMVswK0MRb0dwwwgXCnzUHxznsrhPC5y1klHY-3mh0HupmpLaGicGBa7z9Dnk5DykmHanTGWMxoSu1WVs1GI44-keTGuGpP27M1ruBamjhhtEFD_FxpuYmAQ50tQU27eH1MX_NHrwKQzJydx8EaNPuTGqPVpeJoVyz4e_rZbmv1W7PpON9zD6VaGXRfZT96jfaRxcWuF7-juFFC4W1ZY2rc6ZmFzExMhFPluys51UPzvvaBQX7ebPUp7azdD30Uy4BM3uYGNxgebN1iqdqI0qvG0g84QvmQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTkxYWY2NGEtMDc0MC00MWQzLWJlNWEtZWFhZmIxZWIwYTY4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2MC1GNU5QeDJuZGZxWVhiZ3lMS1BqQkpFelhsZTVxdnZGaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Uhdn5JweQoe8FnbvvgO13H_-BlCevaIeat7fwAczhMpvuW-0e32l4xFvMVswK0MRb0dwwwgXCnzUHxznsrhPC5y1klHY-3mh0HupmpLaGicGBa7z9Dnk5DykmHanTGWMxoSu1WVs1GI44-keTGuGpP27M1ruBamjhhtEFD_FxpuYmAQ50tQU27eH1MX_NHrwKQzJydx8EaNPuTGqPVpeJoVyz4e_rZbmv1W7PpON9zD6VaGXRfZT96jfaRxcWuF7-juFFC4W1ZY2rc6ZmFzExMhFPluys51UPzvvaBQX7ebPUp7azdD30Uy4BM3uYGNxgebN1iqdqI0qvG0g84QvmQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="2979" it="0" lt="2979" ct="1" ts="1587564543905" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTQzMGY5NjAtNjFhYy00NmU2LTlhNzMtYzNiMjk5NDJkNWJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1811--zymb3Ki6T8y6o7WzSr-Yn5abUkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6911" it="0" lt="6911" ct="3" ts="1587564539974" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWE3NDhkOTItN2I4Zi00NGU4LWFkZjUtODI2MjAyMWIyN2Zm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1779-2ZMvcpSUKOOF7Elb4vE6Chi6pVEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6909" it="0" lt="6909" ct="1" ts="1587564539976" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGUxZTU1NTAtMjU5MS00NDA4LWE4NDItNzEyNGIxOTFmOWVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1765--O-4u5-r-e0avZfN9gEMwl23-Tsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6400" it="0" lt="6400" ct="1" ts="1587564540486" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWE3MWI0YmMtNDlmYS00YTEyLWJjOWYtZjEzN2U3N2Q4YWM1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1793-ZCiKBH-lJcM7FqE9n9AbFCnOm2Yc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="1" ts="1587564546885" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWE3NDhkOTItN2I4Zi00NGU4LWFkZjUtODI2MjAyMWIyN2Zm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="1" ts="1587564546886" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWE3MWI0YmMtNDlmYS00YTEyLWJjOWYtZjEzN2U3N2Q4YWM1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="1" ts="1587564546884" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTQzMGY5NjAtNjFhYy00NmU2LTlhNzMtYzNiMjk5NDJkNWJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564546886" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGUxZTU1NTAtMjU5MS00NDA4LWE4NDItNzEyNGIxOTFmOWVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564546891" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxNi1TQjNYVGpRY3hTRUVDMnA4R1BXTGZoWlRNcGM0RFhRRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.JqcvvaSsrB8z2VmZYg5uFTdseDQ419P6zgCM17MwsUsChvKNh5hZlwG7DgeIJko2i8fvLyAuLFHnWR3raTBQoAyoPsFEki32RTK1wy7X4FAg2CuxNbxPReNTKusCtcWFE2zxs1D78HNKRUldpHITYlN7iDzTv_yedFuX5rTg9LMsMYcaxzAzLPjQvoVIWMlZ0ZXFgCUlPMszv92BD2hP0ryGcvAuaLfjinoOSgSdQbH_ooNVVWULlXAHnzoKTWWk25FQN5LERYOmosLZ9UzuIiGpo5CKjIVPWDxZv_jUicwLe3NInURo9drQOIzzRHr4WbLU3Gl7xO9yo4gMzPw1qg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWE3NDhkOTItN2I4Zi00NGU4LWFkZjUtODI2MjAyMWIyN2Zm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxNi1TQjNYVGpRY3hTRUVDMnA4R1BXTGZoWlRNcGM0RFhRRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.JqcvvaSsrB8z2VmZYg5uFTdseDQ419P6zgCM17MwsUsChvKNh5hZlwG7DgeIJko2i8fvLyAuLFHnWR3raTBQoAyoPsFEki32RTK1wy7X4FAg2CuxNbxPReNTKusCtcWFE2zxs1D78HNKRUldpHITYlN7iDzTv_yedFuX5rTg9LMsMYcaxzAzLPjQvoVIWMlZ0ZXFgCUlPMszv92BD2hP0ryGcvAuaLfjinoOSgSdQbH_ooNVVWULlXAHnzoKTWWk25FQN5LERYOmosLZ9UzuIiGpo5CKjIVPWDxZv_jUicwLe3NInURo9drQOIzzRHr4WbLU3Gl7xO9yo4gMzPw1qg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564546892" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0NCwianRpIjoiSUQtVG9rZW4tMTUyMS1DZEZ0ZXlzbzRpYnRKZ0o3REJURmt4ei0zc2Vwb1lCdiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jJySc5AUN4wnPelVD5I76aljdqTTS7KvoBjdSgR151AKGmZUjouGPCMA38YRDy3qy0274pr_EoDPG7IPc94gIVsaQ_c4b29hQMzNFX-J9-GAPqAwYS1fXfoP1cxIOhWjTmykg-rkgIV82czoCX3X0wbi_TpPL8zaV_8_l5ddFBLN_x4KlnkNkOHNB3LrhIC0C7_G1iffysDMvs9-x1-mVKE7CNkkkLYLtBZBMN-aAJeFPVFFfyURyOMh3NGgXlbEsQa6WwgBAbfbRc7cQ6MiXUWwGWzktwgdQJodPDyevBKqcUaAqu5pg9egdUvfxBX5q31pY5ZzfvziLlTTjKFnhQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTQzMGY5NjAtNjFhYy00NmU2LTlhNzMtYzNiMjk5NDJkNWJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0NCwianRpIjoiSUQtVG9rZW4tMTUyMS1DZEZ0ZXlzbzRpYnRKZ0o3REJURmt4ei0zc2Vwb1lCdiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jJySc5AUN4wnPelVD5I76aljdqTTS7KvoBjdSgR151AKGmZUjouGPCMA38YRDy3qy0274pr_EoDPG7IPc94gIVsaQ_c4b29hQMzNFX-J9-GAPqAwYS1fXfoP1cxIOhWjTmykg-rkgIV82czoCX3X0wbi_TpPL8zaV_8_l5ddFBLN_x4KlnkNkOHNB3LrhIC0C7_G1iffysDMvs9-x1-mVKE7CNkkkLYLtBZBMN-aAJeFPVFFfyURyOMh3NGgXlbEsQa6WwgBAbfbRc7cQ6MiXUWwGWzktwgdQJodPDyevBKqcUaAqu5pg9egdUvfxBX5q31pY5ZzfvziLlTTjKFnhQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6937" it="0" lt="6937" ct="3" ts="1587564539964" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2Q5Mzg3MTctMDgzOC00M2Q4LTlmNDItYjgwZmY4NTUzOWNi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1767-dIPOPFBpJQpTLCdDut8nmiyjinIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6938" it="0" lt="6938" ct="13" ts="1587564539964" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Yzc2ZDE0YzItNGFjZC00YjA0LTgyYzQtNGI4NWQzN2EzYTc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1773-E0oYTX3Miiv-bKDIizf7Wn2CWGYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564546891" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5Mi1zVWFLVGRRV3lia0dLRmZKRzhFM0JLYmx3VHB1MlVYSiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Hc4Q5w_8Md5BXblEXAYM5DDgvmcjJkCAg4HYk8jnbf_1neWv_BF3NnoRNDnHp-IKoQlGSIcDYvqOgskUVsNi1cAzq32SvObwk0qaK0DBRGNUtRRIqgvRPWt4IbzoOXkiXFOHmn7QcM2JIOZIQIBo42nU4zuSZXKuitDyemtPILZRtT9xDnyGbrRXH1VpsKmgIXFU1649yhDYnBIu3vKx60kPn111OmJxXsB3dm_3k5t9EcJNmV6LL9moPYCevxuTt5UIZB4XPpEeqPnM4OvcJOlRiDCkTcbYRKGZDUpk0MnY9qoJukZEXrQw6JupX3d4BpLusf7MiJmSOpJkVRttTw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWE3MWI0YmMtNDlmYS00YTEyLWJjOWYtZjEzN2U3N2Q4YWM1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5Mi1zVWFLVGRRV3lia0dLRmZKRzhFM0JLYmx3VHB1MlVYSiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Hc4Q5w_8Md5BXblEXAYM5DDgvmcjJkCAg4HYk8jnbf_1neWv_BF3NnoRNDnHp-IKoQlGSIcDYvqOgskUVsNi1cAzq32SvObwk0qaK0DBRGNUtRRIqgvRPWt4IbzoOXkiXFOHmn7QcM2JIOZIQIBo42nU4zuSZXKuitDyemtPILZRtT9xDnyGbrRXH1VpsKmgIXFU1649yhDYnBIu3vKx60kPn111OmJxXsB3dm_3k5t9EcJNmV6LL9moPYCevxuTt5UIZB4XPpEeqPnM4OvcJOlRiDCkTcbYRKGZDUpk0MnY9qoJukZEXrQw6JupX3d4BpLusf7MiJmSOpJkVRttTw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6930" it="0" lt="6930" ct="2" ts="1587564539975" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODg3ZjBlYTgtODA5OC00NDY0LThlZTQtZDIwM2FjMjMzODQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1796-PzOKTsj0CQljJZ65akpzXkmcrAgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6950" it="0" lt="6950" ct="5" ts="1587564539960" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzdlOTcxOTMtMzgzNi00YmFkLWJiZjYtMjVhYTYzOGM2YjM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1751-QJphLy6qPdqIXcSEKIImS5joN3wc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6936" it="0" lt="6936" ct="1" ts="1587564539975" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Yzk0NDg2NjctYzA4Zi00ZjU1LWEwY2UtYjBjOWRiM2ZjM2Vh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1801-QBqJzRjg8fUEwchOck5fSnMzCDYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="372" it="0" lt="371" ct="0" ts="1587564546540" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmJhMGRlNzMtMTU0OC00MzJhLThjNzEtMWUzMmJmMmQxYjE1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3NS1GV3NTMlhkSUo0aHpOWXhMSTMzUDVTem9zRUJVa29nMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WT5S9mCM3LnBpEyb8Ge2NidODS_5wyYEiku1-ZsAx-ZqZg73fWC5KewCdR4meZ1cUPaJoU7GS5Nr7YNkVWyvxLKbVnMBb8pLi4ZW41zXhQj1RTgMDuwmkZClGQVLT7oKHITDrTPrCiXvJ68xO4bAgolNDQ5OwXuFPALPZw_HhZot_1ZAUAuldKPQc5OM6lwlBiqdJcAhd6e0A94ClKAzr87GilJw0C3PPpr5vnKCEpu0HH2-_pzuyBDzMbV04b6fcgN-1z-K5G5KEHfw2QnIDf2RsOBFmGb4OJCToX5sApkTcEnUxeyI5V9381dPbEHzh9EAQESe6PobIMS9K1iJeg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OWJlYWZlY2UtMWM2ZS00OGVlLTk0YzItZDY1MTg0YzRiZjNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="6957" it="0" lt="6957" ct="4" ts="1587564539955" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjNlZWE5NjUtZDhhZi00NmE0LTlhZTQtNDFhODY1YzBkMjE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1753-lGKo13XZsCcuA7zfZPjtnuujT4Yc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="1" ts="1587564546901" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2Q5Mzg3MTctMDgzOC00M2Q4LTlmNDItYjgwZmY4NTUzOWNi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="0" ts="1587564546897" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4MC0tYVBESmJieGtjRFpQMnFBUS1zM0dzUmRwLXRSUGs3eiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.n-5Zwx03HLlr5CvUp8X7URDSxebrqp77x2ztVC57_O4JdDvIx65IebavPPsa90gJjrb6LGjMdA4XdMG6r3DXB38dwPm71zHyzwgnKJ7EdX1BCKT0OfxCV8r3mxBwVH2iB_HFLSv08YLxpn4dNNjAzkC45b36xiCphDI_EEMjAsPyGsMLoIwup6NLYGSimWYjlbONamjVVeDgp5REEtfRYohBWXTqGuW-osaOvnMVOjnYc7KuDpZeNeKGztqHXnOrx_5PiNzodY1oDqRTGTNZJl5BzV5lsA_glaKyWJkbPIuhRGTBWYb1CFLGVMzyMDzMHNeqg0sEGwDZBkZW8PC2_w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGUxZTU1NTAtMjU5MS00NDA4LWE4NDItNzEyNGIxOTFmOWVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4MC0tYVBESmJieGtjRFpQMnFBUS1zM0dzUmRwLXRSUGs3eiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.n-5Zwx03HLlr5CvUp8X7URDSxebrqp77x2ztVC57_O4JdDvIx65IebavPPsa90gJjrb6LGjMdA4XdMG6r3DXB38dwPm71zHyzwgnKJ7EdX1BCKT0OfxCV8r3mxBwVH2iB_HFLSv08YLxpn4dNNjAzkC45b36xiCphDI_EEMjAsPyGsMLoIwup6NLYGSimWYjlbONamjVVeDgp5REEtfRYohBWXTqGuW-osaOvnMVOjnYc7KuDpZeNeKGztqHXnOrx_5PiNzodY1oDqRTGTNZJl5BzV5lsA_glaKyWJkbPIuhRGTBWYb1CFLGVMzyMDzMHNeqg0sEGwDZBkZW8PC2_w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="1" ts="1587564546902" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Yzc2ZDE0YzItNGFjZC00YjA0LTgyYzQtNGI4NWQzN2EzYTc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="1" ts="1587564546905" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODg3ZjBlYTgtODA5OC00NDY0LThlZTQtZDIwM2FjMjMzODQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6960" it="0" lt="6960" ct="2" ts="1587564539962" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGQ2YjU2YzQtZmE0Yi00NDQ2LWE4NDItOGNjZjUxZTI5YmVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1760-nojwR8fBjmx0NFYjx-z33dVb3vwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6951" it="0" lt="6951" ct="6" ts="1587564539971" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTliOGM2YjEtMTA3MS00MTViLWFkZjAtY2NlNWZjODJiMmMw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1797-1iikl6JfCCTcs67-bvjwiZRBjrcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6951" it="0" lt="6951" ct="5" ts="1587564539972" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWJhZjMyYjAtMmY4Yi00MDM0LTg1NjItNjM5MjM4NmNlYWE4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1777-HPUVnU5GXYoKnHqUgMS1Cq9YGMcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="1" ts="1587564546911" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Yzk0NDg2NjctYzA4Zi00ZjU1LWEwY2UtYjBjOWRiM2ZjM2Vh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564546913" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1Ny1lVUx6OS1DVHhUVzF1cVpjdElxc0U4LTNVRGlhSjRBLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jqTll8jZN7KpYLDJGxmCKcWK4H013kgdpWW7_P86TBj5E-M3tFd1mdjCjskgFbP7e6rVibuLzEKD34gxiM_c72A07b2edu76HGcAQi7l9INkNebWrRfd9PzVNOcKbCWj1ALD9jwoTcMRaGGSsXRHXrSxCxbIefDHdqbVANcu61m7d-jqKbZkmePVfyIvtRyXaVwcHJe6d6Ksvcflu5cVmakQo74OVIIOenU6_GDVc5WOc9fnkY4KmHYy1uD1ufQ7DWGeqqSz72bxZ2s7IBtwX1YQgYDSZRd93jnD3OJt0ll6K4ZpQFwHGVhF50MrfQrCaV62NxYNYyI5aCJylNhgcA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2Q5Mzg3MTctMDgzOC00M2Q4LTlmNDItYjgwZmY4NTUzOWNi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1Ny1lVUx6OS1DVHhUVzF1cVpjdElxc0U4LTNVRGlhSjRBLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jqTll8jZN7KpYLDJGxmCKcWK4H013kgdpWW7_P86TBj5E-M3tFd1mdjCjskgFbP7e6rVibuLzEKD34gxiM_c72A07b2edu76HGcAQi7l9INkNebWrRfd9PzVNOcKbCWj1ALD9jwoTcMRaGGSsXRHXrSxCxbIefDHdqbVANcu61m7d-jqKbZkmePVfyIvtRyXaVwcHJe6d6Ksvcflu5cVmakQo74OVIIOenU6_GDVc5WOc9fnkY4KmHYy1uD1ufQ7DWGeqqSz72bxZ2s7IBtwX1YQgYDSZRd93jnD3OJt0ll6K4ZpQFwHGVhF50MrfQrCaV62NxYNYyI5aCJylNhgcA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564546914" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4OS1BVGt6UGZNMG80U1ZoZ1ZXUzdvS0UzbG00RXFrNWJyaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ds1K-fG-3zeq__VQ6zt42G4Ip35O9xgKATwmf8lRL1GR-_ibxpr-pBbH0k7X7-yTUPEbK_Ljn2lc5RmveYX5wbeP3V5AiyBEdksS9_wVSiyBa1mVkGvgAS_MInDAVW_WMM9WtUEh767Gg5KTZL_zRYPpOAQN9fuUbKXWBAWW3sPxju3oRtv-YNhnewlfrGOWB7LIxtkeDzrgIsQjUbWw39sufnC58Qtctx_twbGOcdyBLL8futvovotfD4vfgtUPdr5HL6HdniUnN86kUcbnmSIFLJGGdqwj9-ChLyfpptI5dN5nbxlfDt1o0dE0f0uWUeXPLK31LdUGxgWlDLJSRA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Yzc2ZDE0YzItNGFjZC00YjA0LTgyYzQtNGI4NWQzN2EzYTc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4OS1BVGt6UGZNMG80U1ZoZ1ZXUzdvS0UzbG00RXFrNWJyaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ds1K-fG-3zeq__VQ6zt42G4Ip35O9xgKATwmf8lRL1GR-_ibxpr-pBbH0k7X7-yTUPEbK_Ljn2lc5RmveYX5wbeP3V5AiyBEdksS9_wVSiyBa1mVkGvgAS_MInDAVW_WMM9WtUEh767Gg5KTZL_zRYPpOAQN9fuUbKXWBAWW3sPxju3oRtv-YNhnewlfrGOWB7LIxtkeDzrgIsQjUbWw39sufnC58Qtctx_twbGOcdyBLL8futvovotfD4vfgtUPdr5HL6HdniUnN86kUcbnmSIFLJGGdqwj9-ChLyfpptI5dN5nbxlfDt1o0dE0f0uWUeXPLK31LdUGxgWlDLJSRA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564546910" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzdlOTcxOTMtMzgzNi00YmFkLWJiZjYtMjVhYTYzOGM2YjM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="1" ts="1587564546913" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjNlZWE5NjUtZDhhZi00NmE0LTlhZTQtNDFhODY1YzBkMjE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6971" it="0" lt="6971" ct="19" ts="1587564539959" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2QyNTVlOTItZjk3Ni00ODUwLWIzOTItNzBmYjYwY2JhMTMw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1740-pquOu-TVr4uwze6r-8Ufd5Wbvpgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="1" ts="1587564546922" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGQ2YjU2YzQtZmE0Yi00NDQ2LWE4NDItOGNjZjUxZTI5YmVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564546920" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4Ni1vczdyaER0b1RsOXQ1N1phTmJVWFJ5a29RSEVTcmVJdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HYp3EBOnN-CIymJYOx8hkIk1rkGokmLt8LbNa_6Sr9Em_B7BaSmC8td-0zvVuAcNYP0q2iv9_HlnabYUyfHzoI8tmolzumyEctekDLh58SlR9iDa9AjflwwR6mE64YXCJUR5jEwr0MI8sTlCVP6rE7KENDTW8bRxwZVjglB2UsN9nN7sNjaa_UCyzJqYMV42zBA3GWKvLRX_qs84tPFWXfwfX3-Xn2RgQGVmX_ROPZX0gsFcGtH1Ldtnz96crNmJxQ6E4_C1tXx4A9tmVTjvu1zJTgVP88cmAKYRzbS2Mvqx0L_h0BcD6qVXFksJ_KbmNDaM2bIDckyIev33QgCvrQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODg3ZjBlYTgtODA5OC00NDY0LThlZTQtZDIwM2FjMjMzODQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4Ni1vczdyaER0b1RsOXQ1N1phTmJVWFJ5a29RSEVTcmVJdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HYp3EBOnN-CIymJYOx8hkIk1rkGokmLt8LbNa_6Sr9Em_B7BaSmC8td-0zvVuAcNYP0q2iv9_HlnabYUyfHzoI8tmolzumyEctekDLh58SlR9iDa9AjflwwR6mE64YXCJUR5jEwr0MI8sTlCVP6rE7KENDTW8bRxwZVjglB2UsN9nN7sNjaa_UCyzJqYMV42zBA3GWKvLRX_qs84tPFWXfwfX3-Xn2RgQGVmX_ROPZX0gsFcGtH1Ldtnz96crNmJxQ6E4_C1tXx4A9tmVTjvu1zJTgVP88cmAKYRzbS2Mvqx0L_h0BcD6qVXFksJ_KbmNDaM2bIDckyIev33QgCvrQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564546925" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2Ni1iaHlEeE1pTkpjdVVXRkc1YlZDdFhJTWxjcVZzU3V2RCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.siBWZ32oZatsJvm1TuRChflBnm5mlc3s03r9HP8ILeDvk1K-BQ8KIAL0mfB6T10vhfC1rE7Oizh0hSa14GBfwYgCgae9r3gXxMUD6RtqUnn_7KVnlvvT-ZKJWdJ8cRrcqvKyEm-SzHUCY_-2AFk_--zxgY3qNeN0E7eg-PglAmziTp0F-ahcGXcJhE2OIRhGu-l-zNVo0PrPikSCg_jUhDCYea_NU5Hwg7CVMp7tohq7dkdo1zHRVkGU1gi-08p7O_4gSBoo7q5T3TeNccEJ0_tHLtiA9nx--tqTY0aH0mcXP8kt5tGZP94V9GR-sSYRtMGlLWX2xCqCCCbeFEFgSg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Yzk0NDg2NjctYzA4Zi00ZjU1LWEwY2UtYjBjOWRiM2ZjM2Vh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2Ni1iaHlEeE1pTkpjdVVXRkc1YlZDdFhJTWxjcVZzU3V2RCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.siBWZ32oZatsJvm1TuRChflBnm5mlc3s03r9HP8ILeDvk1K-BQ8KIAL0mfB6T10vhfC1rE7Oizh0hSa14GBfwYgCgae9r3gXxMUD6RtqUnn_7KVnlvvT-ZKJWdJ8cRrcqvKyEm-SzHUCY_-2AFk_--zxgY3qNeN0E7eg-PglAmziTp0F-ahcGXcJhE2OIRhGu-l-zNVo0PrPikSCg_jUhDCYea_NU5Hwg7CVMp7tohq7dkdo1zHRVkGU1gi-08p7O_4gSBoo7q5T3TeNccEJ0_tHLtiA9nx--tqTY0aH0mcXP8kt5tGZP94V9GR-sSYRtMGlLWX2xCqCCCbeFEFgSg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3027" it="0" lt="3027" ct="0" ts="1587564543909" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mjg1MTA0NDEtNjMzMy00MjlkLWE5MDItYzcxMTI4ZmRkZWFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1810-5MyHg04Q9Xd-JSR9-wtaFnwV1S0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="3035" it="0" lt="3035" ct="1" ts="1587564543901" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTkzNTIyMWYtMmQwNi00ODhmLTg1NDEtZjA4Yjk4NzMyYWE0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1758-nn6yiQW-T-E8B77TM40w56TJGkkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="1" ts="1587564546923" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWJhZjMyYjAtMmY4Yi00MDM0LTg1NjItNjM5MjM4NmNlYWE4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564546929" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0Ny1Qa1BGbmhZT1BoUmpVTmF0NmpIMVJ1dXpNNDZjbENrWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Sw_crEeZHz0aW2UfJlevUBFRu7vAazZ16nuJiIbXhmQCTQNtnnwRo2Ybr-CHq-GVjxfFdvdx0BES4pTeXR1jcDCdZfC4CcdgpjtM0AvK65u1tl9UaDoVSj713tRxzal40IitpTj3nqjDSHXZVE0Z8l8rmsjzu2kfg8Isaqy5kiub_55nmxflojXIOZmEQ8-LdOMPpZvrSELmI3I4ILXdH9Yg9Vl7dzASXpIc7zHI2F793sy92ra7zsSrlgzVOXNOwphz6auoGfggdTFmvWylkwqbvkPUIFQ1tqUfX23oEl-duZ2D0LMPqbr38c8KPWsUqY80VEf5s9psjxvuXzLYkg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjNlZWE5NjUtZDhhZi00NmE0LTlhZTQtNDFhODY1YzBkMjE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0Ny1Qa1BGbmhZT1BoUmpVTmF0NmpIMVJ1dXpNNDZjbENrWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Sw_crEeZHz0aW2UfJlevUBFRu7vAazZ16nuJiIbXhmQCTQNtnnwRo2Ybr-CHq-GVjxfFdvdx0BES4pTeXR1jcDCdZfC4CcdgpjtM0AvK65u1tl9UaDoVSj713tRxzal40IitpTj3nqjDSHXZVE0Z8l8rmsjzu2kfg8Isaqy5kiub_55nmxflojXIOZmEQ8-LdOMPpZvrSELmI3I4ILXdH9Yg9Vl7dzASXpIc7zHI2F793sy92ra7zsSrlgzVOXNOwphz6auoGfggdTFmvWylkwqbvkPUIFQ1tqUfX23oEl-duZ2D0LMPqbr38c8KPWsUqY80VEf5s9psjxvuXzLYkg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6971" it="0" lt="6971" ct="10" ts="1587564539967" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWE3ZDJiYTctNDExYy00MTdmLWFhMjYtZjJiMzJiZGM1ZDdj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1736-4NcMyMmtYcGktexzNsOs4TA0z88c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6958" it="0" lt="6958" ct="1" ts="1587564539981" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mjg5NmZkMWUtOTIyZS00MWEyLWExNzgtZmQwMGNlNDY0Zjky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1771-0TPTQKStAXbrn5FtzZxD7PF5qiEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564546931" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0NS01Q3V4Y3htRjREdVRHUy1sOTk0Mk12aC02OC0tUTRXMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SGRmqikDIwbAfyfuZYdMZz5D9aQNFXNSnnIi0xI_6jfq8A-1FbOPNdn7NCMROB---NvdF4fJ7zB8RbHCUsVoK-cuiBWG_qSnK23Zta-RPakvWjczBaoBc7R144aU5Pt-MY3CPZL-DeVBUY5qvZ8-bwLdrjW6dRVaXS2OPv-eVS4vMkOarlyzeqiCiyk-i0B39Sw9CAj7hN-sJ_1ffLXzkOslJEfkXjeJAIpwve57qYujTi5wkyh_Caa6PU8CNBRRCyB_x-Xx2KyoU5nzEthA-xsAOcFe2445SkWIIGGksrLl1PEz34BjDH_zpZXUx7Oeo7mEgF9iHXLc8WR2kfDUAg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGQ2YjU2YzQtZmE0Yi00NDQ2LWE4NDItOGNjZjUxZTI5YmVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0NS01Q3V4Y3htRjREdVRHUy1sOTk0Mk12aC02OC0tUTRXMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SGRmqikDIwbAfyfuZYdMZz5D9aQNFXNSnnIi0xI_6jfq8A-1FbOPNdn7NCMROB---NvdF4fJ7zB8RbHCUsVoK-cuiBWG_qSnK23Zta-RPakvWjczBaoBc7R144aU5Pt-MY3CPZL-DeVBUY5qvZ8-bwLdrjW6dRVaXS2OPv-eVS4vMkOarlyzeqiCiyk-i0B39Sw9CAj7hN-sJ_1ffLXzkOslJEfkXjeJAIpwve57qYujTi5wkyh_Caa6PU8CNBRRCyB_x-Xx2KyoU5nzEthA-xsAOcFe2445SkWIIGGksrLl1PEz34BjDH_zpZXUx7Oeo7mEgF9iHXLc8WR2kfDUAg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="1" ts="1587564546930" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2QyNTVlOTItZjk3Ni00ODUwLWIzOTItNzBmYjYwY2JhMTMw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="0" ts="1587564546923" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTliOGM2YjEtMTA3MS00MTViLWFkZjAtY2NlNWZjODJiMmMw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564546928" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1Ni0tNnVsbUNTVjlIN0dqaUthVzI2ZE8tRXdYVENNWjlzLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.syj5uuYH1RBwAI4C-fptYvbOGYZ3GNfmdPAxY_3-kUJiLOJjuoqN84ymCh6ilGqsXC4NA0Z81QGEMpenb7A6BGcfE8XUZx2EnePpFAqdfxU9r7cCUtcSFmA5ulZ9G0kevaEOZiaGGLf67rsPQY3jK0AUGYJG6czfIyC_5ghXC6X-6EYPyph_7JZIzm_-VvJ9U6UOG7Y3KBpgq9eYK4T1N6RwceKIc6MwgcjZl0_C_0wUku5ovrZtOflBVOC5MBSBD7bjnUaK1sGuOPAetvrTNlJYtH18Ze9YwkcfpSklW7kedxmio6MiNLj43czuJREi-CMR1vWOWxeTu7ui-KDQaQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzdlOTcxOTMtMzgzNi00YmFkLWJiZjYtMjVhYTYzOGM2YjM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1Ni0tNnVsbUNTVjlIN0dqaUthVzI2ZE8tRXdYVENNWjlzLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.syj5uuYH1RBwAI4C-fptYvbOGYZ3GNfmdPAxY_3-kUJiLOJjuoqN84ymCh6ilGqsXC4NA0Z81QGEMpenb7A6BGcfE8XUZx2EnePpFAqdfxU9r7cCUtcSFmA5ulZ9G0kevaEOZiaGGLf67rsPQY3jK0AUGYJG6czfIyC_5ghXC6X-6EYPyph_7JZIzm_-VvJ9U6UOG7Y3KBpgq9eYK4T1N6RwceKIc6MwgcjZl0_C_0wUku5ovrZtOflBVOC5MBSBD7bjnUaK1sGuOPAetvrTNlJYtH18Ze9YwkcfpSklW7kedxmio6MiNLj43czuJREi-CMR1vWOWxeTu7ui-KDQaQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="1" ts="1587564546936" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mjg1MTA0NDEtNjMzMy00MjlkLWE5MDItYzcxMTI4ZmRkZWFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="1" ts="1587564546939" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWE3ZDJiYTctNDExYy00MTdmLWFhMjYtZjJiMzJiZGM1ZDdj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="0" ts="1587564546937" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxMy1STUVyMVBod3hHeVhZaXlLU2o4Qi1ndXNZWlAzVmxDOSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.V-p3M2FNwzddj-RkrKiTIj5uyp6Y96p7eogj9ekFm0HX57VO98wuc-bdZJS-O4u7i6wdetIFhzrTTaOl3GqqZo9bLKlQbUPe9JDQSyUyNJc9aMr4dVKWiJaBBgQFq7MtUWz00hqeF9jMCl-OLmgepFKBvzOcjN2vrXHvCDowaU4ChYMGRVcNa1QIpxmNKDis6PvPmjTq4kR5utppD5gxy_97o6TZrqIuNycE9bxfkVlZ7AnKX2XRRfl0hMgvZm-KOQQo8traw1rZTg-pQLFI_3h5Ugdkq5LI_LoRlJqx-uCP1fxe0FEolmBH0ZgJFr9E0Psk4MOfydGq9wD6ic2rnA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWJhZjMyYjAtMmY4Yi00MDM0LTg1NjItNjM5MjM4NmNlYWE4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxMy1STUVyMVBod3hHeVhZaXlLU2o4Qi1ndXNZWlAzVmxDOSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.V-p3M2FNwzddj-RkrKiTIj5uyp6Y96p7eogj9ekFm0HX57VO98wuc-bdZJS-O4u7i6wdetIFhzrTTaOl3GqqZo9bLKlQbUPe9JDQSyUyNJc9aMr4dVKWiJaBBgQFq7MtUWz00hqeF9jMCl-OLmgepFKBvzOcjN2vrXHvCDowaU4ChYMGRVcNa1QIpxmNKDis6PvPmjTq4kR5utppD5gxy_97o6TZrqIuNycE9bxfkVlZ7AnKX2XRRfl0hMgvZm-KOQQo8traw1rZTg-pQLFI_3h5Ugdkq5LI_LoRlJqx-uCP1fxe0FEolmBH0ZgJFr9E0Psk4MOfydGq9wD6ic2rnA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="1" ts="1587564546939" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mjg5NmZkMWUtOTIyZS00MWEyLWExNzgtZmQwMGNlNDY0Zjky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564546940" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4Ny1TR2hoT2ctS3pGVGJaeVRrQllJUDV6MXZSOWJocG13RCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MaGh2EchPrYzG5WNwNV1nUFFGak3A877tjzuI9eJ6VKK0ucONpH_hGsyep1xblXODk7-7ruWbQ_Cw9eyN28gVLlDRujQNUhvoo-6Yy2LvPNN8WgTlN8Jxe3kZWU0HPZfU-tmHtuOioMMGy8RdaT9scJE7vrNB0e4NONU_JbjL5UFMAEuHVCHgbJHEjxBpFna7L5Qy5zHLK4eil2-PFx3eKkG_eA6W-IqviG1hhvhAV--e4R0lk5FxHTuE4lPK7Reva-dfpLFtMPN5h-MHz_VCm9-tgbrpEe0xPY4ug6MnWzFPuGhT6ztYtWgoRT9B5CI5lVI7F0riPQnX6UVqbxM7g
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2QyNTVlOTItZjk3Ni00ODUwLWIzOTItNzBmYjYwY2JhMTMw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4Ny1TR2hoT2ctS3pGVGJaeVRrQllJUDV6MXZSOWJocG13RCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MaGh2EchPrYzG5WNwNV1nUFFGak3A877tjzuI9eJ6VKK0ucONpH_hGsyep1xblXODk7-7ruWbQ_Cw9eyN28gVLlDRujQNUhvoo-6Yy2LvPNN8WgTlN8Jxe3kZWU0HPZfU-tmHtuOioMMGy8RdaT9scJE7vrNB0e4NONU_JbjL5UFMAEuHVCHgbJHEjxBpFna7L5Qy5zHLK4eil2-PFx3eKkG_eA6W-IqviG1hhvhAV--e4R0lk5FxHTuE4lPK7Reva-dfpLFtMPN5h-MHz_VCm9-tgbrpEe0xPY4ug6MnWzFPuGhT6ztYtWgoRT9B5CI5lVI7F0riPQnX6UVqbxM7g</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6985" it="0" lt="6985" ct="7" ts="1587564539971" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjZmZjJmMDAtYmRlYi00MzlkLWE2ODItYjkxOGNhZTdmOTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1778-1Z1HcTKqjZ4AZKb7bWieg-fI7lQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="22" it="0" lt="22" ct="0" ts="1587564546937" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTkzNTIyMWYtMmQwNi00ODhmLTg1NDEtZjA4Yjk4NzMyYWE0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="21" it="0" lt="21" ct="0" ts="1587564546940" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3MC0wMEMwcnhKeDh1Q2t4UTF1Y3NQenplZnB1Z1phdHdvMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Jw23Yqg4KVWXXnnCfiVf-HsEgEdwOV_fxPlt34yto4Tel86BIIkZT9HCpGXtmIn3JK5mw9JxLAbt3nRLjz1ePCYWCShhrt1--aoj5WJa2XhjmMto_gAurxAjMAo_r8TdUdvnwY6qYM9XXIADqt7889diNkrMPu3CqfeTD0L9adZ-t9-TQD7UbMN-zuUKrqW0VdgqCr-FYtO11TrFcm0bn8v34RkM2cYzkD6vK2d0UbwYnFP21aCN336Xu0Jrec8Rp4cbdV7CICr-G52UMCriGMTmv-gyhL3ps0J_eFmQwHx8rdz16CYxBgCkXgpNdIOWWAfNRxGQQtTjqzdRkz5COQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTliOGM2YjEtMTA3MS00MTViLWFkZjAtY2NlNWZjODJiMmMw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3MC0wMEMwcnhKeDh1Q2t4UTF1Y3NQenplZnB1Z1phdHdvMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Jw23Yqg4KVWXXnnCfiVf-HsEgEdwOV_fxPlt34yto4Tel86BIIkZT9HCpGXtmIn3JK5mw9JxLAbt3nRLjz1ePCYWCShhrt1--aoj5WJa2XhjmMto_gAurxAjMAo_r8TdUdvnwY6qYM9XXIADqt7889diNkrMPu3CqfeTD0L9adZ-t9-TQD7UbMN-zuUKrqW0VdgqCr-FYtO11TrFcm0bn8v34RkM2cYzkD6vK2d0UbwYnFP21aCN336Xu0Jrec8Rp4cbdV7CICr-G52UMCriGMTmv-gyhL3ps0J_eFmQwHx8rdz16CYxBgCkXgpNdIOWWAfNRxGQQtTjqzdRkz5COQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6981" it="0" lt="6981" ct="1" ts="1587564539981" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjViMTYwOTEtNjk1ZS00YTNmLTk0ZTAtZGZkNzRlM2Q4Nzg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1790-S8CxSLTZjaWyj9yVR2dNdhHZ6N4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564546953" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwMi0wdHhpbkpLQkFydWdQTG16bDFWZlN1RVZGQml1cUFLRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SpEi1OyW6qKmcgV6w7ZPiY8O9uP93mbFdvfRwx_1akNxRRsfX5oA-u97fzns6_SyCgQJcmXzW6LpYkbqj_sGNVyE8PekiLGI1CBWC6aZYqqPmzUKqnYQDqkkEUgJhKoeEy75xcrwlavBe6CGoLLM0DVurPZg4j93RVAF8ZHyJBZbWyucCCcRwGjUIXUX3TX_-B7m0Piekf_glDamAIasgS84IrMwirZqGZptqX2ml-yZ_n3LXv3DltLLStsN4WpT6-wW-EN8OKvvjN4DBEVhh7XJJhuPsjH27SPYjvN79kmueFJG1doFjiTxXPTC8eAc0Y0xVSF0DSejajoK8yZ5bQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mjg5NmZkMWUtOTIyZS00MWEyLWExNzgtZmQwMGNlNDY0Zjky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwMi0wdHhpbkpLQkFydWdQTG16bDFWZlN1RVZGQml1cUFLRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SpEi1OyW6qKmcgV6w7ZPiY8O9uP93mbFdvfRwx_1akNxRRsfX5oA-u97fzns6_SyCgQJcmXzW6LpYkbqj_sGNVyE8PekiLGI1CBWC6aZYqqPmzUKqnYQDqkkEUgJhKoeEy75xcrwlavBe6CGoLLM0DVurPZg4j93RVAF8ZHyJBZbWyucCCcRwGjUIXUX3TX_-B7m0Piekf_glDamAIasgS84IrMwirZqGZptqX2ml-yZ_n3LXv3DltLLStsN4WpT6-wW-EN8OKvvjN4DBEVhh7XJJhuPsjH27SPYjvN79kmueFJG1doFjiTxXPTC8eAc0Y0xVSF0DSejajoK8yZ5bQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7007" it="0" lt="7007" ct="21" ts="1587564539957" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjAyOTk0MDItYjE1Zi00NTZiLTg0NmQtYzk5ZGY0MTgyNTYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1747-7zoLvMhWEiweMY-MAwzCl4PHkeQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7007" it="0" lt="7007" ct="3" ts="1587564539958" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzZhZGFjZDEtZjgzMy00M2NiLTg0OTAtMDZiZTYyY2JiYjFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1737-T5re8D5NK-ybBUNyB--P-YZlxGQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564546950" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0NCwianRpIjoiSUQtVG9rZW4tMTUyMC1kOGQtdjZGVkM0TGgyajc4NVh5M2NITXpveWFkcXZmbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ViW0tAAbQr7iO0v06Aj3Z491UcXNo4QAild-YjFXOGdG7UEr03hJuhpKoy9qltmJC2b7w5r0Cak9C9zzBaawdNjojSLUrreuPyhU48nLQBLDbYhz_rCCh5DTJhokJpSa6vqeqICIsyaATWjKfwiIFcAnqKHw3yIV_mYO0by8NMbVH80hR4-mdqC1RxWsqTgMFnFYjJscwcU-v-0krxl2gI8UyS7_-shVLTOKJDSwTVihOGmO7hhZgG0CmBQ2wEIU3bgXkSEtMloSA8le7w0J9NnZfSQ519rHC9cgbAie6lzufCPdMT-R7h46OGu9-ivwmF3bjM03Aczd423geLBGMw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mjg1MTA0NDEtNjMzMy00MjlkLWE5MDItYzcxMTI4ZmRkZWFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0NCwianRpIjoiSUQtVG9rZW4tMTUyMC1kOGQtdjZGVkM0TGgyajc4NVh5M2NITXpveWFkcXZmbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ViW0tAAbQr7iO0v06Aj3Z491UcXNo4QAild-YjFXOGdG7UEr03hJuhpKoy9qltmJC2b7w5r0Cak9C9zzBaawdNjojSLUrreuPyhU48nLQBLDbYhz_rCCh5DTJhokJpSa6vqeqICIsyaATWjKfwiIFcAnqKHw3yIV_mYO0by8NMbVH80hR4-mdqC1RxWsqTgMFnFYjJscwcU-v-0krxl2gI8UyS7_-shVLTOKJDSwTVihOGmO7hhZgG0CmBQ2wEIU3bgXkSEtMloSA8le7w0J9NnZfSQ519rHC9cgbAie6lzufCPdMT-R7h46OGu9-ivwmF3bjM03Aczd423geLBGMw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564546953" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3MS1JU3BwbE05dkhsNVZDQ1JJUXlVS3ZHWTMxaW5DdlZPeCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gS11cRY-m_ADatJ7vS5Za8x8pm5LppLKbhHKRaopGGzOb8MJlw-40U-yZ2YNunk_r1OxCMW5xnAH7YW6ecXb5YBf4i6DUTZUOIRBm03KNoueqtkWPW0qmFjCDfFCSFD00pCppjpeMGVUZdjA-EOUyhWDf-iaRdD2XzxEV9LiJ-ntblhl4NZ5VtCOrVluyL60zYSyBg6prE-osb_Sex7uDBQmva1Y6GyOD8lmrtLWBIQRS-DSxks7V5gRL50pOyN1I3-ydbHObNnEmKsSgqiBAe2WEIfT8CSsyP5KAZAfg5OKo-sRqOS1WynKTXeFg70DVL194ZsBUeOxmDTeuCUArw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWE3ZDJiYTctNDExYy00MTdmLWFhMjYtZjJiMzJiZGM1ZDdj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3MS1JU3BwbE05dkhsNVZDQ1JJUXlVS3ZHWTMxaW5DdlZPeCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gS11cRY-m_ADatJ7vS5Za8x8pm5LppLKbhHKRaopGGzOb8MJlw-40U-yZ2YNunk_r1OxCMW5xnAH7YW6ecXb5YBf4i6DUTZUOIRBm03KNoueqtkWPW0qmFjCDfFCSFD00pCppjpeMGVUZdjA-EOUyhWDf-iaRdD2XzxEV9LiJ-ntblhl4NZ5VtCOrVluyL60zYSyBg6prE-osb_Sex7uDBQmva1Y6GyOD8lmrtLWBIQRS-DSxks7V5gRL50pOyN1I3-ydbHObNnEmKsSgqiBAe2WEIfT8CSsyP5KAZAfg5OKo-sRqOS1WynKTXeFg70DVL194ZsBUeOxmDTeuCUArw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="1" ts="1587564546956" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjZmZjJmMDAtYmRlYi00MzlkLWE2ODItYjkxOGNhZTdmOTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6994" it="0" lt="6994" ct="4" ts="1587564539973" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTY4YTI5NDktZjc3Ni00OTRmLWIwMTctYTdkMTMxZDQ2Y2Y5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1807-r985QvGZQ6fE78-zyTTTKOukq5Ec7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564546960" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0NCwianRpIjoiSUQtVG9rZW4tMTUyMi1MQ3VDeDZYZ0VHMzN0RVJkRy10bktud292dUJYLUxFcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OBt_aaEp7bgnHnuTK7blttR0pe5U0_ipk0bfy9-aAfme7447cafYEy7cJj0ggvSvP_Cm_w2cCTJYq9X1sJi5NlGyAHlZxRTv-H6pnA1Pp0oSXcZuIM20n0AnNCVC_HdptZ2xqwy1GR6ju7aqlSC7ls3XK-XjsSP6Yr-jzcY3y7tuujMjwuLG54QVYHh4BVHoJz5UONNPdtmQv17vMWqyBgPH-QfaWFcvLXKyXkt6znAXn9O8WYZMtibCJ0DWxtMR_rOOMXFkAFu6GwjA7P_2sIvmhcCwnsiXDqKcBNyggGaS4VlOJxWUrUJBxLIUeCWFE8FoaDm1MxO11eE7KbcJcA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTkzNTIyMWYtMmQwNi00ODhmLTg1NDEtZjA4Yjk4NzMyYWE0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0NCwianRpIjoiSUQtVG9rZW4tMTUyMi1MQ3VDeDZYZ0VHMzN0RVJkRy10bktud292dUJYLUxFcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OBt_aaEp7bgnHnuTK7blttR0pe5U0_ipk0bfy9-aAfme7447cafYEy7cJj0ggvSvP_Cm_w2cCTJYq9X1sJi5NlGyAHlZxRTv-H6pnA1Pp0oSXcZuIM20n0AnNCVC_HdptZ2xqwy1GR6ju7aqlSC7ls3XK-XjsSP6Yr-jzcY3y7tuujMjwuLG54QVYHh4BVHoJz5UONNPdtmQv17vMWqyBgPH-QfaWFcvLXKyXkt6znAXn9O8WYZMtibCJ0DWxtMR_rOOMXFkAFu6GwjA7P_2sIvmhcCwnsiXDqKcBNyggGaS4VlOJxWUrUJBxLIUeCWFE8FoaDm1MxO11eE7KbcJcA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="1" ts="1587564546962" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjViMTYwOTEtNjk1ZS00YTNmLTk0ZTAtZGZkNzRlM2Q4Nzg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="1" ts="1587564546964" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjAyOTk0MDItYjE1Zi00NTZiLTg0NmQtYzk5ZGY0MTgyNTYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564546965" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzZhZGFjZDEtZjgzMy00M2NiLTg0OTAtMDZiZTYyY2JiYjFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564546968" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTY4YTI5NDktZjc3Ni00OTRmLWIwMTctYTdkMTMxZDQ2Y2Y5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7009" it="0" lt="7009" ct="4" ts="1587564539973" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjcyOWE4NzAtZTFjOC00ZjM5LTgwNTItNjkxYjM2NTk0YjU2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1819-hZLQvru-4BXu0sdmA7YKSi-7RO4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7001" it="0" lt="7001" ct="1" ts="1587564539981" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjA1NzhjNDAtZWQwOS00OTNhLTllZjgtZWNlYmZiN2YxYjM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1789-M-JcvIjfQojknxHbz1lbQJJge58c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7008" it="0" lt="7008" ct="2" ts="1587564539975" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmFiODY4ZTYtNjU4OC00YjI4LWE5MGMtYzI4NWQ4ZmYxMTE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1764-WrVGnoI1NqeLqhunPreO5ALKfrAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="0" ts="1587564546967" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3OS1YS0FoMG1CeWptSGJkeEpncUs3WDhOM3JMZGExLURoTCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YMWsh9auCxfQwBSotZ23Oj1J6G4RrsCs2584tHFGKp4v0bDX8RyFctrfPtgWYJ48gsWhe7KCbxVEIGBITCLIL9Y8ocW6_sLX_x1qxhj0PZ3WBfEAMJkl4tCyogg_GKkGwHUXcULktYzGe-MWDos2Q4rbnikOnvPPfshTBVXWohf4-K9yH-nYZyLK3WgycOF1xsbeox_vesl97yrpJVj8T3PXsiT7LZ6H4crQQ4DyNn4J16DUJ4D3XMPx7ojDiAVMhYaJpckl3PSyNs2DBxj1zy-ES7rKGoKJ2wsKzdG1-XWj_dlmyGPS-UOpD6xeMXpI2sUPJD_f1ZVPP8kihHtVnQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjZmZjJmMDAtYmRlYi00MzlkLWE2ODItYjkxOGNhZTdmOTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3OS1YS0FoMG1CeWptSGJkeEpncUs3WDhOM3JMZGExLURoTCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YMWsh9auCxfQwBSotZ23Oj1J6G4RrsCs2584tHFGKp4v0bDX8RyFctrfPtgWYJ48gsWhe7KCbxVEIGBITCLIL9Y8ocW6_sLX_x1qxhj0PZ3WBfEAMJkl4tCyogg_GKkGwHUXcULktYzGe-MWDos2Q4rbnikOnvPPfshTBVXWohf4-K9yH-nYZyLK3WgycOF1xsbeox_vesl97yrpJVj8T3PXsiT7LZ6H4crQQ4DyNn4J16DUJ4D3XMPx7ojDiAVMhYaJpckl3PSyNs2DBxj1zy-ES7rKGoKJ2wsKzdG1-XWj_dlmyGPS-UOpD6xeMXpI2sUPJD_f1ZVPP8kihHtVnQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7014" it="0" lt="7014" ct="8" ts="1587564539970" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWUwNTdhNjQtOTYxYy00MWE3LTg2N2UtZmFkOTIxOWY1NTY0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1799-AnIfiT5CkBzFS01zMsohTq8jz74c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7012" it="0" lt="7012" ct="5" ts="1587564539971" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjUxNGZhZjktNjIxYy00MjU2LTk1OTItOTkyYWIzNWI0YzFk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1785-RS3bf4hw7yBH1JlIHNO1iXCCa-Ec7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7055" it="0" lt="7055" ct="16" ts="1587564539962" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODgwODgwZjktYzkzZi00YmI5LTlkMjAtYWYzNmJmNWZhYjAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1815-mjl1SW8EOZqKiM6YmjOMLx3-L7cc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="41" it="0" lt="41" ct="0" ts="1587564546979" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1OC1YYWN6SXZNYkluWkNxLXJSdUEtSU9za0FpTElISjlrRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hyIHrvhPeTs6oc_JLQ868WqKEsrAMJHlYw5V5KnmznUeWiuCrMXW4NR8p2QZixjKjWY0vwI9y15V7q7HwvPxI4d5f046OCUCRyPQ-eNMZaw64s6R-R25Ic6W97yzp-GQzp7mNux_GtKiScww8vRNXVE4P1U2tXlKPuOIDQZA1FRawWQYRRhMcs7wl2eCJ23jWXppY7RQBofFbNXoEQ-OW25BXEODjjUtA6IX9nHMoCWvXCacnjTJrLBLzsqh3dcR7q5gH5x16RKPObmxEY6BBuSch8T7L699umYpWogJxmNBkcYW6bS6lMbQCOj5AZHWNy9s_dNETyAFlEUjXuOxOg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzZhZGFjZDEtZjgzMy00M2NiLTg0OTAtMDZiZTYyY2JiYjFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1OC1YYWN6SXZNYkluWkNxLXJSdUEtSU9za0FpTElISjlrRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hyIHrvhPeTs6oc_JLQ868WqKEsrAMJHlYw5V5KnmznUeWiuCrMXW4NR8p2QZixjKjWY0vwI9y15V7q7HwvPxI4d5f046OCUCRyPQ-eNMZaw64s6R-R25Ic6W97yzp-GQzp7mNux_GtKiScww8vRNXVE4P1U2tXlKPuOIDQZA1FRawWQYRRhMcs7wl2eCJ23jWXppY7RQBofFbNXoEQ-OW25BXEODjjUtA6IX9nHMoCWvXCacnjTJrLBLzsqh3dcR7q5gH5x16RKPObmxEY6BBuSch8T7L699umYpWogJxmNBkcYW6bS6lMbQCOj5AZHWNy9s_dNETyAFlEUjXuOxOg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="42" it="0" lt="42" ct="0" ts="1587564546978" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxNy1mTi02LTdZMnJ6OTVrQ3BUZW1qYlNLWks1alN3TXpUdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.esvHq8tT6F56w2RYQ405yPzhY0MeCWvJ9SItuAJcJWleT2myHdVjRwnJdXvZS_BuiU7kCDHVuvbya5rOfPdoMoga4AVqqF6-nNQasgc0ktmoOFuvoNEtKdZf3xoYOadYIzgWfpDpMf0YfM4HhbuIAAXBAGGnpqw2Rfh6HBT5ndKcDjtzfOf9Ag4wYUKDhKg4hVeT5C97I-GcRwf3xlhyXwKLlo8Nk8AnhQz6x9-5fWNpLYCkgPzFps_CLHuLVF7Np9ZKPexoU4wi9HV3K6b5KENkWUAf7qdTGjtfsRfEk-A20VauGBZY9V2VbZvlAWCZweutTmGe59xv28qhSxS0qQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjAyOTk0MDItYjE1Zi00NTZiLTg0NmQtYzk5ZGY0MTgyNTYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxNy1mTi02LTdZMnJ6OTVrQ3BUZW1qYlNLWks1alN3TXpUdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.esvHq8tT6F56w2RYQ405yPzhY0MeCWvJ9SItuAJcJWleT2myHdVjRwnJdXvZS_BuiU7kCDHVuvbya5rOfPdoMoga4AVqqF6-nNQasgc0ktmoOFuvoNEtKdZf3xoYOadYIzgWfpDpMf0YfM4HhbuIAAXBAGGnpqw2Rfh6HBT5ndKcDjtzfOf9Ag4wYUKDhKg4hVeT5C97I-GcRwf3xlhyXwKLlo8Nk8AnhQz6x9-5fWNpLYCkgPzFps_CLHuLVF7Np9ZKPexoU4wi9HV3K6b5KENkWUAf7qdTGjtfsRfEk-A20VauGBZY9V2VbZvlAWCZweutTmGe59xv28qhSxS0qQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="41" it="0" lt="41" ct="0" ts="1587564546980" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4MS01UUdScDFoejZ0WmlHRlFpZDlZR2RWYUhuaS1wQkh3WSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.U_43B7Jw9v6lE80N6r9xiieXlgD8bpAPshA16IEIWkWXBJ3LgIOK25B6eTl5uXZxn_Aotz2S2tTApa7g7Ih7BiSkLz_ugU2en9G7oVSf8G5QrUQj9MX2ITZv9FMnQ9Vk45hOZdHg3BvJsjaVWkLaniMJnF1vAORcnBEGSmFb2JoVgmUbTwiyYCLZ2Q_iTH2WoVUimtc6jBJZUhSVzXeh9st4grS3_UDY_eggN0LXIoCbTobn_m5VGiVORVZ0XecMLGanKmOmJYmiGDgPFocG7OuDJmSO70RBasl49FPaDe-dQSHnrMDGEsKEo3RyFsQj3BrXLki7q3le9MzGMO_1cA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTY4YTI5NDktZjc3Ni00OTRmLWIwMTctYTdkMTMxZDQ2Y2Y5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4MS01UUdScDFoejZ0WmlHRlFpZDlZR2RWYUhuaS1wQkh3WSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.U_43B7Jw9v6lE80N6r9xiieXlgD8bpAPshA16IEIWkWXBJ3LgIOK25B6eTl5uXZxn_Aotz2S2tTApa7g7Ih7BiSkLz_ugU2en9G7oVSf8G5QrUQj9MX2ITZv9FMnQ9Vk45hOZdHg3BvJsjaVWkLaniMJnF1vAORcnBEGSmFb2JoVgmUbTwiyYCLZ2Q_iTH2WoVUimtc6jBJZUhSVzXeh9st4grS3_UDY_eggN0LXIoCbTobn_m5VGiVORVZ0XecMLGanKmOmJYmiGDgPFocG7OuDJmSO70RBasl49FPaDe-dQSHnrMDGEsKEo3RyFsQj3BrXLki7q3le9MzGMO_1cA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="37" it="0" lt="37" ct="0" ts="1587564546984" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWUwNTdhNjQtOTYxYy00MWE3LTg2N2UtZmFkOTIxOWY1NTY0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="43" it="0" lt="43" ct="0" ts="1587564546978" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3OC12Q0Z0QzAwTDNrakctRENhcDMtOUVoRW9pdXgya1NEYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Wt9zEf5eEoCQ5xtVS4g_lO_onH4rZ4VIufL0Wx7oUmc4qt6vUKaaCie3VInatMj4ZTUh3Ug3otH1rc_FzO3QckyARXpCQm7h5R-llpdr85rP5itSnvRr81uaGgbwyk9PHChrIsSAtp6mlJ2c6ifWKHUR2OCcHoyc44Gw9ZHZ5Ao61W7MWMIltz2bYYp_EHStwxeJ870gHhowcmGkwqyHuVfBB4ygOdRM4CVvVh1b_5QCEg0y2prEMydaS8k9YKbNPGM93BNcnVhBbYfNGhcynY4xbmrRcLVbh_DFePcc9d1-gaRifRt8TA30jlGvfoBeH38pGG8-0_dWjnJv01FM8A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjViMTYwOTEtNjk1ZS00YTNmLTk0ZTAtZGZkNzRlM2Q4Nzg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3OC12Q0Z0QzAwTDNrakctRENhcDMtOUVoRW9pdXgya1NEYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Wt9zEf5eEoCQ5xtVS4g_lO_onH4rZ4VIufL0Wx7oUmc4qt6vUKaaCie3VInatMj4ZTUh3Ug3otH1rc_FzO3QckyARXpCQm7h5R-llpdr85rP5itSnvRr81uaGgbwyk9PHChrIsSAtp6mlJ2c6ifWKHUR2OCcHoyc44Gw9ZHZ5Ao61W7MWMIltz2bYYp_EHStwxeJ870gHhowcmGkwqyHuVfBB4ygOdRM4CVvVh1b_5QCEg0y2prEMydaS8k9YKbNPGM93BNcnVhBbYfNGhcynY4xbmrRcLVbh_DFePcc9d1-gaRifRt8TA30jlGvfoBeH38pGG8-0_dWjnJv01FM8A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="38" it="0" lt="38" ct="1" ts="1587564546983" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjA1NzhjNDAtZWQwOS00OTNhLTllZjgtZWNlYmZiN2YxYjM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="40" it="0" lt="40" ct="0" ts="1587564546982" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjcyOWE4NzAtZTFjOC00ZjM5LTgwNTItNjkxYjM2NTk0YjU2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="38" it="0" lt="38" ct="0" ts="1587564546984" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjUxNGZhZjktNjIxYy00MjU2LTk1OTItOTkyYWIzNWI0YzFk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7049" it="0" lt="7049" ct="4" ts="1587564539974" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjVkZGYwNDEtMWM2Ni00OWRmLWI3YzEtZjJmZjQzZDg0NGQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1786-YtrrV7I3BximjgtiD4lkiqW2OtMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="41" it="0" lt="41" ct="1" ts="1587564546983" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmFiODY4ZTYtNjU4OC00YjI4LWE5MGMtYzI4NWQ4ZmYxMTE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="1" ts="1587564547017" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODgwODgwZjktYzkzZi00YmI5LTlkMjAtYWYzNmJmNWZhYjAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564547024" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjVkZGYwNDEtMWM2Ni00OWRmLWI3YzEtZjJmZjQzZDg0NGQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564547022" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2MS1yYzV1a3U0aTB3clBKaU9wTEZGR0dxLUFieXhyVy1rNyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KzRcp8SjXPct03SKAt5Q-d1C_xJK7bzMfArSt61RP4BF2GSSn2ac2Xj1KQKBDP0dXwPTCEjCOj5KMCnrgbtrFdYzShGY3uyRQn5QGNjDpDP6h89IMjoWslXzYeTXSzBXyZOuEL9JgBTDUUpOKJw5Tkp4RrvHkaSNFrT7C74_4ZeUq-h5YPVgo7wwNlhif8cCrW9bJNQU_I1TwMVP83ePTlXHRFVk2bwS78lgYhx5uyZsTATZ83yvpaulUUo73NOWZiSh450dgKml-Hy3-NSn7Sqa_RTw-KYvrTpQ8Rj43dZZpEyDl9srlS66EElw7rQ0iUZXcEg364JXFAsJNlkAcQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjUxNGZhZjktNjIxYy00MjU2LTk1OTItOTkyYWIzNWI0YzFk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2MS1yYzV1a3U0aTB3clBKaU9wTEZGR0dxLUFieXhyVy1rNyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KzRcp8SjXPct03SKAt5Q-d1C_xJK7bzMfArSt61RP4BF2GSSn2ac2Xj1KQKBDP0dXwPTCEjCOj5KMCnrgbtrFdYzShGY3uyRQn5QGNjDpDP6h89IMjoWslXzYeTXSzBXyZOuEL9JgBTDUUpOKJw5Tkp4RrvHkaSNFrT7C74_4ZeUq-h5YPVgo7wwNlhif8cCrW9bJNQU_I1TwMVP83ePTlXHRFVk2bwS78lgYhx5uyZsTATZ83yvpaulUUo73NOWZiSh450dgKml-Hy3-NSn7Sqa_RTw-KYvrTpQ8Rj43dZZpEyDl9srlS66EElw7rQ0iUZXcEg364JXFAsJNlkAcQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564547024" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2NS1zSlhmZW9GWkE0YUpXRFV4cDJJWEZPRVFjaGtzc0JpRCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lWQ1FRYMpsBkKOywgOaNCVAb_7LR_sfMuGMHTfVew8Ng5fR408KPwwxXwSu6Cc4uu7s7h6OgmLqeCCSFLenwH9FICxWtXO71jVMF5dZDh7dxq-5ZZgXfYYp544plBAXfMDuTXPoei93LKxnTt4UPya6QH6OfwZkVV8pjR5jMx_SDg2lJZ1Qx0SS9w-wUJAF230XIZu29mw8AiUyQJccMbA423rjFgRcHhNxH3MlyVKj2l02ZGlcSNvNVhWHv6u23-4CyauvUqgMQ-o9LeVvxaWXtX23ECyeAF6lYMF5tDmtwlOGaG7wWFpbOpFDyY-D-CQ7KYyRaSIxN1k9lYGAkxw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmFiODY4ZTYtNjU4OC00YjI4LWE5MGMtYzI4NWQ4ZmYxMTE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2NS1zSlhmZW9GWkE0YUpXRFV4cDJJWEZPRVFjaGtzc0JpRCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lWQ1FRYMpsBkKOywgOaNCVAb_7LR_sfMuGMHTfVew8Ng5fR408KPwwxXwSu6Cc4uu7s7h6OgmLqeCCSFLenwH9FICxWtXO71jVMF5dZDh7dxq-5ZZgXfYYp544plBAXfMDuTXPoei93LKxnTt4UPya6QH6OfwZkVV8pjR5jMx_SDg2lJZ1Qx0SS9w-wUJAF230XIZu29mw8AiUyQJccMbA423rjFgRcHhNxH3MlyVKj2l02ZGlcSNvNVhWHv6u23-4CyauvUqgMQ-o9LeVvxaWXtX23ECyeAF6lYMF5tDmtwlOGaG7wWFpbOpFDyY-D-CQ7KYyRaSIxN1k9lYGAkxw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564547025" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4NC1udE5rb3l5YXBJcnhmLWVkb0dqbGg2SUhuWFdVYzZSZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.scK-lW2w_TYfqOO_PUNvjquWLHuFVSV9evPAy2kDmzJbrBABGwWi8ydoLYPSH46xMxZgS9-1ooYFs3OyiCLc3G34bTRStEuQOVMSPQUu3wrWqI2DXxV5RKLql43hi3BZdJXadcCVUPcCDpCNHunGmIp6uLuGQqLwzr3nZM9ab0Y2XuZQ72Ezya-RtgWvpI00xx_sxmbX_9qXKhY5SGjTYoS3QE2h0zRzjr220DL7ObWfuL2xVXfD79Wgw9fnaRV4SQrtJxC0lUJdN0a0Wqot9HO5mJ0_CGYQJBculSYkPkYDsBKXX0rCLQ1L1FATnXKSTJWWlkXHPXJVArtzN9GHGQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODgwODgwZjktYzkzZi00YmI5LTlkMjAtYWYzNmJmNWZhYjAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4NC1udE5rb3l5YXBJcnhmLWVkb0dqbGg2SUhuWFdVYzZSZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.scK-lW2w_TYfqOO_PUNvjquWLHuFVSV9evPAy2kDmzJbrBABGwWi8ydoLYPSH46xMxZgS9-1ooYFs3OyiCLc3G34bTRStEuQOVMSPQUu3wrWqI2DXxV5RKLql43hi3BZdJXadcCVUPcCDpCNHunGmIp6uLuGQqLwzr3nZM9ab0Y2XuZQ72Ezya-RtgWvpI00xx_sxmbX_9qXKhY5SGjTYoS3QE2h0zRzjr220DL7ObWfuL2xVXfD79Wgw9fnaRV4SQrtJxC0lUJdN0a0Wqot9HO5mJ0_CGYQJBculSYkPkYDsBKXX0rCLQ1L1FATnXKSTJWWlkXHPXJVArtzN9GHGQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564547021" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwMy1uT0NyTTlvRTlNcXlzRi1pZS1iS0dDMzhOb2xWRjhNcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cjulCRz5UCzS1OxX0AuuIVdfI0SW61sYCwjVmX_sLBg0gemMdhh5igkYRtz8M8EZE1qfhjOsjWpEUeak2QV-qJSvaZ0Twc8e4dgf9C22XCY4kI1FeW7y3-5vu2yNYMnbnwewAGANNSRZtGHf43rgM2a4m2SkepuYmj9BW6LZrZi33S0vQyV8ReWO48h9Atj-7eX0GLbKTwc-CMb59SQUfJT6WeIqS8AsXPpAOhn-s65ynmM_31T0Tjwfc621OaVlWJPrBRAOBYwuyBlG-WSsTHnInYIpejhnMgo1DKdCgVCvsGL11mxR49cRawJYYTXPQMdPj8oOkneQ3LsMvmnaJw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWUwNTdhNjQtOTYxYy00MWE3LTg2N2UtZmFkOTIxOWY1NTY0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwMy1uT0NyTTlvRTlNcXlzRi1pZS1iS0dDMzhOb2xWRjhNcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cjulCRz5UCzS1OxX0AuuIVdfI0SW61sYCwjVmX_sLBg0gemMdhh5igkYRtz8M8EZE1qfhjOsjWpEUeak2QV-qJSvaZ0Twc8e4dgf9C22XCY4kI1FeW7y3-5vu2yNYMnbnwewAGANNSRZtGHf43rgM2a4m2SkepuYmj9BW6LZrZi33S0vQyV8ReWO48h9Atj-7eX0GLbKTwc-CMb59SQUfJT6WeIqS8AsXPpAOhn-s65ynmM_31T0Tjwfc621OaVlWJPrBRAOBYwuyBlG-WSsTHnInYIpejhnMgo1DKdCgVCvsGL11mxR49cRawJYYTXPQMdPj8oOkneQ3LsMvmnaJw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564547022" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5OS1VVFN0ajZwOWZPMzJuLWMtSEhyQlNmUWdCSlpybWtIMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QYv-RS8gBESESEO_b7TEvaYYlSJOQHORM40oV4LZnnBL3gZ_zS8HvEDVRnqv-x43nlrmQEZ1xW0pZCKn5vmepILtRB_Us2fvxEI78NsK2JRRzDmNyJ59NibAVMBMwgqjylC5-0jYzh_5AcmV-ssH4kcN74PAwnYez8-dy88x716RMqK7k0kOXtIkuWoRK1v_QMLk-SQVPUmslATQEpmVGRBDRnoeC3ofzzGcWsE4PYWQnIpMhn3fbjRtKNWfXCiJf2iosCQRDbG37eyDGR-jSfGVuse8kQGwFlAjIFVCmzI0PMi4cUAHq06ypCMCQCgDvkKzEO1-Em6QKHnpjTEFrA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjcyOWE4NzAtZTFjOC00ZjM5LTgwNTItNjkxYjM2NTk0YjU2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5OS1VVFN0ajZwOWZPMzJuLWMtSEhyQlNmUWdCSlpybWtIMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QYv-RS8gBESESEO_b7TEvaYYlSJOQHORM40oV4LZnnBL3gZ_zS8HvEDVRnqv-x43nlrmQEZ1xW0pZCKn5vmepILtRB_Us2fvxEI78NsK2JRRzDmNyJ59NibAVMBMwgqjylC5-0jYzh_5AcmV-ssH4kcN74PAwnYez8-dy88x716RMqK7k0kOXtIkuWoRK1v_QMLk-SQVPUmslATQEpmVGRBDRnoeC3ofzzGcWsE4PYWQnIpMhn3fbjRtKNWfXCiJf2iosCQRDbG37eyDGR-jSfGVuse8kQGwFlAjIFVCmzI0PMi4cUAHq06ypCMCQCgDvkKzEO1-Em6QKHnpjTEFrA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564547022" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3Mi13UW04Y2dFbi1FYWR5aTFjRkx4dmNrMjlxaTRXUlJLbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MeAKlwnVDcji6lixBTzFbIUGPegAQEqPyiKMNYtBTVl2f_Ega3aNh7yeQYEFA70V3qzMzSASuzMZ5HfcUSMDS1LryN7b_RvjYkB6ycq-oC8_f3Jk5LDDqHiTlspwWPhCj3LXUgtJ18wZ39J6moRL0lqt1lJQ1pvlU105XTqXuqQSvFYxErxSGSNotoyoW0a2XyvFYOy3rx8HvrZO8WQtPEhf29YzIcUIv7SBzXwdCJYzBmLMHVr04bO1yujex3WI2ivCLgkl_wpRY2VhAE-IQFGBjFmRk728u7zdUzMa8BFY7_spxz0QbDRxnoYBF9HTHN0UATzNSBzJozWJtjo3eg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjA1NzhjNDAtZWQwOS00OTNhLTllZjgtZWNlYmZiN2YxYjM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3Mi13UW04Y2dFbi1FYWR5aTFjRkx4dmNrMjlxaTRXUlJLbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MeAKlwnVDcji6lixBTzFbIUGPegAQEqPyiKMNYtBTVl2f_Ega3aNh7yeQYEFA70V3qzMzSASuzMZ5HfcUSMDS1LryN7b_RvjYkB6ycq-oC8_f3Jk5LDDqHiTlspwWPhCj3LXUgtJ18wZ39J6moRL0lqt1lJQ1pvlU105XTqXuqQSvFYxErxSGSNotoyoW0a2XyvFYOy3rx8HvrZO8WQtPEhf29YzIcUIv7SBzXwdCJYzBmLMHVr04bO1yujex3WI2ivCLgkl_wpRY2VhAE-IQFGBjFmRk728u7zdUzMa8BFY7_spxz0QbDRxnoYBF9HTHN0UATzNSBzJozWJtjo3eg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564547031" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwOC1Ic0haNENjYTExRXR1UldXZ3pEMEdUclA3N0lKLUd3eSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.D0-M9vCWDpi_kWVrY_eeb0PTNajFbnc1BWttS8g61-tTXkfAbROWAEg1LwNixaC0h57WKkyZJF3Dk8TehRYnl3FP-6ZVBkGMIHiHFtBqXjYEKQEac1DZCiqfWrFgCW7l9gpe41fS6oN2S07vOIalOIx0bT0W82IUpvG8JGUfeGFI31g3gyt3J-mptSFnCdbBxVFBhyNR9cE08ziYG3_V7A_YQxDFl-zsL21PbUVTTxliMnrj5P_6P7Du_IN_UU_CB-Eo_cmNSARaTRBT3Nmq8YWqmp7CDo3nGG6rYcDMQF68Vp_iZmpseOX61LizJpyWU7r-PBcCIwa2cZgKyI_Rdg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjVkZGYwNDEtMWM2Ni00OWRmLWI3YzEtZjJmZjQzZDg0NGQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwOC1Ic0haNENjYTExRXR1UldXZ3pEMEdUclA3N0lKLUd3eSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.D0-M9vCWDpi_kWVrY_eeb0PTNajFbnc1BWttS8g61-tTXkfAbROWAEg1LwNixaC0h57WKkyZJF3Dk8TehRYnl3FP-6ZVBkGMIHiHFtBqXjYEKQEac1DZCiqfWrFgCW7l9gpe41fS6oN2S07vOIalOIx0bT0W82IUpvG8JGUfeGFI31g3gyt3J-mptSFnCdbBxVFBhyNR9cE08ziYG3_V7A_YQxDFl-zsL21PbUVTTxliMnrj5P_6P7Du_IN_UU_CB-Eo_cmNSARaTRBT3Nmq8YWqmp7CDo3nGG6rYcDMQF68Vp_iZmpseOX61LizJpyWU7r-PBcCIwa2cZgKyI_Rdg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6635" it="0" lt="6635" ct="1" ts="1587564540478" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGQyYmU4NDAtNGEzZS00NWIyLTkwYTgtMjBmNjVjYWFmMmQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1803-dOXhKNeQCo-AUXCiUB-klhFVzuAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="1" ts="1587564547113" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGQyYmU4NDAtNGEzZS00NWIyLTkwYTgtMjBmNjVjYWFmMmQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547120" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5NS16UUNOd0ZEbi1aWFFKNng5ejJYSEZ5Z2ZZUlpDc291RCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.muFOzXZ6MzfxbG60ncYDnXM0pln_oT2ladH83k8LprM_JqqjAU5lGmdPPScUGOYpl4g-xif4hCoX3M3pYfuAUphRJlh8PuSTVrDPgSZyLRIA2mdmIw8_YuUaeVdTWEfm0Yi73aLEQdec_ZnS9ubUgTZ7s8myFLw1lKAH-sGuz2Q9WzyqwuK7jG2pBUt1A-LgHMPuuOHJdNkXqgqLe-EZ5KERmN7NL7iFGwGVRnRWcRCmjI8bAKjM9LOFykplP778iJVqRMMCeKfhJm2GxJ1UvlaRWJbUdDK49vNp3Ei-0n6pFQT0Esms2h4_Vc3U-Rtxs3xUsIaY-IBx8s1H-W7ytg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGQyYmU4NDAtNGEzZS00NWIyLTkwYTgtMjBmNjVjYWFmMmQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5NS16UUNOd0ZEbi1aWFFKNng5ejJYSEZ5Z2ZZUlpDc291RCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.muFOzXZ6MzfxbG60ncYDnXM0pln_oT2ladH83k8LprM_JqqjAU5lGmdPPScUGOYpl4g-xif4hCoX3M3pYfuAUphRJlh8PuSTVrDPgSZyLRIA2mdmIw8_YuUaeVdTWEfm0Yi73aLEQdec_ZnS9ubUgTZ7s8myFLw1lKAH-sGuz2Q9WzyqwuK7jG2pBUt1A-LgHMPuuOHJdNkXqgqLe-EZ5KERmN7NL7iFGwGVRnRWcRCmjI8bAKjM9LOFykplP778iJVqRMMCeKfhJm2GxJ1UvlaRWJbUdDK49vNp3Ei-0n6pFQT0Esms2h4_Vc3U-Rtxs3xUsIaY-IBx8s1H-W7ytg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7201" it="0" lt="7201" ct="3" ts="1587564539974" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWZmNzk3ZWQtN2Y4MC00ZDBhLWJiN2MtZDEzMjk2OGNiNzg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1818-p1659-BuSy4tRQmwOsfRtE8BqYQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7190" it="0" lt="7190" ct="0" ts="1587564539986" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjJhYjk4NWMtYmEzZC00NThmLTk1NmUtMmQ0NzFlZDM1M2Iy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1798-Ei4W7mRyetBPrTK2wMZCUAOS780c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="22" it="0" lt="22" ct="10" ts="1587564547176" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjJhYjk4NWMtYmEzZC00NThmLTk1NmUtMmQ0NzFlZDM1M2Iy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7221" it="0" lt="7221" ct="5" ts="1587564539977" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2UzM2EyNDMtMDFjNC00Y2JkLTgzZTQtMWQ1NjJkNWQ5NWVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1805-3IDYx9Ngk56ykrzl-tKCF1zwwvoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7224" it="0" lt="7224" ct="2" ts="1587564539975" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTZiYmNmOGEtYWMyYS00YTE1LTg2NGQtZmU0MmI5MmMwOTky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1757-lu5dqYUfUIBck7Wl8D7d8kt7uuIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7234" it="0" lt="7234" ct="12" ts="1587564539965" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWE4YTIyYjktN2M4Mi00MzE1LTkzYWQtMWU3YzZiNzgyNWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1808-fBe6w8kcq2228CsiV3z2qKig0Xoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7243" it="0" lt="7243" ct="20" ts="1587564539958" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2NmNmEzN2QtYjI1Yi00ZTY0LWE1YWEtY2I0NTY5YjBhYWQ2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1742-LmkCQzCP1f6uxIJMgFv1MoYa55sc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="636" it="0" lt="636" ct="0" ts="1587564546565" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzFlZjdiY2EtZjU3OS00YjdmLWFmNWEtN2Q0ZjQ1OTk4NjVm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2Ny1YVldFM0dRQ2FCaDBYdU1kS2sxcVBGTWhTeThzc3ZkRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WF9O_MI_WQBtpUI98A4C6auS6yq-Z_vwyrPLY9fqjT6OEdHLFNMkFpOzgE2Aums0uwWNGKP_KckS4YD1obdCrZBuS9-a8CTvd7AkEFskMCbOcVSoifZuwzIZFuaXP1OUKuTypeMfd7_SXk_ws43O00mmKZaT60SPI8obQM9NeG15Q0gyAKzPUPVYLOZf2FgzdJ3GrX9jTzEVqs2051T-5m4W8AbE0Dpb0v8HDrfLMUi67GoM-9-J4DIN5KhIEBBFyb2fJS3JNmRbfxY026QOYK8r7xpBNeuHfj5be_pvUaUoEEKpS3sYQYzSKQ2x8569Dpnu1jgoZkc8ZxqoraO1oA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODgwZjliY2YtZjUyYS00YjhlLTlkY2UtNTMwMWYyNjY1NDU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="6707" it="0" lt="6707" ct="0" ts="1587564540495" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWEyZmRhOGItOWE4Ni00Zjc4LWJhZjctNjM4ZTZiZWRkYzFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1733-MGSVdfpr5-VmiW6qhwZwGIK1JzAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="27" it="0" lt="27" ct="11" ts="1587564547175" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWZmNzk3ZWQtN2Y4MC00ZDBhLWJiN2MtZDEzMjk2OGNiNzg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7239" it="0" lt="7239" ct="12" ts="1587564539965" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmVmODJmYjYtOThlNy00MTU5LTllMDgtZTZiMTI2MjdiNjdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1782-zzhwGe0MY9Fh7E5UTXVjgpS4cywc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7250" it="0" lt="7250" ct="21" ts="1587564539957" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWFmZDFkMjMtZTNlZi00YjJlLWE1YmEtMmEwZjM0NzMxNTkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1743-ABdIZY7yFfj7xKefXb7-qhcPI-oc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564547199" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2UzM2EyNDMtMDFjNC00Y2JkLTgzZTQtMWQ1NjJkNWQ5NWVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="548" it="0" lt="547" ct="0" ts="1587564546662" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-34" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDQ3NWVhYjYtMTE3YS00YjliLWE4ODAtMzkyMDY3NDM5ZmM1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2NC1oTGlYYVVYbkxZUEo1dXpPa1REVG9Yd1hoaW1NZkg0MCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cScUCKgvIHjL1dX5yPGaC-SFmmqetG9Pabgpq9U1J4-otsSgqqa4vwYkU_q0FvEf9xkOvLGTuC79PIZNVrFUS3q7fsTeOZc5UgzYWLF9sS_Ms6U7ZFVQNDUkt_isX8q1octUDcbdCXI9C9qm2_9QP0Fi8ZT5GTS3uBpN1NCLHhujRiWdBCU_lhuofwCMcE6zYdd3yYPDs69gLRdwJd_9UHVcOOKIbsJjI_k6_X0ZdhhMnIIRA0PSqfpqSUJIB_dRnXS0XEzTSACIJOocnDyq0vkxb0tARHo_9ikcaDh4QjY4IeWkGmV402xOqGte-vFneeNTSiMHpnXYEQKETi1P2Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Zjg3ODU1Y2QtYmRhNS00NmFiLTgyZDQtNDVhMjgzMTVkYmM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="1" ts="1587564547199" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTZiYmNmOGEtYWMyYS00YTE1LTg2NGQtZmU0MmI5MmMwOTky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564547198" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxMi1NRUU5eFhJOFNDdWE2LVh0WXl1ek5SYTZiQ0Q3UTNZTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oZK7NueYMyr7kSrFvkaD6t3AKaFnQtIrvsQfZKL3zv8mvOOo9yJId5GFJsQfWHYL7u6el8iAfHAH6f7lZ3_5uZjKFPARyDKnUSmQhKW4tiO1r5nOm_kHGqvJjr0YfNEcx5wguy3JCguMiFEqYEYm_CfgDq-ktJatanBAJ5EjZzhBY5Kon2a1pKqrASEiuZ5ODmgH7myxliheD1FRngNqiDHkjE8AcmUeq154P_SmhXXftx-Uf5t_KPVflIyLegKp3mdgUoEzVn8w7_Xu3KpehBqCkeWYBqzguYjbjYzGmPXVfaY8gamV4POD4NvZ90iOM39NE7198n5SpzSVxuTgXw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjJhYjk4NWMtYmEzZC00NThmLTk1NmUtMmQ0NzFlZDM1M2Iy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxMi1NRUU5eFhJOFNDdWE2LVh0WXl1ek5SYTZiQ0Q3UTNZTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oZK7NueYMyr7kSrFvkaD6t3AKaFnQtIrvsQfZKL3zv8mvOOo9yJId5GFJsQfWHYL7u6el8iAfHAH6f7lZ3_5uZjKFPARyDKnUSmQhKW4tiO1r5nOm_kHGqvJjr0YfNEcx5wguy3JCguMiFEqYEYm_CfgDq-ktJatanBAJ5EjZzhBY5Kon2a1pKqrASEiuZ5ODmgH7myxliheD1FRngNqiDHkjE8AcmUeq154P_SmhXXftx-Uf5t_KPVflIyLegKp3mdgUoEzVn8w7_Xu3KpehBqCkeWYBqzguYjbjYzGmPXVfaY8gamV4POD4NvZ90iOM39NE7198n5SpzSVxuTgXw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="1" ts="1587564547202" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWEyZmRhOGItOWE4Ni00Zjc4LWJhZjctNjM4ZTZiZWRkYzFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564547202" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3Ni1aYy1iMjZWdzhFYjVZaE0tLVFadi03V2RuVm9WSWNNUiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BYFV5n3jBZnY60k4fhT8DxLcNlkV0dyCAonq_4OPieSNNf_3L0DitplOHpj3KVlmtQ9L1jQqoEKEz4KfkKR-bIPn4JTVeCqvU1DTRqp2fskVzmIS3VF1vF_ipiHXNcp9k8ZdUDB2vahagGGrCjwK6KCybwjo7_FyPHgWWJZ0S6INARVW788Kd2tc85pdAhJ1mGUfT0Qp9qRBf8fjy9rfPa669nFloSJlJy8vBJ3-R1jJ2fesnuySPqDfn5-V-ENvOHbfhWOlE438gKUTmtWp0fTkyvZ2diittChx2ToNJSDNBmVIB5ynC5-_jK2DXOoEd3-3QPgDfjiTBphy6NkJBQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWZmNzk3ZWQtN2Y4MC00ZDBhLWJiN2MtZDEzMjk2OGNiNzg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3Ni1aYy1iMjZWdzhFYjVZaE0tLVFadi03V2RuVm9WSWNNUiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BYFV5n3jBZnY60k4fhT8DxLcNlkV0dyCAonq_4OPieSNNf_3L0DitplOHpj3KVlmtQ9L1jQqoEKEz4KfkKR-bIPn4JTVeCqvU1DTRqp2fskVzmIS3VF1vF_ipiHXNcp9k8ZdUDB2vahagGGrCjwK6KCybwjo7_FyPHgWWJZ0S6INARVW788Kd2tc85pdAhJ1mGUfT0Qp9qRBf8fjy9rfPa669nFloSJlJy8vBJ3-R1jJ2fesnuySPqDfn5-V-ENvOHbfhWOlE438gKUTmtWp0fTkyvZ2diittChx2ToNJSDNBmVIB5ynC5-_jK2DXOoEd3-3QPgDfjiTBphy6NkJBQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7254" it="0" lt="7254" ct="15" ts="1587564539962" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjAxOGQyYTYtM2Y1My00OGU4LTlkYjAtMGEyMzEwZTk4MTAx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1745-Ulv2yI91PEqY0iHrCsFk4K5BEPcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="1" ts="1587564547201" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2NmNmEzN2QtYjI1Yi00ZTY0LWE1YWEtY2I0NTY5YjBhYWQ2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564547209" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxOS1kY0lNQVVCaDZXejFlRkpmZ0RFZG43ZzdNbnFnMlBiLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Pyiov-tp9HwPgorTssKa6Acw_qRWf7dKaTlPYKEermOGtpUKQbkIrlPH17lkGdtrBBjMUsTg_EMCiWyUaGHM6Guk_5cGnnRPysgEoVpKsftf9IYA-RMaNO4nhJdZNySjRXHRINNZ6dXAMumE8mIZWASE7bNEqrjeB2TcUeXeCLkpHCscC4rvmfonIGO6gFZCW5GPG6KqAot8Zo48wUK45uXvAr06KXKAf1hcE4BzyZRZBzOQk0Gr-IHN52TF35B-clKAHN29bGrFX7BwdMuwDrQAcnDhbJ-OsxgXAIGAaUsu26f_NeQD48if38EUmXb9fZoyeTGU8pCXkP8W_YiDgQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2UzM2EyNDMtMDFjNC00Y2JkLTgzZTQtMWQ1NjJkNWQ5NWVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxOS1kY0lNQVVCaDZXejFlRkpmZ0RFZG43ZzdNbnFnMlBiLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Pyiov-tp9HwPgorTssKa6Acw_qRWf7dKaTlPYKEermOGtpUKQbkIrlPH17lkGdtrBBjMUsTg_EMCiWyUaGHM6Guk_5cGnnRPysgEoVpKsftf9IYA-RMaNO4nhJdZNySjRXHRINNZ6dXAMumE8mIZWASE7bNEqrjeB2TcUeXeCLkpHCscC4rvmfonIGO6gFZCW5GPG6KqAot8Zo48wUK45uXvAr06KXKAf1hcE4BzyZRZBzOQk0Gr-IHN52TF35B-clKAHN29bGrFX7BwdMuwDrQAcnDhbJ-OsxgXAIGAaUsu26f_NeQD48if38EUmXb9fZoyeTGU8pCXkP8W_YiDgQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="1" ts="1587564547204" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmVmODJmYjYtOThlNy00MTU5LTllMDgtZTZiMTI2MjdiNjdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564547212" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5My1CQm5pRjJGTXNpOG5aQjk2WXY4cE0ySW16UGRleDE4ViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.knhocDebaQXEFT2mDV8ryEL9sF1tQQrUlxPb9PA4hoazs84dSdVcTJ59eiSx_XGF0bvFofLwuS7OXRTBauHxY7k0BZPlcYKGbj3Q9OehhPh7PYuLc1Ev9pBRK00G_tH2Etkb5NmV89Lwhd14C2hcTi_9nLuWiy_es6OO-oz7RUhITFPG4fzBTd-PNcjEVWJvOjQBl5VkoJ6OcFhuYnz2h82enmc-oy6YpdGThMUTqOGES_ha3rIcV_718vlgGbjULc29KgU0BCTkdEcH5v1PM4hH4tIyRwDYG9Vf7eHlqSs5Qk0_epQflMdtpL6mDI5OZ40ihP8eXvunEhEvzv7RAw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWEyZmRhOGItOWE4Ni00Zjc4LWJhZjctNjM4ZTZiZWRkYzFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5My1CQm5pRjJGTXNpOG5aQjk2WXY4cE0ySW16UGRleDE4ViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.knhocDebaQXEFT2mDV8ryEL9sF1tQQrUlxPb9PA4hoazs84dSdVcTJ59eiSx_XGF0bvFofLwuS7OXRTBauHxY7k0BZPlcYKGbj3Q9OehhPh7PYuLc1Ev9pBRK00G_tH2Etkb5NmV89Lwhd14C2hcTi_9nLuWiy_es6OO-oz7RUhITFPG4fzBTd-PNcjEVWJvOjQBl5VkoJ6OcFhuYnz2h82enmc-oy6YpdGThMUTqOGES_ha3rIcV_718vlgGbjULc29KgU0BCTkdEcH5v1PM4hH4tIyRwDYG9Vf7eHlqSs5Qk0_epQflMdtpL6mDI5OZ40ihP8eXvunEhEvzv7RAw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564547211" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwMC1pNmZWdEREVmhBaEpselFvYXVQa0tlR2tNd0RBVy14OSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Jm7il8ScmnewofA6inqHB5ATUNm2pn2nSZkwxAaHB43TQDokEQD1pkuSULxWFc7jnobjCEZzWY6TC1a_vhpa1XfWcug6-eiCep3-doZl51gjQPZ5LUOEANazE1ImSZNxjfCT2UafmisU4gRPgcp1AFI-M3rC4wDahTQjsMvtm4M2q_TUdizy01RomeHzetbJtM9Sry1NS1fXBG38lNiLWHMx27rGTD5IvZblKWwRTUpn0E4cyGvCmEcMwsGowMv0czdUDfCDfrReVTkRcZG_dgn0dmPcO6JCXhSExUsClkeZCa9mDcm0wvxv55SLIZXt_-YBtILAqsBCMlPzcTis1w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTZiYmNmOGEtYWMyYS00YTE1LTg2NGQtZmU0MmI5MmMwOTky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwMC1pNmZWdEREVmhBaEpselFvYXVQa0tlR2tNd0RBVy14OSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Jm7il8ScmnewofA6inqHB5ATUNm2pn2nSZkwxAaHB43TQDokEQD1pkuSULxWFc7jnobjCEZzWY6TC1a_vhpa1XfWcug6-eiCep3-doZl51gjQPZ5LUOEANazE1ImSZNxjfCT2UafmisU4gRPgcp1AFI-M3rC4wDahTQjsMvtm4M2q_TUdizy01RomeHzetbJtM9Sry1NS1fXBG38lNiLWHMx27rGTD5IvZblKWwRTUpn0E4cyGvCmEcMwsGowMv0czdUDfCDfrReVTkRcZG_dgn0dmPcO6JCXhSExUsClkeZCa9mDcm0wvxv55SLIZXt_-YBtILAqsBCMlPzcTis1w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="1" ts="1587564547207" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWFmZDFkMjMtZTNlZi00YjJlLWE1YmEtMmEwZjM0NzMxNTkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="21" it="0" lt="21" ct="1" ts="1587564547199" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWE4YTIyYjktN2M4Mi00MzE1LTkzYWQtMWU3YzZiNzgyNWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="324" it="0" lt="324" ct="0" ts="1587564546903" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-66" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjEzNWIyMzYtYmU4MS00NzVkLWIwYzktZjRiNzE0NTAyZWI5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5Mi1zVWFLVGRRV3lia0dLRmZKRzhFM0JLYmx3VHB1MlVYSiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Hc4Q5w_8Md5BXblEXAYM5DDgvmcjJkCAg4HYk8jnbf_1neWv_BF3NnoRNDnHp-IKoQlGSIcDYvqOgskUVsNi1cAzq32SvObwk0qaK0DBRGNUtRRIqgvRPWt4IbzoOXkiXFOHmn7QcM2JIOZIQIBo42nU4zuSZXKuitDyemtPILZRtT9xDnyGbrRXH1VpsKmgIXFU1649yhDYnBIu3vKx60kPn111OmJxXsB3dm_3k5t9EcJNmV6LL9moPYCevxuTt5UIZB4XPpEeqPnM4OvcJOlRiDCkTcbYRKGZDUpk0MnY9qoJukZEXrQw6JupX3d4BpLusf7MiJmSOpJkVRttTw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MWE3MWI0YmMtNDlmYS00YTEyLWJjOWYtZjEzN2U3N2Q4YWM1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564547219" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwNC1CUnd1eS1CUUR1TzNGcGNGeGE4eVBGeFRCemlQWDZwRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.b9W7sEWPP7m63JzRT2yWa8DWuqgk6ZPPds4bWOF88rNmhv5nV5V-yi0Fktm_q9aVzy5Glj28Q0xpm9I78C5Zoe_0CFqF5IhUPKoj-XCzTOYTMjXiuiNMz9qQGWm77O2cdvdt_KSDpUpSya8LZ56fOW9XwIXQJekFUD86uyezoM9ywrhJoaw0804aOJ886it7bY-_dmmpVqarycGNlGe37ImESmHDk3AEm2Ak96XfKB58L3ZG4t1LifIGrPrIxPc7Xe4WitmFU02cfok-kw055PTqExAWl_CuCLAeHNnHbp7u58Tq0ZFn96iEshXRUml6JppQtsmGyA8-UoZgCqtcYg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2NmNmEzN2QtYjI1Yi00ZTY0LWE1YWEtY2I0NTY5YjBhYWQ2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwNC1CUnd1eS1CUUR1TzNGcGNGeGE4eVBGeFRCemlQWDZwRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.b9W7sEWPP7m63JzRT2yWa8DWuqgk6ZPPds4bWOF88rNmhv5nV5V-yi0Fktm_q9aVzy5Glj28Q0xpm9I78C5Zoe_0CFqF5IhUPKoj-XCzTOYTMjXiuiNMz9qQGWm77O2cdvdt_KSDpUpSya8LZ56fOW9XwIXQJekFUD86uyezoM9ywrhJoaw0804aOJ886it7bY-_dmmpVqarycGNlGe37ImESmHDk3AEm2Ak96XfKB58L3ZG4t1LifIGrPrIxPc7Xe4WitmFU02cfok-kw055PTqExAWl_CuCLAeHNnHbp7u58Tq0ZFn96iEshXRUml6JppQtsmGyA8-UoZgCqtcYg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564547219" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5Ny1TdFlWSkFHVGtYYXJYT3Q4VmJEVWszWEVOanc5MVVEUSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.CypBwjRE5Xrius4nxZru_7skFtFzjfqO_B7yz1MXoik266sOrSU2tyv6gWKntIE8QAm-1FrvHLrMO_yIY3R5mT8VYhe5pPYY0q-oigtzQS2po6VV4QobntJkBwqbfhU2NNC7NoiFtUnAO9_xLC8C49XUw5p9nIe-ewj6m2eRfvGITxOxk0h2Twm5G292MpbuiswEiw9UyaZcL2M5KYYQLhNy4eLXUwsbEWupeSwnUz2OYyuvvZ2RMlIWg6thxlLSRkBgPysfuuR2WWdTQO8RMKdvoVn7hb1GQlsTOfulf_40bSa1bismsSV-EnojWUk4GJLFoF8P_wRsraFHRigolg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmVmODJmYjYtOThlNy00MTU5LTllMDgtZTZiMTI2MjdiNjdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5Ny1TdFlWSkFHVGtYYXJYT3Q4VmJEVWszWEVOanc5MVVEUSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.CypBwjRE5Xrius4nxZru_7skFtFzjfqO_B7yz1MXoik266sOrSU2tyv6gWKntIE8QAm-1FrvHLrMO_yIY3R5mT8VYhe5pPYY0q-oigtzQS2po6VV4QobntJkBwqbfhU2NNC7NoiFtUnAO9_xLC8C49XUw5p9nIe-ewj6m2eRfvGITxOxk0h2Twm5G292MpbuiswEiw9UyaZcL2M5KYYQLhNy4eLXUwsbEWupeSwnUz2OYyuvvZ2RMlIWg6thxlLSRkBgPysfuuR2WWdTQO8RMKdvoVn7hb1GQlsTOfulf_40bSa1bismsSV-EnojWUk4GJLFoF8P_wRsraFHRigolg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564547220" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxNC1BQXhTSWdRS1JVdWhsNTFGc2k4VXVJb2d4UEZyeXE4cyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pNvVuxZj5pcxNCVHDYjJTVm0FjNapEjLMSTdXJmHQPyGHYQK1tWWGCY8nnwxFwtmMGBFjqiv0W25m-ciC2k2JcjxX81-E3XvELusnTm94pT4Wi03UdHlpqBVp0nUfp-mIgiJK1FXgwdfbqREJ4s6sKgUoQn0aNHLgr2KxNep9wwxdhtd-0XfGIgUeoEFL25eWiRZGdnhbsJi1lXAFMzdcrLfWGdQYlUa3Ad1hPqeenDv10xofsdNGBuqZE5v4QAfNHmUgmgy0MfkE0QYbzuo9YClGMlYRGqpxUeQYHGk9OVnlZN5wikZbLgkaLmzhWFKsqHjHJJOndS_8G0u0-nrhQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWE4YTIyYjktN2M4Mi00MzE1LTkzYWQtMWU3YzZiNzgyNWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxNC1BQXhTSWdRS1JVdWhsNTFGc2k4VXVJb2d4UEZyeXE4cyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pNvVuxZj5pcxNCVHDYjJTVm0FjNapEjLMSTdXJmHQPyGHYQK1tWWGCY8nnwxFwtmMGBFjqiv0W25m-ciC2k2JcjxX81-E3XvELusnTm94pT4Wi03UdHlpqBVp0nUfp-mIgiJK1FXgwdfbqREJ4s6sKgUoQn0aNHLgr2KxNep9wwxdhtd-0XfGIgUeoEFL25eWiRZGdnhbsJi1lXAFMzdcrLfWGdQYlUa3Ad1hPqeenDv10xofsdNGBuqZE5v4QAfNHmUgmgy0MfkE0QYbzuo9YClGMlYRGqpxUeQYHGk9OVnlZN5wikZbLgkaLmzhWFKsqHjHJJOndS_8G0u0-nrhQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564547217" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjAxOGQyYTYtM2Y1My00OGU4LTlkYjAtMGEyMzEwZTk4MTAx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="196" it="0" lt="196" ct="0" ts="1587564547034" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-100" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWI0ZDYxZDQtOWVkZS00MDU1LWE5M2MtYjNjNmJhMzQwNTg2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwMy1uT0NyTTlvRTlNcXlzRi1pZS1iS0dDMzhOb2xWRjhNcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cjulCRz5UCzS1OxX0AuuIVdfI0SW61sYCwjVmX_sLBg0gemMdhh5igkYRtz8M8EZE1qfhjOsjWpEUeak2QV-qJSvaZ0Twc8e4dgf9C22XCY4kI1FeW7y3-5vu2yNYMnbnwewAGANNSRZtGHf43rgM2a4m2SkepuYmj9BW6LZrZi33S0vQyV8ReWO48h9Atj-7eX0GLbKTwc-CMb59SQUfJT6WeIqS8AsXPpAOhn-s65ynmM_31T0Tjwfc621OaVlWJPrBRAOBYwuyBlG-WSsTHnInYIpejhnMgo1DKdCgVCvsGL11mxR49cRawJYYTXPQMdPj8oOkneQ3LsMvmnaJw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YWUwNTdhNjQtOTYxYy00MWE3LTg2N2UtZmFkOTIxOWY1NTY0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="267" it="0" lt="266" ct="0" ts="1587564546963" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-80" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDYwZTNkNTItMDhkMi00MzBiLWFkYmYtYWViZjczMjg5MmU0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwMi0wdHhpbkpLQkFydWdQTG16bDFWZlN1RVZGQml1cUFLRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SpEi1OyW6qKmcgV6w7ZPiY8O9uP93mbFdvfRwx_1akNxRRsfX5oA-u97fzns6_SyCgQJcmXzW6LpYkbqj_sGNVyE8PekiLGI1CBWC6aZYqqPmzUKqnYQDqkkEUgJhKoeEy75xcrwlavBe6CGoLLM0DVurPZg4j93RVAF8ZHyJBZbWyucCCcRwGjUIXUX3TX_-B7m0Piekf_glDamAIasgS84IrMwirZqGZptqX2ml-yZ_n3LXv3DltLLStsN4WpT6-wW-EN8OKvvjN4DBEVhh7XJJhuPsjH27SPYjvN79kmueFJG1doFjiTxXPTC8eAc0Y0xVSF0DSejajoK8yZ5bQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Mjg5NmZkMWUtOTIyZS00MWEyLWExNzgtZmQwMGNlNDY0Zjky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="365" it="0" lt="364" ct="0" ts="1587564546865" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-64" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmZiNDEyYmItMjIyZi00MWYzLWJmYjMtMjc3NWQ3YTM0NDBj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2My14NDhQSi0tR3lZc3hwQnlneUJaWFZZbE1vT1pxTm5YYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Y_fS3b-xhppGJDwVsWvp421Va1DptDuss7dNBAYL4wx7WDL5VASjbEgv5lafhWyYepktfEBKwljh6PCb1G_-FoFB4uSlr3C2WPt58l0GuQ0SKv5NF9fLm4GJiReWHTPtdFETzdq2dj4OUswbOqYYFg-oYljfLRkEDozlJUMIwRs3gR6sMr_uKHE7hE0mIqLKFFC_r3wI6_enT38tddDIqjDBHG8n-BjeQkUpDZpSkb7llcGBxviCAMU_OKWp_CZ-Q3LLmEdcoKI_JYO5FI_ynowxIkjzFhW1v4mJN8FprpjByvvHNN5txq32At3hdOKlFqv6f4DsnqdmJKdH0MVioA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTViYTQ1YmEtNzMxYy00MTM2LWJkYjEtNmNhYzRlMDU1Yjcx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564547220" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4OC01WmNhazBmSmZDaG9TVlRiamhJSXVLZjNXUEpiN2g3NSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IeDMmjDJpCBuLgxkw0E-gbx4RSdDkbLWo8yYEfVqxXhkJWSZe3Y7KHf9RGaBU98rhlSjzyycISVBlGGMZuFZC11A79qVNaDo_a15qD2OY_Vp2cDk969XQ2j9jFrjuD4FDt2Yrf1XXQnpNNZww-q_67lYwxXtTFYJEpNrVtzf4Zsgqz4Zcvnpiqcm_Ia506MMiERgOFAqWPk9d9Sme2kFeWOmtr0ewmlFhgit57FBkFk0sY1h6EL93mjTiflxOK3ykn_2m4W1fow3dH7m-4OUehotZE2kxNK7fthmwwEqMxEtPGuASRg9Oixm40-c9Ax-S1DKfkELulI5kACgUxw4Hg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWFmZDFkMjMtZTNlZi00YjJlLWE1YmEtMmEwZjM0NzMxNTkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4OC01WmNhazBmSmZDaG9TVlRiamhJSXVLZjNXUEpiN2g3NSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IeDMmjDJpCBuLgxkw0E-gbx4RSdDkbLWo8yYEfVqxXhkJWSZe3Y7KHf9RGaBU98rhlSjzyycISVBlGGMZuFZC11A79qVNaDo_a15qD2OY_Vp2cDk969XQ2j9jFrjuD4FDt2Yrf1XXQnpNNZww-q_67lYwxXtTFYJEpNrVtzf4Zsgqz4Zcvnpiqcm_Ia506MMiERgOFAqWPk9d9Sme2kFeWOmtr0ewmlFhgit57FBkFk0sY1h6EL93mjTiflxOK3ykn_2m4W1fow3dH7m-4OUehotZE2kxNK7fthmwwEqMxEtPGuASRg9Oixm40-c9Ax-S1DKfkELulI5kACgUxw4Hg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564547230" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwNS05TG0zQU9makVKNElVMHBtMUwxSi0tdkV0N3VITVZhOSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FOzIuf4MnnXqw83xZUosmCU5xJl1tzTPZWLCb-SKGRshSZSF5t2hGOxkbZzYMPTvj8uilpDJhEGiefL8Eg3YWKsCaPQLcsWIIKpocZ0mJwNQR5h6ThEJkh7LDy71BnFf9ZtYk9IbBwUeB4YoD6u3sRJPFesToKOhNhte_uPMyazzY422XxbBiUafdHS1hSuWGS34ecQ-feRpmtA677FWwKb-9XGkEzuJVTjyHlxZUlezYCux767_nUijTO4yjAqF5198y-sGNTCkGMAnXAA81ul8C24CtlNVydoANWCjeCEAfFDwOPi0am8ay0RGVxlx-ZHdrIGp-pmrV2Asv1XpVg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjAxOGQyYTYtM2Y1My00OGU4LTlkYjAtMGEyMzEwZTk4MTAx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwNS05TG0zQU9makVKNElVMHBtMUwxSi0tdkV0N3VITVZhOSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FOzIuf4MnnXqw83xZUosmCU5xJl1tzTPZWLCb-SKGRshSZSF5t2hGOxkbZzYMPTvj8uilpDJhEGiefL8Eg3YWKsCaPQLcsWIIKpocZ0mJwNQR5h6ThEJkh7LDy71BnFf9ZtYk9IbBwUeB4YoD6u3sRJPFesToKOhNhte_uPMyazzY422XxbBiUafdHS1hSuWGS34ecQ-feRpmtA677FWwKb-9XGkEzuJVTjyHlxZUlezYCux767_nUijTO4yjAqF5198y-sGNTCkGMAnXAA81ul8C24CtlNVydoANWCjeCEAfFDwOPi0am8ay0RGVxlx-ZHdrIGp-pmrV2Asv1XpVg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7329" it="0" lt="7329" ct="11" ts="1587564539967" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTgxNjBmMmYtOGRhNi00MTZmLTk2ZWEtMmZhOWIwNTJkMWM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1769-jZ-xb93c0HbDCiEBvXyE3A09igAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7321" it="0" lt="7321" ct="2" ts="1587564539976" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjkyYjI1ZmMtMDM0Yi00MTBkLWIwNGItYWFlZTcwODI1MDI4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1800-YSa28D4u6dS2FIxZaCPJUmFkZ9Yc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7317" it="0" lt="7317" ct="1" ts="1587564539981" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDZhYzc4NzAtZGRkOS00YTY3LWI1MWEtODAwZmUyZjQ2MGFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1792-MsF-4ZBYsTf1VLGUNq5TheVaDfYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7342" it="0" lt="7342" ct="19" ts="1587564539959" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Njk3OTcyNWUtMzc2YS00MmQ0LTk1M2MtZTk3MTEyY2E1MmJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1746-iZLUrtpWQ1jb-Juji-gRFk-YD-8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7327" it="0" lt="7327" ct="1" ts="1587564539976" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWM2OTBmNTAtMzkxZC00YzdiLWJkNjItMjZkNjM1MmE2N2Ux</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1768-74n3ScDAsP-7G0D2fT6lPoe2c-Ec7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="633" it="0" lt="632" ct="0" ts="1587564546670" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-24" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODA2MmU5YTMtZTY2Yi00NDQ3LWJkNTEtODcxY2VlMzY5Nzhj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ5MC1jV0tqMFhOY0JRMEtsalk2cFhnckhPMkpETURWdlJ0MSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.a5SoUuht0RkGjkEn26N6WbiTgzz21XbCKEiKGqy50mCC-Ly38xCjWKFXOpWH2YRQQzT2ntGEvxhcqp8e4hPtFulJLLPeSrg23YGs_2OF8na7dLid8zVckEsZhz3DQ8AJKKl6n_f0cOQOCYxFDq29kF9lpGEDh8J7cE2MK7YQPwZLWQXzlgfiytmxlRQOTDzWx3cOPqXw5OKFTmVhtTU3MNec69-q_Vah04mv81c5T445dbxuPnhRFmfWFl9bH6RD77K6BcdaQqobV8_o9McoiIPcOCyqBBSqMMsVT5B9gJjdFmAer5e6FRW2pW7-fxgAsjMb10fbwnr7XywBBUps1w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MDlhN2ZmMjktNWI5MS00MGVjLTk2MWYtOGRiOGZjYTRjZWYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="7345" it="0" lt="7345" ct="17" ts="1587564539961" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTc0NDU3NjMtN2Q5NS00Zjg4LTk3NjUtMzA5ZjQ4ZTE3MjA2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1794-Hls605-Qj8pDtej1mck-3CB2ZnMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8927" it="0" lt="8927" ct="2" ts="1587564538380" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWYwYTA0NzItYjc0Yy00MzliLThjMTctNGJiOTIwMzQ0ZTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1735-lCjONkQ37GooY4gnEUzau-Hlef8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7346" it="0" lt="7346" ct="1" ts="1587564539964" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjFiNzdkMzYtYzA3My00ZTAzLWExNzctOGExODc4MTQ4YzNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1784-4-pSD0poySes8k0FspnW1ydiCG8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="1" ts="1587564547297" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjkyYjI1ZmMtMDM0Yi00MTBkLWIwNGItYWFlZTcwODI1MDI4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7351" it="0" lt="7351" ct="18" ts="1587564539960" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWM1MThiMzEtMjY5My00MjdiLWIzYWMtYzI0YWNmZTRmMTQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1738-oiuzahBDZTUbpRpl1PcXo6C-0QYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="571" it="0" lt="570" ct="0" ts="1587564546740" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-22" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTFkYWY0NjQtZDIxYi00NmRlLTgxMzAtNDVkZmNlODg1YjUz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1MS1UbWlkenNxUmsyQnNqdnBHWGVLaExNaGNlbDk3ZXZqViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UcX2gXHwEHX6FfAUVFoHeyGenheFuhMtQ9gMvfDXLoKTJbrbqFPhwBKoBt_q9Zn2gRuoPSvqNO9k2HfLdKVoKl6XPROSiB-zPLBgeVhP2z2aVajpZa_r11iG0dskTQ8l0kjtU6TvW6c_xQsoqvty5OAFt-9P8btyzhrdgEkZfj611ytvScXZ9VE3Yr1T0Iyv5aSOTJTv3DU3lYsb58ntbtZLQdbID_jvQ9yzDI3ltWA5GsCul2CKtMjKGDNyFZJt5rKzMhKT8X62ewDEBOvnjM6Dk68k4_0cuAySr-_SVQR5Y_H902byOIBWE-x2ZYU3i9Ht6TZIUbTeDobR0uJvyA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MTM5ZTZiZjgtNzlmZi00N2FlLWFiNGEtNmJlNGMzNzE0Yjc5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="645" it="0" lt="642" ct="0" ts="1587564546670" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-87" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjUwM2ZhZWItM2NmNy00NGQzLTgyYzEtZTlmNzUwNDcxZWZk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4My1ZMWZPZ1h2cUZxZXZFQzVqQkNUNE1tY2Z0aFVPd3JYcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.a_hK2DNJC48Onb2HM8bV3wJsHp85uIanvf4OJas8K99N7C4749infcR2MYpInk4_1lcqElyS6dpGbjAz_Z3Ax8q-b9z71zyBfK41Jnu5ANtfRuUdazFTZxoNaFBXpXntqagB0-7BCYzOcZMgx33PwxnPooEsOHdIwIJfRHWuAdCdjZhjzTiUQhl5OfRzpPZoK4QauEEAJNda67mUGMqaQs2EAGt1CiEqiyUIGZMOtAfPciTTYqIfhFpW84pwCtW2FMszoUuRjS7-EZJ0gQpPfxD_pKCjbKV5FVy3SZhg1erJb0TCkYQO6Dgb1SBjyydW3EyCsFaLl7IoRBIQYOxxbA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MDIyZWVmMzQtZDNhMi00ODMxLTgwZDItMDdmMDVlZjY0NWQ5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="20" it="0" lt="20" ct="2" ts="1587564547296" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTgxNjBmMmYtOGRhNi00MTZmLTk2ZWEtMmZhOWIwNTJkMWM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564547301" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Njk3OTcyNWUtMzc2YS00MmQ0LTk1M2MtZTk3MTEyY2E1MmJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="21" it="0" lt="21" ct="0" ts="1587564547298" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDZhYzc4NzAtZGRkOS00YTY3LWI1MWEtODAwZmUyZjQ2MGFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="1" ts="1587564547303" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWM2OTBmNTAtMzkxZC00YzdiLWJkNjItMjZkNjM1MmE2N2Ux</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="1" ts="1587564547311" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWM1MThiMzEtMjY5My00MjdiLWIzYWMtYzI0YWNmZTRmMTQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564547310" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjFiNzdkMzYtYzA3My00ZTAzLWExNzctOGExODc4MTQ4YzNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="19" it="0" lt="19" ct="1" ts="1587564547306" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTc0NDU3NjMtN2Q5NS00Zjg4LTk3NjUtMzA5ZjQ4ZTE3MjA2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="412" it="0" lt="412" ct="0" ts="1587564546913" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-99" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Mzk2NTRkZmQtYTNjZS00NDkxLWExNjQtZTk1Yzg0MWMyOGNl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4MC0tYVBESmJieGtjRFpQMnFBUS1zM0dzUmRwLXRSUGs3eiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.n-5Zwx03HLlr5CvUp8X7URDSxebrqp77x2ztVC57_O4JdDvIx65IebavPPsa90gJjrb6LGjMdA4XdMG6r3DXB38dwPm71zHyzwgnKJ7EdX1BCKT0OfxCV8r3mxBwVH2iB_HFLSv08YLxpn4dNNjAzkC45b36xiCphDI_EEMjAsPyGsMLoIwup6NLYGSimWYjlbONamjVVeDgp5REEtfRYohBWXTqGuW-osaOvnMVOjnYc7KuDpZeNeKGztqHXnOrx_5PiNzodY1oDqRTGTNZJl5BzV5lsA_glaKyWJkbPIuhRGTBWYb1CFLGVMzyMDzMHNeqg0sEGwDZBkZW8PC2_w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OGUxZTU1NTAtMjU5MS00NDA4LWE4NDItNzEyNGIxOTFmOWVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564547308" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWYwYTA0NzItYjc0Yy00MzliLThjMTctNGJiOTIwMzQ0ZTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="0" ts="1587564547310" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5OC1PUm83SUpTb2NWendudlJONklMdXdteGFrUXZ2SzdSUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PHcugAuk2UWiBr15kPjH_dg8Hr6vW8e-vngPzt331UJLymSGLsO_b8XCTwd4hsBjvbDpW3zSN8YYVfMH3uyKX6WnkIKQZ60KzVifofU_amqbLXAJBJZj7weSSyvf7v1bDPWlnxT7V9pIapipWWkBr7pY9mlA_jtPWEQGxDc_WF-hzscsC3kNAYtuOgOjgpG6O7N5BUq2ltGpR_LQeiohKFCto1QHyOHqlrv1W6cQYKF7FQJawshMtkslF6Jx0U8DAPKEWPe5qYW2CEwlwu5M_z87fNwcuvgxyMwnILldd_gKNAWmP_CGa8kR8DT-DMt8yVpl6pwQ-zzWkfrXFl53JQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjkyYjI1ZmMtMDM0Yi00MTBkLWIwNGItYWFlZTcwODI1MDI4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5OC1PUm83SUpTb2NWendudlJONklMdXdteGFrUXZ2SzdSUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PHcugAuk2UWiBr15kPjH_dg8Hr6vW8e-vngPzt331UJLymSGLsO_b8XCTwd4hsBjvbDpW3zSN8YYVfMH3uyKX6WnkIKQZ60KzVifofU_amqbLXAJBJZj7weSSyvf7v1bDPWlnxT7V9pIapipWWkBr7pY9mlA_jtPWEQGxDc_WF-hzscsC3kNAYtuOgOjgpG6O7N5BUq2ltGpR_LQeiohKFCto1QHyOHqlrv1W6cQYKF7FQJawshMtkslF6Jx0U8DAPKEWPe5qYW2CEwlwu5M_z87fNwcuvgxyMwnILldd_gKNAWmP_CGa8kR8DT-DMt8yVpl6pwQ-zzWkfrXFl53JQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564547319" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2OS1SbG45OWw4OEM1LVJYVk5KaXVuWkhwVi04NjZwME44LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gfPPOk1PkGa4STbLhz5fvgnQ-_Gpms-j4MXGA7r1WYAT_SPNrQ4tKIorblC0sgAU1ifdXOL09aKnNgJcoFZTrcsmaSBASpD3r8zZBxQzILlWEpsduR-j9EohyEMVCojYd_Iqkv-3EEobFGzlMWk7ktu0WhhJ6_CLvYEHJ9nJztyCkR8EAHb6xiLGvl9sEs60eU6ijmhBkkibE0krQDzMr3d8dcnzo2mmNDRWLdcf6yjUJRhMdtuMYy8XXO3T2ryoWkYiQNsHK5Mwjtw6Ac1djgN8AwLikYjdyM640jnDrJ9FjIp8feyvNlW_-WlWogKT_z2qbuBX4a0s69KO4b6apA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Njk3OTcyNWUtMzc2YS00MmQ0LTk1M2MtZTk3MTEyY2E1MmJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2OS1SbG45OWw4OEM1LVJYVk5KaXVuWkhwVi04NjZwME44LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gfPPOk1PkGa4STbLhz5fvgnQ-_Gpms-j4MXGA7r1WYAT_SPNrQ4tKIorblC0sgAU1ifdXOL09aKnNgJcoFZTrcsmaSBASpD3r8zZBxQzILlWEpsduR-j9EohyEMVCojYd_Iqkv-3EEobFGzlMWk7ktu0WhhJ6_CLvYEHJ9nJztyCkR8EAHb6xiLGvl9sEs60eU6ijmhBkkibE0krQDzMr3d8dcnzo2mmNDRWLdcf6yjUJRhMdtuMYy8XXO3T2ryoWkYiQNsHK5Mwjtw6Ac1djgN8AwLikYjdyM640jnDrJ9FjIp8feyvNlW_-WlWogKT_z2qbuBX4a0s69KO4b6apA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564547317" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxNS1MNXNHdTQ4S3lQNDZpbEdpcG9ra1FOZ29sTGtwNk9sZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GOydjuPyPog_Hd6gYK8_4T9TZ1Oc2yoZjlcqJDJbrPGn_gJLFnjqwkU_ipZZzOB3MzpSK3n3zZXsC3ZdcapuS2ebx77k0NX2F6_AvG-3UGiob53Ih2fUkGO3yKLA1oyg4ZiEfrD20x9kisjS-GhdUEboLAjQBgl1gERRmP89ERDUhsHq_Q49Ty3xCoSe6t40pt7XrxNEJmPfGPCo9-7rmFCBvEX00vO-49kKPmOXmfN9MIEL2hiZSZ-826LhErAs9xDipB0GiPRZATVdrNx_FN2g6xq-WRmGIr1GrEjEzkoUpf0rZ9-INt6vpo88Nh0K6qW1yu1gDy3wEWzlPW4aGQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTgxNjBmMmYtOGRhNi00MTZmLTk2ZWEtMmZhOWIwNTJkMWM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxNS1MNXNHdTQ4S3lQNDZpbEdpcG9ra1FOZ29sTGtwNk9sZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GOydjuPyPog_Hd6gYK8_4T9TZ1Oc2yoZjlcqJDJbrPGn_gJLFnjqwkU_ipZZzOB3MzpSK3n3zZXsC3ZdcapuS2ebx77k0NX2F6_AvG-3UGiob53Ih2fUkGO3yKLA1oyg4ZiEfrD20x9kisjS-GhdUEboLAjQBgl1gERRmP89ERDUhsHq_Q49Ty3xCoSe6t40pt7XrxNEJmPfGPCo9-7rmFCBvEX00vO-49kKPmOXmfN9MIEL2hiZSZ-826LhErAs9xDipB0GiPRZATVdrNx_FN2g6xq-WRmGIr1GrEjEzkoUpf0rZ9-INt6vpo88Nh0K6qW1yu1gDy3wEWzlPW4aGQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564547319" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxMC14REtRZ0NlLW55R0lGNklSTEIzYUg4eXFJUFVFVHB5OSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aCH1ABpemIkrzAavWs56WBByGYK8OmbBJNdfVY4pjkYf912K9-3CzLLh94L_DtcF3yUd8RlNVPWRee_q5hwLsf7kNaFqEAl1QYN2Sjiep8ltU6FQwLMy1gxSgOa_8y-PvUpkXYK0Bj-w1qX8flujrrZgC75qgVOSK8DD9SyclU34TCAPNYV4nAbxcY9Ig1WsDRb-CGK6g8DpIxiA_zK03YNXhj4xGcVbyYM2ppixk8nFr8s3kNNCBPzSnRDwSJYs8MoPBDJf0NKTn_LV71jTvtXsnicLdaQO_gmoszR5SbwzP3_V9RQN78mw0p08hwWk0UNdvlSkiGRUQJe4wMKZ_Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDZhYzc4NzAtZGRkOS00YTY3LWI1MWEtODAwZmUyZjQ2MGFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxMC14REtRZ0NlLW55R0lGNklSTEIzYUg4eXFJUFVFVHB5OSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aCH1ABpemIkrzAavWs56WBByGYK8OmbBJNdfVY4pjkYf912K9-3CzLLh94L_DtcF3yUd8RlNVPWRee_q5hwLsf7kNaFqEAl1QYN2Sjiep8ltU6FQwLMy1gxSgOa_8y-PvUpkXYK0Bj-w1qX8flujrrZgC75qgVOSK8DD9SyclU34TCAPNYV4nAbxcY9Ig1WsDRb-CGK6g8DpIxiA_zK03YNXhj4xGcVbyYM2ppixk8nFr8s3kNNCBPzSnRDwSJYs8MoPBDJf0NKTn_LV71jTvtXsnicLdaQO_gmoszR5SbwzP3_V9RQN78mw0p08hwWk0UNdvlSkiGRUQJe4wMKZ_Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564547320" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5Ni1BRjFma3hiaTdtRC15V0Y2dEtOOWgzZFk2ZHVMTW11dyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sKtktiFRGssmkXvH2nTeHdOIBkzk_Zo_3HVKPYSFm2AxZNnob_cE2jiZjA2VoiwCvil45k39JRCL8ydwbF3LhXJYDoyawShltbpJYgnAaIs_aTjvkUnBXQlIEnQzYFDvxx3kRpp7G3MVLMtNrL3S7osFj3yXmFyMDOSoV3Ol9mayEReBSZi-UeMohlSPuqfYPgGuPbDg0VhJPqMHDivgPgEKjjivs2i77-dZUyQZWZSRP4vgdzQMVRQAyuT7KfkAK3MTvBYoe0n9oiwk9wf80hl4GxLoz-Xr8MXA94UyE3Wj1fw0YBDByIfLvTrIZJE43Duja3Uf44j_E1oqXX9cng
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWM2OTBmNTAtMzkxZC00YzdiLWJkNjItMjZkNjM1MmE2N2Ux</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5Ni1BRjFma3hiaTdtRC15V0Y2dEtOOWgzZFk2ZHVMTW11dyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sKtktiFRGssmkXvH2nTeHdOIBkzk_Zo_3HVKPYSFm2AxZNnob_cE2jiZjA2VoiwCvil45k39JRCL8ydwbF3LhXJYDoyawShltbpJYgnAaIs_aTjvkUnBXQlIEnQzYFDvxx3kRpp7G3MVLMtNrL3S7osFj3yXmFyMDOSoV3Ol9mayEReBSZi-UeMohlSPuqfYPgGuPbDg0VhJPqMHDivgPgEKjjivs2i77-dZUyQZWZSRP4vgdzQMVRQAyuT7KfkAK3MTvBYoe0n9oiwk9wf80hl4GxLoz-Xr8MXA94UyE3Wj1fw0YBDByIfLvTrIZJE43Duja3Uf44j_E1oqXX9cng</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564547325" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0NC1JVmtXZkhkRUdEaXBxUHYtSS1WRGE3R3hYelhEZHNaMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QsVhRSY87IVBl3GmRgqh68LOWg15FccI6M4hxwiNHZvcloI45XQ7VI3Oy6MYCrbMirCW7eTLP232A09fnKXLNgqFf-0O2t2_PwPe3HLL26pbGGM0L32h5chK8HIEQ-W0gfA-rtll2o9wb3G7ZtUC-0NCy2X66Veq6A4_9zRvHruXgQldLZb7_NFbzd4fYXkIlq1048AM6v8orkqFh2Uh0qUBAzBElPs1Cbh_xO9r1dTvSoSmbMyFUXKEpgucxAOjngvltb2r64g0cK2mgffcR1B3-Udn-CUBqUBk4M_OAuonk_YcONsV2o-392wQig5U-J3IPuvT7db1qYWVHu3tRg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjFiNzdkMzYtYzA3My00ZTAzLWExNzctOGExODc4MTQ4YzNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0NC1JVmtXZkhkRUdEaXBxUHYtSS1WRGE3R3hYelhEZHNaMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QsVhRSY87IVBl3GmRgqh68LOWg15FccI6M4hxwiNHZvcloI45XQ7VI3Oy6MYCrbMirCW7eTLP232A09fnKXLNgqFf-0O2t2_PwPe3HLL26pbGGM0L32h5chK8HIEQ-W0gfA-rtll2o9wb3G7ZtUC-0NCy2X66Veq6A4_9zRvHruXgQldLZb7_NFbzd4fYXkIlq1048AM6v8orkqFh2Uh0qUBAzBElPs1Cbh_xO9r1dTvSoSmbMyFUXKEpgucxAOjngvltb2r64g0cK2mgffcR1B3-Udn-CUBqUBk4M_OAuonk_YcONsV2o-392wQig5U-J3IPuvT7db1qYWVHu3tRg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564547325" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwNy0zUDBVdDF2VkIxdnlqVUJuaTdKb05EeGVMdVpwNm5WaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bxNL-nVjO03Nf85DxvR1G4hCcbtebPgN2HQsJno7qLVuu65_1G1txoj2l2drVYoPlhyFW94HtgVllW9-0XuCcGEVzwyEGoLY_zxuboVhSQBeNkSuWL6fUf2RjMcqMgDviy0fl3NP9HGtfa4_q28xFoeKJfNnbTAEGZZoycQFfrOxEmP-ZXFGcw6tc5gj4jDhwawrwNmo49q3FccN9l6vhtDdI5QSnzyJ0Sw20QnkK2A9-wcoK4ohsAW9tiA_mSqqRs5DpgMcbqOXRSF1vjwTG2j9a2sVnGDzV6fkII263pBP1_ILyPhYCLY8BZzd6bns4t3kccIScE0OJdVPu82PwA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTc0NDU3NjMtN2Q5NS00Zjg4LTk3NjUtMzA5ZjQ4ZTE3MjA2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwNy0zUDBVdDF2VkIxdnlqVUJuaTdKb05EeGVMdVpwNm5WaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bxNL-nVjO03Nf85DxvR1G4hCcbtebPgN2HQsJno7qLVuu65_1G1txoj2l2drVYoPlhyFW94HtgVllW9-0XuCcGEVzwyEGoLY_zxuboVhSQBeNkSuWL6fUf2RjMcqMgDviy0fl3NP9HGtfa4_q28xFoeKJfNnbTAEGZZoycQFfrOxEmP-ZXFGcw6tc5gj4jDhwawrwNmo49q3FccN9l6vhtDdI5QSnzyJ0Sw20QnkK2A9-wcoK4ohsAW9tiA_mSqqRs5DpgMcbqOXRSF1vjwTG2j9a2sVnGDzV6fkII263pBP1_ILyPhYCLY8BZzd6bns4t3kccIScE0OJdVPu82PwA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564547326" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzOSwianRpIjoiSUQtVG9rZW4tMTQ0MS1qcFJmR2U3NGtncTduR2g0ZXg2TzZzMWZmVlA3QWxNNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.etbMiao8J02DhjWyH1WlpUKBbcTR7Pptq_TXjJbnBUfE6MyQR_tEHJ5pDIrERsKxsobEXRtL2JIN42HWNjKAu46JMFlsX2iXyJj5jL9RDQx3foXVjVLH9JoNcY7CsYJjXHIsz23tC_3nR9FULQzJ6TYi28TV9JAGz_khuz-bHPwqqWNlwPDCtaUxq9PCp5xuYe0jjyv7g0WKhtwVv0v2nYf2yxAOKxRCJpkSQ7scvnAT4GuTKAcSRnM4DpDozOtdDq9wQw8cm4DNSmdG-Fk9ciX31Pw7l6PPBdfsvASLqOSgrUDNui2mxNzLsdNAJFqJnl6SD6B3u79z7YitPqA5xg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWYwYTA0NzItYjc0Yy00MzliLThjMTctNGJiOTIwMzQ0ZTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzOSwianRpIjoiSUQtVG9rZW4tMTQ0MS1qcFJmR2U3NGtncTduR2g0ZXg2TzZzMWZmVlA3QWxNNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.etbMiao8J02DhjWyH1WlpUKBbcTR7Pptq_TXjJbnBUfE6MyQR_tEHJ5pDIrERsKxsobEXRtL2JIN42HWNjKAu46JMFlsX2iXyJj5jL9RDQx3foXVjVLH9JoNcY7CsYJjXHIsz23tC_3nR9FULQzJ6TYi28TV9JAGz_khuz-bHPwqqWNlwPDCtaUxq9PCp5xuYe0jjyv7g0WKhtwVv0v2nYf2yxAOKxRCJpkSQ7scvnAT4GuTKAcSRnM4DpDozOtdDq9wQw8cm4DNSmdG-Fk9ciX31Pw7l6PPBdfsvASLqOSgrUDNui2mxNzLsdNAJFqJnl6SD6B3u79z7YitPqA5xg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564547324" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwOS1vRkk1NkhFVjdjaWNJUjlaYzM5cXd3bE1MckxOb2tWWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.XFWDeAvSJuJYE9SdHkGpnMgRkUJB2X010IjiIEO84fv8mPFnTx1qlmh_zoKM-4R3U1WBQyGKYSlh62hXV8y31L7FpKGGCpcVcE-sJ-FWUAUuZsDXVvd-zi_xRnKXp4U_sUben7okTPSfviOBRuW7I9u1NXzwYNKj4AGCKKSh549lH_MNl7eIB9qyvjuaMIS21gAUpBwC5hvVZSzJzRHdDH95CA0tmTvFQmBQbOjs9F9t5Jy1oWrxHnmU_A-insvTJvsBbSSXypfOgi7txne6tGrJFg-rvFZjiipGs7NJMke6u-CK8uVAc2LVXf0Fg_48PzfxkjN06gJHJ4dizirb3A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWM1MThiMzEtMjY5My00MjdiLWIzYWMtYzI0YWNmZTRmMTQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwOS1vRkk1NkhFVjdjaWNJUjlaYzM5cXd3bE1MckxOb2tWWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.XFWDeAvSJuJYE9SdHkGpnMgRkUJB2X010IjiIEO84fv8mPFnTx1qlmh_zoKM-4R3U1WBQyGKYSlh62hXV8y31L7FpKGGCpcVcE-sJ-FWUAUuZsDXVvd-zi_xRnKXp4U_sUben7okTPSfviOBRuW7I9u1NXzwYNKj4AGCKKSh549lH_MNl7eIB9qyvjuaMIS21gAUpBwC5hvVZSzJzRHdDH95CA0tmTvFQmBQbOjs9F9t5Jy1oWrxHnmU_A-insvTJvsBbSSXypfOgi7txne6tGrJFg-rvFZjiipGs7NJMke6u-CK8uVAc2LVXf0Fg_48PzfxkjN06gJHJ4dizirb3A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7381" it="0" lt="7381" ct="16" ts="1587564539961" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTcxYWFjMzItYzMzNi00NzEzLTlhN2ItZTAzZDc5NWQ0ZTlj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1763-y2ZcOsO5mEwgm3Ot3viOb5t1uhMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="432" it="0" lt="432" ct="0" ts="1587564546912" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Yzk1OTU5ZDQtNDNiNC00OTk5LWExNmYtODZmMjA1MTYyMDVk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3NS1GV3NTMlhkSUo0aHpOWXhMSTMzUDVTem9zRUJVa29nMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WT5S9mCM3LnBpEyb8Ge2NidODS_5wyYEiku1-ZsAx-ZqZg73fWC5KewCdR4meZ1cUPaJoU7GS5Nr7YNkVWyvxLKbVnMBb8pLi4ZW41zXhQj1RTgMDuwmkZClGQVLT7oKHITDrTPrCiXvJ68xO4bAgolNDQ5OwXuFPALPZw_HhZot_1ZAUAuldKPQc5OM6lwlBiqdJcAhd6e0A94ClKAzr87GilJw0C3PPpr5vnKCEpu0HH2-_pzuyBDzMbV04b6fcgN-1z-K5G5KEHfw2QnIDf2RsOBFmGb4OJCToX5sApkTcEnUxeyI5V9381dPbEHzh9EAQESe6PobIMS9K1iJeg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmJhMGRlNzMtMTU0OC00MzJhLThjNzEtMWUzMmJmMmQxYjE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564547345" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzUxZTkzOGMtOTg5Ni00OThkLTgwY2UtM2NmMDUzNjgxYWMx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="1" ts="1587564547342" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTcxYWFjMzItYzMzNi00NzEzLTlhN2ItZTAzZDc5NWQ0ZTlj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7382" it="0" lt="7382" ct="5" ts="1587564539972" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmY2MGU3MWMtNjI4My00ZWIwLTgyMDYtNGYyMjc5OThkOGVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1772-7Mo19wDZJdhULEFzWW8NuxYMJ0Ac7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7401" it="0" lt="7401" ct="2" ts="1587564539956" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Zjg4OGNkYzAtYTQ0Mi00ODNmLWFhM2EtMGU3ZDI2NTk1MDg2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1744-hnoLM0UjmjI2ZOI4gHbZz6to7Zoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7389" it="0" lt="7389" ct="10" ts="1587564539968" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjU2OWNiMDItMTU5Ny00MWVlLThjMDEtNzAyZTYwZDJhMTc1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1774-ODJgfEewRNdRewPIxVtz3-ON3LAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564547351" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzUxZTkzOGMtOTg5Ni00OThkLTgwY2UtM2NmMDUzNjgxYWMx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564547352" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwMS15dVI3RU9GRDdmNUZGYjBRR1kxTktIenhCenlJc3M0WSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cNlMfhVM9QSdrDPnl5vbS9sLerw1h2P9i6icP3jihrjuD_4a51oHKA4fN8Of436ISfzu5vygyCodMpOh7o8-8AAsfL-R5r6r6nFfN3qxI0edVrSnL0yDlRnj7MJ5oko-Xqa16AZKRhkBu_it87Dj_IN_g0Y8cfDXdQHYGvcbiun3OE5XW3bF17CHXqvKHDd_ncjHGlq17PszyNG-uAM9CzQoMYE71uxBkd4YfdMSWDaXS-ImZCRVWAk0f_UiniTVjqdKt1xD5R07njTwmogCmEYPqHUPhsWOu-KYQvkIv_sl5WO6CRigNR_rFqNiE5xHvrKP2IGJMCFAO63ub1ZYqQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTcxYWFjMzItYzMzNi00NzEzLTlhN2ItZTAzZDc5NWQ0ZTlj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwMS15dVI3RU9GRDdmNUZGYjBRR1kxTktIenhCenlJc3M0WSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cNlMfhVM9QSdrDPnl5vbS9sLerw1h2P9i6icP3jihrjuD_4a51oHKA4fN8Of436ISfzu5vygyCodMpOh7o8-8AAsfL-R5r6r6nFfN3qxI0edVrSnL0yDlRnj7MJ5oko-Xqa16AZKRhkBu_it87Dj_IN_g0Y8cfDXdQHYGvcbiun3OE5XW3bF17CHXqvKHDd_ncjHGlq17PszyNG-uAM9CzQoMYE71uxBkd4YfdMSWDaXS-ImZCRVWAk0f_UiniTVjqdKt1xD5R07njTwmogCmEYPqHUPhsWOu-KYQvkIv_sl5WO6CRigNR_rFqNiE5xHvrKP2IGJMCFAO63ub1ZYqQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="439" it="0" lt="438" ct="0" ts="1587564546928" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-48" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTY0ODcyZTctNmMyMS00MDY0LWEzZDUtOTUwMWJhMWI3ZjU0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1Ny1lVUx6OS1DVHhUVzF1cVpjdElxc0U4LTNVRGlhSjRBLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jqTll8jZN7KpYLDJGxmCKcWK4H013kgdpWW7_P86TBj5E-M3tFd1mdjCjskgFbP7e6rVibuLzEKD34gxiM_c72A07b2edu76HGcAQi7l9INkNebWrRfd9PzVNOcKbCWj1ALD9jwoTcMRaGGSsXRHXrSxCxbIefDHdqbVANcu61m7d-jqKbZkmePVfyIvtRyXaVwcHJe6d6Ksvcflu5cVmakQo74OVIIOenU6_GDVc5WOc9fnkY4KmHYy1uD1ufQ7DWGeqqSz72bxZ2s7IBtwX1YQgYDSZRd93jnD3OJt0ll6K4ZpQFwHGVhF50MrfQrCaV62NxYNYyI5aCJylNhgcA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=M2Q5Mzg3MTctMDgzOC00M2Q4LTlmNDItYjgwZmY4NTUzOWNi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="1" ts="1587564547357" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjU2OWNiMDItMTU5Ny00MWVlLThjMDEtNzAyZTYwZDJhMTc1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="1" ts="1587564547354" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmY2MGU3MWMtNjI4My00ZWIwLTgyMDYtNGYyMjc5OThkOGVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="1" ts="1587564547357" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Zjg4OGNkYzAtYTQ0Mi00ODNmLWFhM2EtMGU3ZDI2NTk1MDg2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7402" it="0" lt="7402" ct="1" ts="1587564539968" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmZiOTY0NzctMzUxNi00YmNjLTk2NjMtNWJkMDQyYzEyZmE2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1766-wUC0y5aDKzk8TIVbmf15r35vhYoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="535" it="0" lt="533" ct="0" ts="1587564546837" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-53" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODJmY2U0NWQtODU5Yy00NzUwLWIwMmYtYjBiYzZhNGNkMzll; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1NC0tdnRjREFpQ1NYSVctb3I2LW5iSkRxdlR5U0d1dFFURiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KVQc2u7x8s7Mx56oDkTcT5AQi-Y9J9iJaMlpD2C1obqRJUyOcNE_1p3slRp4QQij2AzQ-GzAf-R_ew8DYzfAuP-PPkcsyoI4ncx3dXfeyqNswTDVOwqtNrqjjRKNqHYeEEmE0BSTlzW8Dl4Tb6QIy5P6OGIzz33nvLqVhrAkNm2DuVt0vYDBU4xIBrALFM8bDeBMpfW04mL0d6QDM8RQUN0voJIAbGF5Kpm9fxQmyWm-ZJ-w9syBw1aX3LlsyR4u1JiTttX3ohvBE3pEdB_acQNS4yurJzcFbvT97q476LImy4W5oUTz8X5SUTqY7Xr-YQubVfEqedmdSPXp7eUrMg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ODViYTU2NTItYTRlNy00YWFkLTgwZDktN2UzOTNkOTc0MjY2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564547368" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxMS1ma2llbjR4SmFjNkZNWkZFZmJ2ZFAtSk1tLU11VlQzZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IkTMEsla6UyfKx0ctube5iCo_Wy-Lte3ZW_f9RDwqofW64XbI-9KfY0qYuiRfNUN5g75ovGWEkSnQ8KOlMWqGXLPg9Vvtg93llwQgMN8OOCul7YZwZLs7ZRHqGFiSa8rJhdAG17S8h1iK4wbwkZcCQn1v7EMvP-w9qb5X5ZEZlpIDSm0TBW-Vbb084u_ifTY2JA9kFDG378Jn5UFPs3uqBuvMDqnUTKgN2Jpf0vyF8_xu59POMU7yqzTYc8JV-pJXz_D5OpjUIwGgNxmKxJXt7adyx2cf93XRDXAtmBRQRECI3XELoUl9Q87aDYyGRDN5Z2dmojhH0AgxiZCmu9Yjw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjU2OWNiMDItMTU5Ny00MWVlLThjMDEtNzAyZTYwZDJhMTc1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxMS1ma2llbjR4SmFjNkZNWkZFZmJ2ZFAtSk1tLU11VlQzZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IkTMEsla6UyfKx0ctube5iCo_Wy-Lte3ZW_f9RDwqofW64XbI-9KfY0qYuiRfNUN5g75ovGWEkSnQ8KOlMWqGXLPg9Vvtg93llwQgMN8OOCul7YZwZLs7ZRHqGFiSa8rJhdAG17S8h1iK4wbwkZcCQn1v7EMvP-w9qb5X5ZEZlpIDSm0TBW-Vbb084u_ifTY2JA9kFDG378Jn5UFPs3uqBuvMDqnUTKgN2Jpf0vyF8_xu59POMU7yqzTYc8JV-pJXz_D5OpjUIwGgNxmKxJXt7adyx2cf93XRDXAtmBRQRECI3XELoUl9Q87aDYyGRDN5Z2dmojhH0AgxiZCmu9Yjw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="879" it="0" lt="879" ct="0" ts="1587564546496" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-28" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzkzYzQyM2MtNGE3Mi00YmQwLTllYzItOWE5ODZhYjk1YThj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1MC1lcXF5eFJTS1ZRRFotaFczZnYtajFaNHF0d2xOOHBRTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PR6tfSmy0OAbdp9tumTYeXYuKJIqhXf9wSaKiKNu-K5g6eg2rQLwMgRIB9masnDvi5-iK1sWU8yQdGQRcnfwG6ceU2u3qRk-b18NPx6INQUjj0KCLPB9HtYuYm670FofGpvub6xsOSHjlvzMgPLcn7JKebbazrOo2pYdOeIQ8BpvP-HrOAElNQx_I2tMxdxJ77qiLnzv9Unwox2Gfn5zeVqZheYimt7fLwUyZhko_G-cfHf8FeXHAdHcMuwJD-KP6mhMsmBa7NrT0mYZ4ndm07rl7uI1RncC2h6VWIRGdHqcxQJGO5c6vtZB-Hn7SIjc0MpVKWQqQF6EM-zdVX9X1Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NjMzOWU2ZTgtZjM0ZC00ZWNjLTgxMGMtMjFhZGU5NjM0M2Q0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="475" it="0" lt="475" ct="0" ts="1587564546900" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-83" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDdlMzg0ZjAtYTg0OS00MWExLWI4NjAtZjIwOTVlNTcyNmJk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0NCwianRpIjoiSUQtVG9rZW4tMTUyMS1DZEZ0ZXlzbzRpYnRKZ0o3REJURmt4ei0zc2Vwb1lCdiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jJySc5AUN4wnPelVD5I76aljdqTTS7KvoBjdSgR151AKGmZUjouGPCMA38YRDy3qy0274pr_EoDPG7IPc94gIVsaQ_c4b29hQMzNFX-J9-GAPqAwYS1fXfoP1cxIOhWjTmykg-rkgIV82czoCX3X0wbi_TpPL8zaV_8_l5ddFBLN_x4KlnkNkOHNB3LrhIC0C7_G1iffysDMvs9-x1-mVKE7CNkkkLYLtBZBMN-aAJeFPVFFfyURyOMh3NGgXlbEsQa6WwgBAbfbRc7cQ6MiXUWwGWzktwgdQJodPDyevBKqcUaAqu5pg9egdUvfxBX5q31pY5ZzfvziLlTTjKFnhQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NTQzMGY5NjAtNjFhYy00NmU2LTlhNzMtYzNiMjk5NDJkNWJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547372" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWYwOWRiNzYtODRhMC00YzBmLWEwZTgtZDMwZjk1OGQ2NThk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564547369" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4NS00TTktVjdIcS1uMC1CQ2FPcTFJSzZydE1oUzRwdlRFYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ksi6ICbVBeXVWoN3JIQiA0dl4sOYqf-u9-qPrNnv6fRdUFkP0_t18yqJEeheIOOr4ERSlRYqAtDTxqSpDvv72Fx-yn4eCJWWXIS2fsQ4jLZo1RVnhZfBj3jIPrVSDU0rwQf3i3xLr3UcIuSLYdzqXE2qVRuybt0uUzlIPgYrIF2zRJp2yjysHVKuWbWApW0NrAv_GUWtv7KVUntapfWjRKCq7shxy_tuGye2mjaSavtsFPvT1j6VWL-OuY-Hp0DtLQK_q5Brkm5pfdP2LHxqK8s7--CjoXisrnRjlsiU5z_c91kNZiIBga6U-AUrnkvUh3XOV6P53i9ISmgWd4T5hw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmY2MGU3MWMtNjI4My00ZWIwLTgyMDYtNGYyMjc5OThkOGVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4NS00TTktVjdIcS1uMC1CQ2FPcTFJSzZydE1oUzRwdlRFYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ksi6ICbVBeXVWoN3JIQiA0dl4sOYqf-u9-qPrNnv6fRdUFkP0_t18yqJEeheIOOr4ERSlRYqAtDTxqSpDvv72Fx-yn4eCJWWXIS2fsQ4jLZo1RVnhZfBj3jIPrVSDU0rwQf3i3xLr3UcIuSLYdzqXE2qVRuybt0uUzlIPgYrIF2zRJp2yjysHVKuWbWApW0NrAv_GUWtv7KVUntapfWjRKCq7shxy_tuGye2mjaSavtsFPvT1j6VWL-OuY-Hp0DtLQK_q5Brkm5pfdP2LHxqK8s7--CjoXisrnRjlsiU5z_c91kNZiIBga6U-AUrnkvUh3XOV6P53i9ISmgWd4T5hw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564547369" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1My1FT2h3SU5IbkoybnJoQTVuMlpPckVUUUdVdzBaNXctcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OowkkOTDHafeiWTg8bi-9x64fn0np28hohNZUTI4nKWCZpkFVfhHnp-aGagA3NcrwGsWHUpi7cadFvbwGWDSJMze3nZlhXKxJaMeRRsaUCH3Umrpbhhgs7oJBkBAK5AZaW6L-4iW7fcMn8Ijx7n618BLbnk5EeyGxUncUDSMdfwAiOdjWoYSkrTKnrlR2lGgRxQFx2heJ3YVMLlAieAv-L1wHn6GhLi1MGAM44XLomaBUHNNk06-hb8fq55dnY15rrblbcxGIuwGJayV184PpWcM_Zf8gjPmpbLFWNO85xwuuZsYXnbConqLZZFwAlyw5-oUZpNYVMYF0ClBPDLBWw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Zjg4OGNkYzAtYTQ0Mi00ODNmLWFhM2EtMGU3ZDI2NTk1MDg2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1My1FT2h3SU5IbkoybnJoQTVuMlpPckVUUUdVdzBaNXctcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OowkkOTDHafeiWTg8bi-9x64fn0np28hohNZUTI4nKWCZpkFVfhHnp-aGagA3NcrwGsWHUpi7cadFvbwGWDSJMze3nZlhXKxJaMeRRsaUCH3Umrpbhhgs7oJBkBAK5AZaW6L-4iW7fcMn8Ijx7n618BLbnk5EeyGxUncUDSMdfwAiOdjWoYSkrTKnrlR2lGgRxQFx2heJ3YVMLlAieAv-L1wHn6GhLi1MGAM44XLomaBUHNNk06-hb8fq55dnY15rrblbcxGIuwGJayV184PpWcM_Zf8gjPmpbLFWNO85xwuuZsYXnbConqLZZFwAlyw5-oUZpNYVMYF0ClBPDLBWw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="1" ts="1587564547370" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmZiOTY0NzctMzUxNi00YmNjLTk2NjMtNWJkMDQyYzEyZmE2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564547377" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWYwOWRiNzYtODRhMC00YzBmLWEwZTgtZDMwZjk1OGQ2NThk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564547378" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0OC1xSU1abXNMMDU2WXVCNUNyWi13VExSd2NUSFFEQldjYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bzGv8Bi-h04WIU06WW9G9YA4y565sMIi_NYg9KlY73OeVUIA4DxkhSZtQFZHUXvPbIQeHmS9adUbye7n3A6OpxM1GfsixBpm9_aepq01pJi2ImmsubsvOecL7NTc-wty-UcAJ7pwky8GP5qlE3Pd9TWPUgYrFIgz7hJldNOG2T9ByJjyW378IHZ4_Nyv2IsDIHWBBfRHerOsBWd16bO2-B8uFSqboT9gOX_CVUpgN26EFOKHqv7AUBD3DszrH4FKrS3O6BIFdJr8amuCqDzUkCHNMTtNF6FMqLWQGnYshNJ6EeniNlgSxnLOHzfZbt54fpFh-LOOHqfKu3XtD59O5g
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmZiOTY0NzctMzUxNi00YmNjLTk2NjMtNWJkMDQyYzEyZmE2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0OC1xSU1abXNMMDU2WXVCNUNyWi13VExSd2NUSFFEQldjYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bzGv8Bi-h04WIU06WW9G9YA4y565sMIi_NYg9KlY73OeVUIA4DxkhSZtQFZHUXvPbIQeHmS9adUbye7n3A6OpxM1GfsixBpm9_aepq01pJi2ImmsubsvOecL7NTc-wty-UcAJ7pwky8GP5qlE3Pd9TWPUgYrFIgz7hJldNOG2T9ByJjyW378IHZ4_Nyv2IsDIHWBBfRHerOsBWd16bO2-B8uFSqboT9gOX_CVUpgN26EFOKHqv7AUBD3DszrH4FKrS3O6BIFdJr8amuCqDzUkCHNMTtNF6FMqLWQGnYshNJ6EeniNlgSxnLOHzfZbt54fpFh-LOOHqfKu3XtD59O5g</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="430" it="0" lt="430" ct="0" ts="1587564546966" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-76" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmZhZDY1YzAtNmM4Zi00OWZhLWJiMDktYmRlMGIxMWQwMGFi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3MS1JU3BwbE05dkhsNVZDQ1JJUXlVS3ZHWTMxaW5DdlZPeCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gS11cRY-m_ADatJ7vS5Za8x8pm5LppLKbhHKRaopGGzOb8MJlw-40U-yZ2YNunk_r1OxCMW5xnAH7YW6ecXb5YBf4i6DUTZUOIRBm03KNoueqtkWPW0qmFjCDfFCSFD00pCppjpeMGVUZdjA-EOUyhWDf-iaRdD2XzxEV9LiJ-ntblhl4NZ5VtCOrVluyL60zYSyBg6prE-osb_Sex7uDBQmva1Y6GyOD8lmrtLWBIQRS-DSxks7V5gRL50pOyN1I3-ydbHObNnEmKsSgqiBAe2WEIfT8CSsyP5KAZAfg5OKo-sRqOS1WynKTXeFg70DVL194ZsBUeOxmDTeuCUArw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OWE3ZDJiYTctNDExYy00MTdmLWFhMjYtZjJiMzJiZGM1ZDdj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="459" it="0" lt="458" ct="0" ts="1587564546938" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-58" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTZkYWY0NWUtMzJhYS00NDg2LWIwMWEtYjc0YTc0ODg3NzUx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0Ny1Qa1BGbmhZT1BoUmpVTmF0NmpIMVJ1dXpNNDZjbENrWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Sw_crEeZHz0aW2UfJlevUBFRu7vAazZ16nuJiIbXhmQCTQNtnnwRo2Ybr-CHq-GVjxfFdvdx0BES4pTeXR1jcDCdZfC4CcdgpjtM0AvK65u1tl9UaDoVSj713tRxzal40IitpTj3nqjDSHXZVE0Z8l8rmsjzu2kfg8Isaqy5kiub_55nmxflojXIOZmEQ8-LdOMPpZvrSELmI3I4ILXdH9Yg9Vl7dzASXpIc7zHI2F793sy92ra7zsSrlgzVOXNOwphz6auoGfggdTFmvWylkwqbvkPUIFQ1tqUfX23oEl-duZ2D0LMPqbr38c8KPWsUqY80VEf5s9psjxvuXzLYkg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjNlZWE5NjUtZDhhZi00NmE0LTlhZTQtNDFhODY1YzBkMjE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="6847" it="0" lt="6847" ct="1" ts="1587564540565" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2E1NjQ1NjMtNWRjOC00NzgyLWJjOTgtMzI5NjRiOTNiNmNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1813-4Rr0yQYQyXuXQV87b1JIOu4yg9Mc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="1" ts="1587564547413" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2E1NjQ1NjMtNWRjOC00NzgyLWJjOTgtMzI5NjRiOTNiNmNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="493" it="0" lt="493" ct="0" ts="1587564546928" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-73" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTgxNmExOTYtZmJmYS00MmU1LTgxMTctYzZhOTcxZjExYzNl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4OS1BVGt6UGZNMG80U1ZoZ1ZXUzdvS0UzbG00RXFrNWJyaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ds1K-fG-3zeq__VQ6zt42G4Ip35O9xgKATwmf8lRL1GR-_ibxpr-pBbH0k7X7-yTUPEbK_Ljn2lc5RmveYX5wbeP3V5AiyBEdksS9_wVSiyBa1mVkGvgAS_MInDAVW_WMM9WtUEh767Gg5KTZL_zRYPpOAQN9fuUbKXWBAWW3sPxju3oRtv-YNhnewlfrGOWB7LIxtkeDzrgIsQjUbWw39sufnC58Qtctx_twbGOcdyBLL8futvovotfD4vfgtUPdr5HL6HdniUnN86kUcbnmSIFLJGGdqwj9-ChLyfpptI5dN5nbxlfDt1o0dE0f0uWUeXPLK31LdUGxgWlDLJSRA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Yzc2ZDE0YzItNGFjZC00YjA0LTgyYzQtNGI4NWQzN2EzYTc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="557" it="0" lt="556" ct="0" ts="1587564546868" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-74" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmQxMGI1Y2YtMGMyNC00OTYxLThhMjMtYmZhMmU1MjMxNDVm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1Mi02OEM5ZURzQ0pQY25kVjlJMkZyZDM0bmxYLThXM1praCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.kbnS0xI5TI2uMS7IwLI-ka6ziy-eXfbHVNCT_Zlr7G6wT7ZXaIpb7UOx9gcdzkNK7-8PPKGTkvYqQFIE9FiNqY1oC-8XhjEZsJZ__vTD7dzWwJMik8uqpwc4x0ERHA8oB9nY1KtrN_BW5PjqPRrp8JXE4fUDSWGUtv5VEpmrkF81JWgT6okXmnB6OWIsvcfp8dc1D-bNQWWRx2RrvSUNeEJ17SgMBmqaZ3UO1xyKs03RcFoupGv6btn7RKuTgAIMfbDxuObkApG4JZUEtYM68ifscBi-g9YBUaWMULr_i6fZc0yON-JBwlzhaZC-MoBy4-4-EhMqQ4EYxm2QPfsgkA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NjZjNjAzOTgtMjkwMi00ZGM2LThkZmYtYmIxMmI4MTBlMGQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547421" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5NC11cW5hZEpldS1uWWsxNDVBemxwWDVqWGtTeVJwSlE5OSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lTgn4mTBRlTeAKdA-EE6dABH246De4MO94_yE3vWIgmHGzCZ5PfC4T8ssh_o9QhZoE2zDeEG3NK-seQm5bIgNDLeIBwZSAPlwTT-MHc4aA5OzJj_df8NnqUxU2S1fR570TDWF0KkaMhipUEIsDreJpaU3lwaKBztpsolgDjeHQEd-cwtf_kaPyucOUwdVlRlKWArHs_N1p9pi_xYwGmgFJ8kwKRwHJxr0il4Tm-BfktqjzqdnODx3l1V0wHXwMVepe0CCErcAdjbQ1wVteNKKmdmCoisV8dLa5l3caULAC9TwdK76PjOyBo3AWkgQDI3mrBRcD0wuFpr6kVWvLV2Ng
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2E1NjQ1NjMtNWRjOC00NzgyLWJjOTgtMzI5NjRiOTNiNmNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5NC11cW5hZEpldS1uWWsxNDVBemxwWDVqWGtTeVJwSlE5OSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lTgn4mTBRlTeAKdA-EE6dABH246De4MO94_yE3vWIgmHGzCZ5PfC4T8ssh_o9QhZoE2zDeEG3NK-seQm5bIgNDLeIBwZSAPlwTT-MHc4aA5OzJj_df8NnqUxU2S1fR570TDWF0KkaMhipUEIsDreJpaU3lwaKBztpsolgDjeHQEd-cwtf_kaPyucOUwdVlRlKWArHs_N1p9pi_xYwGmgFJ8kwKRwHJxr0il4Tm-BfktqjzqdnODx3l1V0wHXwMVepe0CCErcAdjbQ1wVteNKKmdmCoisV8dLa5l3caULAC9TwdK76PjOyBo3AWkgQDI3mrBRcD0wuFpr6kVWvLV2Ng</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="492" it="0" lt="491" ct="0" ts="1587564546940" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-79" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Yjk0YTY4NGItMWExYS00OTE0LTk2NGYtZmFiZTk3ZTUxNWZm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0NS01Q3V4Y3htRjREdVRHUy1sOTk0Mk12aC02OC0tUTRXMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SGRmqikDIwbAfyfuZYdMZz5D9aQNFXNSnnIi0xI_6jfq8A-1FbOPNdn7NCMROB---NvdF4fJ7zB8RbHCUsVoK-cuiBWG_qSnK23Zta-RPakvWjczBaoBc7R144aU5Pt-MY3CPZL-DeVBUY5qvZ8-bwLdrjW6dRVaXS2OPv-eVS4vMkOarlyzeqiCiyk-i0B39Sw9CAj7hN-sJ_1ffLXzkOslJEfkXjeJAIpwve57qYujTi5wkyh_Caa6PU8CNBRRCyB_x-Xx2KyoU5nzEthA-xsAOcFe2445SkWIIGGksrLl1PEz34BjDH_zpZXUx7Oeo7mEgF9iHXLc8WR2kfDUAg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NGQ2YjU2YzQtZmE0Yi00NDQ2LWE4NDItOGNjZjUxZTI5YmVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="464" it="0" lt="464" ct="0" ts="1587564546968" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-36" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmQ5MGU2NWUtYzYxZC00NWI4LTljMzgtNTkyNGZiNDFkN2U0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0NCwianRpIjoiSUQtVG9rZW4tMTUyMi1MQ3VDeDZYZ0VHMzN0RVJkRy10bktud292dUJYLUxFcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OBt_aaEp7bgnHnuTK7blttR0pe5U0_ipk0bfy9-aAfme7447cafYEy7cJj0ggvSvP_Cm_w2cCTJYq9X1sJi5NlGyAHlZxRTv-H6pnA1Pp0oSXcZuIM20n0AnNCVC_HdptZ2xqwy1GR6ju7aqlSC7ls3XK-XjsSP6Yr-jzcY3y7tuujMjwuLG54QVYHh4BVHoJz5UONNPdtmQv17vMWqyBgPH-QfaWFcvLXKyXkt6znAXn9O8WYZMtibCJ0DWxtMR_rOOMXFkAFu6GwjA7P_2sIvmhcCwnsiXDqKcBNyggGaS4VlOJxWUrUJBxLIUeCWFE8FoaDm1MxO11eE7KbcJcA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTkzNTIyMWYtMmQwNi00ODhmLTg1NDEtZjA4Yjk4NzMyYWE0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="588" it="0" lt="588" ct="0" ts="1587564546860" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-19" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjRiYzYxNDktZTk0NS00MTgzLTkwNTYtYzgyMWIxMGY3ODA0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0OS1hMUNiYVdVUUxSWWUtekcydzZFUXBFdFBCMkFuWWFNbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.axtHYCfAsGrWYtpXUb5jETKUTAQE1QnxWz-rQRDYYtrbsEQ4csPYflZC8Jc0uN_Uos0kLMAfgeynfYJFCOQcs8hXPeYB-EIQYX5pl5AqYEsw6c68GZcHlCGgk6r6_G_D8kYsZ21-Utad51xw3VWrNlLFxQpxXi9rTh3ubhG7eX7ltoq9NAtRjCMpodBl4D5OH3NY3GR4dGh6fEU1ok9bCBedDx1jUGkSizkHVSHh9ZdHJEveLtXPOHz0FTYbjZ-POc_2jMP3_QgsNLn_sUuZw2oBjbKB3FiGenukMHwPUoLYKj7JXgn8IuawSi3Pfl_ArC3mtJkEAzMQRo4vmAPIoQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YmU5OGMwMzgtNTIyMC00NjAzLTkyZGEtNTlkMWMwNDc3N2Ri</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="597" it="0" lt="597" ct="0" ts="1587564546854" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-65" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjY3ZWM1YWMtOWVkZC00ODAxLWE2MzAtZWUwNWIyZWU0YzVh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3My0xdkxMSU1kYkxIUTZhYmxlNkozM2dwUHFhMFM0eVozViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bnCwi46wZJZdo9EIRVKpnVsmUvAFbG_bMDLciyR_XMnIjPJ2JwmLjorapKzr0jbgNzUdZ_VRAyjW6N7hrAZz5PX-UYef9mT3_DzhjdOCds9S18ToG0Dyk9vUDUyRPZHUBMMesarjyqO6lJMy5iMTVs7EY2BunoZ2NyKnRkaVUj5Igq7e28gmYpBqBc32k5q-b-JL1GRstv9qsMl24vHxGm5WgJY-fMiTUF0YcmC_obrLuBq3jTNSxKbYzi2B9iKuyhsjk-7pTnh-BUfDbFyF0ZLrlxYl5ktIulJrpE-8CTAeUxlLHuOMARMDFPUz9d-ebSD6mAo3EiDccygg-BTHKQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NmIyMDQ1MTQtYTc4MS00ZTMwLTg5MzMtMjJhYjQ5NjAxYWE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564547452" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTMwYjM0NzktZTI5YS00ODI5LWJjYWEtMmM1ODM2ZDE1OTky; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547455" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTMwYjM0NzktZTI5YS00ODI5LWJjYWEtMmM1ODM2ZDE1OTky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="619" it="0" lt="619" ct="0" ts="1587564546848" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-4" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDI5MjkwYzItMDg1ZS00NDFjLThmMmYtZjcxNzRkMjFmYTFj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3NC13bDFoNEc3SG1lLXU1TE9BNU81RlJibnUwdTJmTy1hbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sfDQDpXqF4ogv6Z2N2xbsAY9GiIlrX_QwM3Zp_z-T0SE_UeuuVpSmgtlnlBWvhZ0daUw6BocAIbHWuDUSwiXJcbNNKIhmUYhic0GgHwhVJVYvJGkU0w62jx5fq9rjnzc7dZ8jVtmAXN7umFqAz43HPwqr4FN1noEMqWhOfJS8YlxOvwLDBf7L69fyjVwV1JD8iWgjKigEwT4jZxkIyXaIXGARAcZIHpPvIrBRXrXdVD5ls0pRM4ixMvMmTmtjawzUbRPpJYH-wOOmqljl34Y7mVmqtD6Hyv0AGjoaqwTS5al-xTawo2W2Si0YD_Ikn7pJ0JvQ8C1jEUf3FxOlbPflw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MmU3NmIzMWItZTUwYy00NzUxLWJkMGItZWQxNmE0NzBjMTU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="741" it="0" lt="740" ct="0" ts="1587564546727" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-75" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzMyMWE3OTktOWFlNC00MWVhLWE3NGMtNWZlODhkODgyOTM4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2OC1ETTVTN3RHSDdOVTA1UTV4UWNkZDRnU1E1Zk5pNTMtdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KokzGsuJiCDQh1vfcpuU6zNM2yYVa_2XJg2HZNYK40Sx2q-QMF3YvYWZbahTtDLmFOuyeDiTVKwDQLFFi3sbslGUrEY4cucV2QJzbUlU_dpAzbc_ajVN9Q5Ziv5uXp7y0pJWp7B69wfrjLHQLjQPCyzqWPp-yyEJGi2QJppdQVEmx-xdMxSyCgX__0S7iVVQXxDrtaaPj6dJNCYd8rMn7mXeFBDQ4kAn590A5AqCjSQ_lNwl4dDIkm1KPHXEtJuL2c7MsGYl3yOMaRTh9upeDIH2q9QXGHCt2hAepINx7Z4WL3FoZlnUdugQk0n-lqye2NJBcId4UQjPX7t77yojkQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTY3ZDIwMjItMDNkZi00NmVmLTk5YWYtMjM1Y2ZlZjFlY2Uw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="813" it="0" lt="813" ct="0" ts="1587564546661" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-50" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTBhZWVhNzUtMTRjMS00YzFmLThhNTUtYzgxNTkwZDY1Yzg3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0My1CZ3Z1S1BETWRwMThWbExnRi1kbDFhMm5wZzdsZlB6NyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iYiIxvfFov1Ui3Oa9zNnzpIr4WQsXYallLpdcZT1PxGVQA21U-A_vASyWKyV13jIcZ34rNTAcYnhjwMS_wDnezfDT4ixojrX66yrrKFFf9a73BQjEQrWRUs5TNCpqKNHT8SnBi3nyG7t59oJTce908VZp46oTbOipyVgXfq5KPiKgq-OQW3iFFHH4QzR5q37ddZLqzJAw0ZxQ9VNw-tDBoxhcJDn10ViQevM-BqfEOPWXWF4HHy2Vd_C2a0FOF1885WgmJxqxshGqm1geJk7eVK7oAltQqdC3dcRP3zHc8g46zHRTApb8n49GsCbaYM98BjzmzROVrvymhi87lfCzQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MWY3Zjg3ZTktODE0ZC00OGMxLTlhYzktMmZjODBiYzQwNzdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="6991" it="0" lt="6991" ct="0" ts="1587564540486" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWI3YTk4NDItYmRkMC00YmVlLWJjMWItZmU1MTJlMWM1YTBk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1755-C5cI6w-5BPWpjOTIVB-rdROKCcQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="502" it="0" lt="502" ct="0" ts="1587564546983" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-2" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzcxNWNmZTctNDA3ZS00MTIwLTgzZWMtMWQ3N2UzOTE1NWYy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3OS1YS0FoMG1CeWptSGJkeEpncUs3WDhOM3JMZGExLURoTCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YMWsh9auCxfQwBSotZ23Oj1J6G4RrsCs2584tHFGKp4v0bDX8RyFctrfPtgWYJ48gsWhe7KCbxVEIGBITCLIL9Y8ocW6_sLX_x1qxhj0PZ3WBfEAMJkl4tCyogg_GKkGwHUXcULktYzGe-MWDos2Q4rbnikOnvPPfshTBVXWohf4-K9yH-nYZyLK3WgycOF1xsbeox_vesl97yrpJVj8T3PXsiT7LZ6H4crQQ4DyNn4J16DUJ4D3XMPx7ojDiAVMhYaJpckl3PSyNs2DBxj1zy-ES7rKGoKJ2wsKzdG1-XWj_dlmyGPS-UOpD6xeMXpI2sUPJD_f1ZVPP8kihHtVnQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NjZmZjJmMDAtYmRlYi00MzlkLWE2ODItYjkxOGNhZTdmOTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564547478" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWI3YTk4NDItYmRkMC00YmVlLWJjMWItZmU1MTJlMWM1YTBk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="468" it="0" lt="468" ct="0" ts="1587564547021" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-92" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTFiYjg4ZWMtYmE1Yi00MmRlLTk4MzUtNjRiNDdkZmQ3NmI2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxNy1mTi02LTdZMnJ6OTVrQ3BUZW1qYlNLWks1alN3TXpUdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.esvHq8tT6F56w2RYQ405yPzhY0MeCWvJ9SItuAJcJWleT2myHdVjRwnJdXvZS_BuiU7kCDHVuvbya5rOfPdoMoga4AVqqF6-nNQasgc0ktmoOFuvoNEtKdZf3xoYOadYIzgWfpDpMf0YfM4HhbuIAAXBAGGnpqw2Rfh6HBT5ndKcDjtzfOf9Ag4wYUKDhKg4hVeT5C97I-GcRwf3xlhyXwKLlo8Nk8AnhQz6x9-5fWNpLYCkgPzFps_CLHuLVF7Np9ZKPexoU4wi9HV3K6b5KENkWUAf7qdTGjtfsRfEk-A20VauGBZY9V2VbZvlAWCZweutTmGe59xv28qhSxS0qQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjAyOTk0MDItYjE1Zi00NTZiLTg0NmQtYzk5ZGY0MTgyNTYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="469" it="0" lt="469" ct="0" ts="1587564547020" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-81" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDc1YjVjYmMtMTQwMy00MTQzLTg0NDItMmY4MjI0MmZiMTQ3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1OC1YYWN6SXZNYkluWkNxLXJSdUEtSU9za0FpTElISjlrRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hyIHrvhPeTs6oc_JLQ868WqKEsrAMJHlYw5V5KnmznUeWiuCrMXW4NR8p2QZixjKjWY0vwI9y15V7q7HwvPxI4d5f046OCUCRyPQ-eNMZaw64s6R-R25Ic6W97yzp-GQzp7mNux_GtKiScww8vRNXVE4P1U2tXlKPuOIDQZA1FRawWQYRRhMcs7wl2eCJ23jWXppY7RQBofFbNXoEQ-OW25BXEODjjUtA6IX9nHMoCWvXCacnjTJrLBLzsqh3dcR7q5gH5x16RKPObmxEY6BBuSch8T7L699umYpWogJxmNBkcYW6bS6lMbQCOj5AZHWNy9s_dNETyAFlEUjXuOxOg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzZhZGFjZDEtZjgzMy00M2NiLTg0OTAtMDZiZTYyY2JiYjFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="457" it="0" lt="457" ct="0" ts="1587564547033" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-61" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjM2MWFjM2QtMGMwOC00YzI1LWI2NjItOWVkNDU1NjRmZWQz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4NC1udE5rb3l5YXBJcnhmLWVkb0dqbGg2SUhuWFdVYzZSZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.scK-lW2w_TYfqOO_PUNvjquWLHuFVSV9evPAy2kDmzJbrBABGwWi8ydoLYPSH46xMxZgS9-1ooYFs3OyiCLc3G34bTRStEuQOVMSPQUu3wrWqI2DXxV5RKLql43hi3BZdJXadcCVUPcCDpCNHunGmIp6uLuGQqLwzr3nZM9ab0Y2XuZQ72Ezya-RtgWvpI00xx_sxmbX_9qXKhY5SGjTYoS3QE2h0zRzjr220DL7ObWfuL2xVXfD79Wgw9fnaRV4SQrtJxC0lUJdN0a0Wqot9HO5mJ0_CGYQJBculSYkPkYDsBKXX0rCLQ1L1FATnXKSTJWWlkXHPXJVArtzN9GHGQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODgwODgwZjktYzkzZi00YmI5LTlkMjAtYWYzNmJmNWZhYjAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564547488" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5MS00OUtGdDNEQUFQdHc4U1hQSHZBWkhHLVhVVU9kNkQ4YiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rAcjl-65yqaq1TystEbbV-6ml07toVSYb0V5AJfKHq5S8S_wYoBWhVoDnCmFcb4t7dDRyFtlKq8zVIj2nxeZ2RyU5m0fZn7gRy-bpqg3Eedh5K3g07W2ueUCeW1oJMy5Tll-0cTCFUibEBoOM_O4FQO5Sv6ptqkQeVb6qHNB_a_kCCce1HNcCi09Juwj86jk0H39OkvUVo65urEKOH3FmjhR6vAC5j0Jl7VR5FdH_-KhWeenCBUwpWee8zeK8MFZMeRQY2U3dIYseSgjL5UHE6pc6sk2BXOmyecqyyE9ZcdrK_PkE_wL7U4oHCoSTnSkMMMgtPEP9bLFEz_-KeLUdg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWI3YTk4NDItYmRkMC00YmVlLWJjMWItZmU1MTJlMWM1YTBk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5MS00OUtGdDNEQUFQdHc4U1hQSHZBWkhHLVhVVU9kNkQ4YiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rAcjl-65yqaq1TystEbbV-6ml07toVSYb0V5AJfKHq5S8S_wYoBWhVoDnCmFcb4t7dDRyFtlKq8zVIj2nxeZ2RyU5m0fZn7gRy-bpqg3Eedh5K3g07W2ueUCeW1oJMy5Tll-0cTCFUibEBoOM_O4FQO5Sv6ptqkQeVb6qHNB_a_kCCce1HNcCi09Juwj86jk0H39OkvUVo65urEKOH3FmjhR6vAC5j0Jl7VR5FdH_-KhWeenCBUwpWee8zeK8MFZMeRQY2U3dIYseSgjL5UHE6pc6sk2BXOmyecqyyE9ZcdrK_PkE_wL7U4oHCoSTnSkMMMgtPEP9bLFEz_-KeLUdg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7535" it="0" lt="7535" ct="15" ts="1587564539963" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWU4YTFhYjktYzU5Yi00ZWNmLTgzZDItNjA2OGU3MWE5ODVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1759-rj2TVztfnwmJ5OiLa7FWTt-Mv-Ac7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="601" it="0" lt="600" ct="0" ts="1587564546897" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjE0MGFmY2QtYWYxNC00NDE5LWI4YTctODE0Y2YxZWMwMjg1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxNi1TQjNYVGpRY3hTRUVDMnA4R1BXTGZoWlRNcGM0RFhRRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.JqcvvaSsrB8z2VmZYg5uFTdseDQ419P6zgCM17MwsUsChvKNh5hZlwG7DgeIJko2i8fvLyAuLFHnWR3raTBQoAyoPsFEki32RTK1wy7X4FAg2CuxNbxPReNTKusCtcWFE2zxs1D78HNKRUldpHITYlN7iDzTv_yedFuX5rTg9LMsMYcaxzAzLPjQvoVIWMlZ0ZXFgCUlPMszv92BD2hP0ryGcvAuaLfjinoOSgSdQbH_ooNVVWULlXAHnzoKTWWk25FQN5LERYOmosLZ9UzuIiGpo5CKjIVPWDxZv_jUicwLe3NInURo9drQOIzzRHr4WbLU3Gl7xO9yo4gMzPw1qg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MWE3NDhkOTItN2I4Zi00NGU4LWFkZjUtODI2MjAyMWIyN2Zm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="567" it="0" lt="567" ct="0" ts="1587564546935" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-14" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWQyYzUzMWItNjAyYi00ZGYxLTliNjYtYzQyNzdlZGIyMTc0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4Ni1vczdyaER0b1RsOXQ1N1phTmJVWFJ5a29RSEVTcmVJdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HYp3EBOnN-CIymJYOx8hkIk1rkGokmLt8LbNa_6Sr9Em_B7BaSmC8td-0zvVuAcNYP0q2iv9_HlnabYUyfHzoI8tmolzumyEctekDLh58SlR9iDa9AjflwwR6mE64YXCJUR5jEwr0MI8sTlCVP6rE7KENDTW8bRxwZVjglB2UsN9nN7sNjaa_UCyzJqYMV42zBA3GWKvLRX_qs84tPFWXfwfX3-Xn2RgQGVmX_ROPZX0gsFcGtH1Ldtnz96crNmJxQ6E4_C1tXx4A9tmVTjvu1zJTgVP88cmAKYRzbS2Mvqx0L_h0BcD6qVXFksJ_KbmNDaM2bIDckyIev33QgCvrQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODg3ZjBlYTgtODA5OC00NDY0LThlZTQtZDIwM2FjMjMzODQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="543" it="0" lt="542" ct="0" ts="1587564546961" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-17" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Njc1MjI0OWYtMmY2MS00YzJhLWFlN2UtYzFjNjI3Nzg0MjQ3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3MC0wMEMwcnhKeDh1Q2t4UTF1Y3NQenplZnB1Z1phdHdvMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Jw23Yqg4KVWXXnnCfiVf-HsEgEdwOV_fxPlt34yto4Tel86BIIkZT9HCpGXtmIn3JK5mw9JxLAbt3nRLjz1ePCYWCShhrt1--aoj5WJa2XhjmMto_gAurxAjMAo_r8TdUdvnwY6qYM9XXIADqt7889diNkrMPu3CqfeTD0L9adZ-t9-TQD7UbMN-zuUKrqW0VdgqCr-FYtO11TrFcm0bn8v34RkM2cYzkD6vK2d0UbwYnFP21aCN336Xu0Jrec8Rp4cbdV7CICr-G52UMCriGMTmv-gyhL3ps0J_eFmQwHx8rdz16CYxBgCkXgpNdIOWWAfNRxGQQtTjqzdRkz5COQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTliOGM2YjEtMTA3MS00MTViLWFkZjAtY2NlNWZjODJiMmMw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="568" it="0" lt="568" ct="0" ts="1587564546936" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-26" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjRlZjI2MzYtNjI5ZC00MDUyLWI4YmQtZTBkMzdhZDhhYmQw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2Ni1iaHlEeE1pTkpjdVVXRkc1YlZDdFhJTWxjcVZzU3V2RCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.siBWZ32oZatsJvm1TuRChflBnm5mlc3s03r9HP8ILeDvk1K-BQ8KIAL0mfB6T10vhfC1rE7Oizh0hSa14GBfwYgCgae9r3gXxMUD6RtqUnn_7KVnlvvT-ZKJWdJ8cRrcqvKyEm-SzHUCY_-2AFk_--zxgY3qNeN0E7eg-PglAmziTp0F-ahcGXcJhE2OIRhGu-l-zNVo0PrPikSCg_jUhDCYea_NU5Hwg7CVMp7tohq7dkdo1zHRVkGU1gi-08p7O_4gSBoo7q5T3TeNccEJ0_tHLtiA9nx--tqTY0aH0mcXP8kt5tGZP94V9GR-sSYRtMGlLWX2xCqCCCbeFEFgSg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Yzk0NDg2NjctYzA4Zi00ZjU1LWEwY2UtYjBjOWRiM2ZjM2Vh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="551" it="0" lt="550" ct="0" ts="1587564546953" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-62" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDY3ZjUxMWItODQ3My00ZDA1LTgwNjktMzQ0MjRmODMwZWVh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxMy1STUVyMVBod3hHeVhZaXlLU2o4Qi1ndXNZWlAzVmxDOSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.V-p3M2FNwzddj-RkrKiTIj5uyp6Y96p7eogj9ekFm0HX57VO98wuc-bdZJS-O4u7i6wdetIFhzrTTaOl3GqqZo9bLKlQbUPe9JDQSyUyNJc9aMr4dVKWiJaBBgQFq7MtUWz00hqeF9jMCl-OLmgepFKBvzOcjN2vrXHvCDowaU4ChYMGRVcNa1QIpxmNKDis6PvPmjTq4kR5utppD5gxy_97o6TZrqIuNycE9bxfkVlZ7AnKX2XRRfl0hMgvZm-KOQQo8traw1rZTg-pQLFI_3h5Ugdkq5LI_LoRlJqx-uCP1fxe0FEolmBH0ZgJFr9E0Psk4MOfydGq9wD6ic2rnA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YWJhZjMyYjAtMmY4Yi00MDM0LTg1NjItNjM5MjM4NmNlYWE4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="1" ts="1587564547498" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWU4YTFhYjktYzU5Yi00ZWNmLTgzZDItNjA2OGU3MWE5ODVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564547508" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2Mi1wejdrMHFqYTh6QXBBSHBTeDVINWJJOVBjZGtkWHlSdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.n2kBDUn6qlg4f7KJYdz909Ed1QCQitvGEFVjyxYylMS0W6T-km9b1d9mwFR7FY8QQZG7F9fJTUnNCPDvWPTe2L_CnP-J1b0u8TchBEl_8hdAH3aexTcmk_na06c1gL0Q0o_7axVEhgWdBMKFTJH--Kr3nfs1OOH3si4xeXqFZioAkiXAOrXLErnHVmctkoC4zYwGXqHzvyOYY9noCHvyPhW9ZhE-J3oB5NDypnRFx2pOKXDOxwv0d3YyKfyIJgM8xvI-cG7SiwlkQWNDVP4BEgSUB6C1FwhOvdpl3MqP3sUylIsBeNncyOrAqHWMvSpOC2pdKIBdRtt2INjmcxCeRQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWU4YTFhYjktYzU5Yi00ZWNmLTgzZDItNjA2OGU3MWE5ODVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2Mi1wejdrMHFqYTh6QXBBSHBTeDVINWJJOVBjZGtkWHlSdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.n2kBDUn6qlg4f7KJYdz909Ed1QCQitvGEFVjyxYylMS0W6T-km9b1d9mwFR7FY8QQZG7F9fJTUnNCPDvWPTe2L_CnP-J1b0u8TchBEl_8hdAH3aexTcmk_na06c1gL0Q0o_7axVEhgWdBMKFTJH--Kr3nfs1OOH3si4xeXqFZioAkiXAOrXLErnHVmctkoC4zYwGXqHzvyOYY9noCHvyPhW9ZhE-J3oB5NDypnRFx2pOKXDOxwv0d3YyKfyIJgM8xvI-cG7SiwlkQWNDVP4BEgSUB6C1FwhOvdpl3MqP3sUylIsBeNncyOrAqHWMvSpOC2pdKIBdRtt2INjmcxCeRQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="162" it="0" lt="118" ct="1" ts="1587564547358" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a36e375a-ea8f-47b2-ae9d-479e7fcc13bb; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="134" it="0" lt="96" ct="1" ts="1587564547384" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-53" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=91ee0e01-4bfd-4db2-b5de-1ee302be6a87; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="562" it="0" lt="562" ct="0" ts="1587564546965" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-82" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzIyZWY4ZTUtZTRiZC00ZTcxLWJkOWUtMmI1YWI1MzdhMjk5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0NCwianRpIjoiSUQtVG9rZW4tMTUyMC1kOGQtdjZGVkM0TGgyajc4NVh5M2NITXpveWFkcXZmbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ViW0tAAbQr7iO0v06Aj3Z491UcXNo4QAild-YjFXOGdG7UEr03hJuhpKoy9qltmJC2b7w5r0Cak9C9zzBaawdNjojSLUrreuPyhU48nLQBLDbYhz_rCCh5DTJhokJpSa6vqeqICIsyaATWjKfwiIFcAnqKHw3yIV_mYO0by8NMbVH80hR4-mdqC1RxWsqTgMFnFYjJscwcU-v-0krxl2gI8UyS7_-shVLTOKJDSwTVihOGmO7hhZgG0CmBQ2wEIU3bgXkSEtMloSA8le7w0J9NnZfSQ519rHC9cgbAie6lzufCPdMT-R7h46OGu9-ivwmF3bjM03Aczd423geLBGMw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Mjg1MTA0NDEtNjMzMy00MjlkLWE5MDItYzcxMTI4ZmRkZWFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="509" it="0" lt="509" ct="0" ts="1587564547035" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-60" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGE5ZTJmYWUtZGQxZi00M2FlLWE5ODgtZDgxZTVhZDM3ZGUx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3Mi13UW04Y2dFbi1FYWR5aTFjRkx4dmNrMjlxaTRXUlJLbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MeAKlwnVDcji6lixBTzFbIUGPegAQEqPyiKMNYtBTVl2f_Ega3aNh7yeQYEFA70V3qzMzSASuzMZ5HfcUSMDS1LryN7b_RvjYkB6ycq-oC8_f3Jk5LDDqHiTlspwWPhCj3LXUgtJ18wZ39J6moRL0lqt1lJQ1pvlU105XTqXuqQSvFYxErxSGSNotoyoW0a2XyvFYOy3rx8HvrZO8WQtPEhf29YzIcUIv7SBzXwdCJYzBmLMHVr04bO1yujex3WI2ivCLgkl_wpRY2VhAE-IQFGBjFmRk728u7zdUzMa8BFY7_spxz0QbDRxnoYBF9HTHN0UATzNSBzJozWJtjo3eg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YjA1NzhjNDAtZWQwOS00OTNhLTllZjgtZWNlYmZiN2YxYjM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="515" it="0" lt="515" ct="0" ts="1587564547035" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-47" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzgyZGQ3ZmEtMzM2Yi00NDcwLWE1ZGYtMDQ1YzA4ZGMyNTg2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5OS1VVFN0ajZwOWZPMzJuLWMtSEhyQlNmUWdCSlpybWtIMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QYv-RS8gBESESEO_b7TEvaYYlSJOQHORM40oV4LZnnBL3gZ_zS8HvEDVRnqv-x43nlrmQEZ1xW0pZCKn5vmepILtRB_Us2fvxEI78NsK2JRRzDmNyJ59NibAVMBMwgqjylC5-0jYzh_5AcmV-ssH4kcN74PAwnYez8-dy88x716RMqK7k0kOXtIkuWoRK1v_QMLk-SQVPUmslATQEpmVGRBDRnoeC3ofzzGcWsE4PYWQnIpMhn3fbjRtKNWfXCiJf2iosCQRDbG37eyDGR-jSfGVuse8kQGwFlAjIFVCmzI0PMi4cUAHq06ypCMCQCgDvkKzEO1-Em6QKHnpjTEFrA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjcyOWE4NzAtZTFjOC00ZjM5LTgwNTItNjkxYjM2NTk0YjU2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="691" it="0" lt="690" ct="0" ts="1587564546865" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-85" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWU3ZDRiYmEtOGI0Yy00ZTUwLWE1N2MtNWYyYjIyMjk2YTNh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzOSwianRpIjoiSUQtVG9rZW4tMTQ0Mi1zbWtJUFFzNTRrREZSNUI0dzlPeVNZaXpCLVJUcmhRbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pAWg7r1iZFTv0SE_Roo8klXl3EAbk_bZHMG7lqGwE8ow23eQfF5Ul9eGttOQOWM-_UFX26GpvwmvTbjMdO6rcVooB0y4DIHLG01eiDlJCwaeFyMCc8ZkpHmc1_HL_cDOpUTpQJazn2FbGBIGjlyvX1FR8glLVqAuRrTNneshJ7bAFdCgpxrX4GueZkE1NzQOEZ4A2EuUXAtssoPWcYgV5w6pXVv3rpBTkY082WwhIIe8og1JXn-EQ2eVLVLQhIXgWUMbC97T9Z-rnRzV8xHLXeIRSOBDmgBddRw898Seu7WwDj44FQ3GlaK3Gq7D8Z0UST3jjVIMD5rFyxNdNDRzTg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NTdhODZmMTMtZGE2Zi00NzFlLWEyMDUtM2YyYzg2NGVlMzdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="522" it="0" lt="521" ct="0" ts="1587564547037" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-89" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGU3YTU4MGMtMGQ4My00YWQ5LTgyYWMtOWVhZDAwMmQ2NjI4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwOC1Ic0haNENjYTExRXR1UldXZ3pEMEdUclA3N0lKLUd3eSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.D0-M9vCWDpi_kWVrY_eeb0PTNajFbnc1BWttS8g61-tTXkfAbROWAEg1LwNixaC0h57WKkyZJF3Dk8TehRYnl3FP-6ZVBkGMIHiHFtBqXjYEKQEac1DZCiqfWrFgCW7l9gpe41fS6oN2S07vOIalOIx0bT0W82IUpvG8JGUfeGFI31g3gyt3J-mptSFnCdbBxVFBhyNR9cE08ziYG3_V7A_YQxDFl-zsL21PbUVTTxliMnrj5P_6P7Du_IN_UU_CB-Eo_cmNSARaTRBT3Nmq8YWqmp7CDo3nGG6rYcDMQF68Vp_iZmpseOX61LizJpyWU7r-PBcCIwa2cZgKyI_Rdg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NjVkZGYwNDEtMWM2Ni00OWRmLWI3YzEtZjJmZjQzZDg0NGQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="604" it="0" lt="604" ct="0" ts="1587564546955" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-18" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzQ5MTM1MGItNzliZi00NThhLWIzYWQtNjY2MDE3ZGIyMjYx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4Ny1TR2hoT2ctS3pGVGJaeVRrQllJUDV6MXZSOWJocG13RCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MaGh2EchPrYzG5WNwNV1nUFFGak3A877tjzuI9eJ6VKK0ucONpH_hGsyep1xblXODk7-7ruWbQ_Cw9eyN28gVLlDRujQNUhvoo-6Yy2LvPNN8WgTlN8Jxe3kZWU0HPZfU-tmHtuOioMMGy8RdaT9scJE7vrNB0e4NONU_JbjL5UFMAEuHVCHgbJHEjxBpFna7L5Qy5zHLK4eil2-PFx3eKkG_eA6W-IqviG1hhvhAV--e4R0lk5FxHTuE4lPK7Reva-dfpLFtMPN5h-MHz_VCm9-tgbrpEe0xPY4ug6MnWzFPuGhT6ztYtWgoRT9B5CI5lVI7F0riPQnX6UVqbxM7g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2QyNTVlOTItZjk3Ni00ODUwLWIzOTItNzBmYjYwY2JhMTMw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="623" it="0" lt="623" ct="0" ts="1587564546943" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-16" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGM5YTNhMmYtZTdhNy00OThlLTg3ZjItYjViMmZkMmY3ZmE0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1Ni0tNnVsbUNTVjlIN0dqaUthVzI2ZE8tRXdYVENNWjlzLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.syj5uuYH1RBwAI4C-fptYvbOGYZ3GNfmdPAxY_3-kUJiLOJjuoqN84ymCh6ilGqsXC4NA0Z81QGEMpenb7A6BGcfE8XUZx2EnePpFAqdfxU9r7cCUtcSFmA5ulZ9G0kevaEOZiaGGLf67rsPQY3jK0AUGYJG6czfIyC_5ghXC6X-6EYPyph_7JZIzm_-VvJ9U6UOG7Y3KBpgq9eYK4T1N6RwceKIc6MwgcjZl0_C_0wUku5ovrZtOflBVOC5MBSBD7bjnUaK1sGuOPAetvrTNlJYtH18Ze9YwkcfpSklW7kedxmio6MiNLj43czuJREi-CMR1vWOWxeTu7ui-KDQaQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YzdlOTcxOTMtMzgzNi00YmFkLWJiZjYtMjVhYTYzOGM2YjM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="7629" it="0" lt="7629" ct="5" ts="1587564539972" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDA3ZjcwNjMtODVjYS00YjhjLWJmZmMtNTUzYjYwMmI3NTQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1788-WjpfDCztP-t8i7YzJcvyfU6antsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7632" it="0" lt="7632" ct="9" ts="1587564539969" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTg2NjdlM2MtZjg1NS00N2VkLTgxNDMtMTMwYTlmNDFlN2Y3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1780-E-hYZpWNYI0oHnnVzjlzHj26xNIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="1" ts="1587564547601" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDA3ZjcwNjMtODVjYS00YjhjLWJmZmMtNTUzYjYwMmI3NTQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564547602" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTg2NjdlM2MtZjg1NS00N2VkLTgxNDMtMTMwYTlmNDFlN2Y3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="582" it="0" lt="581" ct="0" ts="1587564547032" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-13" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTNlYmEwMjQtMTVlYi00YmMxLTg4OWEtZmM5NTVkZDM5MTBj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2MS1yYzV1a3U0aTB3clBKaU9wTEZGR0dxLUFieXhyVy1rNyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KzRcp8SjXPct03SKAt5Q-d1C_xJK7bzMfArSt61RP4BF2GSSn2ac2Xj1KQKBDP0dXwPTCEjCOj5KMCnrgbtrFdYzShGY3uyRQn5QGNjDpDP6h89IMjoWslXzYeTXSzBXyZOuEL9JgBTDUUpOKJw5Tkp4RrvHkaSNFrT7C74_4ZeUq-h5YPVgo7wwNlhif8cCrW9bJNQU_I1TwMVP83ePTlXHRFVk2bwS78lgYhx5uyZsTATZ83yvpaulUUo73NOWZiSh450dgKml-Hy3-NSn7Sqa_RTw-KYvrTpQ8Rj43dZZpEyDl9srlS66EElw7rQ0iUZXcEg364JXFAsJNlkAcQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NjUxNGZhZjktNjIxYy00MjU2LTk1OTItOTkyYWIzNWI0YzFk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="747" it="0" lt="746" ct="0" ts="1587564546868" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-8" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWM3OGQ5MWEtYjJkNS00OGJhLTgwNGYtM2VlNGUzYWE5NTg5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2MC1GNU5QeDJuZGZxWVhiZ3lMS1BqQkpFelhsZTVxdnZGaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Uhdn5JweQoe8FnbvvgO13H_-BlCevaIeat7fwAczhMpvuW-0e32l4xFvMVswK0MRb0dwwwgXCnzUHxznsrhPC5y1klHY-3mh0HupmpLaGicGBa7z9Dnk5DykmHanTGWMxoSu1WVs1GI44-keTGuGpP27M1ruBamjhhtEFD_FxpuYmAQ50tQU27eH1MX_NHrwKQzJydx8EaNPuTGqPVpeJoVyz4e_rZbmv1W7PpON9zD6VaGXRfZT96jfaRxcWuF7-juFFC4W1ZY2rc6ZmFzExMhFPluys51UPzvvaBQX7ebPUp7azdD30Uy4BM3uYGNxgebN1iqdqI0qvG0g84QvmQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTkxYWY2NGEtMDc0MC00MWQzLWJlNWEtZWFhZmIxZWIwYTY4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564547607" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxOC1QR1BlcXlKdUI4UUw1ei1rOU9vWmlMWno0RjVRNExQOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.erKHuPA1CshQW4IPi6qHhPp2vIPg_7TYf3GY3xcr1hSMx8Sx4uF1vcdYlmJ30woEVgzQ9ZpSlvrrbrKT1wUytf6PP738hfmcaNEBuiKHwByjC67Wlal555ImdGnCIU2ZmrH8dfuY2aPpcqhDHRMPBpysVjMV-tFZFxs_-gMc9fJaWPu-Z4fSVBJMr7LfChOVOJCNMFG2-cTICKl8Ux0EvqBK6NCpxvA6i63Rsq1Je41GnsrgrOMzsqKWaAZrMbHHUfpwhD347vA7nejhEAiWf0sR7e0i8HHqVaSoXmA0o3OhB3w0pfqP_4KdFYGaHAwOP04ntIs-Ncgw6gMOQoSUTA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDA3ZjcwNjMtODVjYS00YjhjLWJmZmMtNTUzYjYwMmI3NTQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxOC1QR1BlcXlKdUI4UUw1ei1rOU9vWmlMWno0RjVRNExQOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.erKHuPA1CshQW4IPi6qHhPp2vIPg_7TYf3GY3xcr1hSMx8Sx4uF1vcdYlmJ30woEVgzQ9ZpSlvrrbrKT1wUytf6PP738hfmcaNEBuiKHwByjC67Wlal555ImdGnCIU2ZmrH8dfuY2aPpcqhDHRMPBpysVjMV-tFZFxs_-gMc9fJaWPu-Z4fSVBJMr7LfChOVOJCNMFG2-cTICKl8Ux0EvqBK6NCpxvA6i63Rsq1Je41GnsrgrOMzsqKWaAZrMbHHUfpwhD347vA7nejhEAiWf0sR7e0i8HHqVaSoXmA0o3OhB3w0pfqP_4KdFYGaHAwOP04ntIs-Ncgw6gMOQoSUTA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564547610" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwNi1uSGhURnUtak1qWUU3Y2RmOXVBekwxTVhxb05lZDVIVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EGWcxKxEZ_02sFu4dpTpvDkpEkbLGS7f7WoXE7vH6WN6MxLX5gOMxxud1SdkVmmEvOL4oVr-4sd__mhn3zPUPHXuZcvqZS8niE5vFvOxoHAQb1m_yvlIgVn5mX-IbhYaYxiyrxyY4Ax1wGpkbwuqU7pBIHXRmwTvESrjWPawSSB0nfKbYBZbyAIdXi-VLoXj3kF_IsHFXdaRuXKnqv53NSZZua2DPftLCt1CjwHsjRIyQt02zYljI-Ol_gq-WCpclw6yuyw1vDv8f1hp5RwP87rfgF3KTiOT479BJr7rw2ujtv_y2YaG0lv0pTOT8ZF0hwh256lD6ytZmqbmmLosxg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTg2NjdlM2MtZjg1NS00N2VkLTgxNDMtMTMwYTlmNDFlN2Y3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwNi1uSGhURnUtak1qWUU3Y2RmOXVBekwxTVhxb05lZDVIVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EGWcxKxEZ_02sFu4dpTpvDkpEkbLGS7f7WoXE7vH6WN6MxLX5gOMxxud1SdkVmmEvOL4oVr-4sd__mhn3zPUPHXuZcvqZS8niE5vFvOxoHAQb1m_yvlIgVn5mX-IbhYaYxiyrxyY4Ax1wGpkbwuqU7pBIHXRmwTvESrjWPawSSB0nfKbYBZbyAIdXi-VLoXj3kF_IsHFXdaRuXKnqv53NSZZua2DPftLCt1CjwHsjRIyQt02zYljI-Ol_gq-WCpclw6yuyw1vDv8f1hp5RwP87rfgF3KTiOT479BJr7rw2ujtv_y2YaG0lv0pTOT8ZF0hwh256lD6ytZmqbmmLosxg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="495" it="0" lt="495" ct="0" ts="1587564547125" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-3" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Njk4NjFlOTEtZGU5OC00ZGNhLTkwNjEtNTU2Y2M1MjgzODBi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5NS16UUNOd0ZEbi1aWFFKNng5ejJYSEZ5Z2ZZUlpDc291RCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.muFOzXZ6MzfxbG60ncYDnXM0pln_oT2ladH83k8LprM_JqqjAU5lGmdPPScUGOYpl4g-xif4hCoX3M3pYfuAUphRJlh8PuSTVrDPgSZyLRIA2mdmIw8_YuUaeVdTWEfm0Yi73aLEQdec_ZnS9ubUgTZ7s8myFLw1lKAH-sGuz2Q9WzyqwuK7jG2pBUt1A-LgHMPuuOHJdNkXqgqLe-EZ5KERmN7NL7iFGwGVRnRWcRCmjI8bAKjM9LOFykplP778iJVqRMMCeKfhJm2GxJ1UvlaRWJbUdDK49vNp3Ei-0n6pFQT0Esms2h4_Vc3U-Rtxs3xUsIaY-IBx8s1H-W7ytg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGQyYmU4NDAtNGEzZS00NWIyLTkwYTgtMjBmNjVjYWFmMmQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="589" it="0" lt="589" ct="0" ts="1587564547033" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-32" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTg5OWFjNDEtMThjOS00ZjIxLTgxZjgtYjAxZGQyMDA3YjEx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2NS1zSlhmZW9GWkE0YUpXRFV4cDJJWEZPRVFjaGtzc0JpRCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lWQ1FRYMpsBkKOywgOaNCVAb_7LR_sfMuGMHTfVew8Ng5fR408KPwwxXwSu6Cc4uu7s7h6OgmLqeCCSFLenwH9FICxWtXO71jVMF5dZDh7dxq-5ZZgXfYYp544plBAXfMDuTXPoei93LKxnTt4UPya6QH6OfwZkVV8pjR5jMx_SDg2lJZ1Qx0SS9w-wUJAF230XIZu29mw8AiUyQJccMbA423rjFgRcHhNxH3MlyVKj2l02ZGlcSNvNVhWHv6u23-4CyauvUqgMQ-o9LeVvxaWXtX23ECyeAF6lYMF5tDmtwlOGaG7wWFpbOpFDyY-D-CQ7KYyRaSIxN1k9lYGAkxw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YmFiODY4ZTYtNjU4OC00YjI4LWE5MGMtYzI4NWQ4ZmYxMTE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="402" it="0" lt="402" ct="0" ts="1587564547230" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-91" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWJjMzdhMGMtOWI5Mi00M2E1LWEyM2UtNDU3ODBjYTc5NGNl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxNC1BQXhTSWdRS1JVdWhsNTFGc2k4VXVJb2d4UEZyeXE4cyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pNvVuxZj5pcxNCVHDYjJTVm0FjNapEjLMSTdXJmHQPyGHYQK1tWWGCY8nnwxFwtmMGBFjqiv0W25m-ciC2k2JcjxX81-E3XvELusnTm94pT4Wi03UdHlpqBVp0nUfp-mIgiJK1FXgwdfbqREJ4s6sKgUoQn0aNHLgr2KxNep9wwxdhtd-0XfGIgUeoEFL25eWiRZGdnhbsJi1lXAFMzdcrLfWGdQYlUa3Ad1hPqeenDv10xofsdNGBuqZE5v4QAfNHmUgmgy0MfkE0QYbzuo9YClGMlYRGqpxUeQYHGk9OVnlZN5wikZbLgkaLmzhWFKsqHjHJJOndS_8G0u0-nrhQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OWE4YTIyYjktN2M4Mi00MzE1LTkzYWQtMWU3YzZiNzgyNWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="170" it="0" lt="90" ct="1" ts="1587564547459" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-65" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d149eb92-3833-4466-ab20-732464e4e6d3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="618" it="0" lt="617" ct="0" ts="1587564547021" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-31" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWY1MGRmODQtYjBhNC00OTkwLThlNmUtMWY3MzYxM2RlNDU5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4MS01UUdScDFoejZ0WmlHRlFpZDlZR2RWYUhuaS1wQkh3WSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.U_43B7Jw9v6lE80N6r9xiieXlgD8bpAPshA16IEIWkWXBJ3LgIOK25B6eTl5uXZxn_Aotz2S2tTApa7g7Ih7BiSkLz_ugU2en9G7oVSf8G5QrUQj9MX2ITZv9FMnQ9Vk45hOZdHg3BvJsjaVWkLaniMJnF1vAORcnBEGSmFb2JoVgmUbTwiyYCLZ2Q_iTH2WoVUimtc6jBJZUhSVzXeh9st4grS3_UDY_eggN0LXIoCbTobn_m5VGiVORVZ0XecMLGanKmOmJYmiGDgPFocG7OuDJmSO70RBasl49FPaDe-dQSHnrMDGEsKEo3RyFsQj3BrXLki7q3le9MzGMO_1cA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MTY4YTI5NDktZjc3Ni00OTRmLWIwMTctYTdkMTMxZDQ2Y2Y5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="410" it="0" lt="409" ct="0" ts="1587564547230" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-64" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmNkNGUzOWUtMzY1NC00ZTA1LTliOGUtMWRmNDkxNGYxMTdm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2My14NDhQSi0tR3lZc3hwQnlneUJaWFZZbE1vT1pxTm5YYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Y_fS3b-xhppGJDwVsWvp421Va1DptDuss7dNBAYL4wx7WDL5VASjbEgv5lafhWyYepktfEBKwljh6PCb1G_-FoFB4uSlr3C2WPt58l0GuQ0SKv5NF9fLm4GJiReWHTPtdFETzdq2dj4OUswbOqYYFg-oYljfLRkEDozlJUMIwRs3gR6sMr_uKHE7hE0mIqLKFFC_r3wI6_enT38tddDIqjDBHG8n-BjeQkUpDZpSkb7llcGBxviCAMU_OKWp_CZ-Q3LLmEdcoKI_JYO5FI_ynowxIkjzFhW1v4mJN8FprpjByvvHNN5txq32At3hdOKlFqv6f4DsnqdmJKdH0MVioA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NmZiNDEyYmItMjIyZi00MWYzLWJmYjMtMjc3NWQ3YTM0NDBj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="404" it="0" lt="403" ct="0" ts="1587564547236" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-7" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDRjYTI3ZWQtNDZiZi00M2FjLWFjYjktZDc4NjY0YjZiOGI1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwNS05TG0zQU9makVKNElVMHBtMUwxSi0tdkV0N3VITVZhOSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FOzIuf4MnnXqw83xZUosmCU5xJl1tzTPZWLCb-SKGRshSZSF5t2hGOxkbZzYMPTvj8uilpDJhEGiefL8Eg3YWKsCaPQLcsWIIKpocZ0mJwNQR5h6ThEJkh7LDy71BnFf9ZtYk9IbBwUeB4YoD6u3sRJPFesToKOhNhte_uPMyazzY422XxbBiUafdHS1hSuWGS34ecQ-feRpmtA677FWwKb-9XGkEzuJVTjyHlxZUlezYCux767_nUijTO4yjAqF5198y-sGNTCkGMAnXAA81ul8C24CtlNVydoANWCjeCEAfFDwOPi0am8ay0RGVxlx-ZHdrIGp-pmrV2Asv1XpVg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NjAxOGQyYTYtM2Y1My00OGU4LTlkYjAtMGEyMzEwZTk4MTAx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="405" it="0" lt="405" ct="0" ts="1587564547235" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-11" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWJkZjk1MjQtNjBmOS00NGUwLTg3MTMtN2Q3YWZiODVmZWY3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4OC01WmNhazBmSmZDaG9TVlRiamhJSXVLZjNXUEpiN2g3NSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IeDMmjDJpCBuLgxkw0E-gbx4RSdDkbLWo8yYEfVqxXhkJWSZe3Y7KHf9RGaBU98rhlSjzyycISVBlGGMZuFZC11A79qVNaDo_a15qD2OY_Vp2cDk969XQ2j9jFrjuD4FDt2Yrf1XXQnpNNZww-q_67lYwxXtTFYJEpNrVtzf4Zsgqz4Zcvnpiqcm_Ia506MMiERgOFAqWPk9d9Sme2kFeWOmtr0ewmlFhgit57FBkFk0sY1h6EL93mjTiflxOK3ykn_2m4W1fow3dH7m-4OUehotZE2kxNK7fthmwwEqMxEtPGuASRg9Oixm40-c9Ax-S1DKfkELulI5kACgUxw4Hg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MWFmZDFkMjMtZTNlZi00YjJlLWE1YmEtMmEwZjM0NzMxNTkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="421" it="0" lt="420" ct="0" ts="1587564547220" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-90" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmM0NTUwOTktODc1My00NTVjLTg4YTgtNWE5NzBjM2U1NWIy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwMC1pNmZWdEREVmhBaEpselFvYXVQa0tlR2tNd0RBVy14OSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Jm7il8ScmnewofA6inqHB5ATUNm2pn2nSZkwxAaHB43TQDokEQD1pkuSULxWFc7jnobjCEZzWY6TC1a_vhpa1XfWcug6-eiCep3-doZl51gjQPZ5LUOEANazE1ImSZNxjfCT2UafmisU4gRPgcp1AFI-M3rC4wDahTQjsMvtm4M2q_TUdizy01RomeHzetbJtM9Sry1NS1fXBG38lNiLWHMx27rGTD5IvZblKWwRTUpn0E4cyGvCmEcMwsGowMv0czdUDfCDfrReVTkRcZG_dgn0dmPcO6JCXhSExUsClkeZCa9mDcm0wvxv55SLIZXt_-YBtILAqsBCMlPzcTis1w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTZiYmNmOGEtYWMyYS00YTE1LTg2NGQtZmU0MmI5MmMwOTky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547640" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWVlYWNkMGYtNTc4YS00ZjU1LWI5N2MtYzU4Y2I1ZWNjY2Q5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="416" it="0" lt="415" ct="0" ts="1587564547230" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-80" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDI5NjE0ZDctNmMwYS00MjkyLTljZTctMDQyNzg0OWM1NDY0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwMi0wdHhpbkpLQkFydWdQTG16bDFWZlN1RVZGQml1cUFLRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SpEi1OyW6qKmcgV6w7ZPiY8O9uP93mbFdvfRwx_1akNxRRsfX5oA-u97fzns6_SyCgQJcmXzW6LpYkbqj_sGNVyE8PekiLGI1CBWC6aZYqqPmzUKqnYQDqkkEUgJhKoeEy75xcrwlavBe6CGoLLM0DVurPZg4j93RVAF8ZHyJBZbWyucCCcRwGjUIXUX3TX_-B7m0Piekf_glDamAIasgS84IrMwirZqGZptqX2ml-yZ_n3LXv3DltLLStsN4WpT6-wW-EN8OKvvjN4DBEVhh7XJJhuPsjH27SPYjvN79kmueFJG1doFjiTxXPTC8eAc0Y0xVSF0DSejajoK8yZ5bQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDYwZTNkNTItMDhkMi00MzBiLWFkYmYtYWViZjczMjg5MmU0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547645" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWVlYWNkMGYtNTc4YS00ZjU1LWI5N2MtYzU4Y2I1ZWNjY2Q5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564547646" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzRkOGFhZWEtZjU3Zi00ZjI5LTlmN2QtMmZiYjlmNTY3ZWQy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="423" it="0" lt="423" ct="0" ts="1587564547227" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-66" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjFmNGQyOGYtMjQ0Ni00NmI1LTk5ZTgtYzU4MGE2MTc5OTBi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5Mi1zVWFLVGRRV3lia0dLRmZKRzhFM0JLYmx3VHB1MlVYSiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Hc4Q5w_8Md5BXblEXAYM5DDgvmcjJkCAg4HYk8jnbf_1neWv_BF3NnoRNDnHp-IKoQlGSIcDYvqOgskUVsNi1cAzq32SvObwk0qaK0DBRGNUtRRIqgvRPWt4IbzoOXkiXFOHmn7QcM2JIOZIQIBo42nU4zuSZXKuitDyemtPILZRtT9xDnyGbrRXH1VpsKmgIXFU1649yhDYnBIu3vKx60kPn111OmJxXsB3dm_3k5t9EcJNmV6LL9moPYCevxuTt5UIZB4XPpEeqPnM4OvcJOlRiDCkTcbYRKGZDUpk0MnY9qoJukZEXrQw6JupX3d4BpLusf7MiJmSOpJkVRttTw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjEzNWIyMzYtYmU4MS00NzVkLWIwYzktZjRiNzE0NTAyZWI5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547650" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDIwODFjMTgtN2E1NS00YjQ3LWI2Y2YtNjRkMjVmM2MyYjRi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564547650" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzRkOGFhZWEtZjU3Zi00ZjI5LTlmN2QtMmZiYjlmNTY3ZWQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547654" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDIwODFjMTgtN2E1NS00YjQ3LWI2Y2YtNjRkMjVmM2MyYjRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="555" it="0" lt="551" ct="0" ts="1587564547230" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-100" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDEyMzllYzYtYWM4OC00MDEzLWE1YjYtMmExMTUwZWMzMWQ0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwMy1uT0NyTTlvRTlNcXlzRi1pZS1iS0dDMzhOb2xWRjhNcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cjulCRz5UCzS1OxX0AuuIVdfI0SW61sYCwjVmX_sLBg0gemMdhh5igkYRtz8M8EZE1qfhjOsjWpEUeak2QV-qJSvaZ0Twc8e4dgf9C22XCY4kI1FeW7y3-5vu2yNYMnbnwewAGANNSRZtGHf43rgM2a4m2SkepuYmj9BW6LZrZi33S0vQyV8ReWO48h9Atj-7eX0GLbKTwc-CMb59SQUfJT6WeIqS8AsXPpAOhn-s65ynmM_31T0Tjwfc621OaVlWJPrBRAOBYwuyBlG-WSsTHnInYIpejhnMgo1DKdCgVCvsGL11mxR49cRawJYYTXPQMdPj8oOkneQ3LsMvmnaJw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MWI0ZDYxZDQtOWVkZS00MDU1LWE5M2MtYjNjNmJhMzQwNTg2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="456" it="0" lt="456" ct="0" ts="1587564547333" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-49" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzNjNTdjNTUtNjE0My00MzA3LWIxMjktMzUzMTYwZDkwYzk2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxMC14REtRZ0NlLW55R0lGNklSTEIzYUg4eXFJUFVFVHB5OSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aCH1ABpemIkrzAavWs56WBByGYK8OmbBJNdfVY4pjkYf912K9-3CzLLh94L_DtcF3yUd8RlNVPWRee_q5hwLsf7kNaFqEAl1QYN2Sjiep8ltU6FQwLMy1gxSgOa_8y-PvUpkXYK0Bj-w1qX8flujrrZgC75qgVOSK8DD9SyclU34TCAPNYV4nAbxcY9Ig1WsDRb-CGK6g8DpIxiA_zK03YNXhj4xGcVbyYM2ppixk8nFr8s3kNNCBPzSnRDwSJYs8MoPBDJf0NKTn_LV71jTvtXsnicLdaQO_gmoszR5SbwzP3_V9RQN78mw0p08hwWk0UNdvlSkiGRUQJe4wMKZ_Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NDZhYzc4NzAtZGRkOS00YTY3LWI1MWEtODAwZmUyZjQ2MGFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547786" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzE0OWUzOTktNmQ1Yy00MmVlLWJmMDEtOWExM2VmOTA3NzYw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="572" it="0" lt="572" ct="0" ts="1587564547220" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-41" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzE1YjRiMjMtNWJhOS00ODQ2LWJiNDEtN2VmMzAwNGQ5MDUw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5My1CQm5pRjJGTXNpOG5aQjk2WXY4cE0ySW16UGRleDE4ViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.knhocDebaQXEFT2mDV8ryEL9sF1tQQrUlxPb9PA4hoazs84dSdVcTJ59eiSx_XGF0bvFofLwuS7OXRTBauHxY7k0BZPlcYKGbj3Q9OehhPh7PYuLc1Ev9pBRK00G_tH2Etkb5NmV89Lwhd14C2hcTi_9nLuWiy_es6OO-oz7RUhITFPG4fzBTd-PNcjEVWJvOjQBl5VkoJ6OcFhuYnz2h82enmc-oy6YpdGThMUTqOGES_ha3rIcV_718vlgGbjULc29KgU0BCTkdEcH5v1PM4hH4tIyRwDYG9Vf7eHlqSs5Qk0_epQflMdtpL6mDI5OZ40ihP8eXvunEhEvzv7RAw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YWEyZmRhOGItOWE4Ni00Zjc4LWJhZjctNjM4ZTZiZWRkYzFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="464" it="0" lt="464" ct="0" ts="1587564547328" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-43" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Njg3MjJmYzYtOGI3Ny00ODk1LTkwODEtNjI4MmEzMzI2MmFl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxNS1MNXNHdTQ4S3lQNDZpbEdpcG9ra1FOZ29sTGtwNk9sZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GOydjuPyPog_Hd6gYK8_4T9TZ1Oc2yoZjlcqJDJbrPGn_gJLFnjqwkU_ipZZzOB3MzpSK3n3zZXsC3ZdcapuS2ebx77k0NX2F6_AvG-3UGiob53Ih2fUkGO3yKLA1oyg4ZiEfrD20x9kisjS-GhdUEboLAjQBgl1gERRmP89ERDUhsHq_Q49Ty3xCoSe6t40pt7XrxNEJmPfGPCo9-7rmFCBvEX00vO-49kKPmOXmfN9MIEL2hiZSZ-826LhErAs9xDipB0GiPRZATVdrNx_FN2g6xq-WRmGIr1GrEjEzkoUpf0rZ9-INt6vpo88Nh0K6qW1yu1gDy3wEWzlPW4aGQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NTgxNjBmMmYtOGRhNi00MTZmLTk2ZWEtMmZhOWIwNTJkMWM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="772" it="0" lt="771" ct="0" ts="1587564547021" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-69" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2NkNGNkOGItZTZmZS00YzNlLTkxMzctNjU1MmNhN2Y0ZGY5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3OC12Q0Z0QzAwTDNrakctRENhcDMtOUVoRW9pdXgya1NEYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Wt9zEf5eEoCQ5xtVS4g_lO_onH4rZ4VIufL0Wx7oUmc4qt6vUKaaCie3VInatMj4ZTUh3Ug3otH1rc_FzO3QckyARXpCQm7h5R-llpdr85rP5itSnvRr81uaGgbwyk9PHChrIsSAtp6mlJ2c6ifWKHUR2OCcHoyc44Gw9ZHZ5Ao61W7MWMIltz2bYYp_EHStwxeJ870gHhowcmGkwqyHuVfBB4ygOdRM4CVvVh1b_5QCEg0y2prEMydaS8k9YKbNPGM93BNcnVhBbYfNGhcynY4xbmrRcLVbh_DFePcc9d1-gaRifRt8TA30jlGvfoBeH38pGG8-0_dWjnJv01FM8A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YjViMTYwOTEtNjk1ZS00YTNmLTk0ZTAtZGZkNzRlM2Q4Nzg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="457" it="0" lt="457" ct="0" ts="1587564547336" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-20" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzU3NmM1NzItMjlhMy00NWRhLWE4YjEtYzllYWRiYThjMTA4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwNy0zUDBVdDF2VkIxdnlqVUJuaTdKb05EeGVMdVpwNm5WaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bxNL-nVjO03Nf85DxvR1G4hCcbtebPgN2HQsJno7qLVuu65_1G1txoj2l2drVYoPlhyFW94HtgVllW9-0XuCcGEVzwyEGoLY_zxuboVhSQBeNkSuWL6fUf2RjMcqMgDviy0fl3NP9HGtfa4_q28xFoeKJfNnbTAEGZZoycQFfrOxEmP-ZXFGcw6tc5gj4jDhwawrwNmo49q3FccN9l6vhtDdI5QSnzyJ0Sw20QnkK2A9-wcoK4ohsAW9tiA_mSqqRs5DpgMcbqOXRSF1vjwTG2j9a2sVnGDzV6fkII263pBP1_ILyPhYCLY8BZzd6bns4t3kccIScE0OJdVPu82PwA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NTc0NDU3NjMtN2Q5NS00Zjg4LTk3NjUtMzA5ZjQ4ZTE3MjA2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="574" it="0" lt="573" ct="0" ts="1587564547219" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-40" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTIyMmFhYjMtMTQzZi00MGUzLTkxMzMtNWQ2N2U0MGQzYTFi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxOS1kY0lNQVVCaDZXejFlRkpmZ0RFZG43ZzdNbnFnMlBiLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Pyiov-tp9HwPgorTssKa6Acw_qRWf7dKaTlPYKEermOGtpUKQbkIrlPH17lkGdtrBBjMUsTg_EMCiWyUaGHM6Guk_5cGnnRPysgEoVpKsftf9IYA-RMaNO4nhJdZNySjRXHRINNZ6dXAMumE8mIZWASE7bNEqrjeB2TcUeXeCLkpHCscC4rvmfonIGO6gFZCW5GPG6KqAot8Zo48wUK45uXvAr06KXKAf1hcE4BzyZRZBzOQk0Gr-IHN52TF35B-clKAHN29bGrFX7BwdMuwDrQAcnDhbJ-OsxgXAIGAaUsu26f_NeQD48if38EUmXb9fZoyeTGU8pCXkP8W_YiDgQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=N2UzM2EyNDMtMDFjNC00Y2JkLTgzZTQtMWQ1NjJkNWQ5NWVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="563" it="0" lt="563" ct="0" ts="1587564547230" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-35" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzU4YmRjYmQtYWIxYy00YzEyLTgyODYtMzlkNzkzMDY0ZmVl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5Ny1TdFlWSkFHVGtYYXJYT3Q4VmJEVWszWEVOanc5MVVEUSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.CypBwjRE5Xrius4nxZru_7skFtFzjfqO_B7yz1MXoik266sOrSU2tyv6gWKntIE8QAm-1FrvHLrMO_yIY3R5mT8VYhe5pPYY0q-oigtzQS2po6VV4QobntJkBwqbfhU2NNC7NoiFtUnAO9_xLC8C49XUw5p9nIe-ewj6m2eRfvGITxOxk0h2Twm5G292MpbuiswEiw9UyaZcL2M5KYYQLhNy4eLXUwsbEWupeSwnUz2OYyuvvZ2RMlIWg6thxlLSRkBgPysfuuR2WWdTQO8RMKdvoVn7hb1GQlsTOfulf_40bSa1bismsSV-EnojWUk4GJLFoF8P_wRsraFHRigolg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NmVmODJmYjYtOThlNy00MTU5LTllMDgtZTZiMTI2MjdiNjdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="580" it="0" lt="580" ct="0" ts="1587564547213" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzJjMDE2MDctNjRjMC00ZmY4LTk3YTMtN2JhMDBkYzJmZTFm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3Ni1aYy1iMjZWdzhFYjVZaE0tLVFadi03V2RuVm9WSWNNUiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BYFV5n3jBZnY60k4fhT8DxLcNlkV0dyCAonq_4OPieSNNf_3L0DitplOHpj3KVlmtQ9L1jQqoEKEz4KfkKR-bIPn4JTVeCqvU1DTRqp2fskVzmIS3VF1vF_ipiHXNcp9k8ZdUDB2vahagGGrCjwK6KCybwjo7_FyPHgWWJZ0S6INARVW788Kd2tc85pdAhJ1mGUfT0Qp9qRBf8fjy9rfPa669nFloSJlJy8vBJ3-R1jJ2fesnuySPqDfn5-V-ENvOHbfhWOlE438gKUTmtWp0fTkyvZ2diittChx2ToNJSDNBmVIB5ynC5-_jK2DXOoEd3-3QPgDfjiTBphy6NkJBQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NWZmNzk3ZWQtN2Y4MC00ZDBhLWJiN2MtZDEzMjk2OGNiNzg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="583" it="0" lt="583" ct="0" ts="1587564547212" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-84" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGE3ZTM3ZjQtMDNjMi00YmQ4LTliZmMtYWY0NDUwNWYzM2Vi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxMi1NRUU5eFhJOFNDdWE2LVh0WXl1ek5SYTZiQ0Q3UTNZTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oZK7NueYMyr7kSrFvkaD6t3AKaFnQtIrvsQfZKL3zv8mvOOo9yJId5GFJsQfWHYL7u6el8iAfHAH6f7lZ3_5uZjKFPARyDKnUSmQhKW4tiO1r5nOm_kHGqvJjr0YfNEcx5wguy3JCguMiFEqYEYm_CfgDq-ktJatanBAJ5EjZzhBY5Kon2a1pKqrASEiuZ5ODmgH7myxliheD1FRngNqiDHkjE8AcmUeq154P_SmhXXftx-Uf5t_KPVflIyLegKp3mdgUoEzVn8w7_Xu3KpehBqCkeWYBqzguYjbjYzGmPXVfaY8gamV4POD4NvZ90iOM39NE7198n5SpzSVxuTgXw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjJhYjk4NWMtYmEzZC00NThmLTk1NmUtMmQ0NzFlZDM1M2Iy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547791" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzE0OWUzOTktNmQ1Yy00MmVlLWJmMDEtOWExM2VmOTA3NzYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="465" it="0" lt="464" ct="0" ts="1587564547336" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-98" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjAzOTAzYTUtMDgyYi00Yjk2LThmNTAtMjllNGIyN2YyZDQ2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzOSwianRpIjoiSUQtVG9rZW4tMTQ0MS1qcFJmR2U3NGtncTduR2g0ZXg2TzZzMWZmVlA3QWxNNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.etbMiao8J02DhjWyH1WlpUKBbcTR7Pptq_TXjJbnBUfE6MyQR_tEHJ5pDIrERsKxsobEXRtL2JIN42HWNjKAu46JMFlsX2iXyJj5jL9RDQx3foXVjVLH9JoNcY7CsYJjXHIsz23tC_3nR9FULQzJ6TYi28TV9JAGz_khuz-bHPwqqWNlwPDCtaUxq9PCp5xuYe0jjyv7g0WKhtwVv0v2nYf2yxAOKxRCJpkSQ7scvnAT4GuTKAcSRnM4DpDozOtdDq9wQw8cm4DNSmdG-Fk9ciX31Pw7l6PPBdfsvASLqOSgrUDNui2mxNzLsdNAJFqJnl6SD6B3u79z7YitPqA5xg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YWYwYTA0NzItYjc0Yy00MzliLThjMTctNGJiOTIwMzQ0ZTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="469" it="0" lt="468" ct="0" ts="1587564547335" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-10" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGRlYmY5ODQtN2Q0YS00NGU1LWI5NTktNTRlMjUxN2IyOTNk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5Ni1BRjFma3hiaTdtRC15V0Y2dEtOOWgzZFk2ZHVMTW11dyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sKtktiFRGssmkXvH2nTeHdOIBkzk_Zo_3HVKPYSFm2AxZNnob_cE2jiZjA2VoiwCvil45k39JRCL8ydwbF3LhXJYDoyawShltbpJYgnAaIs_aTjvkUnBXQlIEnQzYFDvxx3kRpp7G3MVLMtNrL3S7osFj3yXmFyMDOSoV3Ol9mayEReBSZi-UeMohlSPuqfYPgGuPbDg0VhJPqMHDivgPgEKjjivs2i77-dZUyQZWZSRP4vgdzQMVRQAyuT7KfkAK3MTvBYoe0n9oiwk9wf80hl4GxLoz-Xr8MXA94UyE3Wj1fw0YBDByIfLvTrIZJE43Duja3Uf44j_E1oqXX9cng
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YWM2OTBmNTAtMzkxZC00YzdiLWJkNjItMjZkNjM1MmE2N2Ux</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="477" it="0" lt="477" ct="0" ts="1587564547327" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-97" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmIwMjk4NDQtODMzNS00NmMxLWFlNWItMGQyNTljMjUxNWUw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5OC1PUm83SUpTb2NWendudlJONklMdXdteGFrUXZ2SzdSUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PHcugAuk2UWiBr15kPjH_dg8Hr6vW8e-vngPzt331UJLymSGLsO_b8XCTwd4hsBjvbDpW3zSN8YYVfMH3uyKX6WnkIKQZ60KzVifofU_amqbLXAJBJZj7weSSyvf7v1bDPWlnxT7V9pIapipWWkBr7pY9mlA_jtPWEQGxDc_WF-hzscsC3kNAYtuOgOjgpG6O7N5BUq2ltGpR_LQeiohKFCto1QHyOHqlrv1W6cQYKF7FQJawshMtkslF6Jx0U8DAPKEWPe5qYW2CEwlwu5M_z87fNwcuvgxyMwnILldd_gKNAWmP_CGa8kR8DT-DMt8yVpl6pwQ-zzWkfrXFl53JQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NjkyYjI1ZmMtMDM0Yi00MTBkLWIwNGItYWFlZTcwODI1MDI4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="485" it="0" lt="485" ct="0" ts="1587564547326" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-99" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmI4MTAwZTYtM2Y1MS00MzdlLTkyZTEtOTBkOTMzZTEyZGE0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4MC0tYVBESmJieGtjRFpQMnFBUS1zM0dzUmRwLXRSUGs3eiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.n-5Zwx03HLlr5CvUp8X7URDSxebrqp77x2ztVC57_O4JdDvIx65IebavPPsa90gJjrb6LGjMdA4XdMG6r3DXB38dwPm71zHyzwgnKJ7EdX1BCKT0OfxCV8r3mxBwVH2iB_HFLSv08YLxpn4dNNjAzkC45b36xiCphDI_EEMjAsPyGsMLoIwup6NLYGSimWYjlbONamjVVeDgp5REEtfRYohBWXTqGuW-osaOvnMVOjnYc7KuDpZeNeKGztqHXnOrx_5PiNzodY1oDqRTGTNZJl5BzV5lsA_glaKyWJkbPIuhRGTBWYb1CFLGVMzyMDzMHNeqg0sEGwDZBkZW8PC2_w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Mzk2NTRkZmQtYTNjZS00NDkxLWExNjQtZTk1Yzg0MWMyOGNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564547811" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDAxMDM3ZWQtMzBlYi00YzgwLTkwMGMtZTViMWRhODFhNzhh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547814" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDAxMDM3ZWQtMzBlYi00YzgwLTkwMGMtZTViMWRhODFhNzhh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="458" it="0" lt="458" ct="0" ts="1587564547376" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-28" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmRhYTNkZmItYmU5Yi00ZWY3LWExMTAtYmVjMTUyOGM5ZDRj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1MC1lcXF5eFJTS1ZRRFotaFczZnYtajFaNHF0d2xOOHBRTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PR6tfSmy0OAbdp9tumTYeXYuKJIqhXf9wSaKiKNu-K5g6eg2rQLwMgRIB9masnDvi5-iK1sWU8yQdGQRcnfwG6ceU2u3qRk-b18NPx6INQUjj0KCLPB9HtYuYm670FofGpvub6xsOSHjlvzMgPLcn7JKebbazrOo2pYdOeIQ8BpvP-HrOAElNQx_I2tMxdxJ77qiLnzv9Unwox2Gfn5zeVqZheYimt7fLwUyZhko_G-cfHf8FeXHAdHcMuwJD-KP6mhMsmBa7NrT0mYZ4ndm07rl7uI1RncC2h6VWIRGdHqcxQJGO5c6vtZB-Hn7SIjc0MpVKWQqQF6EM-zdVX9X1Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzkzYzQyM2MtNGE3Mi00YmQwLTllYzItOWE5ODZhYjk1YThj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564547835" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjIxZDE4NmItNjA3ZC00YWY0LThiNDAtZWI1MGRiYWQyZDRh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="511" it="0" lt="510" ct="0" ts="1587564547328" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-52" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWVkZTFmZjItNzJlMi00OGMzLTgxNWUtNDM4NWRjNjY2YWRj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2OS1SbG45OWw4OEM1LVJYVk5KaXVuWkhwVi04NjZwME44LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gfPPOk1PkGa4STbLhz5fvgnQ-_Gpms-j4MXGA7r1WYAT_SPNrQ4tKIorblC0sgAU1ifdXOL09aKnNgJcoFZTrcsmaSBASpD3r8zZBxQzILlWEpsduR-j9EohyEMVCojYd_Iqkv-3EEobFGzlMWk7ktu0WhhJ6_CLvYEHJ9nJztyCkR8EAHb6xiLGvl9sEs60eU6ijmhBkkibE0krQDzMr3d8dcnzo2mmNDRWLdcf6yjUJRhMdtuMYy8XXO3T2ryoWkYiQNsHK5Mwjtw6Ac1djgN8AwLikYjdyM640jnDrJ9FjIp8feyvNlW_-WlWogKT_z2qbuBX4a0s69KO4b6apA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Njk3OTcyNWUtMzc2YS00MmQ0LTk1M2MtZTk3MTEyY2E1MmJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547838" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjIxZDE4NmItNjA3ZC00YWY0LThiNDAtZWI1MGRiYWQyZDRh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="205" it="0" lt="148" ct="1" ts="1587564547649" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-64" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6f0d7cfd-8981-4ca8-b38f-e2ea4789946b; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="485" it="0" lt="485" ct="0" ts="1587564547375" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-6" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTc5YjM1YzEtYWNlOS00NWYxLWI1NTUtY2M2ODgwYjY3NmIw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxMS1ma2llbjR4SmFjNkZNWkZFZmJ2ZFAtSk1tLU11VlQzZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IkTMEsla6UyfKx0ctube5iCo_Wy-Lte3ZW_f9RDwqofW64XbI-9KfY0qYuiRfNUN5g75ovGWEkSnQ8KOlMWqGXLPg9Vvtg93llwQgMN8OOCul7YZwZLs7ZRHqGFiSa8rJhdAG17S8h1iK4wbwkZcCQn1v7EMvP-w9qb5X5ZEZlpIDSm0TBW-Vbb084u_ifTY2JA9kFDG378Jn5UFPs3uqBuvMDqnUTKgN2Jpf0vyF8_xu59POMU7yqzTYc8JV-pJXz_D5OpjUIwGgNxmKxJXt7adyx2cf93XRDXAtmBRQRECI3XELoUl9Q87aDYyGRDN5Z2dmojhH0AgxiZCmu9Yjw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjU2OWNiMDItMTU5Ny00MWVlLThjMDEtNzAyZTYwZDJhMTc1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="545" it="0" lt="545" ct="0" ts="1587564547315" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-87" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjMxOGM2NGItMjhjZS00MzQwLWJmODgtNDAyZmU1ODcwYzI2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4My1ZMWZPZ1h2cUZxZXZFQzVqQkNUNE1tY2Z0aFVPd3JYcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.a_hK2DNJC48Onb2HM8bV3wJsHp85uIanvf4OJas8K99N7C4749infcR2MYpInk4_1lcqElyS6dpGbjAz_Z3Ax8q-b9z71zyBfK41Jnu5ANtfRuUdazFTZxoNaFBXpXntqagB0-7BCYzOcZMgx33PwxnPooEsOHdIwIJfRHWuAdCdjZhjzTiUQhl5OfRzpPZoK4QauEEAJNda67mUGMqaQs2EAGt1CiEqiyUIGZMOtAfPciTTYqIfhFpW84pwCtW2FMszoUuRjS7-EZJ0gQpPfxD_pKCjbKV5FVy3SZhg1erJb0TCkYQO6Dgb1SBjyydW3EyCsFaLl7IoRBIQYOxxbA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MjUwM2ZhZWItM2NmNy00NGQzLTgyYzEtZTlmNzUwNDcxZWZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="2" it="0" lt="2" ct="0" ts="1587564547861" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWEwOTQ2YWItNGU3ZS00ZDExLWE0YjUtMmQ0MTJmYjE5Nzc2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547864" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWEwOTQ2YWItNGU3ZS00ZDExLWE0YjUtMmQ0MTJmYjE5Nzc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="537" it="0" lt="537" ct="0" ts="1587564547337" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-94" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjM2MzhjZmUtZDI4NC00ZDhhLTgzZTUtYjM1NjZmMTI1OGJi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwOS1vRkk1NkhFVjdjaWNJUjlaYzM5cXd3bE1MckxOb2tWWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.XFWDeAvSJuJYE9SdHkGpnMgRkUJB2X010IjiIEO84fv8mPFnTx1qlmh_zoKM-4R3U1WBQyGKYSlh62hXV8y31L7FpKGGCpcVcE-sJ-FWUAUuZsDXVvd-zi_xRnKXp4U_sUben7okTPSfviOBRuW7I9u1NXzwYNKj4AGCKKSh549lH_MNl7eIB9qyvjuaMIS21gAUpBwC5hvVZSzJzRHdDH95CA0tmTvFQmBQbOjs9F9t5Jy1oWrxHnmU_A-insvTJvsBbSSXypfOgi7txne6tGrJFg-rvFZjiipGs7NJMke6u-CK8uVAc2LVXf0Fg_48PzfxkjN06gJHJ4dizirb3A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NWM1MThiMzEtMjY5My00MjdiLWIzYWMtYzI0YWNmZTRmMTQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="673" it="0" lt="673" ct="0" ts="1587564547202" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDA5MjM3ZjAtNWU4OS00YWNjLTk3NWEtODI1NjZiNjE5ZTA3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2Ny1YVldFM0dRQ2FCaDBYdU1kS2sxcVBGTWhTeThzc3ZkRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WF9O_MI_WQBtpUI98A4C6auS6yq-Z_vwyrPLY9fqjT6OEdHLFNMkFpOzgE2Aums0uwWNGKP_KckS4YD1obdCrZBuS9-a8CTvd7AkEFskMCbOcVSoifZuwzIZFuaXP1OUKuTypeMfd7_SXk_ws43O00mmKZaT60SPI8obQM9NeG15Q0gyAKzPUPVYLOZf2FgzdJ3GrX9jTzEVqs2051T-5m4W8AbE0Dpb0v8HDrfLMUi67GoM-9-J4DIN5KhIEBBFyb2fJS3JNmRbfxY026QOYK8r7xpBNeuHfj5be_pvUaUoEEKpS3sYQYzSKQ2x8569Dpnu1jgoZkc8ZxqoraO1oA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MzFlZjdiY2EtZjU3OS00YjdmLWFmNWEtN2Q0ZjQ1OTk4NjVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="646" it="0" lt="646" ct="0" ts="1587564547229" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-54" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGRkYmNhYzUtZGJkNC00NTJkLTg2MTYtNTRkODdkZWEzY2Yz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwNC1CUnd1eS1CUUR1TzNGcGNGeGE4eVBGeFRCemlQWDZwRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.b9W7sEWPP7m63JzRT2yWa8DWuqgk6ZPPds4bWOF88rNmhv5nV5V-yi0Fktm_q9aVzy5Glj28Q0xpm9I78C5Zoe_0CFqF5IhUPKoj-XCzTOYTMjXiuiNMz9qQGWm77O2cdvdt_KSDpUpSya8LZ56fOW9XwIXQJekFUD86uyezoM9ywrhJoaw0804aOJ886it7bY-_dmmpVqarycGNlGe37ImESmHDk3AEm2Ak96XfKB58L3ZG4t1LifIGrPrIxPc7Xe4WitmFU02cfok-kw055PTqExAWl_CuCLAeHNnHbp7u58Tq0ZFn96iEshXRUml6JppQtsmGyA8-UoZgCqtcYg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=M2NmNmEzN2QtYjI1Yi00ZTY0LWE1YWEtY2I0NTY5YjBhYWQ2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="371" it="0" lt="371" ct="0" ts="1587564547504" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-17" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzExYTJjZTQtYTIwYi00ODk5LThjOTgtOWI0ZjFiN2M5Nzdh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3MC0wMEMwcnhKeDh1Q2t4UTF1Y3NQenplZnB1Z1phdHdvMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Jw23Yqg4KVWXXnnCfiVf-HsEgEdwOV_fxPlt34yto4Tel86BIIkZT9HCpGXtmIn3JK5mw9JxLAbt3nRLjz1ePCYWCShhrt1--aoj5WJa2XhjmMto_gAurxAjMAo_r8TdUdvnwY6qYM9XXIADqt7889diNkrMPu3CqfeTD0L9adZ-t9-TQD7UbMN-zuUKrqW0VdgqCr-FYtO11TrFcm0bn8v34RkM2cYzkD6vK2d0UbwYnFP21aCN336Xu0Jrec8Rp4cbdV7CICr-G52UMCriGMTmv-gyhL3ps0J_eFmQwHx8rdz16CYxBgCkXgpNdIOWWAfNRxGQQtTjqzdRkz5COQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Njc1MjI0OWYtMmY2MS00YzJhLWFlN2UtYzFjNjI3Nzg0MjQ3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="362" it="0" lt="361" ct="0" ts="1587564547513" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-68" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmY1ZTUzZjktZWM1Ni00ZDFiLTg2YTktYjliYjQyM2Q2MmEz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2Mi1wejdrMHFqYTh6QXBBSHBTeDVINWJJOVBjZGtkWHlSdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.n2kBDUn6qlg4f7KJYdz909Ed1QCQitvGEFVjyxYylMS0W6T-km9b1d9mwFR7FY8QQZG7F9fJTUnNCPDvWPTe2L_CnP-J1b0u8TchBEl_8hdAH3aexTcmk_na06c1gL0Q0o_7axVEhgWdBMKFTJH--Kr3nfs1OOH3si4xeXqFZioAkiXAOrXLErnHVmctkoC4zYwGXqHzvyOYY9noCHvyPhW9ZhE-J3oB5NDypnRFx2pOKXDOxwv0d3YyKfyIJgM8xvI-cG7SiwlkQWNDVP4BEgSUB6C1FwhOvdpl3MqP3sUylIsBeNncyOrAqHWMvSpOC2pdKIBdRtt2INjmcxCeRQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OWU4YTFhYjktYzU5Yi00ZWNmLTgzZDItNjA2OGU3MWE5ODVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564547875" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzZlM2JlMTEtZWExZS00NjVlLWIzZWQtYzU5ZDJhNjdhZGQw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="670" it="0" lt="670" ct="0" ts="1587564547210" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-34" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDI1ZjVjNmYtNjQ2Mi00ODliLWI4M2UtMjg1YTk3OWIyY2Qy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2NC1oTGlYYVVYbkxZUEo1dXpPa1REVG9Yd1hoaW1NZkg0MCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cScUCKgvIHjL1dX5yPGaC-SFmmqetG9Pabgpq9U1J4-otsSgqqa4vwYkU_q0FvEf9xkOvLGTuC79PIZNVrFUS3q7fsTeOZc5UgzYWLF9sS_Ms6U7ZFVQNDUkt_isX8q1octUDcbdCXI9C9qm2_9QP0Fi8ZT5GTS3uBpN1NCLHhujRiWdBCU_lhuofwCMcE6zYdd3yYPDs69gLRdwJd_9UHVcOOKIbsJjI_k6_X0ZdhhMnIIRA0PSqfpqSUJIB_dRnXS0XEzTSACIJOocnDyq0vkxb0tARHo_9ikcaDh4QjY4IeWkGmV402xOqGte-vFneeNTSiMHpnXYEQKETi1P2Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQ3NWVhYjYtMTE3YS00YjliLWE4ODAtMzkyMDY3NDM5ZmM1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="503" it="0" lt="503" ct="0" ts="1587564547377" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-93" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWUxMmFhZDUtMTlkNC00OTFlLTlkMjctMmU4M2E1NzAyY2Qy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4NS00TTktVjdIcS1uMC1CQ2FPcTFJSzZydE1oUzRwdlRFYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ksi6ICbVBeXVWoN3JIQiA0dl4sOYqf-u9-qPrNnv6fRdUFkP0_t18yqJEeheIOOr4ERSlRYqAtDTxqSpDvv72Fx-yn4eCJWWXIS2fsQ4jLZo1RVnhZfBj3jIPrVSDU0rwQf3i3xLr3UcIuSLYdzqXE2qVRuybt0uUzlIPgYrIF2zRJp2yjysHVKuWbWApW0NrAv_GUWtv7KVUntapfWjRKCq7shxy_tuGye2mjaSavtsFPvT1j6VWL-OuY-Hp0DtLQK_q5Brkm5pfdP2LHxqK8s7--CjoXisrnRjlsiU5z_c91kNZiIBga6U-AUrnkvUh3XOV6P53i9ISmgWd4T5hw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YmY2MGU3MWMtNjI4My00ZWIwLTgyMDYtNGYyMjc5OThkOGVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564547876" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWM4NjE0NWItNWY2Yy00NjBlLTkwYzEtZDk5YjZjZGVhMjg1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="578" it="0" lt="578" ct="0" ts="1587564547303" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-24" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjIwYzdiZWMtYmRlNy00MzU4LTlkOTQtNmRhODFmMDIwYTcy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ5MC1jV0tqMFhOY0JRMEtsalk2cFhnckhPMkpETURWdlJ0MSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.a5SoUuht0RkGjkEn26N6WbiTgzz21XbCKEiKGqy50mCC-Ly38xCjWKFXOpWH2YRQQzT2ntGEvxhcqp8e4hPtFulJLLPeSrg23YGs_2OF8na7dLid8zVckEsZhz3DQ8AJKKl6n_f0cOQOCYxFDq29kF9lpGEDh8J7cE2MK7YQPwZLWQXzlgfiytmxlRQOTDzWx3cOPqXw5OKFTmVhtTU3MNec69-q_Vah04mv81c5T445dbxuPnhRFmfWFl9bH6RD77K6BcdaQqobV8_o9McoiIPcOCyqBBSqMMsVT5B9gJjdFmAer5e6FRW2pW7-fxgAsjMb10fbwnr7XywBBUps1w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ODA2MmU5YTMtZTY2Yi00NDQ3LWJkNTEtODcxY2VlMzY5Nzhj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="520" it="0" lt="520" ct="0" ts="1587564547364" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-37" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2NlODA5ZTctMDljYi00NWFiLTg2MmUtMDkxMGY2OTU1OTA1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwMS15dVI3RU9GRDdmNUZGYjBRR1kxTktIenhCenlJc3M0WSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cNlMfhVM9QSdrDPnl5vbS9sLerw1h2P9i6icP3jihrjuD_4a51oHKA4fN8Of436ISfzu5vygyCodMpOh7o8-8AAsfL-R5r6r6nFfN3qxI0edVrSnL0yDlRnj7MJ5oko-Xqa16AZKRhkBu_it87Dj_IN_g0Y8cfDXdQHYGvcbiun3OE5XW3bF17CHXqvKHDd_ncjHGlq17PszyNG-uAM9CzQoMYE71uxBkd4YfdMSWDaXS-ImZCRVWAk0f_UiniTVjqdKt1xD5R07njTwmogCmEYPqHUPhsWOu-KYQvkIv_sl5WO6CRigNR_rFqNiE5xHvrKP2IGJMCFAO63ub1ZYqQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTcxYWFjMzItYzMzNi00NzEzLTlhN2ItZTAzZDc5NWQ0ZTlj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564547881" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjFhMzgyOTUtYThiYS00ZGZkLTg4YjAtMDczNWNlZTg3ZTVm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564547880" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzZlM2JlMTEtZWExZS00NjVlLWIzZWQtYzU5ZDJhNjdhZGQw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564547882" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjhhOWZhOTEtOWM5Zi00YTU2LTgyZWEtMzhkNWE5ZWU4NGE5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564547881" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWM4NjE0NWItNWY2Yy00NjBlLTkwYzEtZDk5YjZjZGVhMjg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564547885" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjFhMzgyOTUtYThiYS00ZGZkLTg4YjAtMDczNWNlZTg3ZTVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547886" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjhhOWZhOTEtOWM5Zi00YTU2LTgyZWEtMzhkNWE5ZWU4NGE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="588" it="0" lt="588" ct="0" ts="1587564547311" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-22" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODUxN2UwODMtN2Y1ZS00YThjLWIwYjMtZmNlOGFmOWY5Y2Nh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1MS1UbWlkenNxUmsyQnNqdnBHWGVLaExNaGNlbDk3ZXZqViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UcX2gXHwEHX6FfAUVFoHeyGenheFuhMtQ9gMvfDXLoKTJbrbqFPhwBKoBt_q9Zn2gRuoPSvqNO9k2HfLdKVoKl6XPROSiB-zPLBgeVhP2z2aVajpZa_r11iG0dskTQ8l0kjtU6TvW6c_xQsoqvty5OAFt-9P8btyzhrdgEkZfj611ytvScXZ9VE3Yr1T0Iyv5aSOTJTv3DU3lYsb58ntbtZLQdbID_jvQ9yzDI3ltWA5GsCul2CKtMjKGDNyFZJt5rKzMhKT8X62ewDEBOvnjM6Dk68k4_0cuAySr-_SVQR5Y_H902byOIBWE-x2ZYU3i9Ht6TZIUbTeDobR0uJvyA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTFkYWY0NjQtZDIxYi00NmRlLTgxMzAtNDVkZmNlODg1YjUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="565" it="0" lt="564" ct="0" ts="1587564547335" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-88" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDkyNDgwODAtYTRmZC00MmExLTlhNmYtMjcwZTJhZTg2ZGIy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0NC1JVmtXZkhkRUdEaXBxUHYtSS1WRGE3R3hYelhEZHNaMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QsVhRSY87IVBl3GmRgqh68LOWg15FccI6M4hxwiNHZvcloI45XQ7VI3Oy6MYCrbMirCW7eTLP232A09fnKXLNgqFf-0O2t2_PwPe3HLL26pbGGM0L32h5chK8HIEQ-W0gfA-rtll2o9wb3G7ZtUC-0NCy2X66Veq6A4_9zRvHruXgQldLZb7_NFbzd4fYXkIlq1048AM6v8orkqFh2Uh0qUBAzBElPs1Cbh_xO9r1dTvSoSmbMyFUXKEpgucxAOjngvltb2r64g0cK2mgffcR1B3-Udn-CUBqUBk4M_OAuonk_YcONsV2o-392wQig5U-J3IPuvT7db1qYWVHu3tRg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YjFiNzdkMzYtYzA3My00ZTAzLWExNzctOGExODc4MTQ4YzNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="535" it="0" lt="535" ct="0" ts="1587564547367" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-48" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWIzM2E5MTctNGJjZi00OWUwLTlhNjMtNTM0YjczYTM0NGIw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1Ny1lVUx6OS1DVHhUVzF1cVpjdElxc0U4LTNVRGlhSjRBLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jqTll8jZN7KpYLDJGxmCKcWK4H013kgdpWW7_P86TBj5E-M3tFd1mdjCjskgFbP7e6rVibuLzEKD34gxiM_c72A07b2edu76HGcAQi7l9INkNebWrRfd9PzVNOcKbCWj1ALD9jwoTcMRaGGSsXRHXrSxCxbIefDHdqbVANcu61m7d-jqKbZkmePVfyIvtRyXaVwcHJe6d6Ksvcflu5cVmakQo74OVIIOenU6_GDVc5WOc9fnkY4KmHYy1uD1ufQ7DWGeqqSz72bxZ2s7IBtwX1YQgYDSZRd93jnD3OJt0ll6K4ZpQFwHGVhF50MrfQrCaV62NxYNYyI5aCJylNhgcA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YTY0ODcyZTctNmMyMS00MDY0LWEzZDUtOTUwMWJhMWI3ZjU0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564547900" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmI3MTA0YmYtNGY2ZS00ZjUyLWFlZmMtODU0NzM3M2ZkYzI0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564547903" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTE0MTc1YjMtYzc2NC00Zjk2LWI4YjUtNzZjNGU2MDUwZDIz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="484" it="0" lt="484" ct="0" ts="1587564547426" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-12" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTc5MTg1OWMtNDQ2My00ZWFjLWJlMzctMDVmOGIzMDM4NzVj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5NC11cW5hZEpldS1uWWsxNDVBemxwWDVqWGtTeVJwSlE5OSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lTgn4mTBRlTeAKdA-EE6dABH246De4MO94_yE3vWIgmHGzCZ5PfC4T8ssh_o9QhZoE2zDeEG3NK-seQm5bIgNDLeIBwZSAPlwTT-MHc4aA5OzJj_df8NnqUxU2S1fR570TDWF0KkaMhipUEIsDreJpaU3lwaKBztpsolgDjeHQEd-cwtf_kaPyucOUwdVlRlKWArHs_N1p9pi_xYwGmgFJ8kwKRwHJxr0il4Tm-BfktqjzqdnODx3l1V0wHXwMVepe0CCErcAdjbQ1wVteNKKmdmCoisV8dLa5l3caULAC9TwdK76PjOyBo3AWkgQDI3mrBRcD0wuFpr6kVWvLV2Ng
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=M2E1NjQ1NjMtNWRjOC00NzgyLWJjOTgtMzI5NjRiOTNiNmNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564547903" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmI3MTA0YmYtNGY2ZS00ZjUyLWFlZmMtODU0NzM3M2ZkYzI0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="526" it="0" lt="526" ct="0" ts="1587564547385" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-25" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTRjOTIyZTQtM2JkMy00MjMwLWJiZjEtN2EyZjdjOWJiMmM0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0OC1xSU1abXNMMDU2WXVCNUNyWi13VExSd2NUSFFEQldjYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bzGv8Bi-h04WIU06WW9G9YA4y565sMIi_NYg9KlY73OeVUIA4DxkhSZtQFZHUXvPbIQeHmS9adUbye7n3A6OpxM1GfsixBpm9_aepq01pJi2ImmsubsvOecL7NTc-wty-UcAJ7pwky8GP5qlE3Pd9TWPUgYrFIgz7hJldNOG2T9ByJjyW378IHZ4_Nyv2IsDIHWBBfRHerOsBWd16bO2-B8uFSqboT9gOX_CVUpgN26EFOKHqv7AUBD3DszrH4FKrS3O6BIFdJr8amuCqDzUkCHNMTtNF6FMqLWQGnYshNJ6EeniNlgSxnLOHzfZbt54fpFh-LOOHqfKu3XtD59O5g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NmZiOTY0NzctMzUxNi00YmNjLTk2NjMtNWJkMDQyYzEyZmE2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="518" it="0" lt="517" ct="0" ts="1587564547397" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-58" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGVmNzY5MDMtODIzYi00NTUxLThkMjgtZjY2YTMwODlhNzg2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0Ny1Qa1BGbmhZT1BoUmpVTmF0NmpIMVJ1dXpNNDZjbENrWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Sw_crEeZHz0aW2UfJlevUBFRu7vAazZ16nuJiIbXhmQCTQNtnnwRo2Ybr-CHq-GVjxfFdvdx0BES4pTeXR1jcDCdZfC4CcdgpjtM0AvK65u1tl9UaDoVSj713tRxzal40IitpTj3nqjDSHXZVE0Z8l8rmsjzu2kfg8Isaqy5kiub_55nmxflojXIOZmEQ8-LdOMPpZvrSELmI3I4ILXdH9Yg9Vl7dzASXpIc7zHI2F793sy92ra7zsSrlgzVOXNOwphz6auoGfggdTFmvWylkwqbvkPUIFQ1tqUfX23oEl-duZ2D0LMPqbr38c8KPWsUqY80VEf5s9psjxvuXzLYkg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTZkYWY0NWUtMzJhYS00NDg2LWIwMWEtYjc0YTc0ODg3NzUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="430" it="0" lt="430" ct="0" ts="1587564547486" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-2" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDA4YjczNGEtNDE0Yy00ODE1LThhOGYtNDE0YmMyZGE0MzBm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3OS1YS0FoMG1CeWptSGJkeEpncUs3WDhOM3JMZGExLURoTCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YMWsh9auCxfQwBSotZ23Oj1J6G4RrsCs2584tHFGKp4v0bDX8RyFctrfPtgWYJ48gsWhe7KCbxVEIGBITCLIL9Y8ocW6_sLX_x1qxhj0PZ3WBfEAMJkl4tCyogg_GKkGwHUXcULktYzGe-MWDos2Q4rbnikOnvPPfshTBVXWohf4-K9yH-nYZyLK3WgycOF1xsbeox_vesl97yrpJVj8T3PXsiT7LZ6H4crQQ4DyNn4J16DUJ4D3XMPx7ojDiAVMhYaJpckl3PSyNs2DBxj1zy-ES7rKGoKJ2wsKzdG1-XWj_dlmyGPS-UOpD6xeMXpI2sUPJD_f1ZVPP8kihHtVnQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzcxNWNmZTctNDA3ZS00MTIwLTgzZWMtMWQ3N2UzOTE1NWYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564547910" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTE0MTc1YjMtYzc2NC00Zjk2LWI4YjUtNzZjNGU2MDUwZDIz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547915" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjFmNjU1ZDctOGYzYy00NTZmLTg1YzctY2JiMWI5NDVmNDg0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="0" ts="1587564547916" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzNhMmNiMGYtNjVmNS00YWU5LTg5ZjUtNmUyMDNlNjc2YTM3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="273" it="0" lt="241" ct="1" ts="1587564547658" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-66" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2e3ebf7d-2347-45ce-951e-7826db97f501; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="487" it="0" lt="487" ct="0" ts="1587564547449" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-19" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTFhYjE1MDYtOGExMS00OTVmLTliNmYtMjFjMzgyNWFlMGI4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0OS1hMUNiYVdVUUxSWWUtekcydzZFUXBFdFBCMkFuWWFNbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.axtHYCfAsGrWYtpXUb5jETKUTAQE1QnxWz-rQRDYYtrbsEQ4csPYflZC8Jc0uN_Uos0kLMAfgeynfYJFCOQcs8hXPeYB-EIQYX5pl5AqYEsw6c68GZcHlCGgk6r6_G_D8kYsZ21-Utad51xw3VWrNlLFxQpxXi9rTh3ubhG7eX7ltoq9NAtRjCMpodBl4D5OH3NY3GR4dGh6fEU1ok9bCBedDx1jUGkSizkHVSHh9ZdHJEveLtXPOHz0FTYbjZ-POc_2jMP3_QgsNLn_sUuZw2oBjbKB3FiGenukMHwPUoLYKj7JXgn8IuawSi3Pfl_ArC3mtJkEAzMQRo4vmAPIoQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MjRiYzYxNDktZTk0NS00MTgzLTkwNTYtYzgyMWIxMGY3ODA0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="279" it="0" lt="241" ct="1" ts="1587564547655" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-80" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=4b2caf65-de28-45fc-87f7-6679a9013ed8; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564547919" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjFmNjU1ZDctOGYzYy00NTZmLTg1YzctY2JiMWI5NDVmNDg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564547933" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzNhMmNiMGYtNjVmNS00YWU5LTg5ZjUtNmUyMDNlNjc2YTM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="448" it="0" lt="448" ct="0" ts="1587564547491" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-61" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmUwMDYyYmMtYTcyOC00MzY3LWJhZTUtNmI1NmYwMmQ3MThi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4NC1udE5rb3l5YXBJcnhmLWVkb0dqbGg2SUhuWFdVYzZSZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.scK-lW2w_TYfqOO_PUNvjquWLHuFVSV9evPAy2kDmzJbrBABGwWi8ydoLYPSH46xMxZgS9-1ooYFs3OyiCLc3G34bTRStEuQOVMSPQUu3wrWqI2DXxV5RKLql43hi3BZdJXadcCVUPcCDpCNHunGmIp6uLuGQqLwzr3nZM9ab0Y2XuZQ72Ezya-RtgWvpI00xx_sxmbX_9qXKhY5SGjTYoS3QE2h0zRzjr220DL7ObWfuL2xVXfD79Wgw9fnaRV4SQrtJxC0lUJdN0a0Wqot9HO5mJ0_CGYQJBculSYkPkYDsBKXX0rCLQ1L1FATnXKSTJWWlkXHPXJVArtzN9GHGQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NjM2MWFjM2QtMGMwOC00YzI1LWI2NjItOWVkNDU1NjRmZWQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564547937" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWM5OTRiMzktNmEzMS00YTIzLWI3MjgtMzBmZmQxMzExMGIx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="474" it="0" lt="473" ct="0" ts="1587564547468" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-4" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjgyODBkYzctN2M4Zi00ZjE4LWI0ZmYtYzVkOTQzMDMxN2Jm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3NC13bDFoNEc3SG1lLXU1TE9BNU81RlJibnUwdTJmTy1hbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sfDQDpXqF4ogv6Z2N2xbsAY9GiIlrX_QwM3Zp_z-T0SE_UeuuVpSmgtlnlBWvhZ0daUw6BocAIbHWuDUSwiXJcbNNKIhmUYhic0GgHwhVJVYvJGkU0w62jx5fq9rjnzc7dZ8jVtmAXN7umFqAz43HPwqr4FN1noEMqWhOfJS8YlxOvwLDBf7L69fyjVwV1JD8iWgjKigEwT4jZxkIyXaIXGARAcZIHpPvIrBRXrXdVD5ls0pRM4ixMvMmTmtjawzUbRPpJYH-wOOmqljl34Y7mVmqtD6Hyv0AGjoaqwTS5al-xTawo2W2Si0YD_Ikn7pJ0JvQ8C1jEUf3FxOlbPflw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDI5MjkwYzItMDg1ZS00NDFjLThmMmYtZjcxNzRkMjFmYTFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="440" it="0" lt="438" ct="0" ts="1587564547502" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-14" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODBhYTM2ZWEtZDRjOC00ZGEzLWIwNzYtOGY4MjMwYTRjYTVl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4Ni1vczdyaER0b1RsOXQ1N1phTmJVWFJ5a29RSEVTcmVJdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HYp3EBOnN-CIymJYOx8hkIk1rkGokmLt8LbNa_6Sr9Em_B7BaSmC8td-0zvVuAcNYP0q2iv9_HlnabYUyfHzoI8tmolzumyEctekDLh58SlR9iDa9AjflwwR6mE64YXCJUR5jEwr0MI8sTlCVP6rE7KENDTW8bRxwZVjglB2UsN9nN7sNjaa_UCyzJqYMV42zBA3GWKvLRX_qs84tPFWXfwfX3-Xn2RgQGVmX_ROPZX0gsFcGtH1Ldtnz96crNmJxQ6E4_C1tXx4A9tmVTjvu1zJTgVP88cmAKYRzbS2Mvqx0L_h0BcD6qVXFksJ_KbmNDaM2bIDckyIev33QgCvrQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YWQyYzUzMWItNjAyYi00ZGYxLTliNjYtYzQyNzdlZGIyMTc0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547940" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2U2NDQ0NjMtOTYzNC00YjdmLWEzMmEtMjIyZTFlNjRhZjdi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564547940" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWM5OTRiMzktNmEzMS00YTIzLWI3MjgtMzBmZmQxMzExMGIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547942" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTc0NjA0MDgtOTY3Ny00Y2M2LWJhMTYtYjEwOThkNWI3YWZl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564547942" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmQ4MTRmNDEtMmFkMi00N2NlLTlhMzYtZTlmYTI2YzE3ZjRj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564547944" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2U2NDQ0NjMtOTYzNC00YjdmLWEzMmEtMjIyZTFlNjRhZjdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547946" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTc0NjA0MDgtOTY3Ny00Y2M2LWJhMTYtYjEwOThkNWI3YWZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547947" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZmQ4MTRmNDEtMmFkMi00N2NlLTlhMzYtZTlmYTI2YzE3ZjRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="548" it="0" lt="545" ct="0" ts="1587564547421" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-73" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDU0YmRkNGQtOGM1NC00YmJkLTgyYmYtZWNmYWM0YzMzNjQ0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4OS1BVGt6UGZNMG80U1ZoZ1ZXUzdvS0UzbG00RXFrNWJyaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ds1K-fG-3zeq__VQ6zt42G4Ip35O9xgKATwmf8lRL1GR-_ibxpr-pBbH0k7X7-yTUPEbK_Ljn2lc5RmveYX5wbeP3V5AiyBEdksS9_wVSiyBa1mVkGvgAS_MInDAVW_WMM9WtUEh767Gg5KTZL_zRYPpOAQN9fuUbKXWBAWW3sPxju3oRtv-YNhnewlfrGOWB7LIxtkeDzrgIsQjUbWw39sufnC58Qtctx_twbGOcdyBLL8futvovotfD4vfgtUPdr5HL6HdniUnN86kUcbnmSIFLJGGdqwj9-ChLyfpptI5dN5nbxlfDt1o0dE0f0uWUeXPLK31LdUGxgWlDLJSRA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MTgxNmExOTYtZmJmYS00MmU1LTgxMTctYzZhOTcxZjExYzNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="538" it="0" lt="534" ct="0" ts="1587564547432" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-79" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2EwZjU3ZWEtMjRlMi00ZDM5LWIzNTUtN2ZkMzhjNTA4YWY0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0NS01Q3V4Y3htRjREdVRHUy1sOTk0Mk12aC02OC0tUTRXMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SGRmqikDIwbAfyfuZYdMZz5D9aQNFXNSnnIi0xI_6jfq8A-1FbOPNdn7NCMROB---NvdF4fJ7zB8RbHCUsVoK-cuiBWG_qSnK23Zta-RPakvWjczBaoBc7R144aU5Pt-MY3CPZL-DeVBUY5qvZ8-bwLdrjW6dRVaXS2OPv-eVS4vMkOarlyzeqiCiyk-i0B39Sw9CAj7hN-sJ_1ffLXzkOslJEfkXjeJAIpwve57qYujTi5wkyh_Caa6PU8CNBRRCyB_x-Xx2KyoU5nzEthA-xsAOcFe2445SkWIIGGksrLl1PEz34BjDH_zpZXUx7Oeo7mEgF9iHXLc8WR2kfDUAg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Yjk0YTY4NGItMWExYS00OTE0LTk2NGYtZmFiZTk3ZTUxNWZm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="595" it="0" lt="594" ct="0" ts="1587564547376" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-83" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDA3YTExMjUtZDBhNC00YmY3LTllZGUtMTUyMzVkMWU3NDYz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0NCwianRpIjoiSUQtVG9rZW4tMTUyMS1DZEZ0ZXlzbzRpYnRKZ0o3REJURmt4ei0zc2Vwb1lCdiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jJySc5AUN4wnPelVD5I76aljdqTTS7KvoBjdSgR151AKGmZUjouGPCMA38YRDy3qy0274pr_EoDPG7IPc94gIVsaQ_c4b29hQMzNFX-J9-GAPqAwYS1fXfoP1cxIOhWjTmykg-rkgIV82czoCX3X0wbi_TpPL8zaV_8_l5ddFBLN_x4KlnkNkOHNB3LrhIC0C7_G1iffysDMvs9-x1-mVKE7CNkkkLYLtBZBMN-aAJeFPVFFfyURyOMh3NGgXlbEsQa6WwgBAbfbRc7cQ6MiXUWwGWzktwgdQJodPDyevBKqcUaAqu5pg9egdUvfxBX5q31pY5ZzfvziLlTTjKFnhQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDdlMzg0ZjAtYTg0OS00MWExLWI4NjAtZjIwOTVlNTcyNmJk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="593" it="0" lt="592" ct="0" ts="1587564547378" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTY0MjczOGUtZDVhMC00MzI5LWE3MGQtNmRhNWZlYjA3NmIy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1My1FT2h3SU5IbkoybnJoQTVuMlpPckVUUUdVdzBaNXctcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OowkkOTDHafeiWTg8bi-9x64fn0np28hohNZUTI4nKWCZpkFVfhHnp-aGagA3NcrwGsWHUpi7cadFvbwGWDSJMze3nZlhXKxJaMeRRsaUCH3Umrpbhhgs7oJBkBAK5AZaW6L-4iW7fcMn8Ijx7n618BLbnk5EeyGxUncUDSMdfwAiOdjWoYSkrTKnrlR2lGgRxQFx2heJ3YVMLlAieAv-L1wHn6GhLi1MGAM44XLomaBUHNNk06-hb8fq55dnY15rrblbcxGIuwGJayV184PpWcM_Zf8gjPmpbLFWNO85xwuuZsYXnbConqLZZFwAlyw5-oUZpNYVMYF0ClBPDLBWw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Zjg4OGNkYzAtYTQ0Mi00ODNmLWFhM2EtMGU3ZDI2NTk1MDg2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="546" it="0" lt="545" ct="0" ts="1587564547425" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-74" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTYxMjg0NzktNTc4OC00NDE5LWE2MGYtMDA3ZDkyNDIxY2U4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1Mi02OEM5ZURzQ0pQY25kVjlJMkZyZDM0bmxYLThXM1praCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.kbnS0xI5TI2uMS7IwLI-ka6ziy-eXfbHVNCT_Zlr7G6wT7ZXaIpb7UOx9gcdzkNK7-8PPKGTkvYqQFIE9FiNqY1oC-8XhjEZsJZ__vTD7dzWwJMik8uqpwc4x0ERHA8oB9nY1KtrN_BW5PjqPRrp8JXE4fUDSWGUtv5VEpmrkF81JWgT6okXmnB6OWIsvcfp8dc1D-bNQWWRx2RrvSUNeEJ17SgMBmqaZ3UO1xyKs03RcFoupGv6btn7RKuTgAIMfbDxuObkApG4JZUEtYM68ifscBi-g9YBUaWMULr_i6fZc0yON-JBwlzhaZC-MoBy4-4-EhMqQ4EYxm2QPfsgkA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmQxMGI1Y2YtMGMyNC00OTYxLThhMjMtYmZhMmU1MjMxNDVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="505" it="0" lt="504" ct="0" ts="1587564547468" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-75" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDhiYzlhNzAtNTQ3ZC00NjUzLWJmMDQtNDM1Y2M0ZmM0ZTAy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2OC1ETTVTN3RHSDdOVTA1UTV4UWNkZDRnU1E1Zk5pNTMtdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KokzGsuJiCDQh1vfcpuU6zNM2yYVa_2XJg2HZNYK40Sx2q-QMF3YvYWZbahTtDLmFOuyeDiTVKwDQLFFi3sbslGUrEY4cucV2QJzbUlU_dpAzbc_ajVN9Q5Ziv5uXp7y0pJWp7B69wfrjLHQLjQPCyzqWPp-yyEJGi2QJppdQVEmx-xdMxSyCgX__0S7iVVQXxDrtaaPj6dJNCYd8rMn7mXeFBDQ4kAn590A5AqCjSQ_lNwl4dDIkm1KPHXEtJuL2c7MsGYl3yOMaRTh9upeDIH2q9QXGHCt2hAepINx7Z4WL3FoZlnUdugQk0n-lqye2NJBcId4UQjPX7t77yojkQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MzMyMWE3OTktOWFlNC00MWVhLWE3NGMtNWZlODhkODgyOTM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="498" it="0" lt="497" ct="0" ts="1587564547475" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-50" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Zjg2Y2Q3ZTMtNWI5Ni00YTI5LTg0ODEtMzcxMjczN2I2Yjdl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0My1CZ3Z1S1BETWRwMThWbExnRi1kbDFhMm5wZzdsZlB6NyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iYiIxvfFov1Ui3Oa9zNnzpIr4WQsXYallLpdcZT1PxGVQA21U-A_vASyWKyV13jIcZ34rNTAcYnhjwMS_wDnezfDT4ixojrX66yrrKFFf9a73BQjEQrWRUs5TNCpqKNHT8SnBi3nyG7t59oJTce908VZp46oTbOipyVgXfq5KPiKgq-OQW3iFFHH4QzR5q37ddZLqzJAw0ZxQ9VNw-tDBoxhcJDn10ViQevM-BqfEOPWXWF4HHy2Vd_C2a0FOF1885WgmJxqxshGqm1geJk7eVK7oAltQqdC3dcRP3zHc8g46zHRTApb8n49GsCbaYM98BjzmzROVrvymhi87lfCzQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MTBhZWVhNzUtMTRjMS00YzFmLThhNTUtYzgxNTkwZDY1Yzg3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="447" it="0" lt="446" ct="0" ts="1587564547528" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-82" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTAwYjc3NTEtYjNmZi00MDExLWI1NjItNGI2YTY0NjdkNDBm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0NCwianRpIjoiSUQtVG9rZW4tMTUyMC1kOGQtdjZGVkM0TGgyajc4NVh5M2NITXpveWFkcXZmbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ViW0tAAbQr7iO0v06Aj3Z491UcXNo4QAild-YjFXOGdG7UEr03hJuhpKoy9qltmJC2b7w5r0Cak9C9zzBaawdNjojSLUrreuPyhU48nLQBLDbYhz_rCCh5DTJhokJpSa6vqeqICIsyaATWjKfwiIFcAnqKHw3yIV_mYO0by8NMbVH80hR4-mdqC1RxWsqTgMFnFYjJscwcU-v-0krxl2gI8UyS7_-shVLTOKJDSwTVihOGmO7hhZgG0CmBQ2wEIU3bgXkSEtMloSA8le7w0J9NnZfSQ519rHC9cgbAie6lzufCPdMT-R7h46OGu9-ivwmF3bjM03Aczd423geLBGMw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NzIyZWY4ZTUtZTRiZC00ZTcxLWJkOWUtMmI1YWI1MzdhMjk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564547970" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTU0MGZjMWEtNmRkYS00YWEyLTg1NTgtZTQ2OWYwNjUxN2E0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="487" it="0" lt="486" ct="0" ts="1587564547489" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-92" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2FjYzJjZmQtYjE4ZS00MWFmLWEyOTItNzljNzM5OTYxODFk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxNy1mTi02LTdZMnJ6OTVrQ3BUZW1qYlNLWks1alN3TXpUdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.esvHq8tT6F56w2RYQ405yPzhY0MeCWvJ9SItuAJcJWleT2myHdVjRwnJdXvZS_BuiU7kCDHVuvbya5rOfPdoMoga4AVqqF6-nNQasgc0ktmoOFuvoNEtKdZf3xoYOadYIzgWfpDpMf0YfM4HhbuIAAXBAGGnpqw2Rfh6HBT5ndKcDjtzfOf9Ag4wYUKDhKg4hVeT5C97I-GcRwf3xlhyXwKLlo8Nk8AnhQz6x9-5fWNpLYCkgPzFps_CLHuLVF7Np9ZKPexoU4wi9HV3K6b5KENkWUAf7qdTGjtfsRfEk-A20VauGBZY9V2VbZvlAWCZweutTmGe59xv28qhSxS0qQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTFiYjg4ZWMtYmE1Yi00MmRlLTk4MzUtNjRiNDdkZmQ3NmI2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564547971" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTlmNDJlYzktOGI4MS00ODY2LTkyNGYtMmM4ZGQ3N2ZhNjVl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564547972" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTk1N2E5YWMtNGFiNi00NjM3LThlZWMtMmVmYmIzYjI0MDA5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564547970" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTRjMjljYzMtOGMwYy00NzdmLWFjZGUtOWM0Y2EyYzQ5NTJk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="481" it="0" lt="480" ct="0" ts="1587564547498" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGQ1NDg4NDMtNTI1NC00ZTAzLTg4NjEtZTZhMDRjYmQzNjY3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxNi1TQjNYVGpRY3hTRUVDMnA4R1BXTGZoWlRNcGM0RFhRRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.JqcvvaSsrB8z2VmZYg5uFTdseDQ419P6zgCM17MwsUsChvKNh5hZlwG7DgeIJko2i8fvLyAuLFHnWR3raTBQoAyoPsFEki32RTK1wy7X4FAg2CuxNbxPReNTKusCtcWFE2zxs1D78HNKRUldpHITYlN7iDzTv_yedFuX5rTg9LMsMYcaxzAzLPjQvoVIWMlZ0ZXFgCUlPMszv92BD2hP0ryGcvAuaLfjinoOSgSdQbH_ooNVVWULlXAHnzoKTWWk25FQN5LERYOmosLZ9UzuIiGpo5CKjIVPWDxZv_jUicwLe3NInURo9drQOIzzRHr4WbLU3Gl7xO9yo4gMzPw1qg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MjE0MGFmY2QtYWYxNC00NDE5LWI4YTctODE0Y2YxZWMwMjg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564547973" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmUyYzY3Y2ItZTcyNS00NGYzLWI4NDYtNzdiMDc0YjMyYzQz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564547974" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWIxZjBiNjctODA0Ny00NjY2LTgzNWMtZGEwMmU3MWQ4NTRk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564547975" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjBjMzgwMDYtMGU5MC00N2RjLWEzOWQtY2YxNDc3MjI0OGVh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564547976" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTU0MGZjMWEtNmRkYS00YWEyLTg1NTgtZTQ2OWYwNjUxN2E0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="479" it="0" lt="478" ct="0" ts="1587564547504" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-26" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODAyYTZiNTQtZDM1NC00ODVhLThhZmEtMTIzYzNlMjI5ZWZm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2Ni1iaHlEeE1pTkpjdVVXRkc1YlZDdFhJTWxjcVZzU3V2RCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.siBWZ32oZatsJvm1TuRChflBnm5mlc3s03r9HP8ILeDvk1K-BQ8KIAL0mfB6T10vhfC1rE7Oizh0hSa14GBfwYgCgae9r3gXxMUD6RtqUnn_7KVnlvvT-ZKJWdJ8cRrcqvKyEm-SzHUCY_-2AFk_--zxgY3qNeN0E7eg-PglAmziTp0F-ahcGXcJhE2OIRhGu-l-zNVo0PrPikSCg_jUhDCYea_NU5Hwg7CVMp7tohq7dkdo1zHRVkGU1gi-08p7O_4gSBoo7q5T3TeNccEJ0_tHLtiA9nx--tqTY0aH0mcXP8kt5tGZP94V9GR-sSYRtMGlLWX2xCqCCCbeFEFgSg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YjRlZjI2MzYtNjI5ZC00MDUyLWI4YmQtZTBkMzdhZDhhYmQw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="586" it="0" lt="585" ct="0" ts="1587564547397" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-76" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWI2MzE0MWUtYmNkMC00ZDk4LWFmNGItOWJkYmFjMzVkNjJi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3MS1JU3BwbE05dkhsNVZDQ1JJUXlVS3ZHWTMxaW5DdlZPeCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gS11cRY-m_ADatJ7vS5Za8x8pm5LppLKbhHKRaopGGzOb8MJlw-40U-yZ2YNunk_r1OxCMW5xnAH7YW6ecXb5YBf4i6DUTZUOIRBm03KNoueqtkWPW0qmFjCDfFCSFD00pCppjpeMGVUZdjA-EOUyhWDf-iaRdD2XzxEV9LiJ-ntblhl4NZ5VtCOrVluyL60zYSyBg6prE-osb_Sex7uDBQmva1Y6GyOD8lmrtLWBIQRS-DSxks7V5gRL50pOyN1I3-ydbHObNnEmKsSgqiBAe2WEIfT8CSsyP5KAZAfg5OKo-sRqOS1WynKTXeFg70DVL194ZsBUeOxmDTeuCUArw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MmZhZDY1YzAtNmM4Zi00OWZhLWJiMDktYmRlMGIxMWQwMGFi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564547977" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDA1Mjg0N2UtMzk5Ny00M2Q3LWFhYmMtOTgyN2RmODRjYjM4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547980" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmUyYzY3Y2ItZTcyNS00NGYzLWI4NDYtNzdiMDc0YjMyYzQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564547979" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTRjMjljYzMtOGMwYy00NzdmLWFjZGUtOWM0Y2EyYzQ5NTJk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564547979" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWI1NTIwNGEtNDQyZi00YjhkLWEwZDgtMGQ1NGFiODk4OGZj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564547980" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjBjMzgwMDYtMGU5MC00N2RjLWEzOWQtY2YxNDc3MjI0OGVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547983" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWY0ZmQ1MjEtMmNiMS00NmNmLWFjMDQtODVjZmNiOWMyNWUy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="492" it="0" lt="491" ct="0" ts="1587564547496" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-9" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzA0YWVmZDUtZjBiYS00ODRlLTg2NmMtNjQ2ZDAyYTQ0MWRk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5MS00OUtGdDNEQUFQdHc4U1hQSHZBWkhHLVhVVU9kNkQ4YiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rAcjl-65yqaq1TystEbbV-6ml07toVSYb0V5AJfKHq5S8S_wYoBWhVoDnCmFcb4t7dDRyFtlKq8zVIj2nxeZ2RyU5m0fZn7gRy-bpqg3Eedh5K3g07W2ueUCeW1oJMy5Tll-0cTCFUibEBoOM_O4FQO5Sv6ptqkQeVb6qHNB_a_kCCce1HNcCi09Juwj86jk0H39OkvUVo65urEKOH3FmjhR6vAC5j0Jl7VR5FdH_-KhWeenCBUwpWee8zeK8MFZMeRQY2U3dIYseSgjL5UHE6pc6sk2BXOmyecqyyE9ZcdrK_PkE_wL7U4oHCoSTnSkMMMgtPEP9bLFEz_-KeLUdg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWI3YTk4NDItYmRkMC00YmVlLWJjMWItZmU1MTJlMWM1YTBk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564547983" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGYyMTg2ODAtODc2Ny00ODQ4LWJhN2ItNGNjYTYyYjRiZjIw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564547977" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTk1N2E5YWMtNGFiNi00NjM3LThlZWMtMmVmYmIzYjI0MDA5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564547980" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWIxZjBiNjctODA0Ny00NjY2LTgzNWMtZGEwMmU3MWQ4NTRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564547984" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDA1Mjg0N2UtMzk5Ny00M2Q3LWFhYmMtOTgyN2RmODRjYjM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564547977" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTlmNDJlYzktOGI4MS00ODY2LTkyNGYtMmM4ZGQ3N2ZhNjVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="424" it="0" lt="423" ct="0" ts="1587564547566" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-16" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmZhOTA0NzMtOGUxNS00NzE0LTlhY2QtMjQzN2RkZTY5ODYx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1Ni0tNnVsbUNTVjlIN0dqaUthVzI2ZE8tRXdYVENNWjlzLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.syj5uuYH1RBwAI4C-fptYvbOGYZ3GNfmdPAxY_3-kUJiLOJjuoqN84ymCh6ilGqsXC4NA0Z81QGEMpenb7A6BGcfE8XUZx2EnePpFAqdfxU9r7cCUtcSFmA5ulZ9G0kevaEOZiaGGLf67rsPQY3jK0AUGYJG6czfIyC_5ghXC6X-6EYPyph_7JZIzm_-VvJ9U6UOG7Y3KBpgq9eYK4T1N6RwceKIc6MwgcjZl0_C_0wUku5ovrZtOflBVOC5MBSBD7bjnUaK1sGuOPAetvrTNlJYtH18Ze9YwkcfpSklW7kedxmio6MiNLj43czuJREi-CMR1vWOWxeTu7ui-KDQaQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MGM5YTNhMmYtZTdhNy00OThlLTg3ZjItYjViMmZkMmY3ZmE0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547988" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWY0ZmQ1MjEtMmNiMS00NmNmLWFjMDQtODVjZmNiOWMyNWUy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564547987" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWI1NTIwNGEtNDQyZi00YjhkLWEwZDgtMGQ1NGFiODk4OGZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564547988" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGYyMTg2ODAtODc2Ny00ODQ4LWJhN2ItNGNjYTYyYjRiZjIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564547990" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjU2NjViNGItMTIwNy00OTgzLWE1ZjktZTE4OGJkOTA1ZTJh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="562" it="0" lt="561" ct="0" ts="1587564547432" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-36" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzUzZmFmMjUtYWFiOS00M2Y3LWIyY2YtODllYzI1YzY1MmQx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0NCwianRpIjoiSUQtVG9rZW4tMTUyMi1MQ3VDeDZYZ0VHMzN0RVJkRy10bktud292dUJYLUxFcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OBt_aaEp7bgnHnuTK7blttR0pe5U0_ipk0bfy9-aAfme7447cafYEy7cJj0ggvSvP_Cm_w2cCTJYq9X1sJi5NlGyAHlZxRTv-H6pnA1Pp0oSXcZuIM20n0AnNCVC_HdptZ2xqwy1GR6ju7aqlSC7ls3XK-XjsSP6Yr-jzcY3y7tuujMjwuLG54QVYHh4BVHoJz5UONNPdtmQv17vMWqyBgPH-QfaWFcvLXKyXkt6znAXn9O8WYZMtibCJ0DWxtMR_rOOMXFkAFu6GwjA7P_2sIvmhcCwnsiXDqKcBNyggGaS4VlOJxWUrUJBxLIUeCWFE8FoaDm1MxO11eE7KbcJcA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MmQ5MGU2NWUtYzYxZC00NWI4LTljMzgtNTkyNGZiNDFkN2U0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="449" it="0" lt="449" ct="0" ts="1587564547545" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-60" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmI2YmJhNmUtNTkyMC00MDBjLWJiZmQtYjU3OGNlMzI5MjBj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3Mi13UW04Y2dFbi1FYWR5aTFjRkx4dmNrMjlxaTRXUlJLbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MeAKlwnVDcji6lixBTzFbIUGPegAQEqPyiKMNYtBTVl2f_Ega3aNh7yeQYEFA70V3qzMzSASuzMZ5HfcUSMDS1LryN7b_RvjYkB6ycq-oC8_f3Jk5LDDqHiTlspwWPhCj3LXUgtJ18wZ39J6moRL0lqt1lJQ1pvlU105XTqXuqQSvFYxErxSGSNotoyoW0a2XyvFYOy3rx8HvrZO8WQtPEhf29YzIcUIv7SBzXwdCJYzBmLMHVr04bO1yujex3WI2ivCLgkl_wpRY2VhAE-IQFGBjFmRk728u7zdUzMa8BFY7_spxz0QbDRxnoYBF9HTHN0UATzNSBzJozWJtjo3eg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MGE5ZTJmYWUtZGQxZi00M2FlLWE5ODgtZDgxZTVhZDM3ZGUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547994" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmE4NGRkMTgtZjU0YS00ZGQ5LWI0YmYtOWUzZmEwZjEwNGQ1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564547994" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODA0YjQ4NDYtOWIxOC00NWY3LWFiYmQtYjMwNWI2ZmVhNmE3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="494" it="0" lt="494" ct="0" ts="1587564547504" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-62" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2NmZWIzZTItMzNlOC00ODY2LWE4Y2YtOTcyOThhYWM2ODgy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxMy1STUVyMVBod3hHeVhZaXlLU2o4Qi1ndXNZWlAzVmxDOSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.V-p3M2FNwzddj-RkrKiTIj5uyp6Y96p7eogj9ekFm0HX57VO98wuc-bdZJS-O4u7i6wdetIFhzrTTaOl3GqqZo9bLKlQbUPe9JDQSyUyNJc9aMr4dVKWiJaBBgQFq7MtUWz00hqeF9jMCl-OLmgepFKBvzOcjN2vrXHvCDowaU4ChYMGRVcNa1QIpxmNKDis6PvPmjTq4kR5utppD5gxy_97o6TZrqIuNycE9bxfkVlZ7AnKX2XRRfl0hMgvZm-KOQQo8traw1rZTg-pQLFI_3h5Ugdkq5LI_LoRlJqx-uCP1fxe0FEolmBH0ZgJFr9E0Psk4MOfydGq9wD6ic2rnA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDY3ZjUxMWItODQ3My00ZDA1LTgwNjktMzQ0MjRmODMwZWVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564547993" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjU2NjViNGItMTIwNy00OTgzLWE1ZjktZTE4OGJkOTA1ZTJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564547998" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzJlNDkzOTEtN2RmZi00NGYyLWI5NzAtZjg3MTYyOGU5YjAx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564547998" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmE4NGRkMTgtZjU0YS00ZGQ5LWI0YmYtOWUzZmEwZjEwNGQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564547998" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODA0YjQ4NDYtOWIxOC00NWY3LWFiYmQtYjMwNWI2ZmVhNmE3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564548002" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzJlNDkzOTEtN2RmZi00NGYyLWI5NzAtZjg3MTYyOGU5YjAx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="528" it="0" lt="528" ct="0" ts="1587564547490" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-81" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDVmOGZmOWYtZTA1YS00ZDc5LWJmYWQtMmJkZTM5ODBkZDBl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1OC1YYWN6SXZNYkluWkNxLXJSdUEtSU9za0FpTElISjlrRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hyIHrvhPeTs6oc_JLQ868WqKEsrAMJHlYw5V5KnmznUeWiuCrMXW4NR8p2QZixjKjWY0vwI9y15V7q7HwvPxI4d5f046OCUCRyPQ-eNMZaw64s6R-R25Ic6W97yzp-GQzp7mNux_GtKiScww8vRNXVE4P1U2tXlKPuOIDQZA1FRawWQYRRhMcs7wl2eCJ23jWXppY7RQBofFbNXoEQ-OW25BXEODjjUtA6IX9nHMoCWvXCacnjTJrLBLzsqh3dcR7q5gH5x16RKPObmxEY6BBuSch8T7L699umYpWogJxmNBkcYW6bS6lMbQCOj5AZHWNy9s_dNETyAFlEUjXuOxOg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDc1YjVjYmMtMTQwMy00MTQzLTg0NDItMmY4MjI0MmZiMTQ3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564548019" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmYxZjkxOWItYzkzNC00ODIyLTliNTYtNDdjOTljNmI5OTY0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564548022" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmYxZjkxOWItYzkzNC00ODIyLTliNTYtNDdjOTljNmI5OTY0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="475" it="0" lt="474" ct="0" ts="1587564547559" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-89" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGQzZTMyMDktZDUyYi00YzAxLThkMzItZWE3ZDUzZDAxZTkw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwOC1Ic0haNENjYTExRXR1UldXZ3pEMEdUclA3N0lKLUd3eSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.D0-M9vCWDpi_kWVrY_eeb0PTNajFbnc1BWttS8g61-tTXkfAbROWAEg1LwNixaC0h57WKkyZJF3Dk8TehRYnl3FP-6ZVBkGMIHiHFtBqXjYEKQEac1DZCiqfWrFgCW7l9gpe41fS6oN2S07vOIalOIx0bT0W82IUpvG8JGUfeGFI31g3gyt3J-mptSFnCdbBxVFBhyNR9cE08ziYG3_V7A_YQxDFl-zsL21PbUVTTxliMnrj5P_6P7Du_IN_UU_CB-Eo_cmNSARaTRBT3Nmq8YWqmp7CDo3nGG6rYcDMQF68Vp_iZmpseOX61LizJpyWU7r-PBcCIwa2cZgKyI_Rdg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MGU3YTU4MGMtMGQ4My00YWQ5LTgyYWMtOWVhZDAwMmQ2NjI4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564548034" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Yzk2MTY5OGUtOTM3My00NmMwLTkzZDItZGQ4MTY2NDM5Y2E5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="252" it="0" lt="252" ct="0" ts="1587564547794" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-35" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjBlZjFjNDktNjZiNS00ZjAxLWFkNDUtNzViMDNhMjNiYmFl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5Ny1TdFlWSkFHVGtYYXJYT3Q4VmJEVWszWEVOanc5MVVEUSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.CypBwjRE5Xrius4nxZru_7skFtFzjfqO_B7yz1MXoik266sOrSU2tyv6gWKntIE8QAm-1FrvHLrMO_yIY3R5mT8VYhe5pPYY0q-oigtzQS2po6VV4QobntJkBwqbfhU2NNC7NoiFtUnAO9_xLC8C49XUw5p9nIe-ewj6m2eRfvGITxOxk0h2Twm5G292MpbuiswEiw9UyaZcL2M5KYYQLhNy4eLXUwsbEWupeSwnUz2OYyuvvZ2RMlIWg6thxlLSRkBgPysfuuR2WWdTQO8RMKdvoVn7hb1GQlsTOfulf_40bSa1bismsSV-EnojWUk4GJLFoF8P_wRsraFHRigolg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzU4YmRjYmQtYWIxYy00YzEyLTgyODYtMzlkNzkzMDY0ZmVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564548037" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Yzk2MTY5OGUtOTM3My00NmMwLTkzZDItZGQ4MTY2NDM5Y2E5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564548047" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDlmZTQ1N2ItN2JjYy00MWI0LTliNmYtYTI1NzkxMWIxMTcx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="504" it="0" lt="504" ct="0" ts="1587564547551" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-47" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTI4YmU4ZTQtZjdhYS00MDM4LTkxMjctMjFmNTRmNmMyMDA5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5OS1VVFN0ajZwOWZPMzJuLWMtSEhyQlNmUWdCSlpybWtIMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QYv-RS8gBESESEO_b7TEvaYYlSJOQHORM40oV4LZnnBL3gZ_zS8HvEDVRnqv-x43nlrmQEZ1xW0pZCKn5vmepILtRB_Us2fvxEI78NsK2JRRzDmNyJ59NibAVMBMwgqjylC5-0jYzh_5AcmV-ssH4kcN74PAwnYez8-dy88x716RMqK7k0kOXtIkuWoRK1v_QMLk-SQVPUmslATQEpmVGRBDRnoeC3ofzzGcWsE4PYWQnIpMhn3fbjRtKNWfXCiJf2iosCQRDbG37eyDGR-jSfGVuse8kQGwFlAjIFVCmzI0PMi4cUAHq06ypCMCQCgDvkKzEO1-Em6QKHnpjTEFrA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NzgyZGQ3ZmEtMzM2Yi00NDcwLWE1ZGYtMDQ1YzA4ZGMyNTg2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="416" it="0" lt="416" ct="0" ts="1587564547640" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-11" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGFlYWQ1MTgtNjMyNS00NTRmLThkNGYtZDk0ZDRiN2EzYjli; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4OC01WmNhazBmSmZDaG9TVlRiamhJSXVLZjNXUEpiN2g3NSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IeDMmjDJpCBuLgxkw0E-gbx4RSdDkbLWo8yYEfVqxXhkJWSZe3Y7KHf9RGaBU98rhlSjzyycISVBlGGMZuFZC11A79qVNaDo_a15qD2OY_Vp2cDk969XQ2j9jFrjuD4FDt2Yrf1XXQnpNNZww-q_67lYwxXtTFYJEpNrVtzf4Zsgqz4Zcvnpiqcm_Ia506MMiERgOFAqWPk9d9Sme2kFeWOmtr0ewmlFhgit57FBkFk0sY1h6EL93mjTiflxOK3ykn_2m4W1fow3dH7m-4OUehotZE2kxNK7fthmwwEqMxEtPGuASRg9Oixm40-c9Ax-S1DKfkELulI5kACgUxw4Hg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NWJkZjk1MjQtNjBmOS00NGUwLTg3MTMtN2Q3YWZiODVmZWY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="264" it="0" lt="264" ct="0" ts="1587564547793" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-20" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2UyNjE2MDYtYWI5Ni00NjRlLTk3YjQtNmE0ZjFhOTI3MWVj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwNy0zUDBVdDF2VkIxdnlqVUJuaTdKb05EeGVMdVpwNm5WaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bxNL-nVjO03Nf85DxvR1G4hCcbtebPgN2HQsJno7qLVuu65_1G1txoj2l2drVYoPlhyFW94HtgVllW9-0XuCcGEVzwyEGoLY_zxuboVhSQBeNkSuWL6fUf2RjMcqMgDviy0fl3NP9HGtfa4_q28xFoeKJfNnbTAEGZZoycQFfrOxEmP-ZXFGcw6tc5gj4jDhwawrwNmo49q3FccN9l6vhtDdI5QSnzyJ0Sw20QnkK2A9-wcoK4ohsAW9tiA_mSqqRs5DpgMcbqOXRSF1vjwTG2j9a2sVnGDzV6fkII263pBP1_ILyPhYCLY8BZzd6bns4t3kccIScE0OJdVPu82PwA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MzU3NmM1NzItMjlhMy00NWRhLWE4YjEtYzllYWRiYThjMTA4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564548053" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDlmZTQ1N2ItN2JjYy00MWI0LTliNmYtYTI1NzkxMWIxMTcx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="254" it="0" lt="254" ct="0" ts="1587564547804" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-97" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGUyODhmMDctMjU4YS00N2EwLWEyNzgtMGViZmQ5MDYxYjFl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5OC1PUm83SUpTb2NWendudlJONklMdXdteGFrUXZ2SzdSUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PHcugAuk2UWiBr15kPjH_dg8Hr6vW8e-vngPzt331UJLymSGLsO_b8XCTwd4hsBjvbDpW3zSN8YYVfMH3uyKX6WnkIKQZ60KzVifofU_amqbLXAJBJZj7weSSyvf7v1bDPWlnxT7V9pIapipWWkBr7pY9mlA_jtPWEQGxDc_WF-hzscsC3kNAYtuOgOjgpG6O7N5BUq2ltGpR_LQeiohKFCto1QHyOHqlrv1W6cQYKF7FQJawshMtkslF6Jx0U8DAPKEWPe5qYW2CEwlwu5M_z87fNwcuvgxyMwnILldd_gKNAWmP_CGa8kR8DT-DMt8yVpl6pwQ-zzWkfrXFl53JQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YmIwMjk4NDQtODMzNS00NmMxLWFlNWItMGQyNTljMjUxNWUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564548057" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjUxMjI5YzItNjg1Yi00NjAzLThkZjAtNTI2ZWNhNjFlMjE5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564548059" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDdkMzM4NjItMGJkMS00ODYwLTlmNGItYjcxM2FhNzczYjY4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564548056" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWZkODNjMmItNzg5OS00NDJjLTg0MjEtOTBiYzIxNTkzY2Nl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564548057" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODIxODU4NWQtYWVlNC00NzdlLWJlOTMtZTIzMTdiNDllY2Uw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564548061" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjUxMjI5YzItNjg1Yi00NjAzLThkZjAtNTI2ZWNhNjFlMjE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564548062" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDdkMzM4NjItMGJkMS00ODYwLTlmNGItYjcxM2FhNzczYjY4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="457" it="0" lt="456" ct="0" ts="1587564547614" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-13" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTM1NzljY2YtNjRmZC00YmVjLTg3ZDAtZDE4MDM2ZGNkNmI2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2MS1yYzV1a3U0aTB3clBKaU9wTEZGR0dxLUFieXhyVy1rNyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KzRcp8SjXPct03SKAt5Q-d1C_xJK7bzMfArSt61RP4BF2GSSn2ac2Xj1KQKBDP0dXwPTCEjCOj5KMCnrgbtrFdYzShGY3uyRQn5QGNjDpDP6h89IMjoWslXzYeTXSzBXyZOuEL9JgBTDUUpOKJw5Tkp4RrvHkaSNFrT7C74_4ZeUq-h5YPVgo7wwNlhif8cCrW9bJNQU_I1TwMVP83ePTlXHRFVk2bwS78lgYhx5uyZsTATZ83yvpaulUUo73NOWZiSh450dgKml-Hy3-NSn7Sqa_RTw-KYvrTpQ8Rj43dZZpEyDl9srlS66EElw7rQ0iUZXcEg364JXFAsJNlkAcQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MTNlYmEwMjQtMTVlYi00YmMxLTg4OWEtZmM5NTVkZDM5MTBj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564548065" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODIxODU4NWQtYWVlNC00NzdlLWJlOTMtZTIzMTdiNDllY2Uw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="279" it="0" lt="278" ct="0" ts="1587564547793" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-43" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2QzNzJjZmItZGQ3Mi00ZTk1LTkzZGQtOTI1ZTZmNmFmMzZh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxNS1MNXNHdTQ4S3lQNDZpbEdpcG9ra1FOZ29sTGtwNk9sZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GOydjuPyPog_Hd6gYK8_4T9TZ1Oc2yoZjlcqJDJbrPGn_gJLFnjqwkU_ipZZzOB3MzpSK3n3zZXsC3ZdcapuS2ebx77k0NX2F6_AvG-3UGiob53Ih2fUkGO3yKLA1oyg4ZiEfrD20x9kisjS-GhdUEboLAjQBgl1gERRmP89ERDUhsHq_Q49Ty3xCoSe6t40pt7XrxNEJmPfGPCo9-7rmFCBvEX00vO-49kKPmOXmfN9MIEL2hiZSZ-826LhErAs9xDipB0GiPRZATVdrNx_FN2g6xq-WRmGIr1GrEjEzkoUpf0rZ9-INt6vpo88Nh0K6qW1yu1gDy3wEWzlPW4aGQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Njg3MjJmYzYtOGI3Ny00ODk1LTkwODEtNjI4MmEzMzI2MmFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="450" it="0" lt="449" ct="0" ts="1587564547622" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-32" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODBmMDhmMWEtYjE1ZC00YmM0LTg3ODUtYjU1NmM0MWU0YmY1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2NS1zSlhmZW9GWkE0YUpXRFV4cDJJWEZPRVFjaGtzc0JpRCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lWQ1FRYMpsBkKOywgOaNCVAb_7LR_sfMuGMHTfVew8Ng5fR408KPwwxXwSu6Cc4uu7s7h6OgmLqeCCSFLenwH9FICxWtXO71jVMF5dZDh7dxq-5ZZgXfYYp544plBAXfMDuTXPoei93LKxnTt4UPya6QH6OfwZkVV8pjR5jMx_SDg2lJZ1Qx0SS9w-wUJAF230XIZu29mw8AiUyQJccMbA423rjFgRcHhNxH3MlyVKj2l02ZGlcSNvNVhWHv6u23-4CyauvUqgMQ-o9LeVvxaWXtX23ECyeAF6lYMF5tDmtwlOGaG7wWFpbOpFDyY-D-CQ7KYyRaSIxN1k9lYGAkxw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MTg5OWFjNDEtMThjOS00ZjIxLTgxZjgtYjAxZGQyMDA3YjEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="452" it="0" lt="452" ct="0" ts="1587564547620" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-3" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2Q2MzhhNjYtODMxZC00ZTM0LWExYmYtZjQ2NTA0NTczYzJj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5NS16UUNOd0ZEbi1aWFFKNng5ejJYSEZ5Z2ZZUlpDc291RCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.muFOzXZ6MzfxbG60ncYDnXM0pln_oT2ladH83k8LprM_JqqjAU5lGmdPPScUGOYpl4g-xif4hCoX3M3pYfuAUphRJlh8PuSTVrDPgSZyLRIA2mdmIw8_YuUaeVdTWEfm0Yi73aLEQdec_ZnS9ubUgTZ7s8myFLw1lKAH-sGuz2Q9WzyqwuK7jG2pBUt1A-LgHMPuuOHJdNkXqgqLe-EZ5KERmN7NL7iFGwGVRnRWcRCmjI8bAKjM9LOFykplP778iJVqRMMCeKfhJm2GxJ1UvlaRWJbUdDK49vNp3Ei-0n6pFQT0Esms2h4_Vc3U-Rtxs3xUsIaY-IBx8s1H-W7ytg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Njk4NjFlOTEtZGU5OC00ZGNhLTkwNjEtNTU2Y2M1MjgzODBi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="457" it="0" lt="457" ct="0" ts="1587564547615" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-8" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzI0NTcxYTItYThjZS00OGY0LTg1YTQtNzgxZTM5NzQ4NzIx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2MC1GNU5QeDJuZGZxWVhiZ3lMS1BqQkpFelhsZTVxdnZGaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Uhdn5JweQoe8FnbvvgO13H_-BlCevaIeat7fwAczhMpvuW-0e32l4xFvMVswK0MRb0dwwwgXCnzUHxznsrhPC5y1klHY-3mh0HupmpLaGicGBa7z9Dnk5DykmHanTGWMxoSu1WVs1GI44-keTGuGpP27M1ruBamjhhtEFD_FxpuYmAQ50tQU27eH1MX_NHrwKQzJydx8EaNPuTGqPVpeJoVyz4e_rZbmv1W7PpON9zD6VaGXRfZT96jfaRxcWuF7-juFFC4W1ZY2rc6ZmFzExMhFPluys51UPzvvaBQX7ebPUp7azdD30Uy4BM3uYGNxgebN1iqdqI0qvG0g84QvmQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YWM3OGQ5MWEtYjJkNS00OGJhLTgwNGYtM2VlNGUzYWE5NTg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564548065" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWZkODNjMmItNzg5OS00NDJjLTg0MjEtOTBiYzIxNTkzY2Nl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="433" it="0" lt="432" ct="0" ts="1587564547641" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-90" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmJiMGE5ZmItODc1MC00NDg1LTg2YjAtY2U3YmExYTA4MjJh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwMC1pNmZWdEREVmhBaEpselFvYXVQa0tlR2tNd0RBVy14OSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Jm7il8ScmnewofA6inqHB5ATUNm2pn2nSZkwxAaHB43TQDokEQD1pkuSULxWFc7jnobjCEZzWY6TC1a_vhpa1XfWcug6-eiCep3-doZl51gjQPZ5LUOEANazE1ImSZNxjfCT2UafmisU4gRPgcp1AFI-M3rC4wDahTQjsMvtm4M2q_TUdizy01RomeHzetbJtM9Sry1NS1fXBG38lNiLWHMx27rGTD5IvZblKWwRTUpn0E4cyGvCmEcMwsGowMv0czdUDfCDfrReVTkRcZG_dgn0dmPcO6JCXhSExUsClkeZCa9mDcm0wvxv55SLIZXt_-YBtILAqsBCMlPzcTis1w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmM0NTUwOTktODc1My00NTVjLTg4YTgtNWE5NzBjM2U1NWIy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="515" it="0" lt="513" ct="0" ts="1587564547559" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-18" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjZlZWEzZjktOWM0Mi00MDBkLTk5OWEtZjU3MGZkZDE4ODZl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4Ny1TR2hoT2ctS3pGVGJaeVRrQllJUDV6MXZSOWJocG13RCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MaGh2EchPrYzG5WNwNV1nUFFGak3A877tjzuI9eJ6VKK0ucONpH_hGsyep1xblXODk7-7ruWbQ_Cw9eyN28gVLlDRujQNUhvoo-6Yy2LvPNN8WgTlN8Jxe3kZWU0HPZfU-tmHtuOioMMGy8RdaT9scJE7vrNB0e4NONU_JbjL5UFMAEuHVCHgbJHEjxBpFna7L5Qy5zHLK4eil2-PFx3eKkG_eA6W-IqviG1hhvhAV--e4R0lk5FxHTuE4lPK7Reva-dfpLFtMPN5h-MHz_VCm9-tgbrpEe0xPY4ug6MnWzFPuGhT6ztYtWgoRT9B5CI5lVI7F0riPQnX6UVqbxM7g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NzQ5MTM1MGItNzliZi00NThhLWIzYWQtNjY2MDE3ZGIyMjYx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="442" it="0" lt="441" ct="0" ts="1587564547633" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-91" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWNjNjQ3OGQtYWU5ZC00NTFkLThmMGEtMTMxNDM2YWNmNTVh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxNC1BQXhTSWdRS1JVdWhsNTFGc2k4VXVJb2d4UEZyeXE4cyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pNvVuxZj5pcxNCVHDYjJTVm0FjNapEjLMSTdXJmHQPyGHYQK1tWWGCY8nnwxFwtmMGBFjqiv0W25m-ciC2k2JcjxX81-E3XvELusnTm94pT4Wi03UdHlpqBVp0nUfp-mIgiJK1FXgwdfbqREJ4s6sKgUoQn0aNHLgr2KxNep9wwxdhtd-0XfGIgUeoEFL25eWiRZGdnhbsJi1lXAFMzdcrLfWGdQYlUa3Ad1hPqeenDv10xofsdNGBuqZE5v4QAfNHmUgmgy0MfkE0QYbzuo9YClGMlYRGqpxUeQYHGk9OVnlZN5wikZbLgkaLmzhWFKsqHjHJJOndS_8G0u0-nrhQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MWJjMzdhMGMtOWI5Mi00M2E1LWEyM2UtNDU3ODBjYTc5NGNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="282" it="0" lt="282" ct="0" ts="1587564547793" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-40" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWQ0NDk4ZDMtNzYxMC00ZGMzLWFlNTMtYjJlN2NlNzViM2Rk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxOS1kY0lNQVVCaDZXejFlRkpmZ0RFZG43ZzdNbnFnMlBiLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Pyiov-tp9HwPgorTssKa6Acw_qRWf7dKaTlPYKEermOGtpUKQbkIrlPH17lkGdtrBBjMUsTg_EMCiWyUaGHM6Guk_5cGnnRPysgEoVpKsftf9IYA-RMaNO4nhJdZNySjRXHRINNZ6dXAMumE8mIZWASE7bNEqrjeB2TcUeXeCLkpHCscC4rvmfonIGO6gFZCW5GPG6KqAot8Zo48wUK45uXvAr06KXKAf1hcE4BzyZRZBzOQk0Gr-IHN52TF35B-clKAHN29bGrFX7BwdMuwDrQAcnDhbJ-OsxgXAIGAaUsu26f_NeQD48if38EUmXb9fZoyeTGU8pCXkP8W_YiDgQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MTIyMmFhYjMtMTQzZi00MGUzLTkxMzMtNWQ2N2U0MGQzYTFi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564548071" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTEwYWU2MTMtNmY4MC00NWQyLTgyYWUtM2EwZTZiMTM0MTc4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564548072" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzhlNzMzZjgtMTRlYi00NGI0LWFkMDgtNGQ2OTAxMjczYmU3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564548072" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODI1YTlhYTQtMDBmYy00YmYxLWEwNGEtNzQ5MjliZDBkYTg5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564548074" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWEzOTY0MDQtZjc1ZS00OTM4LWEyODAtNzY5MTQyY2YwMTg1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="459" it="0" lt="459" ct="0" ts="1587564547619" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-56" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDUxY2JhOTYtNDMzMi00YjFjLWE2YTMtMzMyODcwYzk1NTg2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwNi1uSGhURnUtak1qWUU3Y2RmOXVBekwxTVhxb05lZDVIVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EGWcxKxEZ_02sFu4dpTpvDkpEkbLGS7f7WoXE7vH6WN6MxLX5gOMxxud1SdkVmmEvOL4oVr-4sd__mhn3zPUPHXuZcvqZS8niE5vFvOxoHAQb1m_yvlIgVn5mX-IbhYaYxiyrxyY4Ax1wGpkbwuqU7pBIHXRmwTvESrjWPawSSB0nfKbYBZbyAIdXi-VLoXj3kF_IsHFXdaRuXKnqv53NSZZua2DPftLCt1CjwHsjRIyQt02zYljI-Ol_gq-WCpclw6yuyw1vDv8f1hp5RwP87rfgF3KTiOT479BJr7rw2ujtv_y2YaG0lv0pTOT8ZF0hwh256lD6ytZmqbmmLosxg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTg2NjdlM2MtZjg1NS00N2VkLTgxNDMtMTMwYTlmNDFlN2Y3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564548077" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODI1YTlhYTQtMDBmYy00YmYxLWEwNGEtNzQ5MjliZDBkYTg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564548074" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjlmYmRiOGItMmQxYi00MWI2LWI1YzQtMGRjZWExY2M5OGUw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="446" it="0" lt="445" ct="0" ts="1587564547640" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-7" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmEwOWI2ZjgtMTgyNy00N2IzLTk0ZTgtNDcyYzcwZmY4ZmM5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwNS05TG0zQU9makVKNElVMHBtMUwxSi0tdkV0N3VITVZhOSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FOzIuf4MnnXqw83xZUosmCU5xJl1tzTPZWLCb-SKGRshSZSF5t2hGOxkbZzYMPTvj8uilpDJhEGiefL8Eg3YWKsCaPQLcsWIIKpocZ0mJwNQR5h6ThEJkh7LDy71BnFf9ZtYk9IbBwUeB4YoD6u3sRJPFesToKOhNhte_uPMyazzY422XxbBiUafdHS1hSuWGS34ecQ-feRpmtA677FWwKb-9XGkEzuJVTjyHlxZUlezYCux767_nUijTO4yjAqF5198y-sGNTCkGMAnXAA81ul8C24CtlNVydoANWCjeCEAfFDwOPi0am8ay0RGVxlx-ZHdrIGp-pmrV2Asv1XpVg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDRjYTI3ZWQtNDZiZi00M2FjLWFjYjktZDc4NjY0YjZiOGI1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564548077" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTEwYWU2MTMtNmY4MC00NWQyLTgyYWUtM2EwZTZiMTM0MTc4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564548072" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDE1YTk5ZjMtNGZkYy00Y2UwLWE5NGUtOTQ3N2Y4ZjhmZDc0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564548075" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmQ5MmEzMTItNzI1Zi00NjY0LWJiZTUtYzFkMjdlM2NjOTZj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564548077" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWEzOTY0MDQtZjc1ZS00OTM4LWEyODAtNzY5MTQyY2YwMTg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564548086" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWIwYjQ5NDEtODAzZi00YjI1LWEyMDAtZWM2YTU2YWUxMTYw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="0" ts="1587564548076" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODAwZjM4OGEtZDc0OS00MTNlLWEyYzYtNTQwZjZiOWM3NjUy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="124" it="0" lt="122" ct="0" ts="1587564547971" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjdmMTk0NjktZjQ2ZC00MjZmLWE2ZDMtMjA1NmZiY2E1Mzdi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ1My1FT2h3SU5IbkoybnJoQTVuMlpPckVUUUdVdzBaNXctcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OowkkOTDHafeiWTg8bi-9x64fn0np28hohNZUTI4nKWCZpkFVfhHnp-aGagA3NcrwGsWHUpi7cadFvbwGWDSJMze3nZlhXKxJaMeRRsaUCH3Umrpbhhgs7oJBkBAK5AZaW6L-4iW7fcMn8Ijx7n618BLbnk5EeyGxUncUDSMdfwAiOdjWoYSkrTKnrlR2lGgRxQFx2heJ3YVMLlAieAv-L1wHn6GhLi1MGAM44XLomaBUHNNk06-hb8fq55dnY15rrblbcxGIuwGJayV184PpWcM_Zf8gjPmpbLFWNO85xwuuZsYXnbConqLZZFwAlyw5-oUZpNYVMYF0ClBPDLBWw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTY0MjczOGUtZDVhMC00MzI5LWE3MGQtNmRhNWZlYjA3NmIy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="480" it="0" lt="479" ct="0" ts="1587564547616" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-67" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjdjMDI0MDItOThmYi00Y2Y4LWEwMTEtOTA5YjVmOTViZDIx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxOC1QR1BlcXlKdUI4UUw1ei1rOU9vWmlMWno0RjVRNExQOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.erKHuPA1CshQW4IPi6qHhPp2vIPg_7TYf3GY3xcr1hSMx8Sx4uF1vcdYlmJ30woEVgzQ9ZpSlvrrbrKT1wUytf6PP738hfmcaNEBuiKHwByjC67Wlal555ImdGnCIU2ZmrH8dfuY2aPpcqhDHRMPBpysVjMV-tFZFxs_-gMc9fJaWPu-Z4fSVBJMr7LfChOVOJCNMFG2-cTICKl8Ux0EvqBK6NCpxvA6i63Rsq1Je41GnsrgrOMzsqKWaAZrMbHHUfpwhD347vA7nejhEAiWf0sR7e0i8HHqVaSoXmA0o3OhB3w0pfqP_4KdFYGaHAwOP04ntIs-Ncgw6gMOQoSUTA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDA3ZjcwNjMtODVjYS00YjhjLWJmZmMtNTUzYjYwMmI3NTQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="25" it="0" lt="25" ct="0" ts="1587564548073" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmIyNjMzZTQtYjM0Zi00ZTFiLWFhZTUtNWEwMGFlNGQ3ZDkz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="222" it="0" lt="221" ct="0" ts="1587564547876" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-68" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjZjNjZhMGQtZjEyMi00ZWM5LTlmMzAtMTI1OWZmNTRiMmY2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2Mi1wejdrMHFqYTh6QXBBSHBTeDVINWJJOVBjZGtkWHlSdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.n2kBDUn6qlg4f7KJYdz909Ed1QCQitvGEFVjyxYylMS0W6T-km9b1d9mwFR7FY8QQZG7F9fJTUnNCPDvWPTe2L_CnP-J1b0u8TchBEl_8hdAH3aexTcmk_na06c1gL0Q0o_7axVEhgWdBMKFTJH--Kr3nfs1OOH3si4xeXqFZioAkiXAOrXLErnHVmctkoC4zYwGXqHzvyOYY9noCHvyPhW9ZhE-J3oB5NDypnRFx2pOKXDOxwv0d3YyKfyIJgM8xvI-cG7SiwlkQWNDVP4BEgSUB6C1FwhOvdpl3MqP3sUylIsBeNncyOrAqHWMvSpOC2pdKIBdRtt2INjmcxCeRQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmY1ZTUzZjktZWM1Ni00ZDFiLTg2YTktYjliYjQyM2Q2MmEz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564548087" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDE1YTk5ZjMtNGZkYy00Y2UwLWE5NGUtOTQ3N2Y4ZjhmZDc0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564548084" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjlmYmRiOGItMmQxYi00MWI2LWI1YzQtMGRjZWExY2M5OGUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="295" it="0" lt="293" ct="0" ts="1587564547804" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-10" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmYwNTBmMDItZGE4NC00OTRlLTgxYjYtNGU3NTcxYzIyYzEz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5Ni1BRjFma3hiaTdtRC15V0Y2dEtOOWgzZFk2ZHVMTW11dyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sKtktiFRGssmkXvH2nTeHdOIBkzk_Zo_3HVKPYSFm2AxZNnob_cE2jiZjA2VoiwCvil45k39JRCL8ydwbF3LhXJYDoyawShltbpJYgnAaIs_aTjvkUnBXQlIEnQzYFDvxx3kRpp7G3MVLMtNrL3S7osFj3yXmFyMDOSoV3Ol9mayEReBSZi-UeMohlSPuqfYPgGuPbDg0VhJPqMHDivgPgEKjjivs2i77-dZUyQZWZSRP4vgdzQMVRQAyuT7KfkAK3MTvBYoe0n9oiwk9wf80hl4GxLoz-Xr8MXA94UyE3Wj1fw0YBDByIfLvTrIZJE43Duja3Uf44j_E1oqXX9cng
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NGRlYmY5ODQtN2Q0YS00NGU1LWI5NTktNTRlMjUxN2IyOTNk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="224" it="0" lt="224" ct="0" ts="1587564547875" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-94" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWI3ZWIwNGQtZmY4Mi00ZTM4LTkwZDktYTdmYzY4ZWEzYzEx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwOS1vRkk1NkhFVjdjaWNJUjlaYzM5cXd3bE1MckxOb2tWWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.XFWDeAvSJuJYE9SdHkGpnMgRkUJB2X010IjiIEO84fv8mPFnTx1qlmh_zoKM-4R3U1WBQyGKYSlh62hXV8y31L7FpKGGCpcVcE-sJ-FWUAUuZsDXVvd-zi_xRnKXp4U_sUben7okTPSfviOBRuW7I9u1NXzwYNKj4AGCKKSh549lH_MNl7eIB9qyvjuaMIS21gAUpBwC5hvVZSzJzRHdDH95CA0tmTvFQmBQbOjs9F9t5Jy1oWrxHnmU_A-insvTJvsBbSSXypfOgi7txne6tGrJFg-rvFZjiipGs7NJMke6u-CK8uVAc2LVXf0Fg_48PzfxkjN06gJHJ4dizirb3A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NjM2MzhjZmUtZDI4NC00ZDhhLTgzZTUtYjM1NjZmMTI1OGJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="544" it="0" lt="543" ct="0" ts="1587564547556" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-85" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWNiZDE5Y2YtMWE5ZS00YmU0LWFlNDQtYWIwMDI1Yjg0ZDk0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzOSwianRpIjoiSUQtVG9rZW4tMTQ0Mi1zbWtJUFFzNTRrREZSNUI0dzlPeVNZaXpCLVJUcmhRbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pAWg7r1iZFTv0SE_Roo8klXl3EAbk_bZHMG7lqGwE8ow23eQfF5Ul9eGttOQOWM-_UFX26GpvwmvTbjMdO6rcVooB0y4DIHLG01eiDlJCwaeFyMCc8ZkpHmc1_HL_cDOpUTpQJazn2FbGBIGjlyvX1FR8glLVqAuRrTNneshJ7bAFdCgpxrX4GueZkE1NzQOEZ4A2EuUXAtssoPWcYgV5w6pXVv3rpBTkY082WwhIIe8og1JXn-EQ2eVLVLQhIXgWUMbC97T9Z-rnRzV8xHLXeIRSOBDmgBddRw898Seu7WwDj44FQ3GlaK3Gq7D8Z0UST3jjVIMD5rFyxNdNDRzTg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWU3ZDRiYmEtOGI0Yy00ZTUwLWE1N2MtNWYyYjIyMjk2YTNh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="23" it="0" lt="23" ct="0" ts="1587564548077" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzhlNzMzZjgtMTRlYi00NGI0LWFkMDgtNGQ2OTAxMjczYmU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564548093" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWIwYjQ5NDEtODAzZi00YjI1LWEyMDAtZWM2YTU2YWUxMTYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564548090" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmQ5MmEzMTItNzI1Zi00NjY0LWJiZTUtYzFkMjdlM2NjOTZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="202" it="0" lt="201" ct="0" ts="1587564547900" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-88" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDcwODc1OTctMjllZi00Y2JlLTllYmMtMTAwN2JkZjYwMGM1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0NC1JVmtXZkhkRUdEaXBxUHYtSS1WRGE3R3hYelhEZHNaMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QsVhRSY87IVBl3GmRgqh68LOWg15FccI6M4hxwiNHZvcloI45XQ7VI3Oy6MYCrbMirCW7eTLP232A09fnKXLNgqFf-0O2t2_PwPe3HLL26pbGGM0L32h5chK8HIEQ-W0gfA-rtll2o9wb3G7ZtUC-0NCy2X66Veq6A4_9zRvHruXgQldLZb7_NFbzd4fYXkIlq1048AM6v8orkqFh2Uh0qUBAzBElPs1Cbh_xO9r1dTvSoSmbMyFUXKEpgucxAOjngvltb2r64g0cK2mgffcR1B3-Udn-CUBqUBk4M_OAuonk_YcONsV2o-392wQig5U-J3IPuvT7db1qYWVHu3tRg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDkyNDgwODAtYTRmZC00MmExLTlhNmYtMjcwZTJhZTg2ZGIy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="301" it="0" lt="301" ct="0" ts="1587564547801" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-98" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzkyM2JlOTktNWQ4Zi00YTg2LWE4YmItYWYzYzg1YzQ4YmRk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzOSwianRpIjoiSUQtVG9rZW4tMTQ0MS1qcFJmR2U3NGtncTduR2g0ZXg2TzZzMWZmVlA3QWxNNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.etbMiao8J02DhjWyH1WlpUKBbcTR7Pptq_TXjJbnBUfE6MyQR_tEHJ5pDIrERsKxsobEXRtL2JIN42HWNjKAu46JMFlsX2iXyJj5jL9RDQx3foXVjVLH9JoNcY7CsYJjXHIsz23tC_3nR9FULQzJ6TYi28TV9JAGz_khuz-bHPwqqWNlwPDCtaUxq9PCp5xuYe0jjyv7g0WKhtwVv0v2nYf2yxAOKxRCJpkSQ7scvnAT4GuTKAcSRnM4DpDozOtdDq9wQw8cm4DNSmdG-Fk9ciX31Pw7l6PPBdfsvASLqOSgrUDNui2mxNzLsdNAJFqJnl6SD6B3u79z7YitPqA5xg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YjAzOTAzYTUtMDgyYi00Yjk2LThmNTAtMjllNGIyN2YyZDQ2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="228" it="0" lt="228" ct="0" ts="1587564547875" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-54" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzE5MTNkMWMtYzkzZS00ZWMwLWJhMGQtNjJmYzAxNGQwY2Fi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwNC1CUnd1eS1CUUR1TzNGcGNGeGE4eVBGeFRCemlQWDZwRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.b9W7sEWPP7m63JzRT2yWa8DWuqgk6ZPPds4bWOF88rNmhv5nV5V-yi0Fktm_q9aVzy5Glj28Q0xpm9I78C5Zoe_0CFqF5IhUPKoj-XCzTOYTMjXiuiNMz9qQGWm77O2cdvdt_KSDpUpSya8LZ56fOW9XwIXQJekFUD86uyezoM9ywrhJoaw0804aOJ886it7bY-_dmmpVqarycGNlGe37ImESmHDk3AEm2Ak96XfKB58L3ZG4t1LifIGrPrIxPc7Xe4WitmFU02cfok-kw055PTqExAWl_CuCLAeHNnHbp7u58Tq0ZFn96iEshXRUml6JppQtsmGyA8-UoZgCqtcYg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGRkYmNhYzUtZGJkNC00NTJkLTg2MTYtNTRkODdkZWEzY2Yz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564548095" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTczNGJmZjUtZGNkMy00MTg3LWExOTYtNGQ3YWIyYzNlYWI5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564548093" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODAwZjM4OGEtZDc0OS00MTNlLWEyYzYtNTQwZjZiOWM3NjUy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564548099" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2ZhOWU1ZDktYjFhNC00NmJmLTk1M2EtMTU3MGEyY2JkMmNj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="466" it="0" lt="464" ct="0" ts="1587564547639" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-31" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjhiMmQ4MzYtMDdhNS00ZGM0LTljZjYtYjhmNzc5ZThlYjBk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4MS01UUdScDFoejZ0WmlHRlFpZDlZR2RWYUhuaS1wQkh3WSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.U_43B7Jw9v6lE80N6r9xiieXlgD8bpAPshA16IEIWkWXBJ3LgIOK25B6eTl5uXZxn_Aotz2S2tTApa7g7Ih7BiSkLz_ugU2en9G7oVSf8G5QrUQj9MX2ITZv9FMnQ9Vk45hOZdHg3BvJsjaVWkLaniMJnF1vAORcnBEGSmFb2JoVgmUbTwiyYCLZ2Q_iTH2WoVUimtc6jBJZUhSVzXeh9st4grS3_UDY_eggN0LXIoCbTobn_m5VGiVORVZ0XecMLGanKmOmJYmiGDgPFocG7OuDJmSO70RBasl49FPaDe-dQSHnrMDGEsKEo3RyFsQj3BrXLki7q3le9MzGMO_1cA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWY1MGRmODQtYjBhNC00OTkwLThlNmUtMWY3MzYxM2RlNDU5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564548100" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjA4YjAwNzgtNThiOS00MzliLTk3M2QtZDEyOGZiYjRhOGEx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="224" it="0" lt="224" ct="0" ts="1587564547881" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-93" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjkxYjlkMWMtYmQ5YS00MGRlLWFmYmMtNjdhZWM5N2ZkMmJj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ4NS00TTktVjdIcS1uMC1CQ2FPcTFJSzZydE1oUzRwdlRFYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ksi6ICbVBeXVWoN3JIQiA0dl4sOYqf-u9-qPrNnv6fRdUFkP0_t18yqJEeheIOOr4ERSlRYqAtDTxqSpDvv72Fx-yn4eCJWWXIS2fsQ4jLZo1RVnhZfBj3jIPrVSDU0rwQf3i3xLr3UcIuSLYdzqXE2qVRuybt0uUzlIPgYrIF2zRJp2yjysHVKuWbWApW0NrAv_GUWtv7KVUntapfWjRKCq7shxy_tuGye2mjaSavtsFPvT1j6VWL-OuY-Hp0DtLQK_q5Brkm5pfdP2LHxqK8s7--CjoXisrnRjlsiU5z_c91kNZiIBga6U-AUrnkvUh3XOV6P53i9ISmgWd4T5hw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OWUxMmFhZDUtMTlkNC00OTFlLTlkMjctMmU4M2E1NzAyY2Qy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="311" it="0" lt="310" ct="0" ts="1587564547795" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-84" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGNjOGEzZDMtMjUyNy00MjRiLWFiYmEtNThhMjhhMjNhMjUx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxMi1NRUU5eFhJOFNDdWE2LVh0WXl1ek5SYTZiQ0Q3UTNZTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oZK7NueYMyr7kSrFvkaD6t3AKaFnQtIrvsQfZKL3zv8mvOOo9yJId5GFJsQfWHYL7u6el8iAfHAH6f7lZ3_5uZjKFPARyDKnUSmQhKW4tiO1r5nOm_kHGqvJjr0YfNEcx5wguy3JCguMiFEqYEYm_CfgDq-ktJatanBAJ5EjZzhBY5Kon2a1pKqrASEiuZ5ODmgH7myxliheD1FRngNqiDHkjE8AcmUeq154P_SmhXXftx-Uf5t_KPVflIyLegKp3mdgUoEzVn8w7_Xu3KpehBqCkeWYBqzguYjbjYzGmPXVfaY8gamV4POD4NvZ90iOM39NE7198n5SpzSVxuTgXw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OGE3ZTM3ZjQtMDNjMi00YmQ4LTliZmMtYWY0NDUwNWYzM2Vi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="221" it="0" lt="221" ct="0" ts="1587564547885" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-37" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjM5ZTczOGQtZGNlOS00NjgyLWJmZTAtMGU3Yzk0MmU4YTA3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwMS15dVI3RU9GRDdmNUZGYjBRR1kxTktIenhCenlJc3M0WSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cNlMfhVM9QSdrDPnl5vbS9sLerw1h2P9i6icP3jihrjuD_4a51oHKA4fN8Of436ISfzu5vygyCodMpOh7o8-8AAsfL-R5r6r6nFfN3qxI0edVrSnL0yDlRnj7MJ5oko-Xqa16AZKRhkBu_it87Dj_IN_g0Y8cfDXdQHYGvcbiun3OE5XW3bF17CHXqvKHDd_ncjHGlq17PszyNG-uAM9CzQoMYE71uxBkd4YfdMSWDaXS-ImZCRVWAk0f_UiniTVjqdKt1xD5R07njTwmogCmEYPqHUPhsWOu-KYQvkIv_sl5WO6CRigNR_rFqNiE5xHvrKP2IGJMCFAO63ub1ZYqQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=N2NlODA5ZTctMDljYi00NWFiLTg2MmUtMDkxMGY2OTU1OTA1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="312" it="0" lt="311" ct="0" ts="1587564547794" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzgwZGVhMDUtNmM2Ny00YmI5LWJmY2YtNjEyYmVjOWJlMDJm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3Ni1aYy1iMjZWdzhFYjVZaE0tLVFadi03V2RuVm9WSWNNUiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BYFV5n3jBZnY60k4fhT8DxLcNlkV0dyCAonq_4OPieSNNf_3L0DitplOHpj3KVlmtQ9L1jQqoEKEz4KfkKR-bIPn4JTVeCqvU1DTRqp2fskVzmIS3VF1vF_ipiHXNcp9k8ZdUDB2vahagGGrCjwK6KCybwjo7_FyPHgWWJZ0S6INARVW788Kd2tc85pdAhJ1mGUfT0Qp9qRBf8fjy9rfPa669nFloSJlJy8vBJ3-R1jJ2fesnuySPqDfn5-V-ENvOHbfhWOlE438gKUTmtWp0fTkyvZ2diittChx2ToNJSDNBmVIB5ynC5-_jK2DXOoEd3-3QPgDfjiTBphy6NkJBQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzJjMDE2MDctNjRjMC00ZmY4LTk3YTMtN2JhMDBkYzJmZTFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="317" it="0" lt="316" ct="0" ts="1587564547790" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-49" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWI0NzI3ZmQtNTgyNC00YmU1LWE4ZDQtNjNlNTQyZWRhOTg0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxMC14REtRZ0NlLW55R0lGNklSTEIzYUg4eXFJUFVFVHB5OSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aCH1ABpemIkrzAavWs56WBByGYK8OmbBJNdfVY4pjkYf912K9-3CzLLh94L_DtcF3yUd8RlNVPWRee_q5hwLsf7kNaFqEAl1QYN2Sjiep8ltU6FQwLMy1gxSgOa_8y-PvUpkXYK0Bj-w1qX8flujrrZgC75qgVOSK8DD9SyclU34TCAPNYV4nAbxcY9Ig1WsDRb-CGK6g8DpIxiA_zK03YNXhj4xGcVbyYM2ppixk8nFr8s3kNNCBPzSnRDwSJYs8MoPBDJf0NKTn_LV71jTvtXsnicLdaQO_gmoszR5SbwzP3_V9RQN78mw0p08hwWk0UNdvlSkiGRUQJe4wMKZ_Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzNjNTdjNTUtNjE0My00MzA3LWIxMjktMzUzMTYwZDkwYzk2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="314" it="0" lt="312" ct="0" ts="1587564547793" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-69" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjRlNTFjYzctNWFjZS00NmVlLWEyZDAtNjc4ZGRiODQ1YTVj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ3OC12Q0Z0QzAwTDNrakctRENhcDMtOUVoRW9pdXgya1NEYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Wt9zEf5eEoCQ5xtVS4g_lO_onH4rZ4VIufL0Wx7oUmc4qt6vUKaaCie3VInatMj4ZTUh3Ug3otH1rc_FzO3QckyARXpCQm7h5R-llpdr85rP5itSnvRr81uaGgbwyk9PHChrIsSAtp6mlJ2c6ifWKHUR2OCcHoyc44Gw9ZHZ5Ao61W7MWMIltz2bYYp_EHStwxeJ870gHhowcmGkwqyHuVfBB4ygOdRM4CVvVh1b_5QCEg0y2prEMydaS8k9YKbNPGM93BNcnVhBbYfNGhcynY4xbmrRcLVbh_DFePcc9d1-gaRifRt8TA30jlGvfoBeH38pGG8-0_dWjnJv01FM8A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=N2NkNGNkOGItZTZmZS00YzNlLTkxMzctNjU1MmNhN2Y0ZGY5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564548100" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODY5ZGE0NGEtM2MwYS00ODE0LWFjZjItNGU1MThlMmY0YzJl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="197" it="0" lt="195" ct="0" ts="1587564547911" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-25" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzEyYTIwNDctM2FjNi00M2M1LTg2NTAtNTM5YzZmOWVhNTBm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MCwianRpIjoiSUQtVG9rZW4tMTQ0OC1xSU1abXNMMDU2WXVCNUNyWi13VExSd2NUSFFEQldjYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bzGv8Bi-h04WIU06WW9G9YA4y565sMIi_NYg9KlY73OeVUIA4DxkhSZtQFZHUXvPbIQeHmS9adUbye7n3A6OpxM1GfsixBpm9_aepq01pJi2ImmsubsvOecL7NTc-wty-UcAJ7pwky8GP5qlE3Pd9TWPUgYrFIgz7hJldNOG2T9ByJjyW378IHZ4_Nyv2IsDIHWBBfRHerOsBWd16bO2-B8uFSqboT9gOX_CVUpgN26EFOKHqv7AUBD3DszrH4FKrS3O6BIFdJr8amuCqDzUkCHNMTtNF6FMqLWQGnYshNJ6EeniNlgSxnLOHzfZbt54fpFh-LOOHqfKu3XtD59O5g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OTRjOTIyZTQtM2JkMy00MjMwLWJiZjEtN2EyZjdjOWJiMmM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="198" it="0" lt="197" ct="0" ts="1587564547910" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-12" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmFmNjdlZTgtMzU0MS00NGM3LTg0YmUtNmUxMzRkYWY3YzFk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5NC11cW5hZEpldS1uWWsxNDVBemxwWDVqWGtTeVJwSlE5OSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lTgn4mTBRlTeAKdA-EE6dABH246De4MO94_yE3vWIgmHGzCZ5PfC4T8ssh_o9QhZoE2zDeEG3NK-seQm5bIgNDLeIBwZSAPlwTT-MHc4aA5OzJj_df8NnqUxU2S1fR570TDWF0KkaMhipUEIsDreJpaU3lwaKBztpsolgDjeHQEd-cwtf_kaPyucOUwdVlRlKWArHs_N1p9pi_xYwGmgFJ8kwKRwHJxr0il4Tm-BfktqjzqdnODx3l1V0wHXwMVepe0CCErcAdjbQ1wVteNKKmdmCoisV8dLa5l3caULAC9TwdK76PjOyBo3AWkgQDI3mrBRcD0wuFpr6kVWvLV2Ng
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTc5MTg1OWMtNDQ2My00ZWFjLWJlMzctMDVmOGIzMDM4NzVj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564548099" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODkwMWNhMjAtNzFkYS00NzEyLWE5YTEtMDMyYmNlMzM2ZTJi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="270" it="0" lt="268" ct="0" ts="1587564547839" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-52" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTViZTQwOTctZWM3OC00YmFmLWEwZDUtZTQ4MjhjYWU3ZTc4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MSwianRpIjoiSUQtVG9rZW4tMTQ2OS1SbG45OWw4OEM1LVJYVk5KaXVuWkhwVi04NjZwME44LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gfPPOk1PkGa4STbLhz5fvgnQ-_Gpms-j4MXGA7r1WYAT_SPNrQ4tKIorblC0sgAU1ifdXOL09aKnNgJcoFZTrcsmaSBASpD3r8zZBxQzILlWEpsduR-j9EohyEMVCojYd_Iqkv-3EEobFGzlMWk7ktu0WhhJ6_CLvYEHJ9nJztyCkR8EAHb6xiLGvl9sEs60eU6ijmhBkkibE0krQDzMr3d8dcnzo2mmNDRWLdcf6yjUJRhMdtuMYy8XXO3T2ryoWkYiQNsHK5Mwjtw6Ac1djgN8AwLikYjdyM640jnDrJ9FjIp8feyvNlW_-WlWogKT_z2qbuBX4a0s69KO4b6apA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OWVkZTFmZjItNzJlMi00OGMzLTgxNWUtNDM4NWRjNjY2YWRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564548102" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzgwNGY1MTgtYWYwNC00YmYwLWI1MjItODE4ZmUwMTM2MGQy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564548098" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmIyNjMzZTQtYjM0Zi00ZTFiLWFhZTUtNWEwMGFlNGQ3ZDkz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564548103" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmY4MzVmMDUtZmVlZS00NGJlLWJmNjktOWM5MTBkNGYzY2Zm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564548104" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTNiOTUwMGMtMmM5Ny00YmRkLWI3NjUtNmNiNTRjM2VhOTI1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564548106" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzY0ODZhMWUtNTI5MC00NmZmLWEzZmEtY2ZjN2VmYWNkNzk5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564548107" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODk3NDAxOWMtZmUzYS00YzY0LWFhNmMtNmJiNGVhNmRkYTE1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="320" it="0" lt="319" ct="0" ts="1587564547792" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-41" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDcxMmVkNjgtMGY5MC00NmNhLTllNTYtMWViNzVlMDUxYzc5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5My1CQm5pRjJGTXNpOG5aQjk2WXY4cE0ySW16UGRleDE4ViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.knhocDebaQXEFT2mDV8ryEL9sF1tQQrUlxPb9PA4hoazs84dSdVcTJ59eiSx_XGF0bvFofLwuS7OXRTBauHxY7k0BZPlcYKGbj3Q9OehhPh7PYuLc1Ev9pBRK00G_tH2Etkb5NmV89Lwhd14C2hcTi_9nLuWiy_es6OO-oz7RUhITFPG4fzBTd-PNcjEVWJvOjQBl5VkoJ6OcFhuYnz2h82enmc-oy6YpdGThMUTqOGES_ha3rIcV_718vlgGbjULc29KgU0BCTkdEcH5v1PM4hH4tIyRwDYG9Vf7eHlqSs5Qk0_epQflMdtpL6mDI5OZ40ihP8eXvunEhEvzv7RAw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzE1YjRiMjMtNWJhOS00ODQ2LWJiNDEtN2VmMzAwNGQ5MDUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564548106" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGNiMTY0MTMtMDhhYi00YTQ1LTg4YzMtYjcwOWIwNTY3ZTE2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564548108" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDgwNDk5OGMtNzQyNS00MTRkLWI0NTUtMzYwNDM2ZGJkMjk3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564548107" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGQ3ZTdjZGUtZWVkMy00Yzg4LWFjNmUtODU4NzYzNmEzMDdl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564548108" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Mzk1MTM4OGYtMjNkOC00MjNkLThjMzEtOGQyMDc5OTA5MzZk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564548106" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTdhMzI1MGYtMjFiNS00NTY1LTg1OTktZWNiMjQ2MTQ4YmU1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564548106" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmNhZmE2NWEtNjlkOC00ZTlhLTg0YzYtOTM3ZGRiMTMxZmUx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564548107" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTNkOWJiMTUtOTBlMi00MGQyLWE2YjQtZjVmMjViODUwZWNm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564548111" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmY4MzVmMDUtZmVlZS00NGJlLWJmNjktOWM5MTBkNGYzY2Zm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564548114" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGZmMjA2NjUtZmNhOS00NDYxLTg4ZTktNzYwZTUyYzU2OWM1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564548113" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmNhZmE2NWEtNjlkOC00ZTlhLTg0YzYtOTM3ZGRiMTMxZmUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564548113" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGQ3ZTdjZGUtZWVkMy00Yzg4LWFjNmUtODU4NzYzNmEzMDdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564548109" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTExZGNjZjEtYWViYi00MWE4LThlNjQtOGMxMWUzOWFjNTZl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564548112" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzY0ODZhMWUtNTI5MC00NmZmLWEzZmEtY2ZjN2VmYWNkNzk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564548113" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTdhMzI1MGYtMjFiNS00NTY1LTg1OTktZWNiMjQ2MTQ4YmU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564548113" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDgwNDk5OGMtNzQyNS00MTRkLWI0NTUtMzYwNDM2ZGJkMjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564548112" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODk3NDAxOWMtZmUzYS00YzY0LWFhNmMtNmJiNGVhNmRkYTE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="0" ts="1587564548105" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjA4YjAwNzgtNThiOS00MzliLTk3M2QtZDEyOGZiYjRhOGEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564548113" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mzk1MTM4OGYtMjNkOC00MjNkLThjMzEtOGQyMDc5OTA5MzZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564548111" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTNiOTUwMGMtMmM5Ny00YmRkLWI3NjUtNmNiNTRjM2VhOTI1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564548110" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzgwNGY1MTgtYWYwNC00YmYwLWI1MjItODE4ZmUwMTM2MGQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564548118" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGZmMjA2NjUtZmNhOS00NDYxLTg4ZTktNzYwZTUyYzU2OWM1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564548113" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGNiMTY0MTMtMDhhYi00YTQ1LTg4YzMtYjcwOWIwNTY3ZTE2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564548105" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2ZhOWU1ZDktYjFhNC00NmJmLTk1M2EtMTU3MGEyY2JkMmNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="19" it="0" lt="19" ct="0" ts="1587564548104" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTczNGJmZjUtZGNkMy00MTg3LWExOTYtNGQ3YWIyYzNlYWI5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564548119" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTExZGNjZjEtYWViYi00MWE4LThlNjQtOGMxMWUzOWFjNTZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564548109" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODkwMWNhMjAtNzFkYS00NzEyLWE5YTEtMDMyYmNlMzM2ZTJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564548114" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTNkOWJiMTUtOTBlMi00MGQyLWE2YjQtZjVmMjViODUwZWNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="264" it="0" lt="264" ct="0" ts="1587564547860" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-6" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmEyOTk0ZGItMWVkNy00ZmJiLTk5MjAtN2RkOWIxYTViMTMw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxMS1ma2llbjR4SmFjNkZNWkZFZmJ2ZFAtSk1tLU11VlQzZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IkTMEsla6UyfKx0ctube5iCo_Wy-Lte3ZW_f9RDwqofW64XbI-9KfY0qYuiRfNUN5g75ovGWEkSnQ8KOlMWqGXLPg9Vvtg93llwQgMN8OOCul7YZwZLs7ZRHqGFiSa8rJhdAG17S8h1iK4wbwkZcCQn1v7EMvP-w9qb5X5ZEZlpIDSm0TBW-Vbb084u_ifTY2JA9kFDG378Jn5UFPs3uqBuvMDqnUTKgN2Jpf0vyF8_xu59POMU7yqzTYc8JV-pJXz_D5OpjUIwGgNxmKxJXt7adyx2cf93XRDXAtmBRQRECI3XELoUl9Q87aDYyGRDN5Z2dmojhH0AgxiZCmu9Yjw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MTc5YjM1YzEtYWNlOS00NWYxLWI1NTUtY2M2ODgwYjY3NmIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="137" it="0" lt="136" ct="0" ts="1587564547988" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-9" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTQ5MDBmZWMtODIwYS00MDZjLTljMDEtNmJhYWI1MDJjMTIw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTQ5MS00OUtGdDNEQUFQdHc4U1hQSHZBWkhHLVhVVU9kNkQ4YiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rAcjl-65yqaq1TystEbbV-6ml07toVSYb0V5AJfKHq5S8S_wYoBWhVoDnCmFcb4t7dDRyFtlKq8zVIj2nxeZ2RyU5m0fZn7gRy-bpqg3Eedh5K3g07W2ueUCeW1oJMy5Tll-0cTCFUibEBoOM_O4FQO5Sv6ptqkQeVb6qHNB_a_kCCce1HNcCi09Juwj86jk0H39OkvUVo65urEKOH3FmjhR6vAC5j0Jl7VR5FdH_-KhWeenCBUwpWee8zeK8MFZMeRQY2U3dIYseSgjL5UHE6pc6sk2BXOmyecqyyE9ZcdrK_PkE_wL7U4oHCoSTnSkMMMgtPEP9bLFEz_-KeLUdg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzA0YWVmZDUtZjBiYS00ODRlLTg2NmMtNjQ2ZDAyYTQ0MWRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="19" it="0" lt="19" ct="0" ts="1587564548107" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODY5ZGE0NGEtM2MwYS00ODE0LWFjZjItNGU1MThlMmY0YzJl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564548125" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWQwZTRlNjgtODNjZi00YzJlLWJhMDMtYTE3NWJkMDNjNDk3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564548125" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTY4MmU2NmYtZmMwNC00MDQ4LTk0ZTgtNDM4NzczNDY3N2Zm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564548128" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWQwZTRlNjgtODNjZi00YzJlLWJhMDMtYTE3NWJkMDNjNDk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564548128" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTY4MmU2NmYtZmMwNC00MDQ4LTk0ZTgtNDM4NzczNDY3N2Zm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="269" it="0" lt="101" ct="2" ts="1587564547868" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-87" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ed587303-634d-43b0-b4b2-1772df474f3d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="68" it="0" lt="68" ct="0" ts="1587564548078" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-56" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGI1Yzg2NTQtNTNkZC00ZmE1LWE1YTMtNDQ1YzdiZjljNmNj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUwNi1uSGhURnUtak1qWUU3Y2RmOXVBekwxTVhxb05lZDVIVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EGWcxKxEZ_02sFu4dpTpvDkpEkbLGS7f7WoXE7vH6WN6MxLX5gOMxxud1SdkVmmEvOL4oVr-4sd__mhn3zPUPHXuZcvqZS8niE5vFvOxoHAQb1m_yvlIgVn5mX-IbhYaYxiyrxyY4Ax1wGpkbwuqU7pBIHXRmwTvESrjWPawSSB0nfKbYBZbyAIdXi-VLoXj3kF_IsHFXdaRuXKnqv53NSZZua2DPftLCt1CjwHsjRIyQt02zYljI-Ol_gq-WCpclw6yuyw1vDv8f1hp5RwP87rfgF3KTiOT479BJr7rw2ujtv_y2YaG0lv0pTOT8ZF0hwh256lD6ytZmqbmmLosxg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDUxY2JhOTYtNDMzMi00YjFjLWE2YTMtMzMyODcwYzk1NTg2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564548146" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTViZTQwZTItOTM0YS00MjhhLWEzNDgtYTRjZDY1OTZjYTBl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="56" it="0" lt="56" ct="0" ts="1587564548097" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-67" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTg1OGI4NDgtYmZkOS00MjJjLWExZDAtMTNiZWI0Zjc4OTZj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0MywianRpIjoiSUQtVG9rZW4tMTUxOC1QR1BlcXlKdUI4UUw1ei1rOU9vWmlMWno0RjVRNExQOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.erKHuPA1CshQW4IPi6qHhPp2vIPg_7TYf3GY3xcr1hSMx8Sx4uF1vcdYlmJ30woEVgzQ9ZpSlvrrbrKT1wUytf6PP738hfmcaNEBuiKHwByjC67Wlal555ImdGnCIU2ZmrH8dfuY2aPpcqhDHRMPBpysVjMV-tFZFxs_-gMc9fJaWPu-Z4fSVBJMr7LfChOVOJCNMFG2-cTICKl8Ux0EvqBK6NCpxvA6i63Rsq1Je41GnsrgrOMzsqKWaAZrMbHHUfpwhD347vA7nejhEAiWf0sR7e0i8HHqVaSoXmA0o3OhB3w0pfqP_4KdFYGaHAwOP04ntIs-Ncgw6gMOQoSUTA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MjdjMDI0MDItOThmYi00Y2Y4LWEwMTEtOTA5YjVmOTViZDIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564548150" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTViZTQwZTItOTM0YS00MjhhLWEzNDgtYTRjZDY1OTZjYTBl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="93" it="0" lt="93" ct="0" ts="1587564548154" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODllODIwODYtYmYzOC00NDY0LTgzMjgtZTJmNjJkZDZkMGRl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="428" it="0" lt="111" ct="1" ts="1587564547819" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-99" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=781462e7-285b-4289-a149-0cf36ef9a7db; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564548247" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODllODIwODYtYmYzOC00NDY0LTgzMjgtZTJmNjJkZDZkMGRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="379" it="0" lt="95" ct="1" ts="1587564547890" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-24" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=42e87a34-fb58-4378-b9a8-c4ff8a170c13; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="282" it="0" lt="63" ct="0" ts="1587564547999" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-16" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b58b5500-a67e-4594-92f8-dcd2fc7154c6; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="449" it="0" lt="221" ct="1" ts="1587564547842" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-28" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=34e65093-6e34-4519-a64e-0fedddd5c5dd; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="312" it="0" lt="260" ct="1" ts="1587564547989" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-92" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=eddb1477-438f-4b30-a5b8-3c99514c823a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="517" it="0" lt="464" ct="0" ts="1587564547796" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-100" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3cb255be-66d8-413f-8a69-5b8c9fe0b5d6; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="400" it="0" lt="340" ct="0" ts="1587564547911" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-22" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9ee5d21a-2602-4697-a2b2-f43b30c9884a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="333" it="0" lt="277" ct="2" ts="1587564547986" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-79" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7618eae2-795b-41cd-8d2d-8819d3815c47; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="336" it="0" lt="277" ct="0" ts="1587564547985" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-75" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=fffdfdf9-e705-41e1-b5f7-d3765a2338d0; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="471" it="0" lt="429" ct="1" ts="1587564547886" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-17" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=53eea0ea-b964-457b-8aa4-8e1f29bb24df; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="373" it="0" lt="327" ct="1" ts="1587564547983" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-73" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=296a168a-9830-4cfa-94b5-801208a3b1c7; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="422" it="0" lt="370" ct="1" ts="1587564547938" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-58" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=906b8524-94ed-4688-9eb4-201cfec98264; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="422" it="0" lt="373" ct="1" ts="1587564547951" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-14" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7c8a6577-627f-401c-9487-61b6fed983f7; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="368" it="0" lt="310" ct="0" ts="1587564548003" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-36" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=5b8e16b0-8128-415c-aba2-49137f2898e8; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="403" it="0" lt="353" ct="2" ts="1587564547988" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-74" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7af39164-c545-4bba-976b-362574da4632; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="475" it="0" lt="422" ct="1" ts="1587564547918" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-48" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=588589d9-9bae-4f1c-afd3-90c6863548b7; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1971" it="0" lt="1971" ct="2" ts="1587564546432" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1821-wWsc0HI--B1XKPnOpjNLBU3xbCTIU4uE5KGYnZe9pTu3y8EVaSGO5hMI-1T3fsXfxGkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1821-aQJDfI4T45Z8BKGu5sc9digPo7Mc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3384cdd2-bfb2-4a51-a8ef-6c1b555aa241</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1821-aQJDfI4T45Z8BKGu5sc9digPo7Mc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="421" it="0" lt="290" ct="1" ts="1587564547987" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-82" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d3fa5759-7db0-445d-a096-a322e1b1b46c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="415" it="0" lt="271" ct="0" ts="1587564548002" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-60" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c7d0dcb0-9f35-4a1e-9597-60619c9c8193; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="581" it="0" lt="563" ct="0" ts="1587564547948" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-61" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=15737077-bd8d-4bba-a677-97303c277f62; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="647" it="0" lt="629" ct="1" ts="1587564547885" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c8b8722c-423b-4da4-b6a5-20e9ca711a21; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="546" it="0" lt="317" ct="0" ts="1587564547989" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-50" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=48e843aa-05d1-4100-95d3-da77ea502b59; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="647" it="0" lt="452" ct="1" ts="1587564547890" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-34" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7e9eb9bf-45d1-4fb2-870b-442fdf2a42b5; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="593" it="0" lt="562" ct="1" ts="1587564547946" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-19" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=21e7f0c0-c355-4b26-bd93-8a4b554c16ca; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="590" it="0" lt="565" ct="0" ts="1587564547951" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-4" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d075151a-788e-46f0-85ed-ee3c6676ca72; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="590" it="0" lt="570" ct="0" ts="1587564547939" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-2" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e17c02c2-93f7-4da9-86f8-7ddf68d84dac; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="553" it="0" lt="345" ct="1" ts="1587564547992" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=f0be5e19-21f0-4305-b67b-3056adf65509; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="679" it="0" lt="395" ct="1" ts="1587564548006" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-62" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e16cd8ca-3c7a-4276-b4b8-31bb23fdcfd1; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="606" it="0" lt="467" ct="2" ts="1587564548099" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-18" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=bc02a37d-7f56-4258-b5c6-534cd1734174; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="591" it="0" lt="454" ct="1" ts="1587564548120" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-25" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=f847e2d7-f1b0-4518-b4fe-f084ea780eb1; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="680" it="0" lt="541" ct="0" ts="1587564548026" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-81" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a1dcaaae-8a01-429a-9d8d-bfb9ef053eaa; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="644" it="0" lt="613" ct="2" ts="1587564548071" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-11" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c9c52834-ff91-4078-8cff-e6fd0b4d7558; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="589" it="0" lt="453" ct="1" ts="1587564548124" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-52" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d437282e-36dd-4e2a-90d3-c8cca17e509d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="636" it="0" lt="503" ct="2" ts="1587564548073" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-47" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3633a975-544c-40d5-8749-712d3d601b40; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="571" it="0" lt="413" ct="1" ts="1587564548132" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-6" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=4d008761-77e0-470d-9422-588733dd887a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="591" it="0" lt="423" ct="1" ts="1587564548124" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-10" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=de81eb2f-e1ad-4644-a00e-b073fcfdd820; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="581" it="0" lt="417" ct="0" ts="1587564548122" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-12" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=5dc53db7-bea8-4bbb-ab66-e05e5a0a5790; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="577" it="0" lt="437" ct="1" ts="1587564548132" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-9" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=29e57e2f-5b15-4b00-9dcd-2b7cd65be3a2; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="738" it="0" lt="575" ct="1" ts="1587564547993" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-76" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=79e25904-80da-4d73-ad07-e44ab44de20a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="593" it="0" lt="437" ct="1" ts="1587564548124" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-69" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=877be79f-ea63-46fb-a9f7-4d6e066e8f7a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="813" it="0" lt="580" ct="1" ts="1587564547989" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-83" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=76c2537f-ae59-4842-930c-ea258d0ba8cd; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="716" it="0" lt="489" ct="1" ts="1587564548092" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-90" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=596c8f00-51eb-4bd2-b47f-c06b9f943b64; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="691" it="0" lt="569" ct="1" ts="1587564548122" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-54" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=41b9bf44-ea27-4044-a368-38391ad25f30; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="2250" it="0" lt="2250" ct="8" ts="1587564546604" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1823-vMj0lF5DPxA-jb-O8kqv8r-Xqv-9bSc6tQdcPmfS7GuQaQSthoMkPZH4Z3b8xFLbdqQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1822-zLykBRqgFRc2onqgrjF7Uh-zBDkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=1e51fce8-b0e4-491e-a98f-c7693a4635b2</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1822-zLykBRqgFRc2onqgrjF7Uh-zBDkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="687" it="0" lt="457" ct="1" ts="1587564548120" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8c4f044c-2750-42b9-8cd6-db6bb5c7c0ce; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="693" it="0" lt="564" ct="1" ts="1587564548124" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=beccd65e-964b-4054-b175-0f423681f82e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="709" it="0" lt="557" ct="1" ts="1587564548123" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-93" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b74cc6b1-4c67-4043-83ea-9e08af547c11; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="732" it="0" lt="597" ct="1" ts="1587564548101" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-91" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c23fc209-3c09-40ba-8df7-8d858f47d16b; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="746" it="0" lt="616" ct="1" ts="1587564548067" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-97" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=89c7490d-a735-4d6c-acd0-b7c8df107186; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="807" it="0" lt="653" ct="1" ts="1587564548047" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-89" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=cc2ffbb4-a583-4c54-90db-6e6ad6b6dff7; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="717" it="0" lt="593" ct="1" ts="1587564548100" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-32" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=963ead35-ed0c-4080-ab7a-73586de2e5c6; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="762" it="0" lt="628" ct="1" ts="1587564548058" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-35" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a166c598-03eb-4847-8421-7b9b57867afa; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="732" it="0" lt="592" ct="1" ts="1587564548110" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-8" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=cc2513b4-0b77-44c1-8f1c-5e0caa505780; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="706" it="0" lt="592" ct="1" ts="1587564548117" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-98" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8190024c-22cc-4898-95e6-8b99c377ccda; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="696" it="0" lt="663" ct="0" ts="1587564548154" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-56" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=64b6233d-2228-4f72-9203-aa4058707174; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="728" it="0" lt="688" ct="0" ts="1587564548119" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-49" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=841c4654-7af7-426f-bbde-a250a4b8df0c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="701" it="0" lt="564" ct="1" ts="1587564548126" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-94" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=1cb3d0db-288a-4cd5-aa20-95eea04d5659; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="707" it="0" lt="559" ct="0" ts="1587564548121" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-85" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2e42f7c7-55e8-4b13-b51f-7bfb5c3c3eea; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="742" it="0" lt="598" ct="0" ts="1587564548099" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-43" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3f029504-7813-44a3-bde1-fdd936e88095; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="704" it="0" lt="555" ct="1" ts="1587564548122" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-88" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7d2e0a3f-4c63-4f80-b937-e8ad227c78a3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="718" it="0" lt="558" ct="1" ts="1587564548118" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-84" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=f9a50063-2c93-4b59-ba16-7ef851e50904; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="568" it="0" lt="429" ct="1" ts="1587564548252" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-67" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c9c6b9fa-73c7-4e01-98bc-91eac0ef889d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="724" it="0" lt="595" ct="1" ts="1587564548101" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-7" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=198ea91b-c3bc-4b12-9790-1eea1b61af73; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="684" it="0" lt="460" ct="1" ts="1587564548119" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-37" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0bb9ae2c-d4b0-4fe0-806a-c3ad1bf19ed0; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="718" it="0" lt="560" ct="1" ts="1587564548119" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-31" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=5b66b2be-46d9-4d86-a643-b3e463b4e338; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="774" it="0" lt="624" ct="0" ts="1587564548066" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-20" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=21b1be57-1e1a-44c8-b1aa-ae18bc217ffc; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="757" it="0" lt="718" ct="1" ts="1587564548086" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-13" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e97fcbf9-47d2-40e7-9887-ba2ffb351fae; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="839" it="0" lt="701" ct="0" ts="1587564547992" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-26" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e7e69569-99de-417d-a68e-5a062c7b26bc; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="741" it="0" lt="605" ct="3" ts="1587564548104" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-40" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8994f043-3b3a-4196-847d-8eca088d4d84; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="754" it="0" lt="611" ct="1" ts="1587564548084" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-3" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=fcec25cf-c38e-4ac2-939e-ef84fef11dfa; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="700" it="0" lt="559" ct="1" ts="1587564548123" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-68" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=70638882-78bd-4f81-b826-9d4e4b3c6930; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="551" it="0" lt="551" ct="1" ts="1587564548403" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTQxMzdkOTMtMzNiZi00YTBlLWFkOWItMDQxMmY0OThiMjEw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1821-aQJDfI4T45Z8BKGu5sc9digPo7Mc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564548954" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTQxMzdkOTMtMzNiZi00YTBlLWFkOWItMDQxMmY0OThiMjEw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564548961" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDgsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0OCwianRpIjoiSUQtVG9rZW4tMTUyMy01bWxUa2hac3lpLVVocE42S1U1aUNlQlpIQU81NE9NWSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pdcxOx3N6-Fw0ZdnygavX88qg-cwGGOKY7Nvu2G8piwLlyjYM7VYYtoea4URd9ETgGEW4TbLEYxcCkxgIE_TV5kkpNJtVW5y1A0V7rUHILui65RT8_NrmOV8qCdR8wi_vRgernmE0NEFrW2hG1VSEH_CCPC2qAelV-LNC4DTZoQBBais1Pmr_GxWf8L6757zGd2Uxo6M0pbXe8zKRgRWo2OC9FL_EcAXoEademCJ8BMiXkSgknXI8qVoDYcd2R8me9T0Aw4P9MHVKK7pRH9cW6zVd4Wq6NkvMNpROkNP4iBuxoPhRsX2FDTNS1WhpLzPcV9u_gtGtepX0GVYpS8p-Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTQxMzdkOTMtMzNiZi00YTBlLWFkOWItMDQxMmY0OThiMjEw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDgsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0OCwianRpIjoiSUQtVG9rZW4tMTUyMy01bWxUa2hac3lpLVVocE42S1U1aUNlQlpIQU81NE9NWSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pdcxOx3N6-Fw0ZdnygavX88qg-cwGGOKY7Nvu2G8piwLlyjYM7VYYtoea4URd9ETgGEW4TbLEYxcCkxgIE_TV5kkpNJtVW5y1A0V7rUHILui65RT8_NrmOV8qCdR8wi_vRgernmE0NEFrW2hG1VSEH_CCPC2qAelV-LNC4DTZoQBBais1Pmr_GxWf8L6757zGd2Uxo6M0pbXe8zKRgRWo2OC9FL_EcAXoEademCJ8BMiXkSgknXI8qVoDYcd2R8me9T0Aw4P9MHVKK7pRH9cW6zVd4Wq6NkvMNpROkNP4iBuxoPhRsX2FDTNS1WhpLzPcV9u_gtGtepX0GVYpS8p-Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="500" it="0" lt="420" ct="0" ts="1587564548967" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-51" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDUxMWViODctNjEyOS00ODVlLTgzOGMtOTg3OWI0N2YyNTcy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:08 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDgsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0OCwianRpIjoiSUQtVG9rZW4tMTUyMy01bWxUa2hac3lpLVVocE42S1U1aUNlQlpIQU81NE9NWSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pdcxOx3N6-Fw0ZdnygavX88qg-cwGGOKY7Nvu2G8piwLlyjYM7VYYtoea4URd9ETgGEW4TbLEYxcCkxgIE_TV5kkpNJtVW5y1A0V7rUHILui65RT8_NrmOV8qCdR8wi_vRgernmE0NEFrW2hG1VSEH_CCPC2qAelV-LNC4DTZoQBBais1Pmr_GxWf8L6757zGd2Uxo6M0pbXe8zKRgRWo2OC9FL_EcAXoEademCJ8BMiXkSgknXI8qVoDYcd2R8me9T0Aw4P9MHVKK7pRH9cW6zVd4Wq6NkvMNpROkNP4iBuxoPhRsX2FDTNS1WhpLzPcV9u_gtGtepX0GVYpS8p-Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTQxMzdkOTMtMzNiZi00YTBlLWFkOWItMDQxMmY0OThiMjEw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="3146" it="0" lt="3146" ct="5" ts="1587564546567" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1822-xcwnUgAxrlBmvPwczUUnooV7mds5DKibzqPMIHntriu99mLvuCqzse8oiipbWALjRnQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1823-HtXOFKApYxNdiIdECR7ETWMn2Yoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e323adc6-42f8-4131-ae20-709ca334e7df</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1823-HtXOFKApYxNdiIdECR7ETWMn2Yoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="940" it="0" lt="940" ct="0" ts="1587564549468" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-51" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWQwNTNhNDktYmQyZS00OGY3LWJiOGUtYzUwNDgxZDk3MjMx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDgsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0OCwianRpIjoiSUQtVG9rZW4tMTUyMy01bWxUa2hac3lpLVVocE42S1U1aUNlQlpIQU81NE9NWSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pdcxOx3N6-Fw0ZdnygavX88qg-cwGGOKY7Nvu2G8piwLlyjYM7VYYtoea4URd9ETgGEW4TbLEYxcCkxgIE_TV5kkpNJtVW5y1A0V7rUHILui65RT8_NrmOV8qCdR8wi_vRgernmE0NEFrW2hG1VSEH_CCPC2qAelV-LNC4DTZoQBBais1Pmr_GxWf8L6757zGd2Uxo6M0pbXe8zKRgRWo2OC9FL_EcAXoEademCJ8BMiXkSgknXI8qVoDYcd2R8me9T0Aw4P9MHVKK7pRH9cW6zVd4Wq6NkvMNpROkNP4iBuxoPhRsX2FDTNS1WhpLzPcV9u_gtGtepX0GVYpS8p-Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NDUxMWViODctNjEyOS00ODVlLTgzOGMtOTg3OWI0N2YyNTcy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="2289" it="0" lt="1590" ct="2" ts="1587564548122" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-41" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=396fceeb-10d2-4aaa-a864-0742ac5dc90c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="241" it="0" lt="241" ct="1" ts="1587564550409" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTAyYTFjNzQtMDU3OS00OWI4LTgyMjItYTRmMmY0NWRmM2My; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564550651" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTAyYTFjNzQtMDU3OS00OWI4LTgyMjItYTRmMmY0NWRmM2My</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4095" it="0" lt="4095" ct="1" ts="1587564546571" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1825-MhyQ11wVNSpRA0ev4vnFIn-o8ZoI6eZsSVJgDye2EhApfzsV1-AdJ-Sn6yGemM3mL3Ec7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1827-MRnRJQ20Jor9VKzO84xWEpMduqIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=964abfec-eca6-4b8c-97a5-ee2b4b323e78</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1827-MRnRJQ20Jor9VKzO84xWEpMduqIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4016" it="0" lt="4016" ct="0" ts="1587564546650" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1826--cg5gLMyOgN4MeeLq0GvcCspUtiT1AiXzOMLTJFxTMgadcBUvQviaR4EftGvsf8kBL0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1831-up-jZj4DLsHC9mHbOWAKIANio08c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=31b091fa-bceb-4f23-b67f-29f42356aac9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1831-up-jZj4DLsHC9mHbOWAKIANio08c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4107" it="0" lt="4107" ct="13" ts="1587564546560" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1824-ka6mzhEzSmplxbXwpMcQRe-v4hFVc37rNyPeOv7RgEnAeLeUFcaSnjRF-W2FCBDwHngc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1824-UNRHHlhrE9xk8Q7ZM5xjjNNgchcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ddd86511-ea26-42e3-9299-8a8ca2678cb9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1824-UNRHHlhrE9xk8Q7ZM5xjjNNgchcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4124" it="0" lt="4124" ct="6" ts="1587564546553" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1831-a3x3gxoWZ3GghZwBxEjuM1XCHGowh5klMfcnV3TL4v-aVk8MnpHzrMRkeONVTgfSNnMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1825-YNSjv8cHRittBYDLc6Rj-aHtbUgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=653d2d50-6216-4342-b6c0-db9eaa5c9c95</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1825-YNSjv8cHRittBYDLc6Rj-aHtbUgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4250" it="0" lt="4250" ct="6" ts="1587564546427" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1830-USJWbXg4w-pSEI15Jhp4Cw0hcegv8kd8ECL88a-YsCfPHfqG94A-YS1Zkl9RIIaetJEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1828-o9hi9X5HFuPXcKS1h0TPRZuQD3Qc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6f46b5cc-362e-4df2-aa6b-dda2acba6cc5</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1828-o9hi9X5HFuPXcKS1h0TPRZuQD3Qc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4069" it="0" lt="4069" ct="3" ts="1587564546609" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1829-BaN7-xGI9P0cmSxhhV9xBTFJM-RY4WHxK15DyTfCKNhUWQj-nGdYkIyYOvampvSDV18c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1826-xiLY6ey8S-bUUwgq57kYfl-MDPwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c1b54199-76c6-437e-9346-5597d6737229</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1826-xiLY6ey8S-bUUwgq57kYfl-MDPwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4067" it="0" lt="4067" ct="1" ts="1587564546611" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1833-WSac-Wg5X7b1q7DQ0SDq96G-JAASsOnIi-IHUl8bjGrWimXWueyTYumIvuP1LFAUh8sc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1829-Xno0HDI-Lair9NpiADrDRL4u9dEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=32870978-e829-4ca7-9319-0a0ab1767e37</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1829-Xno0HDI-Lair9NpiADrDRL4u9dEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4115" it="0" lt="4115" ct="8" ts="1587564546564" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1834-k-yYE1yUdpQfrFKJ84Yv2IWP81c6cSR8lN3qOVE-7ZfJ0RgpSbPuD9T3ng-e6Ch78Bgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1832-MRA0k8XSdefDW4nSnGBYNcCc-eUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=04de2550-7237-4b77-9ecd-37dc23f06b99</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1832-MRA0k8XSdefDW4nSnGBYNcCc-eUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4070" it="0" lt="4070" ct="2" ts="1587564546610" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1827-QAe7WYFdvWZI9F8Wqam8-WRVjn3xu-MMZd-odjucR9pasDu9K8r7c8Wi5h4aXQ-yZBkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1830-ok7ljiXQF7z9fm-lusIyRsbrT3Ac7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:09 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7b6959e3-6a5d-4b9d-b241-7c1980ed4868</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1830-ok7ljiXQF7z9fm-lusIyRsbrT3Ac7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4054" it="0" lt="4054" ct="0" ts="1587564546714" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1828-MoGYZ-O9RJfAzzH7jrxGmAPXhW9f7JkEa8M4FDIlq98MVX-9GEWjvti2kQdGSzps6-Mc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1834-tABGBD-uU3C-IoU7Me0nUY-s-qcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9d19d3d0-0ef2-4084-b755-68640edb5c40</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1834-tABGBD-uU3C-IoU7Me0nUY-s-qcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4368" it="0" lt="4368" ct="1" ts="1587564546558" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1838-7lBJCPuoeGdoaiUEjt2koIbMbqHQ8xve-v6DQ7QDpp8JBvNicBF98KfNGw4MMFzupqgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1838-34sLWNm1o0MRo7j0Nsuh7B-Sq88c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=27a6881c-6df6-4511-ad44-4f3607272e18</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1838-34sLWNm1o0MRo7j0Nsuh7B-Sq88c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4631" it="0" lt="4631" ct="6" ts="1587564546605" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1837-abfS9y0QbmkKWoMalZa9Kk-lPM1fnaYllH7ESS-mWBPUfaJ-PhPrmsrlu0g75-But-Ac7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1841-duSOyly-BpTxg4OlAKAzxiRTw9Ic7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=cbb40e4a-fffa-43a5-80c1-efe5f5693740</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1841-duSOyly-BpTxg4OlAKAzxiRTw9Ic7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4667" it="0" lt="4667" ct="2" ts="1587564546570" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1843-vaE3Y-g8JajwjH0kSXRfa-BdZgDm1i-VgdanrnJyfnYqYxSUraeCWxO6G05zLBG71Ysc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1843-J-iGN30XnjyReHJuua8rpChvnNQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=4caa7daa-5e10-4f37-928c-6eabe964e392</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1843-J-iGN30XnjyReHJuua8rpChvnNQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4521" it="0" lt="4521" ct="0" ts="1587564546716" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1842-Olf4KEHhHpdZwld9qtOWKiq6rUhb52OYNna--s8Xz0uDS-UW-CnsRTxMbGxnorw5N00c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1842-JwWZeylvrYPTGs-mOt6Eq9nU5OQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2e038efa-8783-414f-9462-678f1ece36a4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1842-JwWZeylvrYPTGs-mOt6Eq9nU5OQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4666" it="0" lt="4666" ct="0" ts="1587564546572" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1839-mOo-7rsZCcChvqzZJpNknXFeflPPqvNN3h76i-Tq5LOaNOjIYu3DkRmVM5ecXw8yVxwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1840-J0uSWMxj4T2JnGlyUYTl2QgXXX0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6bb77254-4d03-43c5-9901-4e26f65e8ab2</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1840-J0uSWMxj4T2JnGlyUYTl2QgXXX0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4522" it="0" lt="4522" ct="0" ts="1587564546716" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1835-19tMkoOmgNBFUHj1VpCrlN-CgOUEchI-nxLqH-8tnSQdnhRkN-RuWPHN-E33q0F1ymsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1835--i6ugtStMQ95KN0S735QGiyTU1Ec7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6213db58-4732-40ba-97cc-2b23d12886c7</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1835--i6ugtStMQ95KN0S735QGiyTU1Ec7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="2385" it="0" lt="2385" ct="1" ts="1587564548854" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQ4Yzc1NWUtODE2OS00OTU4LWEyN2YtMzJlMzFjYmM3MWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1822-zLykBRqgFRc2onqgrjF7Uh-zBDkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="4575" it="0" lt="4575" ct="0" ts="1587564546665" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1832-Wbv6n8SxC0Ios08GBXPYfruX9Qej4bXuPt6e3xjyG1ZjgoSFTbVE1PZU6qetm-6QetIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1833-EhwI-s-VwQNt7btyDoOmG-PsNxgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b491b0d3-584c-4b33-b3e0-4d2afc259c8e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1833-EhwI-s-VwQNt7btyDoOmG-PsNxgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4634" it="0" lt="4634" ct="1" ts="1587564546606" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1836-B7WUrr6Uzp5nJIXuWKMSPLtAxMZ4yzj6Z51nAoTy2GfJ1-PoGa0j1fcIehU5noJK-8Ec7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1839-VBbihJOHFaN4oGtuiTjTDmPhMKEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d231782c-3c8d-4828-9795-eb901c4f7f62</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1839-VBbihJOHFaN4oGtuiTjTDmPhMKEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4639" it="0" lt="4639" ct="11" ts="1587564546601" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1840-YDqM0DrhoQaSh33qVnV6x-gv669yFlQoByyTbEfO-7IFbBrVs6FQj5EywWzXg9D-Ze0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1836-1nCDxcJtakK1K5TBjLFqHSfaIckc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2f755320-cb37-4131-83bc-abedbcc5c88e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1836-1nCDxcJtakK1K5TBjLFqHSfaIckc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4645" it="0" lt="4645" ct="5" ts="1587564546596" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1841-dc8Gr2VViDdz5RCi2sFCbiCuNX9XCMo4EaS3WiD-VTI1hzfC1rLKT9lD7dEXmCC-OUcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1837-H0WDeqs8B5nR0lSZ9wZuHO17e5Ac7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=f62ebc2c-70ee-4d54-8cf2-57e85cec6c81</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1837-H0WDeqs8B5nR0lSZ9wZuHO17e5Ac7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="1527" it="0" lt="1527" ct="1" ts="1587564549714" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWFkMTZhZGEtZTZjNS00Y2VjLWIyZTAtNmU0MzEwODMxYjY4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1823-HtXOFKApYxNdiIdECR7ETWMn2Yoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="2" ts="1587564551239" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQ4Yzc1NWUtODE2OS00OTU4LWEyN2YtMzJlMzFjYmM3MWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564551242" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWFkMTZhZGEtZTZjNS00Y2VjLWIyZTAtNmU0MzEwODMxYjY4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564551248" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDgsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0OCwianRpIjoiSUQtVG9rZW4tMTUyNC1sTEFER0YtNC1sNUFIRnhTRlJ3WTJHZHdWMHdwNTBPYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Q2AUa8qzN1efOfCJAjHlba1S5EWTCwAv_gB4Ko8WIzkjrB6XK9NxqNlpWP_wj9SnCj7J6NdK9Z35aovb9QZjv2IRl0TvErNt1nvqiomI_kBAV-hTQmLQAIf3N-pGGfDyEfuWyHqoy4Ky6L_H0-4Pc7EdPsyzw-iCbHrhDR55F_PicABuAAkAeLsqbZmVbDguAcugh7QfzlbY5F77EdftYebxUyElPfiA_2DS2sw9yrN27FW6zTlkWE7evfxuwhOFnRPBwmxo3s0_eot-XHIHymsbG0Ou94B_Tm2SSDkCo4sgUOQblNtWtu5D73bhdVXmgYyijqgE-dZODWr-tr9sUQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQ4Yzc1NWUtODE2OS00OTU4LWEyN2YtMzJlMzFjYmM3MWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDgsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0OCwianRpIjoiSUQtVG9rZW4tMTUyNC1sTEFER0YtNC1sNUFIRnhTRlJ3WTJHZHdWMHdwNTBPYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Q2AUa8qzN1efOfCJAjHlba1S5EWTCwAv_gB4Ko8WIzkjrB6XK9NxqNlpWP_wj9SnCj7J6NdK9Z35aovb9QZjv2IRl0TvErNt1nvqiomI_kBAV-hTQmLQAIf3N-pGGfDyEfuWyHqoy4Ky6L_H0-4Pc7EdPsyzw-iCbHrhDR55F_PicABuAAkAeLsqbZmVbDguAcugh7QfzlbY5F77EdftYebxUyElPfiA_2DS2sw9yrN27FW6zTlkWE7evfxuwhOFnRPBwmxo3s0_eot-XHIHymsbG0Ou94B_Tm2SSDkCo4sgUOQblNtWtu5D73bhdVXmgYyijqgE-dZODWr-tr9sUQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564551248" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyNS0tbmczVE9ib3ZhWDhEUVdWNjFyQ2ZrUldZRDh2cnljbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.XHQ1CCFWZIgLkFQmbULe_dAxwUj0q7CGQ0yA6AnjizXij2_ZUFrbLaJOfko6yAgihEgbH9J9Tc3awdvmlmnmPY1kaH8H6z0RAb9GomAJLOC4m1ES-2hcGu4GBwt3zI7naFVQGnmK8UKhBHZ6jwIqJ8wvTuAL87rtheHlwLL-tB9rgwRIK3V41nECj68M7TIde1Da4V17FO97sia9xy_sqrXz2LkpvDwrnsqJL2iklob8lnSWEPbUXk1eMn-QHkrr8I4-3PHy0IrthHJX-8uujh5bYd2hNBoqCQh6pNVeQxoGwRtYvOrsMxyU0pxcf1Sx4C5greiPQsWkOVU-f4CACA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWFkMTZhZGEtZTZjNS00Y2VjLWIyZTAtNmU0MzEwODMxYjY4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyNS0tbmczVE9ib3ZhWDhEUVdWNjFyQ2ZrUldZRDh2cnljbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.XHQ1CCFWZIgLkFQmbULe_dAxwUj0q7CGQ0yA6AnjizXij2_ZUFrbLaJOfko6yAgihEgbH9J9Tc3awdvmlmnmPY1kaH8H6z0RAb9GomAJLOC4m1ES-2hcGu4GBwt3zI7naFVQGnmK8UKhBHZ6jwIqJ8wvTuAL87rtheHlwLL-tB9rgwRIK3V41nECj68M7TIde1Da4V17FO97sia9xy_sqrXz2LkpvDwrnsqJL2iklob8lnSWEPbUXk1eMn-QHkrr8I4-3PHy0IrthHJX-8uujh5bYd2hNBoqCQh6pNVeQxoGwRtYvOrsMxyU0pxcf1Sx4C5greiPQsWkOVU-f4CACA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="932" it="0" lt="587" ct="1" ts="1587564550655" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-51" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=cfe65a9c-e868-4d34-95fb-7a3d77230cdb; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:10 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1163" it="0" lt="1163" ct="1" ts="1587564550667" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjBiOTc5ZTMtYTBiMC00ZTNmLWIwNDUtMzg4NDI5YjdlM2Yx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1827-MRnRJQ20Jor9VKzO84xWEpMduqIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1163" it="0" lt="1163" ct="0" ts="1587564550667" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDE3Y2NlYWYtMWQzMy00MGQ5LWFmMGQtNzVjMzRiZGIyMzJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1831-up-jZj4DLsHC9mHbOWAKIANio08c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1153" it="0" lt="1153" ct="2" ts="1587564550677" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODllZmNlNjEtZGViZi00ZTkzLWI1ZjctMjViNTk5MWIyNTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1828-o9hi9X5HFuPXcKS1h0TPRZuQD3Qc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1154" it="0" lt="1154" ct="2" ts="1587564550677" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mzc3NmQxN2YtM2ZmNC00YTQ5LTlkOGItOTUzNDg5ZTBjY2Uz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1825-YNSjv8cHRittBYDLc6Rj-aHtbUgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="582" it="0" lt="580" ct="0" ts="1587564551253" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-72" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGM3ODZkZGItYTBlZS00MzgzLThhYTYtZjc4MDFiZGQxM2Zk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDgsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0OCwianRpIjoiSUQtVG9rZW4tMTUyNC1sTEFER0YtNC1sNUFIRnhTRlJ3WTJHZHdWMHdwNTBPYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Q2AUa8qzN1efOfCJAjHlba1S5EWTCwAv_gB4Ko8WIzkjrB6XK9NxqNlpWP_wj9SnCj7J6NdK9Z35aovb9QZjv2IRl0TvErNt1nvqiomI_kBAV-hTQmLQAIf3N-pGGfDyEfuWyHqoy4Ky6L_H0-4Pc7EdPsyzw-iCbHrhDR55F_PicABuAAkAeLsqbZmVbDguAcugh7QfzlbY5F77EdftYebxUyElPfiA_2DS2sw9yrN27FW6zTlkWE7evfxuwhOFnRPBwmxo3s0_eot-XHIHymsbG0Ou94B_Tm2SSDkCo4sgUOQblNtWtu5D73bhdVXmgYyijqgE-dZODWr-tr9sUQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQ4Yzc1NWUtODE2OS00OTU4LWEyN2YtMzJlMzFjYmM3MWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1169" it="0" lt="1169" ct="1" ts="1587564550667" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDgwMThmYTMtNWYyNi00Yzk1LWE1YjYtNTJmNGU1NTA0Y2Zk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1824-UNRHHlhrE9xk8Q7ZM5xjjNNgchcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1158" it="0" lt="1158" ct="1" ts="1587564550678" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTAzMjk3ZDctM2RjOC00N2M2LTk3MGEtZTcxMTUzYjQ3MDZh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1826-xiLY6ey8S-bUUwgq57kYfl-MDPwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564551831" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODllZmNlNjEtZGViZi00ZTkzLWI1ZjctMjViNTk5MWIyNTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="586" it="0" lt="584" ct="0" ts="1587564551254" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-44" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTI4YjdkMmItYTA3NC00NzNkLWE3MDMtOGJjOGRmN2ZiNTE5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyNS0tbmczVE9ib3ZhWDhEUVdWNjFyQ2ZrUldZRDh2cnljbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.XHQ1CCFWZIgLkFQmbULe_dAxwUj0q7CGQ0yA6AnjizXij2_ZUFrbLaJOfko6yAgihEgbH9J9Tc3awdvmlmnmPY1kaH8H6z0RAb9GomAJLOC4m1ES-2hcGu4GBwt3zI7naFVQGnmK8UKhBHZ6jwIqJ8wvTuAL87rtheHlwLL-tB9rgwRIK3V41nECj68M7TIde1Da4V17FO97sia9xy_sqrXz2LkpvDwrnsqJL2iklob8lnSWEPbUXk1eMn-QHkrr8I4-3PHy0IrthHJX-8uujh5bYd2hNBoqCQh6pNVeQxoGwRtYvOrsMxyU0pxcf1Sx4C5greiPQsWkOVU-f4CACA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OWFkMTZhZGEtZTZjNS00Y2VjLWIyZTAtNmU0MzEwODMxYjY4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564551831" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mzc3NmQxN2YtM2ZmNC00YTQ5LTlkOGItOTUzNDg5ZTBjY2Uz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="25" it="0" lt="25" ct="0" ts="1587564551831" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDE3Y2NlYWYtMWQzMy00MGQ5LWFmMGQtNzVjMzRiZGIyMzJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="94" it="0" lt="94" ct="0" ts="1587564551836" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTAzMjk3ZDctM2RjOC00N2M2LTk3MGEtZTcxMTUzYjQ3MDZh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="99" it="0" lt="99" ct="0" ts="1587564551831" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjBiOTc5ZTMtYTBiMC00ZTNmLWIwNDUtMzg4NDI5YjdlM2Yx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="183" it="0" lt="183" ct="0" ts="1587564551836" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDgwMThmYTMtNWYyNi00Yzk1LWE1YjYtNTJmNGU1NTA0Y2Zk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4496" it="0" lt="4496" ct="0" ts="1587564547527" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1845-3urS71F1lKkiQGWnf0ZhPjsUlGV-MlpZdwWz-CV8zeTvm-gWXy9JbU8WKrzR4uOp6kMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1844-WNUpzFZqX4MKwZcprDUDG--IRD8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=91ee0e01-4bfd-4db2-b5de-1ee302be6a87</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1844-WNUpzFZqX4MKwZcprDUDG--IRD8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="185" it="0" lt="185" ct="0" ts="1587564551840" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUzMS0wa2JZM2QwakwycmU5NElxNTd6MjVSS3QzTjhEVDkwOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.kXJ8f27yVVbi28RO6CauJq4I7MTg4_rACZxrLWUrz08cEDJAcTArvcuB_rbCAhXs4EjAqPl0g9OiD5DZxCqf6O9urjTmX8FcVjI1vAUNvtuncDHLIQNhnLFQyNxuDGwGzXpKxIcU8ktJ1LpI4LGybvv-S4WgpXHA0kNM2oGK1CXa4-w5HPg-9_0PmkItQXUMBe9U_bMINeC2qOu2MOk3HrvlXsFjDIprknu0epImt7DB3mJloJ3aPMeevX8B7FFBEHBZztvzzfeRbH_8n8yL7VlqG4ywvparEWNGKlQ4gX9P0VYYxSxS5-5EVJh2NXyXPApt-YpDy0Gr7AtmCvhyYQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODllZmNlNjEtZGViZi00ZTkzLWI1ZjctMjViNTk5MWIyNTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUzMS0wa2JZM2QwakwycmU5NElxNTd6MjVSS3QzTjhEVDkwOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.kXJ8f27yVVbi28RO6CauJq4I7MTg4_rACZxrLWUrz08cEDJAcTArvcuB_rbCAhXs4EjAqPl0g9OiD5DZxCqf6O9urjTmX8FcVjI1vAUNvtuncDHLIQNhnLFQyNxuDGwGzXpKxIcU8ktJ1LpI4LGybvv-S4WgpXHA0kNM2oGK1CXa4-w5HPg-9_0PmkItQXUMBe9U_bMINeC2qOu2MOk3HrvlXsFjDIprknu0epImt7DB3mJloJ3aPMeevX8B7FFBEHBZztvzzfeRbH_8n8yL7VlqG4ywvparEWNGKlQ4gX9P0VYYxSxS5-5EVJh2NXyXPApt-YpDy0Gr7AtmCvhyYQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1268" it="0" lt="1268" ct="1" ts="1587564550768" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGRmYWFkOGUtYzQ4ZS00NmY0LTgyMjgtZWYwYjEzZDRiM2Uy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1834-tABGBD-uU3C-IoU7Me0nUY-s-qcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="194" it="0" lt="194" ct="0" ts="1587564551842" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyOS04Z1VxREtYUURSNkVIbjVaZVNCUHY0blNNeEN3ZzlqMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.g2AHm3jIzM-YOfRFOCDzulAFNWHhQkrNsQoXKN1hS2gGdAFCiSjFpaOe0cm9D-Fv9bAe4JpdhLMNmAXiZX6Wxi6sGgvKS9AZt8jLRj1WLLhSifpghD3tkhGEB2eo9GFYUmHyJKalnITenRFxhTig9y1h0m6LXflrOVGfg0Ici9yoF3OtT3LZUAMzkAdGkpifwOEvkjsPxcMUbswW1Pk76QwC9pKnrIVKpJ70kK0HgKUfxP_cgBmrQNoZ-j5KsVVu4BbH2ibARPsKkHy-_B7BBjBfyOushj5iPjirJGXzm3lWcP0RrgcaLDBU6Wb50mlnkvLA4BPvbXZvgaExPdD_Ew
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mzc3NmQxN2YtM2ZmNC00YTQ5LTlkOGItOTUzNDg5ZTBjY2Uz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyOS04Z1VxREtYUURSNkVIbjVaZVNCUHY0blNNeEN3ZzlqMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.g2AHm3jIzM-YOfRFOCDzulAFNWHhQkrNsQoXKN1hS2gGdAFCiSjFpaOe0cm9D-Fv9bAe4JpdhLMNmAXiZX6Wxi6sGgvKS9AZt8jLRj1WLLhSifpghD3tkhGEB2eo9GFYUmHyJKalnITenRFxhTig9y1h0m6LXflrOVGfg0Ici9yoF3OtT3LZUAMzkAdGkpifwOEvkjsPxcMUbswW1Pk76QwC9pKnrIVKpJ70kK0HgKUfxP_cgBmrQNoZ-j5KsVVu4BbH2ibARPsKkHy-_B7BBjBfyOushj5iPjirJGXzm3lWcP0RrgcaLDBU6Wb50mlnkvLA4BPvbXZvgaExPdD_Ew</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1357" it="0" lt="1357" ct="1" ts="1587564550680" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzdmZWIzZDgtYjk3MC00ZmY2LThhYTktOWQ3MThlZmE1ZDc5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1830-ok7ljiXQF7z9fm-lusIyRsbrT3Ac7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="180" it="0" lt="180" ct="0" ts="1587564551857" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyNy1hSUN4Wk00M0FyUkFRcHBPQjRrSGFacTRIUkhEZFJ0aiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gnbibSd7IYPR08fmp87THF6E3FaZ3V4qQZRqITtOY_ixfMtY158Zla1XCU_QUXSzySayArFByGx5aTHo_yTZlYYNlYbQGZkg_bf8fqYvly2GjrS8zlb4hIAug2_z-LFLtmSoxgy60dyaU5_937M2tLleKQo05L9x3D4kia5AM9aqWBfVTIgShINR-Fm4bgiqZ5UeV3TbHKXfEq8AyqOVxdZyCvvG8mtsb3RHHL-7kUr69U0L3NeIsG4ya4_fHwPb-3Fv9LW5BLbt45EPqIhmFAaW3KNUZPT25vgFM0gzo5UvFg_zIjXQ6bf1mZeUpMcmUnSV8TvrxYEJJyy6xEnLQw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDE3Y2NlYWYtMWQzMy00MGQ5LWFmMGQtNzVjMzRiZGIyMzJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyNy1hSUN4Wk00M0FyUkFRcHBPQjRrSGFacTRIUkhEZFJ0aiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gnbibSd7IYPR08fmp87THF6E3FaZ3V4qQZRqITtOY_ixfMtY158Zla1XCU_QUXSzySayArFByGx5aTHo_yTZlYYNlYbQGZkg_bf8fqYvly2GjrS8zlb4hIAug2_z-LFLtmSoxgy60dyaU5_937M2tLleKQo05L9x3D4kia5AM9aqWBfVTIgShINR-Fm4bgiqZ5UeV3TbHKXfEq8AyqOVxdZyCvvG8mtsb3RHHL-7kUr69U0L3NeIsG4ya4_fHwPb-3Fv9LW5BLbt45EPqIhmFAaW3KNUZPT25vgFM0gzo5UvFg_zIjXQ6bf1mZeUpMcmUnSV8TvrxYEJJyy6xEnLQw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4509" it="0" lt="4509" ct="0" ts="1587564547528" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1844-qhqZY4OqPAMz4NcRxvs3dY-1jI9RpqnsW0H8kErXMiIupBU0vhr63VZAOpvzxpcJZUoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1845-TGtVkVhC4LPZWAyb77Egd5HptN4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a36e375a-ea8f-47b2-ae9d-479e7fcc13bb</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1845-TGtVkVhC4LPZWAyb77Egd5HptN4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="801" it="0" lt="801" ct="4" ts="1587564551237" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGZkZTY0NTMtZTEwNy00MWY1LThkMTYtYjczNWFjMjQwYmVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1843-J-iGN30XnjyReHJuua8rpChvnNQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="802" it="0" lt="802" ct="1" ts="1587564551236" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmQ4NDNlYmMtYjBmNC00MGRiLTllMDctZjkwM2I1ZTIzMWU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1841-duSOyly-BpTxg4OlAKAzxiRTw9Ic7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="108" it="0" lt="108" ct="0" ts="1587564551930" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUzMC13MnBJOFVHREw0d2U1ejBaWnR6OEhJcGQtbXo5c2ZaTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sia_jUHnjj_T9LOjCKTw3ZRZHNbquBU3-0Mz6RoUG5PTH4Djs2kgScvOjswpeD4qEVjFYFBg8fAy8-AQmGbczt_9c6T9sNsycXZhmcrL0S0EEfREBrjSeY7dvOAocqaqw6pzuFGD_66wXuxMFEZWLDvFaKz_XMwI2aEM1JMfZjBogpK0TOO_WBTzQMrza16q0Hx8xW1U5UIvQFMWftWrIn8TpDZ6pGZOGOazlsm7l_bI8HKmGCoJxtGcOiLaJ-8nBAApoDgxd_pzs0D7hNQ3QLx41NKZorsXVUoAxRJf4V7v5yC-09cbgu8T-_GAOl6agBRZ4noarFVXUUpodyireA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTAzMjk3ZDctM2RjOC00N2M2LTk3MGEtZTcxMTUzYjQ3MDZh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUzMC13MnBJOFVHREw0d2U1ejBaWnR6OEhJcGQtbXo5c2ZaTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sia_jUHnjj_T9LOjCKTw3ZRZHNbquBU3-0Mz6RoUG5PTH4Djs2kgScvOjswpeD4qEVjFYFBg8fAy8-AQmGbczt_9c6T9sNsycXZhmcrL0S0EEfREBrjSeY7dvOAocqaqw6pzuFGD_66wXuxMFEZWLDvFaKz_XMwI2aEM1JMfZjBogpK0TOO_WBTzQMrza16q0Hx8xW1U5UIvQFMWftWrIn8TpDZ6pGZOGOazlsm7l_bI8HKmGCoJxtGcOiLaJ-8nBAApoDgxd_pzs0D7hNQ3QLx41NKZorsXVUoAxRJf4V7v5yC-09cbgu8T-_GAOl6agBRZ4noarFVXUUpodyireA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="108" it="0" lt="108" ct="0" ts="1587564551930" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyNi1XWmxtY0lBd3FiY1BtLWJyTDJvSC04UnFuMDZPYTR5ZiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ijrzqChtjtLMx33bGwaEhXo43-QOcJuQQ2fqjuiXBXj5NTzmqm9iCPRgJ9X3nWKU3cvZzeF9uiN5ljU3HmA9_8NleYyl0Lsm9rQZP9aykk7U1PbYqp_Bj3oNXBqRpGCPF0idUExn6OZfNqBAdoC1e1g9c5Wy7CPpAlSseVbkiI925PIlYSMlz1h2TcmgVu7oX4K1FrB2WT6gtK8O7nuam_cL5C1ECgwq9kjQtK-JNWTrqxPRM2f4S_oWWyP8dGv3mblH21kWH2tvbEUYIo1fk0hPJmim0_og0kMkambRzm4Ys-RpkNv21zsQZ7So7UHLDTzfjtvfP4XiDLtLq-_lEg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjBiOTc5ZTMtYTBiMC00ZTNmLWIwNDUtMzg4NDI5YjdlM2Yx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyNi1XWmxtY0lBd3FiY1BtLWJyTDJvSC04UnFuMDZPYTR5ZiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ijrzqChtjtLMx33bGwaEhXo43-QOcJuQQ2fqjuiXBXj5NTzmqm9iCPRgJ9X3nWKU3cvZzeF9uiN5ljU3HmA9_8NleYyl0Lsm9rQZP9aykk7U1PbYqp_Bj3oNXBqRpGCPF0idUExn6OZfNqBAdoC1e1g9c5Wy7CPpAlSseVbkiI925PIlYSMlz1h2TcmgVu7oX4K1FrB2WT6gtK8O7nuam_cL5C1ECgwq9kjQtK-JNWTrqxPRM2f4S_oWWyP8dGv3mblH21kWH2tvbEUYIo1fk0hPJmim0_og0kMkambRzm4Ys-RpkNv21zsQZ7So7UHLDTzfjtvfP4XiDLtLq-_lEg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="798" it="0" lt="798" ct="1" ts="1587564551241" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmViYzM0ZTgtYjE5Ny00Y2IxLTkzZWQtOWVjNDEzY2QzODU2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1837-H0WDeqs8B5nR0lSZ9wZuHO17e5Ac7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="799" it="0" lt="799" ct="1" ts="1587564551240" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTc3Njk0YzItYWFhZC00ZDFlLWIwZGYtYTZjNjA5YmNiYzQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1836-1nCDxcJtakK1K5TBjLFqHSfaIckc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="801" it="0" lt="801" ct="2" ts="1587564551239" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZmY4MzVjMzgtZTQ4OC00NmY3LTk1YTAtNTJmN2Q3NzBmZDFk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1835--i6ugtStMQ95KN0S735QGiyTU1Ec7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="23" it="0" lt="23" ct="0" ts="1587564552019" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyOC1NVnowR2RtSklLbk85TnpnRE11dmFOcFdyVlBvSnhZTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oZz-IxwmoOiv1VdBsNm99N6pErze_JI-M2T8w1k9rAYBiMyPOnM3tz6sg1iKVHz_kawfZ3aSN3L-TORpgjeNEpNewmHng8R9kzImn-rwTP2Nx6HvIAaF-ANUf9IKCQYy8oN1Ne9FqxhF9KzKL2kkpiR2WiOS_t3zwjNM8AI6wli3IksoZULAVqwmJAzkOGNFGhD8gKUFygzBswAmopNG0XN59Hr8N-NYPs2NcEN_gx4GwNj-sdEBDF3kvntyZzR33WCtUQKk677_Lc9024cMt_GaXz7VmLZXyyyZmOe1NHcfyJpGbKs6ePCekAmVRyn_l0b0zXI0jV0ZTEa0L-DRtA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDgwMThmYTMtNWYyNi00Yzk1LWE1YjYtNTJmNGU1NTA0Y2Zk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyOC1NVnowR2RtSklLbk85TnpnRE11dmFOcFdyVlBvSnhZTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oZz-IxwmoOiv1VdBsNm99N6pErze_JI-M2T8w1k9rAYBiMyPOnM3tz6sg1iKVHz_kawfZ3aSN3L-TORpgjeNEpNewmHng8R9kzImn-rwTP2Nx6HvIAaF-ANUf9IKCQYy8oN1Ne9FqxhF9KzKL2kkpiR2WiOS_t3zwjNM8AI6wli3IksoZULAVqwmJAzkOGNFGhD8gKUFygzBswAmopNG0XN59Hr8N-NYPs2NcEN_gx4GwNj-sdEBDF3kvntyZzR33WCtUQKk677_Lc9024cMt_GaXz7VmLZXyyyZmOe1NHcfyJpGbKs6ePCekAmVRyn_l0b0zXI0jV0ZTEa0L-DRtA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="207" it="0" lt="207" ct="0" ts="1587564551835" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-72" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDA2OTQ4OWMtMDVmZS00NTA5LTljNWMtYmNhMzczYmI2Mjdk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNDgsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU0OCwianRpIjoiSUQtVG9rZW4tMTUyNC1sTEFER0YtNC1sNUFIRnhTRlJ3WTJHZHdWMHdwNTBPYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Q2AUa8qzN1efOfCJAjHlba1S5EWTCwAv_gB4Ko8WIzkjrB6XK9NxqNlpWP_wj9SnCj7J6NdK9Z35aovb9QZjv2IRl0TvErNt1nvqiomI_kBAV-hTQmLQAIf3N-pGGfDyEfuWyHqoy4Ky6L_H0-4Pc7EdPsyzw-iCbHrhDR55F_PicABuAAkAeLsqbZmVbDguAcugh7QfzlbY5F77EdftYebxUyElPfiA_2DS2sw9yrN27FW6zTlkWE7evfxuwhOFnRPBwmxo3s0_eot-XHIHymsbG0Ou94B_Tm2SSDkCo4sgUOQblNtWtu5D73bhdVXmgYyijqgE-dZODWr-tr9sUQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGM3ODZkZGItYTBlZS00MzgzLThhYTYtZjc4MDFiZGQxM2Zk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="24" it="0" lt="24" ct="0" ts="1587564552037" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzdmZWIzZDgtYjk3MC00ZmY2LThhYTktOWQ3MThlZmE1ZDc5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="225" it="0" lt="202" ct="1" ts="1587564551840" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-44" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWIyNjBiNDQtYzM5OS00MWNjLWJkYzEtMTZmMWNiMjk4ZDc0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyNS0tbmczVE9ib3ZhWDhEUVdWNjFyQ2ZrUldZRDh2cnljbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.XHQ1CCFWZIgLkFQmbULe_dAxwUj0q7CGQ0yA6AnjizXij2_ZUFrbLaJOfko6yAgihEgbH9J9Tc3awdvmlmnmPY1kaH8H6z0RAb9GomAJLOC4m1ES-2hcGu4GBwt3zI7naFVQGnmK8UKhBHZ6jwIqJ8wvTuAL87rtheHlwLL-tB9rgwRIK3V41nECj68M7TIde1Da4V17FO97sia9xy_sqrXz2LkpvDwrnsqJL2iklob8lnSWEPbUXk1eMn-QHkrr8I4-3PHy0IrthHJX-8uujh5bYd2hNBoqCQh6pNVeQxoGwRtYvOrsMxyU0pxcf1Sx4C5greiPQsWkOVU-f4CACA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OTI4YjdkMmItYTA3NC00NzNkLWE3MDMtOGJjOGRmN2ZiNTE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="32" it="0" lt="32" ct="0" ts="1587564552037" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGRmYWFkOGUtYzQ4ZS00NmY0LTgyMjgtZWYwYjEzZDRiM2Uy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="32" it="0" lt="32" ct="0" ts="1587564552038" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGZkZTY0NTMtZTEwNy00MWY1LThkMTYtYjczNWFjMjQwYmVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="33" it="0" lt="33" ct="0" ts="1587564552040" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmViYzM0ZTgtYjE5Ny00Y2IxLTkzZWQtOWVjNDEzY2QzODU2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="31" it="0" lt="31" ct="0" ts="1587564552042" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzllODliMDEtMWI3Yy00YTIzLThjMzgtZmNkMjM5ZjRhNWNh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="36" it="0" lt="36" ct="0" ts="1587564552038" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmQ4NDNlYmMtYjBmNC00MGRiLTllMDctZjkwM2I1ZTIzMWU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="33" it="0" lt="33" ct="0" ts="1587564552041" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZmY4MzVjMzgtZTQ4OC00NmY3LTk1YTAtNTJmN2Q3NzBmZDFk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="35" it="0" lt="35" ct="0" ts="1587564552040" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTc3Njk0YzItYWFhZC00ZDFlLWIwZGYtYTZjNjA5YmNiYzQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564552062" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzNC1pWU1RLTlLelFsVDJLbXpzLTJNWWRrMks4OWU3blZUSCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.VpcRpfeClV7uH8SsIFkY0ghluABpaAGq_Ufi20e6FxLQyODj9GnZvkiJORXiRz792-bbBRvkJlO_hoFYdxXQjSsij0ITnnSw_HiEK4LXqCQjkE-Zjsl5ES2dasplw-ZCIKnpubhWo8tQELdzstvCUlRSr4aOFXVlShjZvsCSOm7W7UDZCDYHSXKuhTcOGNBOXnnvUBC7jKaTh12F0yV6oJbaytltk5WrdL3sJsXIP3HFFX5dK51q3HAwCOMOkZmkeB3O9cWx1VOYRlodxbZQj1YqyKeoLceMpki3A19TKiS92TVpn-yDIRXocC6XZQx3PNnzfdFaQ0p-KeUh8i-GHQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzdmZWIzZDgtYjk3MC00ZmY2LThhYTktOWQ3MThlZmE1ZDc5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzNC1pWU1RLTlLelFsVDJLbXpzLTJNWWRrMks4OWU3blZUSCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.VpcRpfeClV7uH8SsIFkY0ghluABpaAGq_Ufi20e6FxLQyODj9GnZvkiJORXiRz792-bbBRvkJlO_hoFYdxXQjSsij0ITnnSw_HiEK4LXqCQjkE-Zjsl5ES2dasplw-ZCIKnpubhWo8tQELdzstvCUlRSr4aOFXVlShjZvsCSOm7W7UDZCDYHSXKuhTcOGNBOXnnvUBC7jKaTh12F0yV6oJbaytltk5WrdL3sJsXIP3HFFX5dK51q3HAwCOMOkZmkeB3O9cWx1VOYRlodxbZQj1YqyKeoLceMpki3A19TKiS92TVpn-yDIRXocC6XZQx3PNnzfdFaQ0p-KeUh8i-GHQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564552065" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTI2MTVlOGMtMzQ5Yi00ZmNhLTkxNTItNjQ5N2RlMTk4N2M1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564552070" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzNy1jc3FqZGRUNzY2SElBWU4zcWVWMzZLQmdWSmtRWFpGRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iwh1UmGpd0x0YfhyEmwlzuC9_Mp97LZTtFMeE3K0VVNBJd9BiC-4V6Z12exH_PD9uRjVA9wmlGwNwZ2gmc1O5Z8t4PdCfkR0h455HKkUSlF8zlER6rwK9KFuUG3JZ-UTbObjkOWxi88hz7EgkZHSpLpib26BCctvbE1-918qJxzMHw5Gx5n01SM6Yovn3dzJ6TRlYLynqtULSzPje-AQKnczdhn5RrlaGwN7Uv5MDwtaYQwj2URGmMQ4x2OlydWVBBQ31QSNpkdO0chVUX19mFvkoQ8r7_97zXl9-TwLS0NGUtvmOUVKpZxLQmYZxtNZxLoc34D3XvUfjIrI8X6a6Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGZkZTY0NTMtZTEwNy00MWY1LThkMTYtYjczNWFjMjQwYmVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzNy1jc3FqZGRUNzY2SElBWU4zcWVWMzZLQmdWSmtRWFpGRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iwh1UmGpd0x0YfhyEmwlzuC9_Mp97LZTtFMeE3K0VVNBJd9BiC-4V6Z12exH_PD9uRjVA9wmlGwNwZ2gmc1O5Z8t4PdCfkR0h455HKkUSlF8zlER6rwK9KFuUG3JZ-UTbObjkOWxi88hz7EgkZHSpLpib26BCctvbE1-918qJxzMHw5Gx5n01SM6Yovn3dzJ6TRlYLynqtULSzPje-AQKnczdhn5RrlaGwN7Uv5MDwtaYQwj2URGmMQ4x2OlydWVBBQ31QSNpkdO0chVUX19mFvkoQ8r7_97zXl9-TwLS0NGUtvmOUVKpZxLQmYZxtNZxLoc34D3XvUfjIrI8X6a6Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564552070" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzMi01RDZVSlRtcDZURzVhZi0wZlgxYVVSS05NS2ZwbGFlUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ofwUneyGCWzwam4jsAbbmwXpJe8jtukWYGJExVbQJSRugFQB_UHmzM4gXJ0jDD-qxskMeqFmC2xT5QVqy0e5xgKPm_o8Im3F9msFX_jGvTcubffTCphzfSPQ7fXaK9oJnJ2K13hDoHoL6U3Wt-yoLUalmO3NGj2MtdzI7LXtQxIJZAdWBdGfQl-ulVzqykNOoHvLOiMLMySqLDMZRD2RWJnHx8-99t0V0S6FFM6Qoupwg5qZYvgegXV37YIywON2L8_HnUSWX5oXB48sK2CZaB4aygjz4Uztb8S7ucrmHAKX3j_rqcsfNaZaGXBiGYqWTEIBbVY7I0OWjE2pTFAxcg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGRmYWFkOGUtYzQ4ZS00NmY0LTgyMjgtZWYwYjEzZDRiM2Uy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzMi01RDZVSlRtcDZURzVhZi0wZlgxYVVSS05NS2ZwbGFlUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ofwUneyGCWzwam4jsAbbmwXpJe8jtukWYGJExVbQJSRugFQB_UHmzM4gXJ0jDD-qxskMeqFmC2xT5QVqy0e5xgKPm_o8Im3F9msFX_jGvTcubffTCphzfSPQ7fXaK9oJnJ2K13hDoHoL6U3Wt-yoLUalmO3NGj2MtdzI7LXtQxIJZAdWBdGfQl-ulVzqykNOoHvLOiMLMySqLDMZRD2RWJnHx8-99t0V0S6FFM6Qoupwg5qZYvgegXV37YIywON2L8_HnUSWX5oXB48sK2CZaB4aygjz4Uztb8S7ucrmHAKX3j_rqcsfNaZaGXBiGYqWTEIBbVY7I0OWjE2pTFAxcg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564552073" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzOC1qZFlpZ1NrdXp4UjdwM0VuWFptSlFxNXp4WFhURTE3QiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BXfDzdOo6jWr_S6hbUP3tVfRgAwlOHXHKntKihrbPPxG-IbvYuutNSo7TEux0DJKr7TTrb9wQhnaxLrg1t1mrWCZAJI_nfOOcMbF_Ue8NEM5CtuofDgOl1_FMD-ZH9T-24AfBsL4G0HWvFuC8476tayX2J78UyXQblawi5z3Dg2kzNqwD7as9lHx0_dVVG63N3D8fDZLiY7YWF8PpnaJvzHw5g2uCmbPVlbLXpFx4SBE-35p7OsgrsMb4OZwt1FZNnAcQ01av9p53pOrs9X8JEcIq_ekEtwPYswbKKV3nG59RXdRj_5N7tm2DZT2t5DchCMOuBxPjv6GoJT1hBYEPQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmViYzM0ZTgtYjE5Ny00Y2IxLTkzZWQtOWVjNDEzY2QzODU2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzOC1qZFlpZ1NrdXp4UjdwM0VuWFptSlFxNXp4WFhURTE3QiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BXfDzdOo6jWr_S6hbUP3tVfRgAwlOHXHKntKihrbPPxG-IbvYuutNSo7TEux0DJKr7TTrb9wQhnaxLrg1t1mrWCZAJI_nfOOcMbF_Ue8NEM5CtuofDgOl1_FMD-ZH9T-24AfBsL4G0HWvFuC8476tayX2J78UyXQblawi5z3Dg2kzNqwD7as9lHx0_dVVG63N3D8fDZLiY7YWF8PpnaJvzHw5g2uCmbPVlbLXpFx4SBE-35p7OsgrsMb4OZwt1FZNnAcQ01av9p53pOrs9X8JEcIq_ekEtwPYswbKKV3nG59RXdRj_5N7tm2DZT2t5DchCMOuBxPjv6GoJT1hBYEPQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564552074" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzllODliMDEtMWI3Yy00YTIzLThjMzgtZmNkMjM5ZjRhNWNh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564552077" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTI2MTVlOGMtMzQ5Yi00ZmNhLTkxNTItNjQ5N2RlMTk4N2M1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564552074" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzMy01WnduTUJrbzRHaDVTYmlFQm4tNWdhLTYxSUE0M2lBMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.eZfQgSRBrbUfidciUKNoQNqzT6nL0n_PS0u6hMTVtXve9b3FXapVMrXn34zPSHEsTpuaZSqOtgQJZZN42K7Ju6A4mjJ6bM3p6wDj_lLh36gR5d_DH7g_RhQrMHCOqbhYwALSuoyXmALNJCZXusU4VDVOf2qL3x3cAOEOiMK0xFyIYixthe0MJkFbfpYzmuEUqeWxHNxhGxzsQUQIqw6QjW6a6kVUKQoD-UlmxWorQ7dup1gwDYRjdrrTxwt25Ote3yZpeqNl6vOw1Zfe5YdRmXctofHPASgw9A3ZWKzP1b3VV9EatVjGDtLT5B0SI_SvysFLIVMlCCot_1lcoxcJUA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmQ4NDNlYmMtYjBmNC00MGRiLTllMDctZjkwM2I1ZTIzMWU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzMy01WnduTUJrbzRHaDVTYmlFQm4tNWdhLTYxSUE0M2lBMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.eZfQgSRBrbUfidciUKNoQNqzT6nL0n_PS0u6hMTVtXve9b3FXapVMrXn34zPSHEsTpuaZSqOtgQJZZN42K7Ju6A4mjJ6bM3p6wDj_lLh36gR5d_DH7g_RhQrMHCOqbhYwALSuoyXmALNJCZXusU4VDVOf2qL3x3cAOEOiMK0xFyIYixthe0MJkFbfpYzmuEUqeWxHNxhGxzsQUQIqw6QjW6a6kVUKQoD-UlmxWorQ7dup1gwDYRjdrrTxwt25Ote3yZpeqNl6vOw1Zfe5YdRmXctofHPASgw9A3ZWKzP1b3VV9EatVjGDtLT5B0SI_SvysFLIVMlCCot_1lcoxcJUA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564552074" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzNi14eHpvYWhnOG5DelpwbE9meWd2dFFuVVI3N3FxLWg4eCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BoZjB47tknd04BR5MrOdZu_p6JNjuDGhnGgn7cYbOEQX_bBVRoMH0_zd2akk6TsxOcg7PG7mDnLbioqD1szqiTIImb49Rot2Dy2McS1h4NST1Q0gpSByVc8cRYPbcztm43UKXe0SYFxE3W56aipzJgWC1nYzSDJnkycLkYsKBkd2q3vm6z6iV_URtNlhiXq9Hx15LsR629uwIuqu3aCPKsbvLYc1346GQrauYXZlYye0Od0baALVvzM2cp5LI62oReSyZum_ds_jfLyMygVVTH_9svX9MidkvMhbGML_HJ5NVmWuEKtIlKQY3o-RZe05zLYyYJTmONIojMe1vXjAsA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZmY4MzVjMzgtZTQ4OC00NmY3LTk1YTAtNTJmN2Q3NzBmZDFk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzNi14eHpvYWhnOG5DelpwbE9meWd2dFFuVVI3N3FxLWg4eCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BoZjB47tknd04BR5MrOdZu_p6JNjuDGhnGgn7cYbOEQX_bBVRoMH0_zd2akk6TsxOcg7PG7mDnLbioqD1szqiTIImb49Rot2Dy2McS1h4NST1Q0gpSByVc8cRYPbcztm43UKXe0SYFxE3W56aipzJgWC1nYzSDJnkycLkYsKBkd2q3vm6z6iV_URtNlhiXq9Hx15LsR629uwIuqu3aCPKsbvLYc1346GQrauYXZlYye0Od0baALVvzM2cp5LI62oReSyZum_ds_jfLyMygVVTH_9svX9MidkvMhbGML_HJ5NVmWuEKtIlKQY3o-RZe05zLYyYJTmONIojMe1vXjAsA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564552075" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzNS1JNGFlNmVGcTZWYWtYQWVTQU1YLWFJODN6RU01TWR6cCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YQYbOVY7-0eXUBExTksbEBow9JDWDYaNil4_udco4A0htSFAaK91eNqRiO_z1ZQ6rlprtJXZWTFLCe4BIezbhOfKOHhousFDgv-w3on6ePBiTrojtVj83JxwAKVHA0B1bTM5l8l1pgk-8b_VmYS2w6acyDu3MPN3fgFgCKOzqPhjr_GUlPPfx3QnXgU3aZmBVLZ_ZAEfQMKVV-EoCvFEGk33HO4LKRLp01WztOR6hmzvfo2NBGKUWPoLwqDS8qHxMty2k-WXqIVeGYtwUmDBkePxK-ZuayYRIcTwJ_c82pYd75frxWoTbrlUQ0aRqJDzSD9EFerY4dyVRFBJ9qKdQg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTc3Njk0YzItYWFhZC00ZDFlLWIwZGYtYTZjNjA5YmNiYzQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzNS1JNGFlNmVGcTZWYWtYQWVTQU1YLWFJODN6RU01TWR6cCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YQYbOVY7-0eXUBExTksbEBow9JDWDYaNil4_udco4A0htSFAaK91eNqRiO_z1ZQ6rlprtJXZWTFLCe4BIezbhOfKOHhousFDgv-w3on6ePBiTrojtVj83JxwAKVHA0B1bTM5l8l1pgk-8b_VmYS2w6acyDu3MPN3fgFgCKOzqPhjr_GUlPPfx3QnXgU3aZmBVLZ_ZAEfQMKVV-EoCvFEGk33HO4LKRLp01WztOR6hmzvfo2NBGKUWPoLwqDS8qHxMty2k-WXqIVeGYtwUmDBkePxK-ZuayYRIcTwJ_c82pYd75frxWoTbrlUQ0aRqJDzSD9EFerY4dyVRFBJ9qKdQg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="69" it="0" lt="69" ct="0" ts="1587564552038" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWZhNzBlMzUtZTY2OS00NTVhLWI1NzAtODNjYjRjZDI5ODNm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyNy1hSUN4Wk00M0FyUkFRcHBPQjRrSGFacTRIUkhEZFJ0aiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gnbibSd7IYPR08fmp87THF6E3FaZ3V4qQZRqITtOY_ixfMtY158Zla1XCU_QUXSzySayArFByGx5aTHo_yTZlYYNlYbQGZkg_bf8fqYvly2GjrS8zlb4hIAug2_z-LFLtmSoxgy60dyaU5_937M2tLleKQo05L9x3D4kia5AM9aqWBfVTIgShINR-Fm4bgiqZ5UeV3TbHKXfEq8AyqOVxdZyCvvG8mtsb3RHHL-7kUr69U0L3NeIsG4ya4_fHwPb-3Fv9LW5BLbt45EPqIhmFAaW3KNUZPT25vgFM0gzo5UvFg_zIjXQ6bf1mZeUpMcmUnSV8TvrxYEJJyy6xEnLQw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDE3Y2NlYWYtMWQzMy00MGQ5LWFmMGQtNzVjMzRiZGIyMzJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="71" it="0" lt="71" ct="0" ts="1587564552037" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-71" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzlkZWRjZjUtMjBhMy00NzY0LWE5ZTUtZmEzZjYwMzkwYmZl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyOS04Z1VxREtYUURSNkVIbjVaZVNCUHY0blNNeEN3ZzlqMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.g2AHm3jIzM-YOfRFOCDzulAFNWHhQkrNsQoXKN1hS2gGdAFCiSjFpaOe0cm9D-Fv9bAe4JpdhLMNmAXiZX6Wxi6sGgvKS9AZt8jLRj1WLLhSifpghD3tkhGEB2eo9GFYUmHyJKalnITenRFxhTig9y1h0m6LXflrOVGfg0Ici9yoF3OtT3LZUAMzkAdGkpifwOEvkjsPxcMUbswW1Pk76QwC9pKnrIVKpJ70kK0HgKUfxP_cgBmrQNoZ-j5KsVVu4BbH2ibARPsKkHy-_B7BBjBfyOushj5iPjirJGXzm3lWcP0RrgcaLDBU6Wb50mlnkvLA4BPvbXZvgaExPdD_Ew
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Mzc3NmQxN2YtM2ZmNC00YTQ5LTlkOGItOTUzNDg5ZTBjY2Uz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="105" it="0" lt="105" ct="0" ts="1587564552039" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWE4NGM1OWMtZDkwOC00OWRmLWE3N2UtZDE0M2Y2OGIyMmJm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyNi1XWmxtY0lBd3FiY1BtLWJyTDJvSC04UnFuMDZPYTR5ZiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ijrzqChtjtLMx33bGwaEhXo43-QOcJuQQ2fqjuiXBXj5NTzmqm9iCPRgJ9X3nWKU3cvZzeF9uiN5ljU3HmA9_8NleYyl0Lsm9rQZP9aykk7U1PbYqp_Bj3oNXBqRpGCPF0idUExn6OZfNqBAdoC1e1g9c5Wy7CPpAlSseVbkiI925PIlYSMlz1h2TcmgVu7oX4K1FrB2WT6gtK8O7nuam_cL5C1ECgwq9kjQtK-JNWTrqxPRM2f4S_oWWyP8dGv3mblH21kWH2tvbEUYIo1fk0hPJmim0_og0kMkambRzm4Ys-RpkNv21zsQZ7So7UHLDTzfjtvfP4XiDLtLq-_lEg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YjBiOTc5ZTMtYTBiMC00ZTNmLWIwNDUtMzg4NDI5YjdlM2Yx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="77" it="0" lt="77" ct="0" ts="1587564552082" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-30" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2UzNzlhMmMtNzMzMy00ZTkyLWFmNDMtZjNhMDgzZTdkYmRm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzMi01RDZVSlRtcDZURzVhZi0wZlgxYVVSS05NS2ZwbGFlUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ofwUneyGCWzwam4jsAbbmwXpJe8jtukWYGJExVbQJSRugFQB_UHmzM4gXJ0jDD-qxskMeqFmC2xT5QVqy0e5xgKPm_o8Im3F9msFX_jGvTcubffTCphzfSPQ7fXaK9oJnJ2K13hDoHoL6U3Wt-yoLUalmO3NGj2MtdzI7LXtQxIJZAdWBdGfQl-ulVzqykNOoHvLOiMLMySqLDMZRD2RWJnHx8-99t0V0S6FFM6Qoupwg5qZYvgegXV37YIywON2L8_HnUSWX5oXB48sK2CZaB4aygjz4Uztb8S7ucrmHAKX3j_rqcsfNaZaGXBiGYqWTEIBbVY7I0OWjE2pTFAxcg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MGRmYWFkOGUtYzQ4ZS00NmY0LTgyMjgtZWYwYjEzZDRiM2Uy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="135" it="0" lt="134" ct="0" ts="1587564552025" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-39" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjgyNTE5MmQtMjYzNC00YzI4LThiOGUtOTkwZWYxMWExMDll; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUzMS0wa2JZM2QwakwycmU5NElxNTd6MjVSS3QzTjhEVDkwOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.kXJ8f27yVVbi28RO6CauJq4I7MTg4_rACZxrLWUrz08cEDJAcTArvcuB_rbCAhXs4EjAqPl0g9OiD5DZxCqf6O9urjTmX8FcVjI1vAUNvtuncDHLIQNhnLFQyNxuDGwGzXpKxIcU8ktJ1LpI4LGybvv-S4WgpXHA0kNM2oGK1CXa4-w5HPg-9_0PmkItQXUMBe9U_bMINeC2qOu2MOk3HrvlXsFjDIprknu0epImt7DB3mJloJ3aPMeevX8B7FFBEHBZztvzzfeRbH_8n8yL7VlqG4ywvparEWNGKlQ4gX9P0VYYxSxS5-5EVJh2NXyXPApt-YpDy0Gr7AtmCvhyYQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODllZmNlNjEtZGViZi00ZTkzLWI1ZjctMjViNTk5MWIyNTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="105" it="0" lt="105" ct="0" ts="1587564552085" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-1" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzMzYzA3OTEtNTUyMS00MThlLWFiOTgtYTNmZGE0MDhkNWM2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzNi14eHpvYWhnOG5DelpwbE9meWd2dFFuVVI3N3FxLWg4eCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BoZjB47tknd04BR5MrOdZu_p6JNjuDGhnGgn7cYbOEQX_bBVRoMH0_zd2akk6TsxOcg7PG7mDnLbioqD1szqiTIImb49Rot2Dy2McS1h4NST1Q0gpSByVc8cRYPbcztm43UKXe0SYFxE3W56aipzJgWC1nYzSDJnkycLkYsKBkd2q3vm6z6iV_URtNlhiXq9Hx15LsR629uwIuqu3aCPKsbvLYc1346GQrauYXZlYye0Od0baALVvzM2cp5LI62oReSyZum_ds_jfLyMygVVTH_9svX9MidkvMhbGML_HJ5NVmWuEKtIlKQY3o-RZe05zLYyYJTmONIojMe1vXjAsA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmY4MzVjMzgtZTQ4OC00NmY3LTk1YTAtNTJmN2Q3NzBmZDFk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="108" it="0" lt="108" ct="0" ts="1587564552083" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2Y5M2ZhNjItNGUzMS00ZGU0LThkNzktMDMyN2E5Y2Q4YjUy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzOC1qZFlpZ1NrdXp4UjdwM0VuWFptSlFxNXp4WFhURTE3QiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BXfDzdOo6jWr_S6hbUP3tVfRgAwlOHXHKntKihrbPPxG-IbvYuutNSo7TEux0DJKr7TTrb9wQhnaxLrg1t1mrWCZAJI_nfOOcMbF_Ue8NEM5CtuofDgOl1_FMD-ZH9T-24AfBsL4G0HWvFuC8476tayX2J78UyXQblawi5z3Dg2kzNqwD7as9lHx0_dVVG63N3D8fDZLiY7YWF8PpnaJvzHw5g2uCmbPVlbLXpFx4SBE-35p7OsgrsMb4OZwt1FZNnAcQ01av9p53pOrs9X8JEcIq_ekEtwPYswbKKV3nG59RXdRj_5N7tm2DZT2t5DchCMOuBxPjv6GoJT1hBYEPQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MmViYzM0ZTgtYjE5Ny00Y2IxLTkzZWQtOWVjNDEzY2QzODU2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="109" it="0" lt="109" ct="0" ts="1587564552082" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-42" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTZhMzE3ZGEtZGQ2Ni00MDQ2LWEyNzEtZjQ0MDFlODJlNjkx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzNy1jc3FqZGRUNzY2SElBWU4zcWVWMzZLQmdWSmtRWFpGRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iwh1UmGpd0x0YfhyEmwlzuC9_Mp97LZTtFMeE3K0VVNBJd9BiC-4V6Z12exH_PD9uRjVA9wmlGwNwZ2gmc1O5Z8t4PdCfkR0h455HKkUSlF8zlER6rwK9KFuUG3JZ-UTbObjkOWxi88hz7EgkZHSpLpib26BCctvbE1-918qJxzMHw5Gx5n01SM6Yovn3dzJ6TRlYLynqtULSzPje-AQKnczdhn5RrlaGwN7Uv5MDwtaYQwj2URGmMQ4x2OlydWVBBQ31QSNpkdO0chVUX19mFvkoQ8r7_97zXl9-TwLS0NGUtvmOUVKpZxLQmYZxtNZxLoc34D3XvUfjIrI8X6a6Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGZkZTY0NTMtZTEwNy00MWY1LThkMTYtYjczNWFjMjQwYmVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="83" it="0" lt="83" ct="0" ts="1587564552108" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmQ0OWNlMTUtM2QyZC00M2U0LWJjOWQtZjA5OWU4MGI0NTU0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyNy1hSUN4Wk00M0FyUkFRcHBPQjRrSGFacTRIUkhEZFJ0aiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gnbibSd7IYPR08fmp87THF6E3FaZ3V4qQZRqITtOY_ixfMtY158Zla1XCU_QUXSzySayArFByGx5aTHo_yTZlYYNlYbQGZkg_bf8fqYvly2GjrS8zlb4hIAug2_z-LFLtmSoxgy60dyaU5_937M2tLleKQo05L9x3D4kia5AM9aqWBfVTIgShINR-Fm4bgiqZ5UeV3TbHKXfEq8AyqOVxdZyCvvG8mtsb3RHHL-7kUr69U0L3NeIsG4ya4_fHwPb-3Fv9LW5BLbt45EPqIhmFAaW3KNUZPT25vgFM0gzo5UvFg_zIjXQ6bf1mZeUpMcmUnSV8TvrxYEJJyy6xEnLQw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YWZhNzBlMzUtZTY2OS00NTVhLWI1NzAtODNjYjRjZDI5ODNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="116" it="0" lt="116" ct="0" ts="1587564552076" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-29" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2M4OWVhOGUtYzdmMS00NGNlLTlmNjktZmZkNTA2MDJmZDI5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzNC1pWU1RLTlLelFsVDJLbXpzLTJNWWRrMks4OWU3blZUSCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.VpcRpfeClV7uH8SsIFkY0ghluABpaAGq_Ufi20e6FxLQyODj9GnZvkiJORXiRz792-bbBRvkJlO_hoFYdxXQjSsij0ITnnSw_HiEK4LXqCQjkE-Zjsl5ES2dasplw-ZCIKnpubhWo8tQELdzstvCUlRSr4aOFXVlShjZvsCSOm7W7UDZCDYHSXKuhTcOGNBOXnnvUBC7jKaTh12F0yV6oJbaytltk5WrdL3sJsXIP3HFFX5dK51q3HAwCOMOkZmkeB3O9cWx1VOYRlodxbZQj1YqyKeoLceMpki3A19TKiS92TVpn-yDIRXocC6XZQx3PNnzfdFaQ0p-KeUh8i-GHQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NzdmZWIzZDgtYjk3MC00ZmY2LThhYTktOWQ3MThlZmE1ZDc5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="154" it="0" lt="154" ct="0" ts="1587564552038" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-45" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDIxNTk2NTItNDViMy00OTZlLTgxZmYtMzU4Mzc2OWRmMTYz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUzMC13MnBJOFVHREw0d2U1ejBaWnR6OEhJcGQtbXo5c2ZaTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sia_jUHnjj_T9LOjCKTw3ZRZHNbquBU3-0Mz6RoUG5PTH4Djs2kgScvOjswpeD4qEVjFYFBg8fAy8-AQmGbczt_9c6T9sNsycXZhmcrL0S0EEfREBrjSeY7dvOAocqaqw6pzuFGD_66wXuxMFEZWLDvFaKz_XMwI2aEM1JMfZjBogpK0TOO_WBTzQMrza16q0Hx8xW1U5UIvQFMWftWrIn8TpDZ6pGZOGOazlsm7l_bI8HKmGCoJxtGcOiLaJ-8nBAApoDgxd_pzs0D7hNQ3QLx41NKZorsXVUoAxRJf4V7v5yC-09cbgu8T-_GAOl6agBRZ4noarFVXUUpodyireA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MTAzMjk3ZDctM2RjOC00N2M2LTk3MGEtZTcxMTUzYjQ3MDZh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="151" it="0" lt="118" ct="0" ts="1587564552042" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-33" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWNkZDUxZmItOTQ4ZC00ZDNmLWFhODgtNjk5YzIzYjAwZDc0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyOC1NVnowR2RtSklLbk85TnpnRE11dmFOcFdyVlBvSnhZTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oZz-IxwmoOiv1VdBsNm99N6pErze_JI-M2T8w1k9rAYBiMyPOnM3tz6sg1iKVHz_kawfZ3aSN3L-TORpgjeNEpNewmHng8R9kzImn-rwTP2Nx6HvIAaF-ANUf9IKCQYy8oN1Ne9FqxhF9KzKL2kkpiR2WiOS_t3zwjNM8AI6wli3IksoZULAVqwmJAzkOGNFGhD8gKUFygzBswAmopNG0XN59Hr8N-NYPs2NcEN_gx4GwNj-sdEBDF3kvntyZzR33WCtUQKk677_Lc9024cMt_GaXz7VmLZXyyyZmOe1NHcfyJpGbKs6ePCekAmVRyn_l0b0zXI0jV0ZTEa0L-DRtA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MDgwMThmYTMtNWYyNi00Yzk1LWE1YjYtNTJmNGU1NTA0Y2Zk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="106" it="0" lt="106" ct="0" ts="1587564552085" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-5" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Mzc1Njk1MjItZTcwMS00YTBhLTk5MGYtOTViOTYzODI3YTlj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzNS1JNGFlNmVGcTZWYWtYQWVTQU1YLWFJODN6RU01TWR6cCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YQYbOVY7-0eXUBExTksbEBow9JDWDYaNil4_udco4A0htSFAaK91eNqRiO_z1ZQ6rlprtJXZWTFLCe4BIezbhOfKOHhousFDgv-w3on6ePBiTrojtVj83JxwAKVHA0B1bTM5l8l1pgk-8b_VmYS2w6acyDu3MPN3fgFgCKOzqPhjr_GUlPPfx3QnXgU3aZmBVLZ_ZAEfQMKVV-EoCvFEGk33HO4LKRLp01WztOR6hmzvfo2NBGKUWPoLwqDS8qHxMty2k-WXqIVeGYtwUmDBkePxK-ZuayYRIcTwJ_c82pYd75frxWoTbrlUQ0aRqJDzSD9EFerY4dyVRFBJ9qKdQg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NTc3Njk0YzItYWFhZC00ZDFlLWIwZGYtYTZjNjA5YmNiYzQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="110" it="0" lt="110" ct="0" ts="1587564552085" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-21" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWM1ZmFiNTktODE5ZS00ZWJiLWJhNGEtZmNiNTZiMjZmY2Nj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzMy01WnduTUJrbzRHaDVTYmlFQm4tNWdhLTYxSUE0M2lBMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.eZfQgSRBrbUfidciUKNoQNqzT6nL0n_PS0u6hMTVtXve9b3FXapVMrXn34zPSHEsTpuaZSqOtgQJZZN42K7Ju6A4mjJ6bM3p6wDj_lLh36gR5d_DH7g_RhQrMHCOqbhYwALSuoyXmALNJCZXusU4VDVOf2qL3x3cAOEOiMK0xFyIYixthe0MJkFbfpYzmuEUqeWxHNxhGxzsQUQIqw6QjW6a6kVUKQoD-UlmxWorQ7dup1gwDYRjdrrTxwt25Ote3yZpeqNl6vOw1Zfe5YdRmXctofHPASgw9A3ZWKzP1b3VV9EatVjGDtLT5B0SI_SvysFLIVMlCCot_1lcoxcJUA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NmQ4NDNlYmMtYjBmNC00MGRiLTllMDctZjkwM2I1ZTIzMWU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564552192" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjJlNzQ1MzgtYTA4Zi00MTExLTgxOWEtNjA3YTBhZmE2NmUz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="97" it="0" lt="97" ct="0" ts="1587564552108" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-71" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGRjZWNmMTItMTg0OC00ZmVkLThkYWYtYzA3MjljYWNlYTE4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyOS04Z1VxREtYUURSNkVIbjVaZVNCUHY0blNNeEN3ZzlqMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.g2AHm3jIzM-YOfRFOCDzulAFNWHhQkrNsQoXKN1hS2gGdAFCiSjFpaOe0cm9D-Fv9bAe4JpdhLMNmAXiZX6Wxi6sGgvKS9AZt8jLRj1WLLhSifpghD3tkhGEB2eo9GFYUmHyJKalnITenRFxhTig9y1h0m6LXflrOVGfg0Ici9yoF3OtT3LZUAMzkAdGkpifwOEvkjsPxcMUbswW1Pk76QwC9pKnrIVKpJ70kK0HgKUfxP_cgBmrQNoZ-j5KsVVu4BbH2ibARPsKkHy-_B7BBjBfyOushj5iPjirJGXzm3lWcP0RrgcaLDBU6Wb50mlnkvLA4BPvbXZvgaExPdD_Ew
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MzlkZWRjZjUtMjBhMy00NzY0LWE5ZTUtZmEzZjYwMzkwYmZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564552205" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTNiMGMxOWYtZmI4NC00ZDA0LWFlZjEtZWNiMzNiZGExYWE5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564552205" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjJlNzQ1MzgtYTA4Zi00MTExLTgxOWEtNjA3YTBhZmE2NmUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564552209" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTNiMGMxOWYtZmI4NC00ZDA0LWFlZjEtZWNiMzNiZGExYWE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="71" it="0" lt="71" ct="0" ts="1587564552145" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWRjODdiOGQtNGVjYy00NzUxLWI2OWUtYTdlYWRiMmU4YjYw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyNi1XWmxtY0lBd3FiY1BtLWJyTDJvSC04UnFuMDZPYTR5ZiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ijrzqChtjtLMx33bGwaEhXo43-QOcJuQQ2fqjuiXBXj5NTzmqm9iCPRgJ9X3nWKU3cvZzeF9uiN5ljU3HmA9_8NleYyl0Lsm9rQZP9aykk7U1PbYqp_Bj3oNXBqRpGCPF0idUExn6OZfNqBAdoC1e1g9c5Wy7CPpAlSseVbkiI925PIlYSMlz1h2TcmgVu7oX4K1FrB2WT6gtK8O7nuam_cL5C1ECgwq9kjQtK-JNWTrqxPRM2f4S_oWWyP8dGv3mblH21kWH2tvbEUYIo1fk0hPJmim0_og0kMkambRzm4Ys-RpkNv21zsQZ7So7UHLDTzfjtvfP4XiDLtLq-_lEg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NWE4NGM1OWMtZDkwOC00OWRmLWE3N2UtZDE0M2Y2OGIyMmJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564552216" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTc0Y2U1YjQtMTk0Ni00NjZjLThjNDYtMjg2NTMzMTc2Y2M4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="63" it="0" lt="63" ct="0" ts="1587564552160" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-30" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDUyYzM5OTMtNDRhNS00NjY2LTk5OGYtOTBlZmUyMThkYjA5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzMi01RDZVSlRtcDZURzVhZi0wZlgxYVVSS05NS2ZwbGFlUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ofwUneyGCWzwam4jsAbbmwXpJe8jtukWYGJExVbQJSRugFQB_UHmzM4gXJ0jDD-qxskMeqFmC2xT5QVqy0e5xgKPm_o8Im3F9msFX_jGvTcubffTCphzfSPQ7fXaK9oJnJ2K13hDoHoL6U3Wt-yoLUalmO3NGj2MtdzI7LXtQxIJZAdWBdGfQl-ulVzqykNOoHvLOiMLMySqLDMZRD2RWJnHx8-99t0V0S6FFM6Qoupwg5qZYvgegXV37YIywON2L8_HnUSWX5oXB48sK2CZaB4aygjz4Uztb8S7ucrmHAKX3j_rqcsfNaZaGXBiGYqWTEIBbVY7I0OWjE2pTFAxcg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2UzNzlhMmMtNzMzMy00ZTkyLWFmNDMtZjNhMDgzZTdkYmRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564552223" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjkwNzdjZTYtOGI1MC00OWQzLWE3OGQtOTI1YmFiYzBlMzM0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564552222" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTc0Y2U1YjQtMTk0Ni00NjZjLThjNDYtMjg2NTMzMTc2Y2M4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564552226" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjkwNzdjZTYtOGI1MC00OWQzLWE3OGQtOTI1YmFiYzBlMzM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="157" it="0" lt="157" ct="0" ts="1587564552192" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-45" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:12 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDRlMmY5NDYtMjM1Yy00ZWIyLWJmNTItY2Q5ZGU0Njc0OWYy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUzMC13MnBJOFVHREw0d2U1ejBaWnR6OEhJcGQtbXo5c2ZaTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sia_jUHnjj_T9LOjCKTw3ZRZHNbquBU3-0Mz6RoUG5PTH4Djs2kgScvOjswpeD4qEVjFYFBg8fAy8-AQmGbczt_9c6T9sNsycXZhmcrL0S0EEfREBrjSeY7dvOAocqaqw6pzuFGD_66wXuxMFEZWLDvFaKz_XMwI2aEM1JMfZjBogpK0TOO_WBTzQMrza16q0Hx8xW1U5UIvQFMWftWrIn8TpDZ6pGZOGOazlsm7l_bI8HKmGCoJxtGcOiLaJ-8nBAApoDgxd_pzs0D7hNQ3QLx41NKZorsXVUoAxRJf4V7v5yC-09cbgu8T-_GAOl6agBRZ4noarFVXUUpodyireA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NDIxNTk2NTItNDViMy00OTZlLTgxZmYtMzU4Mzc2OWRmMTYz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="158" it="0" lt="158" ct="0" ts="1587564552191" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-42" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:12 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjQ2MWNlYTEtMTA5Yy00N2Y4LThlOWItMmQxYjA5NTZhYWFm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzNy1jc3FqZGRUNzY2SElBWU4zcWVWMzZLQmdWSmtRWFpGRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iwh1UmGpd0x0YfhyEmwlzuC9_Mp97LZTtFMeE3K0VVNBJd9BiC-4V6Z12exH_PD9uRjVA9wmlGwNwZ2gmc1O5Z8t4PdCfkR0h455HKkUSlF8zlER6rwK9KFuUG3JZ-UTbObjkOWxi88hz7EgkZHSpLpib26BCctvbE1-918qJxzMHw5Gx5n01SM6Yovn3dzJ6TRlYLynqtULSzPje-AQKnczdhn5RrlaGwN7Uv5MDwtaYQwj2URGmMQ4x2OlydWVBBQ31QSNpkdO0chVUX19mFvkoQ8r7_97zXl9-TwLS0NGUtvmOUVKpZxLQmYZxtNZxLoc34D3XvUfjIrI8X6a6Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OTZhMzE3ZGEtZGQ2Ni00MDQ2LWEyNzEtZjQ0MDFlODJlNjkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="160" it="0" lt="159" ct="0" ts="1587564552190" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-39" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:12 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDQyMDAzZDEtZmUyYS00NjI3LWE5NGEtOTEzZDVmNDg5MDhm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUzMS0wa2JZM2QwakwycmU5NElxNTd6MjVSS3QzTjhEVDkwOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.kXJ8f27yVVbi28RO6CauJq4I7MTg4_rACZxrLWUrz08cEDJAcTArvcuB_rbCAhXs4EjAqPl0g9OiD5DZxCqf6O9urjTmX8FcVjI1vAUNvtuncDHLIQNhnLFQyNxuDGwGzXpKxIcU8ktJ1LpI4LGybvv-S4WgpXHA0kNM2oGK1CXa4-w5HPg-9_0PmkItQXUMBe9U_bMINeC2qOu2MOk3HrvlXsFjDIprknu0epImt7DB3mJloJ3aPMeevX8B7FFBEHBZztvzzfeRbH_8n8yL7VlqG4ywvparEWNGKlQ4gX9P0VYYxSxS5-5EVJh2NXyXPApt-YpDy0Gr7AtmCvhyYQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MjgyNTE5MmQtMjYzNC00YzI4LThiOGUtOTkwZWYxMWExMDll</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="160" it="0" lt="160" ct="0" ts="1587564552192" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-29" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:12 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmMxN2FhMGMtYzc0Yy00MDkzLWFmZGMtMTU0YjQ0NzY1YTJl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzNC1pWU1RLTlLelFsVDJLbXpzLTJNWWRrMks4OWU3blZUSCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.VpcRpfeClV7uH8SsIFkY0ghluABpaAGq_Ufi20e6FxLQyODj9GnZvkiJORXiRz792-bbBRvkJlO_hoFYdxXQjSsij0ITnnSw_HiEK4LXqCQjkE-Zjsl5ES2dasplw-ZCIKnpubhWo8tQELdzstvCUlRSr4aOFXVlShjZvsCSOm7W7UDZCDYHSXKuhTcOGNBOXnnvUBC7jKaTh12F0yV6oJbaytltk5WrdL3sJsXIP3HFFX5dK51q3HAwCOMOkZmkeB3O9cWx1VOYRlodxbZQj1YqyKeoLceMpki3A19TKiS92TVpn-yDIRXocC6XZQx3PNnzfdFaQ0p-KeUh8i-GHQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2M4OWVhOGUtYzdmMS00NGNlLTlmNjktZmZkNTA2MDJmZDI5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564552350" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDM2NGUyNGMtNDQzOC00NTJlLTg2Y2QtOWZhZmY4M2M2YjBm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="163" it="0" lt="162" ct="0" ts="1587564552191" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:12 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjdjNjhiODctZjkwZi00ZTlhLTkyZjktYmUxMTkwOGI1NGFm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzOC1qZFlpZ1NrdXp4UjdwM0VuWFptSlFxNXp4WFhURTE3QiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BXfDzdOo6jWr_S6hbUP3tVfRgAwlOHXHKntKihrbPPxG-IbvYuutNSo7TEux0DJKr7TTrb9wQhnaxLrg1t1mrWCZAJI_nfOOcMbF_Ue8NEM5CtuofDgOl1_FMD-ZH9T-24AfBsL4G0HWvFuC8476tayX2J78UyXQblawi5z3Dg2kzNqwD7as9lHx0_dVVG63N3D8fDZLiY7YWF8PpnaJvzHw5g2uCmbPVlbLXpFx4SBE-35p7OsgrsMb4OZwt1FZNnAcQ01av9p53pOrs9X8JEcIq_ekEtwPYswbKKV3nG59RXdRj_5N7tm2DZT2t5DchCMOuBxPjv6GoJT1hBYEPQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=M2Y5M2ZhNjItNGUzMS00ZGU0LThkNzktMDMyN2E5Y2Q4YjUy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="161" it="0" lt="160" ct="0" ts="1587564552193" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-33" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:12 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2ZmYmZjNzAtYjY3Ni00OTk5LTgwNzMtOTUxYjIzN2M0YmIy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MCwianRpIjoiSUQtVG9rZW4tMTUyOC1NVnowR2RtSklLbk85TnpnRE11dmFOcFdyVlBvSnhZTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oZz-IxwmoOiv1VdBsNm99N6pErze_JI-M2T8w1k9rAYBiMyPOnM3tz6sg1iKVHz_kawfZ3aSN3L-TORpgjeNEpNewmHng8R9kzImn-rwTP2Nx6HvIAaF-ANUf9IKCQYy8oN1Ne9FqxhF9KzKL2kkpiR2WiOS_t3zwjNM8AI6wli3IksoZULAVqwmJAzkOGNFGhD8gKUFygzBswAmopNG0XN59Hr8N-NYPs2NcEN_gx4GwNj-sdEBDF3kvntyZzR33WCtUQKk677_Lc9024cMt_GaXz7VmLZXyyyZmOe1NHcfyJpGbKs6ePCekAmVRyn_l0b0zXI0jV0ZTEa0L-DRtA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MWNkZDUxZmItOTQ4ZC00ZDNmLWFhODgtNjk5YzIzYjAwZDc0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564552350" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmEyNGE5ZmEtMjA2MC00Mjc3LTliNzktYmE2NDg2OTVlN2Jm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="162" it="0" lt="161" ct="0" ts="1587564552193" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-5" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:12 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Nzg3M2Q3NDktMWYwOS00MWYxLWE1ZjEtNGNlZWJkNjVhZTFi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzNS1JNGFlNmVGcTZWYWtYQWVTQU1YLWFJODN6RU01TWR6cCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YQYbOVY7-0eXUBExTksbEBow9JDWDYaNil4_udco4A0htSFAaK91eNqRiO_z1ZQ6rlprtJXZWTFLCe4BIezbhOfKOHhousFDgv-w3on6ePBiTrojtVj83JxwAKVHA0B1bTM5l8l1pgk-8b_VmYS2w6acyDu3MPN3fgFgCKOzqPhjr_GUlPPfx3QnXgU3aZmBVLZ_ZAEfQMKVV-EoCvFEGk33HO4LKRLp01WztOR6hmzvfo2NBGKUWPoLwqDS8qHxMty2k-WXqIVeGYtwUmDBkePxK-ZuayYRIcTwJ_c82pYd75frxWoTbrlUQ0aRqJDzSD9EFerY4dyVRFBJ9qKdQg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Mzc1Njk1MjItZTcwMS00YTBhLTk5MGYtOTViOTYzODI3YTlj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564552350" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGE1OGQwN2UtZWVkZS00NjA5LWJiOTctYmNjYThmOTUxYTcy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="164" it="0" lt="162" ct="0" ts="1587564552191" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-1" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:12 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzY0ZWJhOTQtNjk4Ni00ZmVhLWI1MGUtNjVkZmMzYjNlMjcz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzNi14eHpvYWhnOG5DelpwbE9meWd2dFFuVVI3N3FxLWg4eCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BoZjB47tknd04BR5MrOdZu_p6JNjuDGhnGgn7cYbOEQX_bBVRoMH0_zd2akk6TsxOcg7PG7mDnLbioqD1szqiTIImb49Rot2Dy2McS1h4NST1Q0gpSByVc8cRYPbcztm43UKXe0SYFxE3W56aipzJgWC1nYzSDJnkycLkYsKBkd2q3vm6z6iV_URtNlhiXq9Hx15LsR629uwIuqu3aCPKsbvLYc1346GQrauYXZlYye0Od0baALVvzM2cp5LI62oReSyZum_ds_jfLyMygVVTH_9svX9MidkvMhbGML_HJ5NVmWuEKtIlKQY3o-RZe05zLYyYJTmONIojMe1vXjAsA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NzMzYzA3OTEtNTUyMS00MThlLWFiOTgtYTNmZGE0MDhkNWM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="163" it="0" lt="162" ct="0" ts="1587564552195" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-21" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:12 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGQ2MzY1MWQtMjE2Ny00NDg3LTkxYWItOTc3OTI5NWFlYTEx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MSwianRpIjoiSUQtVG9rZW4tMTUzMy01WnduTUJrbzRHaDVTYmlFQm4tNWdhLTYxSUE0M2lBMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.eZfQgSRBrbUfidciUKNoQNqzT6nL0n_PS0u6hMTVtXve9b3FXapVMrXn34zPSHEsTpuaZSqOtgQJZZN42K7Ju6A4mjJ6bM3p6wDj_lLh36gR5d_DH7g_RhQrMHCOqbhYwALSuoyXmALNJCZXusU4VDVOf2qL3x3cAOEOiMK0xFyIYixthe0MJkFbfpYzmuEUqeWxHNxhGxzsQUQIqw6QjW6a6kVUKQoD-UlmxWorQ7dup1gwDYRjdrrTxwt25Ote3yZpeqNl6vOw1Zfe5YdRmXctofHPASgw9A3ZWKzP1b3VV9EatVjGDtLT5B0SI_SvysFLIVMlCCot_1lcoxcJUA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OWM1ZmFiNTktODE5ZS00ZWJiLWJhNGEtZmNiNTZiMjZmY2Nj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564552353" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTMxN2U0Y2ItNDZmOS00ZTJmLWJiMzEtMDFhNGUzNzM4Mjg5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564552355" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWRjOTZmY2QtOTM3NC00MGJmLWEwZDktNjdiODUzZDkzMjEx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564552355" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjViY2M0MzUtNjkyOS00OGFjLWE2ZjMtZmRjOTI0NGY3YTk2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564552355" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDAyZTZjMjgtNzViYy00ZTc0LTk3Y2UtMmZmYzJlMzU2NmJi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564552354" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDhhNDNmMDEtMzI3My00NjZhLWIxMDItMjVkMWRkNWRkOGU5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564552355" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmEyNGE5ZmEtMjA2MC00Mjc3LTliNzktYmE2NDg2OTVlN2Jm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564552354" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDM2NGUyNGMtNDQzOC00NTJlLTg2Y2QtOWZhZmY4M2M2YjBm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564552355" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGE1OGQwN2UtZWVkZS00NjA5LWJiOTctYmNjYThmOTUxYTcy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564552359" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmYzODUzNDAtZmZiMi00NWQ0LTljYWYtYjZmMTZmYzFkZWQ5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564552359" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTMxN2U0Y2ItNDZmOS00ZTJmLWJiMzEtMDFhNGUzNzM4Mjg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564552361" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDAyZTZjMjgtNzViYy00ZTc0LTk3Y2UtMmZmYzJlMzU2NmJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564552360" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjViY2M0MzUtNjkyOS00OGFjLWE2ZjMtZmRjOTI0NGY3YTk2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564552361" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDhhNDNmMDEtMzI3My00NjZhLWIxMDItMjVkMWRkNWRkOGU5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564552360" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWRjOTZmY2QtOTM3NC00MGJmLWEwZDktNjdiODUzZDkzMjEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564552363" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmYzODUzNDAtZmZiMi00NWQ0LTljYWYtYjZmMTZmYzFkZWQ5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4843" it="0" lt="4843" ct="0" ts="1587564547635" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1846-LGtHTYTgNIL0wZxNB7blBBypHMppwaifM99je3Xpc-dvHNTfNsbuFBaeredhdnOct6gc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1846-y-UfO8JE-SZ0cneN1I9ZuTKYdLMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:11 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d149eb92-3833-4466-ab20-732464e4e6d3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1846-y-UfO8JE-SZ0cneN1I9ZuTKYdLMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="7475" it="0" lt="7475" ct="1" ts="1587564552038" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzUxZTkzOGMtOTg5Ni00OThkLTgwY2UtM2NmMDUzNjgxYWMx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1845-TGtVkVhC4LPZWAyb77Egd5HptN4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="1" ts="1587564559514" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzUxZTkzOGMtOTg5Ni00OThkLTgwY2UtM2NmMDUzNjgxYWMx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564559521" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MiwianRpIjoiSUQtVG9rZW4tMTUzOS1VTU5JejJLeHhnS2lzNzZzR2FiejVjSDNVSVdnMGVBRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.VhawijAOl4lAzyV4oVjL5aSERMbGVY8bQx7N9F8etNFmIj5vtkxAHtl2mrQhz4n8kjp6X7CNqIMJ1wHbYFqK-ANt8jwD2N9WM8IzJ4YDk7V48t47lJ3f7D6-pB7iRJQAIjLJjo6oHpYuBorwD-otLiPZKukpunVXKoPM4HZ1muM0MpwoUotOzX09ajJQrdEJF4-ulc1xlvR8PDrKFwfcDXKOf62rnJ2kNrpZ4CKBRXz79PS2ZVEJx-MTTf64R6Ze61aPRuJSQS9WoeBzYNETrkfjFmczN9SNav6kIb5zCDyukz9XMquOQFdlsM85t-zwq6tTN9Yi3OG_nn-pnZvB_w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzUxZTkzOGMtOTg5Ni00OThkLTgwY2UtM2NmMDUzNjgxYWMx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MiwianRpIjoiSUQtVG9rZW4tMTUzOS1VTU5JejJLeHhnS2lzNzZzR2FiejVjSDNVSVdnMGVBRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.VhawijAOl4lAzyV4oVjL5aSERMbGVY8bQx7N9F8etNFmIj5vtkxAHtl2mrQhz4n8kjp6X7CNqIMJ1wHbYFqK-ANt8jwD2N9WM8IzJ4YDk7V48t47lJ3f7D6-pB7iRJQAIjLJjo6oHpYuBorwD-otLiPZKukpunVXKoPM4HZ1muM0MpwoUotOzX09ajJQrdEJF4-ulc1xlvR8PDrKFwfcDXKOf62rnJ2kNrpZ4CKBRXz79PS2ZVEJx-MTTf64R6Ze61aPRuJSQS9WoeBzYNETrkfjFmczN9SNav6kIb5zCDyukz9XMquOQFdlsM85t-zwq6tTN9Yi3OG_nn-pnZvB_w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11595" it="0" lt="11595" ct="0" ts="1587564547936" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1847-qRmo-vsT8hPE-Fbsnn1Otg6qG1xFH-QEyUaBHK0D34vsJtgruzH-EJV9jsSakBuUdvcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1847-p2JMYPaos-TnLaUzKOeJeBLP-fMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2e3ebf7d-2347-45ce-951e-7826db97f501</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1847-p2JMYPaos-TnLaUzKOeJeBLP-fMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11648" it="0" lt="11648" ct="0" ts="1587564547939" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1848-MXJ6Mwp7Nskv1meZUwV2IE3QvBPcxDLtWS2xOeJjc2fFN6m3EwdEeXuTHWXc-mY3qzwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1848-GtZEFcvW57hp1rTIoNTIJCv9m2Mc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=4b2caf65-de28-45fc-87f7-6679a9013ed8</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1848-GtZEFcvW57hp1rTIoNTIJCv9m2Mc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="67" it="0" lt="67" ct="0" ts="1587564559526" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDIxNmNmZjUtNjg1OS00M2JkLThkYzQtZTgzZGI3MjhlNmUz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MiwianRpIjoiSUQtVG9rZW4tMTUzOS1VTU5JejJLeHhnS2lzNzZzR2FiejVjSDNVSVdnMGVBRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.VhawijAOl4lAzyV4oVjL5aSERMbGVY8bQx7N9F8etNFmIj5vtkxAHtl2mrQhz4n8kjp6X7CNqIMJ1wHbYFqK-ANt8jwD2N9WM8IzJ4YDk7V48t47lJ3f7D6-pB7iRJQAIjLJjo6oHpYuBorwD-otLiPZKukpunVXKoPM4HZ1muM0MpwoUotOzX09ajJQrdEJF4-ulc1xlvR8PDrKFwfcDXKOf62rnJ2kNrpZ4CKBRXz79PS2ZVEJx-MTTf64R6Ze61aPRuJSQS9WoeBzYNETrkfjFmczN9SNav6kIb5zCDyukz9XMquOQFdlsM85t-zwq6tTN9Yi3OG_nn-pnZvB_w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzUxZTkzOGMtOTg5Ni00OThkLTgwY2UtM2NmMDUzNjgxYWMx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="8884" it="0" lt="8884" ct="1" ts="1587564550926" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGNlNWI2MmQtYjg3ZS00NTQ4LWE5ZjYtYmEyZTk5NGJiZTc1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1838-34sLWNm1o0MRo7j0Nsuh7B-Sq88c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="9131" it="0" lt="9131" ct="0" ts="1587564550679" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWQ0YmQ0MDAtZDJmNy00MDg0LThlODAtMTdjMjBhMGY1YmUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1829-Xno0HDI-Lair9NpiADrDRL4u9dEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8573" it="0" lt="8573" ct="3" ts="1587564551238" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDU5Y2JlNDItNDY0NS00YzhjLWI2MzQtZDc0MDZhYzZhMDE4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1842-JwWZeylvrYPTGs-mOt6Eq9nU5OQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="10921" it="0" lt="10921" ct="0" ts="1587564548890" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1881-8UfuLVTbJHgCy3xUA-72soJ-mLfF-Oe2GsmQDqoLCcHhjWtBZnBa-IBdItezdESuzOUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1886-2Kb98ZdqeGDeOOXwFl-XFFeXUNUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=fcec25cf-c38e-4ac2-939e-ef84fef11dfa</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1886-2Kb98ZdqeGDeOOXwFl-XFFeXUNUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11434" it="0" lt="11434" ct="0" ts="1587564548377" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1856-qh5T4U7VDgAvxL9yVvufCDW2QMrhxBE07JoR3XPdQduWrPPFOE66MMoyenYUGkxBz1wc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1858-3OIh4ggeKyWtbFuitkU8lcKSrZIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7c8a6577-627f-401c-9487-61b6fed983f7</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1858-3OIh4ggeKyWtbFuitkU8lcKSrZIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11082" it="0" lt="11082" ct="0" ts="1587564548730" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1882--D--d8AFSXJhfDK7YHvCn-zXXLQXBFHAaduaWcBMo-5TZQ9P4oIUVsJvHsGiJJm-R24c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1883-I3Am3UV721z1KdkGaKynpDW6-y4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=de81eb2f-e1ad-4644-a00e-b073fcfdd820</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1883-I3Am3UV721z1KdkGaKynpDW6-y4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="9133" it="0" lt="9133" ct="1" ts="1587564550679" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjBhZWM1ZjMtY2I4Ni00ZTZiLTg1ZGEtNzYyMzYwZDUzNjA4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1832-MRA0k8XSdefDW4nSnGBYNcCc-eUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="11005" it="0" lt="11005" ct="0" ts="1587564548808" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1878-PerAuO4sD7CGeZlVRYd9iKAtnspqBhJGJBx1OxMZTkIWOh65d7Yef-3SFHOwE2ILkGEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1887-UINAgbFTgPAnW-iUXEdoAGV5Ik0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=76c2537f-ae59-4842-930c-ea258d0ba8cd</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1887-UINAgbFTgPAnW-iUXEdoAGV5Ik0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10925" it="0" lt="10925" ct="0" ts="1587564548888" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1888-2N4N2OQCy6OrQc1wla0t07J-JKBUpulpyobvxr8qBb4PlGh-JJzgxTqWOeTxlp5jm6oc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1881--yM6dS-JZ8hYWmgP0wI6Sa6BPy0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e97fcbf9-47d2-40e7-9887-ba2ffb351fae</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1881--yM6dS-JZ8hYWmgP0wI6Sa6BPy0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11519" it="0" lt="11519" ct="0" ts="1587564548295" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1860-9YQ-dofWLwMQGq-qC5DVPX1tTr5KUJF0tSgk7qzkxucawkzyrht-ydKffPL3QY9rpUoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1855-zoYdZfFyPQUr3004Hytxw-fWZYsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=34e65093-6e34-4519-a64e-0fedddd5c5dd</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1855-zoYdZfFyPQUr3004Hytxw-fWZYsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11489" it="0" lt="11489" ct="0" ts="1587564548325" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1849-hndkOATGwenjq6iPgzZNupRiaIS3OHAC9AE0orD0ljkWZeWwNkbNIQohlMbN4NcBLYQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1856-ErJYM5lOViX0ypW-joeNPWDA6yAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7618eae2-795b-41cd-8d2d-8819d3815c47</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1856-ErJYM5lOViX0ypW-joeNPWDA6yAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11124" it="0" lt="11124" ct="0" ts="1587564548690" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1887--xKRN5Zg80ya2RlAsr2StQsf5RA4X46Z6-gLWZ1wlBWJ8N6JzfIAXVD7olPR25HKnKUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1873-MBystjIq-Ct8DkE2FKoX4V8yMn4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e16cd8ca-3c7a-4276-b4b8-31bb23fdcfd1</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1873-MBystjIq-Ct8DkE2FKoX4V8yMn4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11956" it="0" lt="11956" ct="0" ts="1587564547859" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1862-YeRapqDLZBdsR2ezHQU--9w0-pe-h3FjrcHSd9yMi3kD6BP-faQfg-GuhsSlsE3tPqQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1853-6EbQkDERCfoJDFyv-L6UQRPiTsIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6f0d7cfd-8981-4ca8-b38f-e2ea4789946b</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1853-6EbQkDERCfoJDFyv-L6UQRPiTsIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10951" it="0" lt="10951" ct="0" ts="1587564548864" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1871-wP--t4Pv-DIl209zcPUVIaJsWfdvDMOzzaz9CWrKxhNakao7rP2DsXBTrWuudLA7nmcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1891-Fe2mAVsXWWqnqPp1s-lcCoEB1xMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=beccd65e-964b-4054-b175-0f423681f82e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1891-Fe2mAVsXWWqnqPp1s-lcCoEB1xMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="8576" it="0" lt="8576" ct="1" ts="1587564551240" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzI2OTEzNDMtNjZmYi00YzgyLWE1YTMtZTcwM2Q0MzE0NWZi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1833-EhwI-s-VwQNt7btyDoOmG-PsNxgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="11674" it="0" lt="11674" ct="0" ts="1587564548142" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1853-WPGYjkPouGwyUdoJzXOVbjFVBK-ttKJfZeEIWtphpf1zqZ2-VLSAAPZzbTcsuyaFCwEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1850-AWDvzXU3QCnx7Z0WZ-hyD2uqFLMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ed587303-634d-43b0-b4b2-1772df474f3d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1850-AWDvzXU3QCnx7Z0WZ-hyD2uqFLMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10943" it="0" lt="10943" ct="0" ts="1587564548874" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1872-lmdZsmeiaSJ2DASfbepbwq5krQ9vfLot5PzywkPeSagKyd--prSvuZ0u9EkHijP38IIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1874-NjGv4Mxpt19nLJwsnEELo1GamP8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8190024c-22cc-4898-95e6-8b99c377ccda</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1874-NjGv4Mxpt19nLJwsnEELo1GamP8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10927" it="0" lt="10927" ct="0" ts="1587564548883" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1916-UlM8-i1EIsk4MIqkWG-JbQ3GMJLlkapLc973y1Rmgy7jvlivzm7gs0fDDJxRYRr9XD0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1903-O9oh-uPd-e-9urYM4FyHG7QPAdoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3f029504-7813-44a3-bde1-fdd936e88095</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1903-O9oh-uPd-e-9urYM4FyHG7QPAdoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11532" it="0" lt="11532" ct="0" ts="1587564548285" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1857-CmdTP-gmGUF8v8HT4QqgM2pbrPIapxN4YP-PRE5ueMztgVFsid3qOfmnmt1ZwYXAHm8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1867-MreuE9sXIqu3TOWoaGYFzY4riAwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b58b5500-a67e-4594-92f8-dcd2fc7154c6</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1867-MreuE9sXIqu3TOWoaGYFzY4riAwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11085" it="0" lt="11085" ct="0" ts="1587564548733" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1895-M9MV1-GQza86HndFq9JwAodiaDzY0IPFE1TRJvOjJ-lOmXPftnzgwM0ERgqdcOmZ2ZEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1868-HWsuLh0WXMmqteGvYPcNvDZnMLYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=29e57e2f-5b15-4b00-9dcd-2b7cd65be3a2</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1868-HWsuLh0WXMmqteGvYPcNvDZnMLYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11006" it="0" lt="11006" ct="0" ts="1587564548812" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1883-wOFgJB4o81NgZweG0iDRCaTTSWuurr5FWcjjbnjcve10iHrbI-Td9l0SKvwOymiGZdsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1893-HpuDuQg0vIypm6n1CBorxfRkKxgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=596c8f00-51eb-4bd2-b47f-c06b9f943b64</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1893-HpuDuQg0vIypm6n1CBorxfRkKxgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11278" it="0" lt="11278" ct="0" ts="1587564548541" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1869-2XIx6qX5pMlkn47roLeSxKzxJq8iMyj2373GjJvICqyJbQN28mOCtuUKjn3gk9D4Xcwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1866-BLWrCFq4-bQAAOK-FHlIdZNOrGkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7e9eb9bf-45d1-4fb2-870b-442fdf2a42b5</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1866-BLWrCFq4-bQAAOK-FHlIdZNOrGkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11398" it="0" lt="11398" ct="0" ts="1587564548421" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1863-MJ4FdESJhn7m8jph00PZ0bjMIZJNQWlAQNt1IEBZpSRYobwW1WBILzBcyznDn3YbS7Ac7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1885-2D01r8V6u3p6lqRKEziZQm-OhqMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c7d0dcb0-9f35-4a1e-9597-60619c9c8193</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1885-2D01r8V6u3p6lqRKEziZQm-OhqMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11459" it="0" lt="11459" ct="0" ts="1587564548361" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1858-h4g1NYd5BT4IwX4ywRngs31qavsr-p4Ze-eVOPJP5BCeNRq3upCmeSXgIaZrxv4TXXwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1863-Q8mlKB33G157vCeyXM2rRrOdBjwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=53eea0ea-b964-457b-8aa4-8e1f29bb24df</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1863-Q8mlKB33G157vCeyXM2rRrOdBjwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10935" it="0" lt="10935" ct="0" ts="1587564548885" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1919-FoTNcM9EPRopoq0SH6vfBseLrFPrcZcGqHJ0dG42PnDGcByAH-N-wdgsZW96xxjkze0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1916-ffXDu6OZ8-nt6053BF7VNZQUWBAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=198ea91b-c3bc-4b12-9790-1eea1b61af73</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1916-ffXDu6OZ8-nt6053BF7VNZQUWBAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11093" it="0" lt="11093" ct="0" ts="1587564548724" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1885-teKzCDe1uqw11waxDRMiQ673I8QoCKSjQQuVi-k7FaebJ4nweqi6NG6hW-41kv6uACUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1917-TyQrnX-Wo4Ubs69Q-SeA4R--Kocc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d437282e-36dd-4e2a-90d3-c8cca17e509d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1917-TyQrnX-Wo4Ubs69Q-SeA4R--Kocc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10973" it="0" lt="10973" ct="0" ts="1587564548849" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1898-FvSdHB8abyN3zM8-Z60C-3EtN4rSKiM1KhTFHv8XopIKQyU3ElP29-NvcYz1NxoIgJgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1875-Dc3NkELnd6pm502VAISviq9CQjYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=41b9bf44-ea27-4044-a368-38391ad25f30</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1875-Dc3NkELnd6pm502VAISviq9CQjYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10939" it="0" lt="10939" ct="0" ts="1587564548884" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1917-wYNE1gMVvvl1UVF4GJ-ScOWEWZgk3JaLyqdM3KYg9h91QYazVClCCi3hWOJ7eBl5FHMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1899-Wd-TEmSR8fK6by3N1FgauuwSy1kc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=f9a50063-2c93-4b59-ba16-7ef851e50904</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1899-Wd-TEmSR8fK6by3N1FgauuwSy1kc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11098" it="0" lt="11098" ct="0" ts="1587564548725" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1867-T6i9qwf5KYje43Mp53dX7AVOCVbsUSStMNlAacooCmQp7028L7tDWAcaCxBzhY1eU2Uc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1854-BV1QByhd-1Tkhi85ds3-GfUBUJcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3633a975-544c-40d5-8749-712d3d601b40</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1854-BV1QByhd-1Tkhi85ds3-GfUBUJcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11460" it="0" lt="11460" ct="0" ts="1587564548363" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1904-5ZgQhy2OZbH9YphAbnBdkzjoWGpVyE43bqFTN2ARNJodaf4qn-ztyq0JLb049FXWKVMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1914-BMzGXA-w6pI9eECKxne9ALIfBnwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=296a168a-9830-4cfa-94b5-801208a3b1c7</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1914-BMzGXA-w6pI9eECKxne9ALIfBnwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10938" it="0" lt="10938" ct="0" ts="1587564548888" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1911--lKg3tdobZF-2r-ZymkiZd3aYaMhTeTA9gIXG2jaFMPnEEqybfbiIJs-P49Yf-4Oaasc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1918-tVbDgZOfr6ks5-fN4771Ku5ykSEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0bb9ae2c-d4b0-4fe0-806a-c3ad1bf19ed0</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1918-tVbDgZOfr6ks5-fN4771Ku5ykSEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11449" it="0" lt="11449" ct="0" ts="1587564548377" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1893-7nCkj4bDHBgJlt0EDpQCkFwdlz7Grr-C9O-mvzxgsLCcUJoOa2noxHhVcPl98ikCefsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1870-wepSgLnU0QR3YAxDqfIGmtVLO50c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=5b8e16b0-8128-415c-aba2-49137f2898e8</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1870-wepSgLnU0QR3YAxDqfIGmtVLO50c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11293" it="0" lt="11293" ct="0" ts="1587564548534" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1865--SqvGiwzVAg-47X1xddrkTwCmjbt4gEuo8evx9Q-AuV1invZv3cpGur-ytx9aR-BK-Ac7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1862-AhQpwZuHti0K9PYeFSX5fX39eHsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=15737077-bd8d-4bba-a677-97303c277f62</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1862-AhQpwZuHti0K9PYeFSX5fX39eHsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10951" it="0" lt="10951" ct="0" ts="1587564548876" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1907-7L0LuCdaYpVjsJNuWhiX8S0-pp-VMs8S5hZeJWuKQ5VHQlG48XHtypocbh0nAIzg9PIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1908-O6ghbNhHlEZ-ISApwSAaGzsMLLYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=64b6233d-2228-4f72-9203-aa4058707174</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1908-O6ghbNhHlEZ-ISApwSAaGzsMLLYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11416" it="0" lt="11416" ct="0" ts="1587564548412" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1866-FLvIdMXZ8oRwicWyczKcF1q7yOhWj1JtWMjl2Vp-3eh9hLxxCxHLsmjWB-3zK0qypOoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1852-yu-xuvamRlZ6Dsb9BMvO3VqEYG8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d3fa5759-7db0-445d-a096-a322e1b1b46c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1852-yu-xuvamRlZ6Dsb9BMvO3VqEYG8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="7599" it="0" lt="7293" ct="1" ts="1587564552226" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e912c47a-2f80-4460-89e8-58d9696ac26d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="11281" it="0" lt="11281" ct="0" ts="1587564548536" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1889-g3aSH02j6gh0eALaE-l01LnOpaLbxjGlsIoG2xNuDAngXkhiMuTmkA1PNilg8lBgSFYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1902-COijpNij90AsJwkXGcFLQtWvPZsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c8b8722c-423b-4da4-b6a5-20e9ca711a21</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1902-COijpNij90AsJwkXGcFLQtWvPZsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11298" it="0" lt="11298" ct="0" ts="1587564548545" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1874-X0cuUy5XKHcAXqf3N2-cvnq-35emi5uONIF7-QNgvbpRwR88cGa-o5tzfdX4eJOlIXkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1901-RVZYtX5pd57wXIS29joY3-yAlGoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=21e7f0c0-c355-4b26-bd93-8a4b554c16ca</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1901-RVZYtX5pd57wXIS29joY3-yAlGoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10963" it="0" lt="10963" ct="0" ts="1587564548880" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1909-5xxi-f-MQzmrvgzvl1VnlMHwrtZFPKYY7LCY-Mp0aKSSGHESXpgrg0a476y4YGhqv5oc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1910-XCIHw2W9gq-ma4OvBrpQvAczUskc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=1cb3d0db-288a-4cd5-aa20-95eea04d5659</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1910-XCIHw2W9gq-ma4OvBrpQvAczUskc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="7452" it="0" lt="7156" ct="0" ts="1587564552366" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-1" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=16e4e82d-7de8-4993-b293-77cd0182f81a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="10970" it="0" lt="10970" ct="0" ts="1587564548873" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1910-28NGuaPx467t3P-lAsGA9EOYqNA5AJpp3DXLa44PBvL7NPSHruVv3uF-leeLDBLzYKgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1919-ad72ZXuqd3g6whNtu7Csqn2RALkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=cc2513b4-0b77-44c1-8f1c-5e0caa505780</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1919-ad72ZXuqd3g6whNtu7Csqn2RALkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="7740" it="0" lt="7437" ct="1" ts="1587564552084" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-44" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7f485f90-6dfc-4fc2-ba2f-9f0b87404ae3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="7465" it="0" lt="7151" ct="0" ts="1587564552364" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-29" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=53553e84-166c-47c3-84f6-dae442d975e6; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="7462" it="0" lt="7147" ct="1" ts="1587564552367" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-21" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b68f78f6-8a5b-47da-9b7a-e5da1a37479c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="7470" it="0" lt="7150" ct="0" ts="1587564552362" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-42" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d564f00b-3022-48f8-9da0-1694eb4e0dd0; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="7591" it="0" lt="7287" ct="0" ts="1587564552230" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-30" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=4e9c47ac-6646-4b5b-8cad-3ace8f2bc067; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="11116" it="0" lt="11116" ct="0" ts="1587564548723" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1902-AawlP47JZ-n2QUQMymryb023NJJnevTVnIlFlIyE-JTiYlwH9xvwRglwK8lCpNwCOZ8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1906-cQ65NDc7-gHDnCfn15qs-Zehb9Qc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a1dcaaae-8a01-429a-9d8d-bfb9ef053eaa</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1906-cQ65NDc7-gHDnCfn15qs-Zehb9Qc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10950" it="0" lt="10950" ct="0" ts="1587564548889" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1897-ELtnLBaKwfXL0ODA4db0lYGztcscE5CHnfBixh5---2P7vN6tv23L8JlVtrljB67fu8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1869--i5AnOd17x8Lvsbs5-1SmseuqPUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e7e69569-99de-417d-a68e-5a062c7b26bc</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1869--i5AnOd17x8Lvsbs5-1SmseuqPUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11471" it="0" lt="11471" ct="0" ts="1587564548367" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1850-IOQQceDE6VUymAXXX-VADZdcyHcschGx4FHZHz1kHbEIN42prdW-lMnff-ya5ncPPlcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1851-dGpLACd88hz43q4Ut4vWXr9yx0Ic7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=906b8524-94ed-4688-9eb4-201cfec98264</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1851-dGpLACd88hz43q4Ut4vWXr9yx0Ic7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11288" it="0" lt="11288" ct="0" ts="1587564548550" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1854-ZPbpi04sVewRpxbq9bGjgL6W7Py9DWMS6akvOZNchcNAMNeSv4BpqBCXnzDPw6tYf1cc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1859-BGM92dbFgRBKtj2BqEzqRZbmtUMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e17c02c2-93f7-4da9-86f8-7ddf68d84dac</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1859-BGM92dbFgRBKtj2BqEzqRZbmtUMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11514" it="0" lt="11514" ct="0" ts="1587564548324" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1852-OOYNFQhHiEGgzmxpEKjl2bsa5Rky-XzMCxZxA46w9qs2LiYl1p4gRtHyDCFAc37ts18c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1879-h--ixrjfLdWGhNSuresouyyukEIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9ee5d21a-2602-4697-a2b2-f43b30c9884a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1879-h--ixrjfLdWGhNSuresouyyukEIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="9422" it="0" lt="9422" ct="1" ts="1587564550416" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1920-Q0VS3fIjuTbLNaySi2sNYVVBTYdwb1aCMN2IfJBbdhrATbTh63jVM-wkYwoMa3gQ-3Mc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1909--aedOKs-5uTy0s3J-dSAMRVvtLgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=396fceeb-10d2-4aaa-a864-0742ac5dc90c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1909--aedOKs-5uTy0s3J-dSAMRVvtLgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10968" it="0" lt="10968" ct="0" ts="1587564548870" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1894-4rUx6T8RVh3z5QzYU3Dj4Rm8l9eaHPt11DfWfKfSnFP65EPbaOVV8cFZYuYlyQuqU3Ec7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1890-PsHu5m99VoCl3rqLmLsWaC0--Ykc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=963ead35-ed0c-4080-ab7a-73586de2e5c6</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1890-PsHu5m99VoCl3rqLmLsWaC0--Ykc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11587" it="0" lt="11587" ct="0" ts="1587564548251" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1861-yvNUUPBJfmIGkEE33AdeXUwB3m4uBEzgjJn8qQsXKf7jvk5uul0VKi-47K5l2Jn4GGUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1861-CAGiYdm0ZqM3Pf8OZCNn98syvEUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=781462e7-285b-4289-a149-0cf36ef9a7db</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1861-CAGiYdm0ZqM3Pf8OZCNn98syvEUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11108" it="0" lt="11108" ct="0" ts="1587564548729" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1876-Z6oytkdwmIZjOwGVJvvboAK9EJE5-rVhHKEWqMUwGg2BMNizjvcCa82Yszkj5qbnN-4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1877-Imzz348AWsKN6sJPD2LQQsFntMkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=4d008761-77e0-470d-9422-588733dd887a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1877-Imzz348AWsKN6sJPD2LQQsFntMkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="243" it="0" lt="243" ct="0" ts="1587564559594" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2ViMDhhN2UtMjhiNC00OTdjLTk3NzQtNDUyZGQzZWViYzM4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1MiwianRpIjoiSUQtVG9rZW4tMTUzOS1VTU5JejJLeHhnS2lzNzZzR2FiejVjSDNVSVdnMGVBRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.VhawijAOl4lAzyV4oVjL5aSERMbGVY8bQx7N9F8etNFmIj5vtkxAHtl2mrQhz4n8kjp6X7CNqIMJ1wHbYFqK-ANt8jwD2N9WM8IzJ4YDk7V48t47lJ3f7D6-pB7iRJQAIjLJjo6oHpYuBorwD-otLiPZKukpunVXKoPM4HZ1muM0MpwoUotOzX09ajJQrdEJF4-ulc1xlvR8PDrKFwfcDXKOf62rnJ2kNrpZ4CKBRXz79PS2ZVEJx-MTTf64R6Ze61aPRuJSQS9WoeBzYNETrkfjFmczN9SNav6kIb5zCDyukz9XMquOQFdlsM85t-zwq6tTN9Yi3OG_nn-pnZvB_w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NDIxNmNmZjUtNjg1OS00M2JkLThkYzQtZTgzZGI3MjhlNmUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="10952" it="0" lt="10952" ct="0" ts="1587564548885" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1905-a87EatsUVqRrMIBOrfAAF177iH0psgXJktKd-MM9zPB4pMUWagfNV4j5xFY8dGbS1-sc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1904-HqiQJxglj5mBN6Jhro2c8IF7iI8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c9c6b9fa-73c7-4e01-98bc-91eac0ef889d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1904-HqiQJxglj5mBN6Jhro2c8IF7iI8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10946" it="0" lt="10946" ct="0" ts="1587564548890" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1903-Bd0HiI6VPP1v-WbMjCa0V1OEaxoWbMGKSRssVWQZoZSZyeFB3X1aLnX9Pj7CO2260W0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1897-VXHlvY1XHgo-MICnwnx-aK67K4wc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8994f043-3b3a-4196-847d-8eca088d4d84</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1897-VXHlvY1XHgo-MICnwnx-aK67K4wc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10955" it="0" lt="10955" ct="0" ts="1587564548881" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1896-IES7eZzKhg8vwr9BGkabHWhOVK4jcwsy27WZBmNnRhJK8wsoflwmeJ0yPhsdbdhaHCMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1889-m4PEtSMtfhAtfYp-2KYODR9TMDAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2e42f7c7-55e8-4b13-b51f-7bfb5c3c3eea</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1889-m4PEtSMtfhAtfYp-2KYODR9TMDAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11439" it="0" lt="11439" ct="0" ts="1587564548396" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1877-DVhwLENZTql3a6LGwgKHArrIWbPG7zT3L3v6cGhOhGZiD4C0o8NirzamH5iCrUJhqucc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1871-Oi-HNrTgQ-5Qfbh6VwamKPn9Hncc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=588589d9-9bae-4f1c-afd3-90c6863548b7</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1871-Oi-HNrTgQ-5Qfbh6VwamKPn9Hncc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="8242" it="0" lt="8242" ct="0" ts="1587564551593" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1921-STlbjyISuf6V053-RjSJwIYVp9nYExT-nIGRGbz--FYH5NhHjOfywXn3HK46e9qGFvwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1921-MI-6IxMKI3U97PKJoa-z09mRjaIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=cfe65a9c-e868-4d34-95fb-7a3d77230cdb</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1921-MI-6IxMKI3U97PKJoa-z09mRjaIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10956" it="0" lt="10956" ct="0" ts="1587564548879" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1900-bvhhg-aIB3sLRqzScZgP7CqvIuCK6GZUkCSaPv-L31E53YX6KgvobjGxNaVJWr5Yc9sc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1907-DQSuVqdAJ9hCy-HBtpw9K16mleMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=841c4654-7af7-426f-bbde-a250a4b8df0c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1907-DQSuVqdAJ9hCy-HBtpw9K16mleMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="7612" it="0" lt="7322" ct="1" ts="1587564552210" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=50d17a19-1585-41bd-87d6-6d1edb53aa1a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="11109" it="0" lt="11109" ct="0" ts="1587564548724" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1891-5xD13To0pe-jerT0HMf7UcR4eNJB2ZrMoTwrADnIXBz2PB7ydcGwfPYFJqwEglCIGBAc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1888-T8FaTanliNyLUonw93A784dwduUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c9c52834-ff91-4078-8cff-e6fd0b4d7558</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1888-T8FaTanliNyLUonw93A784dwduUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10950" it="0" lt="10950" ct="0" ts="1587564548883" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1879-xLGiZXPGwKs--BAC45xuId15T3vtVVdXzvLu7-tFbEmF9K2XoHUVTUwsxCXHwMusB7wc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1864-pptTL74IdjRvriszARnPbsnheYkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7d2e0a3f-4c63-4f80-b937-e8ad227c78a3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1864-pptTL74IdjRvriszARnPbsnheYkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11284" it="0" lt="11284" ct="0" ts="1587564548549" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1899-GP1E2QLyvEdsN5Vn907JzQG6VTL0CWT4FHk43g06eto17RkDFMEAJpHLfPwOjIv0F1Uc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1880-LgZ--XDEpjfnTh3VCmbsqWL9Ouwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d075151a-788e-46f0-85ed-ee3c6676ca72</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1880-LgZ--XDEpjfnTh3VCmbsqWL9Ouwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11293" it="0" lt="11293" ct="0" ts="1587564548539" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1868-gMr7M-nTJyFsThoa3KYVge7095rXxhSvwYI7UWJS4nRvhnI3vn3bpxBF3rApVnXPZjwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1895-pnhT9OuCYdcOjd8sBssyeTDXhbEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=48e843aa-05d1-4100-95d3-da77ea502b59</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1895-pnhT9OuCYdcOjd8sBssyeTDXhbEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10945" it="0" lt="10945" ct="0" ts="1587564548887" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1884-Vg-KVb3didPC2O3eNQrWNCp7Ox1EElNLS3o9QvzsuKdLQKhNMaKiq2mT--zG--frjsEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1894-L2aKUEjr0twaUT-2XqIiHg96IMkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=5b66b2be-46d9-4d86-a643-b3e463b4e338</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1894-L2aKUEjr0twaUT-2XqIiHg96IMkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10961" it="0" lt="10961" ct="0" ts="1587564548871" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1918-AjPUefvn3blvRXWcGNt85-pWiJVHdJEEHUHCFXUriOzHd1nD0SdpEG-AuofZzhMnQLIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1920-SgY3-if-DpzN0dpmg9Dt3l716pwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a166c598-03eb-4847-8421-7b9b57867afa</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1920-SgY3-if-DpzN0dpmg9Dt3l716pwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10965" it="0" lt="10965" ct="0" ts="1587564548866" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1906-X53FqvdzXD3ceEZ6poNwF23PBC4SCekW3WOspC4vUpf-xwVII1iWTdKx-w4tYi1pzM4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1905-m1LenS1Lf6sEz4k5Ma10aIVtAmkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c23fc209-3c09-40ba-8df7-8d858f47d16b</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1905-m1LenS1Lf6sEz4k5Ma10aIVtAmkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11108" it="0" lt="11108" ct="0" ts="1587564548722" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1915-Cn12sSi-vte6l8lQcmIJkYNGV0mtMZVt5zYtYEIhV9YHsoqH1z94GySYN8mAdK8-A-gc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1900-1R9NuZVEIB-ykNRzk4OWZjh19Xoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=f847e2d7-f1b0-4518-b4fe-f084ea780eb1</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1900-1R9NuZVEIB-ykNRzk4OWZjh19Xoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10941" it="0" lt="10941" ct="0" ts="1587564548888" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1892-8-SiCfGq-qkOtdJ-wchbLMPlxeCi3PyVUyiw3lJT1IhA6d4-oGUnajBujRacUgUy0tkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1913-hjTj4gm8WqJEsEMossJvpqJZtd0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=21b1be57-1e1a-44c8-b1aa-ae18bc217ffc</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1913-hjTj4gm8WqJEsEMossJvpqJZtd0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10964" it="0" lt="10964" ct="0" ts="1587564548865" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1886-v5OafDwIk24CAb-QFvi31yQie92GGR6f3LuZUSBZZbYC0kPLzKC-TYK67-TP0vVT--Ac7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1872-C9RZqja21jyGSpYCWtp1E18o-K0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b74cc6b1-4c67-4043-83ea-9e08af547c11</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1872-C9RZqja21jyGSpYCWtp1E18o-K0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10938" it="0" lt="10938" ct="0" ts="1587564548891" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1873-pdT3IwgfMNIXxYqs6JLNeiuDs8xnQbg3luZ7fNvWgm7rKQGMhmVgFMm4vTgA2i-UjCYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1884-Ntn3xT0T4CzkGUV8XTL-qSu-qJUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=70638882-78bd-4f81-b826-9d4e4b3c6930</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1884-Ntn3xT0T4CzkGUV8XTL-qSu-qJUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11555" it="0" lt="11555" ct="0" ts="1587564548274" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1859--ST8c9rmqKZ5gC-PHhYbBDXqjW6k-HFDdWNUe4O8RzvaOdvUaw7DehzjG-aVGmk0x1Ic7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1865-koOB-3xg5jZOYbfzofZrBYVeVLYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=42e87a34-fb58-4378-b9a8-c4ff8a170c13</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1865-koOB-3xg5jZOYbfzofZrBYVeVLYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11511" it="0" lt="11511" ct="0" ts="1587564548318" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1851-jStayx1gRiINRWn-dLqgHkpbJWy5kbdRZJolLLx5iobz3abAuXTWIoFw8lkIXknfU5oc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1849-mI3YtemKhGIdKWS-K91HguVIJjUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3cb255be-66d8-413f-8a69-5b8c9fe0b5d6</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1849-mI3YtemKhGIdKWS-K91HguVIJjUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11503" it="0" lt="11503" ct="0" ts="1587564548326" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1864-VuuDb6p3bmxCjLfXuAH-Py-06PzVrFHVpAMwIbwbnh5bie27T7Ztwhdt5VMSKF8jh8oc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1860-MlV9-pWN0MGoE7bdJhSOjmYJwfIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=fffdfdf9-e705-41e1-b5f7-d3765a2338d0</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1860-MlV9-pWN0MGoE7bdJhSOjmYJwfIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11090" it="0" lt="11090" ct="0" ts="1587564548739" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1880-vQKxHnyu-v6KpDgvBDBn0sAnQcjiitHp0odM-oQm3tv1duwp856O6TuVHpeUq-WIBzEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1876-P07AEaAtu7tjclYsUc-F1jxcm4Ic7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=877be79f-ea63-46fb-a9f7-4d6e066e8f7a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1876-P07AEaAtu7tjclYsUc-F1jxcm4Ic7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="10960" it="0" lt="10960" ct="0" ts="1587564548868" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1912-CrMohlXkCyUJQMrOq1YZAfu91u9GO6amJgVPTNLLeQ5IFvJnIZRbbV0Dp60HMoWzHZYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1911-NU5MwpiDp3Yib5Q3Wo4Iwy5SKZoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=cc2ffbb4-a583-4c54-90db-6e6ad6b6dff7</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1911-NU5MwpiDp3Yib5Q3Wo4Iwy5SKZoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="7597" it="0" lt="7299" ct="1" ts="1587564552214" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-71" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=1606e631-a0bc-4571-a14f-2bc6be391cc7; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="7472" it="0" lt="7163" ct="1" ts="1587564552361" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-45" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=85462a6d-bb7b-41b7-8f19-ec1e5746e55b; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="7455" it="0" lt="7145" ct="1" ts="1587564552365" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-5" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=08951a40-1d6d-47d6-b66d-cf95590f1d52; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="184" it="0" lt="184" ct="1" ts="1587564559816" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzI2OTEzNDMtNjZmYi00YzgyLWE1YTMtZTcwM2Q0MzE0NWZi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11154" it="0" lt="11154" ct="0" ts="1587564548867" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1913-XMqpGiTyP8ggszvPAYZ-4Ewufe5csVGrUvBiitTSbpJfIUbYbgM5xRVsD-pbMviyoFwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1912-wkralPc5-9PWyB8v2eR2pdIDlmIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=89c7490d-a735-4d6c-acd0-b7c8df107186</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1912-wkralPc5-9PWyB8v2eR2pdIDlmIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11301" it="0" lt="11301" ct="0" ts="1587564548721" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1901-kgjbyIvi-ROqrs13w-QlfMMeUnKsd0-2FNPAuuHamog7a2VPa6a7R82L59WBC0Kpxnsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1898-iygZlA72kWklCkSjh-iKENoPaAYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=bc02a37d-7f56-4258-b5c6-534cd1734174</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1898-iygZlA72kWklCkSjh-iKENoPaAYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11291" it="0" lt="11291" ct="0" ts="1587564548732" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1875--4D5yzhL7wYXgTXhW547ETkw7srlLd7Iuidqzb3HPtapSPYYHoGPSkXVxAKeRxFmUPQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1892-QSvPyq4B-DtTeWEbBmVItwKAfmoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=5dc53db7-bea8-4bbb-ab66-e05e5a0a5790</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1892-QSvPyq4B-DtTeWEbBmVItwKAfmoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="7657" it="0" lt="7156" ct="1" ts="1587564552363" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-39" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9f92cce1-f829-40b7-a7b2-71e164acd08c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="7665" it="0" lt="7160" ct="0" ts="1587564552366" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=1c1bab14-7acd-48c1-9a41-4d975de21e16; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="946" it="0" lt="946" ct="0" ts="1587564559855" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTY3ZDA3NGQtZjI0ZS00MjZiLTllY2YtNTBlZjEyMTI3YzFi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:20 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="992" it="0" lt="992" ct="31" ts="1587564559810" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:20 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGNlNWI2MmQtYjg3ZS00NTQ4LWE5ZjYtYmEyZTk5NGJiZTc1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="992" it="0" lt="992" ct="30" ts="1587564559811" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:20 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDU5Y2JlNDItNDY0NS00YzhjLWI2MzQtZDc0MDZhYzZhMDE4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1215" it="0" lt="1215" ct="1" ts="1587564559588" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:20 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzRkOGFhZWEtZjU3Zi00ZjI5LTlmN2QtMmZiYjlmNTY3ZWQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1848-GtZEFcvW57hp1rTIoNTIJCv9m2Mc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="994" it="0" lt="994" ct="11" ts="1587564559810" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:20 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWQ0YmQ0MDAtZDJmNy00MDg0LThlODAtMTdjMjBhMGY1YmUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="993" it="0" lt="993" ct="9" ts="1587564559812" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:20 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjBhZWM1ZjMtY2I4Ni00ZTZiLTg1ZGEtNzYyMzYwZDUzNjA4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9566" it="0" lt="9566" ct="1" ts="1587564551240" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:20 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmM4ZTc3MWMtYjIxNy00MGFhLWFhZmYtY2YyODc0MmJkMWY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1839-VBbihJOHFaN4oGtuiTjTDmPhMKEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8329" it="0" lt="8329" ct="1" ts="1587564552478" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:20 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTMwYjM0NzktZTI5YS00ODI5LWJjYWEtMmM1ODM2ZDE1OTky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1846-y-UfO8JE-SZ0cneN1I9ZuTKYdLMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="12139" it="0" lt="12139" ct="0" ts="1587564548735" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1914-lXGILe9ADOdbqYeMuOWx0gn8-rfczhKCyomTbT-xUQwwVuJl4OBA4e5GpPvKczA0-Ucc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1915-DYQs6x3VPDZ0LmuSS5CH7L8LwMEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:20 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=79e25904-80da-4d73-ad07-e44ab44de20a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1915-DYQs6x3VPDZ0LmuSS5CH7L8LwMEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12480" it="0" lt="12480" ct="0" ts="1587564548395" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1890-SXtMLmbs8DysUpp-QG5T0lCQXOgvEuPnIfB4PsKNNWOcn9ndZ-fWEeUFnycU6wIWDWIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1882-DLQtcrUmmFvWKMa-G-L3YkQw-w0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:20 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7af39164-c545-4bba-976b-362574da4632</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1882-DLQtcrUmmFvWKMa-G-L3YkQw-w0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12571" it="0" lt="12571" ct="0" ts="1587564548305" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1870-I5OLLPrCc0c0L-ZyqY2ti-Et6Mfna7BxYpDWojQfz8YWjpu1WRtZvgXkYNFqGJRMY5gc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1878-stpKJxa---Sp-Nl0QC-j4-PyjaEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:20 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=eddb1477-438f-4b30-a5b8-3c99514c823a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1878-stpKJxa---Sp-Nl0QC-j4-PyjaEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="8511" it="0" lt="7152" ct="1" ts="1587564552365" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-33" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0db6a11f-21f5-444d-933b-f9f63bf40d74; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="14018" it="0" lt="14018" ct="0" ts="1587564548864" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1908-UlsrI1R21Iu4gDL-ioVT0jdhNZXejlczTVZbUPOt1qAr-6xrLyRG9XdYZKTkJX-j3Ukc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1896-iyW0VbLIkLw5l3ipvU4KvovOc0Ic7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:22 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8c4f044c-2750-42b9-8cd6-db6bb5c7c0ce</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1896-iyW0VbLIkLw5l3ipvU4KvovOc0Ic7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="14332" it="0" lt="14332" ct="0" ts="1587564548553" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1855-aeHxl2ajm6jrpqBAuNlwDL-4PLyoqu0uO-aP-aXBab4WcF0JfP6UKRCP7ZoChRr26ZUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1857-yTlBLIKzwRxZ4Ym7jFrh1ml025Ec7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:22 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=f0be5e19-21f0-4305-b67b-3056adf65509</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1857-yTlBLIKzwRxZ4Ym7jFrh1ml025Ec7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13043" it="0" lt="7432" ct="1" ts="1587564552083" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-72" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=06932783-adfe-42b2-8e4f-f3f5d7d331ee; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:19 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="4411" it="0" lt="4408" ct="0" ts="1587564560802" s="false" lb="GET - Admin Center CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="629" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:24.430+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NTY3ZDA3NGQtZjI0ZS00MjZiLTllY2YtNTBlZjEyMTI3YzFi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13191" it="0" lt="13191" ct="1" ts="1587564552023" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-53" dt="text" by="768" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Type: application/json;charset=UTF-8
+Content-Length: 290
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:22.891+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MWYwOWRiNzYtODRhMC00YzBmLWEwZTgtZDMwZjk1OGQ2NThk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1844-WNUpzFZqX4MKwZcprDUDG--IRD8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="13976" it="0" lt="13976" ct="3" ts="1587564551238" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-15" dt="text" by="768" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Type: application/json;charset=UTF-8
+Content-Length: 290
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:22.892+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=Yjk5OTU5YzgtMDY1My00NWRjLTgxNDAtNzQwYTI5NDE5NjQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1840-J0uSWMxj4T2JnGlyUYTl2QgXXX0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="5213" it="0" lt="5209" ct="0" ts="1587564560001" s="false" lb="GET - Admin Center return JWT" rc="500" rm="" tn="Typical Admin Center API test 1-86" dt="text" by="660" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Content-Language: en-US
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:24.434+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/jwt/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MzI2OTEzNDMtNjZmYi00YzgyLWE1YTMtZTcwM2Q0MzE0NWZi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4413" it="0" lt="4412" ct="1" ts="1587564560807" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-65" dt="text" by="975" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: text/html;charset=utf-8
+Content-Language: en
+Content-Length: 820
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!doctype html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;&lt;title&gt;HTTP Status 500 – Internal Server Error&lt;/title&gt;&lt;style type=&quot;text/css&quot;&gt;h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;HTTP Status 500 – Internal Server Error&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;</responseData>
+  <cookies class="java.lang.String">SESSION=MTMwYjM0NzktZTI5YS00ODI5LWJjYWEtMmM1ODM2ZDE1OTky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4416" it="0" lt="4416" ct="0" ts="1587564560805" s="false" lb="GET - Admin Center return JWT" rc="500" rm="" tn="Typical Admin Center API test 1-96" dt="text" by="975" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: text/html;charset=utf-8
+Content-Language: en
+Content-Length: 820
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!doctype html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;&lt;title&gt;HTTP Status 500 – Internal Server Error&lt;/title&gt;&lt;style type=&quot;text/css&quot;&gt;h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;HTTP Status 500 – Internal Server Error&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;</responseData>
+  <cookies class="java.lang.String">SESSION=YjBhZWM1ZjMtY2I4Ni00ZTZiLTg1ZGEtNzYyMzYwZDUzNjA4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4380" it="0" lt="4380" ct="1" ts="1587564560874" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-76" dt="text" by="975" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: text/html;charset=utf-8
+Content-Language: en
+Content-Length: 820
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!doctype html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;&lt;title&gt;HTTP Status 500 – Internal Server Error&lt;/title&gt;&lt;style type=&quot;text/css&quot;&gt;h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;HTTP Status 500 – Internal Server Error&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;</responseData>
+  <cookies class="java.lang.String">SESSION=OGYyMTg2ODAtODc2Ny00ODQ4LWJhN2ItNGNjYTYyYjRiZjIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1915-DYQs6x3VPDZ0LmuSS5CH7L8LwMEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="4378" it="0" lt="4378" ct="1" ts="1587564560876" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-92" dt="text" by="975" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: text/html;charset=utf-8
+Content-Language: en
+Content-Length: 820
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!doctype html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;&lt;title&gt;HTTP Status 500 – Internal Server Error&lt;/title&gt;&lt;style type=&quot;text/css&quot;&gt;h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;HTTP Status 500 – Internal Server Error&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;</responseData>
+  <cookies class="java.lang.String">SESSION=NDA1Mjg0N2UtMzk5Ny00M2Q3LWFhYmMtOTgyN2RmODRjYjM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1878-stpKJxa---Sp-Nl0QC-j4-PyjaEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="4453" it="0" lt="4453" ct="0" ts="1587564560805" s="false" lb="GET - Admin Center return JWT" rc="500" rm="" tn="Typical Admin Center API test 1-78" dt="text" by="975" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: text/html;charset=utf-8
+Content-Language: en
+Content-Length: 820
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!doctype html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;&lt;title&gt;HTTP Status 500 – Internal Server Error&lt;/title&gt;&lt;style type=&quot;text/css&quot;&gt;h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;HTTP Status 500 – Internal Server Error&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;</responseData>
+  <cookies class="java.lang.String">SESSION=OWQ0YmQ0MDAtZDJmNy00MDg0LThlODAtMTdjMjBhMGY1YmUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4457" it="0" lt="4449" ct="0" ts="1587564560802" s="false" lb="GET - Admin Center return JWT" rc="500" rm="" tn="Typical Admin Center API test 1-55" dt="text" by="660" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Content-Language: en-US
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:25.228+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/jwt/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MGNlNWI2MmQtYjg3ZS00NTQ4LWE5ZjYtYmEyZTk5NGJiZTc1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4457" it="0" lt="4448" ct="0" ts="1587564560803" s="false" lb="GET - Admin Center return JWT" rc="500" rm="" tn="Typical Admin Center API test 1-23" dt="text" by="660" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Content-Language: en-US
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:25.259+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/jwt/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDU5Y2JlNDItNDY0NS00YzhjLWI2MzQtZDc0MDZhYzZhMDE4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4458" it="0" lt="4458" ct="0" ts="1587564560803" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-80" dt="text" by="975" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: text/html;charset=utf-8
+Content-Language: en
+Content-Length: 820
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!doctype html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;&lt;title&gt;HTTP Status 500 – Internal Server Error&lt;/title&gt;&lt;style type=&quot;text/css&quot;&gt;h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;HTTP Status 500 – Internal Server Error&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;</responseData>
+  <cookies class="java.lang.String">SESSION=MzRkOGFhZWEtZjU3Zi00ZjI5LTlmN2QtMmZiYjlmNTY3ZWQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4456" it="0" lt="4456" ct="1" ts="1587564560806" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-77" dt="text" by="975" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: text/html;charset=utf-8
+Content-Language: en
+Content-Length: 820
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!doctype html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;&lt;title&gt;HTTP Status 500 – Internal Server Error&lt;/title&gt;&lt;style type=&quot;text/css&quot;&gt;h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;HTTP Status 500 – Internal Server Error&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;</responseData>
+  <cookies class="java.lang.String">SESSION=NmM4ZTc3MWMtYjIxNy00MGFhLWFhZmYtY2YyODc0MmJkMWY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4387" it="0" lt="4387" ct="5" ts="1587564560876" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-74" dt="text" by="975" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: text/html;charset=utf-8
+Content-Language: en
+Content-Length: 820
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!doctype html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;&lt;title&gt;HTTP Status 500 – Internal Server Error&lt;/title&gt;&lt;style type=&quot;text/css&quot;&gt;h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;HTTP Status 500 – Internal Server Error&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;</responseData>
+  <cookies class="java.lang.String">SESSION=ZTk1N2E5YWMtNGFiNi00NjM3LThlZWMtMmVmYmIzYjI0MDA5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1882-DLQtcrUmmFvWKMa-G-L3YkQw-w0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2380" it="0" lt="2373" ct="0" ts="1587564562886" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:25.223+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWI1NTIwNGEtNDQyZi00YjhkLWEwZDgtMGQ1NGFiODk4OGZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1857-yTlBLIKzwRxZ4Ym7jFrh1ml025Ec7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2383" it="0" lt="2378" ct="1" ts="1587564562883" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:25.223+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ODk3NDAxOWMtZmUzYS00YzY0LWFhNmMtNmJiNGVhNmRkYTE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1896-iyW0VbLIkLw5l3ipvU4KvovOc0Ic7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="53" it="0" lt="53" ct="1" ts="1587564565214" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDllOGM0OGUtNDg3ZS00ZTVhLTk1Y2EtY2UyOWViMzUxZTAw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="1" ts="1587564565254" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzM2MDA3ODgtN2NkZS00MDE0LTg4MzAtMzZlMWYzZmNmNTZl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="56" it="0" lt="56" ct="1" ts="1587564565213" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjA5MGZlYmEtMTYzNC00NDU2LWE0NGEtN2FmOTk4OGY3MDM5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="48" it="0" lt="48" ct="1" ts="1587564565221" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjcyYmY1ZDItNzE0NS00ZmEyLTk4YjctZjYzNDRmNTMwZDI0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="55" it="0" lt="55" ct="0" ts="1587564565215" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzdjZDhjYjMtNmQ2Mi00NTE3LThlZWYtZmMzYjhkN2Y0MGQ1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="56" it="0" lt="56" ct="1" ts="1587564565214" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmYyNjA1OGYtYzcwOC00NjY1LTg3YmUtY2VhMjJjMDE3M2U1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="1" ts="1587564565261" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWU0MjdlMjgtNGYyOC00NTYxLTk1NTUtODIzNjM2N2M1NWQy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="51" it="0" lt="51" ct="1" ts="1587564565220" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGJmMjFhMGEtZjVlZi00MWMzLTg5Y2UtOTEwZmU0MGJiNjg0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="19" it="0" lt="19" ct="1" ts="1587564565254" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjNjODE1ZjAtZjY4ZC00MDI5LThkNmYtNDU5NmQzMmZlZGJj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="1" ts="1587564565260" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzBhNTFmMzEtNjMzNC00NmU2LTgzNGItOTY1NzgzNjk3OTkw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="1" ts="1587564565262" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2FlODgxNWYtNjQ4Mi00YTZlLTlkYzgtYjliYWFjMjUwNTQz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564565264" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGZhY2U4NDEtYWVmNy00ZWE4LTk5ODctN2Y0NmI4YmIxMWU4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="1" ts="1587564565260" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjQzMWZjZjMtMmNhZS00Mzk5LWIyY2EtNTRmOGQzNWQ1ZGUx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="1" ts="1587564565258" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDRmYmRjOTMtNzdkYy00YWQyLWIwYzAtZDNmNTUyMDYzZDc3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="1" ts="1587564565266" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTg3ODVhYzMtODlhNC00ZmUwLWE1OWYtOWU2YThhYmIwODkw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564565267" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTY4Y2JkOTktMDRlZi00ZTFkLTkxY2EtNWU1ZDg4Yzc0NGJj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564565268" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDllOGM0OGUtNDg3ZS00ZTVhLTk1Y2EtY2UyOWViMzUxZTAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564565269" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjA5MGZlYmEtMTYzNC00NDU2LWE0NGEtN2FmOTk4OGY3MDM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564565268" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzM2MDA3ODgtN2NkZS00MDE0LTg4MzAtMzZlMWYzZmNmNTZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564565270" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzdjZDhjYjMtNmQ2Mi00NTE3LThlZWYtZmMzYjhkN2Y0MGQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564565270" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmYyNjA1OGYtYzcwOC00NjY1LTg3YmUtY2VhMjJjMDE3M2U1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564565273" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjNjODE1ZjAtZjY4ZC00MDI5LThkNmYtNDU5NmQzMmZlZGJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564565269" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjcyYmY1ZDItNzE0NS00ZmEyLTk4YjctZjYzNDRmNTMwZDI0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564565271" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGJmMjFhMGEtZjVlZi00MWMzLTg5Y2UtOTEwZmU0MGJiNjg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564565271" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWU0MjdlMjgtNGYyOC00NTYxLTk1NTUtODIzNjM2N2M1NWQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564565275" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjQzMWZjZjMtMmNhZS00Mzk5LWIyY2EtNTRmOGQzNWQ1ZGUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564565275" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGZhY2U4NDEtYWVmNy00ZWE4LTk5ODctN2Y0NmI4YmIxMWU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564565274" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzBhNTFmMzEtNjMzNC00NmU2LTgzNGItOTY1NzgzNjk3OTkw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564565274" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2FlODgxNWYtNjQ4Mi00YTZlLTlkYzgtYjliYWFjMjUwNTQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564565278" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTY4Y2JkOTktMDRlZi00ZTFkLTkxY2EtNWU1ZDg4Yzc0NGJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564565277" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDRmYmRjOTMtNzdkYy00YWQyLWIwYzAtZDNmNTUyMDYzZDc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564565278" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTg3ODVhYzMtODlhNC00ZmUwLWE1OWYtOWU2YThhYmIwODkw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6494" it="0" lt="6494" ct="1" ts="1587564560021" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDdkMzM4NjItMGJkMS00ODYwLTlmNGItYjcxM2FhNzczYjY4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1912-wkralPc5-9PWyB8v2eR2pdIDlmIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6702" it="0" lt="6702" ct="8" ts="1587564559813" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTlmNDJlYzktOGI4MS00ODY2LTkyNGYtMmM4ZGQ3N2ZhNjVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1887-UINAgbFTgPAnW-iUXEdoAGV5Ik0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6690" it="0" lt="6690" ct="15" ts="1587564559826" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTdhMzI1MGYtMjFiNS00NTY1LTg1OTktZWNiMjQ2MTQ4YmU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1918-tVbDgZOfr6ks5-fN4771Ku5ykSEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6662" it="0" lt="6662" ct="1" ts="1587564559854" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzNhMmNiMGYtNjVmNS00YWU5LTg5ZjUtNmUyMDNlNjc2YTM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1859-BGM92dbFgRBKtj2BqEzqRZbmtUMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6698" it="0" lt="6698" ct="3" ts="1587564559818" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTY4MmU2NmYtZmMwNC00MDQ4LTk0ZTgtNDM4NzczNDY3N2Zm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1868-HWsuLh0WXMmqteGvYPcNvDZnMLYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6672" it="0" lt="6672" ct="1" ts="1587564559845" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzZlM2JlMTEtZWExZS00NjVlLWIzZWQtYzU5ZDJhNjdhZGQw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1902-COijpNij90AsJwkXGcFLQtWvPZsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6658" it="0" lt="6658" ct="1" ts="1587564559859" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWIxZjBiNjctODA0Ny00NjY2LTgzNWMtZGEwMmU3MWQ4NTRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1895-pnhT9OuCYdcOjd8sBssyeTDXhbEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6662" it="0" lt="6662" ct="1" ts="1587564559855" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWQwZTRlNjgtODNjZi00YzJlLWJhMDMtYTE3NWJkMDNjNDk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1877-Imzz348AWsKN6sJPD2LQQsFntMkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6656" it="0" lt="6656" ct="1" ts="1587564559862" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjhhOWZhOTEtOWM5Zi00YTU2LTgyZWEtMzhkNWE5ZWU4NGE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1865-koOB-3xg5jZOYbfzofZrBYVeVLYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6698" it="0" lt="6698" ct="1" ts="1587564559820" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTExZGNjZjEtYWViYi00MWE4LThlNjQtOGMxMWUzOWFjNTZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1917-TyQrnX-Wo4Ubs69Q-SeA4R--Kocc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6664" it="0" lt="6664" ct="1" ts="1587564559855" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzhlNzMzZjgtMTRlYi00NGI0LWFkMDgtNGQ2OTAxMjczYmU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1890-PsHu5m99VoCl3rqLmLsWaC0--Ykc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6496" it="0" lt="6496" ct="0" ts="1587564560023" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mzk1MTM4OGYtMjNkOC00MjNkLThjMzEtOGQyMDc5OTA5MzZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1892-QSvPyq4B-DtTeWEbBmVItwKAfmoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6663" it="0" lt="6663" ct="2" ts="1587564559856" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjA4YjAwNzgtNThiOS00MzliLTk3M2QtZDEyOGZiYjRhOGEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1889-m4PEtSMtfhAtfYp-2KYODR9TMDAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6660" it="0" lt="6660" ct="4" ts="1587564559859" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzY0ODZhMWUtNTI5MC00NmZmLWEzZmEtY2ZjN2VmYWNkNzk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1894-L2aKUEjr0twaUT-2XqIiHg96IMkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6700" it="0" lt="6700" ct="1" ts="1587564559819" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmE4NGRkMTgtZjU0YS00ZGQ5LWI0YmYtOWUzZmEwZjEwNGQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1885-2D01r8V6u3p6lqRKEziZQm-OhqMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6693" it="0" lt="6693" ct="14" ts="1587564559827" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODA0YjQ4NDYtOWIxOC00NWY3LWFiYmQtYjMwNWI2ZmVhNmE3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1870-wepSgLnU0QR3YAxDqfIGmtVLO50c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6989" it="0" lt="6989" ct="1" ts="1587564559531" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDIwODFjMTgtN2E1NS00YjQ3LWI2Y2YtNjRkMjVmM2MyYjRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1847-p2JMYPaos-TnLaUzKOeJeBLP-fMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6660" it="0" lt="6660" ct="3" ts="1587564559860" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDgwNDk5OGMtNzQyNS00MTRkLWI0NTUtMzYwNDM2ZGJkMjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1900-1R9NuZVEIB-ykNRzk4OWZjh19Xoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6664" it="0" lt="6664" ct="3" ts="1587564559857" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODIxODU4NWQtYWVlNC00NzdlLWJlOTMtZTIzMTdiNDllY2Uw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1888-T8FaTanliNyLUonw93A784dwduUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6702" it="0" lt="6702" ct="1" ts="1587564559819" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWEzOTY0MDQtZjc1ZS00OTM4LWEyODAtNzY5MTQyY2YwMTg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1893-HpuDuQg0vIypm6n1CBorxfRkKxgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6701" it="0" lt="6701" ct="21" ts="1587564559820" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWIwYjQ5NDEtODAzZi00YjI1LWEyMDAtZWM2YTU2YWUxMTYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1916-ffXDu6OZ8-nt6053BF7VNZQUWBAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6711" it="0" lt="6711" ct="10" ts="1587564559811" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODI1YTlhYTQtMDBmYy00YmYxLWEwNGEtNzQ5MjliZDBkYTg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1886-2Kb98ZdqeGDeOOXwFl-XFFeXUNUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6705" it="0" lt="6705" ct="24" ts="1587564559817" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmY4MzVmMDUtZmVlZS00NGJlLWJmNjktOWM5MTBkNGYzY2Zm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1874-NjGv4Mxpt19nLJwsnEELo1GamP8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6708" it="0" lt="6708" ct="7" ts="1587564559814" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTRjMjljYzMtOGMwYy00NzdmLWFjZGUtOWM0Y2EyYzQ5NTJk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1856-ErJYM5lOViX0ypW-joeNPWDA6yAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6665" it="0" lt="6665" ct="3" ts="1587564559857" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGQ3ZTdjZGUtZWVkMy00Yzg4LWFjNmUtODU4NzYzNmEzMDdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1907-DQSuVqdAJ9hCy-HBtpw9K16mleMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6665" it="0" lt="6665" ct="2" ts="1587564559858" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTc0NjA0MDgtOTY3Ny00Y2M2LWJhMTYtYjEwOThkNWI3YWZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1880-LgZ--XDEpjfnTh3VCmbsqWL9Ouwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6678" it="0" lt="6678" ct="1" ts="1587564559846" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODY5ZGE0NGEtM2MwYS00ODE0LWFjZjItNGU1MThlMmY0YzJl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1910-XCIHw2W9gq-ma4OvBrpQvAczUskc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6672" it="0" lt="6672" ct="1" ts="1587564559852" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1932-AlCWkFscCZUmBxey-QMKEykohLGlWPKwrZp4WMCHAO1ycmvEULD6dN8i-CSO4wANl3Qc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1931-p1w4DX-STk4AdRvc3n51iuDp71Ac7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d564f00b-3022-48f8-9da0-1694eb4e0dd0</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1931-p1w4DX-STk4AdRvc3n51iuDp71Ac7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="6709" it="0" lt="6709" ct="4" ts="1587564559816" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTczNGJmZjUtZGNkMy00MTg3LWExOTYtNGQ3YWIyYzNlYWI5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1891-Fe2mAVsXWWqnqPp1s-lcCoEB1xMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6662" it="0" lt="6662" ct="0" ts="1587564559863" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTNkOWJiMTUtOTBlMi00MGQyLWE2YjQtZjVmMjViODUwZWNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1876-P07AEaAtu7tjclYsUc-F1jxcm4Ic7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6670" it="0" lt="6670" ct="2" ts="1587564559855" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODllODIwODYtYmYzOC00NDY0LTgzMjgtZTJmNjJkZDZkMGRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1904-HqiQJxglj5mBN6Jhro2c8IF7iI8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6666" it="0" lt="6666" ct="3" ts="1587564559860" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDlmZTQ1N2ItN2JjYy00MWI0LTliNmYtYTI1NzkxMWIxMTcx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1920-SgY3-if-DpzN0dpmg9Dt3l716pwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6661" it="0" lt="6661" ct="2" ts="1587564559865" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1931-AAT6FCMoUog3Ii2YRRlRqldPY4dwbCH6ynJ-YN46GhD4Uzz6ZeBVUKB3BhqPVgk2OL8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1926-68sLtbjmZXsPh7MA4BYXeoG07Eoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=85462a6d-bb7b-41b7-8f19-ec1e5746e55b</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1926-68sLtbjmZXsPh7MA4BYXeoG07Eoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="6677" it="0" lt="6677" ct="1" ts="1587564559849" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1927-KlFy6qHPbNNcOpdrvaMC7lxMcpOXYeqywLSE91q58mLTnvVGJhywyChjcGQW61hDdvgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1929-6OvBe-jaCvnl188uD96LNh2yOCEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=53553e84-166c-47c3-84f6-dae442d975e6</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1929-6OvBe-jaCvnl188uD96LNh2yOCEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="6706" it="0" lt="6706" ct="0" ts="1587564559820" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWM4NjE0NWItNWY2Yy00NjBlLTkwYzEtZDk5YjZjZGVhMjg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1863-Q8mlKB33G157vCeyXM2rRrOdBjwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6658" it="0" lt="6658" ct="2" ts="1587564559861" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjUxMjI5YzItNjg1Yi00NjAzLThkZjAtNTI2ZWNhNjFlMjE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1913-hjTj4gm8WqJEsEMossJvpqJZtd0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6704" it="0" lt="6704" ct="1" ts="1587564559823" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmNhZmE2NWEtNjlkOC00ZTlhLTg0YzYtOTM3ZGRiMTMxZmUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1899-Wd-TEmSR8fK6by3N1FgauuwSy1kc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6667" it="0" lt="6667" ct="2" ts="1587564559860" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmQ5MmEzMTItNzI1Zi00NjY0LWJiZTUtYzFkMjdlM2NjOTZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1905-m1LenS1Lf6sEz4k5Ma10aIVtAmkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6713" it="0" lt="6713" ct="6" ts="1587564559815" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzJlNDkzOTEtN2RmZi00NGYyLWI5NzAtZjg3MTYyOGU5YjAx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1873-MBystjIq-Ct8DkE2FKoX4V8yMn4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6660" it="0" lt="6660" ct="2" ts="1587564559861" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2ZhOWU1ZDktYjFhNC00NmJmLTk1M2EtMTU3MGEyY2JkMmNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1884-Ntn3xT0T4CzkGUV8XTL-qSu-qJUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6664" it="0" lt="6664" ct="2" ts="1587564559856" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTE0MTc1YjMtYzc2NC00Zjk2LWI4YjUtNzZjNGU2MDUwZDIz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1871-Oi-HNrTgQ-5Qfbh6VwamKPn9Hncc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6673" it="0" lt="6673" ct="4" ts="1587564559856" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTAyYTFjNzQtMDU3OS00OWI4LTgyMjItYTRmMmY0NWRmM2My</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1921-MI-6IxMKI3U97PKJoa-z09mRjaIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6702" it="0" lt="6702" ct="12" ts="1587564559828" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTViZTQwZTItOTM0YS00MjhhLWEzNDgtYTRjZDY1OTZjYTBl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1908-O6ghbNhHlEZ-ISApwSAaGzsMLLYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6669" it="0" lt="6669" ct="2" ts="1587564559861" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGNiMTY0MTMtMDhhYi00YTQ1LTg4YzMtYjcwOWIwNTY3ZTE2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1872-C9RZqja21jyGSpYCWtp1E18o-K0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6675" it="0" lt="6675" ct="4" ts="1587564559856" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODAwZjM4OGEtZDc0OS00MTNlLWEyYzYtNTQwZjZiOWM3NjUy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1897-VXHlvY1XHgo-MICnwnx-aK67K4wc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6509" it="0" lt="6509" ct="1" ts="1587564560022" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjlmYmRiOGItMmQxYi00MWI2LWI1YzQtMGRjZWExY2M5OGUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1898-iygZlA72kWklCkSjh-iKENoPaAYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1239" it="0" lt="1217" ct="1" ts="1587564565284" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-23" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3e100e9c-a20c-4546-8e2b-1cbdf787ca29; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="6676" it="0" lt="6676" ct="2" ts="1587564559858" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzgwNGY1MTgtYWYwNC00YmYwLWI1MjItODE4ZmUwMTM2MGQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1864-pptTL74IdjRvriszARnPbsnheYkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6671" it="0" lt="6671" ct="1" ts="1587564559863" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Yzk2MTY5OGUtOTM3My00NmMwLTkzZDItZGQ4MTY2NDM5Y2E5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1911-NU5MwpiDp3Yib5Q3Wo4Iwy5SKZoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6717" it="0" lt="6717" ct="3" ts="1587564559818" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjU2NjViNGItMTIwNy00OTgzLWE1ZjktZTE4OGJkOTA1ZTJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1867-MreuE9sXIqu3TOWoaGYFzY4riAwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6711" it="0" lt="6711" ct="18" ts="1587564559823" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWZkODNjMmItNzg5OS00NDJjLTg0MjEtOTBiYzIxNTkzY2Nl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1854-BV1QByhd-1Tkhi85ds3-GfUBUJcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6720" it="0" lt="6720" ct="8" ts="1587564559813" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTEwYWU2MTMtNmY4MC00NWQyLTgyYWUtM2EwZTZiMTM0MTc4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1881--yM6dS-JZ8hYWmgP0wI6Sa6BPy0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6681" it="0" lt="6681" ct="2" ts="1587564559855" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDAxMDM3ZWQtMzBlYi00YzgwLTkwMGMtZTViMWRhODFhNzhh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1861-CAGiYdm0ZqM3Pf8OZCNn98syvEUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6671" it="0" lt="6671" ct="1" ts="1587564559862" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzE0OWUzOTktNmQ1Yy00MmVlLWJmMDEtOWExM2VmOTA3NzYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1849-mI3YtemKhGIdKWS-K91HguVIJjUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6711" it="0" lt="6711" ct="2" ts="1587564559822" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTNiOTUwMGMtMmM5Ny00YmRkLWI3NjUtNmNiNTRjM2VhOTI1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1875-Dc3NkELnd6pm502VAISviq9CQjYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6688" it="0" lt="6688" ct="1" ts="1587564559845" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWM5OTRiMzktNmEzMS00YTIzLWI3MjgtMzBmZmQxMzExMGIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1901-RVZYtX5pd57wXIS29joY3-yAlGoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6684" it="0" lt="6684" ct="1" ts="1587564559853" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWY0ZmQ1MjEtMmNiMS00NmNmLWFjMDQtODVjZmNiOWMyNWUy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1869--i5AnOd17x8Lvsbs5-1SmseuqPUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6684" it="0" lt="6684" ct="2" ts="1587564559854" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGZmMjA2NjUtZmNhOS00NDYxLTg4ZTktNzYwZTUyYzU2OWM1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1909--aedOKs-5uTy0s3J-dSAMRVvtLgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6719" it="0" lt="6719" ct="2" ts="1587564559819" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjFhMzgyOTUtYThiYS00ZGZkLTg4YjAtMDczNWNlZTg3ZTVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1866-BLWrCFq4-bQAAOK-FHlIdZNOrGkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6684" it="0" lt="6684" ct="1" ts="1587564559854" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjFmNjU1ZDctOGYzYy00NTZmLTg1YzctY2JiMWI5NDVmNDg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1851-dGpLACd88hz43q4Ut4vWXr9yx0Ic7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6712" it="0" lt="6712" ct="14" ts="1587564559827" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2U2NDQ0NjMtOTYzNC00YjdmLWEzMmEtMjIyZTFlNjRhZjdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1862-AhQpwZuHti0K9PYeFSX5fX39eHsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6723" it="0" lt="6723" ct="1" ts="1587564559816" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWEwOTQ2YWItNGU3ZS00ZDExLWE0YjUtMmQ0MTJmYjE5Nzc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1850-AWDvzXU3QCnx7Z0WZ-hyD2uqFLMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6686" it="0" lt="6686" ct="2" ts="1587564559854" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmI3MTA0YmYtNGY2ZS00ZjUyLWFlZmMtODU0NzM3M2ZkYzI0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1879-h--ixrjfLdWGhNSuresouyyukEIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6725" it="0" lt="6725" ct="2" ts="1587564559815" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWVlYWNkMGYtNTc4YS00ZjU1LWI5N2MtYzU4Y2I1ZWNjY2Q5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1853-6EbQkDERCfoJDFyv-L6UQRPiTsIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6717" it="0" lt="6717" ct="0" ts="1587564559824" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTU0MGZjMWEtNmRkYS00YWEyLTg1NTgtZTQ2OWYwNjUxN2E0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1914-BMzGXA-w6pI9eECKxne9ALIfBnwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6724" it="0" lt="6724" ct="4" ts="1587564559817" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDE1YTk5ZjMtNGZkYy00Y2UwLWE5NGUtOTQ3N2Y4ZjhmZDc0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1903-O9oh-uPd-e-9urYM4FyHG7QPAdoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6730" it="0" lt="6730" ct="9" ts="1587564559812" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODkwMWNhMjAtNzFkYS00NzEyLWE5YTEtMDMyYmNlMzM2ZTJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1883-I3Am3UV721z1KdkGaKynpDW6-y4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6728" it="0" lt="6728" ct="7" ts="1587564559814" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjIxZDE4NmItNjA3ZC00YWY0LThiNDAtZWI1MGRiYWQyZDRh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1855-zoYdZfFyPQUr3004Hytxw-fWZYsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6731" it="0" lt="6731" ct="10" ts="1587564559811" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZmQ4MTRmNDEtMmFkMi00N2NlLTlhMzYtZTlmYTI2YzE3ZjRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1858-3OIh4ggeKyWtbFuitkU8lcKSrZIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6689" it="0" lt="6689" ct="1" ts="1587564559853" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmYxZjkxOWItYzkzNC00ODIyLTliNTYtNDdjOTljNmI5OTY0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1906-cQ65NDc7-gHDnCfn15qs-Zehb9Qc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6681" it="0" lt="6681" ct="1" ts="1587564559862" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmUyYzY3Y2ItZTcyNS00NGYzLWI4NDYtNzdiMDc0YjMyYzQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1860-MlV9-pWN0MGoE7bdJhSOjmYJwfIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1244" it="0" lt="1214" ct="1" ts="1587564565284" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-77" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b8728610-7c6c-4e4d-a232-c725a082b955; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="6866" it="0" lt="6866" ct="13" ts="1587564559828" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjBjMzgwMDYtMGU5MC00N2RjLWEzOWQtY2YxNDc3MjI0OGVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1852-yu-xuvamRlZ6Dsb9BMvO3VqEYG8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1415" it="0" lt="1238" ct="1" ts="1587564565280" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-15" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ed9faed1-b368-403c-a815-fca4570f8d86; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1413" it="0" lt="1226" ct="1" ts="1587564565284" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-55" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7240ea94-253f-49ee-a495-8a16df7b82a5; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="6857" it="0" lt="6857" ct="1" ts="1587564559846" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmIyNjMzZTQtYjM0Zi00ZTFiLWFhZTUtNWEwMGFlNGQ3ZDkz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1919-ad72ZXuqd3g6whNtu7Csqn2RALkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1417" it="0" lt="1231" ct="0" ts="1587564565284" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-74" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b6d5fdda-0d2d-4452-946d-f50c494aa6c6; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1421" it="0" lt="1247" ct="1" ts="1587564565282" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-76" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0da81883-1a49-4388-84d9-4c012ff654c6; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1423" it="0" lt="1245" ct="0" ts="1587564565282" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-92" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=390f61a3-b3f9-4aad-a390-b750cd13f4c4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1424" it="0" lt="1221" ct="1" ts="1587564565283" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-80" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ee3e1086-ec83-43b4-b342-64661fda9916; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1418" it="0" lt="1224" ct="1" ts="1587564565282" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-86" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=5140e8fd-d315-423d-bbd4-bc0d2990439b; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="6858" it="0" lt="6858" ct="3" ts="1587564559864" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1923-5aHY-ugCTF65NxFxJK14p-hnFpUXNx7Sp-VsOo4arSkmfQyo1QexyZxF2pCLXCJc9Ycc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1928-Yvv9tKua9IlT2AgmEOvB1RNRh2Ec7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=1606e631-a0bc-4571-a14f-2bc6be391cc7</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1928-Yvv9tKua9IlT2AgmEOvB1RNRh2Ec7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="1423" it="0" lt="1214" ct="1" ts="1587564565286" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-78" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=4988c452-9d93-4691-a9f9-8a92519f7f40; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1436" it="0" lt="1238" ct="1" ts="1587564565285" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a5724c6d-21dd-4bc0-b958-d40ef8a54f98; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1426" it="0" lt="1244" ct="1" ts="1587564565282" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-96" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=f602f843-2bcb-4b22-8bdf-6bd091e61e2e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1417" it="0" lt="1230" ct="1" ts="1587564565283" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-65" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=eb6f0e58-a6e7-4412-b19f-3995d708c803; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1413" it="0" lt="1226" ct="1" ts="1587564565282" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-53" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=140d9b96-709e-49ad-a5ff-981497c69acb; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1588" it="0" lt="1216" ct="1" ts="1587564565281" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6ced1765-e179-4386-b6be-6768805621a9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="7020" it="0" lt="7020" ct="2" ts="1587564559857" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1925-3yhYe3-0W0iEL2gtAyjeCazI7TVl-XzeVGFI44okarMKA8qpGJbNFNQYaG1wrXQtAK4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1930-ai53l52vHBb3UIS40xPMQ0TWbPkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=50d17a19-1585-41bd-87d6-6d1edb53aa1a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1930-ai53l52vHBb3UIS40xPMQ0TWbPkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="1592" it="0" lt="1234" ct="1" ts="1587564565287" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=90c175e2-f68a-4c3f-967a-44089df53804; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="383" it="0" lt="383" ct="1" ts="1587564566515" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTlmNDJlYzktOGI4MS00ODY2LTkyNGYtMmM4ZGQ3N2ZhNjVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="382" it="0" lt="382" ct="11" ts="1587564566516" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzNhMmNiMGYtNjVmNS00YWU5LTg5ZjUtNmUyMDNlNjc2YTM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="714" it="0" lt="714" ct="4" ts="1587564566524" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODY5ZGE0NGEtM2MwYS00ODE0LWFjZjItNGU1MThlMmY0YzJl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="709" it="0" lt="709" ct="2" ts="1587564566530" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTViZTQwZTItOTM0YS00MjhhLWEzNDgtYTRjZDY1OTZjYTBl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="718" it="0" lt="718" ct="8" ts="1587564566521" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWEzOTY0MDQtZjc1ZS00OTM4LWEyODAtNzY5MTQyY2YwMTg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="704" it="0" lt="704" ct="1" ts="1587564566535" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTEwYWU2MTMtNmY4MC00NWQyLTgyYWUtM2EwZTZiMTM0MTc4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="704" it="0" lt="704" ct="1" ts="1587564566536" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDAxMDM3ZWQtMzBlYi00YzgwLTkwMGMtZTViMWRhODFhNzhh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="704" it="0" lt="704" ct="3" ts="1587564566536" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTNiOTUwMGMtMmM5Ny00YmRkLWI3NjUtNmNiNTRjM2VhOTI1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="705" it="0" lt="705" ct="1" ts="1587564566536" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzE0OWUzOTktNmQ1Yy00MmVlLWJmMDEtOWExM2VmOTA3NzYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="714" it="0" lt="714" ct="1" ts="1587564566528" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzJlNDkzOTEtN2RmZi00NGYyLWI5NzAtZjg3MTYyOGU5YjAx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="714" it="0" lt="714" ct="1" ts="1587564566529" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTE0MTc1YjMtYzc2NC00Zjk2LWI4YjUtNzZjNGU2MDUwZDIz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="712" it="0" lt="712" ct="1" ts="1587564566531" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGNiMTY0MTMtMDhhYi00YTQ1LTg4YzMtYjcwOWIwNTY3ZTE2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="713" it="0" lt="713" ct="1" ts="1587564566531" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODAwZjM4OGEtZDc0OS00MTNlLWEyYzYtNTQwZjZiOWM3NjUy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="713" it="0" lt="713" ct="2" ts="1587564566541" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDE1YTk5ZjMtNGZkYy00Y2UwLWE5NGUtOTQ3N2Y4ZjhmZDc0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="740" it="0" lt="740" ct="2" ts="1587564566519" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzhlNzMzZjgtMTRlYi00NGI0LWFkMDgtNGQ2OTAxMjczYmU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="719" it="0" lt="719" ct="2" ts="1587564566541" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTU0MGZjMWEtNmRkYS00YWEyLTg1NTgtZTQ2OWYwNjUxN2E0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="744" it="0" lt="744" ct="11" ts="1587564566516" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTdhMzI1MGYtMjFiNS00NTY1LTg1OTktZWNiMjQ2MTQ4YmU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="735" it="0" lt="735" ct="1" ts="1587564566526" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDlmZTQ1N2ItN2JjYy00MWI0LTliNmYtYTI1NzkxMWIxMTcx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="724" it="0" lt="724" ct="1" ts="1587564566538" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjFmNjU1ZDctOGYzYy00NTZmLTg1YzctY2JiMWI5NDVmNDg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="744" it="0" lt="744" ct="9" ts="1587564566518" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjhhOWZhOTEtOWM5Zi00YTU2LTgyZWEtMzhkNWE5ZWU4NGE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="741" it="0" lt="741" ct="8" ts="1587564566522" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODI1YTlhYTQtMDBmYy00YmYxLWEwNGEtNzQ5MjliZDBkYTg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="735" it="0" lt="735" ct="3" ts="1587564566529" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTAyYTFjNzQtMDU3OS00OWI4LTgyMjItYTRmMmY0NWRmM2My</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="729" it="0" lt="729" ct="1" ts="1587564566535" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjU2NjViNGItMTIwNy00OTgzLWE1ZjktZTE4OGJkOTA1ZTJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="741" it="0" lt="741" ct="4" ts="1587564566523" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGQ3ZTdjZGUtZWVkMy00Yzg4LWFjNmUtODU4NzYzNmEzMDdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="744" it="0" lt="744" ct="9" ts="1587564566520" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDIwODFjMTgtN2E1NS00YjQ3LWI2Y2YtNjRkMjVmM2MyYjRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="746" it="0" lt="746" ct="10" ts="1587564566518" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWIxZjBiNjctODA0Ny00NjY2LTgzNWMtZGEwMmU3MWQ4NTRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="744" it="0" lt="744" ct="1" ts="1587564566520" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmE4NGRkMTgtZjU0YS00ZGQ5LWI0YmYtOWUzZmEwZjEwNGQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="748" it="0" lt="748" ct="10" ts="1587564566517" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzZlM2JlMTEtZWExZS00NjVlLWIzZWQtYzU5ZDJhNjdhZGQw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="742" it="0" lt="742" ct="4" ts="1587564566523" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTc0NjA0MDgtOTY3Ny00Y2M2LWJhMTYtYjEwOThkNWI3YWZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="742" it="0" lt="742" ct="4" ts="1587564566523" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODIxODU4NWQtYWVlNC00NzdlLWJlOTMtZTIzMTdiNDllY2Uw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="731" it="0" lt="731" ct="3" ts="1587564566534" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzgwNGY1MTgtYWYwNC00YmYwLWI1MjItODE4ZmUwMTM2MGQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="743" it="0" lt="743" ct="6" ts="1587564566522" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWIwYjQ5NDEtODAzZi00YjI1LWEyMDAtZWM2YTU2YWUxMTYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="726" it="0" lt="726" ct="1" ts="1587564566539" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2U2NDQ0NjMtOTYzNC00YjdmLWEzMmEtMjIyZTFlNjRhZjdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="723" it="0" lt="723" ct="1" ts="1587564566543" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmUyYzY3Y2ItZTcyNS00NGYzLWI4NDYtNzdiMDc0YjMyYzQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="741" it="0" lt="741" ct="5" ts="1587564566525" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODllODIwODYtYmYzOC00NDY0LTgzMjgtZTJmNjJkZDZkMGRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="744" it="0" lt="744" ct="5" ts="1587564566522" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmY4MzVmMDUtZmVlZS00NGJlLWJmNjktOWM5MTBkNGYzY2Zm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="725" it="0" lt="725" ct="2" ts="1587564566541" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWVlYWNkMGYtNTc4YS00ZjU1LWI5N2MtYzU4Y2I1ZWNjY2Q5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="728" it="0" lt="728" ct="0" ts="1587564566538" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGZmMjA2NjUtZmNhOS00NDYxLTg4ZTktNzYwZTUyYzU2OWM1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="734" it="0" lt="734" ct="1" ts="1587564566532" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjlmYmRiOGItMmQxYi00MWI2LWI1YzQtMGRjZWExY2M5OGUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="746" it="0" lt="746" ct="6" ts="1587564566521" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDgwNDk5OGMtNzQyNS00MTRkLWI0NTUtMzYwNDM2ZGJkMjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="752" it="0" lt="752" ct="14" ts="1587564566515" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDdkMzM4NjItMGJkMS00ODYwLTlmNGItYjcxM2FhNzczYjY4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="740" it="0" lt="740" ct="3" ts="1587564566527" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmNhZmE2NWEtNjlkOC00ZTlhLTg0YzYtOTM3ZGRiMTMxZmUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="725" it="0" lt="725" ct="1" ts="1587564566542" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZmQ4MTRmNDEtMmFkMi00N2NlLTlhMzYtZTlmYTI2YzE3ZjRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="728" it="0" lt="728" ct="2" ts="1587564566539" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWEwOTQ2YWItNGU3ZS00ZDExLWE0YjUtMmQ0MTJmYjE5Nzc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="739" it="0" lt="739" ct="1" ts="1587564566529" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2ZhOWU1ZDktYjFhNC00NmJmLTk1M2EtMTU3MGEyY2JkMmNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="733" it="0" lt="733" ct="2" ts="1587564566535" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Yzk2MTY5OGUtOTM3My00NmMwLTkzZDItZGQ4MTY2NDM5Y2E5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="743" it="0" lt="743" ct="5" ts="1587564566525" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTczNGJmZjUtZGNkMy00MTg3LWExOTYtNGQ3YWIyYzNlYWI5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="741" it="0" lt="741" ct="1" ts="1587564566527" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjUxMjI5YzItNjg1Yi00NjAzLThkZjAtNTI2ZWNhNjFlMjE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="732" it="0" lt="732" ct="2" ts="1587564566537" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWY0ZmQ1MjEtMmNiMS00NmNmLWFjMDQtODVjZmNiOWMyNWUy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="751" it="0" lt="751" ct="3" ts="1587564566518" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTExZGNjZjEtYWViYi00MWE4LThlNjQtOGMxMWUzOWFjNTZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="750" it="0" lt="750" ct="8" ts="1587564566519" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzY0ODZhMWUtNTI5MC00NmZmLWEzZmEtY2ZjN2VmYWNkNzk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="741" it="0" lt="741" ct="1" ts="1587564566528" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmQ5MmEzMTItNzI1Zi00NjY0LWJiZTUtYzFkMjdlM2NjOTZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="727" it="0" lt="727" ct="0" ts="1587564566543" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmYxZjkxOWItYzkzNC00ODIyLTliNTYtNDdjOTljNmI5OTY0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="751" it="0" lt="751" ct="8" ts="1587564566519" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mzk1MTM4OGYtMjNkOC00MjNkLThjMzEtOGQyMDc5OTA5MzZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="731" it="0" lt="731" ct="3" ts="1587564566540" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmI3MTA0YmYtNGY2ZS00ZjUyLWFlZmMtODU0NzM3M2ZkYzI0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="736" it="0" lt="736" ct="2" ts="1587564566535" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWZkODNjMmItNzg5OS00NDJjLTg0MjEtOTBiYzIxNTkzY2Nl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="746" it="0" lt="746" ct="3" ts="1587564566525" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTNkOWJiMTUtOTBlMi00MGQyLWE2YjQtZjVmMjViODUwZWNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="754" it="0" lt="754" ct="4" ts="1587564566517" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTY4MmU2NmYtZmMwNC00MDQ4LTk0ZTgtNDM4NzczNDY3N2Zm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="749" it="0" lt="749" ct="8" ts="1587564566522" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTRjMjljYzMtOGMwYy00NzdmLWFjZGUtOWM0Y2EyYzQ5NTJk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7405" it="0" lt="7405" ct="1" ts="1587564559866" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1928-b8UeSz3qtTSwBawzu5LWHk4areqMrWVVzVJzrp-OOWAh1AVxzyCvBCsR6yGN0nfS3n0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1923-bEzjD6PMUkFm-CfbVCarD2Ac6P4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=08951a40-1d6d-47d6-b66d-cf95590f1d52</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1923-bEzjD6PMUkFm-CfbVCarD2Ac6P4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="753" it="0" lt="753" ct="2" ts="1587564566519" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjA4YjAwNzgtNThiOS00MzliLTk3M2QtZDEyOGZiYjRhOGEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="754" it="0" lt="754" ct="3" ts="1587564566518" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWQwZTRlNjgtODNjZi00YzJlLWJhMDMtYTE3NWJkMDNjNDk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="730" it="0" lt="730" ct="0" ts="1587564566542" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODkwMWNhMjAtNzFkYS00NzEyLWE5YTEtMDMyYmNlMzM2ZTJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="734" it="0" lt="734" ct="1" ts="1587564566538" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjFhMzgyOTUtYThiYS00ZGZkLTg4YjAtMDczNWNlZTg3ZTVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7420" it="0" lt="7420" ct="1" ts="1587564559853" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1922-ECP1k5iFmGVnmmee9A0mZtqeSLZqo7GPRfpcuGZt3-1VKrgX4QHTGHfpy-55npZD2GQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1925-T1gficl5ojDsXeMY1g5j5lzc658c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=4e9c47ac-6646-4b5b-8cad-3ace8f2bc067</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1925-T1gficl5ojDsXeMY1g5j5lzc658c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="7429" it="0" lt="7429" ct="5" ts="1587564559844" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1924-VlXDq9ef-UyINfS-ePAFJKdnbiuXCVhOWZrdQ2R9xhdMWYqAu5qE-0o3il-lEh-cW64c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1927-tuZuMqKV6OoJ1-pojNpyP-b9ONoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e912c47a-2f80-4460-89e8-58d9696ac26d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1927-tuZuMqKV6OoJ1-pojNpyP-b9ONoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="7427" it="0" lt="7427" ct="2" ts="1587564559846" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1930-VkBQsUPpJ-hkJc3LTlGYoyZHC0D8SR9hgj-1oeUgrSpFKdTQYuyKDaY-4Djf-qziuk8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1932-SzGoNlbQQgqrmNKluyAvgIlTOPIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=16e4e82d-7de8-4993-b293-77cd0182f81a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1932-SzGoNlbQQgqrmNKluyAvgIlTOPIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="7421" it="0" lt="7421" ct="1" ts="1587564559853" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1929--VvtGpWT58zdBn6VXCg43zm6OSm-2j4mHtpHKQkISjQdKnsy5rBFpgazeAfo-OjRh8Ec7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1924-YjbtW2Vhof2Wod8-obf5NqHg6CEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b68f78f6-8a5b-47da-9b7a-e5da1a37479c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1924-YjbtW2Vhof2Wod8-obf5NqHg6CEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="748" it="0" lt="748" ct="2" ts="1587564566527" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWM4NjE0NWItNWY2Yy00NjBlLTkwYzEtZDk5YjZjZGVhMjg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="738" it="0" lt="738" ct="0" ts="1587564566537" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWM5OTRiMzktNmEzMS00YTIzLWI3MjgtMzBmZmQxMzExMGIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="757" it="0" lt="757" ct="8" ts="1587564566520" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODA0YjQ4NDYtOWIxOC00NWY3LWFiYmQtYjMwNWI2ZmVhNmE3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7430" it="0" lt="7430" ct="1" ts="1587564559848" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1926-ZafimCDIVCb0NXO0RYQyqIAIL-O15vz6fQr-VAd-s9m8cZ-Q2oKuvpzBuvGiAtL5ZGsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1922-ZTVljpPwztizdFkGWE4JrL-lwycc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7f485f90-6dfc-4fc2-ba2f-9f0b87404ae3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1922-ZTVljpPwztizdFkGWE4JrL-lwycc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="738" it="0" lt="738" ct="1" ts="1587564566542" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjIxZDE4NmItNjA3ZC00YWY0LThiNDAtZWI1MGRiYWQyZDRh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="578" it="0" lt="578" ct="8" ts="1587564566703" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmIyNjMzZTQtYjM0Zi00ZTFiLWFhZTUtNWEwMGFlNGQ3ZDkz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7258" it="0" lt="7258" ct="1" ts="1587564560026" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1935-jmWbdzl-94RsOyccdgXxhnf1IvjrPeHZeVYnJsKxl23ojTo-gxvjlYv-oKZERj5vz-4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1934-lyR6OfIPaGjlG54X3Huf-8JK5jIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9f92cce1-f829-40b7-a7b2-71e164acd08c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1934-lyR6OfIPaGjlG54X3Huf-8JK5jIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="7260" it="0" lt="7260" ct="0" ts="1587564560036" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1934-20RCHa--i5BO5GimGMFPNjFAN-iaaKR3UruEZbUtFedo-8NhMPCcXvDywqzu4TDSmiUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1933-hXEYhQWCSSARVqTCPuxfnL1-ueIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=1c1bab14-7acd-48c1-9a41-4d975de21e16</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1933-hXEYhQWCSSARVqTCPuxfnL1-ueIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="612" it="0" lt="612" ct="1" ts="1587564566694" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjBjMzgwMDYtMGU5MC00N2RjLWEzOWQtY2YxNDc3MjI0OGVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="72" it="0" lt="72" ct="0" ts="1587564567238" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4MC1MWDFFU01BMkpTNzFLOWd1dVpIcWhVT09URzRBYUl0LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Q9cDtk4K2c-V_-0jaVuWTYfwFcjOOaDw2_Jk1M2PzLoZpdSIB4d0u5b5Dc0Th1OnOb-kgium6eIps1u_EH5jeYUcuakniVCcFyq0LVuZ0ORP5BmQ2QesynZt-R2pDw2OCxx-IgfmBlmNFrpB9ovjReeryFdfdmpxaGAwGRXiW1P9xXwZxqXo6sRDr0jP8wQx2WHJ9cysOF7fpwbVVjNSs3SY3Y2SpP9ll8G73AcZ0_iMikufaL2r0JtG-BR3we-HiINDD_DksWYcGQmh3M2qYge04eV3CHaFUEhlLdYB0NePyrjUIOKLYYXHC3JZuSvFJjHIyNVLqcq47P-RZZcGUw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODY5ZGE0NGEtM2MwYS00ODE0LWFjZjItNGU1MThlMmY0YzJl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4MC1MWDFFU01BMkpTNzFLOWd1dVpIcWhVT09URzRBYUl0LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Q9cDtk4K2c-V_-0jaVuWTYfwFcjOOaDw2_Jk1M2PzLoZpdSIB4d0u5b5Dc0Th1OnOb-kgium6eIps1u_EH5jeYUcuakniVCcFyq0LVuZ0ORP5BmQ2QesynZt-R2pDw2OCxx-IgfmBlmNFrpB9ovjReeryFdfdmpxaGAwGRXiW1P9xXwZxqXo6sRDr0jP8wQx2WHJ9cysOF7fpwbVVjNSs3SY3Y2SpP9ll8G73AcZ0_iMikufaL2r0JtG-BR3we-HiINDD_DksWYcGQmh3M2qYge04eV3CHaFUEhlLdYB0NePyrjUIOKLYYXHC3JZuSvFJjHIyNVLqcq47P-RZZcGUw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="71" it="0" lt="71" ct="0" ts="1587564567239" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2MC1vQjBLNUNhdlVuV0ZNT25kY3hGaGI2RXFpTDRtRDVsRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.beqZ6bKyJNu2ivMOOaU9y2Mkq_lPu6D_dHRNZiKCKAvT1tDG8jJ6IP3PIfiPSOXB7oWW3qKBoKtsIbfNml1pvIpx8wT20esO9Z1JOPHbdqEPT-B34sTtrymNq6IOPmPqksf-gtWPVfxRFaQpfHVvOPJy6Bc2zK1VJr_Yz5FEyrkwux4inuMMek1cCfuRdfYZ8wrG9wkKQTuq7gh8ktjzNk9VEQ1k7gc3UuZFi9Px4A5Ik_zj9xoz33e0_SQolRhRsjwpBYAoHyqDcJoA9-Q1wikZhyD46W_goYGGA5RuOcramoxdS48K9MyHrJDVO-QcZxba4VBb-eF9EuTCOp8ivA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTEwYWU2MTMtNmY4MC00NWQyLTgyYWUtM2EwZTZiMTM0MTc4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2MC1vQjBLNUNhdlVuV0ZNT25kY3hGaGI2RXFpTDRtRDVsRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.beqZ6bKyJNu2ivMOOaU9y2Mkq_lPu6D_dHRNZiKCKAvT1tDG8jJ6IP3PIfiPSOXB7oWW3qKBoKtsIbfNml1pvIpx8wT20esO9Z1JOPHbdqEPT-B34sTtrymNq6IOPmPqksf-gtWPVfxRFaQpfHVvOPJy6Bc2zK1VJr_Yz5FEyrkwux4inuMMek1cCfuRdfYZ8wrG9wkKQTuq7gh8ktjzNk9VEQ1k7gc3UuZFi9Px4A5Ik_zj9xoz33e0_SQolRhRsjwpBYAoHyqDcJoA9-Q1wikZhyD46W_goYGGA5RuOcramoxdS48K9MyHrJDVO-QcZxba4VBb-eF9EuTCOp8ivA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="71" it="0" lt="71" ct="0" ts="1587564567240" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5OC1CVS1lLWlhY0NPekJ0QTVuU2U1amtFaE11YTFMTTZmciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WPduoLYH_bp2nSPsykNgv-eH39_VS3F2UMT2fPqFllRzhzo-y_vI_be5IxDR79wFDisRZAhbsel-84W4ByFhmnVUN7AI_sBTtx8f-mCIo1ZVw9WhE4XYE706BUN7Y61tMhEEYJYrZeMX2DVFMxNqIg4eAd84D-OfXcPjXRIfGwf4VYAMs_ZtOp6Lu0c87i19-iUwfkmG3VjnPaRbbJ6VQUOHZ3C-P2pyMz4WZsM19IXxvq7OjpvABwV2knNh34BuBniYuF6Leg_1l1pfsNUX2sMWBZY_unZ1jQSn3MqNIEA_JlbN4E0dx_TgdPlsoYizhdvZwhyxzJzt19tB5QWf2g
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDAxMDM3ZWQtMzBlYi00YzgwLTkwMGMtZTViMWRhODFhNzhh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5OC1CVS1lLWlhY0NPekJ0QTVuU2U1amtFaE11YTFMTTZmciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WPduoLYH_bp2nSPsykNgv-eH39_VS3F2UMT2fPqFllRzhzo-y_vI_be5IxDR79wFDisRZAhbsel-84W4ByFhmnVUN7AI_sBTtx8f-mCIo1ZVw9WhE4XYE706BUN7Y61tMhEEYJYrZeMX2DVFMxNqIg4eAd84D-OfXcPjXRIfGwf4VYAMs_ZtOp6Lu0c87i19-iUwfkmG3VjnPaRbbJ6VQUOHZ3C-P2pyMz4WZsM19IXxvq7OjpvABwV2knNh34BuBniYuF6Leg_1l1pfsNUX2sMWBZY_unZ1jQSn3MqNIEA_JlbN4E0dx_TgdPlsoYizhdvZwhyxzJzt19tB5QWf2g</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="74" it="0" lt="74" ct="0" ts="1587564567239" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1OC12UWRGZTZZakpuR2pnQjRrTmJwN2RIem9MYUh2QVFYLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Jb5qs_0mwpRu46uIC7Yk86E_nEOFFto3P80ymmNqn89X0gCHVJaiaRiJHeUm3V7UVWglx5bfc2PZEdpp474lO2ycoCi6NE1KyfJra6itfjty1v3MSslc-2wofL5EpEM5UNG4bKaiS3lqFGJpqrfIVaNQAGE-Nps-A16NHPdzLrOnB6LMp2kfvw1FFSillz6WFs1v3w66QLagnpe_n3IhrjLE2b6ND0GKL0OJIkaoTjV78p1IXFlHBG5jMO73pC80cj5GTUK7G-ABIaqZmrxrhe-YhTpObFDbjhMG3-I4v7gFAAeefS42FGgf0Xq1HnMdF7E5YmNCeYyVizCP2RbQ6A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWEzOTY0MDQtZjc1ZS00OTM4LWEyODAtNzY5MTQyY2YwMTg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1OC12UWRGZTZZakpuR2pnQjRrTmJwN2RIem9MYUh2QVFYLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Jb5qs_0mwpRu46uIC7Yk86E_nEOFFto3P80ymmNqn89X0gCHVJaiaRiJHeUm3V7UVWglx5bfc2PZEdpp474lO2ycoCi6NE1KyfJra6itfjty1v3MSslc-2wofL5EpEM5UNG4bKaiS3lqFGJpqrfIVaNQAGE-Nps-A16NHPdzLrOnB6LMp2kfvw1FFSillz6WFs1v3w66QLagnpe_n3IhrjLE2b6ND0GKL0OJIkaoTjV78p1IXFlHBG5jMO73pC80cj5GTUK7G-ABIaqZmrxrhe-YhTpObFDbjhMG3-I4v7gFAAeefS42FGgf0Xq1HnMdF7E5YmNCeYyVizCP2RbQ6A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="55" it="0" lt="55" ct="0" ts="1587564567260" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3Ny1Na1dhWkVkc1UxOTRqSlphTUJoYTlPWEl3TkpoU25TWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.XlkQuBmoUE65bBkHS-j1OsZ3aBZLtJVL-jAUkOYXNd5MMA6YewmiP9v0geRKdZ8D7IW0ALVuE4ug5kwOg4oWMFmdmDuFQLMlk2EGXN1xL59LMw3IDPU6qXjnqYMYOUNg3i-vPKWLlhUWJLgyHjBTKiBRgDEzYT4IaAno0cq43O-9lHTPkxf8BLQkqLjCIf09ismf3ciy3IEJXFa2llbrw2tQaTCcUFS9tDmj2WepYldboZY0Ju3DHvWsRqyDSuCFMI0mOJOIKo3LHZVVlZgB_wRKu3EJBXyKJZK9WTFCfeUXIchVCA_L9AQW_prbx0cGKPn9VAvYkvLhC3dxpQ79UA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTU0MGZjMWEtNmRkYS00YWEyLTg1NTgtZTQ2OWYwNjUxN2E0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3Ny1Na1dhWkVkc1UxOTRqSlphTUJoYTlPWEl3TkpoU25TWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.XlkQuBmoUE65bBkHS-j1OsZ3aBZLtJVL-jAUkOYXNd5MMA6YewmiP9v0geRKdZ8D7IW0ALVuE4ug5kwOg4oWMFmdmDuFQLMlk2EGXN1xL59LMw3IDPU6qXjnqYMYOUNg3i-vPKWLlhUWJLgyHjBTKiBRgDEzYT4IaAno0cq43O-9lHTPkxf8BLQkqLjCIf09ismf3ciy3IEJXFa2llbrw2tQaTCcUFS9tDmj2WepYldboZY0Ju3DHvWsRqyDSuCFMI0mOJOIKo3LHZVVlZgB_wRKu3EJBXyKJZK9WTFCfeUXIchVCA_L9AQW_prbx0cGKPn9VAvYkvLhC3dxpQ79UA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="74" it="0" lt="74" ct="0" ts="1587564567241" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxMi1xb1dOODRnbnRYQUgtWW02MTlkaU5VYTRVMkVpSGR3VCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gV6D2QfIF8Tcf4iqtusUzGjQxFwf53xHSX74frnffNVtdF-ZSDn-5HiJ3-rqWEHe3VGmXTUAX0HCiwSxfOa8wTBskdeSvqIKtEHEifs5_9UDZ-2Sse3JVEDAYPyLKHCkrFNHrWxq7qnc2myWPrCDf6QgLWI445i3-BpvFljuQ7-oRYy73hTUXJniAgobdoC2IcojwqZeq9ZElE6k8E5xI6NaqnDDeXBM7NP352iPtLXK8gb5bwQE_Dlgit6VhKFfhRrw8tmXmB2-sgKucVPMXopqqsXGCxMlAgjVLzmec01-V6pQ4ZFCvLDdwtff92KJ3Q-KmJCs-iTFiN8hm3dj9w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzE0OWUzOTktNmQ1Yy00MmVlLWJmMDEtOWExM2VmOTA3NzYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxMi1xb1dOODRnbnRYQUgtWW02MTlkaU5VYTRVMkVpSGR3VCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gV6D2QfIF8Tcf4iqtusUzGjQxFwf53xHSX74frnffNVtdF-ZSDn-5HiJ3-rqWEHe3VGmXTUAX0HCiwSxfOa8wTBskdeSvqIKtEHEifs5_9UDZ-2Sse3JVEDAYPyLKHCkrFNHrWxq7qnc2myWPrCDf6QgLWI445i3-BpvFljuQ7-oRYy73hTUXJniAgobdoC2IcojwqZeq9ZElE6k8E5xI6NaqnDDeXBM7NP352iPtLXK8gb5bwQE_Dlgit6VhKFfhRrw8tmXmB2-sgKucVPMXopqqsXGCxMlAgjVLzmec01-V6pQ4ZFCvLDdwtff92KJ3Q-KmJCs-iTFiN8hm3dj9w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="416" it="0" lt="416" ct="0" ts="1587564566899" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5MS1zY0tHRDBXQ2RxVkNYVTBWeUpnMGd6MER0d1M1OVFtUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Goa2qgA3P2btMvUdk1DER554lvB-8Mp8FTgaOj6u6UNstglo1hOZm8GxpueMYpsqDQfjq3S8ikkMNWttQAmjNFf4MVo4Ec5gRLPMr3k9OirqdwwrIZw-ugUPsioyCv-QeBy-oBQbdKjYco5H90WEPlFExmncLzP3zdnZswikEQbYPhpqjBQNEgKjPtTfdENRAOF2Hn3Vc9fl06LDzMgnzJoTDwbMEB4tpqwi_2rRCTl_NxaT13QHT8wGZXmocs5uaiRS3XSd0obMBQZH8TeFnsgt70oLD5Tbfn9e-A9mVec1jlKH7Yr4c2p0rNvQGc2fODQE3J2dQRPUjhsaQy6kfQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzNhMmNiMGYtNjVmNS00YWU5LTg5ZjUtNmUyMDNlNjc2YTM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5MS1zY0tHRDBXQ2RxVkNYVTBWeUpnMGd6MER0d1M1OVFtUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Goa2qgA3P2btMvUdk1DER554lvB-8Mp8FTgaOj6u6UNstglo1hOZm8GxpueMYpsqDQfjq3S8ikkMNWttQAmjNFf4MVo4Ec5gRLPMr3k9OirqdwwrIZw-ugUPsioyCv-QeBy-oBQbdKjYco5H90WEPlFExmncLzP3zdnZswikEQbYPhpqjBQNEgKjPtTfdENRAOF2Hn3Vc9fl06LDzMgnzJoTDwbMEB4tpqwi_2rRCTl_NxaT13QHT8wGZXmocs5uaiRS3XSd0obMBQZH8TeFnsgt70oLD5Tbfn9e-A9mVec1jlKH7Yr4c2p0rNvQGc2fODQE3J2dQRPUjhsaQy6kfQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="51" it="0" lt="51" ct="0" ts="1587564567264" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2Ni04NTctQm9vbVhIc0NVVFhyOUdxQ0N6RU8wZ29KeVFldSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Q5CiayMk6mJFYwjQS9i0zI_P55JxtQjGr-mM8HCOlfQkF4H7S0aMWuy9jSQF01gpw4aYX_hAnu2QtkYMqCUyiO6g3nXQ_fyzxeGKzpI-FjhJkDVZfWW_QXM7MkiH1yKj4I4YAuLZApLwwtV4uSq45QTwLseg-KyNVhSJYlQfS_JB-NIaTBc5szylca9BlvFPJkofUs8sNY_qES13U7xSUx0DhwvKxUN1kogR18Rkz53r_758SzMKkKIp0NcqxRdPY_FFWSd4jYI2TCUgtbb3p_ndLcuJXmXx5duoKG3mNzWBI8Qbe2x7q-6X0W59k0_5LnMBIb0YaBPxBzL4Vx-0Yw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGQ3ZTdjZGUtZWVkMy00Yzg4LWFjNmUtODU4NzYzNmEzMDdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2Ni04NTctQm9vbVhIc0NVVFhyOUdxQ0N6RU8wZ29KeVFldSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Q5CiayMk6mJFYwjQS9i0zI_P55JxtQjGr-mM8HCOlfQkF4H7S0aMWuy9jSQF01gpw4aYX_hAnu2QtkYMqCUyiO6g3nXQ_fyzxeGKzpI-FjhJkDVZfWW_QXM7MkiH1yKj4I4YAuLZApLwwtV4uSq45QTwLseg-KyNVhSJYlQfS_JB-NIaTBc5szylca9BlvFPJkofUs8sNY_qES13U7xSUx0DhwvKxUN1kogR18Rkz53r_758SzMKkKIp0NcqxRdPY_FFWSd4jYI2TCUgtbb3p_ndLcuJXmXx5duoKG3mNzWBI8Qbe2x7q-6X0W59k0_5LnMBIb0YaBPxBzL4Vx-0Yw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="51" it="0" lt="51" ct="0" ts="1587564567264" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3My1DUDBRVXVVZnBRRmZHSVgtV3RsZHE2d294eC1kTjVpaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RVetbx2I1yZVeWlApVMOmmIAyzc8lgDLo1Z7pAXntFaByRrO03MLXbF5LJXGU9WSQT7XjnAb5R3P9zyReOCOy8updoTwyRbJ43SWVvHnTsAH1dAtzyUwCxfYlB9ccyuts3KNwfIeeUZnB-FsTGQ5rMDwEXg6yloFkkOYoqOOoR_fOuTX_g2x0fmInLQgVoSd1jpyj2xgm4RrWFcbKGQWwKrc8OtTH9UbWDRmXUPBvINMHkhLXM2UwLjBYuIeAFaEZcJogfZCtGsJ8x6IqNEJpS588ZaPq_OkHHOoFuX-W7zrTeRYDG5sjO5M4ZcpviLu8UeBlk6kxOMaKDlxwMHlnA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTAyYTFjNzQtMDU3OS00OWI4LTgyMjItYTRmMmY0NWRmM2My</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3My1DUDBRVXVVZnBRRmZHSVgtV3RsZHE2d294eC1kTjVpaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RVetbx2I1yZVeWlApVMOmmIAyzc8lgDLo1Z7pAXntFaByRrO03MLXbF5LJXGU9WSQT7XjnAb5R3P9zyReOCOy8updoTwyRbJ43SWVvHnTsAH1dAtzyUwCxfYlB9ccyuts3KNwfIeeUZnB-FsTGQ5rMDwEXg6yloFkkOYoqOOoR_fOuTX_g2x0fmInLQgVoSd1jpyj2xgm4RrWFcbKGQWwKrc8OtTH9UbWDRmXUPBvINMHkhLXM2UwLjBYuIeAFaEZcJogfZCtGsJ8x6IqNEJpS588ZaPq_OkHHOoFuX-W7zrTeRYDG5sjO5M4ZcpviLu8UeBlk6kxOMaKDlxwMHlnA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="76" it="0" lt="76" ct="0" ts="1587564567239" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwMy0wQ3ZPSUR5NFRzVFpXVjVTdGhLRUxTRGMyOVp0bXVueiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lttj-Bm3leyXYGDaY9MJdNCNHfgYSKrmeAM5iNKQ2xqHDeYhe_G-CPXGlRYCbgtHYboYa9bkpwuHPae7qfDyiv0SCPaA88e5ckPS8LIIcnZMdvYFYrBf1ZInmGrK1IRQ4QU5iqxq0TZ6sOYRmGyPcqIBqsGE5tPvCZFfR8WRXdSdDBHo-Abl3RaWzJxLxmQQw8A9g6RiXGzBcI-qY1TF5pgeTxgp1eeJAQ_jAoeutRsDzZJ3Rz0x-gVV9UQQoul2hCcJ3_u1sQLtSQxWqaXC_a83PpHSVUQUaUJ8UQHmhzfVQjkfSCNyiGm3cqBsnyZtfw2qyuIo0lhIc71ImaK8GA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTViZTQwZTItOTM0YS00MjhhLWEzNDgtYTRjZDY1OTZjYTBl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwMy0wQ3ZPSUR5NFRzVFpXVjVTdGhLRUxTRGMyOVp0bXVueiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lttj-Bm3leyXYGDaY9MJdNCNHfgYSKrmeAM5iNKQ2xqHDeYhe_G-CPXGlRYCbgtHYboYa9bkpwuHPae7qfDyiv0SCPaA88e5ckPS8LIIcnZMdvYFYrBf1ZInmGrK1IRQ4QU5iqxq0TZ6sOYRmGyPcqIBqsGE5tPvCZFfR8WRXdSdDBHo-Abl3RaWzJxLxmQQw8A9g6RiXGzBcI-qY1TF5pgeTxgp1eeJAQ_jAoeutRsDzZJ3Rz0x-gVV9UQQoul2hCcJ3_u1sQLtSQxWqaXC_a83PpHSVUQUaUJ8UQHmhzfVQjkfSCNyiGm3cqBsnyZtfw2qyuIo0lhIc71ImaK8GA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="51" it="0" lt="51" ct="0" ts="1587564567265" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwMi1Ya3lCVXlHckk3enN5ZTFObmR1VVNRR3RXUGFLV2lPQSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AXg67W1P2ieK9lwh_PoDRkHoQp0jXzGNT_trpjB2FaBbXo7FxdslAZwftfs3rOAjGi1NbPEKXzd0jYXEzqmyFSAkWRD72iTvcI1fMmoHBq0N1fmVBbx7HVVOFDMxn2qKGNUC0-MPhDZI1AxOW2pmJN8tuGLBT0JLV0fWzC9JeGDW0OjaBsQiEgUDSql58-0Pww_uUq-6JEBEmTWVqDJWPDAr_xxwoK8Q_aO9JYk3pBLX_Hx3XGGdUsqeUR_IZZ95LE58zzYZ9oOJQ0Wl82lL-f1stay6soUO64FdLfqYSovn_f8PoS7stzEQBeD262gafMmwdm8DyvhcxUs6UoJq5g
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmE4NGRkMTgtZjU0YS00ZGQ5LWI0YmYtOWUzZmEwZjEwNGQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwMi1Ya3lCVXlHckk3enN5ZTFObmR1VVNRR3RXUGFLV2lPQSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AXg67W1P2ieK9lwh_PoDRkHoQp0jXzGNT_trpjB2FaBbXo7FxdslAZwftfs3rOAjGi1NbPEKXzd0jYXEzqmyFSAkWRD72iTvcI1fMmoHBq0N1fmVBbx7HVVOFDMxn2qKGNUC0-MPhDZI1AxOW2pmJN8tuGLBT0JLV0fWzC9JeGDW0OjaBsQiEgUDSql58-0Pww_uUq-6JEBEmTWVqDJWPDAr_xxwoK8Q_aO9JYk3pBLX_Hx3XGGdUsqeUR_IZZ95LE58zzYZ9oOJQ0Wl82lL-f1stay6soUO64FdLfqYSovn_f8PoS7stzEQBeD262gafMmwdm8DyvhcxUs6UoJq5g</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="49" it="0" lt="49" ct="0" ts="1587564567267" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxMC1USHFrNHAxWTJxYzcxekVBLWlKa1Z4alQtM1FNZHNqYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EukKJwaJOtgcb6TmelmZTJaU5CCjRcBjSieeKcRXKpfU1DBW1Xk0IigVDM_pMqVWfGnTwD0ahtMqdqjW8HmzoqlZnSgrInE7Zljxcs_w3N8zDdDDO3YKkUPp95IGlJ_FFrKH4eMNxEGCLCkNQPlVKY1DCHaJlw39yqyoFLWKDJOjHaz-mVQL6bNOSUhcQXS_yn-dQ471lfZawRxpoP3Z-is_6x9Njhc4ES77f2FSrjS-AyIiowFGVJEEDDd5e88nZ9on9J_fV09RGc-SEzTkPwgTn5YwaGwhnXBmndM7k2R4Z4UfxxyfMst3FDvkb3yn5IZeg9OVYBjT-Dx2t9mumA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDdkMzM4NjItMGJkMS00ODYwLTlmNGItYjcxM2FhNzczYjY4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxMC1USHFrNHAxWTJxYzcxekVBLWlKa1Z4alQtM1FNZHNqYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EukKJwaJOtgcb6TmelmZTJaU5CCjRcBjSieeKcRXKpfU1DBW1Xk0IigVDM_pMqVWfGnTwD0ahtMqdqjW8HmzoqlZnSgrInE7Zljxcs_w3N8zDdDDO3YKkUPp95IGlJ_FFrKH4eMNxEGCLCkNQPlVKY1DCHaJlw39yqyoFLWKDJOjHaz-mVQL6bNOSUhcQXS_yn-dQ471lfZawRxpoP3Z-is_6x9Njhc4ES77f2FSrjS-AyIiowFGVJEEDDd5e88nZ9on9J_fV09RGc-SEzTkPwgTn5YwaGwhnXBmndM7k2R4Z4UfxxyfMst3FDvkb3yn5IZeg9OVYBjT-Dx2t9mumA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="50" it="0" lt="50" ct="0" ts="1587564567266" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5MC1TUW1yZy10QTdUUnREc0FoY2E4RnU0dVBRMHVXU0lLMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Bw0rnemyImKQiAtq-M8L4f4kQDlEXhAbaWl4z7qhzs00Q7KD1M8GIfzWzFz6Ecw4uCxY4k5ACPj-P1m_nFwSebRh0x7D41hex1b4AoQaEDtJIIzNWDiMhFeR7ZdAQcQqKf0HdOLB8Imb1eDfQYks8xvNGj9ciSVAmJGzcuKd84ymHshwz8j2Z6RznBLv5CX7_9QTy3kgFMLfke3HFBr6TlcMnycRKDsHqb8_fvZpaJhwxo49vPyC2sFZXOWhEDHGrzdS3BXAP6csrKPkXt9RMN9UBW9U82VKobXJXRfXLZC9Qxx95JgKVv-4l3ugetfZUwxGMIn808i8HpQXa-Q3aw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmUyYzY3Y2ItZTcyNS00NGYzLWI4NDYtNzdiMDc0YjMyYzQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5MC1TUW1yZy10QTdUUnREc0FoY2E4RnU0dVBRMHVXU0lLMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Bw0rnemyImKQiAtq-M8L4f4kQDlEXhAbaWl4z7qhzs00Q7KD1M8GIfzWzFz6Ecw4uCxY4k5ACPj-P1m_nFwSebRh0x7D41hex1b4AoQaEDtJIIzNWDiMhFeR7ZdAQcQqKf0HdOLB8Imb1eDfQYks8xvNGj9ciSVAmJGzcuKd84ymHshwz8j2Z6RznBLv5CX7_9QTy3kgFMLfke3HFBr6TlcMnycRKDsHqb8_fvZpaJhwxo49vPyC2sFZXOWhEDHGrzdS3BXAP6csrKPkXt9RMN9UBW9U82VKobXJXRfXLZC9Qxx95JgKVv-4l3ugetfZUwxGMIn808i8HpQXa-Q3aw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="49" it="0" lt="49" ct="0" ts="1587564567268" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1OSwianRpIjoiSUQtVG9rZW4tMTU1Mi1ZclJTMlZ3eWVsWmJ4azRWSHliVG9WTXVSUUtQZG9YRCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ReXNwhCm7jz_I9IkWE4gxEHO6k6zYhXdTSMCnAaaUrsX16UbuAhZ18RWgBwwhjlQLrnO90s2RSQVpG8RDLsJJ2AcEdBhWZ2FlBzIegeAj5GF7ojMCFOKv4l42yxfRn-yW_JduNltih3vjtOm5n8Kx1zMhIUW4eCWMYMSkZD37UFvLSXhMRQ01-2DOU_JG2r7cpF33S8vTO19TpyN8aU4PcNAyEiFYX8GcOTpla3fCJ230I0oOSWI6yBhm_gtxhYG_xPwMRxXyRTV6mZY9dGDkfdxCjw2vc8G6BFlWrczEy6q8ulgYVAtYU1KiQKAKFheCtgtWupzRnYbU8KUoQSe2w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWEwOTQ2YWItNGU3ZS00ZDExLWE0YjUtMmQ0MTJmYjE5Nzc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1OSwianRpIjoiSUQtVG9rZW4tMTU1Mi1ZclJTMlZ3eWVsWmJ4azRWSHliVG9WTXVSUUtQZG9YRCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ReXNwhCm7jz_I9IkWE4gxEHO6k6zYhXdTSMCnAaaUrsX16UbuAhZ18RWgBwwhjlQLrnO90s2RSQVpG8RDLsJJ2AcEdBhWZ2FlBzIegeAj5GF7ojMCFOKv4l42yxfRn-yW_JduNltih3vjtOm5n8Kx1zMhIUW4eCWMYMSkZD37UFvLSXhMRQ01-2DOU_JG2r7cpF33S8vTO19TpyN8aU4PcNAyEiFYX8GcOTpla3fCJ230I0oOSWI6yBhm_gtxhYG_xPwMRxXyRTV6mZY9dGDkfdxCjw2vc8G6BFlWrczEy6q8ulgYVAtYU1KiQKAKFheCtgtWupzRnYbU8KUoQSe2w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="50" it="0" lt="50" ct="0" ts="1587564567268" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3OS12NUt3ZTV2TjU0bE1PelV5ay1hVEozTGtGb2RXelVPMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SaZIB_aVNJ8v5LJ7MIZUGamkZOebU4vPUDSFhZqK6fiSgjCOQPYIWNCGSGMSI4utNaA905AMdbeBj8ScZWif2pbTJXb5adWaFG8GKol3jDjvIS8r-lbBtBSacYXMTa5VL_VhXisXDWL_amjuGApv-4YUKO3GK-FEMH7UD4rV52bChAO-PbBHjrDJuPUEVMG_A3KLTzL8BPYYAJKU6U3vpLxK3UwfAnQ-SYbGUgH-kgGWnYXeYV7GS3d-I-Aef9kJsT-tAcY3rsp1Fjq4bF4SYxNbbKIXQdCW9K6hIvRaujVBuebdvMaIi5GCvj95CU84CHCmr4uMg3l5l4men3I9Pw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2ZhOWU1ZDktYjFhNC00NmJmLTk1M2EtMTU3MGEyY2JkMmNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3OS12NUt3ZTV2TjU0bE1PelV5ay1hVEozTGtGb2RXelVPMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SaZIB_aVNJ8v5LJ7MIZUGamkZOebU4vPUDSFhZqK6fiSgjCOQPYIWNCGSGMSI4utNaA905AMdbeBj8ScZWif2pbTJXb5adWaFG8GKol3jDjvIS8r-lbBtBSacYXMTa5VL_VhXisXDWL_amjuGApv-4YUKO3GK-FEMH7UD4rV52bChAO-PbBHjrDJuPUEVMG_A3KLTzL8BPYYAJKU6U3vpLxK3UwfAnQ-SYbGUgH-kgGWnYXeYV7GS3d-I-Aef9kJsT-tAcY3rsp1Fjq4bF4SYxNbbKIXQdCW9K6hIvRaujVBuebdvMaIi5GCvj95CU84CHCmr4uMg3l5l4men3I9Pw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="50" it="0" lt="50" ct="0" ts="1587564567269" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwOC02Qmt5d25UTnRnMkpRYnlWRE52T0VLRFdBM3BacnJ6VyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.mQbfoOFxsHprC6UUwVH0DTtTI8T_DdDC1hc9boYR_fb8enHowNvjeWfiKQ8_xfWCanKuN5UYcdMw6TXHq5YBcwovdgtIP1Gegsf78VyoNpkKZPezIJWl4qUxNT6a3nr7kxDEE3sE2iWdvMuqmfDP5NcDu4HeRLkylrsf7T8DLZFhdBqgcww8oBXSk23Gy2OrUdrhVSRyaVeCqLq1WXtAFGNtMA1nzvKmBiQW5skM59JJcSu_oZ8yhyeX61-yR2D6xzbzEKPtrC3Yb4GatT91Ilq8XtAClum5qaVijQKyBxFqfj_ISLZA54Lv0kwbUf2_18mtIfaWWvYIxh2UNiP2fw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzY0ODZhMWUtNTI5MC00NmZmLWEzZmEtY2ZjN2VmYWNkNzk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwOC02Qmt5d25UTnRnMkpRYnlWRE52T0VLRFdBM3BacnJ6VyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.mQbfoOFxsHprC6UUwVH0DTtTI8T_DdDC1hc9boYR_fb8enHowNvjeWfiKQ8_xfWCanKuN5UYcdMw6TXHq5YBcwovdgtIP1Gegsf78VyoNpkKZPezIJWl4qUxNT6a3nr7kxDEE3sE2iWdvMuqmfDP5NcDu4HeRLkylrsf7T8DLZFhdBqgcww8oBXSk23Gy2OrUdrhVSRyaVeCqLq1WXtAFGNtMA1nzvKmBiQW5skM59JJcSu_oZ8yhyeX61-yR2D6xzbzEKPtrC3Yb4GatT91Ilq8XtAClum5qaVijQKyBxFqfj_ISLZA54Lv0kwbUf2_18mtIfaWWvYIxh2UNiP2fw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="48" it="0" lt="48" ct="0" ts="1587564567271" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2Mi1ERENZWFJUTzlES0hIZk41d2F6NHZxSWRESUswR1JBLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MPISU9VALKjf7lowk1sOPxX-_K0C519DG06U0YVMxMjEciML3lzSw2Vo6CSEIDqNs1fo4soxepCSknK0d6gSa4yKrQYSEDbCNv716sr3g-fJubs_oAH4iI_CczRqRPftbRJII0d9dD5ePUutS8N4yq2UKo5vyAA8K2ABhm0VS__wJk8zicMzXxBusJ_iGS4Z6BJ_8nUBBz-jscGBZPPGba_04FvX7b8vnCE7ySq3YjNFsrGmUsWNe4KYl-adbow_WjRGlUkkSmLqXzwnhQPFAEbufsK4dJvEhunp5Z9UYOYO3LQ-X4dEGk_9-vzl73XbepzWWo7vzZPp83-ILhz4yQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTY4MmU2NmYtZmMwNC00MDQ4LTk0ZTgtNDM4NzczNDY3N2Zm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2Mi1ERENZWFJUTzlES0hIZk41d2F6NHZxSWRESUswR1JBLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MPISU9VALKjf7lowk1sOPxX-_K0C519DG06U0YVMxMjEciML3lzSw2Vo6CSEIDqNs1fo4soxepCSknK0d6gSa4yKrQYSEDbCNv716sr3g-fJubs_oAH4iI_CczRqRPftbRJII0d9dD5ePUutS8N4yq2UKo5vyAA8K2ABhm0VS__wJk8zicMzXxBusJ_iGS4Z6BJ_8nUBBz-jscGBZPPGba_04FvX7b8vnCE7ySq3YjNFsrGmUsWNe4KYl-adbow_WjRGlUkkSmLqXzwnhQPFAEbufsK4dJvEhunp5Z9UYOYO3LQ-X4dEGk_9-vzl73XbepzWWo7vzZPp83-ILhz4yQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="49" it="0" lt="49" ct="0" ts="1587564567270" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxNS1pSnEta2JqNXFreEw4QXFZYzV5QVFVd3hOQjZlREIzciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NuegjSki6FRm57-BzV1ze1wxdqofTnB5Jy_z9drep_wzpLs38O2bO7neAP3LETFEwOGn6EwOoHuGRl79FHzzw1QKOD9IVj6pPkdeGhfygyHSTvxy-xv5Mdp3NC_rUUjEjotXXpHIhtbNb2HxjjQn40sW7ArTW_sYzkqU0wgDt1oggi1Dgxqu7V1nKLKdGOAXEspQQoVfgdjW7iVTjBpzj-TEmI1WN0mE3hMbAbkFIUh_91rCOdElYlOyQkirjpS29hVS8rwO1FzBDiS6b9tzWRi6I4Cbj14ix_GDtqz8zzd6j_WHVe5-hCoX3wdSXAlxr9yk7BukIqv8Unaz-9fDUQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mzk1MTM4OGYtMjNkOC00MjNkLThjMzEtOGQyMDc5OTA5MzZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxNS1pSnEta2JqNXFreEw4QXFZYzV5QVFVd3hOQjZlREIzciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NuegjSki6FRm57-BzV1ze1wxdqofTnB5Jy_z9drep_wzpLs38O2bO7neAP3LETFEwOGn6EwOoHuGRl79FHzzw1QKOD9IVj6pPkdeGhfygyHSTvxy-xv5Mdp3NC_rUUjEjotXXpHIhtbNb2HxjjQn40sW7ArTW_sYzkqU0wgDt1oggi1Dgxqu7V1nKLKdGOAXEspQQoVfgdjW7iVTjBpzj-TEmI1WN0mE3hMbAbkFIUh_91rCOdElYlOyQkirjpS29hVS8rwO1FzBDiS6b9tzWRi6I4Cbj14ix_GDtqz8zzd6j_WHVe5-hCoX3wdSXAlxr9yk7BukIqv8Unaz-9fDUQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="48" it="0" lt="48" ct="0" ts="1587564567271" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwMS1XRkIyLVVib2pVaFd6VXNLQk0yMUhrTWVZUXZIYlhjeiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.eo7F0aoxltWJrqm5eh0R5a1Jhqd802TAdpzvWcnYOBIDSLXfrohWYAqZO3JVvSNfBiNyi59CwFtL_2rLF9MTNRSQ9fc3e8ux26uHCBrgAhxHKFIFMzLNTGWo8_aU7fMGbsWaZj5dJAY2tUEwZpd8WoO5qUznY2qaWLqvibl-Oi_JqK3aRjpfytL9-e4zDOybnyuPIAPtcMyWWsbVLoMlrzFvO9C-HEXbR7WmqyQqwucuIbz5kYer9O-EXKFyhCYfNVQuhyyPfvTEK4RHwCSA7XN17bnJKoj5LPrs-5dv67UegSeUeTYa8ebWvqQruqCiuyH8q-JdT3vW2zn4g9zbCw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWZkODNjMmItNzg5OS00NDJjLTg0MjEtOTBiYzIxNTkzY2Nl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwMS1XRkIyLVVib2pVaFd6VXNLQk0yMUhrTWVZUXZIYlhjeiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.eo7F0aoxltWJrqm5eh0R5a1Jhqd802TAdpzvWcnYOBIDSLXfrohWYAqZO3JVvSNfBiNyi59CwFtL_2rLF9MTNRSQ9fc3e8ux26uHCBrgAhxHKFIFMzLNTGWo8_aU7fMGbsWaZj5dJAY2tUEwZpd8WoO5qUznY2qaWLqvibl-Oi_JqK3aRjpfytL9-e4zDOybnyuPIAPtcMyWWsbVLoMlrzFvO9C-HEXbR7WmqyQqwucuIbz5kYer9O-EXKFyhCYfNVQuhyyPfvTEK4RHwCSA7XN17bnJKoj5LPrs-5dv67UegSeUeTYa8ebWvqQruqCiuyH8q-JdT3vW2zn4g9zbCw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="54" it="0" lt="54" ct="0" ts="1587564567272" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxMS1ycWIxaWlKYllMdWE4ajJuUy1EbzZPMHJ1NzNFR1gwbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ou0QkJF3B0U9X94SyFAbn3oEGuZgoCPENy0ZiWmFagaIIicITF11OPpeXzywWJ0lHlGkSTnRWKN2nkkbq9ZSSgiT_cXEDFNFyx5ZAi3mEGxqfinlPfo0NyzPs4UYevtcFs3--yfWWwaIAYBf3t_sYoYit6i69CvItDOA9U0fNq6goHFpJM-zy9_5kJJWJkfmOjr_0Uf28m0EYDNHhexlPdgNoptXWkjuiL4EkG-oXGAW_7_kQ9yg_e5MJNR64Pibwc8UoeeyOoRR3owz5RSys1edhh7rrHuH4G8Ju9CO1ZxEL1yy8ET9NB--qvkIz512IJO6YKsG6Fxrv009BxSmBA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjA4YjAwNzgtNThiOS00MzliLTk3M2QtZDEyOGZiYjRhOGEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxMS1ycWIxaWlKYllMdWE4ajJuUy1EbzZPMHJ1NzNFR1gwbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ou0QkJF3B0U9X94SyFAbn3oEGuZgoCPENy0ZiWmFagaIIicITF11OPpeXzywWJ0lHlGkSTnRWKN2nkkbq9ZSSgiT_cXEDFNFyx5ZAi3mEGxqfinlPfo0NyzPs4UYevtcFs3--yfWWwaIAYBf3t_sYoYit6i69CvItDOA9U0fNq6goHFpJM-zy9_5kJJWJkfmOjr_0Uf28m0EYDNHhexlPdgNoptXWkjuiL4EkG-oXGAW_7_kQ9yg_e5MJNR64Pibwc8UoeeyOoRR3owz5RSys1edhh7rrHuH4G8Ju9CO1ZxEL1yy8ET9NB--qvkIz512IJO6YKsG6Fxrv009BxSmBA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="83" it="0" lt="83" ct="0" ts="1587564567243" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4Ni1aNEMtdVRIV3FFR3R6YWl2ZDYyeHdmRmVVb0FsRXpNdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cqbYtVIw-diF3qUapMH8_fAeSsU6clxYG5lT6rU0ORseEmxPR-LKLA4fdXHl9y3h6MW6kyA2KcA3M3KSjBF4aMLRKb_eYB7fZ8pCSujtF8r86RWWUjbE0UnKD5cA0CYdIkfpgZhxb8TPWXguB9pkEMKgtA_SVrB5tcKodA-ZXmY63G4L-7EkWmbaRmI5_Jget-Cm_L9FZ1gtaLVeBemPhHgSLaTSUxRUOKjyjLTH7vxCstyNGRsWaEtQfxEvvGB8Yo9ZjzVKfmV1Z5R2e5p3tAUkjT51vpp0rHbKLEA9yS6j1WA6TFw2VXJAQEMfG-RN13iH-tRhQkmaT2BQqaX9QA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTE0MTc1YjMtYzc2NC00Zjk2LWI4YjUtNzZjNGU2MDUwZDIz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4Ni1aNEMtdVRIV3FFR3R6YWl2ZDYyeHdmRmVVb0FsRXpNdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cqbYtVIw-diF3qUapMH8_fAeSsU6clxYG5lT6rU0ORseEmxPR-LKLA4fdXHl9y3h6MW6kyA2KcA3M3KSjBF4aMLRKb_eYB7fZ8pCSujtF8r86RWWUjbE0UnKD5cA0CYdIkfpgZhxb8TPWXguB9pkEMKgtA_SVrB5tcKodA-ZXmY63G4L-7EkWmbaRmI5_Jget-Cm_L9FZ1gtaLVeBemPhHgSLaTSUxRUOKjyjLTH7vxCstyNGRsWaEtQfxEvvGB8Yo9ZjzVKfmV1Z5R2e5p3tAUkjT51vpp0rHbKLEA9yS6j1WA6TFw2VXJAQEMfG-RN13iH-tRhQkmaT2BQqaX9QA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="62" it="0" lt="62" ct="0" ts="1587564567265" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2OC1tbnRsQW5OZ2x2azFDVkJZaGVuTUlReTZib2JDOFAyTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.j3RisXGosQn7z42SvUZ2fnLE5bRkTfS-bdvh-bWLMCGr2IYSI6_NcI3bH3NAwkea1wSEh3ccTbhtinVIxOju1P9HAYsPt_os1hknjREBnGTQsAqktlgf0UInjnTHGNbzK4d6iUndG-qVNBm4x6UrmoMS1S4bvVu6oVq_nlhYtYln92NyJPYSl17ugStlE4ZwuP-Vp2G70Z60xCr6Yt3U0F2Sz7HELVLYtDFldsXRywHKbmd1BvNjFt8AGqnnAObdkdJ7bh2hsfAH1UDXTDvlrODXDGcEXJNHbaZSGPdKKqrMmqfo-SIsAW47QNr4WBGvsPvN8G3wydkwJSrJbPgHTQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzZlM2JlMTEtZWExZS00NjVlLWIzZWQtYzU5ZDJhNjdhZGQw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2OC1tbnRsQW5OZ2x2azFDVkJZaGVuTUlReTZib2JDOFAyTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.j3RisXGosQn7z42SvUZ2fnLE5bRkTfS-bdvh-bWLMCGr2IYSI6_NcI3bH3NAwkea1wSEh3ccTbhtinVIxOju1P9HAYsPt_os1hknjREBnGTQsAqktlgf0UInjnTHGNbzK4d6iUndG-qVNBm4x6UrmoMS1S4bvVu6oVq_nlhYtYln92NyJPYSl17ugStlE4ZwuP-Vp2G70Z60xCr6Yt3U0F2Sz7HELVLYtDFldsXRywHKbmd1BvNjFt8AGqnnAObdkdJ7bh2hsfAH1UDXTDvlrODXDGcEXJNHbaZSGPdKKqrMmqfo-SIsAW47QNr4WBGvsPvN8G3wydkwJSrJbPgHTQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="86" it="0" lt="86" ct="0" ts="1587564567241" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4My1HeHFiVkprWVNhT0V0djl4N1pzQXhnMzlRTzRMZGdqdCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bgOLotb-f972gkHH6ag_e2EPA3GgZaNQx_MfOhPuAOA-WgUiHCakrmKapZ4wPTEynY8yELMP-SmGAocC8R4tuERR9YHl8mynMf08K7OxAkZczaBGlNygw3XQYCmAGc7TDzGczliWAiZ8EvNfQEtLQNR1XUa-R8NvnBsewzyAMjjYOEotMsF4wP_sRiCwMILMjbtu3_qVlAJBRPFtYkqvJ6eR6gZgUMo8IcU6HvdhOf2MmHodiDSSR_2zW0ehc8hH6OXdnEtpJK3wv1x5rQliz90bX_p-7XNZ_ctPKq1o3zO6VKJsuJKg5QOkuiko4u_hQ0YvKiZQX7lmuACqT_mU9Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTNiOTUwMGMtMmM5Ny00YmRkLWI3NjUtNmNiNTRjM2VhOTI1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4My1HeHFiVkprWVNhT0V0djl4N1pzQXhnMzlRTzRMZGdqdCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bgOLotb-f972gkHH6ag_e2EPA3GgZaNQx_MfOhPuAOA-WgUiHCakrmKapZ4wPTEynY8yELMP-SmGAocC8R4tuERR9YHl8mynMf08K7OxAkZczaBGlNygw3XQYCmAGc7TDzGczliWAiZ8EvNfQEtLQNR1XUa-R8NvnBsewzyAMjjYOEotMsF4wP_sRiCwMILMjbtu3_qVlAJBRPFtYkqvJ6eR6gZgUMo8IcU6HvdhOf2MmHodiDSSR_2zW0ehc8hH6OXdnEtpJK3wv1x5rQliz90bX_p-7XNZ_ctPKq1o3zO6VKJsuJKg5QOkuiko4u_hQ0YvKiZQX7lmuACqT_mU9Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="85" it="0" lt="85" ct="0" ts="1587564567242" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1OSwianRpIjoiSUQtVG9rZW4tMTU1MS02QkU5OXl2UTFDQ3FiRjBkWnpNRDVIY0JhQ2puME1oUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.a3ieyGZA_y4_5Wx80z-xYB8yLToeA8kRB6sSWAWzPeyD2QPU9m5KH_Eja1kD1sLlDYG0mGUwirOfctvpGKwnKt57ppKSWD-R13aXyvUJ2sLW6w2nXFWvTOgBZdHi7l_nKlGdKFhBwdDIjMxi0TzdYw18z8yr5hA1c1sMF3dyFwBvgAHFjgfbUcSn9H3kdZyF8AYBC2vVohFQVU6SNNIAExqKhnxCguJiwB8lcIR5iBDaFJTQeEk6YReuez65kfNBZ1Bth4w4uFQ0VSQLNuaycwaM-oRX2XgzCC-lzDzM4NJ614iTiJ1TPPzA7-pblkRPjwz9f0ypqII1MHVA5jqvog
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzJlNDkzOTEtN2RmZi00NGYyLWI5NzAtZjg3MTYyOGU5YjAx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1OSwianRpIjoiSUQtVG9rZW4tMTU1MS02QkU5OXl2UTFDQ3FiRjBkWnpNRDVIY0JhQ2puME1oUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.a3ieyGZA_y4_5Wx80z-xYB8yLToeA8kRB6sSWAWzPeyD2QPU9m5KH_Eja1kD1sLlDYG0mGUwirOfctvpGKwnKt57ppKSWD-R13aXyvUJ2sLW6w2nXFWvTOgBZdHi7l_nKlGdKFhBwdDIjMxi0TzdYw18z8yr5hA1c1sMF3dyFwBvgAHFjgfbUcSn9H3kdZyF8AYBC2vVohFQVU6SNNIAExqKhnxCguJiwB8lcIR5iBDaFJTQeEk6YReuez65kfNBZ1Bth4w4uFQ0VSQLNuaycwaM-oRX2XgzCC-lzDzM4NJ614iTiJ1TPPzA7-pblkRPjwz9f0ypqII1MHVA5jqvog</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="63" it="0" lt="63" ct="0" ts="1587564567264" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1NC1ISjA3Sk9RblFBcFlYWWQtY1gzVFZSU0hpY05lTUhvTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rpqxnIjEytcHalyg7hfcVKHASfwY-iJs7HxhLVyPAH66w8mDgQYJqS32NBHvPNXs17TcEAqyiX41ljTgb9hOMVDbft8BH6wT7xoYauWDmAMPElcolXm5G_CTeQfY-FySjkY61ewQBNO9w5pDy-lqSCuLC3RdVysj_WiO27-KS5YsoH5ZLX2NSQgeV-0b_yvNDHvPZApu-0oxB-bVFTkqg2A7PHduN8gRS-zeLCXl3Naf1dpLdRCTuTfDCRnz315YsiKwpEoQP6jobUoHcqW4eySuKXZZBr56B6AInLiBtTj3RmdaGDLZjUprm_WJLPG51oQiK_u2-NV_uZBg-lLztw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:26 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjU2NjViNGItMTIwNy00OTgzLWE1ZjktZTE4OGJkOTA1ZTJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1NC1ISjA3Sk9RblFBcFlYWWQtY1gzVFZSU0hpY05lTUhvTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rpqxnIjEytcHalyg7hfcVKHASfwY-iJs7HxhLVyPAH66w8mDgQYJqS32NBHvPNXs17TcEAqyiX41ljTgb9hOMVDbft8BH6wT7xoYauWDmAMPElcolXm5G_CTeQfY-FySjkY61ewQBNO9w5pDy-lqSCuLC3RdVysj_WiO27-KS5YsoH5ZLX2NSQgeV-0b_yvNDHvPZApu-0oxB-bVFTkqg2A7PHduN8gRS-zeLCXl3Naf1dpLdRCTuTfDCRnz315YsiKwpEoQP6jobUoHcqW4eySuKXZZBr56B6AInLiBtTj3RmdaGDLZjUprm_WJLPG51oQiK_u2-NV_uZBg-lLztw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1235" it="0" lt="1235" ct="0" ts="1587564566898" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5OS15RUZJNmZSNHJHZmtMaUgzWU9ZUUl2bHUzSTVJa1YtbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ThB-6vOFZuvRifnLweCEl6MJpBLDtKe1HXXhaPx-Y4BlZLLcWipC8SLIHY4A4XJv8IFhqLQBRWPLiPrL4-lPQHZXyh8KmDgux1YIDZJPBfbDsVCzpmpDEBoW3bvqNjzE3oykYleHSUJb4ekylqrvUaGHZHLZfFzNztn1ubQTTJQeBpD-lvukP8LUc5kE_wcKNn3DxO3ZCoPZCZ41LSV2bj7vdbqDAMnqCQGi_p1thqdc9AtOuTjD6EjS74joGmbv876G-68rHcEe9C1-LmOxH22PZomM-trl2sSBh0VY-h-YmbW5L4qPy6dX7WTUGYYV0YuMBN7QzEZ7Q2s62b57Qg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTlmNDJlYzktOGI4MS00ODY2LTkyNGYtMmM4ZGQ3N2ZhNjVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5OS15RUZJNmZSNHJHZmtMaUgzWU9ZUUl2bHUzSTVJa1YtbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ThB-6vOFZuvRifnLweCEl6MJpBLDtKe1HXXhaPx-Y4BlZLLcWipC8SLIHY4A4XJv8IFhqLQBRWPLiPrL4-lPQHZXyh8KmDgux1YIDZJPBfbDsVCzpmpDEBoW3bvqNjzE3oykYleHSUJb4ekylqrvUaGHZHLZfFzNztn1ubQTTJQeBpD-lvukP8LUc5kE_wcKNn3DxO3ZCoPZCZ41LSV2bj7vdbqDAMnqCQGi_p1thqdc9AtOuTjD6EjS74joGmbv876G-68rHcEe9C1-LmOxH22PZomM-trl2sSBh0VY-h-YmbW5L4qPy6dX7WTUGYYV0YuMBN7QzEZ7Q2s62b57Qg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="868" it="0" lt="868" ct="0" ts="1587564567265" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5Mi1zeXVBVG1SUlgtSXFpVmZjaVZDVC14MERVOWtwQS1oZiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NpKKJhC_KCB7JadT_ZEhNhS5SSgHbBsl6z4q3Kb2xF9isCa3Z-VePH26FmuBB0LXg4EpHGNsU3UwPk8cc20azLfqSBwhuLmdaOiekolKjLwvpiGUk5vLnYinbnraL59eHPzJei9ad76wR2HxE8HMkACTzyN5zz2H6-iLTkDA4c1NEvSyGj152sgMHCf8lT2H9Mn9AF9X3KyDFM1onbCkNagvu_qsmi-ljBAnPGrLi063lWyWOqVUWzHn2fJqw_60scU28gsgaOrJJAjk1CD160wVCqCTC2EnvLwseY4nDfNVS6Rvi7lWx-nsOHRFM-pdeJrb2ZRKxL0ZzZ52r2Zd5Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODIxODU4NWQtYWVlNC00NzdlLWJlOTMtZTIzMTdiNDllY2Uw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5Mi1zeXVBVG1SUlgtSXFpVmZjaVZDVC14MERVOWtwQS1oZiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NpKKJhC_KCB7JadT_ZEhNhS5SSgHbBsl6z4q3Kb2xF9isCa3Z-VePH26FmuBB0LXg4EpHGNsU3UwPk8cc20azLfqSBwhuLmdaOiekolKjLwvpiGUk5vLnYinbnraL59eHPzJei9ad76wR2HxE8HMkACTzyN5zz2H6-iLTkDA4c1NEvSyGj152sgMHCf8lT2H9Mn9AF9X3KyDFM1onbCkNagvu_qsmi-ljBAnPGrLi063lWyWOqVUWzHn2fJqw_60scU28gsgaOrJJAjk1CD160wVCqCTC2EnvLwseY4nDfNVS6Rvi7lWx-nsOHRFM-pdeJrb2ZRKxL0ZzZ52r2Zd5Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="867" it="0" lt="867" ct="0" ts="1587564567266" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4MS1Zc0Nkb3liU1BNZHZrZlJxUGowbUZyYnBvcjdEZi15byIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.fN_dIf9ql4fhA_qSN7KEgT5PgraNwxKvvzyR4MCwKWNIe5S9eHD8uCB3y2I81Ta5dttkptBDKB5_dpxbFaimG_6Zi2ErM_rKARcws0NeD9-fxLvQgfUlb4t1547sa_-ONv4RdWw5Azf9BwLB24pupUXdo3kiXn8UDOz1fI4AmNx_oQ1UntDrLqx4Hf4Z6Tsi_ayuNUIGg0506TjmxlShLRkgWX2aIJXByPpr5u5rgVTNVblXefOo8oxBbm1OllHWOPQiOPJCDezthicw_9FWmW2rkBOM9lLJLe6qJ3Hfti-65Yr7SpxFOm_FlhHpyJxjIvoNjWtULBQDLM8WzAnadg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2U2NDQ0NjMtOTYzNC00YjdmLWEzMmEtMjIyZTFlNjRhZjdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4MS1Zc0Nkb3liU1BNZHZrZlJxUGowbUZyYnBvcjdEZi15byIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.fN_dIf9ql4fhA_qSN7KEgT5PgraNwxKvvzyR4MCwKWNIe5S9eHD8uCB3y2I81Ta5dttkptBDKB5_dpxbFaimG_6Zi2ErM_rKARcws0NeD9-fxLvQgfUlb4t1547sa_-ONv4RdWw5Azf9BwLB24pupUXdo3kiXn8UDOz1fI4AmNx_oQ1UntDrLqx4Hf4Z6Tsi_ayuNUIGg0506TjmxlShLRkgWX2aIJXByPpr5u5rgVTNVblXefOo8oxBbm1OllHWOPQiOPJCDezthicw_9FWmW2rkBOM9lLJLe6qJ3Hfti-65Yr7SpxFOm_FlhHpyJxjIvoNjWtULBQDLM8WzAnadg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="853" it="0" lt="853" ct="0" ts="1587564567280" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1OS1VR1QzSENrNDdNbTBra0ZpMU53ZGNkNFUycmd0MjRGLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.A2rO9wuVFVP5ko4sIQ0tyJip5gSywn-ZUNJfyfoOgLHC4qVY7bSb5J0DIGg9BxC4JlkPqdcW5ibURqfM_P8tGQEU1WHNhGFmfMx2ftCu53N9nP0T7a92dpjhUnw9vDC5lqoz2Ivrrkas2sGg11j-JjUDlpTtPmx6084T2gwIy9SBGDck-GGhBCbVoSoyoAsFfhXGh_LYJrCzFn7vGDIhQMXHsF07NFB529uuLPlRxsDBqKUDXMd-rOM1PEnP0hWhV9-1g13dIcMrDic7LyFxRcby961-QMG4Jjf3-YWGE9sY1a3PIDh-Y770tZgtVW6SvW_enXb4Z0D0AW0yYZzqIA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjIxZDE4NmItNjA3ZC00YWY0LThiNDAtZWI1MGRiYWQyZDRh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1OS1VR1QzSENrNDdNbTBra0ZpMU53ZGNkNFUycmd0MjRGLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.A2rO9wuVFVP5ko4sIQ0tyJip5gSywn-ZUNJfyfoOgLHC4qVY7bSb5J0DIGg9BxC4JlkPqdcW5ibURqfM_P8tGQEU1WHNhGFmfMx2ftCu53N9nP0T7a92dpjhUnw9vDC5lqoz2Ivrrkas2sGg11j-JjUDlpTtPmx6084T2gwIy9SBGDck-GGhBCbVoSoyoAsFfhXGh_LYJrCzFn7vGDIhQMXHsF07NFB529uuLPlRxsDBqKUDXMd-rOM1PEnP0hWhV9-1g13dIcMrDic7LyFxRcby961-QMG4Jjf3-YWGE9sY1a3PIDh-Y770tZgtVW6SvW_enXb4Z0D0AW0yYZzqIA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="866" it="0" lt="866" ct="0" ts="1587564567268" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1My0tSjVpTS03QXd4NHRpc3hoRllpaWZiM0RsY25FcTFFRSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.odxkcM8HrvYLHYFUm4gsMMCSobGX5lA4QtneWahKH7Z2z3o_FpT6Ux6V68-G1bRO6ZC4XBAjveHWecb0MsZfWNhr_o_LdGa6sOs_Y9u7cGyMziwh8ElrHBnyTIiSF8sW7bhGCJk-v1KcQzJrOgjZpJUbRuFV3nH9zvPFNxg-8Cj_dQPcZYdjy6EPWWKE4P8HYIO8m-8GZI_PQnBH5HEfI05-pDAyuMEZ3ngQYoSuXjgT_gDjIivRgKba9TpIBIi1y4q3dt5OhkDBwiUuRGLlxRh5tJ2dbfMAr3g0flTxCQeiO1j1LpI0OpoZ2JhSR1WUn1ttR2-7QmCW2pejOjLRDA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTczNGJmZjUtZGNkMy00MTg3LWExOTYtNGQ3YWIyYzNlYWI5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1My0tSjVpTS03QXd4NHRpc3hoRllpaWZiM0RsY25FcTFFRSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.odxkcM8HrvYLHYFUm4gsMMCSobGX5lA4QtneWahKH7Z2z3o_FpT6Ux6V68-G1bRO6ZC4XBAjveHWecb0MsZfWNhr_o_LdGa6sOs_Y9u7cGyMziwh8ElrHBnyTIiSF8sW7bhGCJk-v1KcQzJrOgjZpJUbRuFV3nH9zvPFNxg-8Cj_dQPcZYdjy6EPWWKE4P8HYIO8m-8GZI_PQnBH5HEfI05-pDAyuMEZ3ngQYoSuXjgT_gDjIivRgKba9TpIBIi1y4q3dt5OhkDBwiUuRGLlxRh5tJ2dbfMAr3g0flTxCQeiO1j1LpI0OpoZ2JhSR1WUn1ttR2-7QmCW2pejOjLRDA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="863" it="0" lt="863" ct="0" ts="1587564567271" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2NC1BaGVzV3JFSUx6eTk3OUFFaFE5dU5wWGE0RGcySDN5aCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MMGPiW8NI08Db-jtBG8M4d1VScDD_LH5RLsyMGPjJq2c080szSYo5XGvI6nutIo_-IbdY8VUPzyy_SPzSjbz6hontE5n34_eFYeOPx_ERSx53_UINg7nhWRslL1xhwwdfhgr4BJ16Cc4vwJZmN41MNDJj26zlt2fGLB1HAabIzoZFewXnbc7dDkyvq4ukqsGq-v6TsGXXKLE85eOK0JRG6HNSC6crKaD-PsFS7KW8Zn9ZyIyi-e7Uz7s0zprWqjSjf9rttyiFMx070AeIyhbOomYgtrWkc6wgq6CczL82yrboeo6oJquAx_9sRR4G_yS5yLmE10YjzE2jiPLn8deiA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTRjMjljYzMtOGMwYy00NzdmLWFjZGUtOWM0Y2EyYzQ5NTJk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2NC1BaGVzV3JFSUx6eTk3OUFFaFE5dU5wWGE0RGcySDN5aCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MMGPiW8NI08Db-jtBG8M4d1VScDD_LH5RLsyMGPjJq2c080szSYo5XGvI6nutIo_-IbdY8VUPzyy_SPzSjbz6hontE5n34_eFYeOPx_ERSx53_UINg7nhWRslL1xhwwdfhgr4BJ16Cc4vwJZmN41MNDJj26zlt2fGLB1HAabIzoZFewXnbc7dDkyvq4ukqsGq-v6TsGXXKLE85eOK0JRG6HNSC6crKaD-PsFS7KW8Zn9ZyIyi-e7Uz7s0zprWqjSjf9rttyiFMx070AeIyhbOomYgtrWkc6wgq6CczL82yrboeo6oJquAx_9sRR4G_yS5yLmE10YjzE2jiPLn8deiA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="864" it="0" lt="864" ct="0" ts="1587564567270" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4Ny1zb3psaXJpUjZFcktEUnNFWEpHcmhocWYtUDZwdjRDcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.K92ecOlFj15byVAL4HGUSDvP_Hr0UaF3WDQgRv6kFeuAGVIJN6xbvkXPT0hid5f2Zb0ilnZJgSImrzaWSdfweJ-c0ZQYuhf9-nxgwnADYgiRbBOSyG1wI7RmH--WjaJwjv_HPQ6z5TukUTeND98PhKiHckQBbS5ERfcIQdw7OWLbLg7nfl08vMQ1NQn0p377uD1fucdwpFtX90yRBvk84JayZLPTiana2hVEp1yBEwEi3FJU22FzdjlYpr7U-joAdi3DMVWAXsEXg5m6H16pJgpSVKZZal5hmU-VtKbYgkjfrsTVjcxED3ABwViB69jhF7GKodIY6_YyLSnt2Sgx5w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmQ5MmEzMTItNzI1Zi00NjY0LWJiZTUtYzFkMjdlM2NjOTZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4Ny1zb3psaXJpUjZFcktEUnNFWEpHcmhocWYtUDZwdjRDcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.K92ecOlFj15byVAL4HGUSDvP_Hr0UaF3WDQgRv6kFeuAGVIJN6xbvkXPT0hid5f2Zb0ilnZJgSImrzaWSdfweJ-c0ZQYuhf9-nxgwnADYgiRbBOSyG1wI7RmH--WjaJwjv_HPQ6z5TukUTeND98PhKiHckQBbS5ERfcIQdw7OWLbLg7nfl08vMQ1NQn0p377uD1fucdwpFtX90yRBvk84JayZLPTiana2hVEp1yBEwEi3FJU22FzdjlYpr7U-joAdi3DMVWAXsEXg5m6H16pJgpSVKZZal5hmU-VtKbYgkjfrsTVjcxED3ABwViB69jhF7GKodIY6_YyLSnt2Sgx5w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="865" it="0" lt="865" ct="0" ts="1587564567268" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4Mi0wTlFLOVFwaHY4V29iRnAyNThGOEdkN3pZU2Flak0yMSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pWpivDzztsyKDysCX1aPqrtAcZmO2eLNXGsmxJmRlQVxziEEdAvv4zQ213Rtxefav02Z9QIPOASYbtjM3r1J3yThMiMtiiviX4hah_DA0gi4fBNNbR1fg4td4pCNlmpP0-U77SUEsJzE-3XM_nw7HbKavFNb1s9YWrCNQrKlMGK0Mpx5faaTN20bFNkDPxqO4yXta7Mc4MSaeWZM1Z3Z8hEX-HxAlWpfJtavWIIvfslPlzW9vm_Fep6JNv7HWsFVYr_DqW12nXeknE2eMVVurdYEb0uqb1jd5d8BhH9-N7-mIOTbks2KKKUiDyniezvqVSv35f4UwBbmEwqtFRYoTg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Yzk2MTY5OGUtOTM3My00NmMwLTkzZDItZGQ4MTY2NDM5Y2E5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4Mi0wTlFLOVFwaHY4V29iRnAyNThGOEdkN3pZU2Flak0yMSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pWpivDzztsyKDysCX1aPqrtAcZmO2eLNXGsmxJmRlQVxziEEdAvv4zQ213Rtxefav02Z9QIPOASYbtjM3r1J3yThMiMtiiviX4hah_DA0gi4fBNNbR1fg4td4pCNlmpP0-U77SUEsJzE-3XM_nw7HbKavFNb1s9YWrCNQrKlMGK0Mpx5faaTN20bFNkDPxqO4yXta7Mc4MSaeWZM1Z3Z8hEX-HxAlWpfJtavWIIvfslPlzW9vm_Fep6JNv7HWsFVYr_DqW12nXeknE2eMVVurdYEb0uqb1jd5d8BhH9-N7-mIOTbks2KKKUiDyniezvqVSv35f4UwBbmEwqtFRYoTg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="866" it="0" lt="866" ct="0" ts="1587564567269" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxNC1OaFREYWREc2hqbC1tNmY0cC1DRUFzSGtXYkR6RjFpZiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WOuBT6ySUVeeSUN4cjhmiKMqh-tiGi5GeGeLAcQNFO11if9cCvuRuVUx-YyF4cg3MfDz9lchc9B8cGQ4xo8kNlI-j6jhHfVo8hzAzWwADPrX3k6lvuXvHCGxmnkk4gIba88s2AgtfeU7o99KhQeVjbLuc0NPOGAUSLwEhILFATXmcfMe8Qjb19XS-eG3H8yOC0johH7ouD00Iz0Vj6L3XcPUCDGHO8UCI4pCKzvVH8OVgtBtG9UNC63XjkyD5lJt1rle88us079hpXUFpeVVU5nrTXgfnOlYrz7CXkU7j6NolAqWQzEF3c4-QDb-jjTrtCWjOV5PE7Wn77EE-kTqrQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWY0ZmQ1MjEtMmNiMS00NmNmLWFjMDQtODVjZmNiOWMyNWUy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxNC1OaFREYWREc2hqbC1tNmY0cC1DRUFzSGtXYkR6RjFpZiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WOuBT6ySUVeeSUN4cjhmiKMqh-tiGi5GeGeLAcQNFO11if9cCvuRuVUx-YyF4cg3MfDz9lchc9B8cGQ4xo8kNlI-j6jhHfVo8hzAzWwADPrX3k6lvuXvHCGxmnkk4gIba88s2AgtfeU7o99KhQeVjbLuc0NPOGAUSLwEhILFATXmcfMe8Qjb19XS-eG3H8yOC0johH7ouD00Iz0Vj6L3XcPUCDGHO8UCI4pCKzvVH8OVgtBtG9UNC63XjkyD5lJt1rle88us079hpXUFpeVVU5nrTXgfnOlYrz7CXkU7j6NolAqWQzEF3c4-QDb-jjTrtCWjOV5PE7Wn77EE-kTqrQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="881" it="0" lt="881" ct="0" ts="1587564567260" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxNi1YQ1FXa1NLS2NzRjEtc1BYSzFsazY1SjAyZkItM2VULSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.o98024l-kdnI-5eO0dS8jnq8lspPEPqKSl_32W5yK3BIlcM2zMKUsdjZL7X6axXS5-TkXz9N8DHaBasL5xniqII4wXQaDG4c1xD-UnxJb6OmlGLMyKpJm_rIT32Zjj8ZEZJzZtpEYyevm9t4iq1D4t0FX0YMktQfWQxiJ0IXxOQvPDoGvtX7m0isK3Ndj_So3yrGRde50Iuo1hqmLhisTqdIrHuR0l_SxYjbQ5RHN843K7-9NQNPmJBeL-cYsuqToOukXnZNSuSLKRJBolY8fVkB5dgM2_gYnQNRdHTPn6DLtDCiGS5Uhw4SLQh_pSerdkezh87_HV64gT_VC71P4w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzhlNzMzZjgtMTRlYi00NGI0LWFkMDgtNGQ2OTAxMjczYmU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxNi1YQ1FXa1NLS2NzRjEtc1BYSzFsazY1SjAyZkItM2VULSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.o98024l-kdnI-5eO0dS8jnq8lspPEPqKSl_32W5yK3BIlcM2zMKUsdjZL7X6axXS5-TkXz9N8DHaBasL5xniqII4wXQaDG4c1xD-UnxJb6OmlGLMyKpJm_rIT32Zjj8ZEZJzZtpEYyevm9t4iq1D4t0FX0YMktQfWQxiJ0IXxOQvPDoGvtX7m0isK3Ndj_So3yrGRde50Iuo1hqmLhisTqdIrHuR0l_SxYjbQ5RHN843K7-9NQNPmJBeL-cYsuqToOukXnZNSuSLKRJBolY8fVkB5dgM2_gYnQNRdHTPn6DLtDCiGS5Uhw4SLQh_pSerdkezh87_HV64gT_VC71P4w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="887" it="0" lt="887" ct="0" ts="1587564567254" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1Ny1BVFN2TnUxcTJGM0NPRy1aWWtUUnFFVjVwcXBmNi10YyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Pgcmx_BIYpmGb-HgnMFrEJtYeglfDrvgAdLXWPI6NsbS3lWW-p-ADsRZQUt-xHUsM0NRFdhxhmo3JDPnqt7QRTsGktFe_uFslhuVx9sK6AUotpCRsJsdgeOXHwx2Em5AZx506MF1Lhtyw-UXC2r6sR3JyaclsjHd5t6lMeADy98ny1Wq9scfQos6XaO9ZkhdOpf_XCRlC-82ij9oZbueRmKcTmAw2M180ic0A0ekqU6C4AVgBdVPbrLZ93rt67XKXTi1gxyfGi71YvtHS8d0SKGYIAsbV-J7la4ARfutVBtWK5s6S823QMH14IYHhp1CrF1Ol0bP4a2Lr9LHcs7lzQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDE1YTk5ZjMtNGZkYy00Y2UwLWE5NGUtOTQ3N2Y4ZjhmZDc0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1Ny1BVFN2TnUxcTJGM0NPRy1aWWtUUnFFVjVwcXBmNi10YyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Pgcmx_BIYpmGb-HgnMFrEJtYeglfDrvgAdLXWPI6NsbS3lWW-p-ADsRZQUt-xHUsM0NRFdhxhmo3JDPnqt7QRTsGktFe_uFslhuVx9sK6AUotpCRsJsdgeOXHwx2Em5AZx506MF1Lhtyw-UXC2r6sR3JyaclsjHd5t6lMeADy98ny1Wq9scfQos6XaO9ZkhdOpf_XCRlC-82ij9oZbueRmKcTmAw2M180ic0A0ekqU6C4AVgBdVPbrLZ93rt67XKXTi1gxyfGi71YvtHS8d0SKGYIAsbV-J7la4ARfutVBtWK5s6S823QMH14IYHhp1CrF1Ol0bP4a2Lr9LHcs7lzQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="899" it="0" lt="899" ct="0" ts="1587564567243" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3MC1yS2J5d0R3LUFsWGpvQU5Fbmo1SGtBYzZZLTNuYmRiSSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.p5T4uwzLdrZtBdwskwddzWbk1187c7Hz-OLU7iQzYlGzCz-OzlOQ-MiYgD7g72GaYtZvhMpf7oaHX7tkgXvYNGwbm_SmI-THZQl2EyCGwSva6bjjD1IPkbjeQT1eAtxRzjjHvE8goiHRFd40wG8YR9prW0VOs-_KKUUdSwLbXoavSrClx6WmGvjBl6FBViu3tdkauBXbRLmo7Te7amYJUZA9phch9FSS-gxht03gP7AjI3WrVXfRMP9iXQAB0ImncpkkI8v_iVJouF5qBpNCeFCPHKxpAF2M4y8OoK3hvLBYezy9jJSdf2m9OPiDE3mS04ThTfxew6FczCsKMfPFzA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGNiMTY0MTMtMDhhYi00YTQ1LTg4YzMtYjcwOWIwNTY3ZTE2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3MC1yS2J5d0R3LUFsWGpvQU5Fbmo1SGtBYzZZLTNuYmRiSSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.p5T4uwzLdrZtBdwskwddzWbk1187c7Hz-OLU7iQzYlGzCz-OzlOQ-MiYgD7g72GaYtZvhMpf7oaHX7tkgXvYNGwbm_SmI-THZQl2EyCGwSva6bjjD1IPkbjeQT1eAtxRzjjHvE8goiHRFd40wG8YR9prW0VOs-_KKUUdSwLbXoavSrClx6WmGvjBl6FBViu3tdkauBXbRLmo7Te7amYJUZA9phch9FSS-gxht03gP7AjI3WrVXfRMP9iXQAB0ImncpkkI8v_iVJouF5qBpNCeFCPHKxpAF2M4y8OoK3hvLBYezy9jJSdf2m9OPiDE3mS04ThTfxew6FczCsKMfPFzA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="878" it="0" lt="878" ct="0" ts="1587564567264" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1OSwianRpIjoiSUQtVG9rZW4tMTU1MC1NNUJTMXpuV2w0WGZBd1MxRU54dUNrQ2RtcS01R2NVcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PXRy81BCq0D6eboKF7an0x_uvwZQ3YSsabyW55GUAR5akRuZVI2ka-55_3b0FBvWkEvku3hb0pe-NFKNKggle1oWQBxfW5LauKOgmMlgnTqlklvCWUWl2oseG8XHB-tAXROE5PGXdalUqHZkwf1ruDCJlChqD3UiSkoiGuZgHuub85m9o1BWOE9FTbSD6ypoW2NzLCA50srtu2W8u01W7WXuSUBLnk_YIwpG6V-uf9cE6Ck0kQQYMTNN1lBYDvIAcqttisKmqC7pMnMwUkNWcIwjXsbughelgYlQOnk877wkTVDJ6T35h4Cpuu1HnGyXintGw-w7KwyySA2-gXi7tA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDIwODFjMTgtN2E1NS00YjQ3LWI2Y2YtNjRkMjVmM2MyYjRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1OSwianRpIjoiSUQtVG9rZW4tMTU1MC1NNUJTMXpuV2w0WGZBd1MxRU54dUNrQ2RtcS01R2NVcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PXRy81BCq0D6eboKF7an0x_uvwZQ3YSsabyW55GUAR5akRuZVI2ka-55_3b0FBvWkEvku3hb0pe-NFKNKggle1oWQBxfW5LauKOgmMlgnTqlklvCWUWl2oseG8XHB-tAXROE5PGXdalUqHZkwf1ruDCJlChqD3UiSkoiGuZgHuub85m9o1BWOE9FTbSD6ypoW2NzLCA50srtu2W8u01W7WXuSUBLnk_YIwpG6V-uf9cE6Ck0kQQYMTNN1lBYDvIAcqttisKmqC7pMnMwUkNWcIwjXsbughelgYlQOnk877wkTVDJ6T35h4Cpuu1HnGyXintGw-w7KwyySA2-gXi7tA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7262" it="0" lt="7262" ct="1" ts="1587564560881" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1933-aExOZs7ow1zUroS5bWv-nxRowpTrHfDgkOX-HLp3QDHbvJRJmSQd-GAA2XHM2wqWG1wc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1935-yOoAJtU93geJ3f4gLu06oBSGTOUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0db6a11f-21f5-444d-933b-f9f63bf40d74</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1935-yOoAJtU93geJ3f4gLu06oBSGTOUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="877" it="0" lt="877" ct="0" ts="1587564567267" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3OC1uZlg3cmhnWFA4bXBRT1hHUEpZTGFtd0pGbmlXbXkxQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NAD4qOR7G0C6jYihLPAYVpkoWgzLnmnviRv8UoMe3ftPhYj7YKQf9006OCUGjHX4qUJ1ws6uP56TzcPQz-UsoYC2-yQqvoWZv1tQiy0-uyfp30nuLeTtA3wxCRNJcN0PVob99KB4VIvBmrbQtE54pxXcdyTTaGVwGntgq-no6ypuV4O6XJrso05Cx6BrkjIzoDCU7BiAbRqPqokldhWOPnhljGWG8B4EchxtT89c9cbU1bHxekVSCAH_eid9iUejVLJR8Kw_l9CsP8R7-na1AAH7aA1ESENLb6qtEPGcGBaIFHEDt_1KsNw16EeH4JRglxPg_YpsCPn8W9-gTQtpCQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmNhZmE2NWEtNjlkOC00ZTlhLTg0YzYtOTM3ZGRiMTMxZmUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3OC1uZlg3cmhnWFA4bXBRT1hHUEpZTGFtd0pGbmlXbXkxQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NAD4qOR7G0C6jYihLPAYVpkoWgzLnmnviRv8UoMe3ftPhYj7YKQf9006OCUGjHX4qUJ1ws6uP56TzcPQz-UsoYC2-yQqvoWZv1tQiy0-uyfp30nuLeTtA3wxCRNJcN0PVob99KB4VIvBmrbQtE54pxXcdyTTaGVwGntgq-no6ypuV4O6XJrso05Cx6BrkjIzoDCU7BiAbRqPqokldhWOPnhljGWG8B4EchxtT89c9cbU1bHxekVSCAH_eid9iUejVLJR8Kw_l9CsP8R7-na1AAH7aA1ESENLb6qtEPGcGBaIFHEDt_1KsNw16EeH4JRglxPg_YpsCPn8W9-gTQtpCQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="879" it="0" lt="879" ct="0" ts="1587564567264" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5Ny1CLWhidXRoc20wVFJUZ3VQT2ZuVWk1WjVqdDVUSW44VCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OCHv0t3b_CzHGJ2yW7IMJaD55p9zN97iVY8_oRN-qRhqsrVfCZ8Guf9iAjlPnQOxNLccfmg18TMTrLBhqqckgPuxTTldHp-UgrTDdUhrctdLY8PyvuV7xNV6s0EmAzE8ugmpGojpYxkV32OzLvvst7UeyvVgg9KlmwKiezufFIugu2lEWMrtpr3AR6PvcPonfO5uP3VbmbFIxJuD9AR8xopGxWIONG3Le2yeNBzL8PKLxXRC-8wT7i6srWEkvblGCqPgeiMjTkon1ymKxLfuhPLhj4S4V3BXoR0B6xfwHPPUVkBRwOz_wR95aQAw07EtZrI2w6gq3wGhv_oLyU5U8g
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODI1YTlhYTQtMDBmYy00YmYxLWEwNGEtNzQ5MjliZDBkYTg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5Ny1CLWhidXRoc20wVFJUZ3VQT2ZuVWk1WjVqdDVUSW44VCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OCHv0t3b_CzHGJ2yW7IMJaD55p9zN97iVY8_oRN-qRhqsrVfCZ8Guf9iAjlPnQOxNLccfmg18TMTrLBhqqckgPuxTTldHp-UgrTDdUhrctdLY8PyvuV7xNV6s0EmAzE8ugmpGojpYxkV32OzLvvst7UeyvVgg9KlmwKiezufFIugu2lEWMrtpr3AR6PvcPonfO5uP3VbmbFIxJuD9AR8xopGxWIONG3Le2yeNBzL8PKLxXRC-8wT7i6srWEkvblGCqPgeiMjTkon1ymKxLfuhPLhj4S4V3BXoR0B6xfwHPPUVkBRwOz_wR95aQAw07EtZrI2w6gq3wGhv_oLyU5U8g</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3013" it="0" lt="3013" ct="2" ts="1587564565131" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1936-EQJoDIFIsvvBfLuRv6m7aiav00wkuZBRo-8FMM6vNN54XrAImR0FI43QElsc6kK3rtoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1936-dYVNBog-FDJH3FqELMm9zet0WnQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=06932783-adfe-42b2-8e4f-f3f5d7d331ee</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1936-dYVNBog-FDJH3FqELMm9zet0WnQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="874" it="0" lt="874" ct="0" ts="1587564567270" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxNy1hcTd6ZUx3Smo1d2RzSkZpOWFlOTZ0LWs2OC11aEdKNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.De-zEElC9UdnX_YBPDfqxRzlwfj_6iV8_YPfdxSL6Lx2uCyzzBCJgSp0BQ42HKD2kWPL-wBJ5rQ9lQWNYWArBwkdJN2khlSZDfkns5NSpiWuCEl_2YeOv1i-c0ZWDnMBZblwQnrrotkEgN8AWMbP57v4xaAoeUWh_7mFZXxrig3p2SZ6d9EXMro_q7kfDsKP4Hfh6LfvC-DSkborzItdzF5wa9m2pAeAATkUiAQHVwwn_OY8wIu53hKIfECHwq82P5A-zr8P1ZSj0YGvf_clR8SWDS5ajRLWBf7ut758aVv3CVseC6wVStwsgVk0KSVNXMHZ17XIS39VhRukUPd0uQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmYxZjkxOWItYzkzNC00ODIyLTliNTYtNDdjOTljNmI5OTY0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxNy1hcTd6ZUx3Smo1d2RzSkZpOWFlOTZ0LWs2OC11aEdKNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.De-zEElC9UdnX_YBPDfqxRzlwfj_6iV8_YPfdxSL6Lx2uCyzzBCJgSp0BQ42HKD2kWPL-wBJ5rQ9lQWNYWArBwkdJN2khlSZDfkns5NSpiWuCEl_2YeOv1i-c0ZWDnMBZblwQnrrotkEgN8AWMbP57v4xaAoeUWh_7mFZXxrig3p2SZ6d9EXMro_q7kfDsKP4Hfh6LfvC-DSkborzItdzF5wa9m2pAeAATkUiAQHVwwn_OY8wIu53hKIfECHwq82P5A-zr8P1ZSj0YGvf_clR8SWDS5ajRLWBf7ut758aVv3CVseC6wVStwsgVk0KSVNXMHZ17XIS39VhRukUPd0uQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="883" it="0" lt="883" ct="0" ts="1587564567262" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwNi1lYnBPN1RLVlRISUM0dHp6bGRCUnVYZE9hci1vbURLSiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qRqPJRNtIcS-ZzfzPbM06dxHnwRBJwTevKpIR0ZZRvS56t5pVYoyjhPJHsGdFUaB3Yl5bdjSS3fsXIhFeCXohvYg_jzYMZYlFrfxxYIL2tBQyzC9MVvV8yRXyS4WDIMp4fWCVR148caaL5sB2ubuKc_YTZHDqQgexlmMtck8JnlotSzoxAE_S32N0_NN1WwxfhOx1M5hAwiLcRK6Jqof1auEmFLyItEtWnMlWefdMFCmv86a0-jNsCyAgW874l7anSSBCiFdQ1Z3-2mcLybifOeZmKKRmIqwuxi6xLLApDIBcLop1rvG7AwMD14i6DfTg9HhMZ9kiEd8uQhm6prW0w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjFmNjU1ZDctOGYzYy00NTZmLTg1YzctY2JiMWI5NDVmNDg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwNi1lYnBPN1RLVlRISUM0dHp6bGRCUnVYZE9hci1vbURLSiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qRqPJRNtIcS-ZzfzPbM06dxHnwRBJwTevKpIR0ZZRvS56t5pVYoyjhPJHsGdFUaB3Yl5bdjSS3fsXIhFeCXohvYg_jzYMZYlFrfxxYIL2tBQyzC9MVvV8yRXyS4WDIMp4fWCVR148caaL5sB2ubuKc_YTZHDqQgexlmMtck8JnlotSzoxAE_S32N0_NN1WwxfhOx1M5hAwiLcRK6Jqof1auEmFLyItEtWnMlWefdMFCmv86a0-jNsCyAgW874l7anSSBCiFdQ1Z3-2mcLybifOeZmKKRmIqwuxi6xLLApDIBcLop1rvG7AwMD14i6DfTg9HhMZ9kiEd8uQhm6prW0w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="901" it="0" lt="901" ct="0" ts="1587564567244" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwNC1PZE5HZTNUUjlEcFBmWjRScG42aXZ5dUplV0ttOFRNdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RxCy7ptzBwx4zFZHiC4KGlzHBQd9mScI5hs8_MeJW7WhRnb2___LV7shXNlGdYeI5fPatzsYjIUL5ez4CR8y9yDc5Sa2k1Kf-2uZNX0M3rBd3ixfMW1KACtRmjeN8r5JAlPA5xzLmk4crMdHnbL8dV-NE9KcDGNjh3tyQ2FuIwPDDj-AdWhcwRHYxgAOjRftbEFmk3U1f8u77i30RI_1-Gdf4pybpgvqq73VrRHcXzrOtd_YHExHbVYbJ3iFZJfTyUJeouTyyv9V9t-wriMv3wyiQ6JGHoT0LDX8DP6yHwPgsOPDBZik-8mjiitM4SQpceYPM3jz8kbRPesjwGuwLA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODAwZjM4OGEtZDc0OS00MTNlLWEyYzYtNTQwZjZiOWM3NjUy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwNC1PZE5HZTNUUjlEcFBmWjRScG42aXZ5dUplV0ttOFRNdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RxCy7ptzBwx4zFZHiC4KGlzHBQd9mScI5hs8_MeJW7WhRnb2___LV7shXNlGdYeI5fPatzsYjIUL5ez4CR8y9yDc5Sa2k1Kf-2uZNX0M3rBd3ixfMW1KACtRmjeN8r5JAlPA5xzLmk4crMdHnbL8dV-NE9KcDGNjh3tyQ2FuIwPDDj-AdWhcwRHYxgAOjRftbEFmk3U1f8u77i30RI_1-Gdf4pybpgvqq73VrRHcXzrOtd_YHExHbVYbJ3iFZJfTyUJeouTyyv9V9t-wriMv3wyiQ6JGHoT0LDX8DP6yHwPgsOPDBZik-8mjiitM4SQpceYPM3jz8kbRPesjwGuwLA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="880" it="0" lt="880" ct="0" ts="1587564567265" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3MS1VeUtPdEJFbmJIWS1PMVdZdGdOQUNYNlBvbWpydHRnRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YPQSH1bC9BFs82HGET76jFmbzqkQnxfDV1yJ5qznAbraa8ZY4lmP3zZOcdEUaIRgzMPtoH_EhdcoTcEWhneQPea8SfDO6ly3zy-kj7ZuwCzpuLkSroNeFl3_zo-0sbqul2cwNeLyN4H1PF8uaMJ0FvhT270inPD00xxg4f89LD47fXvf6XG8UzCv0CK6aKQRyI6RPN3REaLQnD3pnPMCzbxqCLB4E7hbMdhrZiZ7ZBG0E_q2SdatMTPZ0wXNqlmSRuLBWO9AZcL3D5e5jQO_wI38NR5rqyCP7rtoAWAWWJGPSVtTlsirtcnBx_zh-2AA9oI8GAFcY93AlMUIOF4N0A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzgwNGY1MTgtYWYwNC00YmYwLWI1MjItODE4ZmUwMTM2MGQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3MS1VeUtPdEJFbmJIWS1PMVdZdGdOQUNYNlBvbWpydHRnRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YPQSH1bC9BFs82HGET76jFmbzqkQnxfDV1yJ5qznAbraa8ZY4lmP3zZOcdEUaIRgzMPtoH_EhdcoTcEWhneQPea8SfDO6ly3zy-kj7ZuwCzpuLkSroNeFl3_zo-0sbqul2cwNeLyN4H1PF8uaMJ0FvhT270inPD00xxg4f89LD47fXvf6XG8UzCv0CK6aKQRyI6RPN3REaLQnD3pnPMCzbxqCLB4E7hbMdhrZiZ7ZBG0E_q2SdatMTPZ0wXNqlmSRuLBWO9AZcL3D5e5jQO_wI38NR5rqyCP7rtoAWAWWJGPSVtTlsirtcnBx_zh-2AA9oI8GAFcY93AlMUIOF4N0A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="880" it="0" lt="880" ct="0" ts="1587564567265" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4NC1FUnhva05mV2psMHFSck5BWlRheHNZdDRmRDNNbGs1diIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UV_-_Zozu_dl0Npp6_TUbWDpYV9fVYxJDwedsjWEF0XiOakAmCT5wsiPoHizPjdIZIEOhXasH85sFsZi8k5JQcC8ZpWlZxEDm5scvZXgENLhF5baMhsl7wVgbrVQC_DMJJ7OfE-qYpCpg27418hlvg-jYJ6hbWEteT_WJmUlEHiB6P7dUt6sC1ew4C6F7ohx7SRdwulvnLguiIKl0nGlkHBp--vASDdWbB9O9FJZFKYuBrgjU7x43RnJbgIz7-LMtYMGIYO6gtw7br0jN-9Z8teKVmLb3xM76az5404L0fTMCUBG60LQrjo1V7z6SLO0lhupFLw9evJLqHVCzLPEOw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWIwYjQ5NDEtODAzZi00YjI1LWEyMDAtZWM2YTU2YWUxMTYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4NC1FUnhva05mV2psMHFSck5BWlRheHNZdDRmRDNNbGs1diIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UV_-_Zozu_dl0Npp6_TUbWDpYV9fVYxJDwedsjWEF0XiOakAmCT5wsiPoHizPjdIZIEOhXasH85sFsZi8k5JQcC8ZpWlZxEDm5scvZXgENLhF5baMhsl7wVgbrVQC_DMJJ7OfE-qYpCpg27418hlvg-jYJ6hbWEteT_WJmUlEHiB6P7dUt6sC1ew4C6F7ohx7SRdwulvnLguiIKl0nGlkHBp--vASDdWbB9O9FJZFKYuBrgjU7x43RnJbgIz7-LMtYMGIYO6gtw7br0jN-9Z8teKVmLb3xM76az5404L0fTMCUBG60LQrjo1V7z6SLO0lhupFLw9evJLqHVCzLPEOw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="880" it="0" lt="880" ct="0" ts="1587564567266" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2My1lWnRCaGEtY0x0MkV3MmEybU1LSG1XYnd2WkV4bnU0MCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oOFkwVmu2fTxRM_HRfYFgo0eluyF8QkneyZbPyuUPzfek6qZB4hQR2r04lj3uCZg-IUODLUnBKH9qemtRb4Sk3WuToHaORIeAyZLQ2tKWfExpOLNjSvm8xFz7h_bojSWxVLBzFSjL7IiVhecO0K47JQ0oH3GExCOLuaEtELc_YextlGdsmz6k0NqAp-gw0riG6nBcMFIv2-YY3a-VTv5TMnvn2ItYNA9ARyBylQPeHsc8yU_hzoHXa4MvBZcYXKKAgpOGRknzFyYhTmDPIM8LzaeXOEZrJNhxXdtQYTGKmAj6isQTfApyUk6CJ4XhXGLs1LS4kjskKHvJx5bxEgIsQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWVlYWNkMGYtNTc4YS00ZjU1LWI5N2MtYzU4Y2I1ZWNjY2Q5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2My1lWnRCaGEtY0x0MkV3MmEybU1LSG1XYnd2WkV4bnU0MCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oOFkwVmu2fTxRM_HRfYFgo0eluyF8QkneyZbPyuUPzfek6qZB4hQR2r04lj3uCZg-IUODLUnBKH9qemtRb4Sk3WuToHaORIeAyZLQ2tKWfExpOLNjSvm8xFz7h_bojSWxVLBzFSjL7IiVhecO0K47JQ0oH3GExCOLuaEtELc_YextlGdsmz6k0NqAp-gw0riG6nBcMFIv2-YY3a-VTv5TMnvn2ItYNA9ARyBylQPeHsc8yU_hzoHXa4MvBZcYXKKAgpOGRknzFyYhTmDPIM8LzaeXOEZrJNhxXdtQYTGKmAj6isQTfApyUk6CJ4XhXGLs1LS4kjskKHvJx5bxEgIsQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="886" it="0" lt="886" ct="0" ts="1587564567260" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwMC1WM3hMTTlQS1NQNTVjc1FHbzRlOTR2cHFqOGpZRE5kWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RUVVghlnwwe5rfFqKUaC9eihXh9jlyWDwyBeIhsNQH7_L0FQuDyn1mwdJqm5qNwPX6ztrpCplfLUbz31FvHS39PtOZH_QY63kTzk1_5SQJ12j0k6kFdvOI_MaxNvZlAAleGutnIiAFs5gZtfm_sRM32ZtrujXuu3atoS_x1smVSHdrNaaOZ-C2amLAORxm-9fPX8phz0h0v_hFR8OoUrz9j5WXtbPy8KCBbainq6I6hv_EPAKvqXgwKDhmBJU37bF_qOPoZMS_p-SBrktgRkn4kgQEr8sWyfEn4exM8WEVFOEeP9fqUxnXlk4MAB0mM62Trnja5-Tc1wWZ6FeJ4F5A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTdhMzI1MGYtMjFiNS00NTY1LTg1OTktZWNiMjQ2MTQ4YmU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwMC1WM3hMTTlQS1NQNTVjc1FHbzRlOTR2cHFqOGpZRE5kWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RUVVghlnwwe5rfFqKUaC9eihXh9jlyWDwyBeIhsNQH7_L0FQuDyn1mwdJqm5qNwPX6ztrpCplfLUbz31FvHS39PtOZH_QY63kTzk1_5SQJ12j0k6kFdvOI_MaxNvZlAAleGutnIiAFs5gZtfm_sRM32ZtrujXuu3atoS_x1smVSHdrNaaOZ-C2amLAORxm-9fPX8phz0h0v_hFR8OoUrz9j5WXtbPy8KCBbainq6I6hv_EPAKvqXgwKDhmBJU37bF_qOPoZMS_p-SBrktgRkn4kgQEr8sWyfEn4exM8WEVFOEeP9fqUxnXlk4MAB0mM62Trnja5-Tc1wWZ6FeJ4F5A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="882" it="0" lt="882" ct="0" ts="1587564567264" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwNy1mWDFZbXlyeS1JcXkxRFFDbDBSbkcyRmxUUGp6UEJkOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pzeDzqfGJn8t1pGiDHMYF5sIpp0bZpZGOPzQP6V-hwc4qZ2eSomy5fr1U3rW4SNIZ68uLSSf8FJUkIkiuZrzZ6pmyuevoGwT3Oya_bUHiuCg1XOu3yvFB-8sO827cKfZhvEn7T5kmHB9Wq4VKrjUTgHM45zUGGwmp3voLaQCtLsXoHygS4I4yxphfJxPYXADsR0iWCzcTtv0OLVpO7US9FtVcskPuUMXLMTzq72zvLwLDtBYuCrrjQyKk2PX2y6kSBclWMkqcrn9L3vk8981ciQUazZ2JhiP0gj86Chz8V_jSiZIq3PWQ79VnwLfp5LK0SQHoq0BjUrCLYH7fouAsg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWIxZjBiNjctODA0Ny00NjY2LTgzNWMtZGEwMmU3MWQ4NTRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwNy1mWDFZbXlyeS1JcXkxRFFDbDBSbkcyRmxUUGp6UEJkOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pzeDzqfGJn8t1pGiDHMYF5sIpp0bZpZGOPzQP6V-hwc4qZ2eSomy5fr1U3rW4SNIZ68uLSSf8FJUkIkiuZrzZ6pmyuevoGwT3Oya_bUHiuCg1XOu3yvFB-8sO827cKfZhvEn7T5kmHB9Wq4VKrjUTgHM45zUGGwmp3voLaQCtLsXoHygS4I4yxphfJxPYXADsR0iWCzcTtv0OLVpO7US9FtVcskPuUMXLMTzq72zvLwLDtBYuCrrjQyKk2PX2y6kSBclWMkqcrn9L3vk8981ciQUazZ2JhiP0gj86Chz8V_jSiZIq3PWQ79VnwLfp5LK0SQHoq0BjUrCLYH7fouAsg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="876" it="0" lt="876" ct="0" ts="1587564567271" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3NC1SSU9uN2cxV0c1OTNhd2VTd1RnbzhCWWViUXBtSC1TVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TOXQMWcBM2GYTGY2P2NoEGjOBUmQxy0077-Il8QOhsUPNG1-CwCuU47F4uQp3lK-FdQdsrLvasJPiBGZFdXbKdjNcH4Z6nwt3z7hl6ROwj2hgevyQw19CsqwZaEPihcH45x8wuhV4iDXrzBqwx1xMhFq4dQX7aocM7oiWrSuSQ0IkBRHxM4Zjhr85MOa8iQvaooP9MPQgfIi9t5m9TjUJ1IgrPH7_p_mwp5vO-01bNAlGNXhyKlflftB_5nlyYoxQSUgeE_-bliRcBGY10Jcmy-xXYlwEzdCWzBrA9e6HdGCNDjdKKbuCIH_sYJMS5rKjL094A3z8lDG9PAyurrVbA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmI3MTA0YmYtNGY2ZS00ZjUyLWFlZmMtODU0NzM3M2ZkYzI0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3NC1SSU9uN2cxV0c1OTNhd2VTd1RnbzhCWWViUXBtSC1TVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TOXQMWcBM2GYTGY2P2NoEGjOBUmQxy0077-Il8QOhsUPNG1-CwCuU47F4uQp3lK-FdQdsrLvasJPiBGZFdXbKdjNcH4Z6nwt3z7hl6ROwj2hgevyQw19CsqwZaEPihcH45x8wuhV4iDXrzBqwx1xMhFq4dQX7aocM7oiWrSuSQ0IkBRHxM4Zjhr85MOa8iQvaooP9MPQgfIi9t5m9TjUJ1IgrPH7_p_mwp5vO-01bNAlGNXhyKlflftB_5nlyYoxQSUgeE_-bliRcBGY10Jcmy-xXYlwEzdCWzBrA9e6HdGCNDjdKKbuCIH_sYJMS5rKjL094A3z8lDG9PAyurrVbA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="881" it="0" lt="881" ct="0" ts="1587564567266" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYwOS0yeE1nSmJ4RFNTVk9ETUNwLWNwVFpScXoyeU9wVHBFcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TD7GGSF2a2WVIpU-0ZZafoIh9zsL_h8SNU6vOlHdKE5UJyFNJrlWa3gwf8tMdNhjGAQLfjNSXZkQ6joLQJadzHEpBfNlfsEYeP4Kf9K6YvzkiuCTnZCY658wiPbH_MWrZTzWhHsWp9lj_Wbk8ihpq4zY_ohKX-aV0yDzRkzgTdBw0nj5MRPXsad9M7xCvQAysIWGgvTnSQChYZJ6lJicSJGQNEl1yEli9rQ9vn7rjtVu7GOQnSkRXafVQsK7wVXF2isEFZlR4DKD_IWL76GIukPqLaLEUxLwiSJ4tqUfM3nKrXasL46QvkBiUrj-NWzulRbaRWlV1RBnPrLJdSqC1w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODllODIwODYtYmYzOC00NDY0LTgzMjgtZTJmNjJkZDZkMGRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYwOS0yeE1nSmJ4RFNTVk9ETUNwLWNwVFpScXoyeU9wVHBFcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TD7GGSF2a2WVIpU-0ZZafoIh9zsL_h8SNU6vOlHdKE5UJyFNJrlWa3gwf8tMdNhjGAQLfjNSXZkQ6joLQJadzHEpBfNlfsEYeP4Kf9K6YvzkiuCTnZCY658wiPbH_MWrZTzWhHsWp9lj_Wbk8ihpq4zY_ohKX-aV0yDzRkzgTdBw0nj5MRPXsad9M7xCvQAysIWGgvTnSQChYZJ6lJicSJGQNEl1yEli9rQ9vn7rjtVu7GOQnSkRXafVQsK7wVXF2isEFZlR4DKD_IWL76GIukPqLaLEUxLwiSJ4tqUfM3nKrXasL46QvkBiUrj-NWzulRbaRWlV1RBnPrLJdSqC1w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="875" it="0" lt="875" ct="0" ts="1587564567272" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1NS03eEg4ZzRYaFlYZzVER0VPNDJCc2doRWtpRWVHLVB1QiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ofITvQxQ_ne83gK6P8sBfkLtZmi-i7kSXRZDvPIhkHV1fJblcLzth1f6SVJBLwlNdF2bHfDt3tzz-1aCaqbRuUgoYwdVfC0xR0WBn_nzaKiOYCMfMBZVLad5xZrtRFeKyQKRvmVI03Sd5m72MjUnH8tJLwyvQqZ6ajbV0d1LlPd23FfKIwWU2DhTP7s7ppNPDBAb5Gv2mVLlUWMnjc86fdOs2L4hFX2JWGjhQC2PjMeZIma2WGxhQVYb5fVOj_rjaJjZ6tlLvrvhOKUcjuoCEs3RFFpQqbkjJW3BhjeHv4aGRQjCNqDKT1KSxAFgRhdJsvQ3jSoS4FR9ZdRWjRHLGw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODkwMWNhMjAtNzFkYS00NzEyLWE5YTEtMDMyYmNlMzM2ZTJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1NS03eEg4ZzRYaFlYZzVER0VPNDJCc2doRWtpRWVHLVB1QiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ofITvQxQ_ne83gK6P8sBfkLtZmi-i7kSXRZDvPIhkHV1fJblcLzth1f6SVJBLwlNdF2bHfDt3tzz-1aCaqbRuUgoYwdVfC0xR0WBn_nzaKiOYCMfMBZVLad5xZrtRFeKyQKRvmVI03Sd5m72MjUnH8tJLwyvQqZ6ajbV0d1LlPd23FfKIwWU2DhTP7s7ppNPDBAb5Gv2mVLlUWMnjc86fdOs2L4hFX2JWGjhQC2PjMeZIma2WGxhQVYb5fVOj_rjaJjZ6tlLvrvhOKUcjuoCEs3RFFpQqbkjJW3BhjeHv4aGRQjCNqDKT1KSxAFgRhdJsvQ3jSoS4FR9ZdRWjRHLGw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="877" it="0" lt="877" ct="0" ts="1587564567271" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2OS01ZmlVVkRHdDl1MFZpcWJCSk1ZZlZBUFZvZEwzQ3ItNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gXx2DJI79J15KVbZ5rEV52nyuGQyc0AetQcYb1t3TBI2vAXiemSzyzORrq0D-Cu_G5-IQfHhY7E6ERlivrJt5I4wbJRijSj7E_MAoE1fzqXxfAdcR4n9sSYIHvFU_ConMnvHe6772ZUJsj1Z3AF_Xvjz_NFYcf3b1IKyg9pxAyg32wQDei6pq6fvCW6EkeGTCqfomvZwteB7EkBfZ9765OJEGzOZjIpi6Va3PeTQnRjRS8LHgCtUVF0xut6Vr1D38y-jJ3RmrjMi5fnvK68btCbw7LR3oohpf6SD-etLPQEquY2f9-MVPGhbPmmb1tFYDlbUmeNyC-lR4AJhFkNa_A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTNkOWJiMTUtOTBlMi00MGQyLWE2YjQtZjVmMjViODUwZWNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2OS01ZmlVVkRHdDl1MFZpcWJCSk1ZZlZBUFZvZEwzQ3ItNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gXx2DJI79J15KVbZ5rEV52nyuGQyc0AetQcYb1t3TBI2vAXiemSzyzORrq0D-Cu_G5-IQfHhY7E6ERlivrJt5I4wbJRijSj7E_MAoE1fzqXxfAdcR4n9sSYIHvFU_ConMnvHe6772ZUJsj1Z3AF_Xvjz_NFYcf3b1IKyg9pxAyg32wQDei6pq6fvCW6EkeGTCqfomvZwteB7EkBfZ9765OJEGzOZjIpi6Va3PeTQnRjRS8LHgCtUVF0xut6Vr1D38y-jJ3RmrjMi5fnvK68btCbw7LR3oohpf6SD-etLPQEquY2f9-MVPGhbPmmb1tFYDlbUmeNyC-lR4AJhFkNa_A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="879" it="0" lt="879" ct="0" ts="1587564567269" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2MS02c1ItLWFxN1NtOU41NW9KMUo0TGktUm5rMkZHVlJNMSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Wt0KRwUsMrIcaTrHrNcABPx-dqE09yYxCCLQ3o7lNcw9_e3vejnWFhinJrPfe7G6fv9TawWmC9ffK4hxgdCh9wR13yOG1g0rs5oAV4JjtMnOtkAU0GqF223Dst2c7VHXYDPYizdHWs8aFz3xQ_7MNYYe4CMInJnyZocKQICGl200IVpqTcoNLzs-kanDjU-ed5OWdw2A7CWNaExkjQP_caRE2CnI4_THi5OEfUgcmC7Nig_ThHBhByuzWvmvJLddrnyliF_yZORzjP4Q6YyF4F43zfjmkV6mHrFr_4J-u1VahC_lttrKAdz6disaAE90ULEoBgiM7ytp4QFG76Y-FQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTExZGNjZjEtYWViYi00MWE4LThlNjQtOGMxMWUzOWFjNTZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2MS02c1ItLWFxN1NtOU41NW9KMUo0TGktUm5rMkZHVlJNMSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Wt0KRwUsMrIcaTrHrNcABPx-dqE09yYxCCLQ3o7lNcw9_e3vejnWFhinJrPfe7G6fv9TawWmC9ffK4hxgdCh9wR13yOG1g0rs5oAV4JjtMnOtkAU0GqF223Dst2c7VHXYDPYizdHWs8aFz3xQ_7MNYYe4CMInJnyZocKQICGl200IVpqTcoNLzs-kanDjU-ed5OWdw2A7CWNaExkjQP_caRE2CnI4_THi5OEfUgcmC7Nig_ThHBhByuzWvmvJLddrnyliF_yZORzjP4Q6YyF4F43zfjmkV6mHrFr_4J-u1VahC_lttrKAdz6disaAE90ULEoBgiM7ytp4QFG76Y-FQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="887" it="0" lt="887" ct="0" ts="1587564567261" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5NS0tYnF6RXhJQ2Nqem1nVGZRQmQ4ek9OWURnWlc1RFJuZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ds-ESFCX_PptUw8H38bBrFqfxmL2GrC4xL0hhWGRaKNnQkKaKwkacsAKMI6sT9ZatHBFcD1kdAiRqsgoWxvzMJ9esb7AuJJ5DS0wA1Ri3W_fi4FMBKjav-TxwJxDcxj-2JWTqgL0zSoYylHYFCUSRnmhj1n9Cn5OBk_9Lwii9cNbyMAdrksuSu3zfzK1lCYkBNmY9ImoATg0_TLRZtg_Y7nRW96lfEnYtd_sHWtJh3ncRm_mLId0SIf6QLFQQ09Y2Dt3gsut1Lz6y1lV--xIEjBxl6_Mx_cNadRt93jIdG02puVCs2MvweU2lXU413rzpTZHe7VN-wVCI-bHKKag4Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDlmZTQ1N2ItN2JjYy00MWI0LTliNmYtYTI1NzkxMWIxMTcx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5NS0tYnF6RXhJQ2Nqem1nVGZRQmQ4ek9OWURnWlc1RFJuZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ds-ESFCX_PptUw8H38bBrFqfxmL2GrC4xL0hhWGRaKNnQkKaKwkacsAKMI6sT9ZatHBFcD1kdAiRqsgoWxvzMJ9esb7AuJJ5DS0wA1Ri3W_fi4FMBKjav-TxwJxDcxj-2JWTqgL0zSoYylHYFCUSRnmhj1n9Cn5OBk_9Lwii9cNbyMAdrksuSu3zfzK1lCYkBNmY9ImoATg0_TLRZtg_Y7nRW96lfEnYtd_sHWtJh3ncRm_mLId0SIf6QLFQQ09Y2Dt3gsut1Lz6y1lV--xIEjBxl6_Mx_cNadRt93jIdG02puVCs2MvweU2lXU413rzpTZHe7VN-wVCI-bHKKag4Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="873" it="0" lt="873" ct="0" ts="1587564567275" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1Ni1yQmloVEFGTEVlLXFxV3NTcGRxc29DYkdZeHFweW1hVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oh-HEZJFD6LMnYPjiLcZBYV1gnCeYZDDZcqlvcRWLzBcZIcKZznB59OJCi5EulhVQFfymbbU8H805DI761EUIAtsu__0Q2FyhrRu-w1jlE4wTVi4GCXIDxnu7QFy1ZoLEkXdLxCSl01aB5dszEOds5jKzb5I9Vi4Bnx1FFEYkoMc2CvTPN31fCXBAM_BK_JtsdI0vRDRuDRCsg5K-zkiKqZYI1vv_KWKjLL3VIxBmFddIjqqksAidYiDt7ysehEMoJ7KEeY-67IMwtGHtexURhtaVLNm0WT-QDg4FgtbAnMdQ8TsexWVMVquAZr4k0eJ_CvfElaz8Y8laSzmYbTerQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWM4NjE0NWItNWY2Yy00NjBlLTkwYzEtZDk5YjZjZGVhMjg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1Ni1yQmloVEFGTEVlLXFxV3NTcGRxc29DYkdZeHFweW1hVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oh-HEZJFD6LMnYPjiLcZBYV1gnCeYZDDZcqlvcRWLzBcZIcKZznB59OJCi5EulhVQFfymbbU8H805DI761EUIAtsu__0Q2FyhrRu-w1jlE4wTVi4GCXIDxnu7QFy1ZoLEkXdLxCSl01aB5dszEOds5jKzb5I9Vi4Bnx1FFEYkoMc2CvTPN31fCXBAM_BK_JtsdI0vRDRuDRCsg5K-zkiKqZYI1vv_KWKjLL3VIxBmFddIjqqksAidYiDt7ysehEMoJ7KEeY-67IMwtGHtexURhtaVLNm0WT-QDg4FgtbAnMdQ8TsexWVMVquAZr4k0eJ_CvfElaz8Y8laSzmYbTerQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="882" it="0" lt="882" ct="0" ts="1587564567267" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NCwianRpIjoiSUQtVG9rZW4tMTYxOC1xUy1ndTRkQS1ib2w3dVFCcDNDNHN2RVBxZFVTeTFqWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gzBl2xbHR_swzX1W5H43UqY7kwRx6HAAJD807VhHb7JPRYi06UJrIVyZkPGLkN4hbBF2_TGQ4776JiEcsbKoxzOhIelsRtRWOsDyyQCcfG6YybkR9iKX0xzRvydvHinFslb60M1X51E1muGHnU1wZVXYpjt__zvykF3PJPXEqJMmz6vbx4CxEtbsyNiZtqwZmsTRLan1GJqxsgv9X8OwALot4uS9FyPU8rDUzDqga2GE_9dDtVIH14H-_byFJNXOWQgwJWX3I44gEfVUpeNfSBHyv88-L7Rzvp3lXbQA8t2zjmsqfYzTdqvqUdj7c54OGl0lc_fj8Ahuhq4t8SdxSg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjlmYmRiOGItMmQxYi00MWI2LWI1YzQtMGRjZWExY2M5OGUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NCwianRpIjoiSUQtVG9rZW4tMTYxOC1xUy1ndTRkQS1ib2w3dVFCcDNDNHN2RVBxZFVTeTFqWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gzBl2xbHR_swzX1W5H43UqY7kwRx6HAAJD807VhHb7JPRYi06UJrIVyZkPGLkN4hbBF2_TGQ4776JiEcsbKoxzOhIelsRtRWOsDyyQCcfG6YybkR9iKX0xzRvydvHinFslb60M1X51E1muGHnU1wZVXYpjt__zvykF3PJPXEqJMmz6vbx4CxEtbsyNiZtqwZmsTRLan1GJqxsgv9X8OwALot4uS9FyPU8rDUzDqga2GE_9dDtVIH14H-_byFJNXOWQgwJWX3I44gEfVUpeNfSBHyv88-L7Rzvp3lXbQA8t2zjmsqfYzTdqvqUdj7c54OGl0lc_fj8Ahuhq4t8SdxSg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="872" it="0" lt="872" ct="0" ts="1587564567277" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3NS1VNUxTSHhPMGozQVdaWWJwSHpKWUVCRVljM3liY3FvcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aXzGmF9NkJ5iA9FVqVO8wpb1ZyaKYzirpFySmBR3ruU_dDKBdjjGeWV1MlI-jrWByCEkRf1NXcsxw7RGsMUKFBzbS6jczQQlnyfL_FziVFhnZFHwqgnlgTUJVNi0CM2W6I0RxECzRAmU1SoKAAOTOdT73pdRHQblLLbxKF-0mdGalC8ul6cBk_8WCumF8IHHLhZT9sz0-KaqMH5NQ3Bg4UMjhcUvNmAutQOMXHSZ85249zhC41O0sQQN3mXOSqRHxi7_58r35MGN-2__8cjFjoxyfyFPjK6Yrc9fWYq8H35tiM8vdvTbMb9cXC8jvjd0PzqeGNU801GvXea-cwmhqw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODA0YjQ4NDYtOWIxOC00NWY3LWFiYmQtYjMwNWI2ZmVhNmE3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3NS1VNUxTSHhPMGozQVdaWWJwSHpKWUVCRVljM3liY3FvcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aXzGmF9NkJ5iA9FVqVO8wpb1ZyaKYzirpFySmBR3ruU_dDKBdjjGeWV1MlI-jrWByCEkRf1NXcsxw7RGsMUKFBzbS6jczQQlnyfL_FziVFhnZFHwqgnlgTUJVNi0CM2W6I0RxECzRAmU1SoKAAOTOdT73pdRHQblLLbxKF-0mdGalC8ul6cBk_8WCumF8IHHLhZT9sz0-KaqMH5NQ3Bg4UMjhcUvNmAutQOMXHSZ85249zhC41O0sQQN3mXOSqRHxi7_58r35MGN-2__8cjFjoxyfyFPjK6Yrc9fWYq8H35tiM8vdvTbMb9cXC8jvjd0PzqeGNU801GvXea-cwmhqw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="876" it="0" lt="876" ct="0" ts="1587564567273" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2NS1hQkpkeHVLRER3emhyN2FuWGIwZDE3MEZjTG9KeGMtdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Dwgh7AttRnkc_aMN2cBBhR1WBY3igsohT3HMffUYB0tlQI5jYP5kXEvRX-YbjhuGSS7jlJwRyhBKEmNfcDzVPbX0-FKAj5cwI8R2B3lwi4BUkWk0BbhS6WdjO4qK7ky12ob_-4BqKwgMz5Q1qm5Si4T3WpS0PODODpjg_Czgd4kBF3lwwAnD44iPx0xj1nQeUkA9E92_SxCmbwzVGESMYKkoIU051QEbu_dabBT450MSWAfbd-azadVTztaol4tvfv75dBLsT6c6LoguyVUgIpDWfcJx4m2i1rglDvtuNwIXmo1u6G86BXQBBxFFKixkxoMTD6BzsjqoQmdLrjR5OA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjFhMzgyOTUtYThiYS00ZGZkLTg4YjAtMDczNWNlZTg3ZTVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2NS1hQkpkeHVLRER3emhyN2FuWGIwZDE3MEZjTG9KeGMtdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Dwgh7AttRnkc_aMN2cBBhR1WBY3igsohT3HMffUYB0tlQI5jYP5kXEvRX-YbjhuGSS7jlJwRyhBKEmNfcDzVPbX0-FKAj5cwI8R2B3lwi4BUkWk0BbhS6WdjO4qK7ky12ob_-4BqKwgMz5Q1qm5Si4T3WpS0PODODpjg_Czgd4kBF3lwwAnD44iPx0xj1nQeUkA9E92_SxCmbwzVGESMYKkoIU051QEbu_dabBT450MSWAfbd-azadVTztaol4tvfv75dBLsT6c6LoguyVUgIpDWfcJx4m2i1rglDvtuNwIXmo1u6G86BXQBBxFFKixkxoMTD6BzsjqoQmdLrjR5OA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="883" it="0" lt="883" ct="0" ts="1587564567266" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2Ny1xNkhJM3lUTUpzUG9BbXNQOXc0UjkyUHQ0WFZ4a3B6aCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jdmp6u7j3d1hypUNizV6KdbyRM4WseSFqNX4jAca0ENPgYBi0Qj4BVYOdPZnr7CojJLsd_-96B3iHoABz99XKvghBPlX0h990YRPjuGb0NWILosqZFg1UWQmxN6DjaPO5vyX7kDg95DgSstH9E1cPsEGttWibOhF5IMxWgd42Bufwr9Gegt0exPH0hLjP1_HNJ_mpyvB9dlHK_ivJXPxZ9Kuk0Ga7eDCn05nlEilfxvbmbpEWVlMRrog1e8DHeNHJvakEetmlHB-SNBQFOTu-z7iSb1osOVpPQxZ68JktgIqew_3m6rYlrjKPWe6TzxqyRwFAnqkWkDkqo4NRAVWQQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmY4MzVmMDUtZmVlZS00NGJlLWJmNjktOWM5MTBkNGYzY2Zm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2Ny1xNkhJM3lUTUpzUG9BbXNQOXc0UjkyUHQ0WFZ4a3B6aCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jdmp6u7j3d1hypUNizV6KdbyRM4WseSFqNX4jAca0ENPgYBi0Qj4BVYOdPZnr7CojJLsd_-96B3iHoABz99XKvghBPlX0h990YRPjuGb0NWILosqZFg1UWQmxN6DjaPO5vyX7kDg95DgSstH9E1cPsEGttWibOhF5IMxWgd42Bufwr9Gegt0exPH0hLjP1_HNJ_mpyvB9dlHK_ivJXPxZ9Kuk0Ga7eDCn05nlEilfxvbmbpEWVlMRrog1e8DHeNHJvakEetmlHB-SNBQFOTu-z7iSb1osOVpPQxZ68JktgIqew_3m6rYlrjKPWe6TzxqyRwFAnqkWkDkqo4NRAVWQQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="873" it="0" lt="873" ct="0" ts="1587564567276" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4NS1YTG1MbUJaSDEtRTQ1QUFhSy1RRFpXeHI4Ymo5NnhVcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Omdk7w5vKkcZaPRsD2BdwG6LA-qbEI7z5Tr1pCUatlZma8gdHFlnOkK2syo9BWRNhdOhP71vpydKQoT6VzAlMVRfJy_s6jG5rqS9rGG5daS5uFcXkLsqrkqUYzm8RYFOAwH0SwMvmfPzdii291_qpg_bkIlS2HoPpb_BM0mQhltDannlBOqI_nKH7QAE8G2qtYOomUJc_Lk4_-AzWaUCskXpdOyj4edaP7Vr3vjYEiSMpY9qnl0KlSBiPovRuAuc5BhsLVtm4BPZwKkMYJnCxzt5nY326eV8AL8RmBpH0AcfbiJlUKi5HTBub_6hWMTYirFdHxi4aE5Fl_0EdoOtwQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWM5OTRiMzktNmEzMS00YTIzLWI3MjgtMzBmZmQxMzExMGIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4NS1YTG1MbUJaSDEtRTQ1QUFhSy1RRFpXeHI4Ymo5NnhVcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Omdk7w5vKkcZaPRsD2BdwG6LA-qbEI7z5Tr1pCUatlZma8gdHFlnOkK2syo9BWRNhdOhP71vpydKQoT6VzAlMVRfJy_s6jG5rqS9rGG5daS5uFcXkLsqrkqUYzm8RYFOAwH0SwMvmfPzdii291_qpg_bkIlS2HoPpb_BM0mQhltDannlBOqI_nKH7QAE8G2qtYOomUJc_Lk4_-AzWaUCskXpdOyj4edaP7Vr3vjYEiSMpY9qnl0KlSBiPovRuAuc5BhsLVtm4BPZwKkMYJnCxzt5nY326eV8AL8RmBpH0AcfbiJlUKi5HTBub_6hWMTYirFdHxi4aE5Fl_0EdoOtwQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="883" it="0" lt="883" ct="0" ts="1587564567267" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5NC1ZRU5TUWFXOS1UZW1XaFlyYnV4MEcwRWdIbk84NTdpMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Hz7ray_1UoeRTqlVtGc55viU0wMjgGpVN5XCOu3EKJScTmT7l8YnbMG5auEd3N-HOGW9rxIAGYo581LlgLL_-X3No9J0QUyRdysYzzcXBxakIeSuiQ_qVvgKu4pK4JhCIZwPvfhwyx4UV2kgjT3CWc0wdeF1cSu7B9njvOIZINKh1a8GWYj1bi8wzeBpPxg8Pm-zlAzqytHMNPjc3AvdxjUTyVb99uh6gFzQmAiyrFjr9qCAJxIMpzjgs2V95vN23-alU_GBY4PYayGmp71nOkG-VR6LkhOOGPY15zOvK4Gh3O9RZTdbSaKhekG0ohKDntmFW2MuuH3AyMQVJYbt8g
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDgwNDk5OGMtNzQyNS00MTRkLWI0NTUtMzYwNDM2ZGJkMjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5NC1ZRU5TUWFXOS1UZW1XaFlyYnV4MEcwRWdIbk84NTdpMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Hz7ray_1UoeRTqlVtGc55viU0wMjgGpVN5XCOu3EKJScTmT7l8YnbMG5auEd3N-HOGW9rxIAGYo581LlgLL_-X3No9J0QUyRdysYzzcXBxakIeSuiQ_qVvgKu4pK4JhCIZwPvfhwyx4UV2kgjT3CWc0wdeF1cSu7B9njvOIZINKh1a8GWYj1bi8wzeBpPxg8Pm-zlAzqytHMNPjc3AvdxjUTyVb99uh6gFzQmAiyrFjr9qCAJxIMpzjgs2V95vN23-alU_GBY4PYayGmp71nOkG-VR6LkhOOGPY15zOvK4Gh3O9RZTdbSaKhekG0ohKDntmFW2MuuH3AyMQVJYbt8g</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="888" it="0" lt="888" ct="0" ts="1587564567262" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwNS1Sd2E3Qkt0b05zYXQxajY0MFloaVNkMWY3cURaVUtETyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DlM-71lBcRo68Y5mo6wnSXshv65ma-ZYIKBv2uCOPDcOrAGxUz7ceiTXLW1i1rgJRJuqTHSsSvEWJpGfNxKupmp9YYh8Butl8xGzSV64AJJzu9_xguyyWJv5JQeOFQnb1_G8RSi6lvdiw3fOjh6u_dUG8c8fzKQKTKBc9MqpPOevRi1_26jgGHHO3REiXgUNiFMkj6DglT5Yw4Uf4nxJfxAth5pg_GS9x6oB4XloeawWzo8j-cty-uAW5n7Fu38Bj_0lJdqhpSY4mVAq39JWDd_klxAKrbPsvZ5W59N1buEGZ28DBDIZ9hvzQ3RSxIPYbsR54DtKg03EDTNxsvKHMg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjhhOWZhOTEtOWM5Zi00YTU2LTgyZWEtMzhkNWE5ZWU4NGE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwNS1Sd2E3Qkt0b05zYXQxajY0MFloaVNkMWY3cURaVUtETyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DlM-71lBcRo68Y5mo6wnSXshv65ma-ZYIKBv2uCOPDcOrAGxUz7ceiTXLW1i1rgJRJuqTHSsSvEWJpGfNxKupmp9YYh8Butl8xGzSV64AJJzu9_xguyyWJv5JQeOFQnb1_G8RSi6lvdiw3fOjh6u_dUG8c8fzKQKTKBc9MqpPOevRi1_26jgGHHO3REiXgUNiFMkj6DglT5Yw4Uf4nxJfxAth5pg_GS9x6oB4XloeawWzo8j-cty-uAW5n7Fu38Bj_0lJdqhpSY4mVAq39JWDd_klxAKrbPsvZ5W59N1buEGZ28DBDIZ9hvzQ3RSxIPYbsR54DtKg03EDTNxsvKHMg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="877" it="0" lt="877" ct="0" ts="1587564567268" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5My1VNzlTeXFJZDFscmM0bjZUQmVTaENSQlRCd3hZOS02YyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pwkakW9rCkv4MGE7QeX8EzQbHGGddMiI5cSaVj4uloTE_UN47b_CF91T42AySCZ5fCMhnU-cpkcUSAA5pPZb9FnGcbfVQoQ-_ym0mO_p4MWN_4Lo-d9c_p2yHZUMiG3jLRJDAWZ4gmLh4FXcfKeKtzF8kT06Wa5kHU3zGa0PhhbAooq7jdlXdKBPI9v2xiyEaOhp3aYz06ZVxpaO0rgD4xULd-q1mmtKU259vr0x9VUVljI0n6b34Jmu4ZvYozzuEEimEUXhFMKOR-HwXMiw-l68Px4idJWhBijfPHThcjPcHspP_ihXhp-x8z3mCWOXd12LV-DxQquvrbs0IqMM6w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjUxMjI5YzItNjg1Yi00NjAzLThkZjAtNTI2ZWNhNjFlMjE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5My1VNzlTeXFJZDFscmM0bjZUQmVTaENSQlRCd3hZOS02YyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pwkakW9rCkv4MGE7QeX8EzQbHGGddMiI5cSaVj4uloTE_UN47b_CF91T42AySCZ5fCMhnU-cpkcUSAA5pPZb9FnGcbfVQoQ-_ym0mO_p4MWN_4Lo-d9c_p2yHZUMiG3jLRJDAWZ4gmLh4FXcfKeKtzF8kT06Wa5kHU3zGa0PhhbAooq7jdlXdKBPI9v2xiyEaOhp3aYz06ZVxpaO0rgD4xULd-q1mmtKU259vr0x9VUVljI0n6b34Jmu4ZvYozzuEEimEUXhFMKOR-HwXMiw-l68Px4idJWhBijfPHThcjPcHspP_ihXhp-x8z3mCWOXd12LV-DxQquvrbs0IqMM6w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="883" it="0" lt="883" ct="0" ts="1587564567266" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4OC1oNXdibUY1eHpLWktvWTBLaS0ydG4walUxWTdvRGZMMyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZtllKhz3DoRpbq9H542KN0PZaw9Jch8u4-__F6df9pipxmBvbwH0Mwzcw5057i34KUfEyfCLc_92ng__Hds-H9yMsXCoJyG1ADFt-TWFPfXelLuJ21BxFrYmeWzloIYywgukrYqGAPK7Jl-S7I_nKetG1FP9-orqWI7s6Z9b51HjbcNE7aAt8RZbFRaZA5Q7AaquIWDMlf1S5oTw1xvt2QcIG0tN6PAWeHb1icBO88ngFh6Yximhn2y4DI0cwqhkAgsd8_FicilTQlHCXJG0wuSWaHosRDZjL-avCMlBDOaODRkM_LDeA9TNWq1w41f596L-wXC15vWu2IEVIFmycw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGZmMjA2NjUtZmNhOS00NDYxLTg4ZTktNzYwZTUyYzU2OWM1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4OC1oNXdibUY1eHpLWktvWTBLaS0ydG4walUxWTdvRGZMMyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZtllKhz3DoRpbq9H542KN0PZaw9Jch8u4-__F6df9pipxmBvbwH0Mwzcw5057i34KUfEyfCLc_92ng__Hds-H9yMsXCoJyG1ADFt-TWFPfXelLuJ21BxFrYmeWzloIYywgukrYqGAPK7Jl-S7I_nKetG1FP9-orqWI7s6Z9b51HjbcNE7aAt8RZbFRaZA5Q7AaquIWDMlf1S5oTw1xvt2QcIG0tN6PAWeHb1icBO88ngFh6Yximhn2y4DI0cwqhkAgsd8_FicilTQlHCXJG0wuSWaHosRDZjL-avCMlBDOaODRkM_LDeA9TNWq1w41f596L-wXC15vWu2IEVIFmycw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="865" it="0" lt="865" ct="0" ts="1587564567282" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5Ni1WT3FrTG1ScDdGMnhWeFBnRlNNdXU0eHppbW8wYnF4aiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.fNm81joHZclt63CM2h0ptNvCsY0PbWZtW2KFoYfyB8V4uLlM60A8G1G_x-q9ThAUT5eHsUIqo0xYfT5HGIXbgEPaJq5xIBoA_bYvDtkb3wYAkVsqhKNxQPKH-lC9wAmWcn_JKlkJB3QQfQxffCi7rFTyf4FIVCTTjTwI4sXKEcpg2I0Xdgl14CPl73Yv2C_L8K7J1ot-Jz5XyQ1w4oCGWjhHdGIzojLIRyqW1fwqo9g18_A5hPHRNrGWaOpulSPI6VNY1zFceBmVakwXBSPHDaTIeRtZNcvZIghWBXGsa6OzlgoDMCVZXdB75XVzIozo99OyeFlY-LaL-scc0twKUg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmIyNjMzZTQtYjM0Zi00ZTFiLWFhZTUtNWEwMGFlNGQ3ZDkz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5Ni1WT3FrTG1ScDdGMnhWeFBnRlNNdXU0eHppbW8wYnF4aiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.fNm81joHZclt63CM2h0ptNvCsY0PbWZtW2KFoYfyB8V4uLlM60A8G1G_x-q9ThAUT5eHsUIqo0xYfT5HGIXbgEPaJq5xIBoA_bYvDtkb3wYAkVsqhKNxQPKH-lC9wAmWcn_JKlkJB3QQfQxffCi7rFTyf4FIVCTTjTwI4sXKEcpg2I0Xdgl14CPl73Yv2C_L8K7J1ot-Jz5XyQ1w4oCGWjhHdGIzojLIRyqW1fwqo9g18_A5hPHRNrGWaOpulSPI6VNY1zFceBmVakwXBSPHDaTIeRtZNcvZIghWBXGsa6OzlgoDMCVZXdB75XVzIozo99OyeFlY-LaL-scc0twKUg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="875" it="0" lt="875" ct="0" ts="1587564567272" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxMy1aaWxwSkpHdnJabC1OenZOOExjbC14LTdZNS01WWZIdiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SWCVt9mYc-5NEtDYoBmqv5HOnPL7chERWR7Q0qXsriooxqIF7oy55CRmRaX8P6ixgWHOVLWXSbmvSfuUKdmONW6cjww3kHgF8JUlCoL4R1YE0Ae3oIcEQHU0ie6sg0mpzq_uSQXXZjDMSAvDc88zQ9w1fCB3No9WwTE2PpRGdZtb230Cy2-dElE-Gm8HIRKG8MB915Ho8E2yjeVtwIAIJ8wzxygi6hCI_VBqtuh64EW4AhlXzgPWAXGPqxoYEy7auIaB__OBro3IIhHJQo_aVNXNEO7FGTCFUNJLbXKmiwtYvas7LauipYzndXVEDtSpZ3p8ezQbHAD6Pmnm4nnsGg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWQwZTRlNjgtODNjZi00YzJlLWJhMDMtYTE3NWJkMDNjNDk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxMy1aaWxwSkpHdnJabC1OenZOOExjbC14LTdZNS01WWZIdiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SWCVt9mYc-5NEtDYoBmqv5HOnPL7chERWR7Q0qXsriooxqIF7oy55CRmRaX8P6ixgWHOVLWXSbmvSfuUKdmONW6cjww3kHgF8JUlCoL4R1YE0Ae3oIcEQHU0ie6sg0mpzq_uSQXXZjDMSAvDc88zQ9w1fCB3No9WwTE2PpRGdZtb230Cy2-dElE-Gm8HIRKG8MB915Ho8E2yjeVtwIAIJ8wzxygi6hCI_VBqtuh64EW4AhlXzgPWAXGPqxoYEy7auIaB__OBro3IIhHJQo_aVNXNEO7FGTCFUNJLbXKmiwtYvas7LauipYzndXVEDtSpZ3p8ezQbHAD6Pmnm4nnsGg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="879" it="0" lt="879" ct="0" ts="1587564567267" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4OS1DT2xXQ0tGNk9icHhCVzlzUFFtWFNNams5WjZQbFd2eiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qG5n-WzDLl60VFtSUQ6bKuL6NBS08tfpa3CRCbTBYO1sHigEc756eHPoFOC2Vwbrmm0IGZfrUrOA6Srpvzamnw2J551NtZeaIS3IqXbWjYDIHCIbmJ-2a2NQ5zi6WPX_LxmLW7obfRXN338eFNy2javqGp6zwhn2vonh8W__GFhAXxDp7FMQpFyZRfShgGAAmVYwSDhnCSV1F8BR81RuG0EuS26Dy3A6GtoYGrXzVJbLlzHDN2qVH79DdIiA_3vYLn-thuZOZcaD9FcXvqSJmBnM4eZ1JAoQDFOkBx9sdxR9uWFVj1dF9Q3SkGaQrbe6U7BolVonqfUS8A3d8uIAwA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZmQ4MTRmNDEtMmFkMi00N2NlLTlhMzYtZTlmYTI2YzE3ZjRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4OS1DT2xXQ0tGNk9icHhCVzlzUFFtWFNNams5WjZQbFd2eiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qG5n-WzDLl60VFtSUQ6bKuL6NBS08tfpa3CRCbTBYO1sHigEc756eHPoFOC2Vwbrmm0IGZfrUrOA6Srpvzamnw2J551NtZeaIS3IqXbWjYDIHCIbmJ-2a2NQ5zi6WPX_LxmLW7obfRXN338eFNy2javqGp6zwhn2vonh8W__GFhAXxDp7FMQpFyZRfShgGAAmVYwSDhnCSV1F8BR81RuG0EuS26Dy3A6GtoYGrXzVJbLlzHDN2qVH79DdIiA_3vYLn-thuZOZcaD9FcXvqSJmBnM4eZ1JAoQDFOkBx9sdxR9uWFVj1dF9Q3SkGaQrbe6U7BolVonqfUS8A3d8uIAwA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="881" it="0" lt="881" ct="0" ts="1587564567265" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3Mi1zSXhRLWdTbUppWmxDVUg0bDNnNlBpRWNqenU0aVRzbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sfxXkPXnpYwhoHfWQcrEIvFDIWOSUpJLVELXrZ2z7NpEgVsnKJmhjpWW28RyOC1uPW577pJt7Lo591kv-UDpeZsvboJH4Mw6ThouMhSLEj1Jg96huVDkQ1za13UbZsTpVG8zv4PaozB5EOhkFMCOhvd3MJkHQWYKPVLR7ORsqgtJO-Rp8EvsMtxC6fZvVHokfx5RuZfKwFUFv7n3Pnv-kLGsQanmTrlmCQIQbof8LSUH7xsKnyMlclK0oBmZbqrSTnLFN_R8brUfJX27iZc1BnJKYy0nah8bCk0zCovJMFX0wAj-hKqcWEttWQsXdZRsansNr5ekTfJ0uI5pCrjHrw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTc0NjA0MDgtOTY3Ny00Y2M2LWJhMTYtYjEwOThkNWI3YWZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3Mi1zSXhRLWdTbUppWmxDVUg0bDNnNlBpRWNqenU0aVRzbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sfxXkPXnpYwhoHfWQcrEIvFDIWOSUpJLVELXrZ2z7NpEgVsnKJmhjpWW28RyOC1uPW577pJt7Lo591kv-UDpeZsvboJH4Mw6ThouMhSLEj1Jg96huVDkQ1za13UbZsTpVG8zv4PaozB5EOhkFMCOhvd3MJkHQWYKPVLR7ORsqgtJO-Rp8EvsMtxC6fZvVHokfx5RuZfKwFUFv7n3Pnv-kLGsQanmTrlmCQIQbof8LSUH7xsKnyMlclK0oBmZbqrSTnLFN_R8brUfJX27iZc1BnJKYy0nah8bCk0zCovJMFX0wAj-hKqcWEttWQsXdZRsansNr5ekTfJ0uI5pCrjHrw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1430" it="0" lt="1430" ct="2" ts="1587564566722" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTNiMGMxOWYtZmI4NC00ZDA0LWFlZjEtZWNiMzNiZGExYWE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1928-Yvv9tKua9IlT2AgmEOvB1RNRh2Ec7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="848" it="0" lt="848" ct="0" ts="1587564567306" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3Ni1lVk1uQXd3am43VW5BVC1oZk53LTZHTzRsc3QzSTF0RyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.a3IWq_d60b6kKqV6ROS0MMX0TIopzxYWBQ6dYxHPpLMuDm95qrIdMyQ-PN-LVmV6V3omzDKFoEiZwBrxPcLPGm8s1BJZvnAZWMvSQ5FN2h_46uB4EDUIQlMMqNUN2aOfHaonUPCuTh9e0PrF4UFlsFqk9QOSVMP8cHFj35OP2GcqtDJhd4MzY_6S4EPfxr0ghc2bA3rtGjLmELHzsyKRvlQMqrUbHVIJKZCiV277LKRkXtbEeRRBERcjpAwbTPMpXIeevMlLOpTpums1kbE1kh4Xrp6i2YVfvip6phOnjL3Ye4dXrwq_IkVLSRk-3oUeYiWJ4ZRcjJBInoqbUlKs_Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjBjMzgwMDYtMGU5MC00N2RjLWEzOWQtY2YxNDc3MjI0OGVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3Ni1lVk1uQXd3am43VW5BVC1oZk53LTZHTzRsc3QzSTF0RyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.a3IWq_d60b6kKqV6ROS0MMX0TIopzxYWBQ6dYxHPpLMuDm95qrIdMyQ-PN-LVmV6V3omzDKFoEiZwBrxPcLPGm8s1BJZvnAZWMvSQ5FN2h_46uB4EDUIQlMMqNUN2aOfHaonUPCuTh9e0PrF4UFlsFqk9QOSVMP8cHFj35OP2GcqtDJhd4MzY_6S4EPfxr0ghc2bA3rtGjLmELHzsyKRvlQMqrUbHVIJKZCiV277LKRkXtbEeRRBERcjpAwbTPMpXIeevMlLOpTpums1kbE1kh4Xrp6i2YVfvip6phOnjL3Ye4dXrwq_IkVLSRk-3oUeYiWJ4ZRcjJBInoqbUlKs_Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1630" it="0" lt="1630" ct="4" ts="1587564566526" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmEyNGE5ZmEtMjA2MC00Mjc3LTliNzktYmE2NDg2OTVlN2Jm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1926-68sLtbjmZXsPh7MA4BYXeoG07Eoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="845" it="0" lt="841" ct="0" ts="1587564567315" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-100" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODc1OTZkNWYtY2RiMy00NzhhLTg2MTktZjRkZDEwZDY5Nzli; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxMi1xb1dOODRnbnRYQUgtWW02MTlkaU5VYTRVMkVpSGR3VCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gV6D2QfIF8Tcf4iqtusUzGjQxFwf53xHSX74frnffNVtdF-ZSDn-5HiJ3-rqWEHe3VGmXTUAX0HCiwSxfOa8wTBskdeSvqIKtEHEifs5_9UDZ-2Sse3JVEDAYPyLKHCkrFNHrWxq7qnc2myWPrCDf6QgLWI445i3-BpvFljuQ7-oRYy73hTUXJniAgobdoC2IcojwqZeq9ZElE6k8E5xI6NaqnDDeXBM7NP352iPtLXK8gb5bwQE_Dlgit6VhKFfhRrw8tmXmB2-sgKucVPMXopqqsXGCxMlAgjVLzmec01-V6pQ4ZFCvLDdwtff92KJ3Q-KmJCs-iTFiN8hm3dj9w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzE0OWUzOTktNmQ1Yy00MmVlLWJmMDEtOWExM2VmOTA3NzYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="850" it="0" lt="845" ct="0" ts="1587564567311" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-99" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGI3MzI4NWYtYjY5ZC00ZGRkLTk2MWYtOGRkZjQxZjFiYTU2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5OC1CVS1lLWlhY0NPekJ0QTVuU2U1amtFaE11YTFMTTZmciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WPduoLYH_bp2nSPsykNgv-eH39_VS3F2UMT2fPqFllRzhzo-y_vI_be5IxDR79wFDisRZAhbsel-84W4ByFhmnVUN7AI_sBTtx8f-mCIo1ZVw9WhE4XYE706BUN7Y61tMhEEYJYrZeMX2DVFMxNqIg4eAd84D-OfXcPjXRIfGwf4VYAMs_ZtOp6Lu0c87i19-iUwfkmG3VjnPaRbbJ6VQUOHZ3C-P2pyMz4WZsM19IXxvq7OjpvABwV2knNh34BuBniYuF6Leg_1l1pfsNUX2sMWBZY_unZ1jQSn3MqNIEA_JlbN4E0dx_TgdPlsoYizhdvZwhyxzJzt19tB5QWf2g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDAxMDM3ZWQtMzBlYi00YzgwLTkwMGMtZTViMWRhODFhNzhh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="847" it="0" lt="841" ct="0" ts="1587564567317" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-87" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDgxZTcyNjYtYzk2OS00NGVlLTlmYTUtY2YwOWJhY2E3MzFl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1OSwianRpIjoiSUQtVG9rZW4tMTU1Mi1ZclJTMlZ3eWVsWmJ4azRWSHliVG9WTXVSUUtQZG9YRCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ReXNwhCm7jz_I9IkWE4gxEHO6k6zYhXdTSMCnAaaUrsX16UbuAhZ18RWgBwwhjlQLrnO90s2RSQVpG8RDLsJJ2AcEdBhWZ2FlBzIegeAj5GF7ojMCFOKv4l42yxfRn-yW_JduNltih3vjtOm5n8Kx1zMhIUW4eCWMYMSkZD37UFvLSXhMRQ01-2DOU_JG2r7cpF33S8vTO19TpyN8aU4PcNAyEiFYX8GcOTpla3fCJ230I0oOSWI6yBhm_gtxhYG_xPwMRxXyRTV6mZY9dGDkfdxCjw2vc8G6BFlWrczEy6q8ulgYVAtYU1KiQKAKFheCtgtWupzRnYbU8KUoQSe2w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YWEwOTQ2YWItNGU3ZS00ZDExLWE0YjUtMmQ0MTJmYjE5Nzc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="845" it="0" lt="838" ct="0" ts="1587564567320" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-47" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGFlZmM1MjMtZjcxMS00NmNjLTg0M2ItZGI3MjA2ZWUxN2Rh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwMS1XRkIyLVVib2pVaFd6VXNLQk0yMUhrTWVZUXZIYlhjeiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.eo7F0aoxltWJrqm5eh0R5a1Jhqd802TAdpzvWcnYOBIDSLXfrohWYAqZO3JVvSNfBiNyi59CwFtL_2rLF9MTNRSQ9fc3e8ux26uHCBrgAhxHKFIFMzLNTGWo8_aU7fMGbsWaZj5dJAY2tUEwZpd8WoO5qUznY2qaWLqvibl-Oi_JqK3aRjpfytL9-e4zDOybnyuPIAPtcMyWWsbVLoMlrzFvO9C-HEXbR7WmqyQqwucuIbz5kYer9O-EXKFyhCYfNVQuhyyPfvTEK4RHwCSA7XN17bnJKoj5LPrs-5dv67UegSeUeTYa8ebWvqQruqCiuyH8q-JdT3vW2zn4g9zbCw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MWZkODNjMmItNzg5OS00NDJjLTg0MjEtOTBiYzIxNTkzY2Nl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="839" it="0" lt="831" ct="0" ts="1587564567326" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-85" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTA2Yzg5MDQtOTc4ZC00YThiLWIyYTUtYWMyZWM0MzQ2YTdm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxMS1ycWIxaWlKYllMdWE4ajJuUy1EbzZPMHJ1NzNFR1gwbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ou0QkJF3B0U9X94SyFAbn3oEGuZgoCPENy0ZiWmFagaIIicITF11OPpeXzywWJ0lHlGkSTnRWKN2nkkbq9ZSSgiT_cXEDFNFyx5ZAi3mEGxqfinlPfo0NyzPs4UYevtcFs3--yfWWwaIAYBf3t_sYoYit6i69CvItDOA9U0fNq6goHFpJM-zy9_5kJJWJkfmOjr_0Uf28m0EYDNHhexlPdgNoptXWkjuiL4EkG-oXGAW_7_kQ9yg_e5MJNR64Pibwc8UoeeyOoRR3owz5RSys1edhh7rrHuH4G8Ju9CO1ZxEL1yy8ET9NB--qvkIz512IJO6YKsG6Fxrv009BxSmBA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NjA4YjAwNzgtNThiOS00MzliLTk3M2QtZDEyOGZiYjRhOGEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="845" it="0" lt="837" ct="0" ts="1587564567320" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-9" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGFkYTRiOTgtYWIwMC00YWVlLWJjYTYtZmJmYTkxNTVjZmIz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2Mi1ERENZWFJUTzlES0hIZk41d2F6NHZxSWRESUswR1JBLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MPISU9VALKjf7lowk1sOPxX-_K0C519DG06U0YVMxMjEciML3lzSw2Vo6CSEIDqNs1fo4soxepCSknK0d6gSa4yKrQYSEDbCNv716sr3g-fJubs_oAH4iI_CczRqRPftbRJII0d9dD5ePUutS8N4yq2UKo5vyAA8K2ABhm0VS__wJk8zicMzXxBusJ_iGS4Z6BJ_8nUBBz-jscGBZPPGba_04FvX7b8vnCE7ySq3YjNFsrGmUsWNe4KYl-adbow_WjRGlUkkSmLqXzwnhQPFAEbufsK4dJvEhunp5Z9UYOYO3LQ-X4dEGk_9-vzl73XbepzWWo7vzZPp83-ILhz4yQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTY4MmU2NmYtZmMwNC00MDQ4LTk0ZTgtNDM4NzczNDY3N2Zm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="850" it="0" lt="842" ct="0" ts="1587564567315" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-2" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTFiMWNiMDEtYzU1OS00ZmY1LTg5MDUtODMyZTFkMjJhMGEx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5MS1zY0tHRDBXQ2RxVkNYVTBWeUpnMGd6MER0d1M1OVFtUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Goa2qgA3P2btMvUdk1DER554lvB-8Mp8FTgaOj6u6UNstglo1hOZm8GxpueMYpsqDQfjq3S8ikkMNWttQAmjNFf4MVo4Ec5gRLPMr3k9OirqdwwrIZw-ugUPsioyCv-QeBy-oBQbdKjYco5H90WEPlFExmncLzP3zdnZswikEQbYPhpqjBQNEgKjPtTfdENRAOF2Hn3Vc9fl06LDzMgnzJoTDwbMEB4tpqwi_2rRCTl_NxaT13QHT8wGZXmocs5uaiRS3XSd0obMBQZH8TeFnsgt70oLD5Tbfn9e-A9mVec1jlKH7Yr4c2p0rNvQGc2fODQE3J2dQRPUjhsaQy6kfQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzNhMmNiMGYtNjVmNS00YWU5LTg5ZjUtNmUyMDNlNjc2YTM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="846" it="0" lt="839" ct="0" ts="1587564567319" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-68" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDQ1NTMwZmItNzliMS00ODQ5LWIxNjAtNGNkYjA0M2JkZDBi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3OS12NUt3ZTV2TjU0bE1PelV5ay1hVEozTGtGb2RXelVPMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SaZIB_aVNJ8v5LJ7MIZUGamkZOebU4vPUDSFhZqK6fiSgjCOQPYIWNCGSGMSI4utNaA905AMdbeBj8ScZWif2pbTJXb5adWaFG8GKol3jDjvIS8r-lbBtBSacYXMTa5VL_VhXisXDWL_amjuGApv-4YUKO3GK-FEMH7UD4rV52bChAO-PbBHjrDJuPUEVMG_A3KLTzL8BPYYAJKU6U3vpLxK3UwfAnQ-SYbGUgH-kgGWnYXeYV7GS3d-I-Aef9kJsT-tAcY3rsp1Fjq4bF4SYxNbbKIXQdCW9K6hIvRaujVBuebdvMaIi5GCvj95CU84CHCmr4uMg3l5l4men3I9Pw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2ZhOWU1ZDktYjFhNC00NmJmLTk1M2EtMTU3MGEyY2JkMmNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="839" it="0" lt="832" ct="0" ts="1587564567327" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-48" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTJkMDQ0ZDQtMmE2YS00NjEzLWE0MmEtMTk5ZjJiOTFjZGU3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4Ni1aNEMtdVRIV3FFR3R6YWl2ZDYyeHdmRmVVb0FsRXpNdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cqbYtVIw-diF3qUapMH8_fAeSsU6clxYG5lT6rU0ORseEmxPR-LKLA4fdXHl9y3h6MW6kyA2KcA3M3KSjBF4aMLRKb_eYB7fZ8pCSujtF8r86RWWUjbE0UnKD5cA0CYdIkfpgZhxb8TPWXguB9pkEMKgtA_SVrB5tcKodA-ZXmY63G4L-7EkWmbaRmI5_Jget-Cm_L9FZ1gtaLVeBemPhHgSLaTSUxRUOKjyjLTH7vxCstyNGRsWaEtQfxEvvGB8Yo9ZjzVKfmV1Z5R2e5p3tAUkjT51vpp0rHbKLEA9yS6j1WA6TFw2VXJAQEMfG-RN13iH-tRhQkmaT2BQqaX9QA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MTE0MTc1YjMtYzc2NC00Zjk2LWI4YjUtNzZjNGU2MDUwZDIz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="836" it="0" lt="830" ct="0" ts="1587564567328" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-16" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmE3MjVlNDgtNmU5ZS00NmI5LTkyYjQtZmU3M2E2OWU4NDFi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1NC1ISjA3Sk9RblFBcFlYWWQtY1gzVFZSU0hpY05lTUhvTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rpqxnIjEytcHalyg7hfcVKHASfwY-iJs7HxhLVyPAH66w8mDgQYJqS32NBHvPNXs17TcEAqyiX41ljTgb9hOMVDbft8BH6wT7xoYauWDmAMPElcolXm5G_CTeQfY-FySjkY61ewQBNO9w5pDy-lqSCuLC3RdVysj_WiO27-KS5YsoH5ZLX2NSQgeV-0b_yvNDHvPZApu-0oxB-bVFTkqg2A7PHduN8gRS-zeLCXl3Naf1dpLdRCTuTfDCRnz315YsiKwpEoQP6jobUoHcqW4eySuKXZZBr56B6AInLiBtTj3RmdaGDLZjUprm_WJLPG51oQiK_u2-NV_uZBg-lLztw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NjU2NjViNGItMTIwNy00OTgzLWE1ZjktZTE4OGJkOTA1ZTJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="839" it="0" lt="832" ct="0" ts="1587564567327" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-54" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmM3OGNlZTctYTQwYS00YTQ5LWE2ZGItYTY4NDBhM2NiODNi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4My1HeHFiVkprWVNhT0V0djl4N1pzQXhnMzlRTzRMZGdqdCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bgOLotb-f972gkHH6ag_e2EPA3GgZaNQx_MfOhPuAOA-WgUiHCakrmKapZ4wPTEynY8yELMP-SmGAocC8R4tuERR9YHl8mynMf08K7OxAkZczaBGlNygw3XQYCmAGc7TDzGczliWAiZ8EvNfQEtLQNR1XUa-R8NvnBsewzyAMjjYOEotMsF4wP_sRiCwMILMjbtu3_qVlAJBRPFtYkqvJ6eR6gZgUMo8IcU6HvdhOf2MmHodiDSSR_2zW0ehc8hH6OXdnEtpJK3wv1x5rQliz90bX_p-7XNZ_ctPKq1o3zO6VKJsuJKg5QOkuiko4u_hQ0YvKiZQX7lmuACqT_mU9Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTNiOTUwMGMtMmM5Ny00YmRkLWI3NjUtNmNiNTRjM2VhOTI1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="846" it="0" lt="839" ct="0" ts="1587564567320" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-12" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzA3MWI3YTktMGM3My00Njk1LTk2NzAtYzE0OWVkZTI0MDVj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxNS1pSnEta2JqNXFreEw4QXFZYzV5QVFVd3hOQjZlREIzciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NuegjSki6FRm57-BzV1ze1wxdqofTnB5Jy_z9drep_wzpLs38O2bO7neAP3LETFEwOGn6EwOoHuGRl79FHzzw1QKOD9IVj6pPkdeGhfygyHSTvxy-xv5Mdp3NC_rUUjEjotXXpHIhtbNb2HxjjQn40sW7ArTW_sYzkqU0wgDt1oggi1Dgxqu7V1nKLKdGOAXEspQQoVfgdjW7iVTjBpzj-TEmI1WN0mE3hMbAbkFIUh_91rCOdElYlOyQkirjpS29hVS8rwO1FzBDiS6b9tzWRi6I4Cbj14ix_GDtqz8zzd6j_WHVe5-hCoX3wdSXAlxr9yk7BukIqv8Unaz-9fDUQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Mzk1MTM4OGYtMjNkOC00MjNkLThjMzEtOGQyMDc5OTA5MzZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="838" it="0" lt="830" ct="0" ts="1587564567328" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-62" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTU4YzAzMWQtYjRlMC00NmExLTgyMTktMTA4NTlmNzIwNmUw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1OSwianRpIjoiSUQtVG9rZW4tMTU1MS02QkU5OXl2UTFDQ3FiRjBkWnpNRDVIY0JhQ2puME1oUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.a3ieyGZA_y4_5Wx80z-xYB8yLToeA8kRB6sSWAWzPeyD2QPU9m5KH_Eja1kD1sLlDYG0mGUwirOfctvpGKwnKt57ppKSWD-R13aXyvUJ2sLW6w2nXFWvTOgBZdHi7l_nKlGdKFhBwdDIjMxi0TzdYw18z8yr5hA1c1sMF3dyFwBvgAHFjgfbUcSn9H3kdZyF8AYBC2vVohFQVU6SNNIAExqKhnxCguJiwB8lcIR5iBDaFJTQeEk6YReuez65kfNBZ1Bth4w4uFQ0VSQLNuaycwaM-oRX2XgzCC-lzDzM4NJ614iTiJ1TPPzA7-pblkRPjwz9f0ypqII1MHVA5jqvog
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzJlNDkzOTEtN2RmZi00NGYyLWI5NzAtZjg3MTYyOGU5YjAx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1641" it="0" lt="1641" ct="1" ts="1587564566526" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTMxN2U0Y2ItNDZmOS00ZTJmLWJiMzEtMDFhNGUzNzM4Mjg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1929-6OvBe-jaCvnl188uD96LNh2yOCEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="850" it="0" lt="841" ct="0" ts="1587564567316" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-60" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzAzODBkNjMtY2E5Yi00YzI2LThjYWItYTYxOWRiNzM1ZjNj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwMi1Ya3lCVXlHckk3enN5ZTFObmR1VVNRR3RXUGFLV2lPQSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AXg67W1P2ieK9lwh_PoDRkHoQp0jXzGNT_trpjB2FaBbXo7FxdslAZwftfs3rOAjGi1NbPEKXzd0jYXEzqmyFSAkWRD72iTvcI1fMmoHBq0N1fmVBbx7HVVOFDMxn2qKGNUC0-MPhDZI1AxOW2pmJN8tuGLBT0JLV0fWzC9JeGDW0OjaBsQiEgUDSql58-0Pww_uUq-6JEBEmTWVqDJWPDAr_xxwoK8Q_aO9JYk3pBLX_Hx3XGGdUsqeUR_IZZ95LE58zzYZ9oOJQ0Wl82lL-f1stay6soUO64FdLfqYSovn_f8PoS7stzEQBeD262gafMmwdm8DyvhcxUs6UoJq5g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MmE4NGRkMTgtZjU0YS00ZGQ5LWI0YmYtOWUzZmEwZjEwNGQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="850" it="0" lt="844" ct="0" ts="1587564567317" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-75" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjYzMmNhOTMtZGI4Ni00N2UyLTgwOTEtMDc1NmViNDUxNDc1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5MC1TUW1yZy10QTdUUnREc0FoY2E4RnU0dVBRMHVXU0lLMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Bw0rnemyImKQiAtq-M8L4f4kQDlEXhAbaWl4z7qhzs00Q7KD1M8GIfzWzFz6Ecw4uCxY4k5ACPj-P1m_nFwSebRh0x7D41hex1b4AoQaEDtJIIzNWDiMhFeR7ZdAQcQqKf0HdOLB8Imb1eDfQYks8xvNGj9ciSVAmJGzcuKd84ymHshwz8j2Z6RznBLv5CX7_9QTy3kgFMLfke3HFBr6TlcMnycRKDsHqb8_fvZpaJhwxo49vPyC2sFZXOWhEDHGrzdS3BXAP6csrKPkXt9RMN9UBW9U82VKobXJXRfXLZC9Qxx95JgKVv-4l3ugetfZUwxGMIn808i8HpQXa-Q3aw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MmUyYzY3Y2ItZTcyNS00NGYzLWI4NDYtNzdiMDc0YjMyYzQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="849" it="0" lt="842" ct="0" ts="1587564567316" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-56" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjFlZjA0NmUtZjY3NC00YTY5LTk0M2ItMzA1ZWY4ZmNkOGZh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwMy0wQ3ZPSUR5NFRzVFpXVjVTdGhLRUxTRGMyOVp0bXVueiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lttj-Bm3leyXYGDaY9MJdNCNHfgYSKrmeAM5iNKQ2xqHDeYhe_G-CPXGlRYCbgtHYboYa9bkpwuHPae7qfDyiv0SCPaA88e5ckPS8LIIcnZMdvYFYrBf1ZInmGrK1IRQ4QU5iqxq0TZ6sOYRmGyPcqIBqsGE5tPvCZFfR8WRXdSdDBHo-Abl3RaWzJxLxmQQw8A9g6RiXGzBcI-qY1TF5pgeTxgp1eeJAQ_jAoeutRsDzZJ3Rz0x-gVV9UQQoul2hCcJ3_u1sQLtSQxWqaXC_a83PpHSVUQUaUJ8UQHmhzfVQjkfSCNyiGm3cqBsnyZtfw2qyuIo0lhIc71ImaK8GA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MTViZTQwZTItOTM0YS00MjhhLWEzNDgtYTRjZDY1OTZjYTBl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="852" it="0" lt="845" ct="0" ts="1587564567316" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-97" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDIwZjk4NjUtYmU0Yi00ODc5LWI3YjItY2UwNjZlMDEwMTAw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxMC1USHFrNHAxWTJxYzcxekVBLWlKa1Z4alQtM1FNZHNqYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EukKJwaJOtgcb6TmelmZTJaU5CCjRcBjSieeKcRXKpfU1DBW1Xk0IigVDM_pMqVWfGnTwD0ahtMqdqjW8HmzoqlZnSgrInE7Zljxcs_w3N8zDdDDO3YKkUPp95IGlJ_FFrKH4eMNxEGCLCkNQPlVKY1DCHaJlw39yqyoFLWKDJOjHaz-mVQL6bNOSUhcQXS_yn-dQ471lfZawRxpoP3Z-is_6x9Njhc4ES77f2FSrjS-AyIiowFGVJEEDDd5e88nZ9on9J_fV09RGc-SEzTkPwgTn5YwaGwhnXBmndM7k2R4Z4UfxxyfMst3FDvkb3yn5IZeg9OVYBjT-Dx2t9mumA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NDdkMzM4NjItMGJkMS00ODYwLTlmNGItYjcxM2FhNzczYjY4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="850" it="0" lt="849" ct="0" ts="1587564567320" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-31" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDI3ZDM0MzItMzY1YS00MzAwLTgyODMtNjMyNjYyZDYyMjI3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwOC02Qmt5d25UTnRnMkpRYnlWRE52T0VLRFdBM3BacnJ6VyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.mQbfoOFxsHprC6UUwVH0DTtTI8T_DdDC1hc9boYR_fb8enHowNvjeWfiKQ8_xfWCanKuN5UYcdMw6TXHq5YBcwovdgtIP1Gegsf78VyoNpkKZPezIJWl4qUxNT6a3nr7kxDEE3sE2iWdvMuqmfDP5NcDu4HeRLkylrsf7T8DLZFhdBqgcww8oBXSk23Gy2OrUdrhVSRyaVeCqLq1WXtAFGNtMA1nzvKmBiQW5skM59JJcSu_oZ8yhyeX61-yR2D6xzbzEKPtrC3Yb4GatT91Ilq8XtAClum5qaVijQKyBxFqfj_ISLZA54Lv0kwbUf2_18mtIfaWWvYIxh2UNiP2fw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NzY0ODZhMWUtNTI5MC00NmZmLWEzZmEtY2ZjN2VmYWNkNzk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="858" it="0" lt="857" ct="0" ts="1587564567313" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-90" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDNhNzc0ODQtOWQ1OS00ODE3LThmYWItZTZiMjU3MzU2ZWEw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1OC12UWRGZTZZakpuR2pnQjRrTmJwN2RIem9MYUh2QVFYLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Jb5qs_0mwpRu46uIC7Yk86E_nEOFFto3P80ymmNqn89X0gCHVJaiaRiJHeUm3V7UVWglx5bfc2PZEdpp474lO2ycoCi6NE1KyfJra6itfjty1v3MSslc-2wofL5EpEM5UNG4bKaiS3lqFGJpqrfIVaNQAGE-Nps-A16NHPdzLrOnB6LMp2kfvw1FFSillz6WFs1v3w66QLagnpe_n3IhrjLE2b6ND0GKL0OJIkaoTjV78p1IXFlHBG5jMO73pC80cj5GTUK7G-ABIaqZmrxrhe-YhTpObFDbjhMG3-I4v7gFAAeefS42FGgf0Xq1HnMdF7E5YmNCeYyVizCP2RbQ6A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YWEzOTY0MDQtZjc1ZS00OTM4LWEyODAtNzY5MTQyY2YwMTg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="846" it="0" lt="843" ct="0" ts="1587564567327" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTE1NTUzMDUtMDJmNi00ZTA1LThhODMtZDA4YWViMjNjZTk3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2OC1tbnRsQW5OZ2x2azFDVkJZaGVuTUlReTZib2JDOFAyTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.j3RisXGosQn7z42SvUZ2fnLE5bRkTfS-bdvh-bWLMCGr2IYSI6_NcI3bH3NAwkea1wSEh3ccTbhtinVIxOju1P9HAYsPt_os1hknjREBnGTQsAqktlgf0UInjnTHGNbzK4d6iUndG-qVNBm4x6UrmoMS1S4bvVu6oVq_nlhYtYln92NyJPYSl17ugStlE4ZwuP-Vp2G70Z60xCr6Yt3U0F2Sz7HELVLYtDFldsXRywHKbmd1BvNjFt8AGqnnAObdkdJ7bh2hsfAH1UDXTDvlrODXDGcEXJNHbaZSGPdKKqrMmqfo-SIsAW47QNr4WBGvsPvN8G3wydkwJSrJbPgHTQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzZlM2JlMTEtZWExZS00NjVlLWIzZWQtYzU5ZDJhNjdhZGQw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="863" it="0" lt="860" ct="0" ts="1587564567311" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-94" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjBlYzk1ZTMtNjdiOC00ZGZiLThmOTItZWRmZDBkYWE5Mzcy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4MC1MWDFFU01BMkpTNzFLOWd1dVpIcWhVT09URzRBYUl0LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Q9cDtk4K2c-V_-0jaVuWTYfwFcjOOaDw2_Jk1M2PzLoZpdSIB4d0u5b5Dc0Th1OnOb-kgium6eIps1u_EH5jeYUcuakniVCcFyq0LVuZ0ORP5BmQ2QesynZt-R2pDw2OCxx-IgfmBlmNFrpB9ovjReeryFdfdmpxaGAwGRXiW1P9xXwZxqXo6sRDr0jP8wQx2WHJ9cysOF7fpwbVVjNSs3SY3Y2SpP9ll8G73AcZ0_iMikufaL2r0JtG-BR3we-HiINDD_DksWYcGQmh3M2qYge04eV3CHaFUEhlLdYB0NePyrjUIOKLYYXHC3JZuSvFJjHIyNVLqcq47P-RZZcGUw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODY5ZGE0NGEtM2MwYS00ODE0LWFjZjItNGU1MThlMmY0YzJl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="860" it="0" lt="856" ct="0" ts="1587564567315" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-73" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzZiNWIyYzQtYmEzZS00YmQ0LWJiMDUtZTE4ZmM1NWU5MTA1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3Ny1Na1dhWkVkc1UxOTRqSlphTUJoYTlPWEl3TkpoU25TWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.XlkQuBmoUE65bBkHS-j1OsZ3aBZLtJVL-jAUkOYXNd5MMA6YewmiP9v0geRKdZ8D7IW0ALVuE4ug5kwOg4oWMFmdmDuFQLMlk2EGXN1xL59LMw3IDPU6qXjnqYMYOUNg3i-vPKWLlhUWJLgyHjBTKiBRgDEzYT4IaAno0cq43O-9lHTPkxf8BLQkqLjCIf09ismf3ciy3IEJXFa2llbrw2tQaTCcUFS9tDmj2WepYldboZY0Ju3DHvWsRqyDSuCFMI0mOJOIKo3LHZVVlZgB_wRKu3EJBXyKJZK9WTFCfeUXIchVCA_L9AQW_prbx0cGKPn9VAvYkvLhC3dxpQ79UA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTU0MGZjMWEtNmRkYS00YWEyLTg1NTgtZTQ2OWYwNjUxN2E0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="860" it="0" lt="855" ct="0" ts="1587564567315" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-49" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTE3OGFjMDUtZTI2Zi00YWIwLTk0OTQtMmE0YmZhMDA4MTkx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2Ni04NTctQm9vbVhIc0NVVFhyOUdxQ0N6RU8wZ29KeVFldSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Q5CiayMk6mJFYwjQS9i0zI_P55JxtQjGr-mM8HCOlfQkF4H7S0aMWuy9jSQF01gpw4aYX_hAnu2QtkYMqCUyiO6g3nXQ_fyzxeGKzpI-FjhJkDVZfWW_QXM7MkiH1yKj4I4YAuLZApLwwtV4uSq45QTwLseg-KyNVhSJYlQfS_JB-NIaTBc5szylca9BlvFPJkofUs8sNY_qES13U7xSUx0DhwvKxUN1kogR18Rkz53r_758SzMKkKIp0NcqxRdPY_FFWSd4jYI2TCUgtbb3p_ndLcuJXmXx5duoKG3mNzWBI8Qbe2x7q-6X0W59k0_5LnMBIb0YaBPxBzL4Vx-0Yw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGQ3ZTdjZGUtZWVkMy00Yzg4LWFjNmUtODU4NzYzNmEzMDdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="864" it="0" lt="860" ct="0" ts="1587564567311" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-13" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDU2YmRkMWYtMjMyMy00YTI3LWI2OGQtNDYyNTdjMWY1YzZi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2MC1vQjBLNUNhdlVuV0ZNT25kY3hGaGI2RXFpTDRtRDVsRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.beqZ6bKyJNu2ivMOOaU9y2Mkq_lPu6D_dHRNZiKCKAvT1tDG8jJ6IP3PIfiPSOXB7oWW3qKBoKtsIbfNml1pvIpx8wT20esO9Z1JOPHbdqEPT-B34sTtrymNq6IOPmPqksf-gtWPVfxRFaQpfHVvOPJy6Bc2zK1VJr_Yz5FEyrkwux4inuMMek1cCfuRdfYZ8wrG9wkKQTuq7gh8ktjzNk9VEQ1k7gc3UuZFi9Px4A5Ik_zj9xoz33e0_SQolRhRsjwpBYAoHyqDcJoA9-Q1wikZhyD46W_goYGGA5RuOcramoxdS48K9MyHrJDVO-QcZxba4VBb-eF9EuTCOp8ivA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTEwYWU2MTMtNmY4MC00NWQyLTgyYWUtM2EwZTZiMTM0MTc4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1648" it="0" lt="1648" ct="0" ts="1587564566534" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1937-OhYiZC-NxgLM-xuXt2hs2oVnXOVt-W03DzY1e-PEooKjcnLXXfH6lHc2JL-duVXmzHQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1937-5hXip9CWhFnrY4wl5MyZFTbmX6cc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3e100e9c-a20c-4546-8e2b-1cbdf787ca29</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1937-5hXip9CWhFnrY4wl5MyZFTbmX6cc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="884" it="0" lt="855" ct="0" ts="1587564567316" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-51" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjJkOGYzZmYtNmNmOC00MGIzLTkyMWUtM2UwYjUxOWE3MDRm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3My1DUDBRVXVVZnBRRmZHSVgtV3RsZHE2d294eC1kTjVpaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RVetbx2I1yZVeWlApVMOmmIAyzc8lgDLo1Z7pAXntFaByRrO03MLXbF5LJXGU9WSQT7XjnAb5R3P9zyReOCOy8updoTwyRbJ43SWVvHnTsAH1dAtzyUwCxfYlB9ccyuts3KNwfIeeUZnB-FsTGQ5rMDwEXg6yloFkkOYoqOOoR_fOuTX_g2x0fmInLQgVoSd1jpyj2xgm4RrWFcbKGQWwKrc8OtTH9UbWDRmXUPBvINMHkhLXM2UwLjBYuIeAFaEZcJogfZCtGsJ8x6IqNEJpS588ZaPq_OkHHOoFuX-W7zrTeRYDG5sjO5M4ZcpviLu8UeBlk6kxOMaKDlxwMHlnA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OTAyYTFjNzQtMDU3OS00OWI4LTgyMjItYTRmMmY0NWRmM2My</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="373" it="0" lt="373" ct="0" ts="1587564568152" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTNiMGMxOWYtZmI4NC00ZDA0LWFlZjEtZWNiMzNiZGExYWE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="360" it="0" lt="360" ct="0" ts="1587564568167" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTMxN2U0Y2ItNDZmOS00ZTJmLWJiMzEtMDFhNGUzNzM4Mjg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="921" it="0" lt="921" ct="0" ts="1587564568156" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:28 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmEyNGE5ZmEtMjA2MC00Mjc3LTliNzktYmE2NDg2OTVlN2Jm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1551" it="0" lt="1550" ct="0" ts="1587564568142" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-93" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDQ0ZTcxZDctZWUxZC00ZjFhLTgzZWItZDE1YmJlODdkMTNi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3MC1yS2J5d0R3LUFsWGpvQU5Fbmo1SGtBYzZZLTNuYmRiSSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.p5T4uwzLdrZtBdwskwddzWbk1187c7Hz-OLU7iQzYlGzCz-OzlOQ-MiYgD7g72GaYtZvhMpf7oaHX7tkgXvYNGwbm_SmI-THZQl2EyCGwSva6bjjD1IPkbjeQT1eAtxRzjjHvE8goiHRFd40wG8YR9prW0VOs-_KKUUdSwLbXoavSrClx6WmGvjBl6FBViu3tdkauBXbRLmo7Te7amYJUZA9phch9FSS-gxht03gP7AjI3WrVXfRMP9iXQAB0ImncpkkI8v_iVJouF5qBpNCeFCPHKxpAF2M4y8OoK3hvLBYezy9jJSdf2m9OPiDE3mS04ThTfxew6FczCsKMfPFzA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGNiMTY0MTMtMDhhYi00YTQ1LTg4YzMtYjcwOWIwNTY3ZTE2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1548" it="0" lt="1545" ct="0" ts="1587564568148" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-35" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzExYjQxODYtMWY1Yy00NDQ4LWIyY2QtMjVhNWM4MjQ0NTMz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5NS0tYnF6RXhJQ2Nqem1nVGZRQmQ4ek9OWURnWlc1RFJuZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ds-ESFCX_PptUw8H38bBrFqfxmL2GrC4xL0hhWGRaKNnQkKaKwkacsAKMI6sT9ZatHBFcD1kdAiRqsgoWxvzMJ9esb7AuJJ5DS0wA1Ri3W_fi4FMBKjav-TxwJxDcxj-2JWTqgL0zSoYylHYFCUSRnmhj1n9Cn5OBk_9Lwii9cNbyMAdrksuSu3zfzK1lCYkBNmY9ImoATg0_TLRZtg_Y7nRW96lfEnYtd_sHWtJh3ncRm_mLId0SIf6QLFQQ09Y2Dt3gsut1Lz6y1lV--xIEjBxl6_Mx_cNadRt93jIdG02puVCs2MvweU2lXU413rzpTZHe7VN-wVCI-bHKKag4Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MDlmZTQ1N2ItN2JjYy00MWI0LTliNmYtYTI1NzkxMWIxMTcx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1550" it="0" lt="1547" ct="0" ts="1587564568147" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-22" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjkzMjY2NDktY2VlYy00MDk5LTkxZTEtYjM2MjMyYjYzNThh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3NC1SSU9uN2cxV0c1OTNhd2VTd1RnbzhCWWViUXBtSC1TVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TOXQMWcBM2GYTGY2P2NoEGjOBUmQxy0077-Il8QOhsUPNG1-CwCuU47F4uQp3lK-FdQdsrLvasJPiBGZFdXbKdjNcH4Z6nwt3z7hl6ROwj2hgevyQw19CsqwZaEPihcH45x8wuhV4iDXrzBqwx1xMhFq4dQX7aocM7oiWrSuSQ0IkBRHxM4Zjhr85MOa8iQvaooP9MPQgfIi9t5m9TjUJ1IgrPH7_p_mwp5vO-01bNAlGNXhyKlflftB_5nlyYoxQSUgeE_-bliRcBGY10Jcmy-xXYlwEzdCWzBrA9e6HdGCNDjdKKbuCIH_sYJMS5rKjL094A3z8lDG9PAyurrVbA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NmI3MTA0YmYtNGY2ZS00ZjUyLWFlZmMtODU0NzM3M2ZkYzI0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="2402" it="0" lt="2402" ct="1" ts="1587564567296" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDhhNDNmMDEtMzI3My00NjZhLWIxMDItMjVkMWRkNWRkOGU5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1933-hXEYhQWCSSARVqTCPuxfnL1-ueIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1552" it="0" lt="1547" ct="0" ts="1587564568146" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-7" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTRkNWVhZDYtNzk5Ny00YjE2LTk4OTEtNWFhMTkwN2NmNTI3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4NC1FUnhva05mV2psMHFSck5BWlRheHNZdDRmRDNNbGs1diIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UV_-_Zozu_dl0Npp6_TUbWDpYV9fVYxJDwedsjWEF0XiOakAmCT5wsiPoHizPjdIZIEOhXasH85sFsZi8k5JQcC8ZpWlZxEDm5scvZXgENLhF5baMhsl7wVgbrVQC_DMJJ7OfE-qYpCpg27418hlvg-jYJ6hbWEteT_WJmUlEHiB6P7dUt6sC1ew4C6F7ohx7SRdwulvnLguiIKl0nGlkHBp--vASDdWbB9O9FJZFKYuBrgjU7x43RnJbgIz7-LMtYMGIYO6gtw7br0jN-9Z8teKVmLb3xM76az5404L0fTMCUBG60LQrjo1V7z6SLO0lhupFLw9evJLqHVCzLPEOw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OWIwYjQ5NDEtODAzZi00YjI1LWEyMDAtZWM2YTU2YWUxMTYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1564" it="0" lt="1559" ct="0" ts="1587564568134" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-61" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmJiNDFjY2UtYmRjOS00YjlkLWE0NTYtYjdjMjBiNzU5ZTIx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4MS1Zc0Nkb3liU1BNZHZrZlJxUGowbUZyYnBvcjdEZi15byIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.fN_dIf9ql4fhA_qSN7KEgT5PgraNwxKvvzyR4MCwKWNIe5S9eHD8uCB3y2I81Ta5dttkptBDKB5_dpxbFaimG_6Zi2ErM_rKARcws0NeD9-fxLvQgfUlb4t1547sa_-ONv4RdWw5Azf9BwLB24pupUXdo3kiXn8UDOz1fI4AmNx_oQ1UntDrLqx4Hf4Z6Tsi_ayuNUIGg0506TjmxlShLRkgWX2aIJXByPpr5u5rgVTNVblXefOo8oxBbm1OllHWOPQiOPJCDezthicw_9FWmW2rkBOM9lLJLe6qJ3Hfti-65Yr7SpxFOm_FlhHpyJxjIvoNjWtULBQDLM8WzAnadg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2U2NDQ0NjMtOTYzNC00YjdmLWEzMmEtMjIyZTFlNjRhZjdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="2426" it="0" lt="2426" ct="0" ts="1587564567272" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDAyZTZjMjgtNzViYy00ZTc0LTk3Y2UtMmZmYzJlMzU2NmJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1923-bEzjD6PMUkFm-CfbVCarD2Ac6P4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2415" it="0" lt="2415" ct="1" ts="1587564567284" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGE1OGQwN2UtZWVkZS00NjA5LWJiOTctYmNjYThmOTUxYTcy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1934-lyR6OfIPaGjlG54X3Huf-8JK5jIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1173" it="0" lt="1173" ct="0" ts="1587564568528" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NiwianRpIjoiSUQtVG9rZW4tMTYxOS1WN05nSHdLVGxNQTA4eXpvcnkxZzV0MlVKLW1GYVE5MyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IE1ftpEMqSQp3gEd2gr4tJRrMg3UeiyWeP1C8-M1HwUMRryiF7_A_jnOoZq0fvIldsSUPSdWkSPmwNxkvY7vT8LkWGTYb77kEYw-729lOr8p7CQfar9nsMBEnkK52WsIPGbvgpTPxGb9Rzf7a2HVOsFZFqG-DBGKnPV3xGcfGrQj0uHG0Gop_5B42s7Ckm20UvZOU3h8Hodry73s22azJbJgFJVox83c_ac-ep3w6xOuezmFPgbUOZAPrv9CfO56Af61hYKsvBVj4th0CHna20YWmKZ6dnGWUSFRDgjNqWDMAKA4DhL_S2EjRgEhZTvQqpUviqjlYtuSDC4kHUCMog
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTMxN2U0Y2ItNDZmOS00ZTJmLWJiMzEtMDFhNGUzNzM4Mjg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NiwianRpIjoiSUQtVG9rZW4tMTYxOS1WN05nSHdLVGxNQTA4eXpvcnkxZzV0MlVKLW1GYVE5MyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IE1ftpEMqSQp3gEd2gr4tJRrMg3UeiyWeP1C8-M1HwUMRryiF7_A_jnOoZq0fvIldsSUPSdWkSPmwNxkvY7vT8LkWGTYb77kEYw-729lOr8p7CQfar9nsMBEnkK52WsIPGbvgpTPxGb9Rzf7a2HVOsFZFqG-DBGKnPV3xGcfGrQj0uHG0Gop_5B42s7Ckm20UvZOU3h8Hodry73s22azJbJgFJVox83c_ac-ep3w6xOuezmFPgbUOZAPrv9CfO56Af61hYKsvBVj4th0CHna20YWmKZ6dnGWUSFRDgjNqWDMAKA4DhL_S2EjRgEhZTvQqpUviqjlYtuSDC4kHUCMog</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1561" it="0" lt="1559" ct="0" ts="1587564568141" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-32" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODg0OTBiNGUtNmU4OS00NGNhLTkyMTYtMzY0MjNkYzExMWIx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxNi1YQ1FXa1NLS2NzRjEtc1BYSzFsazY1SjAyZkItM2VULSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.o98024l-kdnI-5eO0dS8jnq8lspPEPqKSl_32W5yK3BIlcM2zMKUsdjZL7X6axXS5-TkXz9N8DHaBasL5xniqII4wXQaDG4c1xD-UnxJb6OmlGLMyKpJm_rIT32Zjj8ZEZJzZtpEYyevm9t4iq1D4t0FX0YMktQfWQxiJ0IXxOQvPDoGvtX7m0isK3Ndj_So3yrGRde50Iuo1hqmLhisTqdIrHuR0l_SxYjbQ5RHN843K7-9NQNPmJBeL-cYsuqToOukXnZNSuSLKRJBolY8fVkB5dgM2_gYnQNRdHTPn6DLtDCiGS5Uhw4SLQh_pSerdkezh87_HV64gT_VC71P4w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YzhlNzMzZjgtMTRlYi00NGI0LWFkMDgtNGQ2OTAxMjczYmU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1569" it="0" lt="1567" ct="0" ts="1587564568134" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjMxODI5MzctM2E1Yy00OTljLThjMjAtYTlhYzZhMTczZDk4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1My0tSjVpTS03QXd4NHRpc3hoRllpaWZiM0RsY25FcTFFRSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.odxkcM8HrvYLHYFUm4gsMMCSobGX5lA4QtneWahKH7Z2z3o_FpT6Ux6V68-G1bRO6ZC4XBAjveHWecb0MsZfWNhr_o_LdGa6sOs_Y9u7cGyMziwh8ElrHBnyTIiSF8sW7bhGCJk-v1KcQzJrOgjZpJUbRuFV3nH9zvPFNxg-8Cj_dQPcZYdjy6EPWWKE4P8HYIO8m-8GZI_PQnBH5HEfI05-pDAyuMEZ3ngQYoSuXjgT_gDjIivRgKba9TpIBIi1y4q3dt5OhkDBwiUuRGLlxRh5tJ2dbfMAr3g0flTxCQeiO1j1LpI0OpoZ2JhSR1WUn1ttR2-7QmCW2pejOjLRDA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OTczNGJmZjUtZGNkMy00MTg3LWExOTYtNGQ3YWIyYzNlYWI5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1559" it="0" lt="1556" ct="0" ts="1587564568144" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-3" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGE2MGI0ZTMtOWQ0NC00NGQ1LWE5OGYtZDJkMTA3Mzc1MjRl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5Ny1CLWhidXRoc20wVFJUZ3VQT2ZuVWk1WjVqdDVUSW44VCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OCHv0t3b_CzHGJ2yW7IMJaD55p9zN97iVY8_oRN-qRhqsrVfCZ8Guf9iAjlPnQOxNLccfmg18TMTrLBhqqckgPuxTTldHp-UgrTDdUhrctdLY8PyvuV7xNV6s0EmAzE8ugmpGojpYxkV32OzLvvst7UeyvVgg9KlmwKiezufFIugu2lEWMrtpr3AR6PvcPonfO5uP3VbmbFIxJuD9AR8xopGxWIONG3Le2yeNBzL8PKLxXRC-8wT7i6srWEkvblGCqPgeiMjTkon1ymKxLfuhPLhj4S4V3BXoR0B6xfwHPPUVkBRwOz_wR95aQAw07EtZrI2w6gq3wGhv_oLyU5U8g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODI1YTlhYTQtMDBmYy00YmYxLWEwNGEtNzQ5MjliZDBkYTg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1557" it="0" lt="1555" ct="0" ts="1587564568146" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-88" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmJkMDc0NzQtN2QzMy00NjE2LWExZTMtOWQ1OWYwNGNlNWVh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3MS1VeUtPdEJFbmJIWS1PMVdZdGdOQUNYNlBvbWpydHRnRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YPQSH1bC9BFs82HGET76jFmbzqkQnxfDV1yJ5qznAbraa8ZY4lmP3zZOcdEUaIRgzMPtoH_EhdcoTcEWhneQPea8SfDO6ly3zy-kj7ZuwCzpuLkSroNeFl3_zo-0sbqul2cwNeLyN4H1PF8uaMJ0FvhT270inPD00xxg4f89LD47fXvf6XG8UzCv0CK6aKQRyI6RPN3REaLQnD3pnPMCzbxqCLB4E7hbMdhrZiZ7ZBG0E_q2SdatMTPZ0wXNqlmSRuLBWO9AZcL3D5e5jQO_wI38NR5rqyCP7rtoAWAWWJGPSVtTlsirtcnBx_zh-2AA9oI8GAFcY93AlMUIOF4N0A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzgwNGY1MTgtYWYwNC00YmYwLWI1MjItODE4ZmUwMTM2MGQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1555" it="0" lt="1552" ct="0" ts="1587564568149" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-98" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWM3Nzk2MGUtYWU0YS00MGNhLTlkMTQtNjhiMjE1ODk1YjI0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2Ny1xNkhJM3lUTUpzUG9BbXNQOXc0UjkyUHQ0WFZ4a3B6aCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jdmp6u7j3d1hypUNizV6KdbyRM4WseSFqNX4jAca0ENPgYBi0Qj4BVYOdPZnr7CojJLsd_-96B3iHoABz99XKvghBPlX0h990YRPjuGb0NWILosqZFg1UWQmxN6DjaPO5vyX7kDg95DgSstH9E1cPsEGttWibOhF5IMxWgd42Bufwr9Gegt0exPH0hLjP1_HNJ_mpyvB9dlHK_ivJXPxZ9Kuk0Ga7eDCn05nlEilfxvbmbpEWVlMRrog1e8DHeNHJvakEetmlHB-SNBQFOTu-z7iSb1osOVpPQxZ68JktgIqew_3m6rYlrjKPWe6TzxqyRwFAnqkWkDkqo4NRAVWQQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YmY4MzVmMDUtZmVlZS00NGJlLWJmNjktOWM5MTBkNGYzY2Zm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1562" it="0" lt="1559" ct="0" ts="1587564568142" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-43" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzgyNmIwMjgtMWY4ZC00MjAxLWFjNzUtYjE0MmUwNGNjYTM2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1Ny1BVFN2TnUxcTJGM0NPRy1aWWtUUnFFVjVwcXBmNi10YyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Pgcmx_BIYpmGb-HgnMFrEJtYeglfDrvgAdLXWPI6NsbS3lWW-p-ADsRZQUt-xHUsM0NRFdhxhmo3JDPnqt7QRTsGktFe_uFslhuVx9sK6AUotpCRsJsdgeOXHwx2Em5AZx506MF1Lhtyw-UXC2r6sR3JyaclsjHd5t6lMeADy98ny1Wq9scfQos6XaO9ZkhdOpf_XCRlC-82ij9oZbueRmKcTmAw2M180ic0A0ekqU6C4AVgBdVPbrLZ93rt67XKXTi1gxyfGi71YvtHS8d0SKGYIAsbV-J7la4ARfutVBtWK5s6S823QMH14IYHhp1CrF1Ol0bP4a2Lr9LHcs7lzQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NDE1YTk5ZjMtNGZkYy00Y2UwLWE5NGUtOTQ3N2Y4ZjhmZDc0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1554" it="0" lt="1552" ct="0" ts="1587564568150" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-41" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzRlMWM2MDQtOGExZi00MTM0LThjMzgtOWEwYThjMDk3YjA0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4OC1oNXdibUY1eHpLWktvWTBLaS0ydG4walUxWTdvRGZMMyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZtllKhz3DoRpbq9H542KN0PZaw9Jch8u4-__F6df9pipxmBvbwH0Mwzcw5057i34KUfEyfCLc_92ng__Hds-H9yMsXCoJyG1ADFt-TWFPfXelLuJ21BxFrYmeWzloIYywgukrYqGAPK7Jl-S7I_nKetG1FP9-orqWI7s6Z9b51HjbcNE7aAt8RZbFRaZA5Q7AaquIWDMlf1S5oTw1xvt2QcIG0tN6PAWeHb1icBO88ngFh6Yximhn2y4DI0cwqhkAgsd8_FicilTQlHCXJG0wuSWaHosRDZjL-avCMlBDOaODRkM_LDeA9TNWq1w41f596L-wXC15vWu2IEVIFmycw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGZmMjA2NjUtZmNhOS00NDYxLTg4ZTktNzYwZTUyYzU2OWM1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1551" it="0" lt="1549" ct="0" ts="1587564568154" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-82" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWQwMTc1MjQtYjNlOC00OWFmLTkxZDQtNDA5Y2I0ZTE1OTBi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3Ni1lVk1uQXd3am43VW5BVC1oZk53LTZHTzRsc3QzSTF0RyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.a3IWq_d60b6kKqV6ROS0MMX0TIopzxYWBQ6dYxHPpLMuDm95qrIdMyQ-PN-LVmV6V3omzDKFoEiZwBrxPcLPGm8s1BJZvnAZWMvSQ5FN2h_46uB4EDUIQlMMqNUN2aOfHaonUPCuTh9e0PrF4UFlsFqk9QOSVMP8cHFj35OP2GcqtDJhd4MzY_6S4EPfxr0ghc2bA3rtGjLmELHzsyKRvlQMqrUbHVIJKZCiV277LKRkXtbEeRRBERcjpAwbTPMpXIeevMlLOpTpums1kbE1kh4Xrp6i2YVfvip6phOnjL3Ye4dXrwq_IkVLSRk-3oUeYiWJ4ZRcjJBInoqbUlKs_Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MjBjMzgwMDYtMGU5MC00N2RjLWEzOWQtY2YxNDc3MjI0OGVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1561" it="0" lt="1558" ct="0" ts="1587564568144" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-81" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWY4YzY1NGItYjUxOS00NmUxLWFmNDktNWFlNGM0ODU4NzI4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxNy1hcTd6ZUx3Smo1d2RzSkZpOWFlOTZ0LWs2OC11aEdKNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.De-zEElC9UdnX_YBPDfqxRzlwfj_6iV8_YPfdxSL6Lx2uCyzzBCJgSp0BQ42HKD2kWPL-wBJ5rQ9lQWNYWArBwkdJN2khlSZDfkns5NSpiWuCEl_2YeOv1i-c0ZWDnMBZblwQnrrotkEgN8AWMbP57v4xaAoeUWh_7mFZXxrig3p2SZ6d9EXMro_q7kfDsKP4Hfh6LfvC-DSkborzItdzF5wa9m2pAeAATkUiAQHVwwn_OY8wIu53hKIfECHwq82P5A-zr8P1ZSj0YGvf_clR8SWDS5ajRLWBf7ut758aVv3CVseC6wVStwsgVk0KSVNXMHZ17XIS39VhRukUPd0uQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YmYxZjkxOWItYzkzNC00ODIyLTliNTYtNDdjOTljNmI5OTY0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1555" it="0" lt="1552" ct="0" ts="1587564568150" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-25" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGRmMjEyYjItNjk5Ny00Zjg2LWIxMGMtMmExMGY2ZTM3OWEz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5NC1ZRU5TUWFXOS1UZW1XaFlyYnV4MEcwRWdIbk84NTdpMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Hz7ray_1UoeRTqlVtGc55viU0wMjgGpVN5XCOu3EKJScTmT7l8YnbMG5auEd3N-HOGW9rxIAGYo581LlgLL_-X3No9J0QUyRdysYzzcXBxakIeSuiQ_qVvgKu4pK4JhCIZwPvfhwyx4UV2kgjT3CWc0wdeF1cSu7B9njvOIZINKh1a8GWYj1bi8wzeBpPxg8Pm-zlAzqytHMNPjc3AvdxjUTyVb99uh6gFzQmAiyrFjr9qCAJxIMpzjgs2V95vN23-alU_GBY4PYayGmp71nOkG-VR6LkhOOGPY15zOvK4Gh3O9RZTdbSaKhekG0ohKDntmFW2MuuH3AyMQVJYbt8g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NDgwNDk5OGMtNzQyNS00MTRkLWI0NTUtMzYwNDM2ZGJkMjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="2827" it="0" lt="2827" ct="0" ts="1587564566878" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjJlNzQ1MzgtYTA4Zi00MTExLTgxOWEtNjA3YTBhZmE2NmUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1930-ai53l52vHBb3UIS40xPMQ0TWbPkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1559" it="0" lt="1555" ct="0" ts="1587564568147" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-50" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2ZjYjJjZGQtNDE2MC00NzliLTk4ZGQtMDk5NmIzYjFjM2Vl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwNy1mWDFZbXlyeS1JcXkxRFFDbDBSbkcyRmxUUGp6UEJkOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pzeDzqfGJn8t1pGiDHMYF5sIpp0bZpZGOPzQP6V-hwc4qZ2eSomy5fr1U3rW4SNIZ68uLSSf8FJUkIkiuZrzZ6pmyuevoGwT3Oya_bUHiuCg1XOu3yvFB-8sO827cKfZhvEn7T5kmHB9Wq4VKrjUTgHM45zUGGwmp3voLaQCtLsXoHygS4I4yxphfJxPYXADsR0iWCzcTtv0OLVpO7US9FtVcskPuUMXLMTzq72zvLwLDtBYuCrrjQyKk2PX2y6kSBclWMkqcrn9L3vk8981ciQUazZ2JhiP0gj86Chz8V_jSiZIq3PWQ79VnwLfp5LK0SQHoq0BjUrCLYH7fouAsg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NWIxZjBiNjctODA0Ny00NjY2LTgzNWMtZGEwMmU3MWQ4NTRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1558" it="0" lt="1554" ct="0" ts="1587564568148" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-52" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2E3MmJjYTItZTE3NC00ZDU2LWI1YmQtNzBkNmY4ZDc3ZTkw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2MS02c1ItLWFxN1NtOU41NW9KMUo0TGktUm5rMkZHVlJNMSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Wt0KRwUsMrIcaTrHrNcABPx-dqE09yYxCCLQ3o7lNcw9_e3vejnWFhinJrPfe7G6fv9TawWmC9ffK4hxgdCh9wR13yOG1g0rs5oAV4JjtMnOtkAU0GqF223Dst2c7VHXYDPYizdHWs8aFz3xQ_7MNYYe4CMInJnyZocKQICGl200IVpqTcoNLzs-kanDjU-ed5OWdw2A7CWNaExkjQP_caRE2CnI4_THi5OEfUgcmC7Nig_ThHBhByuzWvmvJLddrnyliF_yZORzjP4Q6YyF4F43zfjmkV6mHrFr_4J-u1VahC_lttrKAdz6disaAE90ULEoBgiM7ytp4QFG76Y-FQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTExZGNjZjEtYWViYi00MWE4LThlNjQtOGMxMWUzOWFjNTZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1180" it="0" lt="1180" ct="0" ts="1587564568526" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NiwianRpIjoiSUQtVG9rZW4tMTYyMS01cnY5Yi10aDhsRkstMGE5TUMtbkNLU1pPd3BRQ0VYSSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pe2tgDvJfnR2V7ROqTy8HE9s74lCVOv9N8j1xyCHaUHytilYisaOJreFwnvy_yzj2mroTfoO1O0udY5f87lzQmWi3Vk05e7cwTda6ZEP0Fx2_GP6jpSiHDIoy3xQ-3P-MLk6V8D4-ucppmR7P6OdixLB8URiwjlGtNN3DHQgskC9yLfd7rGZEnygUb2OIcn9FcL20Iyfe7u1eBxXMCN8BoTVcplMVpUntagfMiqewPrnELORMS2ulaSmgnLswgxsRGg3mOZQoxDPlR_D8hul-_sXeo9RUlXp_RYizswmyMpdNmTLTfdN6qi7X35J_o5i9YMHDwHGSIHOV8yEoKy_qQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTNiMGMxOWYtZmI4NC00ZDA0LWFlZjEtZWNiMzNiZGExYWE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NiwianRpIjoiSUQtVG9rZW4tMTYyMS01cnY5Yi10aDhsRkstMGE5TUMtbkNLU1pPd3BRQ0VYSSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pe2tgDvJfnR2V7ROqTy8HE9s74lCVOv9N8j1xyCHaUHytilYisaOJreFwnvy_yzj2mroTfoO1O0udY5f87lzQmWi3Vk05e7cwTda6ZEP0Fx2_GP6jpSiHDIoy3xQ-3P-MLk6V8D4-ucppmR7P6OdixLB8URiwjlGtNN3DHQgskC9yLfd7rGZEnygUb2OIcn9FcL20Iyfe7u1eBxXMCN8BoTVcplMVpUntagfMiqewPrnELORMS2ulaSmgnLswgxsRGg3mOZQoxDPlR_D8hul-_sXeo9RUlXp_RYizswmyMpdNmTLTfdN6qi7X35J_o5i9YMHDwHGSIHOV8yEoKy_qQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="2433" it="0" lt="2433" ct="0" ts="1587564567274" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWRjOTZmY2QtOTM3NC00MGJmLWEwZDktNjdiODUzZDkzMjEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1932-SzGoNlbQQgqrmNKluyAvgIlTOPIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2429" it="0" lt="2429" ct="0" ts="1587564567278" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTI2MTVlOGMtMzQ5Yi00ZmNhLTkxNTItNjQ5N2RlMTk4N2M1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1922-ZTVljpPwztizdFkGWE4JrL-lwycc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1540" it="0" lt="1536" ct="0" ts="1587564568167" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-75" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2I0ZmNmNTctYTQzNS00ZDU1LWE4M2YtZjNhNmZiOGZjZWY2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5MC1TUW1yZy10QTdUUnREc0FoY2E4RnU0dVBRMHVXU0lLMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Bw0rnemyImKQiAtq-M8L4f4kQDlEXhAbaWl4z7qhzs00Q7KD1M8GIfzWzFz6Ecw4uCxY4k5ACPj-P1m_nFwSebRh0x7D41hex1b4AoQaEDtJIIzNWDiMhFeR7ZdAQcQqKf0HdOLB8Imb1eDfQYks8xvNGj9ciSVAmJGzcuKd84ymHshwz8j2Z6RznBLv5CX7_9QTy3kgFMLfke3HFBr6TlcMnycRKDsHqb8_fvZpaJhwxo49vPyC2sFZXOWhEDHGrzdS3BXAP6csrKPkXt9RMN9UBW9U82VKobXJXRfXLZC9Qxx95JgKVv-4l3ugetfZUwxGMIn808i8HpQXa-Q3aw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NjYzMmNhOTMtZGI4Ni00N2UyLTgwOTEtMDc1NmViNDUxNDc1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1566" it="0" lt="1561" ct="0" ts="1587564568142" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-66" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTkyZWZlNDItMzVkZS00OGU0LWEwNzEtMGU3NDNhZjU1MDYy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1OSwianRpIjoiSUQtVG9rZW4tMTU1MC1NNUJTMXpuV2w0WGZBd1MxRU54dUNrQ2RtcS01R2NVcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PXRy81BCq0D6eboKF7an0x_uvwZQ3YSsabyW55GUAR5akRuZVI2ka-55_3b0FBvWkEvku3hb0pe-NFKNKggle1oWQBxfW5LauKOgmMlgnTqlklvCWUWl2oseG8XHB-tAXROE5PGXdalUqHZkwf1ruDCJlChqD3UiSkoiGuZgHuub85m9o1BWOE9FTbSD6ypoW2NzLCA50srtu2W8u01W7WXuSUBLnk_YIwpG6V-uf9cE6Ck0kQQYMTNN1lBYDvIAcqttisKmqC7pMnMwUkNWcIwjXsbughelgYlQOnk877wkTVDJ6T35h4Cpuu1HnGyXintGw-w7KwyySA2-gXi7tA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDIwODFjMTgtN2E1NS00YjQ3LWI2Y2YtNjRkMjVmM2MyYjRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1542" it="0" lt="1538" ct="0" ts="1587564568166" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-48" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2JkMzcyNjktZTdiNS00NjBiLWE1N2YtNWZmM2RjNWQ1MDZi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4Ni1aNEMtdVRIV3FFR3R6YWl2ZDYyeHdmRmVVb0FsRXpNdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cqbYtVIw-diF3qUapMH8_fAeSsU6clxYG5lT6rU0ORseEmxPR-LKLA4fdXHl9y3h6MW6kyA2KcA3M3KSjBF4aMLRKb_eYB7fZ8pCSujtF8r86RWWUjbE0UnKD5cA0CYdIkfpgZhxb8TPWXguB9pkEMKgtA_SVrB5tcKodA-ZXmY63G4L-7EkWmbaRmI5_Jget-Cm_L9FZ1gtaLVeBemPhHgSLaTSUxRUOKjyjLTH7vxCstyNGRsWaEtQfxEvvGB8Yo9ZjzVKfmV1Z5R2e5p3tAUkjT51vpp0rHbKLEA9yS6j1WA6TFw2VXJAQEMfG-RN13iH-tRhQkmaT2BQqaX9QA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MTJkMDQ0ZDQtMmE2YS00NjEzLWE0MmEtMTk5ZjJiOTFjZGU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1564" it="0" lt="1558" ct="0" ts="1587564568144" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-84" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTY0ZmY1NTgtZTM5YS00MTFjLTg1OTctMDU3YTk4MDJhZDM0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3OC1uZlg3cmhnWFA4bXBRT1hHUEpZTGFtd0pGbmlXbXkxQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NAD4qOR7G0C6jYihLPAYVpkoWgzLnmnviRv8UoMe3ftPhYj7YKQf9006OCUGjHX4qUJ1ws6uP56TzcPQz-UsoYC2-yQqvoWZv1tQiy0-uyfp30nuLeTtA3wxCRNJcN0PVob99KB4VIvBmrbQtE54pxXcdyTTaGVwGntgq-no6ypuV4O6XJrso05Cx6BrkjIzoDCU7BiAbRqPqokldhWOPnhljGWG8B4EchxtT89c9cbU1bHxekVSCAH_eid9iUejVLJR8Kw_l9CsP8R7-na1AAH7aA1ESENLb6qtEPGcGBaIFHEDt_1KsNw16EeH4JRglxPg_YpsCPn8W9-gTQtpCQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YmNhZmE2NWEtNjlkOC00ZTlhLTg0YzYtOTM3ZGRiMTMxZmUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1560" it="0" lt="1554" ct="0" ts="1587564568149" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-18" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmI1MjEyMTMtNTdkYy00ZWE2LTkyMzctOWFhMzI2YWNjOWUz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NCwianRpIjoiSUQtVG9rZW4tMTYxOC1xUy1ndTRkQS1ib2w3dVFCcDNDNHN2RVBxZFVTeTFqWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gzBl2xbHR_swzX1W5H43UqY7kwRx6HAAJD807VhHb7JPRYi06UJrIVyZkPGLkN4hbBF2_TGQ4776JiEcsbKoxzOhIelsRtRWOsDyyQCcfG6YybkR9iKX0xzRvydvHinFslb60M1X51E1muGHnU1wZVXYpjt__zvykF3PJPXEqJMmz6vbx4CxEtbsyNiZtqwZmsTRLan1GJqxsgv9X8OwALot4uS9FyPU8rDUzDqga2GE_9dDtVIH14H-_byFJNXOWQgwJWX3I44gEfVUpeNfSBHyv88-L7Rzvp3lXbQA8t2zjmsqfYzTdqvqUdj7c54OGl0lc_fj8Ahuhq4t8SdxSg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YjlmYmRiOGItMmQxYi00MWI2LWI1YzQtMGRjZWExY2M5OGUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1555" it="0" lt="1552" ct="0" ts="1587564568150" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-24" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTNiMTEyYTktNzQ4ZS00M2UyLWE2NDktZjI4MWQ1ZDMxMDQ2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwNS1Sd2E3Qkt0b05zYXQxajY0MFloaVNkMWY3cURaVUtETyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DlM-71lBcRo68Y5mo6wnSXshv65ma-ZYIKBv2uCOPDcOrAGxUz7ceiTXLW1i1rgJRJuqTHSsSvEWJpGfNxKupmp9YYh8Butl8xGzSV64AJJzu9_xguyyWJv5JQeOFQnb1_G8RSi6lvdiw3fOjh6u_dUG8c8fzKQKTKBc9MqpPOevRi1_26jgGHHO3REiXgUNiFMkj6DglT5Yw4Uf4nxJfxAth5pg_GS9x6oB4XloeawWzo8j-cty-uAW5n7Fu38Bj_0lJdqhpSY4mVAq39JWDd_klxAKrbPsvZ5W59N1buEGZ28DBDIZ9hvzQ3RSxIPYbsR54DtKg03EDTNxsvKHMg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YjhhOWZhOTEtOWM5Zi00YTU2LTgyZWEtMzhkNWE5ZWU4NGE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1559" it="0" lt="1552" ct="0" ts="1587564568151" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-4" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzY0N2IzZGEtOTg1Yy00ZTA4LWFiNjgtNTlhYTExM2ViODA5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3Mi1zSXhRLWdTbUppWmxDVUg0bDNnNlBpRWNqenU0aVRzbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sfxXkPXnpYwhoHfWQcrEIvFDIWOSUpJLVELXrZ2z7NpEgVsnKJmhjpWW28RyOC1uPW577pJt7Lo591kv-UDpeZsvboJH4Mw6ThouMhSLEj1Jg96huVDkQ1za13UbZsTpVG8zv4PaozB5EOhkFMCOhvd3MJkHQWYKPVLR7ORsqgtJO-Rp8EvsMtxC6fZvVHokfx5RuZfKwFUFv7n3Pnv-kLGsQanmTrlmCQIQbof8LSUH7xsKnyMlclK0oBmZbqrSTnLFN_R8brUfJX27iZc1BnJKYy0nah8bCk0zCovJMFX0wAj-hKqcWEttWQsXdZRsansNr5ekTfJ0uI5pCrjHrw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTc0NjA0MDgtOTY3Ny00Y2M2LWJhMTYtYjEwOThkNWI3YWZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1563" it="0" lt="1557" ct="0" ts="1587564568146" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-64" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDRmMmY3ODgtNWNkMC00YjE2LTkzZmUtYzRlOGQ1YjdkNzFi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2My1lWnRCaGEtY0x0MkV3MmEybU1LSG1XYnd2WkV4bnU0MCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oOFkwVmu2fTxRM_HRfYFgo0eluyF8QkneyZbPyuUPzfek6qZB4hQR2r04lj3uCZg-IUODLUnBKH9qemtRb4Sk3WuToHaORIeAyZLQ2tKWfExpOLNjSvm8xFz7h_bojSWxVLBzFSjL7IiVhecO0K47JQ0oH3GExCOLuaEtELc_YextlGdsmz6k0NqAp-gw0riG6nBcMFIv2-YY3a-VTv5TMnvn2ItYNA9ARyBylQPeHsc8yU_hzoHXa4MvBZcYXKKAgpOGRknzFyYhTmDPIM8LzaeXOEZrJNhxXdtQYTGKmAj6isQTfApyUk6CJ4XhXGLs1LS4kjskKHvJx5bxEgIsQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NWVlYWNkMGYtNTc4YS00ZjU1LWI5N2MtYzU4Y2I1ZWNjY2Q5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="632" it="0" lt="632" ct="0" ts="1587564569078" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NiwianRpIjoiSUQtVG9rZW4tMTYyMC1nOWlZTVE4UXZ0WWstdTVMdENkRmVLaDJZMThTTHpEZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FOaMBLt4IMzhpqrsAoDz28Rdx7QRCFjFWlFR5i1iAT0Yc58ZXiELaeKFMQEEgXw1VNE47RSnEZ45Zw9OB1SLh35NpzEwqvU45Fu3KX7n4brfJ8JJ5n52R2kgy-osiPJsD0IQh7-F6DwAPMDVIAdcVWyXdt6Sls9JQVXg2pjWYvtOqlTD3LvkYcGjo9V07fEETpFEv7ulOgblCw3oYV7ZLx7uGNcchBm5zf7rJE5uAH1hDCX4Ioe2_8yYKA8xAeUToZIZP94GgyHots9w2XC0VEwWQFTTef0f6UoZ-S4nxwNKFJDFfTLv_iTYb1puUglnCiKgIWsyfEwXA9kBa-GBNQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmEyNGE5ZmEtMjA2MC00Mjc3LTliNzktYmE2NDg2OTVlN2Jm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NiwianRpIjoiSUQtVG9rZW4tMTYyMC1nOWlZTVE4UXZ0WWstdTVMdENkRmVLaDJZMThTTHpEZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FOaMBLt4IMzhpqrsAoDz28Rdx7QRCFjFWlFR5i1iAT0Yc58ZXiELaeKFMQEEgXw1VNE47RSnEZ45Zw9OB1SLh35NpzEwqvU45Fu3KX7n4brfJ8JJ5n52R2kgy-osiPJsD0IQh7-F6DwAPMDVIAdcVWyXdt6Sls9JQVXg2pjWYvtOqlTD3LvkYcGjo9V07fEETpFEv7ulOgblCw3oYV7ZLx7uGNcchBm5zf7rJE5uAH1hDCX4Ioe2_8yYKA8xAeUToZIZP94GgyHots9w2XC0VEwWQFTTef0f6UoZ-S4nxwNKFJDFfTLv_iTYb1puUglnCiKgIWsyfEwXA9kBa-GBNQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1562" it="0" lt="1555" ct="0" ts="1587564568149" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-36" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGY2ZTZhMTgtZTYxZC00YzQ0LWFmNzItZWQyOGUyZGRhMTI3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3NS1VNUxTSHhPMGozQVdaWWJwSHpKWUVCRVljM3liY3FvcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aXzGmF9NkJ5iA9FVqVO8wpb1ZyaKYzirpFySmBR3ruU_dDKBdjjGeWV1MlI-jrWByCEkRf1NXcsxw7RGsMUKFBzbS6jczQQlnyfL_FziVFhnZFHwqgnlgTUJVNi0CM2W6I0RxECzRAmU1SoKAAOTOdT73pdRHQblLLbxKF-0mdGalC8ul6cBk_8WCumF8IHHLhZT9sz0-KaqMH5NQ3Bg4UMjhcUvNmAutQOMXHSZ85249zhC41O0sQQN3mXOSqRHxi7_58r35MGN-2__8cjFjoxyfyFPjK6Yrc9fWYq8H35tiM8vdvTbMb9cXC8jvjd0PzqeGNU801GvXea-cwmhqw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODA0YjQ4NDYtOWIxOC00NWY3LWFiYmQtYjMwNWI2ZmVhNmE3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="2438" it="0" lt="2438" ct="0" ts="1587564567273" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjkwNzdjZTYtOGI1MC00OWQzLWE3OGQtOTI1YmFiYzBlMzM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1925-T1gficl5ojDsXeMY1g5j5lzc658c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1562" it="0" lt="1561" ct="0" ts="1587564568150" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-20" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTE0YzlkMGItZWVlNy00OTRmLTk0NTctNTU0YTI1N2ZmZjFm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5My1VNzlTeXFJZDFscmM0bjZUQmVTaENSQlRCd3hZOS02YyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pwkakW9rCkv4MGE7QeX8EzQbHGGddMiI5cSaVj4uloTE_UN47b_CF91T42AySCZ5fCMhnU-cpkcUSAA5pPZb9FnGcbfVQoQ-_ym0mO_p4MWN_4Lo-d9c_p2yHZUMiG3jLRJDAWZ4gmLh4FXcfKeKtzF8kT06Wa5kHU3zGa0PhhbAooq7jdlXdKBPI9v2xiyEaOhp3aYz06ZVxpaO0rgD4xULd-q1mmtKU259vr0x9VUVljI0n6b34Jmu4ZvYozzuEEimEUXhFMKOR-HwXMiw-l68Px4idJWhBijfPHThcjPcHspP_ihXhp-x8z3mCWOXd12LV-DxQquvrbs0IqMM6w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YjUxMjI5YzItNjg1Yi00NjAzLThkZjAtNTI2ZWNhNjFlMjE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1552" it="0" lt="1552" ct="0" ts="1587564568160" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-100" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmE4NTRkM2UtZDE5Ny00MjE4LWIwZTUtNzBiYWVlZmFlYmJj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxMi1xb1dOODRnbnRYQUgtWW02MTlkaU5VYTRVMkVpSGR3VCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gV6D2QfIF8Tcf4iqtusUzGjQxFwf53xHSX74frnffNVtdF-ZSDn-5HiJ3-rqWEHe3VGmXTUAX0HCiwSxfOa8wTBskdeSvqIKtEHEifs5_9UDZ-2Sse3JVEDAYPyLKHCkrFNHrWxq7qnc2myWPrCDf6QgLWI445i3-BpvFljuQ7-oRYy73hTUXJniAgobdoC2IcojwqZeq9ZElE6k8E5xI6NaqnDDeXBM7NP352iPtLXK8gb5bwQE_Dlgit6VhKFfhRrw8tmXmB2-sgKucVPMXopqqsXGCxMlAgjVLzmec01-V6pQ4ZFCvLDdwtff92KJ3Q-KmJCs-iTFiN8hm3dj9w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ODc1OTZkNWYtY2RiMy00NzhhLTg2MTktZjRkZDEwZDY5Nzli</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1578" it="0" lt="1578" ct="0" ts="1587564568134" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-79" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTBkNDhmN2QtOGU5ZC00ODk0LTlhNjUtYjdmZDgxOTJlOWFh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2NC1BaGVzV3JFSUx6eTk3OUFFaFE5dU5wWGE0RGcySDN5aCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MMGPiW8NI08Db-jtBG8M4d1VScDD_LH5RLsyMGPjJq2c080szSYo5XGvI6nutIo_-IbdY8VUPzyy_SPzSjbz6hontE5n34_eFYeOPx_ERSx53_UINg7nhWRslL1xhwwdfhgr4BJ16Cc4vwJZmN41MNDJj26zlt2fGLB1HAabIzoZFewXnbc7dDkyvq4ukqsGq-v6TsGXXKLE85eOK0JRG6HNSC6crKaD-PsFS7KW8Zn9ZyIyi-e7Uz7s0zprWqjSjf9rttyiFMx070AeIyhbOomYgtrWkc6wgq6CczL82yrboeo6oJquAx_9sRR4G_yS5yLmE10YjzE2jiPLn8deiA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTRjMjljYzMtOGMwYy00NzdmLWFjZGUtOWM0Y2EyYzQ5NTJk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1578" it="0" lt="1566" ct="0" ts="1587564568135" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-89" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZThiMDQ0NjctZGY1MS00ODEyLTgxNzgtYjdjODJiNTdmMDNj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4Mi0wTlFLOVFwaHY4V29iRnAyNThGOEdkN3pZU2Flak0yMSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pWpivDzztsyKDysCX1aPqrtAcZmO2eLNXGsmxJmRlQVxziEEdAvv4zQ213Rtxefav02Z9QIPOASYbtjM3r1J3yThMiMtiiviX4hah_DA0gi4fBNNbR1fg4td4pCNlmpP0-U77SUEsJzE-3XM_nw7HbKavFNb1s9YWrCNQrKlMGK0Mpx5faaTN20bFNkDPxqO4yXta7Mc4MSaeWZM1Z3Z8hEX-HxAlWpfJtavWIIvfslPlzW9vm_Fep6JNv7HWsFVYr_DqW12nXeknE2eMVVurdYEb0uqb1jd5d8BhH9-N7-mIOTbks2KKKUiDyniezvqVSv35f4UwBbmEwqtFRYoTg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Yzk2MTY5OGUtOTM3My00NmMwLTkzZDItZGQ4MTY2NDM5Y2E5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1561" it="0" lt="1557" ct="0" ts="1587564568145" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-58" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzgyNjQ0N2EtZWI1MS00MzczLTk4YjMtYzQ5MTY1MWE4YjQz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwNi1lYnBPN1RLVlRISUM0dHp6bGRCUnVYZE9hci1vbURLSiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qRqPJRNtIcS-ZzfzPbM06dxHnwRBJwTevKpIR0ZZRvS56t5pVYoyjhPJHsGdFUaB3Yl5bdjSS3fsXIhFeCXohvYg_jzYMZYlFrfxxYIL2tBQyzC9MVvV8yRXyS4WDIMp4fWCVR148caaL5sB2ubuKc_YTZHDqQgexlmMtck8JnlotSzoxAE_S32N0_NN1WwxfhOx1M5hAwiLcRK6Jqof1auEmFLyItEtWnMlWefdMFCmv86a0-jNsCyAgW874l7anSSBCiFdQ1Z3-2mcLybifOeZmKKRmIqwuxi6xLLApDIBcLop1rvG7AwMD14i6DfTg9HhMZ9kiEd8uQhm6prW0w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YjFmNjU1ZDctOGYzYy00NTZmLTg1YzctY2JiMWI5NDVmNDg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="3181" it="0" lt="3181" ct="3" ts="1587564566525" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDM2NGUyNGMtNDQzOC00NTJlLTg2Y2QtOWZhZmY4M2M2YjBm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1931-p1w4DX-STk4AdRvc3n51iuDp71Ac7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2433" it="0" lt="2433" ct="1" ts="1587564567273" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTc0Y2U1YjQtMTk0Ni00NjZjLThjNDYtMjg2NTMzMTc2Y2M4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1927-tuZuMqKV6OoJ1-pojNpyP-b9ONoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1570" it="0" lt="1568" ct="0" ts="1587564568135" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-26" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzBjMDNhMTEtNWYwOC00MDIxLThjODctODA5OTVmYzM1MzEy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxNC1OaFREYWREc2hqbC1tNmY0cC1DRUFzSGtXYkR6RjFpZiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WOuBT6ySUVeeSUN4cjhmiKMqh-tiGi5GeGeLAcQNFO11if9cCvuRuVUx-YyF4cg3MfDz9lchc9B8cGQ4xo8kNlI-j6jhHfVo8hzAzWwADPrX3k6lvuXvHCGxmnkk4gIba88s2AgtfeU7o99KhQeVjbLuc0NPOGAUSLwEhILFATXmcfMe8Qjb19XS-eG3H8yOC0johH7ouD00Iz0Vj6L3XcPUCDGHO8UCI4pCKzvVH8OVgtBtG9UNC63XjkyD5lJt1rle88us079hpXUFpeVVU5nrTXgfnOlYrz7CXkU7j6NolAqWQzEF3c4-QDb-jjTrtCWjOV5PE7Wn77EE-kTqrQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWY0ZmQ1MjEtMmNiMS00NmNmLWFjMDQtODVjZmNiOWMyNWUy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1571" it="0" lt="1568" ct="0" ts="1587564568134" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-91" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTFlMDkzNmItYmViYS00MjY5LTkwZGQtNDk2NjE4Y2FlMWNi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4Ny1zb3psaXJpUjZFcktEUnNFWEpHcmhocWYtUDZwdjRDcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.K92ecOlFj15byVAL4HGUSDvP_Hr0UaF3WDQgRv6kFeuAGVIJN6xbvkXPT0hid5f2Zb0ilnZJgSImrzaWSdfweJ-c0ZQYuhf9-nxgwnADYgiRbBOSyG1wI7RmH--WjaJwjv_HPQ6z5TukUTeND98PhKiHckQBbS5ERfcIQdw7OWLbLg7nfl08vMQ1NQn0p377uD1fucdwpFtX90yRBvk84JayZLPTiana2hVEp1yBEwEi3FJU22FzdjlYpr7U-joAdi3DMVWAXsEXg5m6H16pJgpSVKZZal5hmU-VtKbYgkjfrsTVjcxED3ABwViB69jhF7GKodIY6_YyLSnt2Sgx5w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MmQ5MmEzMTItNzI1Zi00NjY0LWJiZTUtYzFkMjdlM2NjOTZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1563" it="0" lt="1556" ct="0" ts="1587564568149" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-17" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGM4MzEzMDQtNGUzYS00OTk4LThiODctZTE3MjI3NzIyM2Q0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1Ni1yQmloVEFGTEVlLXFxV3NTcGRxc29DYkdZeHFweW1hVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oh-HEZJFD6LMnYPjiLcZBYV1gnCeYZDDZcqlvcRWLzBcZIcKZznB59OJCi5EulhVQFfymbbU8H805DI761EUIAtsu__0Q2FyhrRu-w1jlE4wTVi4GCXIDxnu7QFy1ZoLEkXdLxCSl01aB5dszEOds5jKzb5I9Vi4Bnx1FFEYkoMc2CvTPN31fCXBAM_BK_JtsdI0vRDRuDRCsg5K-zkiKqZYI1vv_KWKjLL3VIxBmFddIjqqksAidYiDt7ysehEMoJ7KEeY-67IMwtGHtexURhtaVLNm0WT-QDg4FgtbAnMdQ8TsexWVMVquAZr4k0eJ_CvfElaz8Y8laSzmYbTerQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NWM4NjE0NWItNWY2Yy00NjBlLTkwYzEtZDk5YjZjZGVhMjg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1544" it="0" lt="1544" ct="0" ts="1587564568168" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-97" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmVkMTE4ZTgtNTk0NS00OWIwLThhNGUtMTQ3YjMwNDY1YWQy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxMC1USHFrNHAxWTJxYzcxekVBLWlKa1Z4alQtM1FNZHNqYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EukKJwaJOtgcb6TmelmZTJaU5CCjRcBjSieeKcRXKpfU1DBW1Xk0IigVDM_pMqVWfGnTwD0ahtMqdqjW8HmzoqlZnSgrInE7Zljxcs_w3N8zDdDDO3YKkUPp95IGlJ_FFrKH4eMNxEGCLCkNQPlVKY1DCHaJlw39yqyoFLWKDJOjHaz-mVQL6bNOSUhcQXS_yn-dQ471lfZawRxpoP3Z-is_6x9Njhc4ES77f2FSrjS-AyIiowFGVJEEDDd5e88nZ9on9J_fV09RGc-SEzTkPwgTn5YwaGwhnXBmndM7k2R4Z4UfxxyfMst3FDvkb3yn5IZeg9OVYBjT-Dx2t9mumA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDIwZjk4NjUtYmU0Yi00ODc5LWI3YjItY2UwNjZlMDEwMTAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1567" it="0" lt="1558" ct="0" ts="1587564568148" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-69" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzA4MjkwYmMtZThmMC00YTRmLTg1NTUtOWE4ZTkyN2E0NDY5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2OS01ZmlVVkRHdDl1MFZpcWJCSk1ZZlZBUFZvZEwzQ3ItNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gXx2DJI79J15KVbZ5rEV52nyuGQyc0AetQcYb1t3TBI2vAXiemSzyzORrq0D-Cu_G5-IQfHhY7E6ERlivrJt5I4wbJRijSj7E_MAoE1fzqXxfAdcR4n9sSYIHvFU_ConMnvHe6772ZUJsj1Z3AF_Xvjz_NFYcf3b1IKyg9pxAyg32wQDei6pq6fvCW6EkeGTCqfomvZwteB7EkBfZ9765OJEGzOZjIpi6Va3PeTQnRjRS8LHgCtUVF0xut6Vr1D38y-jJ3RmrjMi5fnvK68btCbw7LR3oohpf6SD-etLPQEquY2f9-MVPGhbPmmb1tFYDlbUmeNyC-lR4AJhFkNa_A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTNkOWJiMTUtOTBlMi00MGQyLWE2YjQtZjVmMjViODUwZWNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1583" it="0" lt="1573" ct="0" ts="1587564568133" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-11" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTYzMzY2MDQtOTZjNy00YTA2LTk4MWQtODQ4MzVhZjJjMTg5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5Mi1zeXVBVG1SUlgtSXFpVmZjaVZDVC14MERVOWtwQS1oZiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NpKKJhC_KCB7JadT_ZEhNhS5SSgHbBsl6z4q3Kb2xF9isCa3Z-VePH26FmuBB0LXg4EpHGNsU3UwPk8cc20azLfqSBwhuLmdaOiekolKjLwvpiGUk5vLnYinbnraL59eHPzJei9ad76wR2HxE8HMkACTzyN5zz2H6-iLTkDA4c1NEvSyGj152sgMHCf8lT2H9Mn9AF9X3KyDFM1onbCkNagvu_qsmi-ljBAnPGrLi063lWyWOqVUWzHn2fJqw_60scU28gsgaOrJJAjk1CD160wVCqCTC2EnvLwseY4nDfNVS6Rvi7lWx-nsOHRFM-pdeJrb2ZRKxL0ZzZ52r2Zd5Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODIxODU4NWQtYWVlNC00NzdlLWJlOTMtZTIzMTdiNDllY2Uw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1556" it="0" lt="1548" ct="0" ts="1587564568161" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-99" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTRlNjM0ODEtYTc2YS00Yzg5LWJiNmYtNDk0NmVmODAxYTg1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5OC1CVS1lLWlhY0NPekJ0QTVuU2U1amtFaE11YTFMTTZmciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WPduoLYH_bp2nSPsykNgv-eH39_VS3F2UMT2fPqFllRzhzo-y_vI_be5IxDR79wFDisRZAhbsel-84W4ByFhmnVUN7AI_sBTtx8f-mCIo1ZVw9WhE4XYE706BUN7Y61tMhEEYJYrZeMX2DVFMxNqIg4eAd84D-OfXcPjXRIfGwf4VYAMs_ZtOp6Lu0c87i19-iUwfkmG3VjnPaRbbJ6VQUOHZ3C-P2pyMz4WZsM19IXxvq7OjpvABwV2knNh34BuBniYuF6Leg_1l1pfsNUX2sMWBZY_unZ1jQSn3MqNIEA_JlbN4E0dx_TgdPlsoYizhdvZwhyxzJzt19tB5QWf2g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGI3MzI4NWYtYjY5ZC00ZGRkLTk2MWYtOGRkZjQxZjFiYTU2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1542" it="0" lt="1538" ct="0" ts="1587564568175" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-49" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmUxYWY2MTQtMzU4MS00ZDUyLWE5YWItZTE5YjFhMmZkZTVk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2Ni04NTctQm9vbVhIc0NVVFhyOUdxQ0N6RU8wZ29KeVFldSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Q5CiayMk6mJFYwjQS9i0zI_P55JxtQjGr-mM8HCOlfQkF4H7S0aMWuy9jSQF01gpw4aYX_hAnu2QtkYMqCUyiO6g3nXQ_fyzxeGKzpI-FjhJkDVZfWW_QXM7MkiH1yKj4I4YAuLZApLwwtV4uSq45QTwLseg-KyNVhSJYlQfS_JB-NIaTBc5szylca9BlvFPJkofUs8sNY_qES13U7xSUx0DhwvKxUN1kogR18Rkz53r_758SzMKkKIp0NcqxRdPY_FFWSd4jYI2TCUgtbb3p_ndLcuJXmXx5duoKG3mNzWBI8Qbe2x7q-6X0W59k0_5LnMBIb0YaBPxBzL4Vx-0Yw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OTE3OGFjMDUtZTI2Zi00YWIwLTk0OTQtMmE0YmZhMDA4MTkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="2444" it="0" lt="2444" ct="1" ts="1587564567274" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmYzODUzNDAtZmZiMi00NWQ0LTljYWYtYjZmMTZmYzFkZWQ5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1924-YjbtW2Vhof2Wod8-obf5NqHg6CEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1568" it="0" lt="1558" ct="0" ts="1587564568150" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-19" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODcwNjg0N2ItNGM5OS00ZDEyLTk3OWUtNjZhZjRjZTAwY2Zh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4NS1YTG1MbUJaSDEtRTQ1QUFhSy1RRFpXeHI4Ymo5NnhVcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Omdk7w5vKkcZaPRsD2BdwG6LA-qbEI7z5Tr1pCUatlZma8gdHFlnOkK2syo9BWRNhdOhP71vpydKQoT6VzAlMVRfJy_s6jG5rqS9rGG5daS5uFcXkLsqrkqUYzm8RYFOAwH0SwMvmfPzdii291_qpg_bkIlS2HoPpb_BM0mQhltDannlBOqI_nKH7QAE8G2qtYOomUJc_Lk4_-AzWaUCskXpdOyj4edaP7Vr3vjYEiSMpY9qnl0KlSBiPovRuAuc5BhsLVtm4BPZwKkMYJnCxzt5nY326eV8AL8RmBpH0AcfbiJlUKi5HTBub_6hWMTYirFdHxi4aE5Fl_0EdoOtwQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MWM5OTRiMzktNmEzMS00YTIzLWI3MjgtMzBmZmQxMzExMGIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1546" it="0" lt="1540" ct="0" ts="1587564568173" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2EyM2M2NzctOWZkZi00ZTA2LTgyODctMGE5Mjc5NDQ2MDJj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2OC1tbnRsQW5OZ2x2azFDVkJZaGVuTUlReTZib2JDOFAyTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.j3RisXGosQn7z42SvUZ2fnLE5bRkTfS-bdvh-bWLMCGr2IYSI6_NcI3bH3NAwkea1wSEh3ccTbhtinVIxOju1P9HAYsPt_os1hknjREBnGTQsAqktlgf0UInjnTHGNbzK4d6iUndG-qVNBm4x6UrmoMS1S4bvVu6oVq_nlhYtYln92NyJPYSl17ugStlE4ZwuP-Vp2G70Z60xCr6Yt3U0F2Sz7HELVLYtDFldsXRywHKbmd1BvNjFt8AGqnnAObdkdJ7bh2hsfAH1UDXTDvlrODXDGcEXJNHbaZSGPdKKqrMmqfo-SIsAW47QNr4WBGvsPvN8G3wydkwJSrJbPgHTQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTE1NTUzMDUtMDJmNi00ZTA1LThhODMtZDA4YWViMjNjZTk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1552" it="0" lt="1544" ct="0" ts="1587564568167" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-60" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmYzYjYxYjQtOTNhMS00ZjM3LTk5ZTctNDQzNzRiY2FhOWYx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwMi1Ya3lCVXlHckk3enN5ZTFObmR1VVNRR3RXUGFLV2lPQSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AXg67W1P2ieK9lwh_PoDRkHoQp0jXzGNT_trpjB2FaBbXo7FxdslAZwftfs3rOAjGi1NbPEKXzd0jYXEzqmyFSAkWRD72iTvcI1fMmoHBq0N1fmVBbx7HVVOFDMxn2qKGNUC0-MPhDZI1AxOW2pmJN8tuGLBT0JLV0fWzC9JeGDW0OjaBsQiEgUDSql58-0Pww_uUq-6JEBEmTWVqDJWPDAr_xxwoK8Q_aO9JYk3pBLX_Hx3XGGdUsqeUR_IZZ95LE58zzYZ9oOJQ0Wl82lL-f1stay6soUO64FdLfqYSovn_f8PoS7stzEQBeD262gafMmwdm8DyvhcxUs6UoJq5g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NzAzODBkNjMtY2E5Yi00YzI2LThjYWItYTYxOWRiNzM1ZjNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1572" it="0" lt="1560" ct="0" ts="1587564568148" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-10" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDhlMWRiZGYtNjBjOS00NjA2LWI3YWItZDE3OGVkYTFlODk5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1NS03eEg4ZzRYaFlYZzVER0VPNDJCc2doRWtpRWVHLVB1QiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ofITvQxQ_ne83gK6P8sBfkLtZmi-i7kSXRZDvPIhkHV1fJblcLzth1f6SVJBLwlNdF2bHfDt3tzz-1aCaqbRuUgoYwdVfC0xR0WBn_nzaKiOYCMfMBZVLad5xZrtRFeKyQKRvmVI03Sd5m72MjUnH8tJLwyvQqZ6ajbV0d1LlPd23FfKIwWU2DhTP7s7ppNPDBAb5Gv2mVLlUWMnjc86fdOs2L4hFX2JWGjhQC2PjMeZIma2WGxhQVYb5fVOj_rjaJjZ6tlLvrvhOKUcjuoCEs3RFFpQqbkjJW3BhjeHv4aGRQjCNqDKT1KSxAFgRhdJsvQ3jSoS4FR9ZdRWjRHLGw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODkwMWNhMjAtNzFkYS00NzEyLWE5YTEtMDMyYmNlMzM2ZTJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1586" it="0" lt="1577" ct="0" ts="1587564568134" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-28" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTE1YzM4NzYtZmMyYS00NmM1LThhYTItZGYyODU2ZWYwNjNk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1OS1VR1QzSENrNDdNbTBra0ZpMU53ZGNkNFUycmd0MjRGLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.A2rO9wuVFVP5ko4sIQ0tyJip5gSywn-ZUNJfyfoOgLHC4qVY7bSb5J0DIGg9BxC4JlkPqdcW5ibURqfM_P8tGQEU1WHNhGFmfMx2ftCu53N9nP0T7a92dpjhUnw9vDC5lqoz2Ivrrkas2sGg11j-JjUDlpTtPmx6084T2gwIy9SBGDck-GGhBCbVoSoyoAsFfhXGh_LYJrCzFn7vGDIhQMXHsF07NFB529uuLPlRxsDBqKUDXMd-rOM1PEnP0hWhV9-1g13dIcMrDic7LyFxRcby961-QMG4Jjf3-YWGE9sY1a3PIDh-Y770tZgtVW6SvW_enXb4Z0D0AW0yYZzqIA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YjIxZDE4NmItNjA3ZC00YWY0LThiNDAtZWI1MGRiYWQyZDRh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1550" it="0" lt="1542" ct="0" ts="1587564568170" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-31" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDI2ZDMxMTgtMDM2ZC00NWYyLTlhMzUtZWI2MmMzOGQwNjNm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwOC02Qmt5d25UTnRnMkpRYnlWRE52T0VLRFdBM3BacnJ6VyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.mQbfoOFxsHprC6UUwVH0DTtTI8T_DdDC1hc9boYR_fb8enHowNvjeWfiKQ8_xfWCanKuN5UYcdMw6TXHq5YBcwovdgtIP1Gegsf78VyoNpkKZPezIJWl4qUxNT6a3nr7kxDEE3sE2iWdvMuqmfDP5NcDu4HeRLkylrsf7T8DLZFhdBqgcww8oBXSk23Gy2OrUdrhVSRyaVeCqLq1WXtAFGNtMA1nzvKmBiQW5skM59JJcSu_oZ8yhyeX61-yR2D6xzbzEKPtrC3Yb4GatT91Ilq8XtAClum5qaVijQKyBxFqfj_ISLZA54Lv0kwbUf2_18mtIfaWWvYIxh2UNiP2fw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NDI3ZDM0MzItMzY1YS00MzAwLTgyODMtNjMyNjYyZDYyMjI3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1569" it="0" lt="1565" ct="0" ts="1587564568151" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-14" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NThjNGE3OWQtMjg5YS00Y2QwLWI5ZTktNjQ5MjY3YTA5MzEy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4OS1DT2xXQ0tGNk9icHhCVzlzUFFtWFNNams5WjZQbFd2eiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qG5n-WzDLl60VFtSUQ6bKuL6NBS08tfpa3CRCbTBYO1sHigEc756eHPoFOC2Vwbrmm0IGZfrUrOA6Srpvzamnw2J551NtZeaIS3IqXbWjYDIHCIbmJ-2a2NQ5zi6WPX_LxmLW7obfRXN338eFNy2javqGp6zwhn2vonh8W__GFhAXxDp7FMQpFyZRfShgGAAmVYwSDhnCSV1F8BR81RuG0EuS26Dy3A6GtoYGrXzVJbLlzHDN2qVH79DdIiA_3vYLn-thuZOZcaD9FcXvqSJmBnM4eZ1JAoQDFOkBx9sdxR9uWFVj1dF9Q3SkGaQrbe6U7BolVonqfUS8A3d8uIAwA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmQ4MTRmNDEtMmFkMi00N2NlLTlhMzYtZTlmYTI2YzE3ZjRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1588" it="0" lt="1574" ct="0" ts="1587564568133" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-83" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzY4MmQ2YzgtYTA4OS00Nzc5LTlhMjEtZDI3NWQ3MjUyYTg2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5OS15RUZJNmZSNHJHZmtMaUgzWU9ZUUl2bHUzSTVJa1YtbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ThB-6vOFZuvRifnLweCEl6MJpBLDtKe1HXXhaPx-Y4BlZLLcWipC8SLIHY4A4XJv8IFhqLQBRWPLiPrL4-lPQHZXyh8KmDgux1YIDZJPBfbDsVCzpmpDEBoW3bvqNjzE3oykYleHSUJb4ekylqrvUaGHZHLZfFzNztn1ubQTTJQeBpD-lvukP8LUc5kE_wcKNn3DxO3ZCoPZCZ41LSV2bj7vdbqDAMnqCQGi_p1thqdc9AtOuTjD6EjS74joGmbv876G-68rHcEe9C1-LmOxH22PZomM-trl2sSBh0VY-h-YmbW5L4qPy6dX7WTUGYYV0YuMBN7QzEZ7Q2s62b57Qg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTlmNDJlYzktOGI4MS00ODY2LTkyNGYtMmM4ZGQ3N2ZhNjVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1554" it="0" lt="1543" ct="0" ts="1587564568167" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-62" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmE1MWZkNGYtZmE3Ni00ODBkLWI3N2ItNjBmNTM2YTFkYTQx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1OSwianRpIjoiSUQtVG9rZW4tMTU1MS02QkU5OXl2UTFDQ3FiRjBkWnpNRDVIY0JhQ2puME1oUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.a3ieyGZA_y4_5Wx80z-xYB8yLToeA8kRB6sSWAWzPeyD2QPU9m5KH_Eja1kD1sLlDYG0mGUwirOfctvpGKwnKt57ppKSWD-R13aXyvUJ2sLW6w2nXFWvTOgBZdHi7l_nKlGdKFhBwdDIjMxi0TzdYw18z8yr5hA1c1sMF3dyFwBvgAHFjgfbUcSn9H3kdZyF8AYBC2vVohFQVU6SNNIAExqKhnxCguJiwB8lcIR5iBDaFJTQeEk6YReuez65kfNBZ1Bth4w4uFQ0VSQLNuaycwaM-oRX2XgzCC-lzDzM4NJ614iTiJ1TPPzA7-pblkRPjwz9f0ypqII1MHVA5jqvog
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTU4YzAzMWQtYjRlMC00NmExLTgyMTktMTA4NTlmNzIwNmUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1555" it="0" lt="1544" ct="0" ts="1587564568166" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-2" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzE5NWUyZjgtZDgzYi00MWEwLWFmNzktYmQ0ZmIyZTA0ZTM2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5MS1zY0tHRDBXQ2RxVkNYVTBWeUpnMGd6MER0d1M1OVFtUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Goa2qgA3P2btMvUdk1DER554lvB-8Mp8FTgaOj6u6UNstglo1hOZm8GxpueMYpsqDQfjq3S8ikkMNWttQAmjNFf4MVo4Ec5gRLPMr3k9OirqdwwrIZw-ugUPsioyCv-QeBy-oBQbdKjYco5H90WEPlFExmncLzP3zdnZswikEQbYPhpqjBQNEgKjPtTfdENRAOF2Hn3Vc9fl06LDzMgnzJoTDwbMEB4tpqwi_2rRCTl_NxaT13QHT8wGZXmocs5uaiRS3XSd0obMBQZH8TeFnsgt70oLD5Tbfn9e-A9mVec1jlKH7Yr4c2p0rNvQGc2fODQE3J2dQRPUjhsaQy6kfQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YTFiMWNiMDEtYzU1OS00ZmY1LTg5MDUtODMyZTFkMjJhMGEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1577" it="0" lt="1564" ct="0" ts="1587564568145" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-40" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjU0OTQyZTItMmE4OS00MTA2LWJkNjctYjEyM2FjM2M2ZjZk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwNC1PZE5HZTNUUjlEcFBmWjRScG42aXZ5dUplV0ttOFRNdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RxCy7ptzBwx4zFZHiC4KGlzHBQd9mScI5hs8_MeJW7WhRnb2___LV7shXNlGdYeI5fPatzsYjIUL5ez4CR8y9yDc5Sa2k1Kf-2uZNX0M3rBd3ixfMW1KACtRmjeN8r5JAlPA5xzLmk4crMdHnbL8dV-NE9KcDGNjh3tyQ2FuIwPDDj-AdWhcwRHYxgAOjRftbEFmk3U1f8u77i30RI_1-Gdf4pybpgvqq73VrRHcXzrOtd_YHExHbVYbJ3iFZJfTyUJeouTyyv9V9t-wriMv3wyiQ6JGHoT0LDX8DP6yHwPgsOPDBZik-8mjiitM4SQpceYPM3jz8kbRPesjwGuwLA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODAwZjM4OGEtZDc0OS00MTNlLWEyYzYtNTQwZjZiOWM3NjUy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1574" it="0" lt="1561" ct="0" ts="1587564568147" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-67" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzA0OWY3M2ItYzljMi00ZWVhLWEzOWMtZTVjMDRhOTcyNzdl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYwOS0yeE1nSmJ4RFNTVk9ETUNwLWNwVFpScXoyeU9wVHBFcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TD7GGSF2a2WVIpU-0ZZafoIh9zsL_h8SNU6vOlHdKE5UJyFNJrlWa3gwf8tMdNhjGAQLfjNSXZkQ6joLQJadzHEpBfNlfsEYeP4Kf9K6YvzkiuCTnZCY658wiPbH_MWrZTzWhHsWp9lj_Wbk8ihpq4zY_ohKX-aV0yDzRkzgTdBw0nj5MRPXsad9M7xCvQAysIWGgvTnSQChYZJ6lJicSJGQNEl1yEli9rQ9vn7rjtVu7GOQnSkRXafVQsK7wVXF2isEFZlR4DKD_IWL76GIukPqLaLEUxLwiSJ4tqUfM3nKrXasL46QvkBiUrj-NWzulRbaRWlV1RBnPrLJdSqC1w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODllODIwODYtYmYzOC00NDY0LTgzMjgtZTJmNjJkZDZkMGRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1573" it="0" lt="1558" ct="0" ts="1587564568151" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-6" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTkxZTYyMTUtYmJlYy00M2FhLTljZjYtZTgwMmQ2ODM1NjU0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxMy1aaWxwSkpHdnJabC1OenZOOExjbC14LTdZNS01WWZIdiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SWCVt9mYc-5NEtDYoBmqv5HOnPL7chERWR7Q0qXsriooxqIF7oy55CRmRaX8P6ixgWHOVLWXSbmvSfuUKdmONW6cjww3kHgF8JUlCoL4R1YE0Ae3oIcEQHU0ie6sg0mpzq_uSQXXZjDMSAvDc88zQ9w1fCB3No9WwTE2PpRGdZtb230Cy2-dElE-Gm8HIRKG8MB915Ho8E2yjeVtwIAIJ8wzxygi6hCI_VBqtuh64EW4AhlXzgPWAXGPqxoYEy7auIaB__OBro3IIhHJQo_aVNXNEO7FGTCFUNJLbXKmiwtYvas7LauipYzndXVEDtSpZ3p8ezQbHAD6Pmnm4nnsGg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OWQwZTRlNjgtODNjZi00YzJlLWJhMDMtYTE3NWJkMDNjNDk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1575" it="0" lt="1558" ct="0" ts="1587564568149" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-34" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2FiYTQyY2EtMzBmYi00OWEwLTg1NTQtMGY3ZmU5YjJmMDRj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2NS1hQkpkeHVLRER3emhyN2FuWGIwZDE3MEZjTG9KeGMtdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Dwgh7AttRnkc_aMN2cBBhR1WBY3igsohT3HMffUYB0tlQI5jYP5kXEvRX-YbjhuGSS7jlJwRyhBKEmNfcDzVPbX0-FKAj5cwI8R2B3lwi4BUkWk0BbhS6WdjO4qK7ky12ob_-4BqKwgMz5Q1qm5Si4T3WpS0PODODpjg_Czgd4kBF3lwwAnD44iPx0xj1nQeUkA9E92_SxCmbwzVGESMYKkoIU051QEbu_dabBT450MSWAfbd-azadVTztaol4tvfv75dBLsT6c6LoguyVUgIpDWfcJx4m2i1rglDvtuNwIXmo1u6G86BXQBBxFFKixkxoMTD6BzsjqoQmdLrjR5OA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NjFhMzgyOTUtYThiYS00ZGZkLTg4YjAtMDczNWNlZTg3ZTVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1520" it="0" lt="1509" ct="0" ts="1587564568201" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-51" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjllODFmMTMtNDQ3Zi00MzUwLThhNDAtN2JkOTdhZDdlYzI1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3My1DUDBRVXVVZnBRRmZHSVgtV3RsZHE2d294eC1kTjVpaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RVetbx2I1yZVeWlApVMOmmIAyzc8lgDLo1Z7pAXntFaByRrO03MLXbF5LJXGU9WSQT7XjnAb5R3P9zyReOCOy8updoTwyRbJ43SWVvHnTsAH1dAtzyUwCxfYlB9ccyuts3KNwfIeeUZnB-FsTGQ5rMDwEXg6yloFkkOYoqOOoR_fOuTX_g2x0fmInLQgVoSd1jpyj2xgm4RrWFcbKGQWwKrc8OtTH9UbWDRmXUPBvINMHkhLXM2UwLjBYuIeAFaEZcJogfZCtGsJ8x6IqNEJpS588ZaPq_OkHHOoFuX-W7zrTeRYDG5sjO5M4ZcpviLu8UeBlk6kxOMaKDlxwMHlnA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YjJkOGYzZmYtNmNmOC00MGIzLTkyMWUtM2UwYjUxOWE3MDRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1561" it="0" lt="1554" ct="0" ts="1587564568165" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-85" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWRjN2Y5YmUtZmE2My00ZGQ1LTgwYzQtMDZkODJiMjY4YzI3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxMS1ycWIxaWlKYllMdWE4ajJuUy1EbzZPMHJ1NzNFR1gwbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ou0QkJF3B0U9X94SyFAbn3oEGuZgoCPENy0ZiWmFagaIIicITF11OPpeXzywWJ0lHlGkSTnRWKN2nkkbq9ZSSgiT_cXEDFNFyx5ZAi3mEGxqfinlPfo0NyzPs4UYevtcFs3--yfWWwaIAYBf3t_sYoYit6i69CvItDOA9U0fNq6goHFpJM-zy9_5kJJWJkfmOjr_0Uf28m0EYDNHhexlPdgNoptXWkjuiL4EkG-oXGAW_7_kQ9yg_e5MJNR64Pibwc8UoeeyOoRR3owz5RSys1edhh7rrHuH4G8Ju9CO1ZxEL1yy8ET9NB--qvkIz512IJO6YKsG6Fxrv009BxSmBA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OTA2Yzg5MDQtOTc4ZC00YThiLWIyYTUtYWMyZWM0MzQ2YTdm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1572" it="0" lt="1562" ct="0" ts="1587564568151" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-8" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Mzg3OTJkNTAtOTJjNy00ZWZmLTlkYmYtYTYxNDdjZmY0OTg1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5Ni1WT3FrTG1ScDdGMnhWeFBnRlNNdXU0eHppbW8wYnF4aiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.fNm81joHZclt63CM2h0ptNvCsY0PbWZtW2KFoYfyB8V4uLlM60A8G1G_x-q9ThAUT5eHsUIqo0xYfT5HGIXbgEPaJq5xIBoA_bYvDtkb3wYAkVsqhKNxQPKH-lC9wAmWcn_JKlkJB3QQfQxffCi7rFTyf4FIVCTTjTwI4sXKEcpg2I0Xdgl14CPl73Yv2C_L8K7J1ot-Jz5XyQ1w4oCGWjhHdGIzojLIRyqW1fwqo9g18_A5hPHRNrGWaOpulSPI6VNY1zFceBmVakwXBSPHDaTIeRtZNcvZIghWBXGsa6OzlgoDMCVZXdB75XVzIozo99OyeFlY-LaL-scc0twKUg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NmIyNjMzZTQtYjM0Zi00ZTFiLWFhZTUtNWEwMGFlNGQ3ZDkz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1558" it="0" lt="1548" ct="0" ts="1587564568165" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-87" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzMzZDEzMjMtNDRmZi00MDhkLTkzOTItMjFmNDhlZmM4NDQ5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1OSwianRpIjoiSUQtVG9rZW4tMTU1Mi1ZclJTMlZ3eWVsWmJ4azRWSHliVG9WTXVSUUtQZG9YRCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ReXNwhCm7jz_I9IkWE4gxEHO6k6zYhXdTSMCnAaaUrsX16UbuAhZ18RWgBwwhjlQLrnO90s2RSQVpG8RDLsJJ2AcEdBhWZ2FlBzIegeAj5GF7ojMCFOKv4l42yxfRn-yW_JduNltih3vjtOm5n8Kx1zMhIUW4eCWMYMSkZD37UFvLSXhMRQ01-2DOU_JG2r7cpF33S8vTO19TpyN8aU4PcNAyEiFYX8GcOTpla3fCJ230I0oOSWI6yBhm_gtxhYG_xPwMRxXyRTV6mZY9dGDkfdxCjw2vc8G6BFlWrczEy6q8ulgYVAtYU1KiQKAKFheCtgtWupzRnYbU8KUoQSe2w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDgxZTcyNjYtYzk2OS00NGVlLTlmYTUtY2YwOWJhY2E3MzFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1556" it="0" lt="1545" ct="0" ts="1587564568166" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-54" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Zjk4NGU1N2YtNTE5NS00NjgzLWIxYWMtNjZhZmY0Njc5OGI0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4My1HeHFiVkprWVNhT0V0djl4N1pzQXhnMzlRTzRMZGdqdCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bgOLotb-f972gkHH6ag_e2EPA3GgZaNQx_MfOhPuAOA-WgUiHCakrmKapZ4wPTEynY8yELMP-SmGAocC8R4tuERR9YHl8mynMf08K7OxAkZczaBGlNygw3XQYCmAGc7TDzGczliWAiZ8EvNfQEtLQNR1XUa-R8NvnBsewzyAMjjYOEotMsF4wP_sRiCwMILMjbtu3_qVlAJBRPFtYkqvJ6eR6gZgUMo8IcU6HvdhOf2MmHodiDSSR_2zW0ehc8hH6OXdnEtpJK3wv1x5rQliz90bX_p-7XNZ_ctPKq1o3zO6VKJsuJKg5QOkuiko4u_hQ0YvKiZQX7lmuACqT_mU9Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YmM3OGNlZTctYTQwYS00YTQ5LWE2ZGItYTY4NDBhM2NiODNi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1576" it="0" lt="1571" ct="0" ts="1587564568146" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-37" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGViMmZhNzUtMTgyZS00NGFkLWI5MjMtYzFjODI5ZjRlZWFk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwMC1WM3hMTTlQS1NQNTVjc1FHbzRlOTR2cHFqOGpZRE5kWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RUVVghlnwwe5rfFqKUaC9eihXh9jlyWDwyBeIhsNQH7_L0FQuDyn1mwdJqm5qNwPX6ztrpCplfLUbz31FvHS39PtOZH_QY63kTzk1_5SQJ12j0k6kFdvOI_MaxNvZlAAleGutnIiAFs5gZtfm_sRM32ZtrujXuu3atoS_x1smVSHdrNaaOZ-C2amLAORxm-9fPX8phz0h0v_hFR8OoUrz9j5WXtbPy8KCBbainq6I6hv_EPAKvqXgwKDhmBJU37bF_qOPoZMS_p-SBrktgRkn4kgQEr8sWyfEn4exM8WEVFOEeP9fqUxnXlk4MAB0mM62Trnja5-Tc1wWZ6FeJ4F5A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTdhMzI1MGYtMjFiNS00NTY1LTg1OTktZWNiMjQ2MTQ4YmU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1568" it="0" lt="1560" ct="0" ts="1587564568166" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-16" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTU1MjA1MWEtY2ViZi00YTBkLTg3Y2YtODAyNTZlMWE4NDIx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1NC1ISjA3Sk9RblFBcFlYWWQtY1gzVFZSU0hpY05lTUhvTyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rpqxnIjEytcHalyg7hfcVKHASfwY-iJs7HxhLVyPAH66w8mDgQYJqS32NBHvPNXs17TcEAqyiX41ljTgb9hOMVDbft8BH6wT7xoYauWDmAMPElcolXm5G_CTeQfY-FySjkY61ewQBNO9w5pDy-lqSCuLC3RdVysj_WiO27-KS5YsoH5ZLX2NSQgeV-0b_yvNDHvPZApu-0oxB-bVFTkqg2A7PHduN8gRS-zeLCXl3Naf1dpLdRCTuTfDCRnz315YsiKwpEoQP6jobUoHcqW4eySuKXZZBr56B6AInLiBtTj3RmdaGDLZjUprm_WJLPG51oQiK_u2-NV_uZBg-lLztw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmE3MjVlNDgtNmU5ZS00NmI5LTkyYjQtZmU3M2E2OWU4NDFi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1559" it="0" lt="1552" ct="0" ts="1587564568175" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-94" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTExMGEyYmYtZTJkMS00MGZmLWFhYjQtZmU1NjgyOTQ1NGQ3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4MC1MWDFFU01BMkpTNzFLOWd1dVpIcWhVT09URzRBYUl0LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Q9cDtk4K2c-V_-0jaVuWTYfwFcjOOaDw2_Jk1M2PzLoZpdSIB4d0u5b5Dc0Th1OnOb-kgium6eIps1u_EH5jeYUcuakniVCcFyq0LVuZ0ORP5BmQ2QesynZt-R2pDw2OCxx-IgfmBlmNFrpB9ovjReeryFdfdmpxaGAwGRXiW1P9xXwZxqXo6sRDr0jP8wQx2WHJ9cysOF7fpwbVVjNSs3SY3Y2SpP9ll8G73AcZ0_iMikufaL2r0JtG-BR3we-HiINDD_DksWYcGQmh3M2qYge04eV3CHaFUEhlLdYB0NePyrjUIOKLYYXHC3JZuSvFJjHIyNVLqcq47P-RZZcGUw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NjBlYzk1ZTMtNjdiOC00ZGZiLThmOTItZWRmZDBkYWE5Mzcy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1568" it="0" lt="1560" ct="0" ts="1587564568166" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-68" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODEzYzg2ZTAtNzM1Zi00YTY1LTllM2EtODI2MmJiYThiNWRj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3OS12NUt3ZTV2TjU0bE1PelV5ay1hVEozTGtGb2RXelVPMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SaZIB_aVNJ8v5LJ7MIZUGamkZOebU4vPUDSFhZqK6fiSgjCOQPYIWNCGSGMSI4utNaA905AMdbeBj8ScZWif2pbTJXb5adWaFG8GKol3jDjvIS8r-lbBtBSacYXMTa5VL_VhXisXDWL_amjuGApv-4YUKO3GK-FEMH7UD4rV52bChAO-PbBHjrDJuPUEVMG_A3KLTzL8BPYYAJKU6U3vpLxK3UwfAnQ-SYbGUgH-kgGWnYXeYV7GS3d-I-Aef9kJsT-tAcY3rsp1Fjq4bF4SYxNbbKIXQdCW9K6hIvRaujVBuebdvMaIi5GCvj95CU84CHCmr4uMg3l5l4men3I9Pw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQ1NTMwZmItNzliMS00ODQ5LWIxNjAtNGNkYjA0M2JkZDBi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1564" it="0" lt="1556" ct="0" ts="1587564568171" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-90" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGM5NDUyMGItMWMxMy00NTVjLWI1ZDAtZjJkMWYyNzc3MjJh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1OC12UWRGZTZZakpuR2pnQjRrTmJwN2RIem9MYUh2QVFYLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Jb5qs_0mwpRu46uIC7Yk86E_nEOFFto3P80ymmNqn89X0gCHVJaiaRiJHeUm3V7UVWglx5bfc2PZEdpp474lO2ycoCi6NE1KyfJra6itfjty1v3MSslc-2wofL5EpEM5UNG4bKaiS3lqFGJpqrfIVaNQAGE-Nps-A16NHPdzLrOnB6LMp2kfvw1FFSillz6WFs1v3w66QLagnpe_n3IhrjLE2b6ND0GKL0OJIkaoTjV78p1IXFlHBG5jMO73pC80cj5GTUK7G-ABIaqZmrxrhe-YhTpObFDbjhMG3-I4v7gFAAeefS42FGgf0Xq1HnMdF7E5YmNCeYyVizCP2RbQ6A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDNhNzc0ODQtOWQ1OS00ODE3LThmYWItZTZiMjU3MzU2ZWEw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1560" it="0" lt="1552" ct="0" ts="1587564568175" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-13" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTZiYjc5N2ItNWM2ZC00OGI2LWFmNzQtYjAyOTRmODQyYmNl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2MC1vQjBLNUNhdlVuV0ZNT25kY3hGaGI2RXFpTDRtRDVsRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.beqZ6bKyJNu2ivMOOaU9y2Mkq_lPu6D_dHRNZiKCKAvT1tDG8jJ6IP3PIfiPSOXB7oWW3qKBoKtsIbfNml1pvIpx8wT20esO9Z1JOPHbdqEPT-B34sTtrymNq6IOPmPqksf-gtWPVfxRFaQpfHVvOPJy6Bc2zK1VJr_Yz5FEyrkwux4inuMMek1cCfuRdfYZ8wrG9wkKQTuq7gh8ktjzNk9VEQ1k7gc3UuZFi9Px4A5Ik_zj9xoz33e0_SQolRhRsjwpBYAoHyqDcJoA9-Q1wikZhyD46W_goYGGA5RuOcramoxdS48K9MyHrJDVO-QcZxba4VBb-eF9EuTCOp8ivA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDU2YmRkMWYtMjMyMy00YTI3LWI2OGQtNDYyNTdjMWY1YzZi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1571" it="0" lt="1562" ct="0" ts="1587564568165" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-47" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTY0NzY3M2UtYTU1YS00ZTM1LTlkYTUtYTY3NjU3Y2RjOTNh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwMS1XRkIyLVVib2pVaFd6VXNLQk0yMUhrTWVZUXZIYlhjeiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.eo7F0aoxltWJrqm5eh0R5a1Jhqd802TAdpzvWcnYOBIDSLXfrohWYAqZO3JVvSNfBiNyi59CwFtL_2rLF9MTNRSQ9fc3e8ux26uHCBrgAhxHKFIFMzLNTGWo8_aU7fMGbsWaZj5dJAY2tUEwZpd8WoO5qUznY2qaWLqvibl-Oi_JqK3aRjpfytL9-e4zDOybnyuPIAPtcMyWWsbVLoMlrzFvO9C-HEXbR7WmqyQqwucuIbz5kYer9O-EXKFyhCYfNVQuhyyPfvTEK4RHwCSA7XN17bnJKoj5LPrs-5dv67UegSeUeTYa8ebWvqQruqCiuyH8q-JdT3vW2zn4g9zbCw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OGFlZmM1MjMtZjcxMS00NmNjLTg0M2ItZGI3MjA2ZWUxN2Rh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1570" it="0" lt="1569" ct="0" ts="1587564568166" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-9" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDczM2RjOTAtMTIwZS00OTE4LThmZTItZjIyNTE3ZmZiNzE3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2Mi1ERENZWFJUTzlES0hIZk41d2F6NHZxSWRESUswR1JBLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MPISU9VALKjf7lowk1sOPxX-_K0C519DG06U0YVMxMjEciML3lzSw2Vo6CSEIDqNs1fo4soxepCSknK0d6gSa4yKrQYSEDbCNv716sr3g-fJubs_oAH4iI_CczRqRPftbRJII0d9dD5ePUutS8N4yq2UKo5vyAA8K2ABhm0VS__wJk8zicMzXxBusJ_iGS4Z6BJ_8nUBBz-jscGBZPPGba_04FvX7b8vnCE7ySq3YjNFsrGmUsWNe4KYl-adbow_WjRGlUkkSmLqXzwnhQPFAEbufsK4dJvEhunp5Z9UYOYO3LQ-X4dEGk_9-vzl73XbepzWWo7vzZPp83-ILhz4yQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MGFkYTRiOTgtYWIwMC00YWVlLWJjYTYtZmJmYTkxNTVjZmIz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1562" it="0" lt="1553" ct="0" ts="1587564568175" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-73" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTEwMTNlMzEtNGU3MS00MDc0LWJmOTYtNzlhM2FkZmI5YjM3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3Ny1Na1dhWkVkc1UxOTRqSlphTUJoYTlPWEl3TkpoU25TWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.XlkQuBmoUE65bBkHS-j1OsZ3aBZLtJVL-jAUkOYXNd5MMA6YewmiP9v0geRKdZ8D7IW0ALVuE4ug5kwOg4oWMFmdmDuFQLMlk2EGXN1xL59LMw3IDPU6qXjnqYMYOUNg3i-vPKWLlhUWJLgyHjBTKiBRgDEzYT4IaAno0cq43O-9lHTPkxf8BLQkqLjCIf09ismf3ciy3IEJXFa2llbrw2tQaTCcUFS9tDmj2WepYldboZY0Ju3DHvWsRqyDSuCFMI0mOJOIKo3LHZVVlZgB_wRKu3EJBXyKJZK9WTFCfeUXIchVCA_L9AQW_prbx0cGKPn9VAvYkvLhC3dxpQ79UA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzZiNWIyYzQtYmEzZS00YmQ0LWJiMDUtZTE4ZmM1NWU5MTA1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1570" it="0" lt="1568" ct="0" ts="1587564568167" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-56" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzM2M2RjZDctN2ZkMi00NDY5LWFmYzEtNWM2ODgzMzQwNDM5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwMy0wQ3ZPSUR5NFRzVFpXVjVTdGhLRUxTRGMyOVp0bXVueiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lttj-Bm3leyXYGDaY9MJdNCNHfgYSKrmeAM5iNKQ2xqHDeYhe_G-CPXGlRYCbgtHYboYa9bkpwuHPae7qfDyiv0SCPaA88e5ckPS8LIIcnZMdvYFYrBf1ZInmGrK1IRQ4QU5iqxq0TZ6sOYRmGyPcqIBqsGE5tPvCZFfR8WRXdSdDBHo-Abl3RaWzJxLxmQQw8A9g6RiXGzBcI-qY1TF5pgeTxgp1eeJAQ_jAoeutRsDzZJ3Rz0x-gVV9UQQoul2hCcJ3_u1sQLtSQxWqaXC_a83PpHSVUQUaUJ8UQHmhzfVQjkfSCNyiGm3cqBsnyZtfw2qyuIo0lhIc71ImaK8GA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NjFlZjA0NmUtZjY3NC00YTY5LTk0M2ItMzA1ZWY4ZmNkOGZh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1570" it="0" lt="1566" ct="0" ts="1587564568167" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-12" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDNjMzY1ZWUtZGNmNC00Y2FlLTg0ZTktMWQ1MDJmMzUzN2Jl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxNS1pSnEta2JqNXFreEw4QXFZYzV5QVFVd3hOQjZlREIzciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NuegjSki6FRm57-BzV1ze1wxdqofTnB5Jy_z9drep_wzpLs38O2bO7neAP3LETFEwOGn6EwOoHuGRl79FHzzw1QKOD9IVj6pPkdeGhfygyHSTvxy-xv5Mdp3NC_rUUjEjotXXpHIhtbNb2HxjjQn40sW7ArTW_sYzkqU0wgDt1oggi1Dgxqu7V1nKLKdGOAXEspQQoVfgdjW7iVTjBpzj-TEmI1WN0mE3hMbAbkFIUh_91rCOdElYlOyQkirjpS29hVS8rwO1FzBDiS6b9tzWRi6I4Cbj14ix_GDtqz8zzd6j_WHVe5-hCoX3wdSXAlxr9yk7BukIqv8Unaz-9fDUQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzA3MWI3YTktMGM3My00Njk1LTk2NzAtYzE0OWVkZTI0MDVj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3013" it="0" lt="3013" ct="0" ts="1587564566726" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1950-6Y6ItnY4V0uvQScKgTmQvog7TFij7ljjQfEOVQQdH2T8vlHQn3RgBxbggULaAphxxwMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1938-Sq-2zpSMAP-BYQoa7YTXlcXbuo4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=f602f843-2bcb-4b22-8bdf-6bd091e61e2e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1938-Sq-2zpSMAP-BYQoa7YTXlcXbuo4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="3195" it="0" lt="3195" ct="0" ts="1587564566544" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1938-6paP1onN9XgVjPvqxluyfU0Fu7wjM79OHIaOP3H7eabFPxmSOaexn7-PfEtNobZ64tMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1946-gdgdj43iaE9QXClMFy93-N9sABgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b8728610-7c6c-4e4d-a232-c725a082b955</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1946-gdgdj43iaE9QXClMFy93-N9sABgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="3038" it="0" lt="3038" ct="0" ts="1587564566704" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1945-bXs-Ihkp4mcr2F3aSazADCZNMH2vl60GD3hhmBaFzm7Nv9KqqDN4DHkjP-IYDsEwrQwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1941-ea0AlaVlePYIWfqMgv5rAOORs3Qc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b6d5fdda-0d2d-4452-946d-f50c494aa6c6</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1941-ea0AlaVlePYIWfqMgv5rAOORs3Qc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="40" it="0" lt="40" ct="2" ts="1587564569709" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTExNDU5MzktNjQ3Mi00MGQ0LTllOGMtZmM0NmE2NjBhYjE5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="42" it="0" lt="42" ct="3" ts="1587564569708" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjY1ZThhODMtOWIzNS00OGQ4LWE0YWMtMTg1MjFjNTlhMzAy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="52" it="0" lt="52" ct="1" ts="1587564569698" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDhhNDNmMDEtMzI3My00NjZhLWIxMDItMjVkMWRkNWRkOGU5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="51" it="0" lt="51" ct="0" ts="1587564569699" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDAyZTZjMjgtNzViYy00ZTc0LTk3Y2UtMmZmYzJlMzU2NmJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="34" it="0" lt="34" ct="1" ts="1587564569717" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjNlM2RmM2EtMGNhNS00MTZiLWI3OGItMDYwNjk1MDNiZWRl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="39" it="0" lt="39" ct="2" ts="1587564569712" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDQ4YzBmODEtMDQwNy00Y2UwLTkyMWUtYjdmMmRiMTEwOGQ2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="30" it="0" lt="30" ct="2" ts="1587564569721" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTczZWVlYTEtZmQzOC00NDUxLWJhZDYtZWFkNGY4ZmM5ZTZm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="31" it="0" lt="31" ct="2" ts="1587564569721" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTBiYzAzYmQtZjlmOC00YWFmLWI4MWYtZjAxZmM5N2VjYzdm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="24" it="0" lt="24" ct="1" ts="1587564569728" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTYwNWFjYmUtYmJlZC00MjNhLWE5OGUtNzA5YmU3ZWE0ZTc3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="27" it="0" lt="27" ct="2" ts="1587564569725" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODc5NjkzMWYtM2YyMy00YWM5LTk5YWQtNmJkMzZmMTk3Nzhh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="32" it="0" lt="32" ct="4" ts="1587564569719" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGZmODFmNzAtZGRmNS00NzYxLTllNWYtOGJlOTcwOGQ1NjY3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="54" it="0" lt="54" ct="0" ts="1587564569699" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGE1OGQwN2UtZWVkZS00NjA5LWJiOTctYmNjYThmOTUxYTcy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="38" it="0" lt="38" ct="2" ts="1587564569715" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTBmYjhiZmQtNTU5Yi00Y2I4LWJiZWMtZmVhZDczMDA1MjAy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="46" it="0" lt="46" ct="6" ts="1587564569707" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTI2MTVlOGMtMzQ5Yi00ZmNhLTkxNTItNjQ5N2RlMTk4N2M1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="47" it="0" lt="47" ct="3" ts="1587564569706" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjJlNzQ1MzgtYTA4Zi00MTExLTgxOWEtNjA3YTBhZmE2NmUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="28" it="0" lt="28" ct="2" ts="1587564569726" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWU5MTYxOTMtMDcwYi00NzBlLWFmOTktNmRlNjkyYzE0MmU4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="26" it="0" lt="26" ct="1" ts="1587564569728" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjA3ODk1NzQtNzNlMC00Mjg5LTg4OGItZThkMjM0OTU1Y2Rm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="34" it="0" lt="34" ct="8" ts="1587564569720" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjE5ZDIwMTUtZmEyYS00NjE5LWEwZmYtYjFkY2VkZGEyYmJi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="34" it="0" lt="34" ct="5" ts="1587564569718" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGQyNDY2NWItNDg4Yy00MWFkLTg5ZWEtZWVjMzVjNDE0MzEw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="32" it="0" lt="32" ct="3" ts="1587564569719" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTkzNWI1MWEtY2E4OS00YzAwLTkzODctMWQ2NjA1ZDVkMWRk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="2884" it="0" lt="2884" ct="0" ts="1587564566873" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1952-x9jC4EYUdjvsiISaKV5fY2RjMJKkkTTc5CLY5GlJp5BmBYFiz9os4b5rMwMvJY-rfwEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1951-5VDcmhF90W04tYL6lP5hsfevMO0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6ced1765-e179-4386-b6be-6768805621a9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1951-5VDcmhF90W04tYL6lP5hsfevMO0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="3046" it="0" lt="3046" ct="0" ts="1587564566711" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1943-BMv-6d7gmdA0BaarpZ3-u4g07q4bcwIyciIUQPDVakpq3T9gJJ7AKD-gsCqfdSHPv3Ic7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1944-1aW1jO-cL5wb1cmr-CuhqAzBdG4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ee3e1086-ec83-43b4-b342-64661fda9916</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1944-1aW1jO-cL5wb1cmr-CuhqAzBdG4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="3036" it="0" lt="3036" ct="0" ts="1587564566721" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1939-CrYGhNGxo8d69I-0iEG5rDcYrQ-eDCsJvY6Cvp-scBV5xD6NOXEHMhtGjKMQVgiIk84c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1950-tBUWV6ZIb-ixprRgIwUeEfcqSgoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=5140e8fd-d315-423d-bbd4-bc0d2990439b</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1950-tBUWV6ZIb-ixprRgIwUeEfcqSgoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="52" it="0" lt="52" ct="3" ts="1587564569707" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWRjOTZmY2QtOTM3NC00MGJmLWEwZDktNjdiODUzZDkzMjEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="46" it="0" lt="46" ct="2" ts="1587564569714" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDM2NGUyNGMtNDQzOC00NTJlLTg2Y2QtOWZhZmY4M2M2YjBm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="51" it="0" lt="51" ct="2" ts="1587564569711" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjkwNzdjZTYtOGI1MC00OWQzLWE3OGQtOTI1YmFiYzBlMzM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="48" it="0" lt="48" ct="2" ts="1587564569714" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTc0Y2U1YjQtMTk0Ni00NjZjLThjNDYtMjg2NTMzMTc2Y2M4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="29" it="0" lt="29" ct="1" ts="1587564569734" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODEzODkzOTMtMTcwZi00NzEzLWEwZWYtYmJjMWU2YjI1YmZj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="45" it="0" lt="45" ct="1" ts="1587564569718" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmYzODUzNDAtZmZiMi00NWQ0LTljYWYtYjZmMTZmYzFkZWQ5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="30" it="0" lt="30" ct="1" ts="1587564569736" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmRjZTgxODEtMWFmMC00NTMxLWE5NmMtMDMwZDhkN2QxZTBh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="30" it="0" lt="30" ct="2" ts="1587564569736" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWQxNmM0MmMtNzRlMy00ZjRmLTgwMzktNjZhZDY1OTllOTM1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3058" it="0" lt="3058" ct="0" ts="1587564566708" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1949-WSgj6FlsQH23phOKDKHD4-yKD9XXlEhN70jT6ctVu3GNTjOx-XuA075Eygwbypm6bv0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1945-EKwRsovFBYQmIP5mQHJwzmEmDMgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=390f61a3-b3f9-4aad-a390-b750cd13f4c4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1945-EKwRsovFBYQmIP5mQHJwzmEmDMgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="3059" it="0" lt="3059" ct="0" ts="1587564566707" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1940-uRpQZy14pGdEdVF9oVRby2fPLYSR48YM3PGTNc3zudAGstAn9ITztFk-cHH-2h1-uvMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1942-A-BjGA2ebfVU8Eh4YAKA--BAt20c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0da81883-1a49-4388-84d9-4c012ff654c6</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1942-A-BjGA2ebfVU8Eh4YAKA--BAt20c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="3042" it="0" lt="3042" ct="0" ts="1587564566725" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1951-QXjxxmpjqhZKpme5rbbg1nVS7IERLAmzBS2MN5K-XJDhd7QFXcjxdG3fMIymN98Qmjcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1952-OT7ECtH2ZJMyd-nuYVCQZNeGsHMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=4988c452-9d93-4691-a9f9-8a92519f7f40</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1952-OT7ECtH2ZJMyd-nuYVCQZNeGsHMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="30" it="0" lt="30" ct="2" ts="1587564569737" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGNkNzM3ZDctNzFlYi00ZWY1LWFjNGMtZjg2N2U3OWEyYzgz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="31" it="0" lt="31" ct="2" ts="1587564569736" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTQ4ZDBmZjMtYTdlZS00NjRkLTk4ODAtZWI1YTEzNTE0ZWM3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="33" it="0" lt="33" ct="3" ts="1587564569735" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDcyZjUwMTYtMGNhNC00OGRkLTk3N2MtYmZkYzVjY2Q5MjRi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3070" it="0" lt="3070" ct="0" ts="1587564566700" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1946-Q-rLH7XXC7G3zDLWzKC3a3CXDtXpffwKxz-0jH2clO66clVsbeZdNCkR48r3f6Bsxhsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1939--PUHqmb04TB-BgYOReGyZBpZYQUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ed9faed1-b368-403c-a815-fca4570f8d86</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1939--PUHqmb04TB-BgYOReGyZBpZYQUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="33" it="0" lt="33" ct="2" ts="1587564569737" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDE5MDY2MjYtYjk1NS00MTE3LWI0OWUtMDBmODcxYTNhMWYw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="36" it="0" lt="36" ct="3" ts="1587564569735" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjUxYTQ0MWQtOGFjNC00MGRiLTk1MzctYjg3MTE4Y2ZhZTNk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="37" it="0" lt="37" ct="4" ts="1587564569734" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2I4OTcxZTQtOWIyOC00MzYxLWE0YWMtODUzN2Y2NTk0Yzkz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="34" it="0" lt="34" ct="1" ts="1587564569737" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzQ1YTAyNzYtOTljNi00NjRkLThmNzAtYzA5ZGI2NTVlZTI0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3049" it="0" lt="3049" ct="0" ts="1587564566726" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1948-hxrPUzDd8CogislKt1sguAMIQSyRdxy1Klmy4HkMhZVkEV0E1NhFxyCaRPoj8Ge1D7cc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1949-rFV0j13j3HYLWBEROZVYRGEutwoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a5724c6d-21dd-4bc0-b958-d40ef8a54f98</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1949-rFV0j13j3HYLWBEROZVYRGEutwoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="3084" it="0" lt="3084" ct="0" ts="1587564566700" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1942-r9YVxridofe8fzPu-NqM392gn7ik1aVhBq6EfGCtfWbbeHsAgD8WcaHI4XSnNpFhk8kc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1940-ecdi-SKCIuQmYpNSwe9kDU7LD1wc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7240ea94-253f-49ee-a495-8a16df7b82a5</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1940-ecdi-SKCIuQmYpNSwe9kDU7LD1wc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="282" it="0" lt="282" ct="0" ts="1587564569752" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTYwNWFjYmUtYmJlZC00MjNhLWE5OGUtNzA5YmU3ZWE0ZTc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="281" it="0" lt="281" ct="0" ts="1587564569754" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjA3ODk1NzQtNzNlMC00Mjg5LTg4OGItZThkMjM0OTU1Y2Rm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="281" it="0" lt="281" ct="0" ts="1587564569755" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTkzNWI1MWEtY2E4OS00YzAwLTkzODctMWQ2NjA1ZDVkMWRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="285" it="0" lt="285" ct="0" ts="1587564569751" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQ4YzBmODEtMDQwNy00Y2UwLTkyMWUtYjdmMmRiMTEwOGQ2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="284" it="0" lt="284" ct="0" ts="1587564569752" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTBiYzAzYmQtZjlmOC00YWFmLWI4MWYtZjAxZmM5N2VjYzdm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="285" it="0" lt="285" ct="0" ts="1587564569752" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTczZWVlYTEtZmQzOC00NDUxLWJhZDYtZWFkNGY4ZmM5ZTZm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="283" it="0" lt="283" ct="0" ts="1587564569754" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGQyNDY2NWItNDg4Yy00MWFkLTg5ZWEtZWVjMzVjNDE0MzEw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="288" it="0" lt="288" ct="0" ts="1587564569749" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTExNDU5MzktNjQ3Mi00MGQ0LTllOGMtZmM0NmE2NjBhYjE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="286" it="0" lt="286" ct="0" ts="1587564569751" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyOC1qbUllclVmMjhwNDJuMnJoUzNaZXZicWhJanctVks0SSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sCwOdNf9vGQgkzR2J1W7wJEq1GipZrobRStTY_S_YqIWebx845Aj4dYxWIWO1j6G4FmxvEOn9yyYkRb8u1U0g_gABRPrrQs--heHBlR973DuQ7mivOf6ONTRjuW8glJ8xwh8jEN84wZhrpKbz0kHqkRqvwJMujW2UXEDn5vogs6LQbQ922L-pakzbsSUiE1mY1AbAnqfMBCPfatjqdISuG1NI5p41XhlMSz7gJjkpouTTWKZ9jCe2b1O9hMmyBD1JloIWHJXSqtUt5g_O9IjrtOpUF57AA8UG5vtkRN24onSCzeT_-zIskULHEHMb1bGqTH8ZwrUsGPrdAKYP5Rzmg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDAyZTZjMjgtNzViYy00ZTc0LTk3Y2UtMmZmYzJlMzU2NmJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyOC1qbUllclVmMjhwNDJuMnJoUzNaZXZicWhJanctVks0SSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sCwOdNf9vGQgkzR2J1W7wJEq1GipZrobRStTY_S_YqIWebx845Aj4dYxWIWO1j6G4FmxvEOn9yyYkRb8u1U0g_gABRPrrQs--heHBlR973DuQ7mivOf6ONTRjuW8glJ8xwh8jEN84wZhrpKbz0kHqkRqvwJMujW2UXEDn5vogs6LQbQ922L-pakzbsSUiE1mY1AbAnqfMBCPfatjqdISuG1NI5p41XhlMSz7gJjkpouTTWKZ9jCe2b1O9hMmyBD1JloIWHJXSqtUt5g_O9IjrtOpUF57AA8UG5vtkRN24onSCzeT_-zIskULHEHMb1bGqTH8ZwrUsGPrdAKYP5Rzmg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="287" it="0" lt="287" ct="0" ts="1587564569750" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyOS1nc05qVmJZNnpYNklCa3JHcEFuQWlXUEl1cGF1aHBycCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aSL1VIOwIjIyRquL13scvAARXYVooeWQ0hUUkKtVJ_y1bpqoRxciRj2obqI3hOyQJLIRF0JcsZU45acB4gKRanU4WHdf4i5JzTqOoSfBYGL4nhc0PaHzeffTUvQMCqOD2CyF3bRD4fiLDwgOebeDRvQ4JrEiluIXsx5S0Dj5IC-mTt5LtIDxQarzDkSYoVTL-a5z9gtQO6F08zQXOZNZZOxK66vGRbco6YwZXhJiNaTy6QEseOr6y03KLuxpqq1GCBFP7DcsVMtGSpIA_uRrWMhEed8KOOQ7XUHar_Y4HeBNeOFwubO9gvuN4ba3rCLOQhnzLIcqkCahJ6W-JX7vjQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDhhNDNmMDEtMzI3My00NjZhLWIxMDItMjVkMWRkNWRkOGU5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyOS1nc05qVmJZNnpYNklCa3JHcEFuQWlXUEl1cGF1aHBycCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aSL1VIOwIjIyRquL13scvAARXYVooeWQ0hUUkKtVJ_y1bpqoRxciRj2obqI3hOyQJLIRF0JcsZU45acB4gKRanU4WHdf4i5JzTqOoSfBYGL4nhc0PaHzeffTUvQMCqOD2CyF3bRD4fiLDwgOebeDRvQ4JrEiluIXsx5S0Dj5IC-mTt5LtIDxQarzDkSYoVTL-a5z9gtQO6F08zQXOZNZZOxK66vGRbco6YwZXhJiNaTy6QEseOr6y03KLuxpqq1GCBFP7DcsVMtGSpIA_uRrWMhEed8KOOQ7XUHar_Y4HeBNeOFwubO9gvuN4ba3rCLOQhnzLIcqkCahJ6W-JX7vjQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="284" it="0" lt="284" ct="0" ts="1587564569754" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyMy1vNUxiei1rZTF6b1FTcllBeEdDSzRlaWsxNGFSbFQtbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ta3AHGd2ycxxL7n54ltcRbV05QDr4vcAeFY5ZecThzEUKE046v23XIeVj8xPGiITr6O9qr_6Zdy4qokR01l5EkEqjkcsmzNXGGyhRL_INK8280KuU6smSJu19fgcTvSonz_ybRHhcRvR8DQdLyO38UMu3YDYAARI-0MjXfGyvKKxquZE_1dc6yVBK1odI-BYnQm2hLuhASK3Hzog8iNnj0P235-qkFeTX5jVe38yOyK6H5bLebuELKOJ3TvuM_NEVxf54cIYd7AFYgCrq9XNqMRJ0U1E6P0jIty6ejJJ2A2xEqgGolLsgQKvMo97yk6fcoMXfOpOLbeG1EG4uuzmQg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjJlNzQ1MzgtYTA4Zi00MTExLTgxOWEtNjA3YTBhZmE2NmUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyMy1vNUxiei1rZTF6b1FTcllBeEdDSzRlaWsxNGFSbFQtbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ta3AHGd2ycxxL7n54ltcRbV05QDr4vcAeFY5ZecThzEUKE046v23XIeVj8xPGiITr6O9qr_6Zdy4qokR01l5EkEqjkcsmzNXGGyhRL_INK8280KuU6smSJu19fgcTvSonz_ybRHhcRvR8DQdLyO38UMu3YDYAARI-0MjXfGyvKKxquZE_1dc6yVBK1odI-BYnQm2hLuhASK3Hzog8iNnj0P235-qkFeTX5jVe38yOyK6H5bLebuELKOJ3TvuM_NEVxf54cIYd7AFYgCrq9XNqMRJ0U1E6P0jIty6ejJJ2A2xEqgGolLsgQKvMo97yk6fcoMXfOpOLbeG1EG4uuzmQg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="285" it="0" lt="285" ct="0" ts="1587564569753" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYzMS1kOXFUeVktNzhNRWtaeUp5bGlsU0N4ZzAxWVpyR1o3NCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PC3D6ABFADv8pZn0ivsVlbVpd79rgV1PqUiJkRTFv9wW_y_S73deO1L0jRKuAGQHyk0trgpnLtkCfuzsMR39lWteu9fe8PUj5QsJfGAbk_YF8b0SHXWCSnV1nDbs_YOQvKy1hTxtqv72EMU8g6yJ4LBUGrtuKSMQXwhsquryUngXPYVb4w8ec1ElEviSYO3OAt3pP1FmIxcglffGLbg9_MD3SOCPYBDKROl0IoXv3DxIIT2VnCDf2XNoB9K11gVlIadSLCu5NBD14wcLDsmuvVTUE4dKczRSOpKAGaTTnCPkZYAJCzmGESRbsGifX4ZxUZBPsvNm7xCR_7WmF9QY1w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGE1OGQwN2UtZWVkZS00NjA5LWJiOTctYmNjYThmOTUxYTcy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYzMS1kOXFUeVktNzhNRWtaeUp5bGlsU0N4ZzAxWVpyR1o3NCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PC3D6ABFADv8pZn0ivsVlbVpd79rgV1PqUiJkRTFv9wW_y_S73deO1L0jRKuAGQHyk0trgpnLtkCfuzsMR39lWteu9fe8PUj5QsJfGAbk_YF8b0SHXWCSnV1nDbs_YOQvKy1hTxtqv72EMU8g6yJ4LBUGrtuKSMQXwhsquryUngXPYVb4w8ec1ElEviSYO3OAt3pP1FmIxcglffGLbg9_MD3SOCPYBDKROl0IoXv3DxIIT2VnCDf2XNoB9K11gVlIadSLCu5NBD14wcLDsmuvVTUE4dKczRSOpKAGaTTnCPkZYAJCzmGESRbsGifX4ZxUZBPsvNm7xCR_7WmF9QY1w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3311" it="0" lt="3311" ct="0" ts="1587564566727" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1947-OZ-utbV-QKF8GDcBofOz-8RVnZNgtPqGbDjnPPklDSv6krvS4QDSvN1uRnBEHEr4O00c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1948-5LnTC7wBjdWvbI5EMhXPMFa8kXwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=140d9b96-709e-49ad-a5ff-981497c69acb</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1948-5LnTC7wBjdWvbI5EMhXPMFa8kXwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="278" it="0" lt="278" ct="0" ts="1587564569760" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NiwianRpIjoiSUQtVG9rZW4tMTYyMi1lb2tpcGc2N1RpWGlhNHJLeFdKTFNvZi1od3QtM3RtaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.C8dr51rqCpUsSKMSSZ6IlotvCe0Xfsk8PQnWuhZEQjI_nFbZC6cnZM8FOjKFjG1t3MJfPDsGC7IUiPam-vP6R74xh3odiM7yP_hTlp84stmViFKzI0o2H3UzRT2klFDcs9cxnaWsKPSf9C_OsCRoZzWyhQWxkBTq4YnTtjkFsT9ZGfHeoXi3qY9XE_tqi4fGigHw2ptzQdOWZi5GpdtgKA-myeQ2p9-uZaT9kZVNhYDkd1YBVn-QPknJKWP8KNrVf5KmruD5bZ6KX0sRXLeClyc86oR_EJt2BvlaropVtGiRkAkzZgoA7DyCrB7iaaUo8q1uZFHYM6XotGsQU_6hZQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDM2NGUyNGMtNDQzOC00NTJlLTg2Y2QtOWZhZmY4M2M2YjBm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NiwianRpIjoiSUQtVG9rZW4tMTYyMi1lb2tpcGc2N1RpWGlhNHJLeFdKTFNvZi1od3QtM3RtaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.C8dr51rqCpUsSKMSSZ6IlotvCe0Xfsk8PQnWuhZEQjI_nFbZC6cnZM8FOjKFjG1t3MJfPDsGC7IUiPam-vP6R74xh3odiM7yP_hTlp84stmViFKzI0o2H3UzRT2klFDcs9cxnaWsKPSf9C_OsCRoZzWyhQWxkBTq4YnTtjkFsT9ZGfHeoXi3qY9XE_tqi4fGigHw2ptzQdOWZi5GpdtgKA-myeQ2p9-uZaT9kZVNhYDkd1YBVn-QPknJKWP8KNrVf5KmruD5bZ6KX0sRXLeClyc86oR_EJt2BvlaropVtGiRkAkzZgoA7DyCrB7iaaUo8q1uZFHYM6XotGsQU_6hZQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="276" it="0" lt="276" ct="0" ts="1587564569763" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyNC12YnBRdXFxbENBMmwxdnExWFFITWxjOS0tNnhUVzcxZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PaK_AcsmXJpT8y8iY1qGFxNKqG1wuCdA0rUq_HuS_1eu7sZFkLDQa49l_Fsyke8Li2iyDr9nExMO1C3BzrkDwQ2z_n19ajIrIBzFSiNoqDSzR5OL_WzCMH_oLSdk3KLbOrHnQgGI2TMVC3M6GZUs0l7BsX7cQb6LW8LhNL4KPb2q_LFcBpYVy_hkgwVYKcr8pz037JweY7fkgrO_ID2AZo8qDLQTyQoktBZPnYmmTWrhzk5RG89RvcV6iJKq2Fjdpt-1WkD2cpRvP3ZYsJrEqtBpSsGyXqWQGfyBUdE9GMBUuDKvflN6BmsBdv9ES53XGxRe9TOfy0_9ToyasoZQOQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmYzODUzNDAtZmZiMi00NWQ0LTljYWYtYjZmMTZmYzFkZWQ5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyNC12YnBRdXFxbENBMmwxdnExWFFITWxjOS0tNnhUVzcxZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PaK_AcsmXJpT8y8iY1qGFxNKqG1wuCdA0rUq_HuS_1eu7sZFkLDQa49l_Fsyke8Li2iyDr9nExMO1C3BzrkDwQ2z_n19ajIrIBzFSiNoqDSzR5OL_WzCMH_oLSdk3KLbOrHnQgGI2TMVC3M6GZUs0l7BsX7cQb6LW8LhNL4KPb2q_LFcBpYVy_hkgwVYKcr8pz037JweY7fkgrO_ID2AZo8qDLQTyQoktBZPnYmmTWrhzk5RG89RvcV6iJKq2Fjdpt-1WkD2cpRvP3ZYsJrEqtBpSsGyXqWQGfyBUdE9GMBUuDKvflN6BmsBdv9ES53XGxRe9TOfy0_9ToyasoZQOQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="277" it="0" lt="277" ct="0" ts="1587564569762" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyNS1aMjJ5SnloQzMtRWRzdGVqSDNFNWxQUUhzRVVGQ2FNbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.R7LyRDxo_Rr0GAY_c3uMuDoJLuoC71dyayx9xfv3xcyPuoUbtcezSeU8uMrsZLme1kJ8HNF1uWrrZDrMJrkqSvkL4KyENq100t7RhsQb2feu2wmw8AO-65GwSAPT-NO6dxVmesz7-IwICnxiLd9lj18CAKNv3PPLCsH1iCbcDrGLson2DnAvYDgI5EWLCPZSClYPSgyftyRwxfXaNfOVgGT6yqynEHvAQVXfjCw1Jp5yX-4YN74jfanmKN3D4OnNr8qKkwJQQ1oiA7KzB3Hc45BrwjhB1yryJBSbNxCcoYk6-MoPlALR8dx4BrJSndp_veVpZh3zRWncSGyIaevAww
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjkwNzdjZTYtOGI1MC00OWQzLWE3OGQtOTI1YmFiYzBlMzM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyNS1aMjJ5SnloQzMtRWRzdGVqSDNFNWxQUUhzRVVGQ2FNbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.R7LyRDxo_Rr0GAY_c3uMuDoJLuoC71dyayx9xfv3xcyPuoUbtcezSeU8uMrsZLme1kJ8HNF1uWrrZDrMJrkqSvkL4KyENq100t7RhsQb2feu2wmw8AO-65GwSAPT-NO6dxVmesz7-IwICnxiLd9lj18CAKNv3PPLCsH1iCbcDrGLson2DnAvYDgI5EWLCPZSClYPSgyftyRwxfXaNfOVgGT6yqynEHvAQVXfjCw1Jp5yX-4YN74jfanmKN3D4OnNr8qKkwJQQ1oiA7KzB3Hc45BrwjhB1yryJBSbNxCcoYk6-MoPlALR8dx4BrJSndp_veVpZh3zRWncSGyIaevAww</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="277" it="0" lt="277" ct="0" ts="1587564569762" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyNi1MSTdTUU5tZjl0R1NjZlhWOC11UU8tcnBNdVpHMVpCYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sQFlBI4l5bTMBsC3XykTwdo8o0vbaNVPKmukCYwxhdFTVzAFr-Ig1sb72rcS3CWNOGpomlDg2yY3xM91HqJ8lWE9QKh-xXEq468C1fpVMU5U5XxN36hPTMXXwK-5GZHZB_OJ-9x2G_WsZ7ruliDDt8fSqWBJNx6Nqu9giZpAKf65NQk7g3CBaB0EWl2RtRDtSHUpD2pmLarDqvZRZfFZnAFdSyxZV9GAnqh0ov35ORHgLfjrAW-QC30UD1nuVQSqDEcuqQuJThOYodEjgXHwoS-MgtKalsz5TkOTZyA5T6VEpUNWuSFoT2lK25vLoaye5WIZM2yHbC6RzCD5olr5lQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTc0Y2U1YjQtMTk0Ni00NjZjLThjNDYtMjg2NTMzMTc2Y2M4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyNi1MSTdTUU5tZjl0R1NjZlhWOC11UU8tcnBNdVpHMVpCYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sQFlBI4l5bTMBsC3XykTwdo8o0vbaNVPKmukCYwxhdFTVzAFr-Ig1sb72rcS3CWNOGpomlDg2yY3xM91HqJ8lWE9QKh-xXEq468C1fpVMU5U5XxN36hPTMXXwK-5GZHZB_OJ-9x2G_WsZ7ruliDDt8fSqWBJNx6Nqu9giZpAKf65NQk7g3CBaB0EWl2RtRDtSHUpD2pmLarDqvZRZfFZnAFdSyxZV9GAnqh0ov35ORHgLfjrAW-QC30UD1nuVQSqDEcuqQuJThOYodEjgXHwoS-MgtKalsz5TkOTZyA5T6VEpUNWuSFoT2lK25vLoaye5WIZM2yHbC6RzCD5olr5lQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="271" it="0" lt="271" ct="0" ts="1587564569768" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTQ4ZDBmZjMtYTdlZS00NjRkLTk4ODAtZWI1YTEzNTE0ZWM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="277" it="0" lt="277" ct="0" ts="1587564569763" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODEzODkzOTMtMTcwZi00NzEzLWEwZWYtYmJjMWU2YjI1YmZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="269" it="0" lt="269" ct="0" ts="1587564569771" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjUxYTQ0MWQtOGFjNC00MGRiLTk1MzctYjg3MTE4Y2ZhZTNk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="287" it="0" lt="287" ct="0" ts="1587564569751" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjNlM2RmM2EtMGNhNS00MTZiLWI3OGItMDYwNjk1MDNiZWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="285" it="0" lt="285" ct="0" ts="1587564569753" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGZmODFmNzAtZGRmNS00NzYxLTllNWYtOGJlOTcwOGQ1NjY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="269" it="0" lt="269" ct="0" ts="1587564569771" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzQ1YTAyNzYtOTljNi00NjRkLThmNzAtYzA5ZGI2NTVlZTI0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="291" it="0" lt="291" ct="0" ts="1587564569750" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjY1ZThhODMtOWIzNS00OGQ4LWE0YWMtMTg1MjFjNTlhMzAy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="275" it="0" lt="275" ct="0" ts="1587564569766" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWQxNmM0MmMtNzRlMy00ZjRmLTgwMzktNjZhZDY1OTllOTM1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="287" it="0" lt="287" ct="0" ts="1587564569754" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjE5ZDIwMTUtZmEyYS00NjE5LWEwZmYtYjFkY2VkZGEyYmJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="288" it="0" lt="288" ct="0" ts="1587564569753" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTBmYjhiZmQtNTU5Yi00Y2I4LWJiZWMtZmVhZDczMDA1MjAy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="288" it="0" lt="288" ct="0" ts="1587564569754" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWU5MTYxOTMtMDcwYi00NzBlLWFmOTktNmRlNjkyYzE0MmU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="290" it="0" lt="290" ct="0" ts="1587564569752" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODc5NjkzMWYtM2YyMy00YWM5LTk5YWQtNmJkMzZmMTk3Nzhh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="274" it="0" lt="274" ct="0" ts="1587564569768" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGNkNzM3ZDctNzFlYi00ZWY1LWFjNGMtZjg2N2U3OWEyYzgz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="288" it="0" lt="288" ct="0" ts="1587564569754" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyNy1BNUgzNWs5UWhWMkxhYUNuVjVHMUQtM29XRUtMOHJTLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UuesFaZ6L9qgwXJItKUs3FaqTCRNGtsBE5r9ZNYjCzoH7Orvkg0KjYssBplUZCDpnm0OH-UbjjA7LH0lsRRqi_JCy4PEPub_ynAbZQs3ZlRFhih0H8WWs4PpwQHkujPuW4TLhnsAflSCNjs_cu5MurAW6grjR_MGpd9T8siZI2tDXbV3EjMcAhTumWOHcdG1bW_yquLAdJHGoQXxcQ4jXgesxcznB5-I62Bmz3VUmTOiuvlF5p_KXkrBXeJRfXo1oWnuFPxyqcJP_A5r_XlFQeUakkNjaqOseCLGjSmcATIPRtTEunGWrD2GnFUz8ChRUWDXrFEX_gD9xe_89FsEFg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTI2MTVlOGMtMzQ5Yi00ZmNhLTkxNTItNjQ5N2RlMTk4N2M1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyNy1BNUgzNWs5UWhWMkxhYUNuVjVHMUQtM29XRUtMOHJTLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UuesFaZ6L9qgwXJItKUs3FaqTCRNGtsBE5r9ZNYjCzoH7Orvkg0KjYssBplUZCDpnm0OH-UbjjA7LH0lsRRqi_JCy4PEPub_ynAbZQs3ZlRFhih0H8WWs4PpwQHkujPuW4TLhnsAflSCNjs_cu5MurAW6grjR_MGpd9T8siZI2tDXbV3EjMcAhTumWOHcdG1bW_yquLAdJHGoQXxcQ4jXgesxcznB5-I62Bmz3VUmTOiuvlF5p_KXkrBXeJRfXo1oWnuFPxyqcJP_A5r_XlFQeUakkNjaqOseCLGjSmcATIPRtTEunGWrD2GnFUz8ChRUWDXrFEX_gD9xe_89FsEFg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="276" it="0" lt="276" ct="0" ts="1587564569766" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YmRjZTgxODEtMWFmMC00NTMxLWE5NmMtMDMwZDhkN2QxZTBh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="274" it="0" lt="274" ct="0" ts="1587564569768" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDcyZjUwMTYtMGNhNC00OGRkLTk3N2MtYmZkYzVjY2Q5MjRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="273" it="0" lt="273" ct="0" ts="1587564569770" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDE5MDY2MjYtYjk1NS00MTE3LWI0OWUtMDBmODcxYTNhMWYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="283" it="0" lt="283" ct="0" ts="1587564569760" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYzMC1Gd0QxQU5hZ2d3VXByc0UzMDJzQTdHRHI4andKSU5UViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aCn2IvwwtxJecmdLzMB28BI8VWXMN-SJIg8FW2g2uPIl9cLV1YUEKhP_yNdF5-GGWIz78vJhRo3JkOPvJopRDsAJcXj7zmP6rPn8xZeFNBteg-w5LQRKyR1GLSRV6qU98BVjWoMbwp2Mfuwtb-ZEm6Cb3ezy4Ve5j2XwXlFJPbqPDLDlw5aJTHjTQI4UcLN9c1ZydGZ2jIiCRg0Id1buNe-VBJuO9PR1T_66M-8HcakeXA_8IHme8FTDuYA-bB6sNOQYFtvNeEyiNswhSt65FUztUzr8Svg2JMNX2KX-Y1T2uOKcbQzgV0VBRV7R2_U0TOP26EXZ3iq4bU50s4o7qw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWRjOTZmY2QtOTM3NC00MGJmLWEwZDktNjdiODUzZDkzMjEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYzMC1Gd0QxQU5hZ2d3VXByc0UzMDJzQTdHRHI4andKSU5UViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aCn2IvwwtxJecmdLzMB28BI8VWXMN-SJIg8FW2g2uPIl9cLV1YUEKhP_yNdF5-GGWIz78vJhRo3JkOPvJopRDsAJcXj7zmP6rPn8xZeFNBteg-w5LQRKyR1GLSRV6qU98BVjWoMbwp2Mfuwtb-ZEm6Cb3ezy4Ve5j2XwXlFJPbqPDLDlw5aJTHjTQI4UcLN9c1ZydGZ2jIiCRg0Id1buNe-VBJuO9PR1T_66M-8HcakeXA_8IHme8FTDuYA-bB6sNOQYFtvNeEyiNswhSt65FUztUzr8Svg2JMNX2KX-Y1T2uOKcbQzgV0VBRV7R2_U0TOP26EXZ3iq4bU50s4o7qw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="272" it="0" lt="272" ct="0" ts="1587564569771" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2I4OTcxZTQtOWIyOC00MzYxLWE0YWMtODUzN2Y2NTk0Yzkz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4002" it="0" lt="4002" ct="0" ts="1587564566727" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1944-i8RjvQW1eXU-j3qRG1Txbw3OliCXg9VxRQN1N42LCiK1PWk8JyhU-KYy0P8quk8SwKYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1947-hXuiTiKUS0VzhCqPcsPah4U8v9Qc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=eb6f0e58-a6e7-4412-b19f-3995d708c803</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1947-hXuiTiKUS0VzhCqPcsPah4U8v9Qc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="3847" it="0" lt="3847" ct="0" ts="1587564566883" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1941-5zWfuTSIKWheYHuf0hML0ajpZJfbc-4vMSuYP25UNNnR0q-DEh-OvpQrMRvkRMoM9hoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1943-L6jRi1CFkngQEAbOawUMVEdxLcUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=90c175e2-f68a-4c3f-967a-44089df53804</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1943-L6jRi1CFkngQEAbOawUMVEdxLcUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="2596" it="0" lt="2596" ct="6" ts="1587564568144" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjViY2M0MzUtNjkyOS00OGFjLWE2ZjMtZmRjOTI0NGY3YTk2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1935-yOoAJtU93geJ3f4gLu06oBSGTOUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2566" it="0" lt="2566" ct="1" ts="1587564568182" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjQzMWZjZjMtMmNhZS00Mzk5LWIyY2EtNTRmOGQzNWQ1ZGUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1937-5hXip9CWhFnrY4wl5MyZFTbmX6cc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="2606" it="0" lt="2606" ct="6" ts="1587564568144" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzllODliMDEtMWI3Yy00YTIzLThjMzgtZmNkMjM5ZjRhNWNh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1936-dYVNBog-FDJH3FqELMm9zet0WnQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1050" it="0" lt="1048" ct="0" ts="1587564569702" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-29" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDYyMzM0NzctMzhmNC00NmY4LThkNWQtZWQ1NDRiMDEzOTRl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NiwianRpIjoiSUQtVG9rZW4tMTYxOS1WN05nSHdLVGxNQTA4eXpvcnkxZzV0MlVKLW1GYVE5MyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IE1ftpEMqSQp3gEd2gr4tJRrMg3UeiyWeP1C8-M1HwUMRryiF7_A_jnOoZq0fvIldsSUPSdWkSPmwNxkvY7vT8LkWGTYb77kEYw-729lOr8p7CQfar9nsMBEnkK52WsIPGbvgpTPxGb9Rzf7a2HVOsFZFqG-DBGKnPV3xGcfGrQj0uHG0Gop_5B42s7Ckm20UvZOU3h8Hodry73s22azJbJgFJVox83c_ac-ep3w6xOuezmFPgbUOZAPrv9CfO56Af61hYKsvBVj4th0CHna20YWmKZ6dnGWUSFRDgjNqWDMAKA4DhL_S2EjRgEhZTvQqpUviqjlYtuSDC4kHUCMog
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTMxN2U0Y2ItNDZmOS00ZTJmLWJiMzEtMDFhNGUzNzM4Mjg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="715" it="0" lt="713" ct="0" ts="1587564570037" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-5" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjljNGRiNjgtOGQzNi00ODE1LTk5ZTgtY2VhNTBmYWI2MTg5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyOC1qbUllclVmMjhwNDJuMnJoUzNaZXZicWhJanctVks0SSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sCwOdNf9vGQgkzR2J1W7wJEq1GipZrobRStTY_S_YqIWebx845Aj4dYxWIWO1j6G4FmxvEOn9yyYkRb8u1U0g_gABRPrrQs--heHBlR973DuQ7mivOf6ONTRjuW8glJ8xwh8jEN84wZhrpKbz0kHqkRqvwJMujW2UXEDn5vogs6LQbQ922L-pakzbsSUiE1mY1AbAnqfMBCPfatjqdISuG1NI5p41XhlMSz7gJjkpouTTWKZ9jCe2b1O9hMmyBD1JloIWHJXSqtUt5g_O9IjrtOpUF57AA8UG5vtkRN24onSCzeT_-zIskULHEHMb1bGqTH8ZwrUsGPrdAKYP5Rzmg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDAyZTZjMjgtNzViYy00ZTc0LTk3Y2UtMmZmYzJlMzU2NmJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1049" it="0" lt="1046" ct="9" ts="1587564569704" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-98" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjlmOWJkODgtOGI5MC00N2Y2LWJlYTMtYzY5MjNkYTllMDVi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2Ny1xNkhJM3lUTUpzUG9BbXNQOXc0UjkyUHQ0WFZ4a3B6aCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jdmp6u7j3d1hypUNizV6KdbyRM4WseSFqNX4jAca0ENPgYBi0Qj4BVYOdPZnr7CojJLsd_-96B3iHoABz99XKvghBPlX0h990YRPjuGb0NWILosqZFg1UWQmxN6DjaPO5vyX7kDg95DgSstH9E1cPsEGttWibOhF5IMxWgd42Bufwr9Gegt0exPH0hLjP1_HNJ_mpyvB9dlHK_ivJXPxZ9Kuk0Ga7eDCn05nlEilfxvbmbpEWVlMRrog1e8DHeNHJvakEetmlHB-SNBQFOTu-z7iSb1osOVpPQxZ68JktgIqew_3m6rYlrjKPWe6TzxqyRwFAnqkWkDkqo4NRAVWQQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OWM3Nzk2MGUtYWU0YS00MGNhLTlkMTQtNjhiMjE1ODk1YjI0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="715" it="0" lt="712" ct="0" ts="1587564570038" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGQ4ZjE4ZjQtOGI0YS00ODJmLWI1Y2QtNzZjMDE1MTMxZDdm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyOS1nc05qVmJZNnpYNklCa3JHcEFuQWlXUEl1cGF1aHBycCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aSL1VIOwIjIyRquL13scvAARXYVooeWQ0hUUkKtVJ_y1bpqoRxciRj2obqI3hOyQJLIRF0JcsZU45acB4gKRanU4WHdf4i5JzTqOoSfBYGL4nhc0PaHzeffTUvQMCqOD2CyF3bRD4fiLDwgOebeDRvQ4JrEiluIXsx5S0Dj5IC-mTt5LtIDxQarzDkSYoVTL-a5z9gtQO6F08zQXOZNZZOxK66vGRbco6YwZXhJiNaTy6QEseOr6y03KLuxpqq1GCBFP7DcsVMtGSpIA_uRrWMhEed8KOOQ7XUHar_Y4HeBNeOFwubO9gvuN4ba3rCLOQhnzLIcqkCahJ6W-JX7vjQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDhhNDNmMDEtMzI3My00NjZhLWIxMDItMjVkMWRkNWRkOGU5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1047" it="0" lt="1044" ct="4" ts="1587564569706" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-50" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmNlMzhkY2QtNjMwNy00M2ZmLWFlNDEtZTQ2ZGE4Zjc1MGRl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwNy1mWDFZbXlyeS1JcXkxRFFDbDBSbkcyRmxUUGp6UEJkOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pzeDzqfGJn8t1pGiDHMYF5sIpp0bZpZGOPzQP6V-hwc4qZ2eSomy5fr1U3rW4SNIZ68uLSSf8FJUkIkiuZrzZ6pmyuevoGwT3Oya_bUHiuCg1XOu3yvFB-8sO827cKfZhvEn7T5kmHB9Wq4VKrjUTgHM45zUGGwmp3voLaQCtLsXoHygS4I4yxphfJxPYXADsR0iWCzcTtv0OLVpO7US9FtVcskPuUMXLMTzq72zvLwLDtBYuCrrjQyKk2PX2y6kSBclWMkqcrn9L3vk8981ciQUazZ2JhiP0gj86Chz8V_jSiZIq3PWQ79VnwLfp5LK0SQHoq0BjUrCLYH7fouAsg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=N2ZjYjJjZGQtNDE2MC00NzliLTk4ZGQtMDk5NmIzYjFjM2Vl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1049" it="0" lt="1046" ct="7" ts="1587564569705" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-81" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTk4M2FmYzQtZjgwYi00YThjLWEyOWEtNmFlYzc3ZDI0MzFm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxNy1hcTd6ZUx3Smo1d2RzSkZpOWFlOTZ0LWs2OC11aEdKNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.De-zEElC9UdnX_YBPDfqxRzlwfj_6iV8_YPfdxSL6Lx2uCyzzBCJgSp0BQ42HKD2kWPL-wBJ5rQ9lQWNYWArBwkdJN2khlSZDfkns5NSpiWuCEl_2YeOv1i-c0ZWDnMBZblwQnrrotkEgN8AWMbP57v4xaAoeUWh_7mFZXxrig3p2SZ6d9EXMro_q7kfDsKP4Hfh6LfvC-DSkborzItdzF5wa9m2pAeAATkUiAQHVwwn_OY8wIu53hKIfECHwq82P5A-zr8P1ZSj0YGvf_clR8SWDS5ajRLWBf7ut758aVv3CVseC6wVStwsgVk0KSVNXMHZ17XIS39VhRukUPd0uQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MWY4YzY1NGItYjUxOS00NmUxLWFmNDktNWFlNGM0ODU4NzI4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1061" it="0" lt="1058" ct="1" ts="1587564569694" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-93" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWU4ZmU0YWEtNTI1My00YTM0LWJhZjMtNTg3MDk1YWIzNzdh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3MC1yS2J5d0R3LUFsWGpvQU5Fbmo1SGtBYzZZLTNuYmRiSSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.p5T4uwzLdrZtBdwskwddzWbk1187c7Hz-OLU7iQzYlGzCz-OzlOQ-MiYgD7g72GaYtZvhMpf7oaHX7tkgXvYNGwbm_SmI-THZQl2EyCGwSva6bjjD1IPkbjeQT1eAtxRzjjHvE8goiHRFd40wG8YR9prW0VOs-_KKUUdSwLbXoavSrClx6WmGvjBl6FBViu3tdkauBXbRLmo7Te7amYJUZA9phch9FSS-gxht03gP7AjI3WrVXfRMP9iXQAB0ImncpkkI8v_iVJouF5qBpNCeFCPHKxpAF2M4y8OoK3hvLBYezy9jJSdf2m9OPiDE3mS04ThTfxew6FczCsKMfPFzA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NDQ0ZTcxZDctZWUxZC00ZjFhLTgzZWItZDE1YmJlODdkMTNi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1061" it="0" lt="1057" ct="2" ts="1587564569697" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-22" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTg5ZTFhN2UtZTdmMC00ZDUzLWFlZGItMzJmZjY5OWYyZmEz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3NC1SSU9uN2cxV0c1OTNhd2VTd1RnbzhCWWViUXBtSC1TVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TOXQMWcBM2GYTGY2P2NoEGjOBUmQxy0077-Il8QOhsUPNG1-CwCuU47F4uQp3lK-FdQdsrLvasJPiBGZFdXbKdjNcH4Z6nwt3z7hl6ROwj2hgevyQw19CsqwZaEPihcH45x8wuhV4iDXrzBqwx1xMhFq4dQX7aocM7oiWrSuSQ0IkBRHxM4Zjhr85MOa8iQvaooP9MPQgfIi9t5m9TjUJ1IgrPH7_p_mwp5vO-01bNAlGNXhyKlflftB_5nlyYoxQSUgeE_-bliRcBGY10Jcmy-xXYlwEzdCWzBrA9e6HdGCNDjdKKbuCIH_sYJMS5rKjL094A3z8lDG9PAyurrVbA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjkzMjY2NDktY2VlYy00MDk5LTkxZTEtYjM2MjMyYjYzNThh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1038" it="0" lt="1034" ct="3" ts="1587564569720" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-10" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTk2OGE1NTktZTUyOC00NWNjLWE2OTUtNGU4YjBhMjE4M2Nj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1NS03eEg4ZzRYaFlYZzVER0VPNDJCc2doRWtpRWVHLVB1QiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ofITvQxQ_ne83gK6P8sBfkLtZmi-i7kSXRZDvPIhkHV1fJblcLzth1f6SVJBLwlNdF2bHfDt3tzz-1aCaqbRuUgoYwdVfC0xR0WBn_nzaKiOYCMfMBZVLad5xZrtRFeKyQKRvmVI03Sd5m72MjUnH8tJLwyvQqZ6ajbV0d1LlPd23FfKIwWU2DhTP7s7ppNPDBAb5Gv2mVLlUWMnjc86fdOs2L4hFX2JWGjhQC2PjMeZIma2WGxhQVYb5fVOj_rjaJjZ6tlLvrvhOKUcjuoCEs3RFFpQqbkjJW3BhjeHv4aGRQjCNqDKT1KSxAFgRhdJsvQ3jSoS4FR9ZdRWjRHLGw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDhlMWRiZGYtNjBjOS00NjA2LWI3YWItZDE3OGVkYTFlODk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1055" it="0" lt="1049" ct="4" ts="1587564569704" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-43" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTE0ZTI0NjgtYjliYi00OTM3LTgxZTAtYzczZDA4NDU0MDQz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1Ny1BVFN2TnUxcTJGM0NPRy1aWWtUUnFFVjVwcXBmNi10YyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Pgcmx_BIYpmGb-HgnMFrEJtYeglfDrvgAdLXWPI6NsbS3lWW-p-ADsRZQUt-xHUsM0NRFdhxhmo3JDPnqt7QRTsGktFe_uFslhuVx9sK6AUotpCRsJsdgeOXHwx2Em5AZx506MF1Lhtyw-UXC2r6sR3JyaclsjHd5t6lMeADy98ny1Wq9scfQos6XaO9ZkhdOpf_XCRlC-82ij9oZbueRmKcTmAw2M180ic0A0ekqU6C4AVgBdVPbrLZ93rt67XKXTi1gxyfGi71YvtHS8d0SKGYIAsbV-J7la4ARfutVBtWK5s6S823QMH14IYHhp1CrF1Ol0bP4a2Lr9LHcs7lzQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzgyNmIwMjgtMWY4ZC00MjAxLWFjNzUtYjE0MmUwNGNjYTM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="721" it="0" lt="715" ct="0" ts="1587564570038" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-39" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTljMzJiMTAtZDhkMC00NTAzLWI4YjQtOGViZWQ3NmZkY2Rk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYzMS1kOXFUeVktNzhNRWtaeUp5bGlsU0N4ZzAxWVpyR1o3NCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PC3D6ABFADv8pZn0ivsVlbVpd79rgV1PqUiJkRTFv9wW_y_S73deO1L0jRKuAGQHyk0trgpnLtkCfuzsMR39lWteu9fe8PUj5QsJfGAbk_YF8b0SHXWCSnV1nDbs_YOQvKy1hTxtqv72EMU8g6yJ4LBUGrtuKSMQXwhsquryUngXPYVb4w8ec1ElEviSYO3OAt3pP1FmIxcglffGLbg9_MD3SOCPYBDKROl0IoXv3DxIIT2VnCDf2XNoB9K11gVlIadSLCu5NBD14wcLDsmuvVTUE4dKczRSOpKAGaTTnCPkZYAJCzmGESRbsGifX4ZxUZBPsvNm7xCR_7WmF9QY1w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MGE1OGQwN2UtZWVkZS00NjA5LWJiOTctYmNjYThmOTUxYTcy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1048" it="0" lt="1043" ct="2" ts="1587564569711" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-36" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmNjMTM5ODMtOTc1OC00YWYzLWE3OWUtMDIwMzA2YzBlM2U1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3NS1VNUxTSHhPMGozQVdaWWJwSHpKWUVCRVljM3liY3FvcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aXzGmF9NkJ5iA9FVqVO8wpb1ZyaKYzirpFySmBR3ruU_dDKBdjjGeWV1MlI-jrWByCEkRf1NXcsxw7RGsMUKFBzbS6jczQQlnyfL_FziVFhnZFHwqgnlgTUJVNi0CM2W6I0RxECzRAmU1SoKAAOTOdT73pdRHQblLLbxKF-0mdGalC8ul6cBk_8WCumF8IHHLhZT9sz0-KaqMH5NQ3Bg4UMjhcUvNmAutQOMXHSZ85249zhC41O0sQQN3mXOSqRHxi7_58r35MGN-2__8cjFjoxyfyFPjK6Yrc9fWYq8H35tiM8vdvTbMb9cXC8jvjd0PzqeGNU801GvXea-cwmhqw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NGY2ZTZhMTgtZTYxZC00YzQ0LWFmNzItZWQyOGUyZGRhMTI3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="722" it="0" lt="716" ct="0" ts="1587564570038" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTFiMzhiN2ItNDhlZi00NjkwLTlmNmItYjlkZmU5NmVmMjFh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyMy1vNUxiei1rZTF6b1FTcllBeEdDSzRlaWsxNGFSbFQtbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ta3AHGd2ycxxL7n54ltcRbV05QDr4vcAeFY5ZecThzEUKE046v23XIeVj8xPGiITr6O9qr_6Zdy4qokR01l5EkEqjkcsmzNXGGyhRL_INK8280KuU6smSJu19fgcTvSonz_ybRHhcRvR8DQdLyO38UMu3YDYAARI-0MjXfGyvKKxquZE_1dc6yVBK1odI-BYnQm2hLuhASK3Hzog8iNnj0P235-qkFeTX5jVe38yOyK6H5bLebuELKOJ3TvuM_NEVxf54cIYd7AFYgCrq9XNqMRJ0U1E6P0jIty6ejJJ2A2xEqgGolLsgQKvMo97yk6fcoMXfOpOLbeG1EG4uuzmQg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjJlNzQ1MzgtYTA4Zi00MTExLTgxOWEtNjA3YTBhZmE2NmUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="721" it="0" lt="714" ct="0" ts="1587564570039" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-21" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzFjMWMxZTMtZjUyMi00NGFhLTljMmItNDk1ZmFlYmQwYjE1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyNC12YnBRdXFxbENBMmwxdnExWFFITWxjOS0tNnhUVzcxZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PaK_AcsmXJpT8y8iY1qGFxNKqG1wuCdA0rUq_HuS_1eu7sZFkLDQa49l_Fsyke8Li2iyDr9nExMO1C3BzrkDwQ2z_n19ajIrIBzFSiNoqDSzR5OL_WzCMH_oLSdk3KLbOrHnQgGI2TMVC3M6GZUs0l7BsX7cQb6LW8LhNL4KPb2q_LFcBpYVy_hkgwVYKcr8pz037JweY7fkgrO_ID2AZo8qDLQTyQoktBZPnYmmTWrhzk5RG89RvcV6iJKq2Fjdpt-1WkD2cpRvP3ZYsJrEqtBpSsGyXqWQGfyBUdE9GMBUuDKvflN6BmsBdv9ES53XGxRe9TOfy0_9ToyasoZQOQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NmYzODUzNDAtZmZiMi00NWQ0LTljYWYtYjZmMTZmYzFkZWQ5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1056" it="0" lt="1049" ct="8" ts="1587564569706" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-25" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjI3ZGJmOGItMDlhYS00OTYxLWI3ZDctYzI2YzczMzNlMmU5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5NC1ZRU5TUWFXOS1UZW1XaFlyYnV4MEcwRWdIbk84NTdpMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Hz7ray_1UoeRTqlVtGc55viU0wMjgGpVN5XCOu3EKJScTmT7l8YnbMG5auEd3N-HOGW9rxIAGYo581LlgLL_-X3No9J0QUyRdysYzzcXBxakIeSuiQ_qVvgKu4pK4JhCIZwPvfhwyx4UV2kgjT3CWc0wdeF1cSu7B9njvOIZINKh1a8GWYj1bi8wzeBpPxg8Pm-zlAzqytHMNPjc3AvdxjUTyVb99uh6gFzQmAiyrFjr9qCAJxIMpzjgs2V95vN23-alU_GBY4PYayGmp71nOkG-VR6LkhOOGPY15zOvK4Gh3O9RZTdbSaKhekG0ohKDntmFW2MuuH3AyMQVJYbt8g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NGRmMjEyYjItNjk5Ny00Zjg2LWIxMGMtMmExMGY2ZTM3OWEz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1050" it="0" lt="1043" ct="2" ts="1587564569712" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-20" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDU3YWJmNzMtOGNmZS00NzRhLThhYWMtZjI0MGNjNDU0OWU1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5My1VNzlTeXFJZDFscmM0bjZUQmVTaENSQlRCd3hZOS02YyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pwkakW9rCkv4MGE7QeX8EzQbHGGddMiI5cSaVj4uloTE_UN47b_CF91T42AySCZ5fCMhnU-cpkcUSAA5pPZb9FnGcbfVQoQ-_ym0mO_p4MWN_4Lo-d9c_p2yHZUMiG3jLRJDAWZ4gmLh4FXcfKeKtzF8kT06Wa5kHU3zGa0PhhbAooq7jdlXdKBPI9v2xiyEaOhp3aYz06ZVxpaO0rgD4xULd-q1mmtKU259vr0x9VUVljI0n6b34Jmu4ZvYozzuEEimEUXhFMKOR-HwXMiw-l68Px4idJWhBijfPHThcjPcHspP_ihXhp-x8z3mCWOXd12LV-DxQquvrbs0IqMM6w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTE0YzlkMGItZWVlNy00OTRmLTk0NTctNTU0YTI1N2ZmZjFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1055" it="0" lt="1051" ct="7" ts="1587564569707" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-71" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDcxYmRhYWMtZDc5ZC00MDM4LThmYzAtOWRhM2U2NDcyZjdh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NiwianRpIjoiSUQtVG9rZW4tMTYyMS01cnY5Yi10aDhsRkstMGE5TUMtbkNLU1pPd3BRQ0VYSSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pe2tgDvJfnR2V7ROqTy8HE9s74lCVOv9N8j1xyCHaUHytilYisaOJreFwnvy_yzj2mroTfoO1O0udY5f87lzQmWi3Vk05e7cwTda6ZEP0Fx2_GP6jpSiHDIoy3xQ-3P-MLk6V8D4-ucppmR7P6OdixLB8URiwjlGtNN3DHQgskC9yLfd7rGZEnygUb2OIcn9FcL20Iyfe7u1eBxXMCN8BoTVcplMVpUntagfMiqewPrnELORMS2ulaSmgnLswgxsRGg3mOZQoxDPlR_D8hul-_sXeo9RUlXp_RYizswmyMpdNmTLTfdN6qi7X35J_o5i9YMHDwHGSIHOV8yEoKy_qQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NTNiMGMxOWYtZmI4NC00ZDA0LWFlZjEtZWNiMzNiZGExYWE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1047" it="0" lt="1039" ct="1" ts="1587564569716" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-69" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjE4MWQ2YjgtNzk2ZC00YmFiLWI4NmEtYzAxODIwOTM3OGQ5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2OS01ZmlVVkRHdDl1MFZpcWJCSk1ZZlZBUFZvZEwzQ3ItNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gXx2DJI79J15KVbZ5rEV52nyuGQyc0AetQcYb1t3TBI2vAXiemSzyzORrq0D-Cu_G5-IQfHhY7E6ERlivrJt5I4wbJRijSj7E_MAoE1fzqXxfAdcR4n9sSYIHvFU_ConMnvHe6772ZUJsj1Z3AF_Xvjz_NFYcf3b1IKyg9pxAyg32wQDei6pq6fvCW6EkeGTCqfomvZwteB7EkBfZ9765OJEGzOZjIpi6Va3PeTQnRjRS8LHgCtUVF0xut6Vr1D38y-jJ3RmrjMi5fnvK68btCbw7LR3oohpf6SD-etLPQEquY2f9-MVPGhbPmmb1tFYDlbUmeNyC-lR4AJhFkNa_A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzA4MjkwYmMtZThmMC00YTRmLTg1NTUtOWE4ZTkyN2E0NDY5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1047" it="0" lt="1042" ct="1" ts="1587564569716" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-11" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Yzk0ZTM2ZjctNzY5Zi00ZDAyLTg5MmMtODdlNGYzOGMyNTkw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5Mi1zeXVBVG1SUlgtSXFpVmZjaVZDVC14MERVOWtwQS1oZiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NpKKJhC_KCB7JadT_ZEhNhS5SSgHbBsl6z4q3Kb2xF9isCa3Z-VePH26FmuBB0LXg4EpHGNsU3UwPk8cc20azLfqSBwhuLmdaOiekolKjLwvpiGUk5vLnYinbnraL59eHPzJei9ad76wR2HxE8HMkACTzyN5zz2H6-iLTkDA4c1NEvSyGj152sgMHCf8lT2H9Mn9AF9X3KyDFM1onbCkNagvu_qsmi-ljBAnPGrLi063lWyWOqVUWzHn2fJqw_60scU28gsgaOrJJAjk1CD160wVCqCTC2EnvLwseY4nDfNVS6Rvi7lWx-nsOHRFM-pdeJrb2ZRKxL0ZzZ52r2Zd5Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YTYzMzY2MDQtOTZjNy00YTA2LTk4MWQtODQ4MzVhZjJjMTg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="720" it="0" lt="717" ct="0" ts="1587564570043" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-1" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2ZmY2FmYzMtOTU5My00YjMwLTk3NTItZDdjYjk1NTVlZTMz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYzMC1Gd0QxQU5hZ2d3VXByc0UzMDJzQTdHRHI4andKSU5UViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aCn2IvwwtxJecmdLzMB28BI8VWXMN-SJIg8FW2g2uPIl9cLV1YUEKhP_yNdF5-GGWIz78vJhRo3JkOPvJopRDsAJcXj7zmP6rPn8xZeFNBteg-w5LQRKyR1GLSRV6qU98BVjWoMbwp2Mfuwtb-ZEm6Cb3ezy4Ve5j2XwXlFJPbqPDLDlw5aJTHjTQI4UcLN9c1ZydGZ2jIiCRg0Id1buNe-VBJuO9PR1T_66M-8HcakeXA_8IHme8FTDuYA-bB6sNOQYFtvNeEyiNswhSt65FUztUzr8Svg2JMNX2KX-Y1T2uOKcbQzgV0VBRV7R2_U0TOP26EXZ3iq4bU50s4o7qw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NWRjOTZmY2QtOTM3NC00MGJmLWEwZDktNjdiODUzZDkzMjEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1052" it="0" lt="1047" ct="0" ts="1587564569711" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-45" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDM4ZjQ3ZmItMWRjMC00MTE4LTkzYmQtZmJhMTkzMDczY2I1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NiwianRpIjoiSUQtVG9rZW4tMTYyMC1nOWlZTVE4UXZ0WWstdTVMdENkRmVLaDJZMThTTHpEZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FOaMBLt4IMzhpqrsAoDz28Rdx7QRCFjFWlFR5i1iAT0Yc58ZXiELaeKFMQEEgXw1VNE47RSnEZ45Zw9OB1SLh35NpzEwqvU45Fu3KX7n4brfJ8JJ5n52R2kgy-osiPJsD0IQh7-F6DwAPMDVIAdcVWyXdt6Sls9JQVXg2pjWYvtOqlTD3LvkYcGjo9V07fEETpFEv7ulOgblCw3oYV7ZLx7uGNcchBm5zf7rJE5uAH1hDCX4Ioe2_8yYKA8xAeUToZIZP94GgyHots9w2XC0VEwWQFTTef0f6UoZ-S4nxwNKFJDFfTLv_iTYb1puUglnCiKgIWsyfEwXA9kBa-GBNQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NmEyNGE5ZmEtMjA2MC00Mjc3LTliNzktYmE2NDg2OTVlN2Jm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="724" it="0" lt="722" ct="0" ts="1587564570039" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2RlODZlNzUtYmNjOC00NGE1LWE5NGUtMmQzZjVhNTczYjUx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyNi1MSTdTUU5tZjl0R1NjZlhWOC11UU8tcnBNdVpHMVpCYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sQFlBI4l5bTMBsC3XykTwdo8o0vbaNVPKmukCYwxhdFTVzAFr-Ig1sb72rcS3CWNOGpomlDg2yY3xM91HqJ8lWE9QKh-xXEq468C1fpVMU5U5XxN36hPTMXXwK-5GZHZB_OJ-9x2G_WsZ7ruliDDt8fSqWBJNx6Nqu9giZpAKf65NQk7g3CBaB0EWl2RtRDtSHUpD2pmLarDqvZRZfFZnAFdSyxZV9GAnqh0ov35ORHgLfjrAW-QC30UD1nuVQSqDEcuqQuJThOYodEjgXHwoS-MgtKalsz5TkOTZyA5T6VEpUNWuSFoT2lK25vLoaye5WIZM2yHbC6RzCD5olr5lQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTc0Y2U1YjQtMTk0Ni00NjZjLThjNDYtMjg2NTMzMTc2Y2M4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="725" it="0" lt="721" ct="0" ts="1587564570039" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-42" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWI2MDMxZTUtYzA5Yi00NGNiLTkzMzgtNDgxZjE5MjJjNGRj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NiwianRpIjoiSUQtVG9rZW4tMTYyMi1lb2tpcGc2N1RpWGlhNHJLeFdKTFNvZi1od3QtM3RtaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.C8dr51rqCpUsSKMSSZ6IlotvCe0Xfsk8PQnWuhZEQjI_nFbZC6cnZM8FOjKFjG1t3MJfPDsGC7IUiPam-vP6R74xh3odiM7yP_hTlp84stmViFKzI0o2H3UzRT2klFDcs9cxnaWsKPSf9C_OsCRoZzWyhQWxkBTq4YnTtjkFsT9ZGfHeoXi3qY9XE_tqi4fGigHw2ptzQdOWZi5GpdtgKA-myeQ2p9-uZaT9kZVNhYDkd1YBVn-QPknJKWP8KNrVf5KmruD5bZ6KX0sRXLeClyc86oR_EJt2BvlaropVtGiRkAkzZgoA7DyCrB7iaaUo8q1uZFHYM6XotGsQU_6hZQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MDM2NGUyNGMtNDQzOC00NTJlLTg2Y2QtOWZhZmY4M2M2YjBm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1066" it="0" lt="1060" ct="1" ts="1587564569698" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-61" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2Y1MjMyYzctNzVkYS00MTdmLThmZDktZTgzNWI3OTg0NGM3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4MS1Zc0Nkb3liU1BNZHZrZlJxUGowbUZyYnBvcjdEZi15byIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.fN_dIf9ql4fhA_qSN7KEgT5PgraNwxKvvzyR4MCwKWNIe5S9eHD8uCB3y2I81Ta5dttkptBDKB5_dpxbFaimG_6Zi2ErM_rKARcws0NeD9-fxLvQgfUlb4t1547sa_-ONv4RdWw5Azf9BwLB24pupUXdo3kiXn8UDOz1fI4AmNx_oQ1UntDrLqx4Hf4Z6Tsi_ayuNUIGg0506TjmxlShLRkgWX2aIJXByPpr5u5rgVTNVblXefOo8oxBbm1OllHWOPQiOPJCDezthicw_9FWmW2rkBOM9lLJLe6qJ3Hfti-65Yr7SpxFOm_FlhHpyJxjIvoNjWtULBQDLM8WzAnadg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MmJiNDFjY2UtYmRjOS00YjlkLWE0NTYtYjdjMjBiNzU5ZTIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1051" it="0" lt="1048" ct="3" ts="1587564569713" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-89" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzVmZDIwZDEtMWM0YS00NWU2LWIwZjYtNjA5YzZhZTJkNWE2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4Mi0wTlFLOVFwaHY4V29iRnAyNThGOEdkN3pZU2Flak0yMSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pWpivDzztsyKDysCX1aPqrtAcZmO2eLNXGsmxJmRlQVxziEEdAvv4zQ213Rtxefav02Z9QIPOASYbtjM3r1J3yThMiMtiiviX4hah_DA0gi4fBNNbR1fg4td4pCNlmpP0-U77SUEsJzE-3XM_nw7HbKavFNb1s9YWrCNQrKlMGK0Mpx5faaTN20bFNkDPxqO4yXta7Mc4MSaeWZM1Z3Z8hEX-HxAlWpfJtavWIIvfslPlzW9vm_Fep6JNv7HWsFVYr_DqW12nXeknE2eMVVurdYEb0uqb1jd5d8BhH9-N7-mIOTbks2KKKUiDyniezvqVSv35f4UwBbmEwqtFRYoTg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZThiMDQ0NjctZGY1MS00ODEyLTgxNzgtYjdjODJiNTdmMDNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1050" it="0" lt="1043" ct="1" ts="1587564569715" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-91" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzZjODY4N2EtMDJiNC00NzBmLWEzYmEtMjY4ZTIyOGJhZjE1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4Ny1zb3psaXJpUjZFcktEUnNFWEpHcmhocWYtUDZwdjRDcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.K92ecOlFj15byVAL4HGUSDvP_Hr0UaF3WDQgRv6kFeuAGVIJN6xbvkXPT0hid5f2Zb0ilnZJgSImrzaWSdfweJ-c0ZQYuhf9-nxgwnADYgiRbBOSyG1wI7RmH--WjaJwjv_HPQ6z5TukUTeND98PhKiHckQBbS5ERfcIQdw7OWLbLg7nfl08vMQ1NQn0p377uD1fucdwpFtX90yRBvk84JayZLPTiana2hVEp1yBEwEi3FJU22FzdjlYpr7U-joAdi3DMVWAXsEXg5m6H16pJgpSVKZZal5hmU-VtKbYgkjfrsTVjcxED3ABwViB69jhF7GKodIY6_YyLSnt2Sgx5w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OTFlMDkzNmItYmViYS00MjY5LTkwZGQtNDk2NjE4Y2FlMWNi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="723" it="0" lt="718" ct="0" ts="1587564570042" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-44" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmQ5ZGFlNDgtOWM5OS00ZThjLTg4MmEtOTZmMWNmYTg0NGRm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyNy1BNUgzNWs5UWhWMkxhYUNuVjVHMUQtM29XRUtMOHJTLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UuesFaZ6L9qgwXJItKUs3FaqTCRNGtsBE5r9ZNYjCzoH7Orvkg0KjYssBplUZCDpnm0OH-UbjjA7LH0lsRRqi_JCy4PEPub_ynAbZQs3ZlRFhih0H8WWs4PpwQHkujPuW4TLhnsAflSCNjs_cu5MurAW6grjR_MGpd9T8siZI2tDXbV3EjMcAhTumWOHcdG1bW_yquLAdJHGoQXxcQ4jXgesxcznB5-I62Bmz3VUmTOiuvlF5p_KXkrBXeJRfXo1oWnuFPxyqcJP_A5r_XlFQeUakkNjaqOseCLGjSmcATIPRtTEunGWrD2GnFUz8ChRUWDXrFEX_gD9xe_89FsEFg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MTI2MTVlOGMtMzQ5Yi00ZmNhLTkxNTItNjQ5N2RlMTk4N2M1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1062" it="0" lt="1058" ct="3" ts="1587564569703" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-3" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzliY2YyYmItNjA2My00NTdhLWFiNDYtMzdjZDdhMWZkMTM5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5Ny1CLWhidXRoc20wVFJUZ3VQT2ZuVWk1WjVqdDVUSW44VCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OCHv0t3b_CzHGJ2yW7IMJaD55p9zN97iVY8_oRN-qRhqsrVfCZ8Guf9iAjlPnQOxNLccfmg18TMTrLBhqqckgPuxTTldHp-UgrTDdUhrctdLY8PyvuV7xNV6s0EmAzE8ugmpGojpYxkV32OzLvvst7UeyvVgg9KlmwKiezufFIugu2lEWMrtpr3AR6PvcPonfO5uP3VbmbFIxJuD9AR8xopGxWIONG3Le2yeNBzL8PKLxXRC-8wT7i6srWEkvblGCqPgeiMjTkon1ymKxLfuhPLhj4S4V3BXoR0B6xfwHPPUVkBRwOz_wR95aQAw07EtZrI2w6gq3wGhv_oLyU5U8g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NGE2MGI0ZTMtOWQ0NC00NGQ1LWE5OGYtZDJkMTA3Mzc1MjRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1040" it="0" lt="1036" ct="2" ts="1587564569725" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-34" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDlhMjk3NzQtZjg5MC00MzIwLTliNjEtMDFkMWU3OTMyZjhl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2NS1hQkpkeHVLRER3emhyN2FuWGIwZDE3MEZjTG9KeGMtdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Dwgh7AttRnkc_aMN2cBBhR1WBY3igsohT3HMffUYB0tlQI5jYP5kXEvRX-YbjhuGSS7jlJwRyhBKEmNfcDzVPbX0-FKAj5cwI8R2B3lwi4BUkWk0BbhS6WdjO4qK7ky12ob_-4BqKwgMz5Q1qm5Si4T3WpS0PODODpjg_Czgd4kBF3lwwAnD44iPx0xj1nQeUkA9E92_SxCmbwzVGESMYKkoIU051QEbu_dabBT450MSWAfbd-azadVTztaol4tvfv75dBLsT6c6LoguyVUgIpDWfcJx4m2i1rglDvtuNwIXmo1u6G86BXQBBxFFKixkxoMTD6BzsjqoQmdLrjR5OA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=N2FiYTQyY2EtMzBmYi00OWEwLTg1NTQtMGY3ZmU5YjJmMDRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1052" it="0" lt="1047" ct="2" ts="1587564569714" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-26" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGJmNTJmMDAtMWNjMy00MTY4LWJkZTctYzVkZjhmMGU4YmVm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxNC1OaFREYWREc2hqbC1tNmY0cC1DRUFzSGtXYkR6RjFpZiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WOuBT6ySUVeeSUN4cjhmiKMqh-tiGi5GeGeLAcQNFO11if9cCvuRuVUx-YyF4cg3MfDz9lchc9B8cGQ4xo8kNlI-j6jhHfVo8hzAzWwADPrX3k6lvuXvHCGxmnkk4gIba88s2AgtfeU7o99KhQeVjbLuc0NPOGAUSLwEhILFATXmcfMe8Qjb19XS-eG3H8yOC0johH7ouD00Iz0Vj6L3XcPUCDGHO8UCI4pCKzvVH8OVgtBtG9UNC63XjkyD5lJt1rle88us079hpXUFpeVVU5nrTXgfnOlYrz7CXkU7j6NolAqWQzEF3c4-QDb-jjTrtCWjOV5PE7Wn77EE-kTqrQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NzBjMDNhMTEtNWYwOC00MDIxLThjODctODA5OTVmYzM1MzEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1039" it="0" lt="1031" ct="2" ts="1587564569727" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-8" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWFiNmRlZjMtZmY4YS00YzI3LTk4MjQtNDE0NDhkYzhhNGY2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5Ni1WT3FrTG1ScDdGMnhWeFBnRlNNdXU0eHppbW8wYnF4aiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.fNm81joHZclt63CM2h0ptNvCsY0PbWZtW2KFoYfyB8V4uLlM60A8G1G_x-q9ThAUT5eHsUIqo0xYfT5HGIXbgEPaJq5xIBoA_bYvDtkb3wYAkVsqhKNxQPKH-lC9wAmWcn_JKlkJB3QQfQxffCi7rFTyf4FIVCTTjTwI4sXKEcpg2I0Xdgl14CPl73Yv2C_L8K7J1ot-Jz5XyQ1w4oCGWjhHdGIzojLIRyqW1fwqo9g18_A5hPHRNrGWaOpulSPI6VNY1zFceBmVakwXBSPHDaTIeRtZNcvZIghWBXGsa6OzlgoDMCVZXdB75XVzIozo99OyeFlY-LaL-scc0twKUg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Mzg3OTJkNTAtOTJjNy00ZWZmLTlkYmYtYTYxNDdjZmY0OTg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1041" it="0" lt="1036" ct="5" ts="1587564569722" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-40" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDExODc5MmYtM2RmMy00MzM2LWEzZmYtN2Q0N2UyNzI5YWQ1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwNC1PZE5HZTNUUjlEcFBmWjRScG42aXZ5dUplV0ttOFRNdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RxCy7ptzBwx4zFZHiC4KGlzHBQd9mScI5hs8_MeJW7WhRnb2___LV7shXNlGdYeI5fPatzsYjIUL5ez4CR8y9yDc5Sa2k1Kf-2uZNX0M3rBd3ixfMW1KACtRmjeN8r5JAlPA5xzLmk4crMdHnbL8dV-NE9KcDGNjh3tyQ2FuIwPDDj-AdWhcwRHYxgAOjRftbEFmk3U1f8u77i30RI_1-Gdf4pybpgvqq73VrRHcXzrOtd_YHExHbVYbJ3iFZJfTyUJeouTyyv9V9t-wriMv3wyiQ6JGHoT0LDX8DP6yHwPgsOPDBZik-8mjiitM4SQpceYPM3jz8kbRPesjwGuwLA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NjU0OTQyZTItMmE4OS00MTA2LWJkNjctYjEyM2FjM2M2ZjZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1047" it="0" lt="1042" ct="4" ts="1587564569719" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-19" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTdjOWFlNWEtZjA1ZS00MWU0LWEwZDQtMmUxMzA5YWQxZTg2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4NS1YTG1MbUJaSDEtRTQ1QUFhSy1RRFpXeHI4Ymo5NnhVcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Omdk7w5vKkcZaPRsD2BdwG6LA-qbEI7z5Tr1pCUatlZma8gdHFlnOkK2syo9BWRNhdOhP71vpydKQoT6VzAlMVRfJy_s6jG5rqS9rGG5daS5uFcXkLsqrkqUYzm8RYFOAwH0SwMvmfPzdii291_qpg_bkIlS2HoPpb_BM0mQhltDannlBOqI_nKH7QAE8G2qtYOomUJc_Lk4_-AzWaUCskXpdOyj4edaP7Vr3vjYEiSMpY9qnl0KlSBiPovRuAuc5BhsLVtm4BPZwKkMYJnCxzt5nY326eV8AL8RmBpH0AcfbiJlUKi5HTBub_6hWMTYirFdHxi4aE5Fl_0EdoOtwQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ODcwNjg0N2ItNGM5OS00ZDEyLTk3OWUtNjZhZjRjZTAwY2Zh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="725" it="0" lt="719" ct="0" ts="1587564570039" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-30" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGU4NGUxYWUtMjYxNy00Y2RiLThmNGQtNDViNDkxMWRkNDQ4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyNS1aMjJ5SnloQzMtRWRzdGVqSDNFNWxQUUhzRVVGQ2FNbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.R7LyRDxo_Rr0GAY_c3uMuDoJLuoC71dyayx9xfv3xcyPuoUbtcezSeU8uMrsZLme1kJ8HNF1uWrrZDrMJrkqSvkL4KyENq100t7RhsQb2feu2wmw8AO-65GwSAPT-NO6dxVmesz7-IwICnxiLd9lj18CAKNv3PPLCsH1iCbcDrGLson2DnAvYDgI5EWLCPZSClYPSgyftyRwxfXaNfOVgGT6yqynEHvAQVXfjCw1Jp5yX-4YN74jfanmKN3D4OnNr8qKkwJQQ1oiA7KzB3Hc45BrwjhB1yryJBSbNxCcoYk6-MoPlALR8dx4BrJSndp_veVpZh3zRWncSGyIaevAww
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YjkwNzdjZTYtOGI1MC00OWQzLWE3OGQtOTI1YmFiYzBlMzM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1057" it="0" lt="1052" ct="3" ts="1587564569710" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-4" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTNkYzUwZTYtMTJkZC00ZTYxLWIzMGYtZWY2MThhMTIwYWQy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3Mi1zSXhRLWdTbUppWmxDVUg0bDNnNlBpRWNqenU0aVRzbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sfxXkPXnpYwhoHfWQcrEIvFDIWOSUpJLVELXrZ2z7NpEgVsnKJmhjpWW28RyOC1uPW577pJt7Lo591kv-UDpeZsvboJH4Mw6ThouMhSLEj1Jg96huVDkQ1za13UbZsTpVG8zv4PaozB5EOhkFMCOhvd3MJkHQWYKPVLR7ORsqgtJO-Rp8EvsMtxC6fZvVHokfx5RuZfKwFUFv7n3Pnv-kLGsQanmTrlmCQIQbof8LSUH7xsKnyMlclK0oBmZbqrSTnLFN_R8brUfJX27iZc1BnJKYy0nah8bCk0zCovJMFX0wAj-hKqcWEttWQsXdZRsansNr5ekTfJ0uI5pCrjHrw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzY0N2IzZGEtOTg1Yy00ZTA4LWFiNjgtNTlhYTExM2ViODA5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1065" it="0" lt="1060" ct="10" ts="1587564569703" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjBmNWFmNDAtZTU0Mi00ZDcyLTg5MDItZjUxMTE3MTYyMmFm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1My0tSjVpTS03QXd4NHRpc3hoRllpaWZiM0RsY25FcTFFRSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.odxkcM8HrvYLHYFUm4gsMMCSobGX5lA4QtneWahKH7Z2z3o_FpT6Ux6V68-G1bRO6ZC4XBAjveHWecb0MsZfWNhr_o_LdGa6sOs_Y9u7cGyMziwh8ElrHBnyTIiSF8sW7bhGCJk-v1KcQzJrOgjZpJUbRuFV3nH9zvPFNxg-8Cj_dQPcZYdjy6EPWWKE4P8HYIO8m-8GZI_PQnBH5HEfI05-pDAyuMEZ3ngQYoSuXjgT_gDjIivRgKba9TpIBIi1y4q3dt5OhkDBwiUuRGLlxRh5tJ2dbfMAr3g0flTxCQeiO1j1LpI0OpoZ2JhSR1WUn1ttR2-7QmCW2pejOjLRDA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MjMxODI5MzctM2E1Yy00OTljLThjMjAtYTlhYzZhMTczZDk4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1058" it="0" lt="1057" ct="3" ts="1587564569710" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-64" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTU5MWUzMGEtZjA2Yy00MmU4LTk1MjYtMDkyZjQxNDZlODg0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2My1lWnRCaGEtY0x0MkV3MmEybU1LSG1XYnd2WkV4bnU0MCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oOFkwVmu2fTxRM_HRfYFgo0eluyF8QkneyZbPyuUPzfek6qZB4hQR2r04lj3uCZg-IUODLUnBKH9qemtRb4Sk3WuToHaORIeAyZLQ2tKWfExpOLNjSvm8xFz7h_bojSWxVLBzFSjL7IiVhecO0K47JQ0oH3GExCOLuaEtELc_YextlGdsmz6k0NqAp-gw0riG6nBcMFIv2-YY3a-VTv5TMnvn2ItYNA9ARyBylQPeHsc8yU_hzoHXa4MvBZcYXKKAgpOGRknzFyYhTmDPIM8LzaeXOEZrJNhxXdtQYTGKmAj6isQTfApyUk6CJ4XhXGLs1LS4kjskKHvJx5bxEgIsQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDRmMmY3ODgtNWNkMC00YjE2LTkzZmUtYzRlOGQ1YjdkNzFi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1064" it="0" lt="1060" ct="2" ts="1587564569704" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-88" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzgyZTFhNWUtM2VjMi00NTNjLWFjNzEtOTBiZjlkMmQ1MjYz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3MS1VeUtPdEJFbmJIWS1PMVdZdGdOQUNYNlBvbWpydHRnRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YPQSH1bC9BFs82HGET76jFmbzqkQnxfDV1yJ5qznAbraa8ZY4lmP3zZOcdEUaIRgzMPtoH_EhdcoTcEWhneQPea8SfDO6ly3zy-kj7ZuwCzpuLkSroNeFl3_zo-0sbqul2cwNeLyN4H1PF8uaMJ0FvhT270inPD00xxg4f89LD47fXvf6XG8UzCv0CK6aKQRyI6RPN3REaLQnD3pnPMCzbxqCLB4E7hbMdhrZiZ7ZBG0E_q2SdatMTPZ0wXNqlmSRuLBWO9AZcL3D5e5jQO_wI38NR5rqyCP7rtoAWAWWJGPSVtTlsirtcnBx_zh-2AA9oI8GAFcY93AlMUIOF4N0A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MmJkMDc0NzQtN2QzMy00NjE2LWExZTMtOWQ1OWYwNGNlNWVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1050" it="0" lt="1048" ct="2" ts="1587564569720" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-28" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGMwYTBjMGQtZTNkNS00ZTM3LTg2ZjEtMDdhNDRmMGQwYzEy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1OS1VR1QzSENrNDdNbTBra0ZpMU53ZGNkNFUycmd0MjRGLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.A2rO9wuVFVP5ko4sIQ0tyJip5gSywn-ZUNJfyfoOgLHC4qVY7bSb5J0DIGg9BxC4JlkPqdcW5ibURqfM_P8tGQEU1WHNhGFmfMx2ftCu53N9nP0T7a92dpjhUnw9vDC5lqoz2Ivrrkas2sGg11j-JjUDlpTtPmx6084T2gwIy9SBGDck-GGhBCbVoSoyoAsFfhXGh_LYJrCzFn7vGDIhQMXHsF07NFB529uuLPlRxsDBqKUDXMd-rOM1PEnP0hWhV9-1g13dIcMrDic7LyFxRcby961-QMG4Jjf3-YWGE9sY1a3PIDh-Y770tZgtVW6SvW_enXb4Z0D0AW0yYZzqIA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTE1YzM4NzYtZmMyYS00NmM1LThhYTItZGYyODU2ZWYwNjNk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1049" it="0" lt="1049" ct="1" ts="1587564569721" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-14" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTUzZTE1ZmYtYThmNS00ZDYyLTg4MzUtZDk5NzliMzc5NTdm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4OS1DT2xXQ0tGNk9icHhCVzlzUFFtWFNNams5WjZQbFd2eiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qG5n-WzDLl60VFtSUQ6bKuL6NBS08tfpa3CRCbTBYO1sHigEc756eHPoFOC2Vwbrmm0IGZfrUrOA6Srpvzamnw2J551NtZeaIS3IqXbWjYDIHCIbmJ-2a2NQ5zi6WPX_LxmLW7obfRXN338eFNy2javqGp6zwhn2vonh8W__GFhAXxDp7FMQpFyZRfShgGAAmVYwSDhnCSV1F8BR81RuG0EuS26Dy3A6GtoYGrXzVJbLlzHDN2qVH79DdIiA_3vYLn-thuZOZcaD9FcXvqSJmBnM4eZ1JAoQDFOkBx9sdxR9uWFVj1dF9Q3SkGaQrbe6U7BolVonqfUS8A3d8uIAwA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NThjNGE3OWQtMjg5YS00Y2QwLWI5ZTktNjQ5MjY3YTA5MzEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1066" it="0" lt="1065" ct="3" ts="1587564569705" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-82" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2Q5MmYzODMtMjkxZi00NWIyLTg0MGYtM2U0ZTI1ZjE2YTZl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3Ni1lVk1uQXd3am43VW5BVC1oZk53LTZHTzRsc3QzSTF0RyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.a3IWq_d60b6kKqV6ROS0MMX0TIopzxYWBQ6dYxHPpLMuDm95qrIdMyQ-PN-LVmV6V3omzDKFoEiZwBrxPcLPGm8s1BJZvnAZWMvSQ5FN2h_46uB4EDUIQlMMqNUN2aOfHaonUPCuTh9e0PrF4UFlsFqk9QOSVMP8cHFj35OP2GcqtDJhd4MzY_6S4EPfxr0ghc2bA3rtGjLmELHzsyKRvlQMqrUbHVIJKZCiV277LKRkXtbEeRRBERcjpAwbTPMpXIeevMlLOpTpums1kbE1kh4Xrp6i2YVfvip6phOnjL3Ye4dXrwq_IkVLSRk-3oUeYiWJ4ZRcjJBInoqbUlKs_Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWQwMTc1MjQtYjNlOC00OWFmLTkxZDQtNDA5Y2I0ZTE1OTBi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1058" it="0" lt="1057" ct="1" ts="1587564569714" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-58" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGY1MWU0MzEtMWU1MS00YjJhLTg0ZmMtMGY5NWM5NjhjMTNm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwNi1lYnBPN1RLVlRISUM0dHp6bGRCUnVYZE9hci1vbURLSiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qRqPJRNtIcS-ZzfzPbM06dxHnwRBJwTevKpIR0ZZRvS56t5pVYoyjhPJHsGdFUaB3Yl5bdjSS3fsXIhFeCXohvYg_jzYMZYlFrfxxYIL2tBQyzC9MVvV8yRXyS4WDIMp4fWCVR148caaL5sB2ubuKc_YTZHDqQgexlmMtck8JnlotSzoxAE_S32N0_NN1WwxfhOx1M5hAwiLcRK6Jqof1auEmFLyItEtWnMlWefdMFCmv86a0-jNsCyAgW874l7anSSBCiFdQ1Z3-2mcLybifOeZmKKRmIqwuxi6xLLApDIBcLop1rvG7AwMD14i6DfTg9HhMZ9kiEd8uQhm6prW0w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MzgyNjQ0N2EtZWI1MS00MzczLTk4YjMtYzQ5MTY1MWE4YjQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1059" it="0" lt="1057" ct="2" ts="1587564569713" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-79" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDk0Y2VkZGMtODY2MS00OTc0LTg1MWMtZGJmNzhmNTM2MzA0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2NC1BaGVzV3JFSUx6eTk3OUFFaFE5dU5wWGE0RGcySDN5aCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MMGPiW8NI08Db-jtBG8M4d1VScDD_LH5RLsyMGPjJq2c080szSYo5XGvI6nutIo_-IbdY8VUPzyy_SPzSjbz6hontE5n34_eFYeOPx_ERSx53_UINg7nhWRslL1xhwwdfhgr4BJ16Cc4vwJZmN41MNDJj26zlt2fGLB1HAabIzoZFewXnbc7dDkyvq4ukqsGq-v6TsGXXKLE85eOK0JRG6HNSC6crKaD-PsFS7KW8Zn9ZyIyi-e7Uz7s0zprWqjSjf9rttyiFMx070AeIyhbOomYgtrWkc6wgq6CczL82yrboeo6oJquAx_9sRR4G_yS5yLmE10YjzE2jiPLn8deiA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTBkNDhmN2QtOGU5ZC00ODk0LTlhNjUtYjdmZDgxOTJlOWFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1048" it="0" lt="1047" ct="3" ts="1587564569724" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-6" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGNhMzM0NmQtOWZjYS00OWIyLWI4MTQtNDM4M2JmMTE1MGQw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxMy1aaWxwSkpHdnJabC1OenZOOExjbC14LTdZNS01WWZIdiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SWCVt9mYc-5NEtDYoBmqv5HOnPL7chERWR7Q0qXsriooxqIF7oy55CRmRaX8P6ixgWHOVLWXSbmvSfuUKdmONW6cjww3kHgF8JUlCoL4R1YE0Ae3oIcEQHU0ie6sg0mpzq_uSQXXZjDMSAvDc88zQ9w1fCB3No9WwTE2PpRGdZtb230Cy2-dElE-Gm8HIRKG8MB915Ho8E2yjeVtwIAIJ8wzxygi6hCI_VBqtuh64EW4AhlXzgPWAXGPqxoYEy7auIaB__OBro3IIhHJQo_aVNXNEO7FGTCFUNJLbXKmiwtYvas7LauipYzndXVEDtSpZ3p8ezQbHAD6Pmnm4nnsGg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YTkxZTYyMTUtYmJlYy00M2FhLTljZjYtZTgwMmQ2ODM1NjU0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1065" it="0" lt="1064" ct="3" ts="1587564569707" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-52" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzNmMzEwNDktOGE5My00YzAyLWE3NTYtNmZmZDgyY2M0YjA4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU2MS02c1ItLWFxN1NtOU41NW9KMUo0TGktUm5rMkZHVlJNMSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Wt0KRwUsMrIcaTrHrNcABPx-dqE09yYxCCLQ3o7lNcw9_e3vejnWFhinJrPfe7G6fv9TawWmC9ffK4hxgdCh9wR13yOG1g0rs5oAV4JjtMnOtkAU0GqF223Dst2c7VHXYDPYizdHWs8aFz3xQ_7MNYYe4CMInJnyZocKQICGl200IVpqTcoNLzs-kanDjU-ed5OWdw2A7CWNaExkjQP_caRE2CnI4_THi5OEfUgcmC7Nig_ThHBhByuzWvmvJLddrnyliF_yZORzjP4Q6YyF4F43zfjmkV6mHrFr_4J-u1VahC_lttrKAdz6disaAE90ULEoBgiM7ytp4QFG76Y-FQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=M2E3MmJjYTItZTE3NC00ZDU2LWI1YmQtNzBkNmY4ZDc3ZTkw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1057" it="0" lt="1057" ct="1" ts="1587564569715" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-17" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTZjY2E0MmQtMDNmMC00MjExLWE1YTQtOTQwZTVjMTBkN2Ez; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU1Ni1yQmloVEFGTEVlLXFxV3NTcGRxc29DYkdZeHFweW1hVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oh-HEZJFD6LMnYPjiLcZBYV1gnCeYZDDZcqlvcRWLzBcZIcKZznB59OJCi5EulhVQFfymbbU8H805DI761EUIAtsu__0Q2FyhrRu-w1jlE4wTVi4GCXIDxnu7QFy1ZoLEkXdLxCSl01aB5dszEOds5jKzb5I9Vi4Bnx1FFEYkoMc2CvTPN31fCXBAM_BK_JtsdI0vRDRuDRCsg5K-zkiKqZYI1vv_KWKjLL3VIxBmFddIjqqksAidYiDt7ysehEMoJ7KEeY-67IMwtGHtexURhtaVLNm0WT-QDg4FgtbAnMdQ8TsexWVMVquAZr4k0eJ_CvfElaz8Y8laSzmYbTerQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGM4MzEzMDQtNGUzYS00OTk4LThiODctZTE3MjI3NzIyM2Q0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1069" it="0" lt="1067" ct="7" ts="1587564569704" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-41" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2RiOTk1ZjQtMDA5ZC00YjgwLWI5NTAtZmRiNWM3ZGY0NDgz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4OC1oNXdibUY1eHpLWktvWTBLaS0ydG4walUxWTdvRGZMMyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZtllKhz3DoRpbq9H542KN0PZaw9Jch8u4-__F6df9pipxmBvbwH0Mwzcw5057i34KUfEyfCLc_92ng__Hds-H9yMsXCoJyG1ADFt-TWFPfXelLuJ21BxFrYmeWzloIYywgukrYqGAPK7Jl-S7I_nKetG1FP9-orqWI7s6Z9b51HjbcNE7aAt8RZbFRaZA5Q7AaquIWDMlf1S5oTw1xvt2QcIG0tN6PAWeHb1icBO88ngFh6Yximhn2y4DI0cwqhkAgsd8_FicilTQlHCXJG0wuSWaHosRDZjL-avCMlBDOaODRkM_LDeA9TNWq1w41f596L-wXC15vWu2IEVIFmycw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NzRlMWM2MDQtOGExZi00MTM0LThjMzgtOWEwYThjMDk3YjA0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1044" it="0" lt="1044" ct="1" ts="1587564569729" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-37" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmIzOWY4NmUtNWQ5Yi00NGU2LTk3OTktYzM0MmVlNGFkYzY1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwMC1WM3hMTTlQS1NQNTVjc1FHbzRlOTR2cHFqOGpZRE5kWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RUVVghlnwwe5rfFqKUaC9eihXh9jlyWDwyBeIhsNQH7_L0FQuDyn1mwdJqm5qNwPX6ztrpCplfLUbz31FvHS39PtOZH_QY63kTzk1_5SQJ12j0k6kFdvOI_MaxNvZlAAleGutnIiAFs5gZtfm_sRM32ZtrujXuu3atoS_x1smVSHdrNaaOZ-C2amLAORxm-9fPX8phz0h0v_hFR8OoUrz9j5WXtbPy8KCBbainq6I6hv_EPAKvqXgwKDhmBJU37bF_qOPoZMS_p-SBrktgRkn4kgQEr8sWyfEn4exM8WEVFOEeP9fqUxnXlk4MAB0mM62Trnja5-Tc1wWZ6FeJ4F5A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGViMmZhNzUtMTgyZS00NGFkLWI5MjMtYzFjODI5ZjRlZWFk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1065" it="0" lt="1063" ct="5" ts="1587564569708" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-66" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGI0ZjJjMGQtMDRmMy00NmIxLTkzNjYtZWIzMGE0ZTA4ZDQ5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU1OSwianRpIjoiSUQtVG9rZW4tMTU1MC1NNUJTMXpuV2w0WGZBd1MxRU54dUNrQ2RtcS01R2NVcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PXRy81BCq0D6eboKF7an0x_uvwZQ3YSsabyW55GUAR5akRuZVI2ka-55_3b0FBvWkEvku3hb0pe-NFKNKggle1oWQBxfW5LauKOgmMlgnTqlklvCWUWl2oseG8XHB-tAXROE5PGXdalUqHZkwf1ruDCJlChqD3UiSkoiGuZgHuub85m9o1BWOE9FTbSD6ypoW2NzLCA50srtu2W8u01W7WXuSUBLnk_YIwpG6V-uf9cE6Ck0kQQYMTNN1lBYDvIAcqttisKmqC7pMnMwUkNWcIwjXsbughelgYlQOnk877wkTVDJ6T35h4Cpuu1HnGyXintGw-w7KwyySA2-gXi7tA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTkyZWZlNDItMzVkZS00OGU0LWEwNzEtMGU3NDNhZjU1MDYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1050" it="0" lt="1047" ct="3" ts="1587564569724" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-67" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTAwYTcwZGEtOWJjNS00OTc5LWIxNmEtZjNhNjFlZTlkOTE0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYwOS0yeE1nSmJ4RFNTVk9ETUNwLWNwVFpScXoyeU9wVHBFcSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TD7GGSF2a2WVIpU-0ZZafoIh9zsL_h8SNU6vOlHdKE5UJyFNJrlWa3gwf8tMdNhjGAQLfjNSXZkQ6joLQJadzHEpBfNlfsEYeP4Kf9K6YvzkiuCTnZCY658wiPbH_MWrZTzWhHsWp9lj_Wbk8ihpq4zY_ohKX-aV0yDzRkzgTdBw0nj5MRPXsad9M7xCvQAysIWGgvTnSQChYZJ6lJicSJGQNEl1yEli9rQ9vn7rjtVu7GOQnSkRXafVQsK7wVXF2isEFZlR4DKD_IWL76GIukPqLaLEUxLwiSJ4tqUfM3nKrXasL46QvkBiUrj-NWzulRbaRWlV1RBnPrLJdSqC1w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MzA0OWY3M2ItYzljMi00ZWVhLWEzOWMtZTVjMDRhOTcyNzdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1064" it="0" lt="1062" ct="3" ts="1587564569710" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-24" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGZmM2ExYjgtY2U4Yy00ZWIyLTlkZjctZTM4MjhiMGM3NmQy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTYwNS1Sd2E3Qkt0b05zYXQxajY0MFloaVNkMWY3cURaVUtETyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.DlM-71lBcRo68Y5mo6wnSXshv65ma-ZYIKBv2uCOPDcOrAGxUz7ceiTXLW1i1rgJRJuqTHSsSvEWJpGfNxKupmp9YYh8Butl8xGzSV64AJJzu9_xguyyWJv5JQeOFQnb1_G8RSi6lvdiw3fOjh6u_dUG8c8fzKQKTKBc9MqpPOevRi1_26jgGHHO3REiXgUNiFMkj6DglT5Yw4Uf4nxJfxAth5pg_GS9x6oB4XloeawWzo8j-cty-uAW5n7Fu38Bj_0lJdqhpSY4mVAq39JWDd_klxAKrbPsvZ5W59N1buEGZ28DBDIZ9hvzQ3RSxIPYbsR54DtKg03EDTNxsvKHMg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTNiMTEyYTktNzQ4ZS00M2UyLWE2NDktZjI4MWQ1ZDMxMDQ2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1065" it="0" lt="1062" ct="4" ts="1587564569709" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-84" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmJkNGU2YWEtY2UwZS00MTE4LWE0YzctODE5MGI1OWNlNWVm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU3OC1uZlg3cmhnWFA4bXBRT1hHUEpZTGFtd0pGbmlXbXkxQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NAD4qOR7G0C6jYihLPAYVpkoWgzLnmnviRv8UoMe3ftPhYj7YKQf9006OCUGjHX4qUJ1ws6uP56TzcPQz-UsoYC2-yQqvoWZv1tQiy0-uyfp30nuLeTtA3wxCRNJcN0PVob99KB4VIvBmrbQtE54pxXcdyTTaGVwGntgq-no6ypuV4O6XJrso05Cx6BrkjIzoDCU7BiAbRqPqokldhWOPnhljGWG8B4EchxtT89c9cbU1bHxekVSCAH_eid9iUejVLJR8Kw_l9CsP8R7-na1AAH7aA1ESENLb6qtEPGcGBaIFHEDt_1KsNw16EeH4JRglxPg_YpsCPn8W9-gTQtpCQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTY0ZmY1NTgtZTM5YS00MTFjLTg1OTctMDU3YTk4MDJhZDM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1076" it="0" lt="1074" ct="1" ts="1587564569698" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-7" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzI5ODExNjgtNWQxZi00NWIzLTgyNmUtOGM4NDVlYmU4N2Vi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU4NC1FUnhva05mV2psMHFSck5BWlRheHNZdDRmRDNNbGs1diIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UV_-_Zozu_dl0Npp6_TUbWDpYV9fVYxJDwedsjWEF0XiOakAmCT5wsiPoHizPjdIZIEOhXasH85sFsZi8k5JQcC8ZpWlZxEDm5scvZXgENLhF5baMhsl7wVgbrVQC_DMJJ7OfE-qYpCpg27418hlvg-jYJ6hbWEteT_WJmUlEHiB6P7dUt6sC1ew4C6F7ohx7SRdwulvnLguiIKl0nGlkHBp--vASDdWbB9O9FJZFKYuBrgjU7x43RnJbgIz7-LMtYMGIYO6gtw7br0jN-9Z8teKVmLb3xM76az5404L0fTMCUBG60LQrjo1V7z6SLO0lhupFLw9evJLqHVCzLPEOw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTRkNWVhZDYtNzk5Ny00YjE2LTk4OTEtNWFhMTkwN2NmNTI3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1072" it="0" lt="1069" ct="10" ts="1587564569702" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-32" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTc5YzYwNzMtNDVhNS00ZGI1LTg2YjItODhjZTdkZWY1YzRi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MiwianRpIjoiSUQtVG9rZW4tMTYxNi1YQ1FXa1NLS2NzRjEtc1BYSzFsazY1SjAyZkItM2VULSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.o98024l-kdnI-5eO0dS8jnq8lspPEPqKSl_32W5yK3BIlcM2zMKUsdjZL7X6axXS5-TkXz9N8DHaBasL5xniqII4wXQaDG4c1xD-UnxJb6OmlGLMyKpJm_rIT32Zjj8ZEZJzZtpEYyevm9t4iq1D4t0FX0YMktQfWQxiJ0IXxOQvPDoGvtX7m0isK3Ndj_So3yrGRde50Iuo1hqmLhisTqdIrHuR0l_SxYjbQ5RHN843K7-9NQNPmJBeL-cYsuqToOukXnZNSuSLKRJBolY8fVkB5dgM2_gYnQNRdHTPn6DLtDCiGS5Uhw4SLQh_pSerdkezh87_HV64gT_VC71P4w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ODg0OTBiNGUtNmU4OS00NGNhLTkyMTYtMzY0MjNkYzExMWIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1054" it="0" lt="1050" ct="2" ts="1587564569721" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-83" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGFhMjM5ODEtNDE5MC00OTZjLWI5OTYtNDBmMTgwNzgxZDE1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5OS15RUZJNmZSNHJHZmtMaUgzWU9ZUUl2bHUzSTVJa1YtbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ThB-6vOFZuvRifnLweCEl6MJpBLDtKe1HXXhaPx-Y4BlZLLcWipC8SLIHY4A4XJv8IFhqLQBRWPLiPrL4-lPQHZXyh8KmDgux1YIDZJPBfbDsVCzpmpDEBoW3bvqNjzE3oykYleHSUJb4ekylqrvUaGHZHLZfFzNztn1ubQTTJQeBpD-lvukP8LUc5kE_wcKNn3DxO3ZCoPZCZ41LSV2bj7vdbqDAMnqCQGi_p1thqdc9AtOuTjD6EjS74joGmbv876G-68rHcEe9C1-LmOxH22PZomM-trl2sSBh0VY-h-YmbW5L4qPy6dX7WTUGYYV0YuMBN7QzEZ7Q2s62b57Qg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NzY4MmQ2YzgtYTA4OS00Nzc5LTlhMjEtZDI3NWQ3MjUyYTg2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1079" it="0" lt="1076" ct="1" ts="1587564569696" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-35" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWVmODFiODgtMTY4Yi00NmIxLTkwODMtYjgzNWRiOGU2Yzg5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2MCwianRpIjoiSUQtVG9rZW4tMTU5NS0tYnF6RXhJQ2Nqem1nVGZRQmQ4ek9OWURnWlc1RFJuZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ds-ESFCX_PptUw8H38bBrFqfxmL2GrC4xL0hhWGRaKNnQkKaKwkacsAKMI6sT9ZatHBFcD1kdAiRqsgoWxvzMJ9esb7AuJJ5DS0wA1Ri3W_fi4FMBKjav-TxwJxDcxj-2JWTqgL0zSoYylHYFCUSRnmhj1n9Cn5OBk_9Lwii9cNbyMAdrksuSu3zfzK1lCYkBNmY9ImoATg0_TLRZtg_Y7nRW96lfEnYtd_sHWtJh3ncRm_mLId0SIf6QLFQQ09Y2Dt3gsut1Lz6y1lV--xIEjBxl6_Mx_cNadRt93jIdG02puVCs2MvweU2lXU413rzpTZHe7VN-wVCI-bHKKag4Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzExYjQxODYtMWY1Yy00NDQ4LWIyY2QtMjVhNWM4MjQ0NTMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1066" it="0" lt="1061" ct="4" ts="1587564569709" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-18" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDRiNWI3NDAtMjVjMC00YWYxLTgyOGMtZmZlODA0ZWMyYzFj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NCwianRpIjoiSUQtVG9rZW4tMTYxOC1xUy1ndTRkQS1ib2w3dVFCcDNDNHN2RVBxZFVTeTFqWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gzBl2xbHR_swzX1W5H43UqY7kwRx6HAAJD807VhHb7JPRYi06UJrIVyZkPGLkN4hbBF2_TGQ4776JiEcsbKoxzOhIelsRtRWOsDyyQCcfG6YybkR9iKX0xzRvydvHinFslb60M1X51E1muGHnU1wZVXYpjt__zvykF3PJPXEqJMmz6vbx4CxEtbsyNiZtqwZmsTRLan1GJqxsgv9X8OwALot4uS9FyPU8rDUzDqga2GE_9dDtVIH14H-_byFJNXOWQgwJWX3I44gEfVUpeNfSBHyv88-L7Rzvp3lXbQA8t2zjmsqfYzTdqvqUdj7c54OGl0lc_fj8Ahuhq4t8SdxSg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YmI1MjEyMTMtNTdkYy00ZWE2LTkyMzctOWFhMzI2YWNjOWUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="991" it="0" lt="717" ct="3" ts="1587564570041" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-97" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=bc287e33-97a1-4548-8fd6-0a2f25ed142f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1000" it="0" lt="718" ct="4" ts="1587564570036" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-87" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=bb8042dd-abcc-480b-995c-e9e458869cd9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="994" it="0" lt="711" ct="3" ts="1587564570040" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-94" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d5ece13e-4054-49b9-a967-e02085f08e79; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1000" it="0" lt="714" ct="7" ts="1587564570036" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-62" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=713352ad-5bdd-4d38-8e5e-5910224da58c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1008" it="0" lt="704" ct="3" ts="1587564570037" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-2" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=bbb085ff-e143-44e1-a741-c02f1b592ff2; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1011" it="0" lt="724" ct="6" ts="1587564570037" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-49" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=309c11da-3bb4-40c3-a11b-30e340fc8d76; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1013" it="0" lt="711" ct="0" ts="1587564570041" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-73" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=af941982-1e82-4059-ba18-eea8d1f4f6ab; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1003" it="0" lt="738" ct="7" ts="1587564570036" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-60" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e4526ebb-c248-4b1d-87cf-368b8c1b8503; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="995" it="0" lt="702" ct="2" ts="1587564570043" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-12" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7e769078-a8f8-47c5-bcea-52f8a8066791; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1001" it="0" lt="697" ct="3" ts="1587564570040" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-99" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=de31a30d-48b8-481d-b4ae-210272d40951; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="999" it="0" lt="698" ct="1" ts="1587564570042" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-51" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=57c1e7f5-58c3-402f-b2a4-2b9610703a23; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="299" it="0" lt="295" ct="0" ts="1587564570760" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGE3NDQ2OTMtOTA0ZC00ZDM4LWE1MDUtNWI3ZGRjNTNlNjg5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyMy1vNUxiei1rZTF6b1FTcllBeEdDSzRlaWsxNGFSbFQtbiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ta3AHGd2ycxxL7n54ltcRbV05QDr4vcAeFY5ZecThzEUKE046v23XIeVj8xPGiITr6O9qr_6Zdy4qokR01l5EkEqjkcsmzNXGGyhRL_INK8280KuU6smSJu19fgcTvSonz_ybRHhcRvR8DQdLyO38UMu3YDYAARI-0MjXfGyvKKxquZE_1dc6yVBK1odI-BYnQm2hLuhASK3Hzog8iNnj0P235-qkFeTX5jVe38yOyK6H5bLebuELKOJ3TvuM_NEVxf54cIYd7AFYgCrq9XNqMRJ0U1E6P0jIty6ejJJ2A2xEqgGolLsgQKvMo97yk6fcoMXfOpOLbeG1EG4uuzmQg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MTFiMzhiN2ItNDhlZi00NjkwLTlmNmItYjlkZmU5NmVmMjFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="285" it="0" lt="285" ct="0" ts="1587564570772" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDc4MGQ3ODYtNzRjNy00MDI5LWEyODUtZmZlMjBkOWZhODg4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="282" it="0" lt="282" ct="0" ts="1587564570775" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjdiY2ZkYjktMWFlOC00MWIzLWI0ZWUtYjk1NTRmMTg4YWNl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="282" it="0" lt="282" ct="0" ts="1587564570775" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTVhYjNiOTgtZGMwYi00OGY3LWFkOGYtN2YxZjY2NWQ0NTgx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="283" it="0" lt="283" ct="0" ts="1587564570774" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWJkMmZhNTEtZGEwZC00Zjk4LWFlZTQtNzA2OWUzMjk4Zjkx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="285" it="0" lt="285" ct="0" ts="1587564570772" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmVkODJlYzAtNGFmNS00Njg5LWEwMmEtMTI0MzUwZDBjODc3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="284" it="0" lt="284" ct="0" ts="1587564570773" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjIwZWY5ZDQtMTYxNi00ZmYzLTk5NzctYmZmMjFmNzQwMTkx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="284" it="0" lt="284" ct="0" ts="1587564570773" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWVmMmNhMzMtYTVjOC00YTljLWE1NTAtNDE0MDU3MTYwMzU3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="284" it="0" lt="284" ct="0" ts="1587564570773" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTRiMWM0ODMtOTYzZS00ZWVkLTg4ZjAtZTM5OWI1ZDc4ZTk3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="283" it="0" lt="283" ct="0" ts="1587564570774" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2JmZDU4MTMtNGIxNS00OTAwLTljZTUtY2Y3ZGE3YWI0N2Iz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="282" it="0" lt="282" ct="0" ts="1587564570775" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2MyNzJmNTEtZGY5Yi00ODE5LTk5NzEtNDg3ZDRjNjhkOTA5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="292" it="0" lt="288" ct="0" ts="1587564570763" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-45" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGVhMjcxY2YtY2IyZS00ODQxLTliZjEtOTY0YTc5ZWU3NTRm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NiwianRpIjoiSUQtVG9rZW4tMTYyMC1nOWlZTVE4UXZ0WWstdTVMdENkRmVLaDJZMThTTHpEZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FOaMBLt4IMzhpqrsAoDz28Rdx7QRCFjFWlFR5i1iAT0Yc58ZXiELaeKFMQEEgXw1VNE47RSnEZ45Zw9OB1SLh35NpzEwqvU45Fu3KX7n4brfJ8JJ5n52R2kgy-osiPJsD0IQh7-F6DwAPMDVIAdcVWyXdt6Sls9JQVXg2pjWYvtOqlTD3LvkYcGjo9V07fEETpFEv7ulOgblCw3oYV7ZLx7uGNcchBm5zf7rJE5uAH1hDCX4Ioe2_8yYKA8xAeUToZIZP94GgyHots9w2XC0VEwWQFTTef0f6UoZ-S4nxwNKFJDFfTLv_iTYb1puUglnCiKgIWsyfEwXA9kBa-GBNQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDM4ZjQ3ZmItMWRjMC00MTE4LTkzYmQtZmJhMTkzMDczY2I1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="291" it="0" lt="291" ct="0" ts="1587564570764" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Mzk4OGQ2YjEtMzk2Yi00MzNkLTgwYjQtMmU4ZWM0N2Q3NGRl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyNi1MSTdTUU5tZjl0R1NjZlhWOC11UU8tcnBNdVpHMVpCYyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sQFlBI4l5bTMBsC3XykTwdo8o0vbaNVPKmukCYwxhdFTVzAFr-Ig1sb72rcS3CWNOGpomlDg2yY3xM91HqJ8lWE9QKh-xXEq468C1fpVMU5U5XxN36hPTMXXwK-5GZHZB_OJ-9x2G_WsZ7ruliDDt8fSqWBJNx6Nqu9giZpAKf65NQk7g3CBaB0EWl2RtRDtSHUpD2pmLarDqvZRZfFZnAFdSyxZV9GAnqh0ov35ORHgLfjrAW-QC30UD1nuVQSqDEcuqQuJThOYodEjgXHwoS-MgtKalsz5TkOTZyA5T6VEpUNWuSFoT2lK25vLoaye5WIZM2yHbC6RzCD5olr5lQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=M2RlODZlNzUtYmNjOC00NGE1LWE5NGUtMmQzZjVhNTczYjUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="303" it="0" lt="303" ct="2" ts="1587564570752" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-29" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzYxY2FmODQtOGE5NS00NjNjLThlODMtMDE5NzM3NTg4MWRh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NiwianRpIjoiSUQtVG9rZW4tMTYxOS1WN05nSHdLVGxNQTA4eXpvcnkxZzV0MlVKLW1GYVE5MyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IE1ftpEMqSQp3gEd2gr4tJRrMg3UeiyWeP1C8-M1HwUMRryiF7_A_jnOoZq0fvIldsSUPSdWkSPmwNxkvY7vT8LkWGTYb77kEYw-729lOr8p7CQfar9nsMBEnkK52WsIPGbvgpTPxGb9Rzf7a2HVOsFZFqG-DBGKnPV3xGcfGrQj0uHG0Gop_5B42s7Ckm20UvZOU3h8Hodry73s22azJbJgFJVox83c_ac-ep3w6xOuezmFPgbUOZAPrv9CfO56Af61hYKsvBVj4th0CHna20YWmKZ6dnGWUSFRDgjNqWDMAKA4DhL_S2EjRgEhZTvQqpUviqjlYtuSDC4kHUCMog
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDYyMzM0NzctMzhmNC00NmY4LThkNWQtZWQ1NDRiMDEzOTRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="294" it="0" lt="294" ct="0" ts="1587564570761" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-21" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzU1N2FiNmMtYjlhMC00YjQ1LWEzYzYtMjQwNzAwMDU3YWM3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyNC12YnBRdXFxbENBMmwxdnExWFFITWxjOS0tNnhUVzcxZyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PaK_AcsmXJpT8y8iY1qGFxNKqG1wuCdA0rUq_HuS_1eu7sZFkLDQa49l_Fsyke8Li2iyDr9nExMO1C3BzrkDwQ2z_n19ajIrIBzFSiNoqDSzR5OL_WzCMH_oLSdk3KLbOrHnQgGI2TMVC3M6GZUs0l7BsX7cQb6LW8LhNL4KPb2q_LFcBpYVy_hkgwVYKcr8pz037JweY7fkgrO_ID2AZo8qDLQTyQoktBZPnYmmTWrhzk5RG89RvcV6iJKq2Fjdpt-1WkD2cpRvP3ZYsJrEqtBpSsGyXqWQGfyBUdE9GMBUuDKvflN6BmsBdv9ES53XGxRe9TOfy0_9ToyasoZQOQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NzFjMWMxZTMtZjUyMi00NGFhLTljMmItNDk1ZmFlYmQwYjE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="293" it="0" lt="293" ct="0" ts="1587564570762" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2Q3MzllMTQtZDVlNi00ZTMwLWI4NmItNTNkNGI1OTdmOTBh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="292" it="0" lt="292" ct="0" ts="1587564570763" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-1" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGNkMzEzMmYtY2VhZC00OThiLTljNDAtNTY5NjIwODIyMmRi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYzMC1Gd0QxQU5hZ2d3VXByc0UzMDJzQTdHRHI4andKSU5UViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aCn2IvwwtxJecmdLzMB28BI8VWXMN-SJIg8FW2g2uPIl9cLV1YUEKhP_yNdF5-GGWIz78vJhRo3JkOPvJopRDsAJcXj7zmP6rPn8xZeFNBteg-w5LQRKyR1GLSRV6qU98BVjWoMbwp2Mfuwtb-ZEm6Cb3ezy4Ve5j2XwXlFJPbqPDLDlw5aJTHjTQI4UcLN9c1ZydGZ2jIiCRg0Id1buNe-VBJuO9PR1T_66M-8HcakeXA_8IHme8FTDuYA-bB6sNOQYFtvNeEyiNswhSt65FUztUzr8Svg2JMNX2KX-Y1T2uOKcbQzgV0VBRV7R2_U0TOP26EXZ3iq4bU50s4o7qw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=N2ZmY2FmYzMtOTU5My00YjMwLTk3NTItZDdjYjk1NTVlZTMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="315" it="0" lt="315" ct="2" ts="1587564570740" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjViY2M0MzUtNjkyOS00OGFjLWE2ZjMtZmRjOTI0NGY3YTk2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="304" it="0" lt="304" ct="1" ts="1587564570751" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzllODliMDEtMWI3Yy00YTIzLThjMzgtZmNkMjM5ZjRhNWNh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="296" it="0" lt="296" ct="0" ts="1587564570758" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjBjZTU2MDctMmUyMi00YjhhLTgyNDEtMWQ5MGVhZGFhMDk2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="295" it="0" lt="295" ct="0" ts="1587564570759" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmY0YWRkZGUtYjNjYy00ODU4LTg5OTMtNTE0MDNkMjFiMzdi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="281" it="0" lt="281" ct="0" ts="1587564570773" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTgwNjE4NzMtZDA1My00NjY3LWI1MDQtZjNiNDI1NWY5ZjA3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="289" it="0" lt="289" ct="0" ts="1587564570765" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTYwMDVlZWEtMmE2NS00MjUwLTgwOTUtZjE5YjlhNTg1ZTdm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="286" it="0" lt="286" ct="0" ts="1587564570768" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGE4NmNlZTYtNGU1NS00ZmM2LTk4ZTYtZjA4MDU0ZDYyZDEz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="279" it="0" lt="279" ct="0" ts="1587564570775" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWViZmNlYjctNjZlYS00MjhiLThlZjMtOWU2ODYwZjdjNzg1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="291" it="0" lt="291" ct="0" ts="1587564570763" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDhmNzFjMzgtZGNjNi00MDMxLThhNjctZGNlZWVjNDIyNTQ3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="285" it="0" lt="285" ct="0" ts="1587564570769" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTgwYmJiNGEtOGExNS00MWJiLWI5YTItMDEzNTYxOTE0OGZj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="288" it="0" lt="288" ct="0" ts="1587564570766" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTA1OTdmOWQtYjI5Ny00N2RmLTgxMTQtMzFkNDIxMWRiYTQ4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="299" it="0" lt="299" ct="0" ts="1587564570755" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTJmZmYyOWYtZThmZi00MjliLTlkOTYtNDU5NDU3OGU4YTQz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="279" it="0" lt="279" ct="0" ts="1587564570775" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzFhOGFhZWEtMmFjNy00ZTVmLWE2NmQtNjY0YTczYWJiMmYz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="295" it="0" lt="295" ct="0" ts="1587564570759" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2U3NmY3MzQtNmQ3Ni00MzAzLTlhYTEtZWJkNmI1ZjczMThk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="282" it="0" lt="282" ct="0" ts="1587564570772" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDM3MGNkNzEtYzkxNS00YmZlLWI5YmYtNDM3M2EwMTYwZDg3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="281" it="0" lt="281" ct="0" ts="1587564570773" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDY4YTgzYzctMzliNS00MzE0LTkzY2UtMjI2MWZlYzhlOTVk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="283" it="0" lt="283" ct="0" ts="1587564570771" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGViOWJlYjMtMjg2Zi00OTQ3LWJkMjMtODI5YThjOTQ5NTIx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="279" it="0" lt="279" ct="0" ts="1587564570774" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTY5MDAxZTMtODExMy00ZjYzLTk4NzYtMzQ1ZWUzMjJiNWFj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="294" it="0" lt="294" ct="0" ts="1587564570759" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzdhODA5MGItMTc4Zi00Mzc0LTg4ZGQtOGI2NmQ5OGY2ZGRi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="287" it="0" lt="287" ct="0" ts="1587564570766" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2FkYWNjZWQtNWY4Zi00NThmLWI1ZDMtNDEwMTViY2Y0ODJj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="294" it="0" lt="294" ct="0" ts="1587564570759" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-39" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWJlNzAxNmItZGIyMy00Y2UzLWI3NTQtYjZkZjJiMzVhZDIx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYzMS1kOXFUeVktNzhNRWtaeUp5bGlsU0N4ZzAxWVpyR1o3NCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PC3D6ABFADv8pZn0ivsVlbVpd79rgV1PqUiJkRTFv9wW_y_S73deO1L0jRKuAGQHyk0trgpnLtkCfuzsMR39lWteu9fe8PUj5QsJfGAbk_YF8b0SHXWCSnV1nDbs_YOQvKy1hTxtqv72EMU8g6yJ4LBUGrtuKSMQXwhsquryUngXPYVb4w8ec1ElEviSYO3OAt3pP1FmIxcglffGLbg9_MD3SOCPYBDKROl0IoXv3DxIIT2VnCDf2XNoB9K11gVlIadSLCu5NBD14wcLDsmuvVTUE4dKczRSOpKAGaTTnCPkZYAJCzmGESRbsGifX4ZxUZBPsvNm7xCR_7WmF9QY1w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OTljMzJiMTAtZDhkMC00NTAzLWI4YjQtOGViZWQ3NmZkY2Rk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="291" it="0" lt="291" ct="0" ts="1587564570762" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWM5ZTJlN2QtYmEzNC00MjViLTliNjAtMjg4Yjk1MDAyODIx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="283" it="0" lt="283" ct="0" ts="1587564570770" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWZjYmZhMDAtZjY5NS00ODlmLTlhOTctNjY5NmMyMTUxY2U4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="300" it="0" lt="300" ct="0" ts="1587564570753" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDQ1NThiYmYtMzExNS00MWM0LWJlZTItYzczMzlmOTYzYjk3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="282" it="0" lt="282" ct="0" ts="1587564570771" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTFhZTFmMjgtNmQwYS00ZTM0LWE4OGQtNWRlYWUyOGJlMTQ1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="287" it="0" lt="287" ct="0" ts="1587564570765" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-44" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjdlNjRiMDEtNjAzYS00MGNlLWJjYzYtMjRlMTA0NzI0ZDQz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyNy1BNUgzNWs5UWhWMkxhYUNuVjVHMUQtM29XRUtMOHJTLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UuesFaZ6L9qgwXJItKUs3FaqTCRNGtsBE5r9ZNYjCzoH7Orvkg0KjYssBplUZCDpnm0OH-UbjjA7LH0lsRRqi_JCy4PEPub_ynAbZQs3ZlRFhih0H8WWs4PpwQHkujPuW4TLhnsAflSCNjs_cu5MurAW6grjR_MGpd9T8siZI2tDXbV3EjMcAhTumWOHcdG1bW_yquLAdJHGoQXxcQ4jXgesxcznB5-I62Bmz3VUmTOiuvlF5p_KXkrBXeJRfXo1oWnuFPxyqcJP_A5r_XlFQeUakkNjaqOseCLGjSmcATIPRtTEunGWrD2GnFUz8ChRUWDXrFEX_gD9xe_89FsEFg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MmQ5ZGFlNDgtOWM5OS00ZThjLTg4MmEtOTZmMWNmYTg0NGRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="285" it="0" lt="285" ct="0" ts="1587564570767" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-30" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTYyY2FiMjMtMTgwNi00ODAwLWExOGMtNDk3MGE5ZmQzZWM0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyNS1aMjJ5SnloQzMtRWRzdGVqSDNFNWxQUUhzRVVGQ2FNbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.R7LyRDxo_Rr0GAY_c3uMuDoJLuoC71dyayx9xfv3xcyPuoUbtcezSeU8uMrsZLme1kJ8HNF1uWrrZDrMJrkqSvkL4KyENq100t7RhsQb2feu2wmw8AO-65GwSAPT-NO6dxVmesz7-IwICnxiLd9lj18CAKNv3PPLCsH1iCbcDrGLson2DnAvYDgI5EWLCPZSClYPSgyftyRwxfXaNfOVgGT6yqynEHvAQVXfjCw1Jp5yX-4YN74jfanmKN3D4OnNr8qKkwJQQ1oiA7KzB3Hc45BrwjhB1yryJBSbNxCcoYk6-MoPlALR8dx4BrJSndp_veVpZh3zRWncSGyIaevAww
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NGU4NGUxYWUtMjYxNy00Y2RiLThmNGQtNDViNDkxMWRkNDQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="290" it="0" lt="290" ct="0" ts="1587564570762" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-71" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmU3ODE5MTYtYjc3MC00NmM3LWE5ZjMtN2QzNWU2YmZhMmMx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NiwianRpIjoiSUQtVG9rZW4tMTYyMS01cnY5Yi10aDhsRkstMGE5TUMtbkNLU1pPd3BRQ0VYSSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pe2tgDvJfnR2V7ROqTy8HE9s74lCVOv9N8j1xyCHaUHytilYisaOJreFwnvy_yzj2mroTfoO1O0udY5f87lzQmWi3Vk05e7cwTda6ZEP0Fx2_GP6jpSiHDIoy3xQ-3P-MLk6V8D4-ucppmR7P6OdixLB8URiwjlGtNN3DHQgskC9yLfd7rGZEnygUb2OIcn9FcL20Iyfe7u1eBxXMCN8BoTVcplMVpUntagfMiqewPrnELORMS2ulaSmgnLswgxsRGg3mOZQoxDPlR_D8hul-_sXeo9RUlXp_RYizswmyMpdNmTLTfdN6qi7X35J_o5i9YMHDwHGSIHOV8yEoKy_qQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NDcxYmRhYWMtZDc5ZC00MDM4LThmYzAtOWRhM2U2NDcyZjdh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="288" it="0" lt="288" ct="0" ts="1587564570764" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-42" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTA2ZDg2MmEtZjk5OS00OTQyLWIwZmYtMTM2M2MyMmZiYjc2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NiwianRpIjoiSUQtVG9rZW4tMTYyMi1lb2tpcGc2N1RpWGlhNHJLeFdKTFNvZi1od3QtM3RtaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.C8dr51rqCpUsSKMSSZ6IlotvCe0Xfsk8PQnWuhZEQjI_nFbZC6cnZM8FOjKFjG1t3MJfPDsGC7IUiPam-vP6R74xh3odiM7yP_hTlp84stmViFKzI0o2H3UzRT2klFDcs9cxnaWsKPSf9C_OsCRoZzWyhQWxkBTq4YnTtjkFsT9ZGfHeoXi3qY9XE_tqi4fGigHw2ptzQdOWZi5GpdtgKA-myeQ2p9-uZaT9kZVNhYDkd1YBVn-QPknJKWP8KNrVf5KmruD5bZ6KX0sRXLeClyc86oR_EJt2BvlaropVtGiRkAkzZgoA7DyCrB7iaaUo8q1uZFHYM6XotGsQU_6hZQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MWI2MDMxZTUtYzA5Yi00NGNiLTkzMzgtNDgxZjE5MjJjNGRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="298" it="0" lt="298" ct="0" ts="1587564570754" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-5" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2YwYTViM2EtYmQ3Zi00YzkwLWFmNzctMDFlZTRkNTkwODVi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyOC1qbUllclVmMjhwNDJuMnJoUzNaZXZicWhJanctVks0SSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sCwOdNf9vGQgkzR2J1W7wJEq1GipZrobRStTY_S_YqIWebx845Aj4dYxWIWO1j6G4FmxvEOn9yyYkRb8u1U0g_gABRPrrQs--heHBlR973DuQ7mivOf6ONTRjuW8glJ8xwh8jEN84wZhrpKbz0kHqkRqvwJMujW2UXEDn5vogs6LQbQ922L-pakzbsSUiE1mY1AbAnqfMBCPfatjqdISuG1NI5p41XhlMSz7gJjkpouTTWKZ9jCe2b1O9hMmyBD1JloIWHJXSqtUt5g_O9IjrtOpUF57AA8UG5vtkRN24onSCzeT_-zIskULHEHMb1bGqTH8ZwrUsGPrdAKYP5Rzmg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjljNGRiNjgtOGQzNi00ODE1LTk5ZTgtY2VhNTBmYWI2MTg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1295" it="0" lt="1295" ct="1" ts="1587564569757" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWU0MjdlMjgtNGYyOC00NTYxLTk1NTUtODIzNjM2N2M1NWQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1944-1aW1jO-cL5wb1cmr-CuhqAzBdG4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="304" it="0" lt="304" ct="1" ts="1587564570748" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjQzMWZjZjMtMmNhZS00Mzk5LWIyY2EtNTRmOGQzNWQ1ZGUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="285" it="0" lt="285" ct="0" ts="1587564570767" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDNlZjE1YjUtNjIzZi00MzY0LTkzYTgtMDAyYmZkNTAxNDhl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="284" it="0" lt="284" ct="0" ts="1587564570768" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDlmMzJkNmItZWE4My00MGNhLWE5NzctYjkzM2Q3MTEzMDM2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="286" it="0" lt="286" ct="0" ts="1587564570766" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDc2ZDg5OWItMTY5Yy00MzAyLWI2MjUtYTY2Mzg5ZjNhYTU4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="299" it="0" lt="299" ct="0" ts="1587564570753" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGE2NjVmYWYtZmRmYi00Njk0LTk5ZTMtMTYyN2QyYmRiZmI2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="285" it="0" lt="285" ct="0" ts="1587564570767" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjFhNzg3Y2MtZTg4MC00MDgxLWE5MWYtZTgzNzA2YTJhY2Rl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="285" it="0" lt="285" ct="0" ts="1587564570767" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTQ0ODBlZTMtODNjMS00NDBlLWE0MzctZWEwODgxYjlhNjIw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="285" it="0" lt="285" ct="0" ts="1587564570766" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGRiOWI1MzEtOGFmOC00NzI4LTkyZTYtMDY1NGQ5ZDFhN2Rm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="288" it="0" lt="288" ct="0" ts="1587564570763" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzUyNDAzOWYtYWZlNi00NTM2LWExMWEtNGE0ODRmZTcyMjA1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="297" it="0" lt="297" ct="0" ts="1587564570754" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTQyZTRkOWMtNDZkYS00ODE4LTg1ZGEtM2E4NzcyZTY5OTJm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="277" it="0" lt="277" ct="0" ts="1587564570764" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzZjYTRkYjMtN2VkMC00MmVkLTg1ZTQtZjZiMTE5ODFjODI1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="273" it="0" lt="273" ct="0" ts="1587564570765" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODU1NmEyNzItYzY5YS00ZWQ0LWE5MGQtZTc3ODFkYTljOTUx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1005" it="0" lt="704" ct="2" ts="1587564570041" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-47" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=015180bd-dd9b-4665-84af-1c55dfc834af; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1002" it="0" lt="733" ct="2" ts="1587564570041" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-31" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=88ff5349-9bc6-4b66-850b-34feece0bcc3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1009" it="0" lt="727" ct="1" ts="1587564570043" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-9" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=5ec709c1-d252-4c5e-89e3-295be73f6455; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1011" it="0" lt="719" ct="1" ts="1587564570042" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-85" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=980d22b6-54ec-4354-800c-c46d2b3d6e4d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1011" it="0" lt="696" ct="1" ts="1587564570040" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-13" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=84dc459f-3e98-4b37-8aa2-5cf800fac780; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:29 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1016" it="0" lt="743" ct="8" ts="1587564570035" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-54" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6831418e-cba3-47e5-aa24-bdfac244b060; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1009" it="0" lt="738" ct="2" ts="1587564570042" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-56" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8f3d7b5e-1f1a-448e-bf66-fa4fe883569b; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1008" it="0" lt="725" ct="1" ts="1587564570040" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-90" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0ddb1f41-017d-4e1a-8649-870ab1a888ab; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1018" it="0" lt="739" ct="3" ts="1587564570037" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-48" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c3fbdb32-852c-4b53-aa19-bdd7dcbcb3e4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1017" it="0" lt="732" ct="4" ts="1587564570036" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-100" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0484889a-1158-4baa-ba23-66bf6cc62aee; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1012" it="0" lt="733" ct="2" ts="1587564570041" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-75" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=dbfe3b2b-1479-4f8c-9f51-be1d2e637f54; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1010" it="0" lt="700" ct="2" ts="1587564570043" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-16" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0d144c58-de33-45bd-8d14-dac10d3bb6da; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1009" it="0" lt="704" ct="2" ts="1587564570041" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=680b1362-2799-4912-b339-b3caaa0bdb94; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1011" it="0" lt="706" ct="1" ts="1587564570043" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-68" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=788ef295-80b0-42f2-b8dd-8b03a04bb942; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="415" it="0" lt="414" ct="0" ts="1587564570753" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWJiMzc1NjItYzI1MS00YjgxLWIzZjctODkzODFkZGM4MWMz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2NywianRpIjoiSUQtVG9rZW4tMTYyOS1nc05qVmJZNnpYNklCa3JHcEFuQWlXUEl1cGF1aHBycCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aSL1VIOwIjIyRquL13scvAARXYVooeWQ0hUUkKtVJ_y1bpqoRxciRj2obqI3hOyQJLIRF0JcsZU45acB4gKRanU4WHdf4i5JzTqOoSfBYGL4nhc0PaHzeffTUvQMCqOD2CyF3bRD4fiLDwgOebeDRvQ4JrEiluIXsx5S0Dj5IC-mTt5LtIDxQarzDkSYoVTL-a5z9gtQO6F08zQXOZNZZOxK66vGRbco6YwZXhJiNaTy6QEseOr6y03KLuxpqq1GCBFP7DcsVMtGSpIA_uRrWMhEed8KOOQ7XUHar_Y4HeBNeOFwubO9gvuN4ba3rCLOQhnzLIcqkCahJ6W-JX7vjQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MGQ4ZjE4ZjQtOGI0YS00ODJmLWI1Y2QtNzZjMDE1MTMxZDdm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="76" it="0" lt="76" ct="0" ts="1587564571094" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWM4OTdjOGItY2MyYi00MWZiLWI2YTUtY2UyNGJkNWVkM2Qw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="76" it="0" lt="76" ct="0" ts="1587564571094" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTZiZmM2ZGYtZWExNi00OWY4LWE0ZjktZDc2ZGE1ZjZhZmFj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="81" it="0" lt="81" ct="0" ts="1587564571090" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTU5ZGNkNzUtN2QwYy00MzY1LTk5NTYtZDgxM2M3OWM5NmQz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="78" it="0" lt="78" ct="2" ts="1587564571093" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTAwMTQ0OGEtNDc1Mi00ZDM2LWE0MWUtYzU0MDNhMDQyMjUz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="77" it="0" lt="77" ct="0" ts="1587564571094" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OThkYThiMTktYWQ0Yi00NWM2LThmMTAtZTFmZGU4NmQ0OTA1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="71" it="0" lt="71" ct="0" ts="1587564571100" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTllZTJiNTAtNGI0Yi00M2Q3LWI0MmQtYzc5ZjNkMzJmNzQy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="71" it="0" lt="71" ct="0" ts="1587564571100" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDA2NGNlYTAtNzhiOC00ODZjLTlhYjctMDU2YjFkMzQyMDQz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="73" it="0" lt="73" ct="0" ts="1587564571099" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGI3MzRiNTAtMTJiYi00YzcxLWEyNzQtZDkzNDM1NGMxZjVi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="72" it="0" lt="72" ct="0" ts="1587564571100" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTdkNDdkMzUtYzhmMC00ZmI4LTgwZTctM2YwODA3MTZjZjFl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="72" it="0" lt="72" ct="0" ts="1587564571100" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDc3NDY4MDUtMmU5MC00ZWExLWFiNTYtMDM0YzdkNmM4OTVk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="79" it="0" lt="79" ct="0" ts="1587564571093" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWFmMjBlMDktNzkzYS00MjkxLTg1ZmQtNDc0ZWY2ZTU2NGIw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="72" it="0" lt="72" ct="0" ts="1587564571100" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmM4MjYyMzMtM2EzMS00M2Y1LWI1ZjItMjQ0ZTQ2ZDBhZDRk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="74" it="0" lt="74" ct="0" ts="1587564571101" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDc2ZDg5OWItMTY5Yy00MzAyLWI2MjUtYTY2Mzg5ZjNhYTU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="79" it="0" lt="79" ct="0" ts="1587564571096" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGE4NmNlZTYtNGU1NS00ZmM2LTk4ZTYtZjA4MDU0ZDYyZDEz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="78" it="0" lt="78" ct="0" ts="1587564571098" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGViOWJlYjMtMjg2Zi00OTQ3LWJkMjMtODI5YThjOTQ5NTIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="84" it="0" lt="84" ct="0" ts="1587564571092" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjIwZWY5ZDQtMTYxNi00ZmYzLTk5NzctYmZmMjFmNzQwMTkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="85" it="0" lt="85" ct="0" ts="1587564571091" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDc4MGQ3ODYtNzRjNy00MDI5LWEyODUtZmZlMjBkOWZhODg4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="73" it="0" lt="73" ct="0" ts="1587564571103" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzZjYTRkYjMtN2VkMC00MmVkLTg1ZTQtZjZiMTE5ODFjODI1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="77" it="0" lt="77" ct="0" ts="1587564571100" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTFhZTFmMjgtNmQwYS00ZTM0LWE4OGQtNWRlYWUyOGJlMTQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="77" it="0" lt="77" ct="0" ts="1587564571101" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGE2NjVmYWYtZmRmYi00Njk0LTk5ZTMtMTYyN2QyYmRiZmI2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="82" it="0" lt="82" ct="0" ts="1587564571096" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTgwNjE4NzMtZDA1My00NjY3LWI1MDQtZjNiNDI1NWY5ZjA3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="76" it="0" lt="76" ct="0" ts="1587564571102" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTQ0ODBlZTMtODNjMS00NDBlLWE0MzctZWEwODgxYjlhNjIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="85" it="0" lt="85" ct="0" ts="1587564571093" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTRiMWM0ODMtOTYzZS00ZWVkLTg4ZjAtZTM5OWI1ZDc4ZTk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="77" it="0" lt="77" ct="0" ts="1587564571102" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzUyNDAzOWYtYWZlNi00NTM2LWExMWEtNGE0ODRmZTcyMjA1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="81" it="0" lt="81" ct="0" ts="1587564571098" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2U3NmY3MzQtNmQ3Ni00MzAzLTlhYTEtZWJkNmI1ZjczMThk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="77" it="0" lt="77" ct="0" ts="1587564571102" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjFhNzg3Y2MtZTg4MC00MDgxLWE5MWYtZTgzNzA2YTJhY2Rl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="83" it="0" lt="83" ct="0" ts="1587564571097" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTgwYmJiNGEtOGExNS00MWJiLWI5YTItMDEzNTYxOTE0OGZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="78" it="0" lt="78" ct="0" ts="1587564571102" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTQyZTRkOWMtNDZkYS00ODE4LTg1ZGEtM2E4NzcyZTY5OTJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="82" it="0" lt="82" ct="0" ts="1587564571098" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDM3MGNkNzEtYzkxNS00YmZlLWI5YmYtNDM3M2EwMTYwZDg3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="75" it="0" lt="75" ct="0" ts="1587564571102" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGRiOWI1MzEtOGFmOC00NzI4LTkyZTYtMDY1NGQ5ZDFhN2Rm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="91" it="0" lt="91" ct="0" ts="1587564571091" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjdiY2ZkYjktMWFlOC00MWIzLWI0ZWUtYjk1NTRmMTg4YWNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="87" it="0" lt="87" ct="0" ts="1587564571095" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmY0YWRkZGUtYjNjYy00ODU4LTg5OTMtNTE0MDNkMjFiMzdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="85" it="0" lt="85" ct="0" ts="1587564571097" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDhmNzFjMzgtZGNjNi00MDMxLThhNjctZGNlZWVjNDIyNTQ3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="89" it="0" lt="89" ct="0" ts="1587564571093" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2JmZDU4MTMtNGIxNS00OTAwLTljZTUtY2Y3ZGE3YWI0N2Iz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="86" it="0" lt="86" ct="0" ts="1587564571096" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTYwMDVlZWEtMmE2NS00MjUwLTgwOTUtZjE5YjlhNTg1ZTdm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="89" it="0" lt="89" ct="0" ts="1587564571093" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2MyNzJmNTEtZGY5Yi00ODE5LTk5NzEtNDg3ZDRjNjhkOTA5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="87" it="0" lt="87" ct="0" ts="1587564571095" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjgsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OCwianRpIjoiSUQtVG9rZW4tMTYzMi1oaklNV0FQeGdxOG8tT1d1S3JMRkxtazFNZUlUSWhXbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Kwby4ZQfze2sxCI3sIoMP5KnJ0YUHmyXeTtuXwrs1AevLNF9P2-cEE4H2-dghpmFjBPGvPTLc0Lh6Ee1NDyVQRgUBIYR6DrmWi4i7zybGmxSpgJ_u2uGoJhGzt-3KbYOMKDBAwAH1zhoiZshAL8BcfPVmai-HWxRXWjGt6LjnoejL4C_vrEx94eTdFl-6myXyiUy3aRTe3MrYZcKFJY3ij-XllJusXSwnok4k-OCLoJ4NPLNtUA9oHhA38SCQ-yGk6yssFj_BoPJaIL7iTrQZemyyZnbuUUmqSbATVgTfOc4If3sHTUl7K2Wec-B5YU4WtEYRlpAeJkRG33ynqmRgw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjViY2M0MzUtNjkyOS00OGFjLWE2ZjMtZmRjOTI0NGY3YTk2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjgsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OCwianRpIjoiSUQtVG9rZW4tMTYzMi1oaklNV0FQeGdxOG8tT1d1S3JMRkxtazFNZUlUSWhXbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Kwby4ZQfze2sxCI3sIoMP5KnJ0YUHmyXeTtuXwrs1AevLNF9P2-cEE4H2-dghpmFjBPGvPTLc0Lh6Ee1NDyVQRgUBIYR6DrmWi4i7zybGmxSpgJ_u2uGoJhGzt-3KbYOMKDBAwAH1zhoiZshAL8BcfPVmai-HWxRXWjGt6LjnoejL4C_vrEx94eTdFl-6myXyiUy3aRTe3MrYZcKFJY3ij-XllJusXSwnok4k-OCLoJ4NPLNtUA9oHhA38SCQ-yGk6yssFj_BoPJaIL7iTrQZemyyZnbuUUmqSbATVgTfOc4If3sHTUl7K2Wec-B5YU4WtEYRlpAeJkRG33ynqmRgw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="90" it="0" lt="90" ct="0" ts="1587564571092" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmVkODJlYzAtNGFmNS00Njg5LWEwMmEtMTI0MzUwZDBjODc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1144" it="0" lt="1144" ct="5" ts="1587564570038" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmYyNjA1OGYtYzcwOC00NjY1LTg3YmUtY2VhMjJjMDE3M2U1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1948-5LnTC7wBjdWvbI5EMhXPMFa8kXwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="87" it="0" lt="87" ct="0" ts="1587564571095" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjgsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OCwianRpIjoiSUQtVG9rZW4tMTYzMy1BWVktaDNFWk5tbXlaNHo3dFl6LVJQQkdOYmdVMHo3TSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.G3Q6I7z1GT8nQ2oUEfaQkqN6SIpIQkxecYg4b5b7NIAEaaIshHRNwncqu3wk6KsvmELEwoeumQDQutdkkWv1lCQFPN3a9m5lyzpP0kwgPE0IMMYy0LzcY0mnEIvnKmvqIOvCaNIXTW6X57tsuj1adsRiWdeMKPG8u4YUMD6InfkosU8ooN_3BF3WOuITHFJ0xhlRD_IPP9PgbiKM2fTImxOchbt-DQpYdCL3pDLKdIeTCYlrKwOVGYjpZq9c6Qcfxr1cTxbMEH3IRoPjXBbUS5nrReoCtijwvcK65YoXQ6Ea0DGQbVCBGEpt-bcvaBi9FomYJqSfFc5XjSeCwAFiAQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzllODliMDEtMWI3Yy00YTIzLThjMzgtZmNkMjM5ZjRhNWNh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjgsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OCwianRpIjoiSUQtVG9rZW4tMTYzMy1BWVktaDNFWk5tbXlaNHo3dFl6LVJQQkdOYmdVMHo3TSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.G3Q6I7z1GT8nQ2oUEfaQkqN6SIpIQkxecYg4b5b7NIAEaaIshHRNwncqu3wk6KsvmELEwoeumQDQutdkkWv1lCQFPN3a9m5lyzpP0kwgPE0IMMYy0LzcY0mnEIvnKmvqIOvCaNIXTW6X57tsuj1adsRiWdeMKPG8u4YUMD6InfkosU8ooN_3BF3WOuITHFJ0xhlRD_IPP9PgbiKM2fTImxOchbt-DQpYdCL3pDLKdIeTCYlrKwOVGYjpZq9c6Qcfxr1cTxbMEH3IRoPjXBbUS5nrReoCtijwvcK65YoXQ6Ea0DGQbVCBGEpt-bcvaBi9FomYJqSfFc5XjSeCwAFiAQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="81" it="0" lt="81" ct="0" ts="1587564571101" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OSwianRpIjoiSUQtVG9rZW4tMTYzNC1may0wODdYU3V6V285TWU0SFp4Wm1RdkpGbXo2NG4tNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hSDEiNMdWlk034ZNJBs22UsL9quEfRggT-n_XPEozO_8VuIJulaQtc2vNYN_Ne_mIK2LuNs3xC9yP9H2p38GsOEyTThgx_91mBD4runqcTTRbs0f1_is9kgr4Rv9TB_HqbdHm_M7sikfFsDX6-XNUjShDpAziGtgfwoesx6k2H9hX1bTc2uUb0rKYzJqVcLXp0n8A890GAbKHyhiykIv4atZJ8JVfuGpiyShbU_IPuyfD44zzONRs9Z5PqOq5pONHAVkEadYT7COLQw8rL-kANq5hbx7RBHj5HpbzG4MB2CRHpgFU2C-04ushFJ5s8xjngBaIj-Kkswypc1gBLjK8g
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjQzMWZjZjMtMmNhZS00Mzk5LWIyY2EtNTRmOGQzNWQ1ZGUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OSwianRpIjoiSUQtVG9rZW4tMTYzNC1may0wODdYU3V6V285TWU0SFp4Wm1RdkpGbXo2NG4tNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hSDEiNMdWlk034ZNJBs22UsL9quEfRggT-n_XPEozO_8VuIJulaQtc2vNYN_Ne_mIK2LuNs3xC9yP9H2p38GsOEyTThgx_91mBD4runqcTTRbs0f1_is9kgr4Rv9TB_HqbdHm_M7sikfFsDX6-XNUjShDpAziGtgfwoesx6k2H9hX1bTc2uUb0rKYzJqVcLXp0n8A890GAbKHyhiykIv4atZJ8JVfuGpiyShbU_IPuyfD44zzONRs9Z5PqOq5pONHAVkEadYT7COLQw8rL-kANq5hbx7RBHj5HpbzG4MB2CRHpgFU2C-04ushFJ5s8xjngBaIj-Kkswypc1gBLjK8g</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="90" it="0" lt="90" ct="0" ts="1587564571092" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWVmMmNhMzMtYTVjOC00YTljLWE1NTAtNDE0MDU3MTYwMzU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="83" it="0" lt="83" ct="0" ts="1587564571098" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDY4YTgzYzctMzliNS00MzE0LTkzY2UtMjI2MWZlYzhlOTVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="90" it="0" lt="90" ct="0" ts="1587564571091" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTVhYjNiOTgtZGMwYi00OGY3LWFkOGYtN2YxZjY2NWQ0NTgx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="85" it="0" lt="85" ct="0" ts="1587564571096" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWViZmNlYjctNjZlYS00MjhiLThlZjMtOWU2ODYwZjdjNzg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="82" it="0" lt="82" ct="0" ts="1587564571099" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWM5ZTJlN2QtYmEzNC00MjViLTliNjAtMjg4Yjk1MDAyODIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="82" it="0" lt="82" ct="0" ts="1587564571099" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWZjYmZhMDAtZjY5NS00ODlmLTlhOTctNjY5NmMyMTUxY2U4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="82" it="0" lt="82" ct="0" ts="1587564571099" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2FkYWNjZWQtNWY4Zi00NThmLWI1ZDMtNDEwMTViY2Y0ODJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="80" it="0" lt="80" ct="0" ts="1587564571101" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDNlZjE1YjUtNjIzZi00MzY0LTkzYTgtMDAyYmZkNTAxNDhl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="84" it="0" lt="84" ct="0" ts="1587564571097" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTA1OTdmOWQtYjI5Ny00N2RmLTgxMTQtMzFkNDIxMWRiYTQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="87" it="0" lt="87" ct="0" ts="1587564571094" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2Q3MzllMTQtZDVlNi00ZTMwLWI4NmItNTNkNGI1OTdmOTBh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="86" it="0" lt="86" ct="0" ts="1587564571095" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjBjZTU2MDctMmUyMi00YjhhLTgyNDEtMWQ5MGVhZGFhMDk2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1414" it="0" lt="1414" ct="0" ts="1587564569767" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzM2MDA3ODgtN2NkZS00MDE0LTg4MzAtMzZlMWYzZmNmNTZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1945-EKwRsovFBYQmIP5mQHJwzmEmDMgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="90" it="0" lt="90" ct="0" ts="1587564571091" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWJkMmZhNTEtZGEwZC00Zjk4LWFlZTQtNzA2OWUzMjk4Zjkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="82" it="0" lt="82" ct="0" ts="1587564571099" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQ1NThiYmYtMzExNS00MWM0LWJlZTItYzczMzlmOTYzYjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="84" it="0" lt="84" ct="0" ts="1587564571097" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzFhOGFhZWEtMmFjNy00ZTVmLWE2NmQtNjY0YTczYWJiMmYz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="78" it="0" lt="78" ct="0" ts="1587564571103" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODU1NmEyNzItYzY5YS00ZWQ0LWE5MGQtZTc3ODFkYTljOTUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="82" it="0" lt="82" ct="0" ts="1587564571099" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTY5MDAxZTMtODExMy00ZjYzLTk4NzYtMzQ1ZWUzMjJiNWFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="80" it="0" lt="80" ct="0" ts="1587564571101" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDlmMzJkNmItZWE4My00MGNhLWE5NzctYjkzM2Q3MTEzMDM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="84" it="0" lt="84" ct="0" ts="1587564571097" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTJmZmYyOWYtZThmZi00MjliLTlkOTYtNDU5NDU3OGU4YTQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="82" it="0" lt="82" ct="0" ts="1587564571099" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzdhODA5MGItMTc4Zi00Mzc0LTg4ZGQtOGI2NmQ5OGY2ZGRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="80" it="0" lt="80" ct="0" ts="1587564571101" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWU0MjdlMjgtNGYyOC00NTYxLTk1NTUtODIzNjM2N2M1NWQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1398" it="0" lt="1398" ct="1" ts="1587564569785" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzBhNTFmMzEtNjMzNC00NmU2LTgzNGItOTY1NzgzNjk3OTkw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1940-ecdi-SKCIuQmYpNSwe9kDU7LD1wc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="27" it="0" lt="27" ct="0" ts="1587564571169" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzNkMjRhNTgtYjE4NC00MzYyLTkxYzQtNzljM2MxZjdiMDQy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="24" it="0" lt="24" ct="0" ts="1587564571172" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDc3NDY4MDUtMmU5MC00ZWExLWFiNTYtMDM0YzdkNmM4OTVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="24" it="0" lt="24" ct="0" ts="1587564571172" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDA2NGNlYTAtNzhiOC00ODZjLTlhYjctMDU2YjFkMzQyMDQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1431" it="0" lt="1431" ct="1" ts="1587564569767" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjNjODE1ZjAtZjY4ZC00MDI5LThkNmYtNDU5NmQzMmZlZGJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1942-A-BjGA2ebfVU8Eh4YAKA--BAt20c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="469" it="0" lt="469" ct="1" ts="1587564570730" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTg3ODVhYzMtODlhNC00ZmUwLWE1OWYtOWU2YThhYmIwODkw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1943-L6jRi1CFkngQEAbOawUMVEdxLcUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="28" it="0" lt="28" ct="0" ts="1587564571171" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWM4OTdjOGItY2MyYi00MWZiLWI2YTUtY2UyNGJkNWVkM2Qw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1460" it="0" lt="1460" ct="1" ts="1587564569739" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2FlODgxNWYtNjQ4Mi00YTZlLTlkYzgtYjliYWFjMjUwNTQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1946-gdgdj43iaE9QXClMFy93-N9sABgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="28" it="0" lt="28" ct="0" ts="1587564571172" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTllZTJiNTAtNGI0Yi00M2Q3LWI0MmQtYzc5ZjNkMzJmNzQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="30" it="0" lt="30" ct="0" ts="1587564571171" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OThkYThiMTktYWQ0Yi00NWM2LThmMTAtZTFmZGU4NmQ0OTA1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="28" it="0" lt="28" ct="0" ts="1587564571173" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmM4MjYyMzMtM2EzMS00M2Y1LWI1ZjItMjQ0ZTQ2ZDBhZDRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="29" it="0" lt="29" ct="0" ts="1587564571172" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTdkNDdkMzUtYzhmMC00ZmI4LTgwZTctM2YwODA3MTZjZjFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="31" it="0" lt="31" ct="0" ts="1587564571171" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTZiZmM2ZGYtZWExNi00OWY4LWE0ZjktZDc2ZGE1ZjZhZmFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="31" it="0" lt="31" ct="0" ts="1587564571171" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTU5ZGNkNzUtN2QwYy00MzY1LTk5NTYtZDgxM2M3OWM5NmQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1460" it="0" lt="1460" ct="1" ts="1587564569742" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGZhY2U4NDEtYWVmNy00ZWE4LTk5ODctN2Y0NmI4YmIxMWU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1941-ea0AlaVlePYIWfqMgv5rAOORs3Qc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1445" it="0" lt="1445" ct="1" ts="1587564569757" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjA5MGZlYmEtMTYzNC00NDU2LWE0NGEtN2FmOTk4OGY3MDM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1951-5VDcmhF90W04tYL6lP5hsfevMO0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="31" it="0" lt="31" ct="0" ts="1587564571172" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGI3MzRiNTAtMTJiYi00YzcxLWEyNzQtZDkzNDM1NGMxZjVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="30" it="0" lt="30" ct="0" ts="1587564571172" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWFmMjBlMDktNzkzYS00MjkxLTg1ZmQtNDc0ZWY2ZTU2NGIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1430" it="0" lt="1430" ct="1" ts="1587564569775" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTY4Y2JkOTktMDRlZi00ZTFkLTkxY2EtNWU1ZDg4Yzc0NGJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1949-rFV0j13j3HYLWBEROZVYRGEutwoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1435" it="0" lt="1435" ct="1" ts="1587564569770" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDllOGM0OGUtNDg3ZS00ZTVhLTk1Y2EtY2UyOWViMzUxZTAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1939--PUHqmb04TB-BgYOReGyZBpZYQUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="35" it="0" lt="35" ct="0" ts="1587564571171" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTAwMTQ0OGEtNDc1Mi00ZDM2LWE0MWUtYzU0MDNhMDQyMjUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1469" it="0" lt="1469" ct="1" ts="1587564569739" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjcyYmY1ZDItNzE0NS00ZmEyLTk4YjctZjYzNDRmNTMwZDI0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1938-Sq-2zpSMAP-BYQoa7YTXlcXbuo4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1452" it="0" lt="1452" ct="1" ts="1587564569757" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzdjZDhjYjMtNmQ2Mi00NTE3LThlZWYtZmMzYjhkN2Y0MGQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1950-tBUWV6ZIb-ixprRgIwUeEfcqSgoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1442" it="0" lt="1442" ct="1" ts="1587564569767" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDRmYmRjOTMtNzdkYy00YWQyLWIwYzAtZDNmNTUyMDYzZDc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1952-OT7ECtH2ZJMyd-nuYVCQZNeGsHMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="29" it="0" lt="29" ct="0" ts="1587564571186" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmYyNjA1OGYtYzcwOC00NjY1LTg3YmUtY2VhMjJjMDE3M2U1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="0" ts="1587564571199" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjNjODE1ZjAtZjY4ZC00MDI5LThkNmYtNDU5NmQzMmZlZGJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="24" it="0" lt="24" ct="0" ts="1587564571191" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzM2MDA3ODgtN2NkZS00MDE0LTg4MzAtMzZlMWYzZmNmNTZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="0" ts="1587564571199" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTg3ODVhYzMtODlhNC00ZmUwLWE1OWYtOWU2YThhYmIwODkw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="0" ts="1587564571200" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2FlODgxNWYtNjQ4Mi00YTZlLTlkYzgtYjliYWFjMjUwNTQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="0" ts="1587564571202" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGZhY2U4NDEtYWVmNy00ZWE4LTk5ODctN2Y0NmI4YmIxMWU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="25" it="0" lt="25" ct="0" ts="1587564571196" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzNkMjRhNTgtYjE4NC00MzYyLTkxYzQtNzljM2MxZjdiMDQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="29" it="0" lt="29" ct="0" ts="1587564571193" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzBhNTFmMzEtNjMzNC00NmU2LTgzNGItOTY1NzgzNjk3OTkw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="29" it="0" lt="29" ct="0" ts="1587564571193" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OSwianRpIjoiSUQtVG9rZW4tMTYzNi1qTnY3VUNMWHhsUnFBZW1LdWtnYXllcmN1MmVlcy12SCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AyDX4WgvVTOPv3Qvv3tOjK_NWz_GFX4TyWJ6mpA0MWKFHwoeNEFfkrmiIrZWfOrbHzIpazgW1ASRNTbaZDQ7QYIfodvuvTH0rOR_0m8QkRTG-LpoDMgrAeCGNKWWrLbDx6GQvTi01cOpw8CLWBQSo4RKxwFQ3dlgkHbbqUt9gNEKnnRAGM8kEGPfu77tXdEF5MBb9cyyfEvw7JQnj5ItpmY3tZ82avkd2JqHBSfmlTnoPPGFSQHdcMN48WSg1SI3_x2M1bRkrTDiBk3dxYjFa_k7MyWUABNJYpNKdEpR8VzRCVOIMvcG-apvtmVjSYwVDIGJi1AwNyxWDMF-j13m4w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWU0MjdlMjgtNGYyOC00NTYxLTk1NTUtODIzNjM2N2M1NWQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OSwianRpIjoiSUQtVG9rZW4tMTYzNi1qTnY3VUNMWHhsUnFBZW1LdWtnYXllcmN1MmVlcy12SCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AyDX4WgvVTOPv3Qvv3tOjK_NWz_GFX4TyWJ6mpA0MWKFHwoeNEFfkrmiIrZWfOrbHzIpazgW1ASRNTbaZDQ7QYIfodvuvTH0rOR_0m8QkRTG-LpoDMgrAeCGNKWWrLbDx6GQvTi01cOpw8CLWBQSo4RKxwFQ3dlgkHbbqUt9gNEKnnRAGM8kEGPfu77tXdEF5MBb9cyyfEvw7JQnj5ItpmY3tZ82avkd2JqHBSfmlTnoPPGFSQHdcMN48WSg1SI3_x2M1bRkrTDiBk3dxYjFa_k7MyWUABNJYpNKdEpR8VzRCVOIMvcG-apvtmVjSYwVDIGJi1AwNyxWDMF-j13m4w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="22" it="0" lt="22" ct="0" ts="1587564571205" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTY4Y2JkOTktMDRlZi00ZTFkLTkxY2EtNWU1ZDg4Yzc0NGJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="24" it="0" lt="24" ct="0" ts="1587564571203" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjA5MGZlYmEtMTYzNC00NDU2LWE0NGEtN2FmOTk4OGY3MDM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="0" ts="1587564571210" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDRmYmRjOTMtNzdkYy00YWQyLWIwYzAtZDNmNTUyMDYzZDc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564571216" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0OC1pVlV4RVRxNnBCazIwV1VmcDBLeHgtNHNzdmZZNWFEQSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TbGWM2k4GzgeQiXyW95QV30gkaqODMABw3SkwfXlLgyDUmLVMjIhhlewR-zCmVWnCh0dwdMi0gAO5aIeuKfUPMTqJZpn-aLAIUMaceEOKMv-wenB9pMxO_C2E66Azaefhb9OhQh3ZV7rzjthb7fXQ7ZgFaAZau-nUrHfXQb1iw3xskNHFeJfsg8XUxAzNJauz7nItMOc81bWYtqwnwmmkSIH2vf5HJJWlJqyUMkRmlJBAugakKNU3R0gRyOOF0eU2uribogxuP2PaI_d_fkXSnlIGxKjZfjkYk8_2zRW34EaAzqhBcaPHOlARqQMkQXA2UkBEPZAKcrb79FphKZFoA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTg3ODVhYzMtODlhNC00ZmUwLWE1OWYtOWU2YThhYmIwODkw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0OC1pVlV4RVRxNnBCazIwV1VmcDBLeHgtNHNzdmZZNWFEQSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TbGWM2k4GzgeQiXyW95QV30gkaqODMABw3SkwfXlLgyDUmLVMjIhhlewR-zCmVWnCh0dwdMi0gAO5aIeuKfUPMTqJZpn-aLAIUMaceEOKMv-wenB9pMxO_C2E66Azaefhb9OhQh3ZV7rzjthb7fXQ7ZgFaAZau-nUrHfXQb1iw3xskNHFeJfsg8XUxAzNJauz7nItMOc81bWYtqwnwmmkSIH2vf5HJJWlJqyUMkRmlJBAugakKNU3R0gRyOOF0eU2uribogxuP2PaI_d_fkXSnlIGxKjZfjkYk8_2zRW34EaAzqhBcaPHOlARqQMkQXA2UkBEPZAKcrb79FphKZFoA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564571218" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0MS0tZnYzWDhBdWdndDVsb2owNHlLSEUtOFdxTG1lc0NzeCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.J1XBjLTUheIpJWpvsNKGdzMmmQkABAMkU0WyGd57rIsSpxFLCqdwXXZ0dcvHjYm56z1yxxnBPxpfRe7gJT4E-A4TouXaRNuDIyl_JCGpNT7PrfHAs0ZBHLHyGjg8e15zXoZq-5e-_QcBl5H4wgVm7uRUgicmkE4DFULAuzOGFqfFiKdx25F7As5rALCWvGyefOjYEvQqqpwuS5oWHEwoV5CO1Pn1Uj2OYRJ1IiewvkWTgpoFApBmA43fUoRdjuuIugASlTy-OKhr87OLgtM9zq-KUuzRAIJqU5VLNbtT6n2OUb7z4ESNisvUP6fLbBKolh9lf576N0ZYVtv_33yZCg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGZhY2U4NDEtYWVmNy00ZWE4LTk5ODctN2Y0NmI4YmIxMWU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0MS0tZnYzWDhBdWdndDVsb2owNHlLSEUtOFdxTG1lc0NzeCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.J1XBjLTUheIpJWpvsNKGdzMmmQkABAMkU0WyGd57rIsSpxFLCqdwXXZ0dcvHjYm56z1yxxnBPxpfRe7gJT4E-A4TouXaRNuDIyl_JCGpNT7PrfHAs0ZBHLHyGjg8e15zXoZq-5e-_QcBl5H4wgVm7uRUgicmkE4DFULAuzOGFqfFiKdx25F7As5rALCWvGyefOjYEvQqqpwuS5oWHEwoV5CO1Pn1Uj2OYRJ1IiewvkWTgpoFApBmA43fUoRdjuuIugASlTy-OKhr87OLgtM9zq-KUuzRAIJqU5VLNbtT6n2OUb7z4ESNisvUP6fLbBKolh9lf576N0ZYVtv_33yZCg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="19" it="0" lt="19" ct="0" ts="1587564571209" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzdjZDhjYjMtNmQ2Mi00NTE3LThlZWYtZmMzYjhkN2Y0MGQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="24" it="0" lt="24" ct="0" ts="1587564571205" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDllOGM0OGUtNDg3ZS00ZTVhLTk1Y2EtY2UyOWViMzUxZTAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="21" it="0" lt="21" ct="0" ts="1587564571208" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjcyYmY1ZDItNzE0NS00ZmEyLTk4YjctZjYzNDRmNTMwZDI0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="0" ts="1587564571215" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0Ni1MYzFPeFR6LTM1WEZtQmhKbFRoWXRqYzllRHQwWTBscCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.D6BOv44hdnebHu9XHenYQzIWg3Z8rvEt_rzC_BAlAv2J2d1WLKL3LkXl9uPVJVues78KtOxF07ttVfogUjh_G8TDC-pmSFh5cYT-9gVHQkZwk4DMod47MpqNucpykgMLw-9RaSxYtIOr7vi7z3wprI3iyRhc7p9wzx9k_VPHyOJdhyDcs1FHFX9dhskI6w6ZIFWHxLL0LpEaMBb4v1g-U8L2OX9L1Rskl0FbdyLgyeDkmvcK8MMONvPvKv_E_ymlvEzHvIow0SSeReE-GuNowowvLAPj5jiJWAFtbGMMO4eWJ6_yWWhZQoQv6QwQE6kP1a07mFL5wcevHt_jdeKWJQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmYyNjA1OGYtYzcwOC00NjY1LTg3YmUtY2VhMjJjMDE3M2U1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0Ni1MYzFPeFR6LTM1WEZtQmhKbFRoWXRqYzllRHQwWTBscCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.D6BOv44hdnebHu9XHenYQzIWg3Z8rvEt_rzC_BAlAv2J2d1WLKL3LkXl9uPVJVues78KtOxF07ttVfogUjh_G8TDC-pmSFh5cYT-9gVHQkZwk4DMod47MpqNucpykgMLw-9RaSxYtIOr7vi7z3wprI3iyRhc7p9wzx9k_VPHyOJdhyDcs1FHFX9dhskI6w6ZIFWHxLL0LpEaMBb4v1g-U8L2OX9L1Rskl0FbdyLgyeDkmvcK8MMONvPvKv_E_ymlvEzHvIow0SSeReE-GuNowowvLAPj5jiJWAFtbGMMO4eWJ6_yWWhZQoQv6QwQE6kP1a07mFL5wcevHt_jdeKWJQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564571216" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0NS1QZHVQd3RsRTl3WndGSk0wczR1MU8xakdFZUdQQ2p3dyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZISF0rSqoW7XQNoEH6CG4a3QUTskxhTPde5RkDBksio482DBjjJJCFLi7PyoyZ3pwGjLVbZiGX-vx7E0xepP9OLEcMVLASaqjOeny4dUxbci2H4G6SQc6BFwstDCy9E5plOJ0jZ5_qEx5HtfXaKvCp7xfF9zJ1Grv4IMU1OTnDzE4dShHIZBfb8ck6fsCO7ASvzC3D110zkKMNQVyoq44hemQSWFYeoM_Vgt0lzKA0c8FxFLq38rOCqQMwDDrDHwp0ESfPUDuSt4DORznqPZ95PlNK0gmR-TlAJGsGUuxW4x7gz27lD9uz6V9X1lHNZUbqiqfYc6iUE06Zomd1cQGw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzM2MDA3ODgtN2NkZS00MDE0LTg4MzAtMzZlMWYzZmNmNTZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0NS1QZHVQd3RsRTl3WndGSk0wczR1MU8xakdFZUdQQ2p3dyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZISF0rSqoW7XQNoEH6CG4a3QUTskxhTPde5RkDBksio482DBjjJJCFLi7PyoyZ3pwGjLVbZiGX-vx7E0xepP9OLEcMVLASaqjOeny4dUxbci2H4G6SQc6BFwstDCy9E5plOJ0jZ5_qEx5HtfXaKvCp7xfF9zJ1Grv4IMU1OTnDzE4dShHIZBfb8ck6fsCO7ASvzC3D110zkKMNQVyoq44hemQSWFYeoM_Vgt0lzKA0c8FxFLq38rOCqQMwDDrDHwp0ESfPUDuSt4DORznqPZ95PlNK0gmR-TlAJGsGUuxW4x7gz27lD9uz6V9X1lHNZUbqiqfYc6iUE06Zomd1cQGw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564571216" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0Mi1DN0ZtU2lTWlFwNEQ1Ync5NWZOLVhmVXJHOXllN0xOYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KkQ36BJfKIGYMillvoaVltR4RR0qfnQ5j6X-yUGO0aIJqy4zRxMRABlwCupDY7Nk-O8guuCBHqCbeC21G7uSSWDTap8HTAA8VxST6UkllSqMb_dXLf3Uxdb-6ytR-FUjRazpquJAZdQRuQH67ukv2jj8HV3zdiiaj2WGvtPOp8bLjegD5S_Ksg89c-XlKrKzjTVVqwYD3UjQIy9lbqc_Dyec0311xTBleJCb2R8UD3YoxP5zOCJNYJnOC2LN_DUDKydhffzhQL3sdqmaVZdKvevdEnhQjV_OrIxkKhWA2zd7pNrfnf-cgdihbJoWOu4yKEzDiBZamTkqJjCXtbUEzw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjNjODE1ZjAtZjY4ZC00MDI5LThkNmYtNDU5NmQzMmZlZGJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0Mi1DN0ZtU2lTWlFwNEQ1Ync5NWZOLVhmVXJHOXllN0xOYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KkQ36BJfKIGYMillvoaVltR4RR0qfnQ5j6X-yUGO0aIJqy4zRxMRABlwCupDY7Nk-O8guuCBHqCbeC21G7uSSWDTap8HTAA8VxST6UkllSqMb_dXLf3Uxdb-6ytR-FUjRazpquJAZdQRuQH67ukv2jj8HV3zdiiaj2WGvtPOp8bLjegD5S_Ksg89c-XlKrKzjTVVqwYD3UjQIy9lbqc_Dyec0311xTBleJCb2R8UD3YoxP5zOCJNYJnOC2LN_DUDKydhffzhQL3sdqmaVZdKvevdEnhQjV_OrIxkKhWA2zd7pNrfnf-cgdihbJoWOu4yKEzDiBZamTkqJjCXtbUEzw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564571217" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTYzOC1vdkwwb2lYYTFLTTBUREJBU29wNTR4WXB1ajFtaHlFdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.M9d80YnkbdGeYdnFR6VjZ-R9PTAyCtr1hHwKi_J1u_zrbF9_AjTu9uIfBP529--3RsaTZV0XUOgTMiYaxJ3vULIC1ijtEbexIGc0-wRv3STm0G3Im22iaqpeDiRSNHkELsP8afeZEm6fMqO-c6LRcXEMOKH-ednWeqnX6LhVcQFGzJgcOgLFWFRxqUq9FDMeFK5Q0A57U7x-yEyQumqKafTVFhls_Da18f7YmqqqaMKKmD2fue5kcOoCXtmku17_722WTF3S00YnjAVIYNvIlKEeezO522DG6RZGCgovENATnLyzGltbLO44Ll-V0PftOT4nugMJs1G_6zH8zmhPJg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2FlODgxNWYtNjQ4Mi00YTZlLTlkYzgtYjliYWFjMjUwNTQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTYzOC1vdkwwb2lYYTFLTTBUREJBU29wNTR4WXB1ajFtaHlFdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.M9d80YnkbdGeYdnFR6VjZ-R9PTAyCtr1hHwKi_J1u_zrbF9_AjTu9uIfBP529--3RsaTZV0XUOgTMiYaxJ3vULIC1ijtEbexIGc0-wRv3STm0G3Im22iaqpeDiRSNHkELsP8afeZEm6fMqO-c6LRcXEMOKH-ednWeqnX6LhVcQFGzJgcOgLFWFRxqUq9FDMeFK5Q0A57U7x-yEyQumqKafTVFhls_Da18f7YmqqqaMKKmD2fue5kcOoCXtmku17_722WTF3S00YnjAVIYNvIlKEeezO522DG6RZGCgovENATnLyzGltbLO44Ll-V0PftOT4nugMJs1G_6zH8zmhPJg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564571227" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0NC02U2V4Nk9FRi1BLWNPWjZvRmlEaUdGOVhWZDJmZGlncCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QTGVa9ZJOJfQ_jsied5tIvYzc-0Dl_xZbUB8XMLXVvfjG_70IGDEPoR1mCaG70jinGFuTlXYX8nr95sn3KoSKupmWojKmP4a_3-4Ofw0neVCab_N2hiIWh044jYDz9Jt0X1YnfBjoR8h1xnziS0i8_RLH70FIylmQxLXyROyILNw5CW7ijDN7RZZnh6pCI7f3gxEtkKGPLyctZrBn6NQxMexYgVp7bzgICDx38KtpK0rCk7lyWLV8gUwH0HmFsH_FTIZfh0WJqwqPMjeDfNOdyfura696yqyDMXIjUNxfm_cV-ytD-Y_hn09HwKZnm1GlUGPs0EyWrdGzyJrvuEbjg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTY4Y2JkOTktMDRlZi00ZTFkLTkxY2EtNWU1ZDg4Yzc0NGJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0NC02U2V4Nk9FRi1BLWNPWjZvRmlEaUdGOVhWZDJmZGlncCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QTGVa9ZJOJfQ_jsied5tIvYzc-0Dl_xZbUB8XMLXVvfjG_70IGDEPoR1mCaG70jinGFuTlXYX8nr95sn3KoSKupmWojKmP4a_3-4Ofw0neVCab_N2hiIWh044jYDz9Jt0X1YnfBjoR8h1xnziS0i8_RLH70FIylmQxLXyROyILNw5CW7ijDN7RZZnh6pCI7f3gxEtkKGPLyctZrBn6NQxMexYgVp7bzgICDx38KtpK0rCk7lyWLV8gUwH0HmFsH_FTIZfh0WJqwqPMjeDfNOdyfura696yqyDMXIjUNxfm_cV-ytD-Y_hn09HwKZnm1GlUGPs0EyWrdGzyJrvuEbjg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564571222" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0Ny01UTZsLUpCeVZObUNWM01LM0pBTFQzV0VnNjlpQjJ2USIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Wv0JFOTtyA4TPd0L0RrmmEhr-w6izbedFg2wq5rfbqZQ_hBYxBsyvVt9cO47IlocOrG025TwHcrWYGUrWn357i8_lCTp2EfLfqT-LcEo3sFdtQwSYG2vaMrw9vY6miQWczvocqoTx888XtuVUuWQUuTctM5jMl46QAoFIsjh6COJFoT-GkFF8xMcTtQThSw1hByMCb3tGgSzge98YPRk2kLUeMWjAF3v9DxJo25IN3c81I3pEpUgNP9bvfc6Y-rQseBjLjmTIns_Srh1lRp1oVxdbipJxEG9OHm9ilVafS0jB8uQnqhugv4j0O6ND5nVWpx1d1oHcdqzSy9OPBEboA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzBhNTFmMzEtNjMzNC00NmU2LTgzNGItOTY1NzgzNjk3OTkw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0Ny01UTZsLUpCeVZObUNWM01LM0pBTFQzV0VnNjlpQjJ2USIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Wv0JFOTtyA4TPd0L0RrmmEhr-w6izbedFg2wq5rfbqZQ_hBYxBsyvVt9cO47IlocOrG025TwHcrWYGUrWn357i8_lCTp2EfLfqT-LcEo3sFdtQwSYG2vaMrw9vY6miQWczvocqoTx888XtuVUuWQUuTctM5jMl46QAoFIsjh6COJFoT-GkFF8xMcTtQThSw1hByMCb3tGgSzge98YPRk2kLUeMWjAF3v9DxJo25IN3c81I3pEpUgNP9bvfc6Y-rQseBjLjmTIns_Srh1lRp1oVxdbipJxEG9OHm9ilVafS0jB8uQnqhugv4j0O6ND5nVWpx1d1oHcdqzSy9OPBEboA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564571229" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTYzOS1vMGpiODF3aXRpd3dubjd6SER3NWhaUjI1OHhFSHFkLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ER7_jPx-ag7q8WPnMsJaDcdUiZha1_S5GT1fH31gaUovus38Z6MQz2wfdLxmJlelkef8D24GV3I0MSlfRlumm6h8RCqFgy4yKb84zCyykcNMJ9YkTll74lEtufOg6FwCnfa1XuQeGGnC-KbH8ulv_VOvmKsh6mpWsigbyrYvHvKfs-rs04snhBZbwQ1VMveC2II3H82lAXAxSCgev1ce5LBNfr3IpBzM4YbyCm4quc8lMZ_0xSsbDOlg_-72bXfenk4kD1FUZ6kV5PUGsyJvXNV3m-hHbUvmiYZkXm-_-YfOCQxQ_X6sCO6E0Lv6L9dH14fhKO0QEaFqibjVQdCnJg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjcyYmY1ZDItNzE0NS00ZmEyLTk4YjctZjYzNDRmNTMwZDI0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTYzOS1vMGpiODF3aXRpd3dubjd6SER3NWhaUjI1OHhFSHFkLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ER7_jPx-ag7q8WPnMsJaDcdUiZha1_S5GT1fH31gaUovus38Z6MQz2wfdLxmJlelkef8D24GV3I0MSlfRlumm6h8RCqFgy4yKb84zCyykcNMJ9YkTll74lEtufOg6FwCnfa1XuQeGGnC-KbH8ulv_VOvmKsh6mpWsigbyrYvHvKfs-rs04snhBZbwQ1VMveC2II3H82lAXAxSCgev1ce5LBNfr3IpBzM4YbyCm4quc8lMZ_0xSsbDOlg_-72bXfenk4kD1FUZ6kV5PUGsyJvXNV3m-hHbUvmiYZkXm-_-YfOCQxQ_X6sCO6E0Lv6L9dH14fhKO0QEaFqibjVQdCnJg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="56" it="0" lt="56" ct="0" ts="1587564571185" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-33" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmU4ZTE4OWUtYmMyMC00MTc1LTkzNGItMjRhNTc5NzBkMDVh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjgsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OCwianRpIjoiSUQtVG9rZW4tMTYzMi1oaklNV0FQeGdxOG8tT1d1S3JMRkxtazFNZUlUSWhXbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Kwby4ZQfze2sxCI3sIoMP5KnJ0YUHmyXeTtuXwrs1AevLNF9P2-cEE4H2-dghpmFjBPGvPTLc0Lh6Ee1NDyVQRgUBIYR6DrmWi4i7zybGmxSpgJ_u2uGoJhGzt-3KbYOMKDBAwAH1zhoiZshAL8BcfPVmai-HWxRXWjGt6LjnoejL4C_vrEx94eTdFl-6myXyiUy3aRTe3MrYZcKFJY3ij-XllJusXSwnok4k-OCLoJ4NPLNtUA9oHhA38SCQ-yGk6yssFj_BoPJaIL7iTrQZemyyZnbuUUmqSbATVgTfOc4If3sHTUl7K2Wec-B5YU4WtEYRlpAeJkRG33ynqmRgw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YjViY2M0MzUtNjkyOS00OGFjLWE2ZjMtZmRjOTI0NGY3YTk2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="56" it="0" lt="55" ct="0" ts="1587564571186" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-23" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTlmOWRhZjAtZjM3Ni00MDdiLThkNTYtYjFjODRiYjVjZDY0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OSwianRpIjoiSUQtVG9rZW4tMTYzNC1may0wODdYU3V6V285TWU0SFp4Wm1RdkpGbXo2NG4tNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hSDEiNMdWlk034ZNJBs22UsL9quEfRggT-n_XPEozO_8VuIJulaQtc2vNYN_Ne_mIK2LuNs3xC9yP9H2p38GsOEyTThgx_91mBD4runqcTTRbs0f1_is9kgr4Rv9TB_HqbdHm_M7sikfFsDX6-XNUjShDpAziGtgfwoesx6k2H9hX1bTc2uUb0rKYzJqVcLXp0n8A890GAbKHyhiykIv4atZJ8JVfuGpiyShbU_IPuyfD44zzONRs9Z5PqOq5pONHAVkEadYT7COLQw8rL-kANq5hbx7RBHj5HpbzG4MB2CRHpgFU2C-04ushFJ5s8xjngBaIj-Kkswypc1gBLjK8g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjQzMWZjZjMtMmNhZS00Mzk5LWIyY2EtNTRmOGQzNWQ1ZGUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564571227" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0MC1tVnhLbGp2Smp5bmk0QTRjcGFQV0ZLbmpXZ09wcUhQcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OJa_zZtgGOa3XAAF4D7NnRQcyMsCrKKEtUUX6Z_m-TzqmlfeV35fqbfGup4T8Ie1HY08gZkvFyzo7LXtNhKtWVMpB7pGL9ZSFSVDFPxurEcmjFgVwOWKNA9_utIoVgCVa7L_CRvLaizN2FWRvNIpXG88F7Zw1SGZX4AyIOZaqQhA1_0GJv-6WTTtRjKJkXHSRnYeRjKbQyWGxUC-3HdiSIhluORpBYgKstPylIVG_xaOISU4Bj8ok3jBJXOaBfz3HXu0w5RV6wvZFYqVBArzsXV6PDW-JUfhhTEont42IWQ5u3K0Z5YTB_Ybs88YKyFcR8bZt00M6_21nd-mvMr6Sw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDRmYmRjOTMtNzdkYy00YWQyLWIwYzAtZDNmNTUyMDYzZDc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0MC1tVnhLbGp2Smp5bmk0QTRjcGFQV0ZLbmpXZ09wcUhQcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OJa_zZtgGOa3XAAF4D7NnRQcyMsCrKKEtUUX6Z_m-TzqmlfeV35fqbfGup4T8Ie1HY08gZkvFyzo7LXtNhKtWVMpB7pGL9ZSFSVDFPxurEcmjFgVwOWKNA9_utIoVgCVa7L_CRvLaizN2FWRvNIpXG88F7Zw1SGZX4AyIOZaqQhA1_0GJv-6WTTtRjKJkXHSRnYeRjKbQyWGxUC-3HdiSIhluORpBYgKstPylIVG_xaOISU4Bj8ok3jBJXOaBfz3HXu0w5RV6wvZFYqVBArzsXV6PDW-JUfhhTEont42IWQ5u3K0Z5YTB_Ybs88YKyFcR8bZt00M6_21nd-mvMr6Sw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564571229" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0My01N1hMVE5paS1jV1c4MTdZdUVvREl2aTd2UjJtSDFWUSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qmtkORoVRFY3RG1ByR5sKZsSwa8Qbij7CcUbRlMSJdHnX_SffQLhRWvbcaJgG0M74uhAQPMBVARF3lLyHLKXx-h557nc5vkGh69_Hqo2B9p8WgXWJEvDo06cXQyaV2xQNwtwd78pibSgbm1lyuFZ4rwqrxjT_kjuro21eaJDHrM0ZRkFNK10751ggcrBZuv5jD3oHbQyKhNm7l751z0WNqf3z9K5d3C1QH3wNPi0m0S_RA7PKTQcQkWMEVyDVUw4g06DQoGzceEkshH68O-iDoCD0gNUqC8NkASGKZhC9shJSVjUdN8GZubYlLU8K1oxvbXSQjb-CpaCBfJpGR2W9w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDllOGM0OGUtNDg3ZS00ZTVhLTk1Y2EtY2UyOWViMzUxZTAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0My01N1hMVE5paS1jV1c4MTdZdUVvREl2aTd2UjJtSDFWUSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qmtkORoVRFY3RG1ByR5sKZsSwa8Qbij7CcUbRlMSJdHnX_SffQLhRWvbcaJgG0M74uhAQPMBVARF3lLyHLKXx-h557nc5vkGh69_Hqo2B9p8WgXWJEvDo06cXQyaV2xQNwtwd78pibSgbm1lyuFZ4rwqrxjT_kjuro21eaJDHrM0ZRkFNK10751ggcrBZuv5jD3oHbQyKhNm7l751z0WNqf3z9K5d3C1QH3wNPi0m0S_RA7PKTQcQkWMEVyDVUw4g06DQoGzceEkshH68O-iDoCD0gNUqC8NkASGKZhC9shJSVjUdN8GZubYlLU8K1oxvbXSQjb-CpaCBfJpGR2W9w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="0" ts="1587564571228" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OSwianRpIjoiSUQtVG9rZW4tMTYzNS1UTHRWNnd6TEZZVHhWc3VSenY1dDExbGQ3a2JlbHNkbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Az2CVUZsIjH7Ko28G62-XV7IaHL9Lxag1lBt_QTgAu8b4shicZFP8Ni3b4R4qb2lqvy0LLkquRV1hXMN4vJJCuw0Ht6KTCQLVyyxQKK-6BHAslQgtwMIr-mUzb881wPihCljTX5k-J7yNdn_CA03Ur2NofrV7yEGzdDe81-M-QDTuYsE7qYPqwIwJ5GC2-wnQicVsWYfBrM1kmf5_cQdS20eAI6qjh8BpzUsbpJ-ZCcQIvfmCZ1ShMV5FpFxIoJSt_ZQPs0Bokv9AG870rJwwh9a3ptLPSt1OMewn6rkWsApBEQDZGKJZdyuJwARnr9A_b9D8-POAh_7D1XCLaJZBg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzdjZDhjYjMtNmQ2Mi00NTE3LThlZWYtZmMzYjhkN2Y0MGQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OSwianRpIjoiSUQtVG9rZW4tMTYzNS1UTHRWNnd6TEZZVHhWc3VSenY1dDExbGQ3a2JlbHNkbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Az2CVUZsIjH7Ko28G62-XV7IaHL9Lxag1lBt_QTgAu8b4shicZFP8Ni3b4R4qb2lqvy0LLkquRV1hXMN4vJJCuw0Ht6KTCQLVyyxQKK-6BHAslQgtwMIr-mUzb881wPihCljTX5k-J7yNdn_CA03Ur2NofrV7yEGzdDe81-M-QDTuYsE7qYPqwIwJ5GC2-wnQicVsWYfBrM1kmf5_cQdS20eAI6qjh8BpzUsbpJ-ZCcQIvfmCZ1ShMV5FpFxIoJSt_ZQPs0Bokv9AG870rJwwh9a3ptLPSt1OMewn6rkWsApBEQDZGKJZdyuJwARnr9A_b9D8-POAh_7D1XCLaJZBg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="58" it="0" lt="58" ct="0" ts="1587564571186" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-72" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmQ1N2NkZDUtY2U1YS00MjdiLWE4NTAtMDMwOWE1MzI5NDc4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjgsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OCwianRpIjoiSUQtVG9rZW4tMTYzMy1BWVktaDNFWk5tbXlaNHo3dFl6LVJQQkdOYmdVMHo3TSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.G3Q6I7z1GT8nQ2oUEfaQkqN6SIpIQkxecYg4b5b7NIAEaaIshHRNwncqu3wk6KsvmELEwoeumQDQutdkkWv1lCQFPN3a9m5lyzpP0kwgPE0IMMYy0LzcY0mnEIvnKmvqIOvCaNIXTW6X57tsuj1adsRiWdeMKPG8u4YUMD6InfkosU8ooN_3BF3WOuITHFJ0xhlRD_IPP9PgbiKM2fTImxOchbt-DQpYdCL3pDLKdIeTCYlrKwOVGYjpZq9c6Qcfxr1cTxbMEH3IRoPjXBbUS5nrReoCtijwvcK65YoXQ6Ea0DGQbVCBGEpt-bcvaBi9FomYJqSfFc5XjSeCwAFiAQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NzllODliMDEtMWI3Yy00YTIzLThjMzgtZmNkMjM5ZjRhNWNh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564571227" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OSwianRpIjoiSUQtVG9rZW4tMTYzNy1oSURUbGYxbk4yWTBjaGgwa1gxbWx4NVVUZnFMckRUUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.altBXW4FAlGf8aBz788p2whS9rsFljl8gK4ZRyoiOGBXjyqwkE9L4b2sVkENeup7CItDbC_uBijwCCENXLJe0BARm6ftNVOvV-x19euaghAmDPBtFkSpBvifct8D2gXMVd2dq6S30S-7y1ykCVyLPzYVO4oOz5IJPNAUNuopKZTghe3f259GbbNYMoBpege2jEVUBI0o9yjQBxtKIR2te2y1LLAXHOtyvS9fENDtQRaja5iPz0B-z0VT0pIv3HZWq9wkzDZeJsT2lWmhDgUo0_EK8e1OoCi8WtwaEMemAmQn1G5DbwLVwQJVSDHco1xTH1_tULbnKHBGkqz9xfzquQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjA5MGZlYmEtMTYzNC00NDU2LWE0NGEtN2FmOTk4OGY3MDM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OSwianRpIjoiSUQtVG9rZW4tMTYzNy1oSURUbGYxbk4yWTBjaGgwa1gxbWx4NVVUZnFMckRUUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.altBXW4FAlGf8aBz788p2whS9rsFljl8gK4ZRyoiOGBXjyqwkE9L4b2sVkENeup7CItDbC_uBijwCCENXLJe0BARm6ftNVOvV-x19euaghAmDPBtFkSpBvifct8D2gXMVd2dq6S30S-7y1ykCVyLPzYVO4oOz5IJPNAUNuopKZTghe3f259GbbNYMoBpege2jEVUBI0o9yjQBxtKIR2te2y1LLAXHOtyvS9fENDtQRaja5iPz0B-z0VT0pIv3HZWq9wkzDZeJsT2lWmhDgUo0_EK8e1OoCi8WtwaEMemAmQn1G5DbwLVwQJVSDHco1xTH1_tULbnKHBGkqz9xfzquQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="116" it="0" lt="116" ct="0" ts="1587564571234" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-92" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODVjZGU2ZmEtZjZmZi00NTMyLThjZDEtMGUyZTdjMzMxODc2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0NS1QZHVQd3RsRTl3WndGSk0wczR1MU8xakdFZUdQQ2p3dyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZISF0rSqoW7XQNoEH6CG4a3QUTskxhTPde5RkDBksio482DBjjJJCFLi7PyoyZ3pwGjLVbZiGX-vx7E0xepP9OLEcMVLASaqjOeny4dUxbci2H4G6SQc6BFwstDCy9E5plOJ0jZ5_qEx5HtfXaKvCp7xfF9zJ1Grv4IMU1OTnDzE4dShHIZBfb8ck6fsCO7ASvzC3D110zkKMNQVyoq44hemQSWFYeoM_Vgt0lzKA0c8FxFLq38rOCqQMwDDrDHwp0ESfPUDuSt4DORznqPZ95PlNK0gmR-TlAJGsGUuxW4x7gz27lD9uz6V9X1lHNZUbqiqfYc6iUE06Zomd1cQGw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzM2MDA3ODgtN2NkZS00MDE0LTg4MzAtMzZlMWYzZmNmNTZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="119" it="0" lt="119" ct="0" ts="1587564571232" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-53" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmQyNTFiZGMtY2UxMC00NGQ1LTliMWItYTAxYjA3YThkNWQ4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0Ni1MYzFPeFR6LTM1WEZtQmhKbFRoWXRqYzllRHQwWTBscCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.D6BOv44hdnebHu9XHenYQzIWg3Z8rvEt_rzC_BAlAv2J2d1WLKL3LkXl9uPVJVues78KtOxF07ttVfogUjh_G8TDC-pmSFh5cYT-9gVHQkZwk4DMod47MpqNucpykgMLw-9RaSxYtIOr7vi7z3wprI3iyRhc7p9wzx9k_VPHyOJdhyDcs1FHFX9dhskI6w6ZIFWHxLL0LpEaMBb4v1g-U8L2OX9L1Rskl0FbdyLgyeDkmvcK8MMONvPvKv_E_ymlvEzHvIow0SSeReE-GuNowowvLAPj5jiJWAFtbGMMO4eWJ6_yWWhZQoQv6QwQE6kP1a07mFL5wcevHt_jdeKWJQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MmYyNjA1OGYtYzcwOC00NjY1LTg3YmUtY2VhMjJjMDE3M2U1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="118" it="0" lt="117" ct="0" ts="1587564571236" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWJiOTg2NWEtZjZiMC00ZDliLWExYWItMmRlMGU5ZDk2NGY2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0NC02U2V4Nk9FRi1BLWNPWjZvRmlEaUdGOVhWZDJmZGlncCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QTGVa9ZJOJfQ_jsied5tIvYzc-0Dl_xZbUB8XMLXVvfjG_70IGDEPoR1mCaG70jinGFuTlXYX8nr95sn3KoSKupmWojKmP4a_3-4Ofw0neVCab_N2hiIWh044jYDz9Jt0X1YnfBjoR8h1xnziS0i8_RLH70FIylmQxLXyROyILNw5CW7ijDN7RZZnh6pCI7f3gxEtkKGPLyctZrBn6NQxMexYgVp7bzgICDx38KtpK0rCk7lyWLV8gUwH0HmFsH_FTIZfh0WJqwqPMjeDfNOdyfura696yqyDMXIjUNxfm_cV-ytD-Y_hn09HwKZnm1GlUGPs0EyWrdGzyJrvuEbjg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTY4Y2JkOTktMDRlZi00ZTFkLTkxY2EtNWU1ZDg4Yzc0NGJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="111" it="0" lt="110" ct="0" ts="1587564571244" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-15" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWQ4ZTFkOWYtYTI3Yy00OGRiLWI4ODUtMjZhNmJhNGZjZjI5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0My01N1hMVE5paS1jV1c4MTdZdUVvREl2aTd2UjJtSDFWUSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qmtkORoVRFY3RG1ByR5sKZsSwa8Qbij7CcUbRlMSJdHnX_SffQLhRWvbcaJgG0M74uhAQPMBVARF3lLyHLKXx-h557nc5vkGh69_Hqo2B9p8WgXWJEvDo06cXQyaV2xQNwtwd78pibSgbm1lyuFZ4rwqrxjT_kjuro21eaJDHrM0ZRkFNK10751ggcrBZuv5jD3oHbQyKhNm7l751z0WNqf3z9K5d3C1QH3wNPi0m0S_RA7PKTQcQkWMEVyDVUw4g06DQoGzceEkshH68O-iDoCD0gNUqC8NkASGKZhC9shJSVjUdN8GZubYlLU8K1oxvbXSQjb-CpaCBfJpGR2W9w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NDllOGM0OGUtNDg3ZS00ZTVhLTk1Y2EtY2UyOWViMzUxZTAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="114" it="0" lt="114" ct="0" ts="1587564571242" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-23" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGM4ZjZiNjEtNzAwMi00OGZlLTk5YzItZDVmOGE4NTY2MjYw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OSwianRpIjoiSUQtVG9rZW4tMTYzNC1may0wODdYU3V6V285TWU0SFp4Wm1RdkpGbXo2NG4tNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.hSDEiNMdWlk034ZNJBs22UsL9quEfRggT-n_XPEozO_8VuIJulaQtc2vNYN_Ne_mIK2LuNs3xC9yP9H2p38GsOEyTThgx_91mBD4runqcTTRbs0f1_is9kgr4Rv9TB_HqbdHm_M7sikfFsDX6-XNUjShDpAziGtgfwoesx6k2H9hX1bTc2uUb0rKYzJqVcLXp0n8A890GAbKHyhiykIv4atZJ8JVfuGpiyShbU_IPuyfD44zzONRs9Z5PqOq5pONHAVkEadYT7COLQw8rL-kANq5hbx7RBHj5HpbzG4MB2CRHpgFU2C-04ushFJ5s8xjngBaIj-Kkswypc1gBLjK8g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTlmOWRhZjAtZjM3Ni00MDdiLThkNTYtYjFjODRiYjVjZDY0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564571356" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmVlMTI0ZmItZWE1MC00NmJjLWEwN2YtZmIyZjZjYWE3NjJm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="129" it="0" lt="128" ct="0" ts="1587564571235" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-76" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTE5MjQ1N2QtMDNhMS00NDlkLWFiNGMtMzRmYTI5MGE2YjVi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0Mi1DN0ZtU2lTWlFwNEQ1Ync5NWZOLVhmVXJHOXllN0xOYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KkQ36BJfKIGYMillvoaVltR4RR0qfnQ5j6X-yUGO0aIJqy4zRxMRABlwCupDY7Nk-O8guuCBHqCbeC21G7uSSWDTap8HTAA8VxST6UkllSqMb_dXLf3Uxdb-6ytR-FUjRazpquJAZdQRuQH67ukv2jj8HV3zdiiaj2WGvtPOp8bLjegD5S_Ksg89c-XlKrKzjTVVqwYD3UjQIy9lbqc_Dyec0311xTBleJCb2R8UD3YoxP5zOCJNYJnOC2LN_DUDKydhffzhQL3sdqmaVZdKvevdEnhQjV_OrIxkKhWA2zd7pNrfnf-cgdihbJoWOu4yKEzDiBZamTkqJjCXtbUEzw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjNjODE1ZjAtZjY4ZC00MDI5LThkNmYtNDU5NmQzMmZlZGJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564571360" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmVlMTI0ZmItZWE1MC00NmJjLWEwN2YtZmIyZjZjYWE3NjJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="144" it="0" lt="144" ct="0" ts="1587564571228" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2I5MjBlMWItZTk2OC00MDA2LWFlZWEtZGY2OTU2YzAyZDMy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0OC1pVlV4RVRxNnBCazIwV1VmcDBLeHgtNHNzdmZZNWFEQSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TbGWM2k4GzgeQiXyW95QV30gkaqODMABw3SkwfXlLgyDUmLVMjIhhlewR-zCmVWnCh0dwdMi0gAO5aIeuKfUPMTqJZpn-aLAIUMaceEOKMv-wenB9pMxO_C2E66Azaefhb9OhQh3ZV7rzjthb7fXQ7ZgFaAZau-nUrHfXQb1iw3xskNHFeJfsg8XUxAzNJauz7nItMOc81bWYtqwnwmmkSIH2vf5HJJWlJqyUMkRmlJBAugakKNU3R0gRyOOF0eU2uribogxuP2PaI_d_fkXSnlIGxKjZfjkYk8_2zRW34EaAzqhBcaPHOlARqQMkQXA2UkBEPZAKcrb79FphKZFoA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NTg3ODVhYzMtODlhNC00ZmUwLWE1OWYtOWU2YThhYmIwODkw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="150" it="0" lt="150" ct="0" ts="1587564571223" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-80" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDE2YzU1ZTYtNTA4Ny00MWQzLWEyNzItNjI1MmRjODhkNzhi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OSwianRpIjoiSUQtVG9rZW4tMTYzNi1qTnY3VUNMWHhsUnFBZW1LdWtnYXllcmN1MmVlcy12SCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AyDX4WgvVTOPv3Qvv3tOjK_NWz_GFX4TyWJ6mpA0MWKFHwoeNEFfkrmiIrZWfOrbHzIpazgW1ASRNTbaZDQ7QYIfodvuvTH0rOR_0m8QkRTG-LpoDMgrAeCGNKWWrLbDx6GQvTi01cOpw8CLWBQSo4RKxwFQ3dlgkHbbqUt9gNEKnnRAGM8kEGPfu77tXdEF5MBb9cyyfEvw7JQnj5ItpmY3tZ82avkd2JqHBSfmlTnoPPGFSQHdcMN48WSg1SI3_x2M1bRkrTDiBk3dxYjFa_k7MyWUABNJYpNKdEpR8VzRCVOIMvcG-apvtmVjSYwVDIGJi1AwNyxWDMF-j13m4w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YWU0MjdlMjgtNGYyOC00NTYxLTk1NTUtODIzNjM2N2M1NWQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="133" it="0" lt="132" ct="0" ts="1587564571243" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-78" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTQ5OGQyNjQtZDU0MC00OTViLTk0NzctNWVkNDJhNDdlYzMx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0MC1tVnhLbGp2Smp5bmk0QTRjcGFQV0ZLbmpXZ09wcUhQcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OJa_zZtgGOa3XAAF4D7NnRQcyMsCrKKEtUUX6Z_m-TzqmlfeV35fqbfGup4T8Ie1HY08gZkvFyzo7LXtNhKtWVMpB7pGL9ZSFSVDFPxurEcmjFgVwOWKNA9_utIoVgCVa7L_CRvLaizN2FWRvNIpXG88F7Zw1SGZX4AyIOZaqQhA1_0GJv-6WTTtRjKJkXHSRnYeRjKbQyWGxUC-3HdiSIhluORpBYgKstPylIVG_xaOISU4Bj8ok3jBJXOaBfz3HXu0w5RV6wvZFYqVBArzsXV6PDW-JUfhhTEont42IWQ5u3K0Z5YTB_Ybs88YKyFcR8bZt00M6_21nd-mvMr6Sw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDRmYmRjOTMtNzdkYy00YWQyLWIwYzAtZDNmNTUyMDYzZDc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="139" it="0" lt="139" ct="0" ts="1587564571237" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-55" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmE4NjU5MjktODlkNS00YzAwLWFkYmYtZWZhNDJlMmI3ZGRj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0Ny01UTZsLUpCeVZObUNWM01LM0pBTFQzV0VnNjlpQjJ2USIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Wv0JFOTtyA4TPd0L0RrmmEhr-w6izbedFg2wq5rfbqZQ_hBYxBsyvVt9cO47IlocOrG025TwHcrWYGUrWn357i8_lCTp2EfLfqT-LcEo3sFdtQwSYG2vaMrw9vY6miQWczvocqoTx888XtuVUuWQUuTctM5jMl46QAoFIsjh6COJFoT-GkFF8xMcTtQThSw1hByMCb3tGgSzge98YPRk2kLUeMWjAF3v9DxJo25IN3c81I3pEpUgNP9bvfc6Y-rQseBjLjmTIns_Srh1lRp1oVxdbipJxEG9OHm9ilVafS0jB8uQnqhugv4j0O6ND5nVWpx1d1oHcdqzSy9OPBEboA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzBhNTFmMzEtNjMzNC00NmU2LTgzNGItOTY1NzgzNjk3OTkw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="131" it="0" lt="130" ct="0" ts="1587564571246" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWNkZDg5NTItMDQ5Ni00MTY2LWEzODYtM2M5NjYyMTdjNGRh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OSwianRpIjoiSUQtVG9rZW4tMTYzNy1oSURUbGYxbk4yWTBjaGgwa1gxbWx4NVVUZnFMckRUUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.altBXW4FAlGf8aBz788p2whS9rsFljl8gK4ZRyoiOGBXjyqwkE9L4b2sVkENeup7CItDbC_uBijwCCENXLJe0BARm6ftNVOvV-x19euaghAmDPBtFkSpBvifct8D2gXMVd2dq6S30S-7y1ykCVyLPzYVO4oOz5IJPNAUNuopKZTghe3f259GbbNYMoBpege2jEVUBI0o9yjQBxtKIR2te2y1LLAXHOtyvS9fENDtQRaja5iPz0B-z0VT0pIv3HZWq9wkzDZeJsT2lWmhDgUo0_EK8e1OoCi8WtwaEMemAmQn1G5DbwLVwQJVSDHco1xTH1_tULbnKHBGkqz9xfzquQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NjA5MGZlYmEtMTYzNC00NDU2LWE0NGEtN2FmOTk4OGY3MDM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="141" it="0" lt="140" ct="0" ts="1587564571238" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-96" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjcxMjRlZjktNzYxMC00YTRiLThjYTUtMGFiYzJmODFiMGFh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTYzOS1vMGpiODF3aXRpd3dubjd6SER3NWhaUjI1OHhFSHFkLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ER7_jPx-ag7q8WPnMsJaDcdUiZha1_S5GT1fH31gaUovus38Z6MQz2wfdLxmJlelkef8D24GV3I0MSlfRlumm6h8RCqFgy4yKb84zCyykcNMJ9YkTll74lEtufOg6FwCnfa1XuQeGGnC-KbH8ulv_VOvmKsh6mpWsigbyrYvHvKfs-rs04snhBZbwQ1VMveC2II3H82lAXAxSCgev1ce5LBNfr3IpBzM4YbyCm4quc8lMZ_0xSsbDOlg_-72bXfenk4kD1FUZ6kV5PUGsyJvXNV3m-hHbUvmiYZkXm-_-YfOCQxQ_X6sCO6E0Lv6L9dH14fhKO0QEaFqibjVQdCnJg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjcyYmY1ZDItNzE0NS00ZmEyLTk4YjctZjYzNDRmNTMwZDI0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="151" it="0" lt="151" ct="0" ts="1587564571228" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-74" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmZkNWNjOTQtMmViMS00NGZmLTkyNTEtOGQyYjJiZDNmN2M2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0MS0tZnYzWDhBdWdndDVsb2owNHlLSEUtOFdxTG1lc0NzeCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.J1XBjLTUheIpJWpvsNKGdzMmmQkABAMkU0WyGd57rIsSpxFLCqdwXXZ0dcvHjYm56z1yxxnBPxpfRe7gJT4E-A4TouXaRNuDIyl_JCGpNT7PrfHAs0ZBHLHyGjg8e15zXoZq-5e-_QcBl5H4wgVm7uRUgicmkE4DFULAuzOGFqfFiKdx25F7As5rALCWvGyefOjYEvQqqpwuS5oWHEwoV5CO1Pn1Uj2OYRJ1IiewvkWTgpoFApBmA43fUoRdjuuIugASlTy-OKhr87OLgtM9zq-KUuzRAIJqU5VLNbtT6n2OUb7z4ESNisvUP6fLbBKolh9lf576N0ZYVtv_33yZCg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MGZhY2U4NDEtYWVmNy00ZWE4LTk5ODctN2Y0NmI4YmIxMWU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="135" it="0" lt="135" ct="0" ts="1587564571244" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-86" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjRhZDk1MWMtNjBjNy00ODYxLTgxN2MtZDdkYmRmNWU0ZGRi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OSwianRpIjoiSUQtVG9rZW4tMTYzNS1UTHRWNnd6TEZZVHhWc3VSenY1dDExbGQ3a2JlbHNkbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Az2CVUZsIjH7Ko28G62-XV7IaHL9Lxag1lBt_QTgAu8b4shicZFP8Ni3b4R4qb2lqvy0LLkquRV1hXMN4vJJCuw0Ht6KTCQLVyyxQKK-6BHAslQgtwMIr-mUzb881wPihCljTX5k-J7yNdn_CA03Ur2NofrV7yEGzdDe81-M-QDTuYsE7qYPqwIwJ5GC2-wnQicVsWYfBrM1kmf5_cQdS20eAI6qjh8BpzUsbpJ-ZCcQIvfmCZ1ShMV5FpFxIoJSt_ZQPs0Bokv9AG870rJwwh9a3ptLPSt1OMewn6rkWsApBEQDZGKJZdyuJwARnr9A_b9D8-POAh_7D1XCLaJZBg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzdjZDhjYjMtNmQ2Mi00NTE3LThlZWYtZmMzYjhkN2Y0MGQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="145" it="0" lt="144" ct="0" ts="1587564571235" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-77" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmMyOTkxMjgtOTY4ZC00ZTFhLWFjMzEtYTljMzhjMjI0NGJl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTYzOC1vdkwwb2lYYTFLTTBUREJBU29wNTR4WXB1ajFtaHlFdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.M9d80YnkbdGeYdnFR6VjZ-R9PTAyCtr1hHwKi_J1u_zrbF9_AjTu9uIfBP529--3RsaTZV0XUOgTMiYaxJ3vULIC1ijtEbexIGc0-wRv3STm0G3Im22iaqpeDiRSNHkELsP8afeZEm6fMqO-c6LRcXEMOKH-ednWeqnX6LhVcQFGzJgcOgLFWFRxqUq9FDMeFK5Q0A57U7x-yEyQumqKafTVFhls_Da18f7YmqqqaMKKmD2fue5kcOoCXtmku17_722WTF3S00YnjAVIYNvIlKEeezO522DG6RZGCgovENATnLyzGltbLO44Ll-V0PftOT4nugMJs1G_6zH8zmhPJg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=M2FlODgxNWYtNjQ4Mi00YTZlLTlkYzgtYjliYWFjMjUwNTQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="143" it="0" lt="143" ct="0" ts="1587564571242" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-33" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzVjYzAxNGQtNWIxYi00YWJkLTg4MzYtZTlhOWJmMTJmNjI2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjgsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OCwianRpIjoiSUQtVG9rZW4tMTYzMi1oaklNV0FQeGdxOG8tT1d1S3JMRkxtazFNZUlUSWhXbyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Kwby4ZQfze2sxCI3sIoMP5KnJ0YUHmyXeTtuXwrs1AevLNF9P2-cEE4H2-dghpmFjBPGvPTLc0Lh6Ee1NDyVQRgUBIYR6DrmWi4i7zybGmxSpgJ_u2uGoJhGzt-3KbYOMKDBAwAH1zhoiZshAL8BcfPVmai-HWxRXWjGt6LjnoejL4C_vrEx94eTdFl-6myXyiUy3aRTe3MrYZcKFJY3ij-XllJusXSwnok4k-OCLoJ4NPLNtUA9oHhA38SCQ-yGk6yssFj_BoPJaIL7iTrQZemyyZnbuUUmqSbATVgTfOc4If3sHTUl7K2Wec-B5YU4WtEYRlpAeJkRG33ynqmRgw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmU4ZTE4OWUtYmMyMC00MTc1LTkzNGItMjRhNTc5NzBkMDVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="147" it="0" lt="146" ct="0" ts="1587564571244" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-72" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWM2YzllMjAtZTU5MS00ZTVkLWJhN2MtYTA3NDdhNjI1YmIx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjgsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OCwianRpIjoiSUQtVG9rZW4tMTYzMy1BWVktaDNFWk5tbXlaNHo3dFl6LVJQQkdOYmdVMHo3TSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.G3Q6I7z1GT8nQ2oUEfaQkqN6SIpIQkxecYg4b5b7NIAEaaIshHRNwncqu3wk6KsvmELEwoeumQDQutdkkWv1lCQFPN3a9m5lyzpP0kwgPE0IMMYy0LzcY0mnEIvnKmvqIOvCaNIXTW6X57tsuj1adsRiWdeMKPG8u4YUMD6InfkosU8ooN_3BF3WOuITHFJ0xhlRD_IPP9PgbiKM2fTImxOchbt-DQpYdCL3pDLKdIeTCYlrKwOVGYjpZq9c6Qcfxr1cTxbMEH3IRoPjXBbUS5nrReoCtijwvcK65YoXQ6Ea0DGQbVCBGEpt-bcvaBi9FomYJqSfFc5XjSeCwAFiAQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MmQ1N2NkZDUtY2U1YS00MjdiLWE4NTAtMDMwOWE1MzI5NDc4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564571386" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTIzZTViNzEtMzg5NS00ZGRmLWJmMzQtOTkwNmNiODlhYTM4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564571391" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGZlYmM1NmEtYTdmMS00Yjg3LWFhNmUtYzk2M2ZhY2E3YTQ1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564571391" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTIzZTViNzEtMzg5NS00ZGRmLWJmMzQtOTkwNmNiODlhYTM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564571395" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGZlYmM1NmEtYTdmMS00Yjg3LWFhNmUtYzk2M2ZhY2E3YTQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="76" it="0" lt="76" ct="0" ts="1587564571354" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmQ5ZjBlNTctMjE0OC00ZjFjLTgxZjktM2U3Y2RlNzAxMzFh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0NC02U2V4Nk9FRi1BLWNPWjZvRmlEaUdGOVhWZDJmZGlncCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QTGVa9ZJOJfQ_jsied5tIvYzc-0Dl_xZbUB8XMLXVvfjG_70IGDEPoR1mCaG70jinGFuTlXYX8nr95sn3KoSKupmWojKmP4a_3-4Ofw0neVCab_N2hiIWh044jYDz9Jt0X1YnfBjoR8h1xnziS0i8_RLH70FIylmQxLXyROyILNw5CW7ijDN7RZZnh6pCI7f3gxEtkKGPLyctZrBn6NQxMexYgVp7bzgICDx38KtpK0rCk7lyWLV8gUwH0HmFsH_FTIZfh0WJqwqPMjeDfNOdyfura696yqyDMXIjUNxfm_cV-ytD-Y_hn09HwKZnm1GlUGPs0EyWrdGzyJrvuEbjg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWJiOTg2NWEtZjZiMC00ZDliLWExYWItMmRlMGU5ZDk2NGY2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564571430" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGQ4YmU0YTEtNWJlMC00OTE1LTliY2ItYjMzMTEzMGVkMzk5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564571433" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGQ4YmU0YTEtNWJlMC00OTE1LTliY2ItYjMzMTEzMGVkMzk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="84" it="0" lt="83" ct="0" ts="1587564571376" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-78" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDc3OTA4MGEtN2Q4Zi00ODI1LTgxYzMtMDEwZDUxMjY3MjFl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0MC1tVnhLbGp2Smp5bmk0QTRjcGFQV0ZLbmpXZ09wcUhQcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.OJa_zZtgGOa3XAAF4D7NnRQcyMsCrKKEtUUX6Z_m-TzqmlfeV35fqbfGup4T8Ie1HY08gZkvFyzo7LXtNhKtWVMpB7pGL9ZSFSVDFPxurEcmjFgVwOWKNA9_utIoVgCVa7L_CRvLaizN2FWRvNIpXG88F7Zw1SGZX4AyIOZaqQhA1_0GJv-6WTTtRjKJkXHSRnYeRjKbQyWGxUC-3HdiSIhluORpBYgKstPylIVG_xaOISU4Bj8ok3jBJXOaBfz3HXu0w5RV6wvZFYqVBArzsXV6PDW-JUfhhTEont42IWQ5u3K0Z5YTB_Ybs88YKyFcR8bZt00M6_21nd-mvMr6Sw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTQ5OGQyNjQtZDU0MC00OTViLTk0NzctNWVkNDJhNDdlYzMx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564571460" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWY2ZWZhYWEtMmZmYy00OWQzLWFkOGUtNDkwNWRlY2UzZjlk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564571463" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWY2ZWZhYWEtMmZmYy00OWQzLWFkOGUtNDkwNWRlY2UzZjlk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="749" it="0" lt="749" ct="0" ts="1587564570730" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGJmMjFhMGEtZjVlZi00MWMzLTg5Y2UtOTEwZmU0MGJiNjg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1947-hXuiTiKUS0VzhCqPcsPah4U8v9Qc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="124" it="0" lt="124" ct="0" ts="1587564571356" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-15" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGY0YzhhOGItOTAyYS00ZjE1LWE4YWEtMDljNDVkZGViZDVl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0My01N1hMVE5paS1jV1c4MTdZdUVvREl2aTd2UjJtSDFWUSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qmtkORoVRFY3RG1ByR5sKZsSwa8Qbij7CcUbRlMSJdHnX_SffQLhRWvbcaJgG0M74uhAQPMBVARF3lLyHLKXx-h557nc5vkGh69_Hqo2B9p8WgXWJEvDo06cXQyaV2xQNwtwd78pibSgbm1lyuFZ4rwqrxjT_kjuro21eaJDHrM0ZRkFNK10751ggcrBZuv5jD3oHbQyKhNm7l751z0WNqf3z9K5d3C1QH3wNPi0m0S_RA7PKTQcQkWMEVyDVUw4g06DQoGzceEkshH68O-iDoCD0gNUqC8NkASGKZhC9shJSVjUdN8GZubYlLU8K1oxvbXSQjb-CpaCBfJpGR2W9w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YWQ4ZTFkOWYtYTI3Yy00OGRiLWI4ODUtMjZhNmJhNGZjZjI5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="109" it="0" lt="108" ct="0" ts="1587564571373" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-80" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGE1NTNkNTYtN2RlZi00YjVlLTlmMjMtNjdkNzZkNTBkZTI4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OSwianRpIjoiSUQtVG9rZW4tMTYzNi1qTnY3VUNMWHhsUnFBZW1LdWtnYXllcmN1MmVlcy12SCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.AyDX4WgvVTOPv3Qvv3tOjK_NWz_GFX4TyWJ6mpA0MWKFHwoeNEFfkrmiIrZWfOrbHzIpazgW1ASRNTbaZDQ7QYIfodvuvTH0rOR_0m8QkRTG-LpoDMgrAeCGNKWWrLbDx6GQvTi01cOpw8CLWBQSo4RKxwFQ3dlgkHbbqUt9gNEKnnRAGM8kEGPfu77tXdEF5MBb9cyyfEvw7JQnj5ItpmY3tZ82avkd2JqHBSfmlTnoPPGFSQHdcMN48WSg1SI3_x2M1bRkrTDiBk3dxYjFa_k7MyWUABNJYpNKdEpR8VzRCVOIMvcG-apvtmVjSYwVDIGJi1AwNyxWDMF-j13m4w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDE2YzU1ZTYtNTA4Ny00MWQzLWEyNzItNjI1MmRjODhkNzhi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="131" it="0" lt="130" ct="0" ts="1587564571351" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-92" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWYxZmI0NzktOTE3ZC00ODIyLWIyZjEtZmMyOTlkNmNkYmE2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0NS1QZHVQd3RsRTl3WndGSk0wczR1MU8xakdFZUdQQ2p3dyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZISF0rSqoW7XQNoEH6CG4a3QUTskxhTPde5RkDBksio482DBjjJJCFLi7PyoyZ3pwGjLVbZiGX-vx7E0xepP9OLEcMVLASaqjOeny4dUxbci2H4G6SQc6BFwstDCy9E5plOJ0jZ5_qEx5HtfXaKvCp7xfF9zJ1Grv4IMU1OTnDzE4dShHIZBfb8ck6fsCO7ASvzC3D110zkKMNQVyoq44hemQSWFYeoM_Vgt0lzKA0c8FxFLq38rOCqQMwDDrDHwp0ESfPUDuSt4DORznqPZ95PlNK0gmR-TlAJGsGUuxW4x7gz27lD9uz6V9X1lHNZUbqiqfYc6iUE06Zomd1cQGw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ODVjZGU2ZmEtZjZmZi00NTMyLThjZDEtMGUyZTdjMzMxODc2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="105" it="0" lt="105" ct="0" ts="1587564571377" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjBjOGQzZTYtOTg2ZC00ZDc0LWFmMGEtOTI5NGRkMzI4NTIy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OSwianRpIjoiSUQtVG9rZW4tMTYzNy1oSURUbGYxbk4yWTBjaGgwa1gxbWx4NVVUZnFMckRUUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.altBXW4FAlGf8aBz788p2whS9rsFljl8gK4ZRyoiOGBXjyqwkE9L4b2sVkENeup7CItDbC_uBijwCCENXLJe0BARm6ftNVOvV-x19euaghAmDPBtFkSpBvifct8D2gXMVd2dq6S30S-7y1ykCVyLPzYVO4oOz5IJPNAUNuopKZTghe3f259GbbNYMoBpege2jEVUBI0o9yjQBxtKIR2te2y1LLAXHOtyvS9fENDtQRaja5iPz0B-z0VT0pIv3HZWq9wkzDZeJsT2lWmhDgUo0_EK8e1OoCi8WtwaEMemAmQn1G5DbwLVwQJVSDHco1xTH1_tULbnKHBGkqz9xfzquQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWNkZDg5NTItMDQ5Ni00MTY2LWEzODYtM2M5NjYyMTdjNGRh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="109" it="0" lt="108" ct="0" ts="1587564571373" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2Y2ZTQ2YzYtMWJkNy00MDQwLWIzMGQtNTRmYTkwZDcwODQ1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0OC1pVlV4RVRxNnBCazIwV1VmcDBLeHgtNHNzdmZZNWFEQSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TbGWM2k4GzgeQiXyW95QV30gkaqODMABw3SkwfXlLgyDUmLVMjIhhlewR-zCmVWnCh0dwdMi0gAO5aIeuKfUPMTqJZpn-aLAIUMaceEOKMv-wenB9pMxO_C2E66Azaefhb9OhQh3ZV7rzjthb7fXQ7ZgFaAZau-nUrHfXQb1iw3xskNHFeJfsg8XUxAzNJauz7nItMOc81bWYtqwnwmmkSIH2vf5HJJWlJqyUMkRmlJBAugakKNU3R0gRyOOF0eU2uribogxuP2PaI_d_fkXSnlIGxKjZfjkYk8_2zRW34EaAzqhBcaPHOlARqQMkQXA2UkBEPZAKcrb79FphKZFoA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2I5MjBlMWItZTk2OC00MDA2LWFlZWEtZGY2OTU2YzAyZDMy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564571480" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzQ1Yjc2MTEtZWUyMS00MzUzLTkwODctNWQ2Mzk1ZWI3Y2M2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564571479" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGJmMjFhMGEtZjVlZi00MWMzLTg5Y2UtOTEwZmU0MGJiNjg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564571482" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGI1MzRjNTEtZGMzZS00MTUxLWJkYzMtMmUwZTMwMWFlZWM3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564571482" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTRjMmVjY2MtNTIwYS00MTlhLTk4ZmQtNjZhZDBlYjVhNDhi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564571482" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTZkNjJkYzItMTA1ZC00ZTdhLTgyMDAtMmZjNTA0NmExZjNk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564571483" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDI3MjMwODAtNGFjZC00NjA5LWFkMTEtZmUxYzE1NjE5OWJh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="28" it="0" lt="28" ct="0" ts="1587564571485" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzQ1Yjc2MTEtZWUyMS00MzUzLTkwODctNWQ2Mzk1ZWI3Y2M2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="134" it="0" lt="133" ct="0" ts="1587564571380" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-86" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTU0YmZkZTMtNmNkZi00NWJkLTg1M2QtNGZkZDFiYjA4MmFi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNjksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU2OSwianRpIjoiSUQtVG9rZW4tMTYzNS1UTHRWNnd6TEZZVHhWc3VSenY1dDExbGQ3a2JlbHNkbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Az2CVUZsIjH7Ko28G62-XV7IaHL9Lxag1lBt_QTgAu8b4shicZFP8Ni3b4R4qb2lqvy0LLkquRV1hXMN4vJJCuw0Ht6KTCQLVyyxQKK-6BHAslQgtwMIr-mUzb881wPihCljTX5k-J7yNdn_CA03Ur2NofrV7yEGzdDe81-M-QDTuYsE7qYPqwIwJ5GC2-wnQicVsWYfBrM1kmf5_cQdS20eAI6qjh8BpzUsbpJ-ZCcQIvfmCZ1ShMV5FpFxIoJSt_ZQPs0Bokv9AG870rJwwh9a3ptLPSt1OMewn6rkWsApBEQDZGKJZdyuJwARnr9A_b9D8-POAh_7D1XCLaJZBg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NjRhZDk1MWMtNjBjNy00ODYxLTgxN2MtZDdkYmRmNWU0ZGRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="163" it="0" lt="161" ct="0" ts="1587564571352" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-53" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDViZjU4ZTUtYTJiNC00OGRiLTkwNjQtNmYzYzE0NGE1NmJk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0Ni1MYzFPeFR6LTM1WEZtQmhKbFRoWXRqYzllRHQwWTBscCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.D6BOv44hdnebHu9XHenYQzIWg3Z8rvEt_rzC_BAlAv2J2d1WLKL3LkXl9uPVJVues78KtOxF07ttVfogUjh_G8TDC-pmSFh5cYT-9gVHQkZwk4DMod47MpqNucpykgMLw-9RaSxYtIOr7vi7z3wprI3iyRhc7p9wzx9k_VPHyOJdhyDcs1FHFX9dhskI6w6ZIFWHxLL0LpEaMBb4v1g-U8L2OX9L1Rskl0FbdyLgyeDkmvcK8MMONvPvKv_E_ymlvEzHvIow0SSeReE-GuNowowvLAPj5jiJWAFtbGMMO4eWJ6_yWWhZQoQv6QwQE6kP1a07mFL5wcevHt_jdeKWJQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MmQyNTFiZGMtY2UxMC00NGQ1LTliMWItYTAxYjA3YThkNWQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="25" it="0" lt="25" ct="0" ts="1587564571490" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTRjMmVjY2MtNTIwYS00MTlhLTk4ZmQtNjZhZDBlYjVhNDhi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="26" it="0" lt="26" ct="0" ts="1587564571490" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGI1MzRjNTEtZGMzZS00MTUxLWJkYzMtMmUwZTMwMWFlZWM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="139" it="0" lt="139" ct="0" ts="1587564571377" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-55" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjhmMGY0NmItYzNkMi00ODBiLWFlY2MtNGQ4YmMyZTk3MmQ1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0Ny01UTZsLUpCeVZObUNWM01LM0pBTFQzV0VnNjlpQjJ2USIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Wv0JFOTtyA4TPd0L0RrmmEhr-w6izbedFg2wq5rfbqZQ_hBYxBsyvVt9cO47IlocOrG025TwHcrWYGUrWn357i8_lCTp2EfLfqT-LcEo3sFdtQwSYG2vaMrw9vY6miQWczvocqoTx888XtuVUuWQUuTctM5jMl46QAoFIsjh6COJFoT-GkFF8xMcTtQThSw1hByMCb3tGgSzge98YPRk2kLUeMWjAF3v9DxJo25IN3c81I3pEpUgNP9bvfc6Y-rQseBjLjmTIns_Srh1lRp1oVxdbipJxEG9OHm9ilVafS0jB8uQnqhugv4j0O6ND5nVWpx1d1oHcdqzSy9OPBEboA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmE4NjU5MjktODlkNS00YzAwLWFkYmYtZWZhNDJlMmI3ZGRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="152" it="0" lt="152" ct="0" ts="1587564571364" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-76" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTMzN2MzZmMtYTFkYi00ZmI1LTgzZDktZmJhMWJjY2QxYzBk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0Mi1DN0ZtU2lTWlFwNEQ1Ync5NWZOLVhmVXJHOXllN0xOYSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.KkQ36BJfKIGYMillvoaVltR4RR0qfnQ5j6X-yUGO0aIJqy4zRxMRABlwCupDY7Nk-O8guuCBHqCbeC21G7uSSWDTap8HTAA8VxST6UkllSqMb_dXLf3Uxdb-6ytR-FUjRazpquJAZdQRuQH67ukv2jj8HV3zdiiaj2WGvtPOp8bLjegD5S_Ksg89c-XlKrKzjTVVqwYD3UjQIy9lbqc_Dyec0311xTBleJCb2R8UD3YoxP5zOCJNYJnOC2LN_DUDKydhffzhQL3sdqmaVZdKvevdEnhQjV_OrIxkKhWA2zd7pNrfnf-cgdihbJoWOu4yKEzDiBZamTkqJjCXtbUEzw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MTE5MjQ1N2QtMDNhMS00NDlkLWFiNGMtMzRmYTI5MGE2YjVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="29" it="0" lt="29" ct="0" ts="1587564571488" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MSwianRpIjoiSUQtVG9rZW4tMTY0OS1XS2hzZTZZQVYzM0FVN0dIWDFHYVFJLXNFNFpxSlBBaCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lsQNkUIN_enuEvZkXWN4Fy197JLy64LSF0HUtGe11_Y2arc0ZqmVp9LMD-htBqnUWugg_8txXI3V5MCGvFie3RDSin1CniqnBJwwTA9VXse8x5g35QwRiWbId27rVBoTipZG5N_JvmHGV27gi87gXIczEIPP1hHS97f3qEfHlA8_fgptSOXhPhuUfIXr3n5fCkbN1gIip5jwVoxh2-qoFEpcmY032d7f6P8tWPCXGkFOV9H4XjYpJdRvRLFiDtHTSOVE260cd5vT3OznLqb88oc35OZv5q1WQIJHajAyZW7-llkOd-zpmr-zLGgj338of5Xo7T_w_w_-EM0DC6e31Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGJmMjFhMGEtZjVlZi00MWMzLTg5Y2UtOTEwZmU0MGJiNjg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MSwianRpIjoiSUQtVG9rZW4tMTY0OS1XS2hzZTZZQVYzM0FVN0dIWDFHYVFJLXNFNFpxSlBBaCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lsQNkUIN_enuEvZkXWN4Fy197JLy64LSF0HUtGe11_Y2arc0ZqmVp9LMD-htBqnUWugg_8txXI3V5MCGvFie3RDSin1CniqnBJwwTA9VXse8x5g35QwRiWbId27rVBoTipZG5N_JvmHGV27gi87gXIczEIPP1hHS97f3qEfHlA8_fgptSOXhPhuUfIXr3n5fCkbN1gIip5jwVoxh2-qoFEpcmY032d7f6P8tWPCXGkFOV9H4XjYpJdRvRLFiDtHTSOVE260cd5vT3OznLqb88oc35OZv5q1WQIJHajAyZW7-llkOd-zpmr-zLGgj338of5Xo7T_w_w_-EM0DC6e31Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="138" it="0" lt="138" ct="0" ts="1587564571379" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-74" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDc1ZmYyZTQtOTU4MC00YjkwLTkzMmQtYzM2ZTNmODMzYjIx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTY0MS0tZnYzWDhBdWdndDVsb2owNHlLSEUtOFdxTG1lc0NzeCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.J1XBjLTUheIpJWpvsNKGdzMmmQkABAMkU0WyGd57rIsSpxFLCqdwXXZ0dcvHjYm56z1yxxnBPxpfRe7gJT4E-A4TouXaRNuDIyl_JCGpNT7PrfHAs0ZBHLHyGjg8e15zXoZq-5e-_QcBl5H4wgVm7uRUgicmkE4DFULAuzOGFqfFiKdx25F7As5rALCWvGyefOjYEvQqqpwuS5oWHEwoV5CO1Pn1Uj2OYRJ1IiewvkWTgpoFApBmA43fUoRdjuuIugASlTy-OKhr87OLgtM9zq-KUuzRAIJqU5VLNbtT6n2OUb7z4ESNisvUP6fLbBKolh9lf576N0ZYVtv_33yZCg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NmZkNWNjOTQtMmViMS00NGZmLTkyNTEtOGQyYjJiZDNmN2M2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="21" it="0" lt="21" ct="0" ts="1587564571497" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTZkNjJkYzItMTA1ZC00ZTdhLTgyMDAtMmZjNTA0NmExZjNk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="139" it="0" lt="138" ct="0" ts="1587564571380" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-77" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmEzYjczNzQtNGM5NC00NWRiLThjYTUtZmM3MTQ0Zjc2ZTRm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTYzOC1vdkwwb2lYYTFLTTBUREJBU29wNTR4WXB1ajFtaHlFdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.M9d80YnkbdGeYdnFR6VjZ-R9PTAyCtr1hHwKi_J1u_zrbF9_AjTu9uIfBP529--3RsaTZV0XUOgTMiYaxJ3vULIC1ijtEbexIGc0-wRv3STm0G3Im22iaqpeDiRSNHkELsP8afeZEm6fMqO-c6LRcXEMOKH-ednWeqnX6LhVcQFGzJgcOgLFWFRxqUq9FDMeFK5Q0A57U7x-yEyQumqKafTVFhls_Da18f7YmqqqaMKKmD2fue5kcOoCXtmku17_722WTF3S00YnjAVIYNvIlKEeezO522DG6RZGCgovENATnLyzGltbLO44Ll-V0PftOT4nugMJs1G_6zH8zmhPJg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NmMyOTkxMjgtOTY4ZC00ZTFhLWFjMzEtYTljMzhjMjI0NGJl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="140" it="0" lt="139" ct="0" ts="1587564571379" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-96" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWNkMjNjNTItOGI3NS00ZDI2LThhZTYtYzRmOTc3YmE2NzFk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MCwianRpIjoiSUQtVG9rZW4tMTYzOS1vMGpiODF3aXRpd3dubjd6SER3NWhaUjI1OHhFSHFkLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ER7_jPx-ag7q8WPnMsJaDcdUiZha1_S5GT1fH31gaUovus38Z6MQz2wfdLxmJlelkef8D24GV3I0MSlfRlumm6h8RCqFgy4yKb84zCyykcNMJ9YkTll74lEtufOg6FwCnfa1XuQeGGnC-KbH8ulv_VOvmKsh6mpWsigbyrYvHvKfs-rs04snhBZbwQ1VMveC2II3H82lAXAxSCgev1ce5LBNfr3IpBzM4YbyCm4quc8lMZ_0xSsbDOlg_-72bXfenk4kD1FUZ6kV5PUGsyJvXNV3m-hHbUvmiYZkXm-_-YfOCQxQ_X6sCO6E0Lv6L9dH14fhKO0QEaFqibjVQdCnJg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjcxMjRlZjktNzYxMC00YTRiLThjYTUtMGFiYzJmODFiMGFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564571518" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2EwMWE4MzQtNDY5My00NWYwLWE0MDktNDM1ZjVlOGVjODM2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564571519" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODYxMGVmZmItYTA1Zi00YTZiLWE1MDktMmI5MmYzMjk4Zjk3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564571519" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGM0YzdhNzQtYTEyYS00NWQwLWJiNjEtMjZkYTg0MTQzNDUy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="27" it="0" lt="27" ct="0" ts="1587564571497" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDI3MjMwODAtNGFjZC00NjA5LWFkMTEtZmUxYzE1NjE5OWJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564571517" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2Y5ZmYxZGItNGI1ZC00NzI5LTg0ODgtMmEwM2JlYjEzMGMx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564571517" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODhjMGEyOTQtZTFhZS00ODRkLTkzZTAtN2MyODBhZGY4ZDZi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564571515" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjQ4ODUyMDItYjRkMi00NTNiLWI0YTEtMGY3ZDQ5ZmQ2OGE4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564571515" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTIxZTZjOTUtMmE3Yy00NTdhLWE3NjUtODdmZDZmYTU1YzZk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564571523" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2EwMWE4MzQtNDY5My00NWYwLWE0MDktNDM1ZjVlOGVjODM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564571523" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODYxMGVmZmItYTA1Zi00YTZiLWE1MDktMmI5MmYzMjk4Zjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564571523" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGM0YzdhNzQtYTEyYS00NWQwLWJiNjEtMjZkYTg0MTQzNDUy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564571526" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODhjMGEyOTQtZTFhZS00ODRkLTkzZTAtN2MyODBhZGY4ZDZi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564571527" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjQ4ODUyMDItYjRkMi00NTNiLWI0YTEtMGY3ZDQ5ZmQ2OGE4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564571526" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2Y5ZmYxZGItNGI1ZC00NzI5LTg0ODgtMmEwM2JlYjEzMGMx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564571527" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTIxZTZjOTUtMmE3Yy00NTdhLWE3NjUtODdmZDZmYTU1YzZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="57" it="0" lt="57" ct="0" ts="1587564571517" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-65" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWNjNmVjYzYtNmQ5Mi00YTZiLTg0NTctYzRiNmYwNjc1ZWYw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MSwianRpIjoiSUQtVG9rZW4tMTY0OS1XS2hzZTZZQVYzM0FVN0dIWDFHYVFJLXNFNFpxSlBBaCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lsQNkUIN_enuEvZkXWN4Fy197JLy64LSF0HUtGe11_Y2arc0ZqmVp9LMD-htBqnUWugg_8txXI3V5MCGvFie3RDSin1CniqnBJwwTA9VXse8x5g35QwRiWbId27rVBoTipZG5N_JvmHGV27gi87gXIczEIPP1hHS97f3qEfHlA8_fgptSOXhPhuUfIXr3n5fCkbN1gIip5jwVoxh2-qoFEpcmY032d7f6P8tWPCXGkFOV9H4XjYpJdRvRLFiDtHTSOVE260cd5vT3OznLqb88oc35OZv5q1WQIJHajAyZW7-llkOd-zpmr-zLGgj338of5Xo7T_w_w_-EM0DC6e31Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OGJmMjFhMGEtZjVlZi00MWMzLTg5Y2UtOTEwZmU0MGJiNjg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="61" it="0" lt="61" ct="0" ts="1587564571574" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-65" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmViZDE2NGUtNzFkYi00MGYyLTliZWUtNzdjN2QwNjBmMGRk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3MSwianRpIjoiSUQtVG9rZW4tMTY0OS1XS2hzZTZZQVYzM0FVN0dIWDFHYVFJLXNFNFpxSlBBaCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lsQNkUIN_enuEvZkXWN4Fy197JLy64LSF0HUtGe11_Y2arc0ZqmVp9LMD-htBqnUWugg_8txXI3V5MCGvFie3RDSin1CniqnBJwwTA9VXse8x5g35QwRiWbId27rVBoTipZG5N_JvmHGV27gi87gXIczEIPP1hHS97f3qEfHlA8_fgptSOXhPhuUfIXr3n5fCkbN1gIip5jwVoxh2-qoFEpcmY032d7f6P8tWPCXGkFOV9H4XjYpJdRvRLFiDtHTSOVE260cd5vT3OznLqb88oc35OZv5q1WQIJHajAyZW7-llkOd-zpmr-zLGgj338of5Xo7T_w_w_-EM0DC6e31Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OWNjNmVjYzYtNmQ5Mi00YTZiLTg0NTctYzRiNmYwNjc1ZWYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564571635" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTc4MDFjMzItMDNlMS00M2QyLTg3MjUtZWVkYzE0OGZkNmIx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564571638" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTc4MDFjMzItMDNlMS00M2QyLTg3MjUtZWVkYzE0OGZkNmIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="440" it="0" lt="316" ct="2" ts="1587564571200" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-71" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=aad34758-faa6-41ac-9ddd-9543ab0e91c1; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="442" it="0" lt="323" ct="0" ts="1587564571197" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-30" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=f4aa5165-fd39-4c1d-a8f7-c55d59493c7e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="455" it="0" lt="335" ct="6" ts="1587564571187" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-37" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=aa4442e7-d9d4-434f-89ce-c2c50caa7db9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="468" it="0" lt="377" ct="17" ts="1587564571176" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-14" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0807fa3c-7942-4031-8c23-93d9af256237; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="487" it="0" lt="391" ct="10" ts="1587564571183" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-43" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b13a1106-4407-495d-a5ae-66fdc8fe971d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="494" it="0" lt="465" ct="1" ts="1587564571180" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-89" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=1b59af02-4ed5-4194-91b8-055527197760; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="212" it="0" lt="209" ct="1" ts="1587564571518" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a4ea277b-6ddf-4e26-a4dc-0927c418b58e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="201" it="0" lt="197" ct="0" ts="1587564571528" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-74" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=43b229b2-906a-4ee3-8e97-3b1ddee89207; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="568" it="0" lt="425" ct="17" ts="1587564571177" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-58" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=45d5f53c-63a4-402f-89cb-b9d4307cf3dc; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="565" it="0" lt="452" ct="13" ts="1587564571180" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-88" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9e4a07ed-db7d-452c-8716-faa7bb83f718; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="583" it="0" lt="328" ct="5" ts="1587564571188" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-20" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9a3ac69c-13c8-4aee-ac35-be0a2bf99cde; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="276" it="0" lt="217" ct="0" ts="1587564571533" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-55" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=4e302508-ac10-43ad-af78-7c391e1652b0; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="670" it="0" lt="601" ct="15" ts="1587564571179" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-36" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8497a50f-1984-42e5-9485-64dcde038b18; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="326" it="0" lt="295" ct="1" ts="1587564571528" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-96" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9fe7f9bd-5ee3-42ce-951a-0e14d3c640d4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="664" it="0" lt="603" ct="3" ts="1587564571190" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-25" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3cfaf4d4-62ca-4068-a2c7-b8ee007a092c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="708" it="0" lt="406" ct="1" ts="1587564571192" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-93" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0ede4edf-6177-48ae-92c3-cfc1a8d40c4e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="371" it="0" lt="52" ct="1" ts="1587564571532" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-76" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8d1a7cb0-8ce4-4473-874c-cbcff0691680; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="693" it="0" lt="332" ct="8" ts="1587564571185" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-6" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=bdd6ac44-76af-4324-8062-eae5021421d1; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="730" it="0" lt="446" ct="7" ts="1587564571184" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-67" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=45bbafe6-0eda-48b5-b7ae-5d1d94601081; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="717" it="0" lt="445" ct="0" ts="1587564571200" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-21" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0ed4f5cd-d642-43e1-8e53-ea514d426d33; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="702" it="0" lt="417" ct="1" ts="1587564571202" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-29" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7eb4d5bd-de1d-4964-979b-49e826e4c01c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="710" it="0" lt="305" ct="0" ts="1587564571207" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-45" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2c386ea2-0283-4645-89e9-07a753b7bf6f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="718" it="0" lt="317" ct="1" ts="1587564571196" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-44" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=fb4f6e38-88e9-4b84-a0e0-bff9cd80f1de; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="781" it="0" lt="357" ct="1" ts="1587564571192" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-24" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=36fca98d-32e7-4bb5-8655-aa23bb629f27; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="689" it="0" lt="360" ct="1" ts="1587564571222" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c6501eed-2baa-478f-96f8-928235b1abe9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="707" it="0" lt="299" ct="2" ts="1587564571201" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-5" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6242f131-057e-4baf-8bbb-000309f8e5cc; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="782" it="0" lt="345" ct="6" ts="1587564571187" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-32" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2210296a-3af4-49a6-b803-5c799eb0a979; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="746" it="0" lt="329" ct="9" ts="1587564571184" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-3" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8f539fa2-8b98-4028-ad31-73c9b2aaa722; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="822" it="0" lt="767" ct="5" ts="1587564571177" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-61" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=72440358-5c2b-473f-a066-673c0afed647; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="741" it="0" lt="385" ct="2" ts="1587564571201" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-42" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=4a75569c-a6ea-4d92-a99b-415c7f5f3e90; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="768" it="0" lt="385" ct="2" ts="1587564571190" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-4" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=689e1422-30cf-4aeb-920f-d5cfc1290f43; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="706" it="0" lt="441" ct="2" ts="1587564571192" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-10" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e1964c71-35da-45f6-a47f-368526e826dc; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="456" it="0" lt="421" ct="2" ts="1587564571514" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-15" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=50364545-cc63-419f-aea4-48efdd4dce4a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="786" it="0" lt="410" ct="2" ts="1587564571179" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-11" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9de4db55-01a5-4d07-9096-a9f905d14beb; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="788" it="0" lt="453" ct="17" ts="1587564571177" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-82" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=dc6ecd8b-8d38-4d0c-bc12-8078d0484abf; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="775" it="0" lt="670" ct="7" ts="1587564571175" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-40" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a94055b1-e3ac-4304-859c-ef069421fe1f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="766" it="0" lt="374" ct="2" ts="1587564571190" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-26" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=edcf4cd4-b5f8-489e-b77b-ef86ca6c29fa; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="419" it="0" lt="112" ct="0" ts="1587564571533" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-53" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=22697187-4c70-443e-8b1f-95d93a18c4b9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="715" it="0" lt="387" ct="1" ts="1587564571192" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-91" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=31156411-8282-417e-9380-b048e2fe1cd1; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="763" it="0" lt="453" ct="11" ts="1587564571182" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-79" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=112d5b1b-87e2-42b4-8e7e-bd3941bdb8e9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="582" it="0" lt="582" ct="6" ts="1587564571365" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-23" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=483b3037-de19-48eb-88b4-e62e68ccad9f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="412" it="0" lt="412" ct="1" ts="1587564571533" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-86" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=bacf416e-1cf1-4bed-b09e-dd2937898994; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="758" it="0" lt="427" ct="2" ts="1587564571191" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-7" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e6b24f45-d641-4377-8f2b-9c7b62d889e2; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="771" it="0" lt="444" ct="3" ts="1587564571178" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-50" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b1798886-c2b4-494e-ad6c-0792a2ef830b; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="778" it="0" lt="778" ct="18" ts="1587564571176" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-64" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=083185c9-bff8-4ba4-9428-519b684cf620; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="777" it="0" lt="427" ct="3" ts="1587564571178" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-19" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=24422f3c-cc3a-49cf-aab2-9076e60c2e3d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="495" it="0" lt="163" ct="1" ts="1587564571466" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-78" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=f6baded4-b444-402f-ac78-67432a3dd707; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="380" it="0" lt="321" ct="2" ts="1587564571644" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-65" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d7e7c8a2-e106-4765-bb50-d0a492e6a9cd; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="760" it="0" lt="307" ct="2" ts="1587564571201" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-1" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=022d21a0-2443-4740-94ea-9180271d7a20; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="611" it="0" lt="556" ct="0" ts="1587564571396" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-33" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=df623fd0-c76b-477a-8ce9-962ff0f5fb53; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="465" it="0" lt="406" ct="1" ts="1587564571516" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-92" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=1e4f5bcb-5e80-4ed2-b3bc-37d8c321c693; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="791" it="0" lt="726" ct="5" ts="1587564571188" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-35" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b692fa9e-20c3-4d6f-801a-fc551d21c830; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="806" it="0" lt="755" ct="2" ts="1587564571190" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-22" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a3e79af0-d0a3-4bcf-990a-cd54ba455939; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="730" it="0" lt="715" ct="4" ts="1587564571189" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-28" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=51603054-e403-41e2-bc63-72cec41447b8; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="451" it="0" lt="408" ct="0" ts="1587564571524" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=4affa9fc-37b2-4096-8f20-e4cc78876943; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="756" it="0" lt="323" ct="14" ts="1587564571179" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-52" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=05b0dbb1-e874-4fbf-828a-f2a4d4f42e7f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="785" it="0" lt="415" ct="16" ts="1587564571178" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-17" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=91762031-9751-4d4a-b6f9-d5dda966f0ee; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="758" it="0" lt="321" ct="4" ts="1587564571189" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-8" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7cd751a2-f512-49eb-bc55-5da60ce38adc; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="791" it="0" lt="408" ct="5" ts="1587564571176" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-66" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=db9aae40-7b42-4f98-8bb5-4426e88f4673; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="784" it="0" lt="720" ct="8" ts="1587564571184" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-69" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=71cb56d8-4666-43a0-a837-9f849615735a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="775" it="0" lt="702" ct="1" ts="1587564571202" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b0e779b6-5eec-44ad-a4f4-2e81f4337f4c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="735" it="0" lt="427" ct="6" ts="1587564571187" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-41" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ca433b9f-7a7b-4f39-b922-d9f4f17e1954; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="534" it="0" lt="181" ct="1" ts="1587564571437" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e5fa5959-eada-4643-8b46-af1ec3d991d2; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="407" it="0" lt="361" ct="2" ts="1587564571516" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-80" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c91ea9d8-ca7a-4220-8315-d5e04f88c6e2; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="734" it="0" lt="375" ct="2" ts="1587564571191" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-84" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=52963914-b990-402b-8ffc-7765a29a59f6; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="736" it="0" lt="360" ct="2" ts="1587564571191" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-98" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=eca448c6-c485-489a-82ba-409068b850c4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="742" it="0" lt="742" ct="6" ts="1587564571185" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-83" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d0553ace-5130-480c-b1cd-021f248029ca; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="749" it="0" lt="390" ct="0" ts="1587564571183" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-34" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b1f45d4d-f277-4ca3-a655-e747d590bdb0; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="749" it="0" lt="321" ct="10" ts="1587564571183" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-18" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=fb74943d-ddf9-4047-ad25-718ad07e2634; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="745" it="0" lt="370" ct="1" ts="1587564571192" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=f776e57d-e9fe-4f65-b41c-2bed50742462; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="407" it="0" lt="407" ct="0" ts="1587564571530" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-77" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=cb52c8a3-2bb3-4e1d-b70e-ad9100096dfe; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="759" it="0" lt="413" ct="1" ts="1587564571180" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-81" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3ba2e2f8-a112-40c3-affd-2c14d4c0f1e8; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="736" it="0" lt="381" ct="1" ts="1587564571203" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a6d82735-71ef-4e54-bdc1-3a5df8dff73a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="738" it="0" lt="303" ct="0" ts="1587564571203" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-39" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c73484f8-b824-4475-ac0e-5f9bd844de3f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:30 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="670" it="0" lt="548" ct="1" ts="1587564571399" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-72" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7fdd806b-9000-4abb-91b8-eed237961ed9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:31 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="3923" it="0" lt="3923" ct="0" ts="1587564571115" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1953-yaqdPQHCl-f7f4UCNkZPa7b0ZuHb-tKFjF8smISYB3nyx8w4DLooHPedC8MNjuGEzWYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1953-UFRHKfyZHOPCrotF4Fp53PtmQFYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:35 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=680b1362-2799-4912-b339-b3caaa0bdb94</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1953-UFRHKfyZHOPCrotF4Fp53PtmQFYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="3598" it="0" lt="3598" ct="0" ts="1587564572031" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1954-n-w-174V7eRvJX3FNGESO6De8GGxBpnEihH3Eu-3AWbSCX3v4KNaSFPa-yVN4QSZnUAc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1954-RyAkLRrjaxK5ydVq0El3zB6XR9oc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:35 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b692fa9e-20c3-4d6f-801a-fc551d21c830</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1954-RyAkLRrjaxK5ydVq0El3zB6XR9oc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="3591" it="0" lt="3591" ct="0" ts="1587564572039" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1955-iLNWaW7oauwvfGS3gA5yxj-jLZSmXOdG-zqKuDlZKpsZkz69euP4sbVvM8bLalsr2Rsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1955-kbwwPk3juU3KAD2zNu5tYbcPtdMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:35 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e5fa5959-eada-4643-8b46-af1ec3d991d2</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1955-kbwwPk3juU3KAD2zNu5tYbcPtdMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="795" it="0" lt="795" ct="1" ts="1587564575039" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:35 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGZmODFmNzAtZGRmNS00NzYxLTllNWYtOGJlOTcwOGQ1NjY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1953-UFRHKfyZHOPCrotF4Fp53PtmQFYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="262" it="0" lt="262" ct="0" ts="1587564575835" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:35 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGZmODFmNzAtZGRmNS00NzYxLTllNWYtOGJlOTcwOGQ1NjY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5021" it="0" lt="5021" ct="0" ts="1587564571081" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1957-9QErV4HIzd4FeeM-4e2VWqxKrGF0HxaEZZ8GZISsZwaWVV4-HxfQZJ8B8yKOj4Ab-6wc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1957-Y2susQLtEPQ8BbxkvRRDpCJdMcUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:36 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=bb8042dd-abcc-480b-995c-e9e458869cd9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1957-Y2susQLtEPQ8BbxkvRRDpCJdMcUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="5019" it="0" lt="5019" ct="0" ts="1587564571084" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1956-d5OVCllAZ2qW7tr-PKg-sIP6fl7EwJ2FkX8CZ0RPJE9hh2D9IKen9xbneog-z-pHNaMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1956-R7r9WH-asKURRJTRpoErM8BUsE0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:36 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=713352ad-5bdd-4d38-8e5e-5910224da58c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1956-R7r9WH-asKURRJTRpoErM8BUsE0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564576098" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NSwianRpIjoiSUQtVG9rZW4tMTY1MC1wT2V2Y2xUU3BQc2JsRVE5c1U2Mkp3N0JsNVJqbmZYaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rUKNPG60tNoUw9sovC-WlxgLr_nrrEeXCt1zVP4qY6_m4dQsShRKQtyNEsUzV5Z6BgmqDKY7gVypt2ol6S6ZrJk1Bxz5wcVy1NR6wEz1K20Pq05TlKD3jofL0CsbxCXy88_dIeC_kTfAwBnkqnzd7CH4VzyXWyiLHFZHV_f1GczhImOuNge6UQ5jXDPKCg8WaM68mtAKT05267prgOGhyLMeZhkGfvcPfgVCtfbeZPVVIYKZpQVTZ5F3xTntDXm2TbQhvgRgpNFLmY087unF67HRwXhiBJNVIyS1cWg0YMxM9wa7Kj4Yo1y2ztlUoVxCVAD6C3gowrOG4iklLWaWZg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:35 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGZmODFmNzAtZGRmNS00NzYxLTllNWYtOGJlOTcwOGQ1NjY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NSwianRpIjoiSUQtVG9rZW4tMTY1MC1wT2V2Y2xUU3BQc2JsRVE5c1U2Mkp3N0JsNVJqbmZYaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rUKNPG60tNoUw9sovC-WlxgLr_nrrEeXCt1zVP4qY6_m4dQsShRKQtyNEsUzV5Z6BgmqDKY7gVypt2ol6S6ZrJk1Bxz5wcVy1NR6wEz1K20Pq05TlKD3jofL0CsbxCXy88_dIeC_kTfAwBnkqnzd7CH4VzyXWyiLHFZHV_f1GczhImOuNge6UQ5jXDPKCg8WaM68mtAKT05267prgOGhyLMeZhkGfvcPfgVCtfbeZPVVIYKZpQVTZ5F3xTntDXm2TbQhvgRgpNFLmY087unF67HRwXhiBJNVIyS1cWg0YMxM9wa7Kj4Yo1y2ztlUoVxCVAD6C3gowrOG4iklLWaWZg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1000" it="0" lt="1000" ct="1" ts="1587564575631" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:35 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWViZmNlYjctNjZlYS00MjhiLThlZjMtOWU2ODYwZjdjNzg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1954-RyAkLRrjaxK5ydVq0El3zB6XR9oc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1000" it="0" lt="1000" ct="1" ts="1587564575631" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:35 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGQ4YmU0YTEtNWJlMC00OTE1LTliY2ItYjMzMTEzMGVkMzk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1955-kbwwPk3juU3KAD2zNu5tYbcPtdMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="966" it="0" lt="528" ct="0" ts="1587564576104" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Yjc0YjRlYjItYjM1Yy00MzY2LTliN2QtOWJkNTY0MzQ5MTEz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:35 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NSwianRpIjoiSUQtVG9rZW4tMTY1MC1wT2V2Y2xUU3BQc2JsRVE5c1U2Mkp3N0JsNVJqbmZYaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rUKNPG60tNoUw9sovC-WlxgLr_nrrEeXCt1zVP4qY6_m4dQsShRKQtyNEsUzV5Z6BgmqDKY7gVypt2ol6S6ZrJk1Bxz5wcVy1NR6wEz1K20Pq05TlKD3jofL0CsbxCXy88_dIeC_kTfAwBnkqnzd7CH4VzyXWyiLHFZHV_f1GczhImOuNge6UQ5jXDPKCg8WaM68mtAKT05267prgOGhyLMeZhkGfvcPfgVCtfbeZPVVIYKZpQVTZ5F3xTntDXm2TbQhvgRgpNFLmY087unF67HRwXhiBJNVIyS1cWg0YMxM9wa7Kj4Yo1y2ztlUoVxCVAD6C3gowrOG4iklLWaWZg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MGZmODFmNzAtZGRmNS00NzYxLTllNWYtOGJlOTcwOGQ1NjY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="444" it="0" lt="444" ct="0" ts="1587564576631" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWViZmNlYjctNjZlYS00MjhiLThlZjMtOWU2ODYwZjdjNzg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="445" it="0" lt="445" ct="0" ts="1587564576632" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGQ4YmU0YTEtNWJlMC00OTE1LTliY2ItYjMzMTEzMGVkMzk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="354" it="0" lt="354" ct="0" ts="1587564577075" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NSwianRpIjoiSUQtVG9rZW4tMTY1Mi1jMjhFcmhGYUMxMUMxWk1abjljVGJUSHJHR0g4d0plRSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.E8U1i38xfJfJTKD5tr3O1YZUCni6Ti0-yBx8yxq6XhfOCCMNgxgs9iRTpc3smQs39UE2D-DDqA2q2dtvsTj3fBTzXVixBBZgFTRXZxkw4kIu-pc2HG8GcJpauzeTjnf4KESZZJgO71IPkIQBy_KNLLwYMFkaM6WnzlPgqCz551h6x9W0snEr8dQkDu7G6VQkBA3gc5SwqGgZIvnrLBxSQLvvSB6lHQ3Jj5TsRq3zqaVXophqJAqeWN60t1EDWlCAdvRgoKPLh_OUEg9NL6efMx4zJO7BhmF5NKA_gTgCY51l3FeMtCcfj2w6XSmLT9q7oOpu5yXYaMm4NUcHq0K1Fg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWViZmNlYjctNjZlYS00MjhiLThlZjMtOWU2ODYwZjdjNzg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NSwianRpIjoiSUQtVG9rZW4tMTY1Mi1jMjhFcmhGYUMxMUMxWk1abjljVGJUSHJHR0g4d0plRSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.E8U1i38xfJfJTKD5tr3O1YZUCni6Ti0-yBx8yxq6XhfOCCMNgxgs9iRTpc3smQs39UE2D-DDqA2q2dtvsTj3fBTzXVixBBZgFTRXZxkw4kIu-pc2HG8GcJpauzeTjnf4KESZZJgO71IPkIQBy_KNLLwYMFkaM6WnzlPgqCz551h6x9W0snEr8dQkDu7G6VQkBA3gc5SwqGgZIvnrLBxSQLvvSB6lHQ3Jj5TsRq3zqaVXophqJAqeWN60t1EDWlCAdvRgoKPLh_OUEg9NL6efMx4zJO7BhmF5NKA_gTgCY51l3FeMtCcfj2w6XSmLT9q7oOpu5yXYaMm4NUcHq0K1Fg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="353" it="0" lt="353" ct="0" ts="1587564577077" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NSwianRpIjoiSUQtVG9rZW4tMTY1MS1nT3lKVXFxa3NuT3RRZ2hzM2ZvZ05JSDY2QWoxNVhVMSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nZTSO5kHDr-LEqkx3l3UetrkWUThsuU3589rzv1x3cvWuZfLLx0XYsdN-O4yZDZgDDtGBobFM6OAypRJdrKjaNcvzTArKYkHap1BhbG7cHRSRP9U5_TQNPTav3Ss9TIet9_JrobOcAYFJrdOq4FENjpgXRPXvFkGTxIglx6SNRpPKKtc0C8OehAjw3RkhES-Nt6nLvy3yQ9O5tWTEhu-4YDj23pl1tLJNRuKIWvpmvcDFZOWRkiZbzY42H6fkXWMh5Inpu7MAvy0WZLljw6Lb6_HqewSRUS5o5pe84z1aNvKLHSMgNbnaCZlVg_A0Q9Yfw3G0rqGHbE5XUJguSrLDQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGQ4YmU0YTEtNWJlMC00OTE1LTliY2ItYjMzMTEzMGVkMzk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NSwianRpIjoiSUQtVG9rZW4tMTY1MS1nT3lKVXFxa3NuT3RRZ2hzM2ZvZ05JSDY2QWoxNVhVMSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nZTSO5kHDr-LEqkx3l3UetrkWUThsuU3589rzv1x3cvWuZfLLx0XYsdN-O4yZDZgDDtGBobFM6OAypRJdrKjaNcvzTArKYkHap1BhbG7cHRSRP9U5_TQNPTav3Ss9TIet9_JrobOcAYFJrdOq4FENjpgXRPXvFkGTxIglx6SNRpPKKtc0C8OehAjw3RkhES-Nt6nLvy3yQ9O5tWTEhu-4YDj23pl1tLJNRuKIWvpmvcDFZOWRkiZbzY42H6fkXWMh5Inpu7MAvy0WZLljw6Lb6_HqewSRUS5o5pe84z1aNvKLHSMgNbnaCZlVg_A0Q9Yfw3G0rqGHbE5XUJguSrLDQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="364" it="0" lt="363" ct="1" ts="1587564577070" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:37 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTk0MDE2YWQtY2UxYi00MWZlLWEyZDQtNjAwZjA4MWIwYTcw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NSwianRpIjoiSUQtVG9rZW4tMTY1MC1wT2V2Y2xUU3BQc2JsRVE5c1U2Mkp3N0JsNVJqbmZYaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rUKNPG60tNoUw9sovC-WlxgLr_nrrEeXCt1zVP4qY6_m4dQsShRKQtyNEsUzV5Z6BgmqDKY7gVypt2ol6S6ZrJk1Bxz5wcVy1NR6wEz1K20Pq05TlKD3jofL0CsbxCXy88_dIeC_kTfAwBnkqnzd7CH4VzyXWyiLHFZHV_f1GczhImOuNge6UQ5jXDPKCg8WaM68mtAKT05267prgOGhyLMeZhkGfvcPfgVCtfbeZPVVIYKZpQVTZ5F3xTntDXm2TbQhvgRgpNFLmY087unF67HRwXhiBJNVIyS1cWg0YMxM9wa7Kj4Yo1y2ztlUoVxCVAD6C3gowrOG4iklLWaWZg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Yjc0YjRlYjItYjM1Yy00MzY2LTliN2QtOWJkNTY0MzQ5MTEz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564577434" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Yjc3YjJjNGItYWUwNC00NWZlLWI4OGItZDU5YmRmYjFjODFj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564577437" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:37 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Yjc3YjJjNGItYWUwNC00NWZlLWI4OGItZDU5YmRmYjFjODFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1206" it="0" lt="1206" ct="0" ts="1587564577430" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Njg5M2U1OTgtY2UwYy00NWVmLWI4YzUtMjc3ZWIyMWI1MTRm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:38 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NSwianRpIjoiSUQtVG9rZW4tMTY1MS1nT3lKVXFxa3NuT3RRZ2hzM2ZvZ05JSDY2QWoxNVhVMSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nZTSO5kHDr-LEqkx3l3UetrkWUThsuU3589rzv1x3cvWuZfLLx0XYsdN-O4yZDZgDDtGBobFM6OAypRJdrKjaNcvzTArKYkHap1BhbG7cHRSRP9U5_TQNPTav3Ss9TIet9_JrobOcAYFJrdOq4FENjpgXRPXvFkGTxIglx6SNRpPKKtc0C8OehAjw3RkhES-Nt6nLvy3yQ9O5tWTEhu-4YDj23pl1tLJNRuKIWvpmvcDFZOWRkiZbzY42H6fkXWMh5Inpu7MAvy0WZLljw6Lb6_HqewSRUS5o5pe84z1aNvKLHSMgNbnaCZlVg_A0Q9Yfw3G0rqGHbE5XUJguSrLDQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NGQ4YmU0YTEtNWJlMC00OTE1LTliY2ItYjMzMTEzMGVkMzk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1207" it="0" lt="1207" ct="0" ts="1587564577429" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-35" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDQxYzgwOTItNWQ3MC00Njg3LWJjZmEtOTIyYjllNjEwMDcy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:38 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NSwianRpIjoiSUQtVG9rZW4tMTY1Mi1jMjhFcmhGYUMxMUMxWk1abjljVGJUSHJHR0g4d0plRSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.E8U1i38xfJfJTKD5tr3O1YZUCni6Ti0-yBx8yxq6XhfOCCMNgxgs9iRTpc3smQs39UE2D-DDqA2q2dtvsTj3fBTzXVixBBZgFTRXZxkw4kIu-pc2HG8GcJpauzeTjnf4KESZZJgO71IPkIQBy_KNLLwYMFkaM6WnzlPgqCz551h6x9W0snEr8dQkDu7G6VQkBA3gc5SwqGgZIvnrLBxSQLvvSB6lHQ3Jj5TsRq3zqaVXophqJAqeWN60t1EDWlCAdvRgoKPLh_OUEg9NL6efMx4zJO7BhmF5NKA_gTgCY51l3FeMtCcfj2w6XSmLT9q7oOpu5yXYaMm4NUcHq0K1Fg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWViZmNlYjctNjZlYS00MjhiLThlZjMtOWU2ODYwZjdjNzg1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="5019" it="0" lt="5018" ct="1" ts="1587564578635" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:42 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2Q2OTlkZDYtYmFiYy00N2ZmLTk5NWUtZTc5MmIyMWM2NGIx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NSwianRpIjoiSUQtVG9rZW4tMTY1MS1nT3lKVXFxa3NuT3RRZ2hzM2ZvZ05JSDY2QWoxNVhVMSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nZTSO5kHDr-LEqkx3l3UetrkWUThsuU3589rzv1x3cvWuZfLLx0XYsdN-O4yZDZgDDtGBobFM6OAypRJdrKjaNcvzTArKYkHap1BhbG7cHRSRP9U5_TQNPTav3Ss9TIet9_JrobOcAYFJrdOq4FENjpgXRPXvFkGTxIglx6SNRpPKKtc0C8OehAjw3RkhES-Nt6nLvy3yQ9O5tWTEhu-4YDj23pl1tLJNRuKIWvpmvcDFZOWRkiZbzY42H6fkXWMh5Inpu7MAvy0WZLljw6Lb6_HqewSRUS5o5pe84z1aNvKLHSMgNbnaCZlVg_A0Q9Yfw3G0rqGHbE5XUJguSrLDQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Njg5M2U1OTgtY2UwYy00NWVmLWI4YzUtMjc3ZWIyMWI1MTRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="5018" it="0" lt="5018" ct="1" ts="1587564578636" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-35" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:42 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODIzZmNjNWItN2Q2Mi00NWE0LTg2NGEtZjdhMzFmYWMyMjgw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NSwianRpIjoiSUQtVG9rZW4tMTY1Mi1jMjhFcmhGYUMxMUMxWk1abjljVGJUSHJHR0g4d0plRSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.E8U1i38xfJfJTKD5tr3O1YZUCni6Ti0-yBx8yxq6XhfOCCMNgxgs9iRTpc3smQs39UE2D-DDqA2q2dtvsTj3fBTzXVixBBZgFTRXZxkw4kIu-pc2HG8GcJpauzeTjnf4KESZZJgO71IPkIQBy_KNLLwYMFkaM6WnzlPgqCz551h6x9W0snEr8dQkDu7G6VQkBA3gc5SwqGgZIvnrLBxSQLvvSB6lHQ3Jj5TsRq3zqaVXophqJAqeWN60t1EDWlCAdvRgoKPLh_OUEg9NL6efMx4zJO7BhmF5NKA_gTgCY51l3FeMtCcfj2w6XSmLT9q7oOpu5yXYaMm4NUcHq0K1Fg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQxYzgwOTItNWQ3MC00Njg3LWJjZmEtOTIyYjllNjEwMDcy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="12559" it="0" lt="12559" ct="0" ts="1587564571103" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1960-OgorCdQmqzsBNEKeeySZxMPHJIti53xjAfXIwl2eBkB38dlj4qyxT9PKhDFfM7BBdycc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1958-VzO0AncBwEs-TgQyQniRG1NafI0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=015180bd-dd9b-4665-84af-1c55dfc834af</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1958-VzO0AncBwEs-TgQyQniRG1NafI0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="69" it="0" lt="69" ct="0" ts="1587564583656" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWE3NGVjMGYtODIyZS00YmY0LWFkNmEtZTM4ZGI2NjgxODU3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="70" it="0" lt="70" ct="1" ts="1587564583655" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjE2MGU3MjAtNGM4NC00ZDY3LTg5NDMtYjA1YmI1MWYwN2Zi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564583726" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWE3NGVjMGYtODIyZS00YmY0LWFkNmEtZTM4ZGI2NjgxODU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564583726" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjE2MGU3MjAtNGM4NC00ZDY3LTg5NDMtYjA1YmI1MWYwN2Zi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12050" it="0" lt="12050" ct="0" ts="1587564571734" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1967-0Ulo3fawDYEgNjFppcENJyYPMAPm4qREjviOF3LLuXeipezq7l7gISUnlD1o28R3YjIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1968-d4WbYRbu4DoOB4JkyvARxfnkkpsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a4ea277b-6ddf-4e26-a4dc-0927c418b58e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1968-d4WbYRbu4DoOB4JkyvARxfnkkpsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12145" it="0" lt="12145" ct="0" ts="1587564571650" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1972-EqM1xOeAYhlPKkyyMYJhGDrGhWpT3-j4AX-fylb-m-PcQFLWDLQFDIPPsgVapVBdzZsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1969-euLIAgjhK9-AuA4V-k512Gd24Wgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=aad34758-faa6-41ac-9ddd-9543ab0e91c1</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1969-euLIAgjhK9-AuA4V-k512Gd24Wgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12685" it="0" lt="12685" ct="0" ts="1587564571111" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1961-je8DdRXT0kEr1WJ69-5xDVoWfgSOVUkk8djSRkNeBCwgJUSbnYlgw7vzYjnWL8hwUwsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1981-elDWHiFibGhket127RyzF0OcjRYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0ddb1f41-017d-4e1a-8649-870ab1a888ab</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1981-elDWHiFibGhket127RyzF0OcjRYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12709" it="0" lt="12709" ct="0" ts="1587564571087" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1986--Dsltb-0zVCxrAjQ1inuJXSYa1W0dW2usmjZCTg84PWSDd5KiY7Z1da36KH-rKIoqUcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1985-TvUwPvQ8pcVNuYLsjCZ52tDBeicc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=af941982-1e82-4059-ba18-eea8d1f4f6ab</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1985-TvUwPvQ8pcVNuYLsjCZ52tDBeicc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12684" it="0" lt="12684" ct="0" ts="1587564571113" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1977-yyiZL0DQmjlLZXpZxXCsIhbYnXSu8TOTtA8jQVRoSgtX4NbwR4luQhO-jFElfLzu8Xcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1977-QTGWJP6Hp5P8uGvJGA1tQAV6L1Ic7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0484889a-1158-4baa-ba23-66bf6cc62aee</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1977-QTGWJP6Hp5P8uGvJGA1tQAV6L1Ic7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12692" it="0" lt="12692" ct="0" ts="1587564571106" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1979-chRbk9bhhrfxRmOYFEx5niYhHpZftGjt7dygSQH-DeUiAUHoJyHpjyFn13gMsLX59QYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1975-faylG6vCYimKONU8cJXs-DrFxPQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=84dc459f-3e98-4b37-8aa2-5cf800fac780</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1975-faylG6vCYimKONU8cJXs-DrFxPQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12686" it="0" lt="12686" ct="0" ts="1587564571112" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1975-Fwcz5fdbDYORY3AUcwFKabHBL83z6anxt3APSftrrvEW2bh2wvx2Cc-IDBAxNmfBSy8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1984-8NwwOGd6P9CXTZvMb5jfvpHaoHcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c3fbdb32-852c-4b53-aa19-bdd7dcbcb3e4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1984-8NwwOGd6P9CXTZvMb5jfvpHaoHcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12711" it="0" lt="12711" ct="0" ts="1587564571086" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1974-mUYy3iw2PVZs9OkwdrwJmKa8xn8CT5vX1dFYdWoE5fNYMIdI-k4uKhCFr4LQ5K67-cEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1972-dH4WBDjMUA-b0dRJ06VAeF-zXnoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=bbb085ff-e143-44e1-a741-c02f1b592ff2</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1972-dH4WBDjMUA-b0dRJ06VAeF-zXnoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12694" it="0" lt="12694" ct="0" ts="1587564571105" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1978-w-T-8jev4thwR0BAPMsF6zuS0xM-iGbGQtQzlHkw9F2YcaxQmkZhId0ziE7I7o5rU3Ac7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1980-D1MehcaaR3IinIH-XEKgalZ7qWEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=5ec709c1-d252-4c5e-89e3-295be73f6455</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1980-D1MehcaaR3IinIH-XEKgalZ7qWEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12683" it="0" lt="12683" ct="0" ts="1587564571116" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1987-wvF3lW8W3h15fOvEbTFx54DL-d8gzL3iOQvdbUk8S2GS6fDeR-W6yWQyn8vOo4up0v4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1986-Kz2J8FM6t4flS3XFrfhqFQkcIbAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=788ef295-80b0-42f2-b8dd-8b03a04bb942</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1986-Kz2J8FM6t4flS3XFrfhqFQkcIbAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12718" it="0" lt="12718" ct="0" ts="1587564571083" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1976-t-akmoTzh7C0tSTjR-uAhwPS7p82mgnPDrujShcFL60Vckz71FrFW-Kd2jUqcZA-q9Ic7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1979-ej3trzWA-V2RvIoZeV2urJAHagsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d5ece13e-4054-49b9-a967-e02085f08e79</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1979-ej3trzWA-V2RvIoZeV2urJAHagsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11765" it="0" lt="11765" ct="0" ts="1587564572041" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1968-GTOoeEEJuXCfTw1cZXHmZL0TpYSv1OlJ24Ys142L5Z8oEV8Pk77U6xAV3bS87MEusWEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1963-9okquzqlCXkL3ufr8v0kMRVVU5wc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=eca448c6-c485-489a-82ba-409068b850c4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1963-9okquzqlCXkL3ufr8v0kMRVVU5wc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11766" it="0" lt="11766" ct="0" ts="1587564572046" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2004-WeUBdOvKE7Z1b0h8wYKN7gRh4sRyiHrtTNWzWZqQL4PhcpkcjEQ0iMFSfHb0LrPxUKMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2001-F7g5u-SFr7tSe2dyCOfU9aPJuT0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3ba2e2f8-a112-40c3-affd-2c14d4c0f1e8</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2001-F7g5u-SFr7tSe2dyCOfU9aPJuT0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12078" it="0" lt="12078" ct="0" ts="1587564571735" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1981-hgJduNhuDBIKvO1iUdUCxyDs8FMLcStvMlH4udLmlv010S0QBSt5WhRRzvgN2gJh390c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1983-PsIX-4bMjN-u5wca1eICdZMmLTIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=43b229b2-906a-4ee3-8e97-3b1ddee89207</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1983-PsIX-4bMjN-u5wca1eICdZMmLTIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12724" it="0" lt="12724" ct="0" ts="1587564571089" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1971-dK-ufZ-IBItcUuDcuH16RTLffETRzPhyLhqJjiQLP1l80VYYhgMbbbiMwWlQw8hoY54c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1970-bxGqlplOlq5qtpZVgrAKu-74bWcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=de31a30d-48b8-481d-b4ae-210272d40951</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1970-bxGqlplOlq5qtpZVgrAKu-74bWcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12715" it="0" lt="12715" ct="0" ts="1587564571104" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1959-FWwVQO7Xpjh5-lmKKJbi0Mwib7yD7n3B8czv88uAg0Dfa8HW-IiP3WXXRdrfmNhX1AYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1959-O0qGZ2ebpvgz4Hu56nIdCllCKCsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=88ff5349-9bc6-4b66-850b-34feece0bcc3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1959-O0qGZ2ebpvgz4Hu56nIdCllCKCsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12732" it="0" lt="12732" ct="0" ts="1587564571088" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1965-Z5k9JsisMBgGE5dMB8W89FaXbGvbK-z2PFS7OVwZTQg-BeCritGubNyY6qH9TaqrS90c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1965-o-6lbD2uxJTJj9KynV-v-ejAjxwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e4526ebb-c248-4b1d-87cf-368b8c1b8503</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1965-o-6lbD2uxJTJj9KynV-v-ejAjxwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11834" it="0" lt="11834" ct="0" ts="1587564571987" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1958-0Q0GqlVlcO1Su-xl94ueNr6VSfUR5r1r1phekM0XV1vuxtmb9NP3NAKhZFNKJ2qxjCwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1966-Hp27QFhoh7Sz-QrnlqYmDpbuAtMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=45bbafe6-0eda-48b5-b7ae-5d1d94601081</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1966-Hp27QFhoh7Sz-QrnlqYmDpbuAtMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12722" it="0" lt="12722" ct="0" ts="1587564571107" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1973-mhh3RGTXmTgveYf6nI-NCvzzUPRODx8eNDrFlYkjgpkEg0GNw7BgvmiFnxbX-7-E7DMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1974-2gU76tflV7vkbep6fzaMb9Bzxq0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6831418e-cba3-47e5-aa24-bdfac244b060</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1974-2gU76tflV7vkbep6fzaMb9Bzxq0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11795" it="0" lt="11795" ct="0" ts="1587564572034" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1996-wQG7BkDbFCaWUGbZiBuRZMlu58P7YjPHe8wcqyNEMIpNtZWAmrQZEzevReKdGTkeKXIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1998-VjqknVVN8vX7E5YRjpqirZtKae4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=91762031-9751-4d4a-b6f9-d5dda966f0ee</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1998-VjqknVVN8vX7E5YRjpqirZtKae4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="11925" it="0" lt="11925" ct="0" ts="1587564571904" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1998-0OphgG6qI-969nIiXWnUugzTn-VtIhQXaEoQwmiKTWBWNPgAoGrTHABEZcCxL5lG5Pcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2000-vzoDtEo6V-7EhYYNCUVS4O9dpCgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0ede4edf-6177-48ae-92c3-cfc1a8d40c4e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2000-vzoDtEo6V-7EhYYNCUVS4O9dpCgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13125" it="0" lt="13125" ct="0" ts="1587564571813" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1992-HTil2znidwtXNh4nB4urP-Qi4uF0DrTu16H3PyP4tXeaAkr0l6PnZksj424WvwNnzHYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1996-V2VuoDtsFCJBEavHnzLhSLxZRiMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=4e302508-ac10-43ad-af78-7c391e1652b0</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1996-V2VuoDtsFCJBEavHnzLhSLxZRiMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12949" it="0" lt="12949" ct="0" ts="1587564571991" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2015-2n5gsnU0ys-anuDMIjX2J1qqr-pSoQfEc0CbitctQ5EpYqLX9T46KyLvIqFILQzg2A8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2033-a5QTNqSAds2-9DM9S95AjE1vAaQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=fb4f6e38-88e9-4b84-a0e0-bff9cd80f1de</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2033-a5QTNqSAds2-9DM9S95AjE1vAaQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13848" it="0" lt="13848" ct="0" ts="1587564571094" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1982-q25QMCNUuls2f7V17wQtDdDHgorJE4hGf844LmzM1l21AqVeyQQCqIFOT4XqfZUp4Ccc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1976-0O-MiomLxBR85Wwq-zOkRENSgdwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=57c1e7f5-58c3-402f-b2a4-2b9610703a23</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1976-0O-MiomLxBR85Wwq-zOkRENSgdwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="8838" it="0" lt="8838" ct="0" ts="1587564576104" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTBiYzAzYmQtZjlmOC00YWFmLWI4MWYtZjAxZmM5N2VjYzdm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1956-R7r9WH-asKURRJTRpoErM8BUsE0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="12902" it="0" lt="12902" ct="0" ts="1587564572040" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2035-mhY5yqWrT27oUeBuNJnNpZTMUbWXOTiHRU-GSz1OUQgUf5jLfY2lXxl6mYYtntiVYfkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2025-mFhWm-1uhGxv8Qdb4uUzxSTzlsQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c91ea9d8-ca7a-4220-8315-d5e04f88c6e2</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2025-mFhWm-1uhGxv8Qdb4uUzxSTzlsQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12902" it="0" lt="12902" ct="0" ts="1587564572041" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2050-fW5AzJrGImzOlUpR76vWGWFlilseKXXDMGTSBlwA0gQKOMTotL2B6m2W-aVfHGqiMssc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2003-rE4bRzUyg7ql-jkxxR8H6i7g3poc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=52963914-b990-402b-8ffc-7765a29a59f6</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2003-rE4bRzUyg7ql-jkxxR8H6i7g3poc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="8840" it="0" lt="8840" ct="1" ts="1587564576103" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTYwNWFjYmUtYmJlZC00MjNhLWE5OGUtNzA5YmU3ZWE0ZTc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1957-Y2susQLtEPQ8BbxkvRRDpCJdMcUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="12936" it="0" lt="12936" ct="0" ts="1587564572007" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2001-44vNV-UkxHAJN6vBC4QZrXJQ4UXwVzV4wKYqyUdWSohhfwSndAnSAmaFmMnFaILOv1Yc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1997-2GFgX0OJO0UuILxlMucY-ZYkOakc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e1964c71-35da-45f6-a47f-368526e826dc</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1997-2GFgX0OJO0UuILxlMucY-ZYkOakc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12953" it="0" lt="12953" ct="0" ts="1587564571990" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2028-VjkHHAff-AUdckQESjaFyc5sHXiVL-exp9-u1lo6NI4S1aYjPROlNKnzSTwMPusP0Xgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2036-4FTQjCwredqLm2-maOzAD23UmLwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7eb4d5bd-de1d-4964-979b-49e826e4c01c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2036-4FTQjCwredqLm2-maOzAD23UmLwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12914" it="0" lt="12914" ct="0" ts="1587564572030" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2037-07X-2Ua21LAEn42DNhxNgxDqyFnITqwp-vle4DpYpRAJ0-xAIgaHSkyBLlu8yxpSBtsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2052-Gfb4rUYIj-bxIvhi8ld2ljb-cXoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=1e4f5bcb-5e80-4ed2-b3bc-37d8c321c693</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2052-Gfb4rUYIj-bxIvhi8ld2ljb-cXoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12910" it="0" lt="12910" ct="0" ts="1587564572034" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1991-U2CCNUveLqf5GB1OiRDxMt47pybEhQOiLoLiZdgdlkH8VhBW1jIpoXM-UURBvj934Poc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1989-hf8e-lkxL38C1SC6fEi0Rufl9foc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=05b0dbb1-e874-4fbf-828a-f2a4d4f42e7f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1989-hf8e-lkxL38C1SC6fEi0Rufl9foc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12935" it="0" lt="12935" ct="0" ts="1587564572009" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2038--3ciAKAN-lokl2KFYpceNME-TOS8RqRmAaUMrkzEReuIqOKDzOl3mLhq8NSEnxpYCNMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2015-3-nUrNasbUm0bOtf1RuC7cpnoFsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9de4db55-01a5-4d07-9096-a9f905d14beb</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2015-3-nUrNasbUm0bOtf1RuC7cpnoFsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12909" it="0" lt="12909" ct="0" ts="1587564572036" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2040-CUP3PHM6o8ROAL-HF6W73LPEWJKUszFq2FoqqtN5dGhn0WDGK5kgFih6j-bGtI9Wb28c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2010-ZRPzt2vdRgBu7fVvdqIWUMahoyYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=db9aae40-7b42-4f98-8bb5-4426e88f4673</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2010-ZRPzt2vdRgBu7fVvdqIWUMahoyYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12897" it="0" lt="12897" ct="0" ts="1587564572048" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2020-aRyEjJS-Vp47AY4DU8vkr5g88M6m0Umn8yXBlV0NZHq8qm3ogSAMEadnXMrQr-0lLMoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2009-xEc92Q8ypF-WKQ2zza9I2DCJAToc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c73484f8-b824-4475-ac0e-5f9bd844de3f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2009-xEc92Q8ypF-WKQ2zza9I2DCJAToc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13194" it="0" lt="13194" ct="0" ts="1587564571751" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2022-fgyG70F5D1D15mjCk4w-IIOChacLLb5Tj9Jl38HkdAVQZkQjgMz1FPfJ4UOP3MnqBCgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2031-tAcM-VGzwdyVDSGN2saZYiyxRCoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9e4a07ed-db7d-452c-8716-faa7bb83f718</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2031-tAcM-VGzwdyVDSGN2saZYiyxRCoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12916" it="0" lt="12916" ct="0" ts="1587564572029" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2008-SmW5sdjfqhljZkXlwd-jAjKJGwkOtDcXt4H33tOnjyvdzh5-IluXVsYD7QGHckJISosc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2045-yjS-g4lnWdkLNjiKy6lLccgsPpwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=df623fd0-c76b-477a-8ce9-962ff0f5fb53</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2045-yjS-g4lnWdkLNjiKy6lLccgsPpwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12934" it="0" lt="12934" ct="0" ts="1587564572012" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2034-h8v7CDPgSRzoHsBUa2PCCRDNISew4KgmBfm33dFkBLC5jH2Zm5ZE7w6pN-bDG1JDX7wc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2041-cQIpb8mj-fax7IiYsD5WkMC2r-gc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a94055b1-e3ac-4304-859c-ef069421fe1f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2041-cQIpb8mj-fax7IiYsD5WkMC2r-gc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12908" it="0" lt="12908" ct="0" ts="1587564572038" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2030-tMgxWmusOhfkQArOf2mvi2AVIGaqpxT9Xx-IxC1zxwbwQCoqrvO9-fPu5KIx-0cOvPYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2026-bO1Ak4XRcCHHtAbFdm4h0LB4rv8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ca433b9f-7a7b-4f39-b922-d9f4f17e1954</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2026-bO1Ak4XRcCHHtAbFdm4h0LB4rv8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12940" it="0" lt="12940" ct="0" ts="1587564572007" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2007-cttAtQ3-9bmn43OV3DbbWxoWu226l-N7H8JgXi-zIircJW1OKh-tNtUQc4LJVVwDD0kc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2046-h4q02033tCuKHy0mRu7KTjG58QYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=50364545-cc63-419f-aea4-48efdd4dce4a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2046-h4q02033tCuKHy0mRu7KTjG58QYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13836" it="0" lt="13836" ct="0" ts="1587564571111" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1984-lr1K60yKIb0AvHFAWNCEgpmRpgEt-NfUANqeW52iYj-waUke7LXnziNomh6Ws8XGIu4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1987-M6LDbpIK8S81bVoSsswXs1BPe3Ic7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8f3d7b5e-1f1a-448e-bf66-fa4fe883569b</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1987-M6LDbpIK8S81bVoSsswXs1BPe3Ic7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12941" it="0" lt="12941" ct="0" ts="1587564572006" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2014-R5valWx4kiP3ESLu8-MQuHRkYOjOocrZGsAE2zPf5Lg6WO-Mz-U48KF2NFEE6DklnSIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2035-kjGEG8A87sKPrAr3WowZ52oZIlQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=689e1422-30cf-4aeb-920f-d5cfc1290f43</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2035-kjGEG8A87sKPrAr3WowZ52oZIlQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12916" it="0" lt="12916" ct="0" ts="1587564572032" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2051-EfvIcp0OqR9at092m6XeVfy-CTQ40-9fu-aD6Tdq16hizuM-Yoe2SsbDlRZUUSpnA9cc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2022-QN8YjvI9xtKFlWtxbfYk8sm2EOMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a3e79af0-d0a3-4bcf-990a-cd54ba455939</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2022-QN8YjvI9xtKFlWtxbfYk8sm2EOMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12943" it="0" lt="12943" ct="0" ts="1587564572005" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1999-TQ8xnif3QKXCLLJ8-wNY-LZ4PBiWwu7hPHE-moS4P3EUNkKG2LFH-HuhaC6plN5Lwo4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1993-ddEfXx2pDS4tyMi2VFKAMnYLSWYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=72440358-5c2b-473f-a066-673c0afed647</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1993-ddEfXx2pDS4tyMi2VFKAMnYLSWYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12913" it="0" lt="12913" ct="0" ts="1587564572035" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2005--2IS4RRe9T4ZGgcI2iNR330Zi6dgx0u8GzvVAp6gZBhkh5NZF3qIHVXcjigAFeVD6wkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2016-JF3w7CWi9M3yihtFoCOATnbX-nsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7cd751a2-f512-49eb-bc55-5da60ce38adc</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2016-JF3w7CWi9M3yihtFoCOATnbX-nsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12925" it="0" lt="12925" ct="0" ts="1587564572023" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1963-Cb-ifXTj3-yjL23Hmu2SMy7mK5K7d1EVUkLvEDelLXylWwhjeT2nMAfMXj9tGKxcka0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1961--pdjIQOazyhjFXaR2VH5vQ57JLYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=24422f3c-cc3a-49cf-aab2-9076e60c2e3d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1961--pdjIQOazyhjFXaR2VH5vQ57JLYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12959" it="0" lt="12959" ct="0" ts="1587564571990" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2018-yXPLmqk333PqjjyWXRHAVH1Yv-d-wiG9wFaf0MHD6BvahYBclgAI-Q2kl6luFnBOOTwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2032-N9OiP3JGnh-5YmpJjfDhhxvJBHUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2c386ea2-0283-4645-89e9-07a753b7bf6f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2032-N9OiP3JGnh-5YmpJjfDhhxvJBHUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12949" it="0" lt="12949" ct="0" ts="1587564572000" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2023--stbnp9D-fyW318wdjQu-7yh8uFFDeyzp4VVs6OqtipdpKgjYpzdznsWx9ULIxicGTYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2047-zieX-mxpwcAUyYklTEFGFaAh8VMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=36fca98d-32e7-4bb5-8655-aa23bb629f27</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2047-zieX-mxpwcAUyYklTEFGFaAh8VMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12917" it="0" lt="12917" ct="0" ts="1587564572032" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2002-1xotAcv-xGiPOWA0CS1jNZirrJTeo4ntDL-phvB9Q2rt4VJunF-Dob-DsfU6Wn1a1AYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1991-rXYJ-xAcL-GpbdMg1PrNRFIEshEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=51603054-e403-41e2-bc63-72cec41447b8</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1991-rXYJ-xAcL-GpbdMg1PrNRFIEshEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12944" it="0" lt="12944" ct="0" ts="1587564572005" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2019-dcRstZMAepy8Uyb1ZhVByjWHnYiIjat8jsRyfnnbGoqQF8JVz4FImc9oMcJfp5iqKagc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2013-3MWi2g7r6USiveYVJKTxyecjGfAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=4a75569c-a6ea-4d92-a99b-415c7f5f3e90</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2013-3MWi2g7r6USiveYVJKTxyecjGfAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13836" it="0" lt="13836" ct="0" ts="1587564571114" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1966-GIyXUhiVN13UD4tWHiqkoaG5-GIEZobTKp0s1-yiAdWokArVVwzZd3SFn-ww22EKNHsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1967-hBwXBPsL8Mo7BeuNhqTb8dlrfB0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0d144c58-de33-45bd-8d14-dac10d3bb6da</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1967-hBwXBPsL8Mo7BeuNhqTb8dlrfB0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13201" it="0" lt="13201" ct="0" ts="1587564571749" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2026-3GlvhR88cynDaKJGqIjP3ouyFN3j8tIPMf4s0HuoTyMGzGm7JSNgMUGhju-VuqYFO9Mc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2028-IZoFikTtL4H9l7g-7Ka-6ILJPbcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=45d5f53c-63a4-402f-89cb-b9d4307cf3dc</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2028-IZoFikTtL4H9l7g-7Ka-6ILJPbcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13042" it="0" lt="13042" ct="0" ts="1587564571908" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2036-7ePr8MYn8NQNMKMDSDZgwutWCGZk0xVEMV9iTxFDvS5HAzlXK2-7MvAzjAfrFAJ-2JQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2019-AYnLulXJ89Mn5uH9YmJWf8oakfoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8d1a7cb0-8ce4-4473-874c-cbcff0691680</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2019-AYnLulXJ89Mn5uH9YmJWf8oakfoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12929" it="0" lt="12929" ct="0" ts="1587564572022" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2024-SsnySt-KLC0G-qFlqg18aH18hFZn4ULncJ-e6XiGAg1TYuxbNmwuToxTFDc507xgG-Qc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2029-ltFNX3A09Vh3Vco8DHXI22tX3J0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b1798886-c2b4-494e-ad6c-0792a2ef830b</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2029-ltFNX3A09Vh3Vco8DHXI22tX3J0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12930" it="0" lt="12930" ct="0" ts="1587564572021" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2039-hemedK9sj4woD9ElpZCzcRRfd6mwCr7i-jvM80xrIcZpV-BlUDjSb4zBKpkVahihXTQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2027-zXQjkJGBTsJtUgjbGpOXOaNEKl8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e6b24f45-d641-4377-8f2b-9c7b62d889e2</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2027-zXQjkJGBTsJtUgjbGpOXOaNEKl8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12908" it="0" lt="12908" ct="0" ts="1587564572043" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2047-rQZaVRf3voggKoCZSO3mGmRlOZaA2WkORWb0gv2TjJko9Uz0127-kFM1wSbnmJmOlxMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2007-RnQM3jC-rXAscrSxZ-eWhyT5c8wc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b1f45d4d-f277-4ca3-a655-e747d590bdb0</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2007-RnQM3jC-rXAscrSxZ-eWhyT5c8wc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12906" it="0" lt="12906" ct="0" ts="1587564572045" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2043-OmV9L8Iphthn3JsArp5ld9c5dZXpm9fxo-NQCnLKgW-2c6FQh1wnFmJ7lihmioPKYkAc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2024-hWldhd-QzewR5w8k-r22dUgpelcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=cb52c8a3-2bb3-4e1d-b70e-ad9100096dfe</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2024-hWldhd-QzewR5w8k-r22dUgpelcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13301" it="0" lt="13301" ct="0" ts="1587564571651" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1964-CtmFN6bktkldJPQ8THzA-EuNyccs3r0JglRzP0-sFKqAtziZ6sRTfNVYHxYy5UP4fSUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1960-wMR7f8F-VVVxxHrspIqixJurxoEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=f4aa5165-fd39-4c1d-a8f7-c55d59493c7e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1960-wMR7f8F-VVVxxHrspIqixJurxoEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13099" it="0" lt="13099" ct="0" ts="1587564571854" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2052-rqbHGDUbmK1NUnOxHJRiOxJNUK2nS-UPcO24FTTUVek5v2zWOpcyzI3A4-RyWAyr-9Yc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2049-qsJkay--Zmyh62K8skKsuC-XHb4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8497a50f-1984-42e5-9485-64dcde038b18</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2049-qsJkay--Zmyh62K8skKsuC-XHb4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12939" it="0" lt="12939" ct="0" ts="1587564572014" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2017-mZvEBlRtuTKxLJilvQmsydyKESr-8AqJpk4R6YYJKNfgulCV2x3-0tV1MVcpL7K92vkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2006-chMhWUjKNv-mNNtu28cjhLHPnvcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=22697187-4c70-443e-8b1f-95d93a18c4b9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2006-chMhWUjKNv-mNNtu28cjhLHPnvcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12922" it="0" lt="12922" ct="0" ts="1587564572023" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2000--KqBJOkAXGc200xvHI1JXgrG-yRtQkvauCc4YgZ86-BTOqhaVFzamuM6V03e2EDlLXYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2017-k0bX0iF0mu34jz2NmyMNwb7wgcoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=083185c9-bff8-4ba4-9428-519b684cf620</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2017-k0bX0iF0mu34jz2NmyMNwb7wgcoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13839" it="0" lt="13839" ct="0" ts="1587564571114" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1983-dOYz7hI3lXl6gWubqwthkeyNo16U9Kanh0NzwluJ7Y9ERBdYqS2DtlxgGd-SfvF5AJQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1973-ak7BOLGviOX702sI2AWGY4s6L8Uc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=dbfe3b2b-1479-4f8c-9f51-be1d2e637f54</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1973-ak7BOLGviOX702sI2AWGY4s6L8Uc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12936" it="0" lt="12936" ct="0" ts="1587564572013" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2033-Auh44tJUwAXZh-TGhubq-pmb5noH6Acmp0tzcHI2JuqEccELwo7euejbsiBTrJWXLxMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2023-A5-74BLCQ4c6WgOhhMNnIUKxK2wc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=edcf4cd4-b5f8-489e-b77b-ef86ca6c29fa</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2023-A5-74BLCQ4c6WgOhhMNnIUKxK2wc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13093" it="0" lt="13093" ct="0" ts="1587564571858" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1993-CESO-2AEAFDQIJKeGFDoS2Cdh1ehVD1YdO8gR9okRZS0a9zq1uG-8-c5vpygLc1rxZcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1994-Ll-hlT6h4-2ksdg-MUXbDbYunmMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9fe7f9bd-5ee3-42ce-951a-0e14d3c640d4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1994-Ll-hlT6h4-2ksdg-MUXbDbYunmMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12946" it="0" lt="12946" ct="0" ts="1587564572002" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2032-nIuSWiVFQVBSYVAGEmQAYF2yBwT0qJPZKmfk9EBI1kA-b-2NiV1wyKxx6El8xyZ5-SEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2037-8n5t4vY2cEr8vQP6vX-r8iAy8Y0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6242f131-057e-4baf-8bbb-000309f8e5cc</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2037-8n5t4vY2cEr8vQP6vX-r8iAy8Y0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13365" it="0" lt="13365" ct="0" ts="1587564572073" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2013-Iyg9W5SwEeREgqoZSv4gWSe0Jfw94RgiOMa4-8pCkfuNWk8HwYlZCz63K-sQ-TPJ680c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2018-VcVe4LoMl9aObiuKMn7E-6fB4cYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7fdd806b-9000-4abb-91b8-eed237961ed9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2018-VcVe4LoMl9aObiuKMn7E-6fB4cYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13435" it="0" lt="13435" ct="0" ts="1587564572004" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2044-OAueIOyzBGyYSB1aqfjSKfWsLnFuXKzouNQKU3nB4fVSr7QsW6fN-IXyygzhFVFOYy8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2044-RSWSf4QvRMnGn5Gl7kN2nvZ5vBUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8f539fa2-8b98-4028-ad31-73c9b2aaa722</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2044-RSWSf4QvRMnGn5Gl7kN2nvZ5vBUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="14350" it="0" lt="14350" ct="0" ts="1587564571089" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1980-qtEBs0R4oW-pczELCDbnKkBzLuA65Q-GIDnA6BZxmCRnNdu9Co-EtfB8KyYWZxzPoo4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1978-PIWToUKZ9HJikjRhZl0csU5ruu0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7e769078-a8f8-47c5-bcea-52f8a8066791</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1978-PIWToUKZ9HJikjRhZl0csU5ruu0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13412" it="0" lt="13412" ct="0" ts="1587564572028" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1990-iultGeHwrsyxnaxFgZOKY7BZfwA70uTCkhO3tcPZjEAxdknboPmq3hQMqiNdU-L9e08c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1995-GY-Px4NEqjOfgPMuRMsvvwjQWvoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=022d21a0-2443-4740-94ea-9180271d7a20</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1995-GY-Px4NEqjOfgPMuRMsvvwjQWvoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13767" it="0" lt="13767" ct="0" ts="1587564571673" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1995-p9aeZAT5SMRmctY6eFvsNmX5-R7MITqnzanBL-U6idV-hwiYYbKGmMUKb7LYLn7GyKEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1990-UMdmkXLuYJaj2Ls3UfqML3nE0d4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b13a1106-4407-495d-a5ae-66fdc8fe971d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1990-UMdmkXLuYJaj2Ls3UfqML3nE0d4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="14355" it="0" lt="14355" ct="0" ts="1587564571086" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1969-MWV-jinp237XDqR8zXecbVUBuR-uLsXwyuCIHIXS5ZGogP7mo8dR-mcp-Xev7RqXJicc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1971-YKbGQIqbd1gXVb-KmSj4cMIAmVQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=309c11da-3bb4-40c3-a11b-30e340fc8d76</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1971-YKbGQIqbd1gXVb-KmSj4cMIAmVQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13422" it="0" lt="13422" ct="0" ts="1587564572019" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2003-CaSlX4Dv-EcKKNqWAHlq4ywo1CeVzLCrWhsaf37D9wtzSxCnBq5t3-h04SxwSiryiUQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1999-3EK5Lened0LGC538tKa82g2BxxQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=112d5b1b-87e2-42b4-8e7e-bd3941bdb8e9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1999-3EK5Lened0LGC538tKa82g2BxxQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13789" it="0" lt="13789" ct="0" ts="1587564571653" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1970-QioAlc2V6kTZNuPI-zBNF6wTf8JiyjAJ2xtETYSJezd1Yfa982PMo0-AJqy7jTWgaa0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1962-l03lWftMLKDJX5Y0ToXMmn4Zg6wc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0807fa3c-7942-4031-8c23-93d9af256237</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1962-l03lWftMLKDJX5Y0ToXMmn4Zg6wc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13396" it="0" lt="13396" ct="0" ts="1587564572046" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1962-t3BBgR-PluAFORwWCiKcdgtOZCh2DdIMNlBBslHicyqm-PoOlwPIapjuP5qnZqOqZmQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1964-wxSHgC4-DonaIixTyp6Is0mrOc8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a6d82735-71ef-4e54-bdc1-3a5df8dff73a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1964-wxSHgC4-DonaIixTyp6Is0mrOc8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13410" it="0" lt="13410" ct="0" ts="1587564572033" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2021-IspOajBDRwQ1ChVwJ3pVJR7vGQXYFo9eKxinD9gIgowAqBfeEIdjUoaxzONAZKh2D8Qc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2002-sM-yc2rTdUsCZk-CljCgGaxJoMoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=4affa9fc-37b2-4096-8f20-e4cc78876943</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2002-sM-yc2rTdUsCZk-CljCgGaxJoMoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13524" it="0" lt="13524" ct="0" ts="1587564571920" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2031-aZx8Ek05DjwHdimJCVTPg3Kt1xe7TwJaTm3Max9qxR2dXF8k2RzhaA1PLaHaDn3SEj4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2039-mBGdUjafHLFAI476WC6za7nUl1wc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=bdd6ac44-76af-4324-8062-eae5021421d1</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2039-mBGdUjafHLFAI476WC6za7nUl1wc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13401" it="0" lt="13401" ct="0" ts="1587564572044" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1997-Sy32eDp0haatqdbZ28FflLOOQq7pckAyBskQzGXpkPj6kIBLVBRjSdAWoeUaERjZxMQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1992-3v0hifvzxn8lRvmfogigT9crk3Uc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=f776e57d-e9fe-4f65-b41c-2bed50742462</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1992-3v0hifvzxn8lRvmfogigT9crk3Uc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="14340" it="0" lt="14340" ct="0" ts="1587564571105" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1988-kYwgr4YHFxJZ5Z5v4lCTSPOc6h-h6vFViuE7TTcL0Xeip-i-0fDvBBHJApey551Iq8Uc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1982-FBwBCIq648uhBrICGa1VNDxvywYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=980d22b6-54ec-4354-800c-c46d2b3d6e4d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1982-FBwBCIq648uhBrICGa1VNDxvywYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="504" it="0" lt="504" ct="9" ts="1587564584943" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTYwNWFjYmUtYmJlZC00MjNhLWE5OGUtNzA5YmU3ZWE0ZTc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="508" it="0" lt="508" ct="11" ts="1587564584942" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTBiYzAzYmQtZjlmOC00YWFmLWI4MWYtZjAxZmM5N2VjYzdm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13600" it="0" lt="13600" ct="0" ts="1587564571859" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2027-7g9OjqfYOZR3lFywE-S-xULx57jJBuMIpiRxbFjpRqTiSoGrxCOnbMYg8iK31vVfgWEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2014-Hp6PQrYZLLnpmQLYHXQWD-HkhTkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3cfaf4d4-62ca-4068-a2c7-b8ee007a092c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2014-Hp6PQrYZLLnpmQLYHXQWD-HkhTkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13784" it="0" lt="13784" ct="0" ts="1587564571677" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1994-lWoluCh6OfobW1MszOxVovBjb--RzCy4Wbx0F78tWD09v-NcUJ5snfsELwSkAv8BhGoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2020-FzEQUnFg3gXGT5LdR1-FjL3e-kAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=1b59af02-4ed5-4194-91b8-055527197760</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2020-FzEQUnFg3gXGT5LdR1-FjL3e-kAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13811" it="0" lt="13811" ct="0" ts="1587564571652" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2025-TO2rGtcy3B-Y-rsdhxbEPnia0CJfk7wz2EN0tCA6VZ878COyxLVkN9hW-iYlCW-cmqgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2042-z8mSRWkrnAo3L2ofHkygtQMB8c0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=aa4442e7-d9d4-434f-89ce-c2c50caa7db9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2042-z8mSRWkrnAo3L2ofHkygtQMB8c0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="20" it="0" lt="20" ct="0" ts="1587564585447" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NiwianRpIjoiSUQtVG9rZW4tMTY1NC1EbXZpZmhLUlJyTnFaeVdRM3pYNld0dWNtYzFtR3haSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ghuIrGPUzfGzT8RhDRSc93_Zh0xJvlaptohh364ebgtU_EGSEHwa1qXF77ZqdTnmuZV6z_2Ny4eMhwnJf59yJ7GmCe02TdBAyt0jrefb2kilod9e2kfkgjxsjalcGFiSuZg9unYp6osVy-YMu4UIpQd8ZY-W2RWg_EzkDZCZWxP01-tSsqq0YdsZeF2zjcCrj3kFHOFeRdKAvXP7FLkg3CZGi58LNVGdy8D5J8Dg90Fko58LSiQTN57lFO_tY_F0ivYutXQHASmSOrR5UkEtU9q_pkndPjmMdJSMBd8DYfHiRQ7ReRlnsa6HNlCNoU_eXBnPxJdEUupgRrYUpd4DSQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTYwNWFjYmUtYmJlZC00MjNhLWE5OGUtNzA5YmU3ZWE0ZTc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NiwianRpIjoiSUQtVG9rZW4tMTY1NC1EbXZpZmhLUlJyTnFaeVdRM3pYNld0dWNtYzFtR3haSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ghuIrGPUzfGzT8RhDRSc93_Zh0xJvlaptohh364ebgtU_EGSEHwa1qXF77ZqdTnmuZV6z_2Ny4eMhwnJf59yJ7GmCe02TdBAyt0jrefb2kilod9e2kfkgjxsjalcGFiSuZg9unYp6osVy-YMu4UIpQd8ZY-W2RWg_EzkDZCZWxP01-tSsqq0YdsZeF2zjcCrj3kFHOFeRdKAvXP7FLkg3CZGi58LNVGdy8D5J8Dg90Fko58LSiQTN57lFO_tY_F0ivYutXQHASmSOrR5UkEtU9q_pkndPjmMdJSMBd8DYfHiRQ7ReRlnsa6HNlCNoU_eXBnPxJdEUupgRrYUpd4DSQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="13466" it="0" lt="13466" ct="0" ts="1587564572001" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2048-h1jMFso5Z3ia94wcT4IOnIltjvQ9dUr9TD-vOc3u-F-0WXtDIjkAO02MlHAC82U33OQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2051-Nw1yC1-tGqF55TELOC5z-jji5Bkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c6501eed-2baa-478f-96f8-928235b1abe9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2051-Nw1yC1-tGqF55TELOC5z-jji5Bkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="8024" it="0" lt="6232" ct="1" ts="1587564577441" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c7cdf144-87a2-43cb-b9a3-d9884b52de0d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:43 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="13696" it="0" lt="13696" ct="0" ts="1587564571775" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2029-lPvDxYEM-JaJ1ILLchw28AmN42AhpilatY4c2QCR77tW-2x6A5BWPGtMkOpzO2WBTdoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2038-u3fu4iOaBdsmRnQLVlmBiCjXieUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9a3ac69c-13c8-4aee-ac35-be0a2bf99cde</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2038-u3fu4iOaBdsmRnQLVlmBiCjXieUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="23" it="0" lt="23" ct="0" ts="1587564585450" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NiwianRpIjoiSUQtVG9rZW4tMTY1My1xYW9hMWtpTlp6b1Y0TGVaWnFEeWRuVXlEcTl3eVByQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.b6Rpek42sxw3BMsW8ZcS8hukMpD2V4yhUYL3Q4r_5FNN25VJmQtUBBXCmNaHV_CqUKRnOSkR1zTlbkYUCVnPJnKzY4lBkugjjCNmESBHBeNNHjIDRlFXvX-2_MnD3tAEFaGU6tQEuIQfKlpAabTiVGDOHsC5FmjxU-UOo-lNmBFdniOCW7uBsnZtJHRHtM_r-xUF6J7jpE-h1oXEXiC1CDKT-7uZ-gBeiANhFPvuEuKEWkZNZFxiY60XOI_xhPh1-WNElKvpscA6RqR5L8zEsTaZKV7INdnJ_bcHy4Pvcw7A3_BDJNHjst2dx6idxG9nZ4mxJth-g8zy7k4kH7w7fQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTBiYzAzYmQtZjlmOC00YWFmLWI4MWYtZjAxZmM5N2VjYzdm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NiwianRpIjoiSUQtVG9rZW4tMTY1My1xYW9hMWtpTlp6b1Y0TGVaWnFEeWRuVXlEcTl3eVByQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.b6Rpek42sxw3BMsW8ZcS8hukMpD2V4yhUYL3Q4r_5FNN25VJmQtUBBXCmNaHV_CqUKRnOSkR1zTlbkYUCVnPJnKzY4lBkugjjCNmESBHBeNNHjIDRlFXvX-2_MnD3tAEFaGU6tQEuIQfKlpAabTiVGDOHsC5FmjxU-UOo-lNmBFdniOCW7uBsnZtJHRHtM_r-xUF6J7jpE-h1oXEXiC1CDKT-7uZ-gBeiANhFPvuEuKEWkZNZFxiY60XOI_xhPh1-WNElKvpscA6RqR5L8zEsTaZKV7INdnJ_bcHy4Pvcw7A3_BDJNHjst2dx6idxG9nZ4mxJth-g8zy7k4kH7w7fQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="13452" it="0" lt="13452" ct="0" ts="1587564572024" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2041-jI9xO03xogsDcDK-ZfwXZ5pWEdDOes0oUWq8DNaggjXhnKCnYkonYoKn2RNAdcjU-lgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2043--i4GGcBykB-W6UXDukfzn9UY0QAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=f6baded4-b444-402f-ac78-67432a3dd707</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2043--i4GGcBykB-W6UXDukfzn9UY0QAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13477" it="0" lt="13477" ct="0" ts="1587564572003" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2006-JLc7oMvioHRG6C1mH7E5luGB8TLyqVICeaZHCv1cXYRY-TwxUZ4vWmU4YYVmRzGWZTgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2030-FQ2a6mnufzLY7suEjaPHHsQ8Oksc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2210296a-3af4-49a6-b803-5c799eb0a979</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2030-FQ2a6mnufzLY7suEjaPHHsQ8Oksc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13457" it="0" lt="13457" ct="0" ts="1587564572027" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2011-YYbWcGK48vrXlZBXAySOn9ZHX-X8-3QEozWjc-zEH85TXmiZIpPuHZEi8cZQgqCOR00c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2004-c1mOIOAdmsaq2bVfi2zWLNy7fm0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d7e7c8a2-e106-4765-bb50-d0a492e6a9cd</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2004-c1mOIOAdmsaq2bVfi2zWLNy7fm0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="14421" it="0" lt="14421" ct="0" ts="1587564571063" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1985-ulilTIzxnB9KR8VYTK3DY-fyTeo84lAERbuQjH-g5rASBLufYcc4Ju8-0b--3JrpWXgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-1988-eIEpQtG3GAFFRljUeHzxaTPXJIoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=bc287e33-97a1-4548-8fd6-0a2f25ed142f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-1988-eIEpQtG3GAFFRljUeHzxaTPXJIoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13441" it="0" lt="13441" ct="0" ts="1587564572044" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2016-kvmSZ0h5Mw9zpAxyVRwtfQ-9-rd8v4uLxGtqQGfGMSIi1zm22HAwBcrJ9OzH9y3jsssc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2048-kW30B2iuYjIS1lhtkb8kzg1WSsYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=fb74943d-ddf9-4047-ad25-718ad07e2634</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2048-kW30B2iuYjIS1lhtkb8kzg1WSsYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13497" it="0" lt="13497" ct="0" ts="1587564571989" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-1989-7T8pr2nM3dn7XQTKD62XAu5lVapkKZ1c-HT65k9GGWURnhj5FfrGlv-n1iwi8Q4V1Roc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2021-HNsQi3EUJXdtBl9ppwM-e5FrVJcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0ed4f5cd-d642-43e1-8e53-ea514d426d33</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2021-HNsQi3EUJXdtBl9ppwM-e5FrVJcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13471" it="0" lt="13471" ct="0" ts="1587564572016" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2010-O0QTXn4snn9fPSVGVOz9nKwBHesrvuQaQ7wOxYPCR-XeNfM3WdlRbsBYWhKO35eRpY0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2034-s7V-FUcyg3hgmfSbpOLUvQL9yZAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=31156411-8282-417e-9380-b048e2fe1cd1</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2034-s7V-FUcyg3hgmfSbpOLUvQL9yZAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13468" it="0" lt="13468" ct="0" ts="1587564572020" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2012-yiTWDKvzViSirWY7g-fMFrrZdK9THT5lVH505Wr0R1Seg0-OVJDcXJ8HOHllFp-3Zu8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2011-k1O11aYHHhFVKBh97Jsl7ee6irwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=483b3037-de19-48eb-88b4-e62e68ccad9f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2011-k1O11aYHHhFVKBh97Jsl7ee6irwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13477" it="0" lt="13477" ct="0" ts="1587564572011" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2045-yoUTzzwcXBF75ZWUqgD0siLvN-EelyvxulrzVI7gM37pAX62a7Mf3mhfLiLdO1nhCQUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2005-6W1xuxT4pE2yjZxJ-GBiQNOWIM4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=dc6ecd8b-8d38-4d0c-bc12-8078d0484abf</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2005-6W1xuxT4pE2yjZxJ-GBiQNOWIM4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13451" it="0" lt="13451" ct="0" ts="1587564572037" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2009-MWI9iyQd8BO7eBX7p2jMaelNZk3pnJEYtAXiBXU4g8g6Qz2XntmwoWwWq2Azyd4wlIcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2012-eYaBL00t9n-6syDnbGbe593Kdqcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=71cb56d8-4666-43a0-a837-9f849615735a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2012-eYaBL00t9n-6syDnbGbe593Kdqcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13447" it="0" lt="13447" ct="0" ts="1587564572042" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2049-4BOEA-qkep-CTLodU1EPLlKMdiSbAdXyCuqNc9-r0tvSNPG0-5HNWEe3EUV07igjcD8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2008-ByjWZ1umnZyPXGY6gedGwWaws6kc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d0553ace-5130-480c-b1cd-021f248029ca</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2008-ByjWZ1umnZyPXGY6gedGwWaws6kc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13456" it="0" lt="13456" ct="0" ts="1587564572037" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2046-LZI467gskr8iDQHfv-KQBegSNT419uF4e-a1-sEXGxOHVIwpLzKrjwgn58p7INPLjYQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2050-bBAXnAVgK9Dh1WpOEDgOm2wVjYUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b0e779b6-5eec-44ad-a4f4-2e81f4337f4c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2050-bBAXnAVgK9Dh1WpOEDgOm2wVjYUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13474" it="0" lt="13474" ct="0" ts="1587564572021" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2042-S-AFSJ8igPEABHGAq7YqS8jG5Ziu-N0CUdsnUi-AsnJtjendbZGH3ubmBuV4GTzfgzEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2040-Tvs41lC0nTct8mumb05-zjr-Mh0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=bacf416e-1cf1-4bed-b09e-dd2937898994</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2040-Tvs41lC0nTct8mumb05-zjr-Mh0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="5792" it="0" lt="5792" ct="0" ts="1587564585473" s="false" lb="GET - Admin Center api user" rc="500" rm="" tn="Typical Admin Center API test 1-62" dt="text" by="611" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Content-Length: 289
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NiwianRpIjoiSUQtVG9rZW4tMTY1My1xYW9hMWtpTlp6b1Y0TGVaWnFEeWRuVXlEcTl3eVByQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.b6Rpek42sxw3BMsW8ZcS8hukMpD2V4yhUYL3Q4r_5FNN25VJmQtUBBXCmNaHV_CqUKRnOSkR1zTlbkYUCVnPJnKzY4lBkugjjCNmESBHBeNNHjIDRlFXvX-2_MnD3tAEFaGU6tQEuIQfKlpAabTiVGDOHsC5FmjxU-UOo-lNmBFdniOCW7uBsnZtJHRHtM_r-xUF6J7jpE-h1oXEXiC1CDKT-7uZ-gBeiANhFPvuEuKEWkZNZFxiY60XOI_xhPh1-WNElKvpscA6RqR5L8zEsTaZKV7INdnJ_bcHy4Pvcw7A3_BDJNHjst2dx6idxG9nZ4mxJth-g8zy7k4kH7w7fQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:50.572+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/api/user&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=OTBiYzAzYmQtZjlmOC00YWFmLWI4MWYtZjAxZmM5N2VjYzdm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="5799" it="0" lt="5799" ct="0" ts="1587564585467" s="false" lb="GET - Admin Center api user" rc="500" rm="" tn="Typical Admin Center API test 1-87" dt="text" by="611" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Content-Length: 289
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NiwianRpIjoiSUQtVG9rZW4tMTY1NC1EbXZpZmhLUlJyTnFaeVdRM3pYNld0dWNtYzFtR3haSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ghuIrGPUzfGzT8RhDRSc93_Zh0xJvlaptohh364ebgtU_EGSEHwa1qXF77ZqdTnmuZV6z_2Ny4eMhwnJf59yJ7GmCe02TdBAyt0jrefb2kilod9e2kfkgjxsjalcGFiSuZg9unYp6osVy-YMu4UIpQd8ZY-W2RWg_EzkDZCZWxP01-tSsqq0YdsZeF2zjcCrj3kFHOFeRdKAvXP7FLkg3CZGi58LNVGdy8D5J8Dg90Fko58LSiQTN57lFO_tY_F0ivYutXQHASmSOrR5UkEtU9q_pkndPjmMdJSMBd8DYfHiRQ7ReRlnsa6HNlCNoU_eXBnPxJdEUupgRrYUpd4DSQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:50.572+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/api/user&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YTYwNWFjYmUtYmJlZC00MjNhLWE5OGUtNzA5YmU3ZWE0ZTc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="7542" it="0" lt="1764" ct="1" ts="1587564583730" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-35" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=db58573f-b4f2-480e-ad64-73223f7043d1; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:44 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="7618" it="0" lt="7616" ct="1" ts="1587564583662" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-47" dt="text" by="631" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:49.662+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MWQxNmM0MmMtNzRlMy00ZjRmLTgwMzktNjZhZDY1OTllOTM1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1958-VzO0AncBwEs-TgQyQniRG1NafI0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7483" it="0" lt="7481" ct="1" ts="1587564583798" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-48" dt="text" by="631" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:51.281+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YTExNDU5MzktNjQ3Mi00MGQ0LTllOGMtZmM0NmE2NjBhYjE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1984-8NwwOGd6P9CXTZvMb5jfvpHaoHcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7485" it="0" lt="7482" ct="2" ts="1587564583797" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-100" dt="text" by="631" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:49.666+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQ4YzBmODEtMDQwNy00Y2UwLTkyMWUtYjdmMmRiMTEwOGQ2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1977-QTGWJP6Hp5P8uGvJGA1tQAV6L1Ic7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7483" it="0" lt="7479" ct="0" ts="1587564583799" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-9" dt="text" by="631" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:49.660+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YmRjZTgxODEtMWFmMC00NTMxLWE5NmMtMDMwZDhkN2QxZTBh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1980-D1MehcaaR3IinIH-XEKgalZ7qWEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7487" it="0" lt="7484" ct="3" ts="1587564583796" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-90" dt="text" by="631" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:49.661+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NjUxYTQ0MWQtOGFjNC00MGRiLTk1MzctYjg3MTE4Y2ZhZTNk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1981-elDWHiFibGhket127RyzF0OcjRYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7486" it="0" lt="7485" ct="1" ts="1587564583798" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-13" dt="text" by="631" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:51.293+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YTQ4ZDBmZjMtYTdlZS00NjRkLTk4ODAtZWI1YTEzNTE0ZWM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1975-faylG6vCYimKONU8cJXs-DrFxPQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7494" it="0" lt="7484" ct="0" ts="1587564583799" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-2" dt="text" by="631" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:51.288+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YTczZWVlYTEtZmQzOC00NDUxLWJhZDYtZWFkNGY4ZmM5ZTZm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1972-dH4WBDjMUA-b0dRJ06VAeF-zXnoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7564" it="0" lt="6832" ct="0" ts="1587564583731" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8b4f5525-9a78-4cbc-ad62-52b76419ee90; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:50 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="49" it="0" lt="49" ct="0" ts="1587564591285" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2QwNjQ3OTYtOThmMi00ZDE4LTkxNjMtYzhkYzM4M2Q3ZjMx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="51" it="0" lt="51" ct="0" ts="1587564591283" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDhiZGE1NzUtN2ZiOS00OTA1LTkwYzUtYjU1MjkzYzgxMTM4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="68" it="0" lt="68" ct="1" ts="1587564591266" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGQ5NzM5ZmMtZTNkYi00Y2JhLTk5MDgtYjQxNzRiZGRiZDQz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="53" it="0" lt="53" ct="1" ts="1587564591281" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGZjODNmN2YtMmU5Yi00NGUyLTgzYjItMjdkZjU1ZmY4MTdk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="51" it="0" lt="51" ct="1" ts="1587564591283" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODk2OGI0MDgtYmU0Yy00NTIxLWIwNWMtMzI1NmFiYTMzMjE1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="53" it="0" lt="53" ct="1" ts="1587564591282" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzUzOTk1YzMtMTc0MS00YTY1LTk2OTMtMDI3NGM4YjE3N2U5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="54" it="0" lt="54" ct="2" ts="1587564591281" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWFiNTMyZDktNzMwYS00ZWZlLWFjMjktOGNlNDljMzNjYTBj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="71" it="0" lt="71" ct="0" ts="1587564591267" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWM3NjI5NGItODNkOS00OGFjLTgyNGUtZjJlYWNhNThiZDcy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="45" it="0" lt="45" ct="1" ts="1587564591293" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGVmMTRlNTEtMTUxYy00MjIyLWE0ODEtZWZmYjI3OTMyOGFl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564591335" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODk2OGI0MDgtYmU0Yy00NTIxLWIwNWMtMzI1NmFiYTMzMjE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564591335" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWFiNTMyZDktNzMwYS00ZWZlLWFjMjktOGNlNDljMzNjYTBj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564591334" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2QwNjQ3OTYtOThmMi00ZDE4LTkxNjMtYzhkYzM4M2Q3ZjMx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564591335" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGZjODNmN2YtMmU5Yi00NGUyLTgzYjItMjdkZjU1ZmY4MTdk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564591335" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzUzOTk1YzMtMTc0MS00YTY1LTk2OTMtMDI3NGM4YjE3N2U5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564591338" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWM3NjI5NGItODNkOS00OGFjLTgyNGUtZjJlYWNhNThiZDcy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564591339" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGVmMTRlNTEtMTUxYy00MjIyLWE0ODEtZWZmYjI3OTMyOGFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564591334" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDhiZGE1NzUtN2ZiOS00OTA1LTkwYzUtYjU1MjkzYzgxMTM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="87" it="0" lt="87" ct="0" ts="1587564591334" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGQ5NzM5ZmMtZTNkYi00Y2JhLTk5MDgtYjQxNzRiZGRiZDQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="160" it="0" lt="148" ct="1" ts="1587564591348" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-9" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7a4bdac5-f6db-4b5f-a0f4-509688d2f1fa; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:50 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="159" it="0" lt="148" ct="1" ts="1587564591346" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-47" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9141074e-71db-4403-8475-d4fc76f694a4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:50 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="161" it="0" lt="151" ct="1" ts="1587564591347" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-87" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8c948d47-2cf1-48fe-bea1-6cdba0adb0cb; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:50 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="197" it="0" lt="167" ct="0" ts="1587564591344" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-48" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d9c97634-10b8-4f54-8630-681607af578a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:50 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="196" it="0" lt="171" ct="0" ts="1587564591348" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-2" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=71b2ab56-b0f2-4d87-9252-71ad85f6f9ea; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:50 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="198" it="0" lt="172" ct="0" ts="1587564591347" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-100" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=95c22992-2830-46e4-b46c-e89ca2c3e240; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:50 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="6211" it="0" lt="6211" ct="0" ts="1587564585472" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2053-9gmJQrEg61NqH9BLYRiZIQTbnr5RORKmgWXuflbHW6LNO8eZ6G-MM71wUCAYfd8mPwMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2053-esGXwEW98Gh-I1gmDfi4-jWicHkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c7cdf144-87a2-43cb-b9a3-d9884b52de0d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2053-esGXwEW98Gh-I1gmDfi4-jWicHkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="478" it="0" lt="328" ct="1" ts="1587564591340" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-90" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=4c323f60-66b7-4668-9dbb-8f9e67a4c372; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="398" it="0" lt="257" ct="1" ts="1587564591421" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-62" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=dba61a38-1436-41d1-8a0a-0af72031c87e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="476" it="0" lt="305" ct="0" ts="1587564591346" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-13" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=20ce8b13-6f83-4252-9423-4372be63bec3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="6878" it="0" lt="6878" ct="5" ts="1587564584947" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzQ1Yjc2MTEtZWUyMS00MzUzLTkwODctNWQ2Mzk1ZWI3Y2M2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2046-h4q02033tCuKHy0mRu7KTjG58QYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="1" ts="1587564591825" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzQ1Yjc2MTEtZWUyMS00MzUzLTkwODctNWQ2Mzk1ZWI3Y2M2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564591831" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwNy1RMFFjQUhiM0hKbnRoQUFlYy10bS1jcS1pY3RlWDdZdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Gv54ucpJvcOq0LQst9_DhWFYrz9IV046XQP_ihFdnxAABHpKwt36ESSA0Dz4hHO5toQxkntbhM1AN6iDLjvrgInd4d2-2G6Wok8kHCYwrdXhHwYXaA9p-ULwEXBN5FLHUmYCv-3vEmg67TyR_p5D-AsPGmfy17iP_EhubmCf-fMreDZWN3ZsrJ8OHbNbStGSKyquq8oBVSlUzvzVRoANw8LDVRas4QP-oxhDVAZbyU7j-OqorS7DxIBpftJ-R7afP5BqEfec8_lohz9j2YKpEvlk5nH2SZPlJFakFWu9urG5RBsqsL44VFKFEDrzKxyupJqR5TXNT14fE9hU3qN9lw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzQ1Yjc2MTEtZWUyMS00MzUzLTkwODctNWQ2Mzk1ZWI3Y2M2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwNy1RMFFjQUhiM0hKbnRoQUFlYy10bS1jcS1pY3RlWDdZdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Gv54ucpJvcOq0LQst9_DhWFYrz9IV046XQP_ihFdnxAABHpKwt36ESSA0Dz4hHO5toQxkntbhM1AN6iDLjvrgInd4d2-2G6Wok8kHCYwrdXhHwYXaA9p-ULwEXBN5FLHUmYCv-3vEmg67TyR_p5D-AsPGmfy17iP_EhubmCf-fMreDZWN3ZsrJ8OHbNbStGSKyquq8oBVSlUzvzVRoANw8LDVRas4QP-oxhDVAZbyU7j-OqorS7DxIBpftJ-R7afP5BqEfec8_lohz9j2YKpEvlk5nH2SZPlJFakFWu9urG5RBsqsL44VFKFEDrzKxyupJqR5TXNT14fE9hU3qN9lw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6466" it="0" lt="6466" ct="2" ts="1587564585442" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGViOWJlYjMtMjg2Zi00OTQ3LWJkMjMtODI5YThjOTQ5NTIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1962-l03lWftMLKDJX5Y0ToXMmn4Zg6wc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6955" it="0" lt="6955" ct="1" ts="1587564584953" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjQ4ODUyMDItYjRkMi00NTNiLWI0YTEtMGY3ZDQ5ZmQ2OGE4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2006-chMhWUjKNv-mNNtu28cjhLHPnvcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6424" it="0" lt="6424" ct="1" ts="1587564585484" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTc4MDFjMzItMDNlMS00M2QyLTg3MjUtZWVkYzE0OGZkNmIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2004-c1mOIOAdmsaq2bVfi2zWLNy7fm0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6447" it="0" lt="6447" ct="1" ts="1587564585467" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzNkMjRhNTgtYjE4NC00MzYyLTkxYzQtNzljM2MxZjdiMDQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2051-Nw1yC1-tGqF55TELOC5z-jji5Bkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564591909" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjQ4ODUyMDItYjRkMi00NTNiLWI0YTEtMGY3ZDQ5ZmQ2OGE4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564591909" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTc4MDFjMzItMDNlMS00M2QyLTg3MjUtZWVkYzE0OGZkNmIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6439" it="0" lt="6439" ct="0" ts="1587564585485" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTBmYjhiZmQtNTU5Yi00Y2I4LWJiZWMtZmVhZDczMDA1MjAy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1988-eIEpQtG3GAFFRljUeHzxaTPXJIoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6977" it="0" lt="6977" ct="8" ts="1587564584947" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWVmMmNhMzMtYTVjOC00YTljLWE1NTAtNDE0MDU3MTYwMzU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2026-bO1Ak4XRcCHHtAbFdm4h0LB4rv8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8106" it="0" lt="8106" ct="1" ts="1587564583819" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjE5ZDIwMTUtZmEyYS00NjE5LWEwZmYtYjFkY2VkZGEyYmJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1959-O0qGZ2ebpvgz4Hu56nIdCllCKCsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6980" it="0" lt="6980" ct="9" ts="1587564584946" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDc2ZDg5OWItMTY5Yy00MzAyLWI2MjUtYTY2Mzg5ZjNhYTU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2041-cQIpb8mj-fax7IiYsD5WkMC2r-gc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="1" ts="1587564591908" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGViOWJlYjMtMjg2Zi00OTQ3LWJkMjMtODI5YThjOTQ5NTIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564591918" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwNS1BU1BnRFZsRklTdjVPSUJjNnVUbFZnMGNDZGdOOGlzbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Fw8iq3pm5ww--ccIW0TdRaIJcM59aMHvRsriCS_ma5x-MBHmTuXl4hnFHZT-Uhd7ke2krO6UCXGy-XzisY1ulJwFleHrRhstq0w90mSNxj0DY5A34OABGv0agnWdqbOqJ7L2lB1IJg-yWUnQGZS1rUJaPiwZvTpV0CiHOVxHzgz7bM-X-wArYU3y0TKYORW5JS91VSGZaCGqNlZKFDywqVJJ_xOpDuTxGQbKAUxfgFX8ZnEyzoR0WEsQw9x475Lf1qKz9cfQLeqPTsI7fhNqlv7kk0CXycFKIgZ5-277n6XMjvsqdeSZjPbJE1y7Pc7j2X1jShHpamXDJ0LuEhB3Jw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjQ4ODUyMDItYjRkMi00NTNiLWI0YTEtMGY3ZDQ5ZmQ2OGE4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwNS1BU1BnRFZsRklTdjVPSUJjNnVUbFZnMGNDZGdOOGlzbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Fw8iq3pm5ww--ccIW0TdRaIJcM59aMHvRsriCS_ma5x-MBHmTuXl4hnFHZT-Uhd7ke2krO6UCXGy-XzisY1ulJwFleHrRhstq0w90mSNxj0DY5A34OABGv0agnWdqbOqJ7L2lB1IJg-yWUnQGZS1rUJaPiwZvTpV0CiHOVxHzgz7bM-X-wArYU3y0TKYORW5JS91VSGZaCGqNlZKFDywqVJJ_xOpDuTxGQbKAUxfgFX8ZnEyzoR0WEsQw9x475Lf1qKz9cfQLeqPTsI7fhNqlv7kk0CXycFKIgZ5-277n6XMjvsqdeSZjPbJE1y7Pc7j2X1jShHpamXDJ0LuEhB3Jw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564591918" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczOC1wN3F5NUlTSmpDWmZEU21EQTJmeC1UUlpHTXItcnN4QSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IJFP1YqRTLQCRMlfQOVIFockF7iGMm3GswiJMxzy4AJ2gRpT1wDTh8l00OEHD0etuhG9MXbYTSCBccnUjUPqA0UXHF3zXq26dbC-tulvwD8tGivX8X7wm3u7zFAJ6oFpugneQmp2F65maGx8tgivhGqsfZF5or3ue-_aCyZ5YMbU0Oc1PgRSOl4M0PMO2jzb-T6e1EcuRUdn7vLFLcOuTM7wtoM_LCLkArsL-UW_ePI03wgdRNPS4zcJ3Nw1PS2zhO3Fp2tT6DbizbSeYbeTCP_ecli7tJQJMqF8SomCUHoD2u0UiHDWKwD4a1ODcPQ4IIEDAXEkaxXe9Gy30uSjSA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTc4MDFjMzItMDNlMS00M2QyLTg3MjUtZWVkYzE0OGZkNmIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczOC1wN3F5NUlTSmpDWmZEU21EQTJmeC1UUlpHTXItcnN4QSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IJFP1YqRTLQCRMlfQOVIFockF7iGMm3GswiJMxzy4AJ2gRpT1wDTh8l00OEHD0etuhG9MXbYTSCBccnUjUPqA0UXHF3zXq26dbC-tulvwD8tGivX8X7wm3u7zFAJ6oFpugneQmp2F65maGx8tgivhGqsfZF5or3ue-_aCyZ5YMbU0Oc1PgRSOl4M0PMO2jzb-T6e1EcuRUdn7vLFLcOuTM7wtoM_LCLkArsL-UW_ePI03wgdRNPS4zcJ3Nw1PS2zhO3Fp2tT6DbizbSeYbeTCP_ecli7tJQJMqF8SomCUHoD2u0UiHDWKwD4a1ODcPQ4IIEDAXEkaxXe9Gy30uSjSA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6984" it="0" lt="6984" ct="10" ts="1587564584944" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTZiZmM2ZGYtZWExNi00OWY4LWE0ZjktZDc2ZGE1ZjZhZmFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2036-4FTQjCwredqLm2-maOzAD23UmLwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6443" it="0" lt="6443" ct="0" ts="1587564585486" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjdiY2ZkYjktMWFlOC00MWIzLWI0ZWUtYjk1NTRmMTg4YWNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2048-kW30B2iuYjIS1lhtkb8kzg1WSsYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6977" it="0" lt="6977" ct="1" ts="1587564584952" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGM0YzdhNzQtYTEyYS00NWQwLWJiNjEtMjZkYTg0MTQzNDUy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2024-hWldhd-QzewR5w8k-r22dUgpelcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6442" it="0" lt="6442" ct="1" ts="1587564585488" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmVlMTI0ZmItZWE1MC00NmJjLWEwN2YtZmIyZjZjYWE3NjJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2011-k1O11aYHHhFVKBh97Jsl7ee6irwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="1" ts="1587564591914" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzNkMjRhNTgtYjE4NC00MzYyLTkxYzQtNzljM2MxZjdiMDQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6988" it="0" lt="6988" ct="8" ts="1587564584944" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzdhODA5MGItMTc4Zi00Mzc0LTg4ZGQtOGI2NmQ5OGY2ZGRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1997-2GFgX0OJO0UuILxlMucY-ZYkOakc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6495" it="0" lt="6495" ct="1" ts="1587564585439" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTYwMDVlZWEtMmE2NS00MjUwLTgwOTUtZjE5YjlhNTg1ZTdm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2044-RSWSf4QvRMnGn5Gl7kN2nvZ5vBUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6455" it="0" lt="6455" ct="1" ts="1587564585480" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTVhYjNiOTgtZGMwYi00OGY3LWFkOGYtN2YxZjY2NWQ0NTgx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2030-FQ2a6mnufzLY7suEjaPHHsQ8Oksc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6445" it="0" lt="6445" ct="0" ts="1587564585490" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2MyNzJmNTEtZGY5Yi00ODE5LTk5NzEtNDg3ZDRjNjhkOTA5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2008-ByjWZ1umnZyPXGY6gedGwWaws6kc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564591926" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0Ni1XSnVEa29Hd1hiOFQ1cmNjY0J6bEdmbzR3VzFOZ3RBNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.j_a4qVGQ2qRQhAXSXxejpihM6wgAkIcQi3mRzteuI1H6noQ_BCyw5YJcjN1cXgTOpMymaswiVIYecR86oBU9lTRg-sNqPBVuPawZ_Ho4AoqqkMqnJqR7G1Nv1vsoOlbSL4m9b9aIXFBimb5DjTC8LADvD4SEW_G2yhG4dMJZ1AItWDYXmXzMF3ciub_Q1Bq7y-FB3K1vtoBHY4k0iJjvvZ3ThZHCCRFtRFZqa1u3-nlooXSRIdOvuh0xyW1mT1kfwSTwB63bkntDqWZIFQ8gEUxahCsikqyykDs5VLerLUyhgqwQoDczRU7dSJfGCs8Lw5PaqmtUx1YszKDeZUyJ4g
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGViOWJlYjMtMjg2Zi00OTQ3LWJkMjMtODI5YThjOTQ5NTIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0Ni1XSnVEa29Hd1hiOFQ1cmNjY0J6bEdmbzR3VzFOZ3RBNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.j_a4qVGQ2qRQhAXSXxejpihM6wgAkIcQi3mRzteuI1H6noQ_BCyw5YJcjN1cXgTOpMymaswiVIYecR86oBU9lTRg-sNqPBVuPawZ_Ho4AoqqkMqnJqR7G1Nv1vsoOlbSL4m9b9aIXFBimb5DjTC8LADvD4SEW_G2yhG4dMJZ1AItWDYXmXzMF3ciub_Q1Bq7y-FB3K1vtoBHY4k0iJjvvZ3ThZHCCRFtRFZqa1u3-nlooXSRIdOvuh0xyW1mT1kfwSTwB63bkntDqWZIFQ8gEUxahCsikqyykDs5VLerLUyhgqwQoDczRU7dSJfGCs8Lw5PaqmtUx1YszKDeZUyJ4g</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8107" it="0" lt="8107" ct="1" ts="1587564583829" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjA3ODk1NzQtNzNlMC00Mjg5LTg4OGItZThkMjM0OTU1Y2Rm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1974-2gU76tflV7vkbep6fzaMb9Bzxq0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="1" ts="1587564591928" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTZiZmM2ZGYtZWExNi00OWY4LWE0ZjktZDc2ZGE1ZjZhZmFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="1" ts="1587564591929" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGM0YzdhNzQtYTEyYS00NWQwLWJiNjEtMjZkYTg0MTQzNDUy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6996" it="0" lt="6996" ct="11" ts="1587564584943" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWJkMmZhNTEtZGEwZC00Zjk4LWFlZTQtNzA2OWUzMjk4Zjkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2003-rE4bRzUyg7ql-jkxxR8H6i7g3poc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="1" ts="1587564591934" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTYwMDVlZWEtMmE2NS00MjUwLTgwOTUtZjE5YjlhNTg1ZTdm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564591936" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4MS0tYzNkRy1EdXNKVlZ0S1BPOGRxd0YtenFOQVFsYklXMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LwZH70iYfr3BkJefEdEOs6V4asFK7jHRJQXn4ez2Nk8lQPOwzOHArME6bsIw8F0KFzVVyCW9SjyLhKSxdvqcSMvmypewdJDyAP-M81jnsPCLdhxPDzYeNhkw3nHc4754VL59r_EDaPXdktpKCu7VBRjVMasqeHvP6BNkkPZD_7bkQbZds574G5dle8ma4iA_ibREjaes_5ZTyLJ0FoDDS_AKOd1zQdOb6zpE70LJel3usJiI1GN9F5SeD5XuAzwz1tXOFOGYYVQXX6ereQNrlp6Q9P7SgqCylWRvANwg9aw-TJ48DK7cyUJa_j7AKBEmRBeeJstK6ilyx7Vrep9qkg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTZiZmM2ZGYtZWExNi00OWY4LWE0ZjktZDc2ZGE1ZjZhZmFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4MS0tYzNkRy1EdXNKVlZ0S1BPOGRxd0YtenFOQVFsYklXMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LwZH70iYfr3BkJefEdEOs6V4asFK7jHRJQXn4ez2Nk8lQPOwzOHArME6bsIw8F0KFzVVyCW9SjyLhKSxdvqcSMvmypewdJDyAP-M81jnsPCLdhxPDzYeNhkw3nHc4754VL59r_EDaPXdktpKCu7VBRjVMasqeHvP6BNkkPZD_7bkQbZds574G5dle8ma4iA_ibREjaes_5ZTyLJ0FoDDS_AKOd1zQdOb6zpE70LJel3usJiI1GN9F5SeD5XuAzwz1tXOFOGYYVQXX6ereQNrlp6Q9P7SgqCylWRvANwg9aw-TJ48DK7cyUJa_j7AKBEmRBeeJstK6ilyx7Vrep9qkg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="20" it="0" lt="20" ct="1" ts="1587564591924" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTBmYjhiZmQtNTU5Yi00Y2I4LWJiZWMtZmVhZDczMDA1MjAy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7014" it="0" lt="7014" ct="1" ts="1587564584939" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2Y5ZmYxZGItNGI1ZC00NzI5LTg0ODgtMmEwM2JlYjEzMGMx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1996-V2VuoDtsFCJBEavHnzLhSLxZRiMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="1" ts="1587564591935" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2MyNzJmNTEtZGY5Yi00ODE5LTk5NzEtNDg3ZDRjNjhkOTA5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6509" it="0" lt="6509" ct="2" ts="1587564585444" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmVkODJlYzAtNGFmNS00Njg5LWEwMmEtMTI0MzUwZDBjODc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2039-mBGdUjafHLFAI476WC6za7nUl1wc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564591940" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3OS1kbTB2YUlrbFFLTTRjc1AwN2FsTXp3VXRMN0lxQ2V0TCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IJHDJmEG4cyL0Iya7NEIsszkr6f_raqvM7kKvN8rOzS9Jy5wiPQnJo5RB7AqM3zfqHJGzyrfJI8BtBGbk2e5C7ZvbfPqwVowVl74FbnIM6iwFYvRfKDDWCVIfFhdv7tW48KstQYUZEFbssda3NcyXTvmmAOqV3xpkXjOsIhqZJ6QmFyhvAiiCDq8hM5Ch7oaGcjneFbT7IRRJo7tdx0o4LMxTaUWRB8i-095ry1lj47oCjUyNoTlXDyO4pJior3vKXrZijvS7JUso8u4FeEmNFR3OmDYn9wj53QYwwXVqI-0hNfjsmS3qa9tTbapRRDP3TWOZP3ljUF-fyxHGTuTgQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTYwMDVlZWEtMmE2NS00MjUwLTgwOTUtZjE5YjlhNTg1ZTdm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3OS1kbTB2YUlrbFFLTTRjc1AwN2FsTXp3VXRMN0lxQ2V0TCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IJHDJmEG4cyL0Iya7NEIsszkr6f_raqvM7kKvN8rOzS9Jy5wiPQnJo5RB7AqM3zfqHJGzyrfJI8BtBGbk2e5C7ZvbfPqwVowVl74FbnIM6iwFYvRfKDDWCVIfFhdv7tW48KstQYUZEFbssda3NcyXTvmmAOqV3xpkXjOsIhqZJ6QmFyhvAiiCDq8hM5Ch7oaGcjneFbT7IRRJo7tdx0o4LMxTaUWRB8i-095ry1lj47oCjUyNoTlXDyO4pJior3vKXrZijvS7JUso8u4FeEmNFR3OmDYn9wj53QYwwXVqI-0hNfjsmS3qa9tTbapRRDP3TWOZP3ljUF-fyxHGTuTgQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="31" it="0" lt="31" ct="1" ts="1587564591925" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjE5ZDIwMTUtZmEyYS00NjE5LWEwZmYtYjFkY2VkZGEyYmJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8160" it="0" lt="8160" ct="2" ts="1587564583797" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzQ1YTAyNzYtOTljNi00NjRkLThmNzAtYzA5ZGI2NTVlZTI0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1985-TvUwPvQ8pcVNuYLsjCZ52tDBeicc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="21" it="0" lt="21" ct="1" ts="1587564591939" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWJkMmZhNTEtZGEwZC00Zjk4LWFlZTQtNzA2OWUzMjk4Zjkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564591953" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczNi1Cckg2VTFobGdXZmYzbm9DbExpZUJIZklpSTB2SzdadyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TRs4Pl5OLwIw1kw0aqb9bpC3c9E0iGu8X6xQ6g7CPHqlRS07Wb12GrPSuZRiCVHRhEyfGeWjW5y9Gdpc1KyB-5o-YNvjehv3CV-Q5Gyhj7qt_GM0sZ4LqZ4R506E43Zkrz75ZJZsRNz6BGfMEPrAxlWH-SeX9iCxI7huPa9wWQ1N-tIqlvssJ4B7m2KcmdaKkc8jf8jpXjYTTbat2ABAbg9uApDbfvj2__qd5a58tCb4uEuhG1RhX_XhHvZjkDXIhCSQgczpkzmrLKc0kfGSMQbo84YWydU4SCzMoJqVNIJg7XbCVAfuQ9AacTYG_rlebXICG85PY9cIXBVIKLmECg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2MyNzJmNTEtZGY5Yi00ODE5LTk5NzEtNDg3ZDRjNjhkOTA5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczNi1Cckg2VTFobGdXZmYzbm9DbExpZUJIZklpSTB2SzdadyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TRs4Pl5OLwIw1kw0aqb9bpC3c9E0iGu8X6xQ6g7CPHqlRS07Wb12GrPSuZRiCVHRhEyfGeWjW5y9Gdpc1KyB-5o-YNvjehv3CV-Q5Gyhj7qt_GM0sZ4LqZ4R506E43Zkrz75ZJZsRNz6BGfMEPrAxlWH-SeX9iCxI7huPa9wWQ1N-tIqlvssJ4B7m2KcmdaKkc8jf8jpXjYTTbat2ABAbg9uApDbfvj2__qd5a58tCb4uEuhG1RhX_XhHvZjkDXIhCSQgczpkzmrLKc0kfGSMQbo84YWydU4SCzMoJqVNIJg7XbCVAfuQ9AacTYG_rlebXICG85PY9cIXBVIKLmECg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="27" it="0" lt="27" ct="1" ts="1587564591935" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTVhYjNiOTgtZGMwYi00OGY3LWFkOGYtN2YxZjY2NWQ0NTgx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="26" it="0" lt="26" ct="0" ts="1587564591937" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4My14TmUyLUxBdUV0TWxna3YteXFMcGFSdUZaMEFCZTE4QiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lWbDGLk4Xzqkf4qkDZuweNkT4GxmhoTDXd2c0GbNA0gqR_9qqmkwC_H_Jx1V2csynroiBIxDaerzTJUOHSFdPV8RkvSC7dL95qISi2ACSutlpBgspclPn1dLmnEB-c9Cimj43Qc62jx2V0lvRkmIcLysIAa13LnhXoQWlToBCTruq3K9NF4hOz2UhGiEYYWQnQK73eqeipdrzXtVjgLhU3MMpzerznUwx2hTUlvH4bocKJzva_SCOfX3wYc2bDcAZhV5xMJIgmU7dtqOHmfv_rrdJwWAEk6s0mFuZ9_nr7Mzok0RrbDFXTxwDsOpT_pA8oydogmOQPWAw81bMlGqpg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGM0YzdhNzQtYTEyYS00NWQwLWJiNjEtMjZkYTg0MTQzNDUy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4My14TmUyLUxBdUV0TWxna3YteXFMcGFSdUZaMEFCZTE4QiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lWbDGLk4Xzqkf4qkDZuweNkT4GxmhoTDXd2c0GbNA0gqR_9qqmkwC_H_Jx1V2csynroiBIxDaerzTJUOHSFdPV8RkvSC7dL95qISi2ACSutlpBgspclPn1dLmnEB-c9Cimj43Qc62jx2V0lvRkmIcLysIAa13LnhXoQWlToBCTruq3K9NF4hOz2UhGiEYYWQnQK73eqeipdrzXtVjgLhU3MMpzerznUwx2hTUlvH4bocKJzva_SCOfX3wYc2bDcAZhV5xMJIgmU7dtqOHmfv_rrdJwWAEk6s0mFuZ9_nr7Mzok0RrbDFXTxwDsOpT_pA8oydogmOQPWAw81bMlGqpg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="33" it="0" lt="33" ct="1" ts="1587564591932" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzdhODA5MGItMTc4Zi00Mzc0LTg4ZGQtOGI2NmQ5OGY2ZGRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="35" it="0" lt="35" ct="0" ts="1587564591931" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmVlMTI0ZmItZWE1MC00NmJjLWEwN2YtZmIyZjZjYWE3NjJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="1" ts="1587564591953" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2Y5ZmYxZGItNGI1ZC00NzI5LTg0ODgtMmEwM2JlYjEzMGMx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564591962" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyNi1pc2ptSTd3OHNmc3U4dUFmYW5QZ1lmU2thVnhNbHJmLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LEZBLw6By6chF_pVotuEj-fvedgA5wQcKlwIHg3r32N9atkxrhBZBo1NiD3XNiilveGRp4rCXQQtm2WGNLcV1cn_kDOvPK3HvbYTyOFP-TdelVZSbShOupZjVEIh0T8MoPO-OS0X8tBMDet5G33G0MZ2L7g42weGZewgYIGNbJHtBaIkPvt0bZAPGhGYKm3wOtATNXH0XeCwPnfHED-daiUDjmtAcEU0XfbSEBYwLnUB_eTwa8WBwcKNKVAXYLImLl9WdsZEsjQY6pTZDykpaFuZaQiWqIfXElCQGrEv-F8cJeR1FyeMLIosu9blAAAW_ulxbnncioklxWDae300eQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTVhYjNiOTgtZGMwYi00OGY3LWFkOGYtN2YxZjY2NWQ0NTgx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyNi1pc2ptSTd3OHNmc3U4dUFmYW5QZ1lmU2thVnhNbHJmLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LEZBLw6By6chF_pVotuEj-fvedgA5wQcKlwIHg3r32N9atkxrhBZBo1NiD3XNiilveGRp4rCXQQtm2WGNLcV1cn_kDOvPK3HvbYTyOFP-TdelVZSbShOupZjVEIh0T8MoPO-OS0X8tBMDet5G33G0MZ2L7g42weGZewgYIGNbJHtBaIkPvt0bZAPGhGYKm3wOtATNXH0XeCwPnfHED-daiUDjmtAcEU0XfbSEBYwLnUB_eTwa8WBwcKNKVAXYLImLl9WdsZEsjQY6pTZDykpaFuZaQiWqIfXElCQGrEv-F8cJeR1FyeMLIosu9blAAAW_ulxbnncioklxWDae300eQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="25" it="0" lt="25" ct="0" ts="1587564591945" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyMC1KclZDYVRmT3hDeC1mcDlWaVd6RC14YzV2Qy1BOE5wMSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TGCx17MZeUqocjYva5nozKb4Y_BUqwqvJIZeC-x73KEZ3TjKHWipGNaG7ln6Q_Va5cOrdNewQF8yHaSxmuOIJ58i0RQhSFfR0zuJ9y46PXRS40_Ey7Gdjf0mrUiuNNZyG1orzI0CPErEuceQtkUYEKxifhBni5iNFH45X70i8XMOLtP4JFT3--M2UHHXiIr1rB4c3KzJdNm2dHsrQtY_BII_ZKnGb_r6Wnp1bcSFbEk_hTeDvZXVCupjlUJtz8x6i1SKip7jz4rzOMGAlB_YEe1-w-TJRV5KMQvn6wDVMHYNjt3zdggVQczOxcVasUMjRoZF-Z3APVQfsyApdPJS-A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTBmYjhiZmQtNTU5Yi00Y2I4LWJiZWMtZmVhZDczMDA1MjAy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyMC1KclZDYVRmT3hDeC1mcDlWaVd6RC14YzV2Qy1BOE5wMSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TGCx17MZeUqocjYva5nozKb4Y_BUqwqvJIZeC-x73KEZ3TjKHWipGNaG7ln6Q_Va5cOrdNewQF8yHaSxmuOIJ58i0RQhSFfR0zuJ9y46PXRS40_Ey7Gdjf0mrUiuNNZyG1orzI0CPErEuceQtkUYEKxifhBni5iNFH45X70i8XMOLtP4JFT3--M2UHHXiIr1rB4c3KzJdNm2dHsrQtY_BII_ZKnGb_r6Wnp1bcSFbEk_hTeDvZXVCupjlUJtz8x6i1SKip7jz4rzOMGAlB_YEe1-w-TJRV5KMQvn6wDVMHYNjt3zdggVQczOxcVasUMjRoZF-Z3APVQfsyApdPJS-A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="38" it="0" lt="38" ct="0" ts="1587564591932" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczOS03aEgxTDJPTFNUc0UtNEIyWXRMc0c2WURFVXNjLTNjeiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WYVCnQAx4Idfzf8W_PKRZIzY_73FI2S0zngVL9RqcWqb40kgyzkRtjCqi5yQEeMJfcvF2pUZSTG_tJqT9rozjfvpGjSj_KEyuerJSpp16Yp70fb26_FSQ8HxRck8xus4XAdFtF3mr6b9Rm6p-p1fbJ2qL4pBK7aJe2uWYfoMkQGwBfCuPYSeZZSxc7p53V34YNu2d712gFWAUNDaqmef6OsDRjkeZGY4qZRQDkms03nydmWfXsYCxHllC2JX1r-hX-s4-pysPUItFUtfB2TeGJbN8Cj_nrvXtm9AwQFwjehlvPTvUSabB3PWTYe6owUxBO24Me5-TdF4rxGNNwVJuw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzNkMjRhNTgtYjE4NC00MzYyLTkxYzQtNzljM2MxZjdiMDQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczOS03aEgxTDJPTFNUc0UtNEIyWXRMc0c2WURFVXNjLTNjeiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WYVCnQAx4Idfzf8W_PKRZIzY_73FI2S0zngVL9RqcWqb40kgyzkRtjCqi5yQEeMJfcvF2pUZSTG_tJqT9rozjfvpGjSj_KEyuerJSpp16Yp70fb26_FSQ8HxRck8xus4XAdFtF3mr6b9Rm6p-p1fbJ2qL4pBK7aJe2uWYfoMkQGwBfCuPYSeZZSxc7p53V34YNu2d712gFWAUNDaqmef6OsDRjkeZGY4qZRQDkms03nydmWfXsYCxHllC2JX1r-hX-s4-pysPUItFUtfB2TeGJbN8Cj_nrvXtm9AwQFwjehlvPTvUSabB3PWTYe6owUxBO24Me5-TdF4rxGNNwVJuw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="44" it="0" lt="44" ct="1" ts="1587564591926" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDc2ZDg5OWItMTY5Yy00MzAyLWI2MjUtYTY2Mzg5ZjNhYTU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="44" it="0" lt="44" ct="0" ts="1587564591929" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjdiY2ZkYjktMWFlOC00MWIzLWI0ZWUtYjk1NTRmMTg4YWNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="21" it="0" lt="21" ct="1" ts="1587564591953" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmVkODJlYzAtNGFmNS00Njg5LWEwMmEtMTI0MzUwZDBjODc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="50" it="0" lt="50" ct="0" ts="1587564591925" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWVmMmNhMzMtYTVjOC00YTljLWE1NTAtNDE0MDU3MTYwMzU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="40" it="0" lt="40" ct="1" ts="1587564591936" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjA3ODk1NzQtNzNlMC00Mjg5LTg4OGItZThkMjM0OTU1Y2Rm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="19" it="0" lt="19" ct="0" ts="1587564591957" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3Mi1oMFZnS2MtajY1NmREUlFDd0p6cDA2dlg2TUEtbC1GWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BUVK7vQBdOdY7bV_CdIIq1nb7TYeCY_PuM3kKJ8Xn6_5Pfrn2Y2AKRrwlftREzubNeP4C6KrQdh2SSM4HxOY-3Mu-hpqslQ1xSsjyaBkdaz0-oL7pAqaiEG4r_-nNRpikGknFjamhUr2kYsIJLEyWAVOggdmDWo1zRs6Z712EyNbcj0BFS8t8SqxmhytBAM_pc6jfrnTs1tzZmiXawz9C6WRzQ7R83Updwjm_tFXo8Cmm2AEPSUYwyOQcDd82IEVNGuroGiZcGdF53CNbXKLi9VU5aaj-t1lNVXdrMQFhi5Ym4htu4a1JDBolKWy7vVeJgAFmO2aetXQ69ZCShAwKw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjE5ZDIwMTUtZmEyYS00NjE5LWEwZmYtYjFkY2VkZGEyYmJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3Mi1oMFZnS2MtajY1NmREUlFDd0p6cDA2dlg2TUEtbC1GWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BUVK7vQBdOdY7bV_CdIIq1nb7TYeCY_PuM3kKJ8Xn6_5Pfrn2Y2AKRrwlftREzubNeP4C6KrQdh2SSM4HxOY-3Mu-hpqslQ1xSsjyaBkdaz0-oL7pAqaiEG4r_-nNRpikGknFjamhUr2kYsIJLEyWAVOggdmDWo1zRs6Z712EyNbcj0BFS8t8SqxmhytBAM_pc6jfrnTs1tzZmiXawz9C6WRzQ7R83Updwjm_tFXo8Cmm2AEPSUYwyOQcDd82IEVNGuroGiZcGdF53CNbXKLi9VU5aaj-t1lNVXdrMQFhi5Ym4htu4a1JDBolKWy7vVeJgAFmO2aetXQ69ZCShAwKw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564591968" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3OC14V0tDUXNTWWQ0b2RKcWFKcVlUd0V5MGtVei1OR1IzdCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.F4p_3pG4G3Elizmi8SnMRkzrtoUSoih7AmuCr0Dguuc1SqfmBINf6s_LsVFN4G2XLvB61U8sw3Kjmk1IU7YDg1Di8sLsBB2mVLMbKk41pRpL7yZlqPDHpPn6csfTVFWwlbGzfyjfMT_35BqWTJiGeh4KpSEndj3s2jorfBUstRm-tWHZjg5dbblIV452_MhtvyJV6CPL_HzrN8rF9_3jxztZZX7xhmWe7fGmk1WuCp1d0As9ODUwfOetnpY04kSoCbkVlA5dMW5Zxk5IcfliIHnLhHGZJCl9b1Xq6KNTyMHhnqRqeZkOuoTLG0pmIvWwx8TIm0jJq6JWm8jqXt12PA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2Y5ZmYxZGItNGI1ZC00NzI5LTg0ODgtMmEwM2JlYjEzMGMx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3OC14V0tDUXNTWWQ0b2RKcWFKcVlUd0V5MGtVei1OR1IzdCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.F4p_3pG4G3Elizmi8SnMRkzrtoUSoih7AmuCr0Dguuc1SqfmBINf6s_LsVFN4G2XLvB61U8sw3Kjmk1IU7YDg1Di8sLsBB2mVLMbKk41pRpL7yZlqPDHpPn6csfTVFWwlbGzfyjfMT_35BqWTJiGeh4KpSEndj3s2jorfBUstRm-tWHZjg5dbblIV452_MhtvyJV6CPL_HzrN8rF9_3jxztZZX7xhmWe7fGmk1WuCp1d0As9ODUwfOetnpY04kSoCbkVlA5dMW5Zxk5IcfliIHnLhHGZJCl9b1Xq6KNTyMHhnqRqeZkOuoTLG0pmIvWwx8TIm0jJq6JWm8jqXt12PA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="19" it="0" lt="19" ct="0" ts="1587564591958" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzQ1YTAyNzYtOTljNi00NjRkLThmNzAtYzA5ZGI2NTVlZTI0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="23" it="0" lt="23" ct="0" ts="1587564591960" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4MC1ab2JnYlYtMUx1MVdCd1lKWnA5T0lQNlBnN2hUMHJOZSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EwhvqS4XWN03IQT3In0_j8FPjAI3YkubgAnNqh9GUJRCDB-5bTwrXeMVwpskHBtiD4XkvekKjzHgoUiv5v6gSPjir2WUrJy1HZr1uIzBIhKLtocVIzNbS_hlQBNCUHsQdndRZWEa12eqdGohl60m5J1VpHFYhweYIHTkbXQ6z15cJuWbdIZfbyL-bazdPUqX-L8vu4hTy2euGDTPc3ntIOzrAeLxJ9I1FfJgPZbN_FUTCAECEIFQU0oBrLenqF4RWhjK_x-QQoTJZ25X8Gc0QnDMYUJ6LDoaimdnljltQfbdN5OyqE86JNIdQGG_-DbAg-eIuAQbw-9U22HnyvDjzg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWJkMmZhNTEtZGEwZC00Zjk4LWFlZTQtNzA2OWUzMjk4Zjkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4MC1ab2JnYlYtMUx1MVdCd1lKWnA5T0lQNlBnN2hUMHJOZSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EwhvqS4XWN03IQT3In0_j8FPjAI3YkubgAnNqh9GUJRCDB-5bTwrXeMVwpskHBtiD4XkvekKjzHgoUiv5v6gSPjir2WUrJy1HZr1uIzBIhKLtocVIzNbS_hlQBNCUHsQdndRZWEa12eqdGohl60m5J1VpHFYhweYIHTkbXQ6z15cJuWbdIZfbyL-bazdPUqX-L8vu4hTy2euGDTPc3ntIOzrAeLxJ9I1FfJgPZbN_FUTCAECEIFQU0oBrLenqF4RWhjK_x-QQoTJZ25X8Gc0QnDMYUJ6LDoaimdnljltQfbdN5OyqE86JNIdQGG_-DbAg-eIuAQbw-9U22HnyvDjzg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564591971" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxMS1kb2VpaWI4UXVHdHZwWGJyTW9zM29BbDVJMC1uZzc4ayIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HBzNudn4tPysEbY5yCJxU0fMwExLgGNW9vB0t6XhMsysKpz70TjpGPMPchpIFvKXqXJVj3RC_41uPG-hK_PpaSAR0aywNrmKSbEEu_GWZOu1zvD6KMdWE1s9vYwNHQeUNENxJ-6RMwKCoTGJb2WY4yipCOxwhcLIrZui-e3c_CxXQ_vz3_AKqyBaVki_DBe09qwmIelXiKz19rOjuzqk_s1yu_2cit5nIcStyLWfM2XJ7isV8n2DeECM9kxMe4rRDV6jxn0F9JKwL5-sXkI9QV-TOWz6i4Cp-VZfg1D3xxEkn3PcjnFTuZoFoox6XfqtZqxRuVmCEGcR0vDro0-jRw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDc2ZDg5OWItMTY5Yy00MzAyLWI2MjUtYTY2Mzg5ZjNhYTU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxMS1kb2VpaWI4UXVHdHZwWGJyTW9zM29BbDVJMC1uZzc4ayIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HBzNudn4tPysEbY5yCJxU0fMwExLgGNW9vB0t6XhMsysKpz70TjpGPMPchpIFvKXqXJVj3RC_41uPG-hK_PpaSAR0aywNrmKSbEEu_GWZOu1zvD6KMdWE1s9vYwNHQeUNENxJ-6RMwKCoTGJb2WY4yipCOxwhcLIrZui-e3c_CxXQ_vz3_AKqyBaVki_DBe09qwmIelXiKz19rOjuzqk_s1yu_2cit5nIcStyLWfM2XJ7isV8n2DeECM9kxMe4rRDV6jxn0F9JKwL5-sXkI9QV-TOWz6i4Cp-VZfg1D3xxEkn3PcjnFTuZoFoox6XfqtZqxRuVmCEGcR0vDro0-jRw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564591966" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0Ny1uVjNFckpvQW0yUnhPc1ppMWlrUlo0akc5c3BYdXR3MSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FnHIhHDb0_tVAcNFkhaslMD-QPW5lDkG0FiJNpPpIy1_Uu7uJUgC2sCXc1f7KdI4SphPlH75cSJ_QfbA-XTm-IKhttwBbJMQFjpUEWGpHlRJF9QqS3uwRAl1PSJm-bHJsMMldS3h2WoNpSPDLoYV1H2HXcMuOp1FhDHGGIbTYrLM0A0TWSZ_wW_1zVjWkflzRB3JJ3D71oN8dgVyHZQSDJjJ7lT4Th9jmVVulXuxFGJtjxO-ebvgwSEyc-82rphO4cBxdSG6wdcGkwPexGqnmvNRnh8_Qkkrv6BPrqIlKy6xML1BbtlFRB8ugOilFj2XQ9_HzpIiCW8daJP0XwJVlg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmVlMTI0ZmItZWE1MC00NmJjLWEwN2YtZmIyZjZjYWE3NjJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0Ny1uVjNFckpvQW0yUnhPc1ppMWlrUlo0akc5c3BYdXR3MSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FnHIhHDb0_tVAcNFkhaslMD-QPW5lDkG0FiJNpPpIy1_Uu7uJUgC2sCXc1f7KdI4SphPlH75cSJ_QfbA-XTm-IKhttwBbJMQFjpUEWGpHlRJF9QqS3uwRAl1PSJm-bHJsMMldS3h2WoNpSPDLoYV1H2HXcMuOp1FhDHGGIbTYrLM0A0TWSZ_wW_1zVjWkflzRB3JJ3D71oN8dgVyHZQSDJjJ7lT4Th9jmVVulXuxFGJtjxO-ebvgwSEyc-82rphO4cBxdSG6wdcGkwPexGqnmvNRnh8_Qkkrv6BPrqIlKy6xML1BbtlFRB8ugOilFj2XQ9_HzpIiCW8daJP0XwJVlg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564591975" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwNi1QMXdnWDFieS1QR0tPR0RxNWxmazdSYzVVQ0haM0oycyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pHhEiUyemnU90UHlbxpkdgqz5owVbG7LKoUnOfBreHB15WN2sUMKBb5_MmNOcphA3_7DXqrxwEICLQ29j0Ecv3ZRRXw0LwRBpyLsas6CRhqiJhhMjqa_GZVbylG6qVkIRWc0iSvtDRAKknqA7D2uxsvPSY-yjE1O0mwg9het0DCCB1yIbMMY16iupd_lHyfvM8FALfZYCyQmgPn-aQoykthqCrfXdQPJpluFw8k4u2IShGh1We3BwZU9u9cS0DLMkXNU2_t1Dmwuv9ILLhSgDRpyMvv9j5-fkkHz5t7qlKY50hV7QeFUcy4xaftl0cn3oW7wuRRbx-R9G-kXsE_1-A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWVmMmNhMzMtYTVjOC00YTljLWE1NTAtNDE0MDU3MTYwMzU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwNi1QMXdnWDFieS1QR0tPR0RxNWxmazdSYzVVQ0haM0oycyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pHhEiUyemnU90UHlbxpkdgqz5owVbG7LKoUnOfBreHB15WN2sUMKBb5_MmNOcphA3_7DXqrxwEICLQ29j0Ecv3ZRRXw0LwRBpyLsas6CRhqiJhhMjqa_GZVbylG6qVkIRWc0iSvtDRAKknqA7D2uxsvPSY-yjE1O0mwg9het0DCCB1yIbMMY16iupd_lHyfvM8FALfZYCyQmgPn-aQoykthqCrfXdQPJpluFw8k4u2IShGh1We3BwZU9u9cS0DLMkXNU2_t1Dmwuv9ILLhSgDRpyMvv9j5-fkkHz5t7qlKY50hV7QeFUcy4xaftl0cn3oW7wuRRbx-R9G-kXsE_1-A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564591976" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3NS1rMVhhSXhPS2F0Tk1USEpnMDRiN0s4WU56dzZCQkNudSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZIsUXmd64i7mRUDcRvLLJ1Od2C928IrAd2r83NVOGYeCgflKv4JZmMhZxqsB5KKWNiwFGDqH5SlyWCVeAOaE_PAeSL8Y0_1kseX75uUxMXOBS5RWucFi952NA1MkOMksHQkxo1aiWI9xex1V_we20HxDbQecfbSccziW7h52hunBw--dybpZdFjyIU6tZJbam16E0KkFp9phe1iOb4BG7YNNj0r8e9CjrYPMCcBaGvUkTxtIys4XdVdx65uYb4Kt_oZH9OHXFazvR284xr2QnVZOP8N9pd9AqKJyVNY-ulEi9u2G2jH9STw5RPCPcqqR2jqpLO2Cdmd0N9ouBJivXA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjA3ODk1NzQtNzNlMC00Mjg5LTg4OGItZThkMjM0OTU1Y2Rm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3NS1rMVhhSXhPS2F0Tk1USEpnMDRiN0s4WU56dzZCQkNudSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZIsUXmd64i7mRUDcRvLLJ1Od2C928IrAd2r83NVOGYeCgflKv4JZmMhZxqsB5KKWNiwFGDqH5SlyWCVeAOaE_PAeSL8Y0_1kseX75uUxMXOBS5RWucFi952NA1MkOMksHQkxo1aiWI9xex1V_we20HxDbQecfbSccziW7h52hunBw--dybpZdFjyIU6tZJbam16E0KkFp9phe1iOb4BG7YNNj0r8e9CjrYPMCcBaGvUkTxtIys4XdVdx65uYb4Kt_oZH9OHXFazvR284xr2QnVZOP8N9pd9AqKJyVNY-ulEi9u2G2jH9STw5RPCPcqqR2jqpLO2Cdmd0N9ouBJivXA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="20" it="0" lt="20" ct="0" ts="1587564591965" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwOS1hTVVvT1hNZWo3N2ZHRGh5YlRSYkd4VngzN2xSREs3aCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gtFRzDph8EYEJSRfwu0iqK4StLv9A5-vtAOgdVEb3P7cISv2ikaGKt1UFZgJ0bQWkGTBkXGyuHK9anauL8Sbqqb1TjaJLds8F7d5JcDqmUBgHARP2Ace182lHOwb73hbzTWYuzU2yNI3KGMfCmmI3JHLD3VC_IGDfJ29J7QsyxLEqEq6iHSf11Voa6IzkWzojg05ITcx6VjovYRWHVi2sGCnVAXOqRsKlGRnqHJvBNs1yVTYnyjgcwQvbDTffF9QO9p-vJCxMXuGrOHK_iRth4Co1OB3rNV8Rk1D-a1dVG-lwGhlBavEGfFd-OProerVHaG2FF7raKZInz8Bs0gy1g
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzdhODA5MGItMTc4Zi00Mzc0LTg4ZGQtOGI2NmQ5OGY2ZGRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwOS1hTVVvT1hNZWo3N2ZHRGh5YlRSYkd4VngzN2xSREs3aCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gtFRzDph8EYEJSRfwu0iqK4StLv9A5-vtAOgdVEb3P7cISv2ikaGKt1UFZgJ0bQWkGTBkXGyuHK9anauL8Sbqqb1TjaJLds8F7d5JcDqmUBgHARP2Ace182lHOwb73hbzTWYuzU2yNI3KGMfCmmI3JHLD3VC_IGDfJ29J7QsyxLEqEq6iHSf11Voa6IzkWzojg05ITcx6VjovYRWHVi2sGCnVAXOqRsKlGRnqHJvBNs1yVTYnyjgcwQvbDTffF9QO9p-vJCxMXuGrOHK_iRth4Co1OB3rNV8Rk1D-a1dVG-lwGhlBavEGfFd-OProerVHaG2FF7raKZInz8Bs0gy1g</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564591974" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczMy1kb0djTHZhak9MeDhDMk5CdXp3Qjg5cmhVaGJTTzNDUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jK71r_4BaQI0u6OgiTn6gXG8rOj4m60iG_P-Kr0ad4kfB7jUCQP_osKS23fDeHMPxr75Y84FIn0peCnbUeijUNiXmtkvOhvMlkFGOfhU0QYjevKRkCDeo48fwRBMD0nJUU8gG0XjPksO4kzjeoc32I5PIenXPbSQVasN3ZudYqSYHqCjuDpRxzBDsp6WWJMqipVmqIbLc4nxSqEwDkSAXcZCrbpgd2lv3aKtysRqsztrb0SODX9pcCuOqWC2ZL_vYDoSv8KaEnx6yKKvBdcI7E3NogMpom4RvRO_HwhjZLaNsm53a7H3wRStKOBOsDEKQz8U8REPB8CNXlGn9eNIVg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MmVkODJlYzAtNGFmNS00Njg5LWEwMmEtMTI0MzUwZDBjODc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczMy1kb0djTHZhak9MeDhDMk5CdXp3Qjg5cmhVaGJTTzNDUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jK71r_4BaQI0u6OgiTn6gXG8rOj4m60iG_P-Kr0ad4kfB7jUCQP_osKS23fDeHMPxr75Y84FIn0peCnbUeijUNiXmtkvOhvMlkFGOfhU0QYjevKRkCDeo48fwRBMD0nJUU8gG0XjPksO4kzjeoc32I5PIenXPbSQVasN3ZudYqSYHqCjuDpRxzBDsp6WWJMqipVmqIbLc4nxSqEwDkSAXcZCrbpgd2lv3aKtysRqsztrb0SODX9pcCuOqWC2ZL_vYDoSv8KaEnx6yKKvBdcI7E3NogMpom4RvRO_HwhjZLaNsm53a7H3wRStKOBOsDEKQz8U8REPB8CNXlGn9eNIVg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564591977" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2OC1qU2hsa3FMSk5ZZFJPdmM0ZG1RcjNPSEZSU0lHb1gwbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YQhHXpHt1JUzM5os_Mz5tv8YT4hDzY2HwCxg2KAUthibZY4lx-xslNi4vhMRBXnxerHl-6DK518eK2e3EZVuwR1TzMqBuo3m6Xsf2g4D5wqhjNgN_LtjBt-0nnF1S6-VVz6MDXEWLfBTqq_PRzi-ZWKGxVPZvtKt1VBzYunjZfxa7Dj40BXg8GSA3p4s660yTEQY-BSYfUgxRo5DbzP5CZjLlDKFRjK83qwj2qsDzzji1a7D7phlpphAG7pCk_hCk_1jH16wTJ5yGV-MecHzwpVV395rDK9yzlt1DwaNFDBUtLqNnGQhxBjgDYpMqF90KRghUcT56jHlbZt009Bw-w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzQ1YTAyNzYtOTljNi00NjRkLThmNzAtYzA5ZGI2NTVlZTI0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2OC1qU2hsa3FMSk5ZZFJPdmM0ZG1RcjNPSEZSU0lHb1gwbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YQhHXpHt1JUzM5os_Mz5tv8YT4hDzY2HwCxg2KAUthibZY4lx-xslNi4vhMRBXnxerHl-6DK518eK2e3EZVuwR1TzMqBuo3m6Xsf2g4D5wqhjNgN_LtjBt-0nnF1S6-VVz6MDXEWLfBTqq_PRzi-ZWKGxVPZvtKt1VBzYunjZfxa7Dj40BXg8GSA3p4s660yTEQY-BSYfUgxRo5DbzP5CZjLlDKFRjK83qwj2qsDzzji1a7D7phlpphAG7pCk_hCk_1jH16wTJ5yGV-MecHzwpVV395rDK9yzlt1DwaNFDBUtLqNnGQhxBjgDYpMqF90KRghUcT56jHlbZt009Bw-w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564591974" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcxOC1ITlVhMk9SejVQLVctQnNiU05UNlNlVHBNbFRyMnY2SSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EQG-pm4Hdn8Z6GQV-OuXYrjMO05TSinsvsla8a5gcjkmhtzMbeJG0Glj3qam2uCsTXjQD8LqbejcTgFn1oDonIBIYUETpClECF4K5do_luO3P8jNzVMr_IAkt2FJhSCNtjHevcO0SJos0UVr54K-6zqo0vlWBpq0dQRX2Bxs6kFB8iq8M15mQGLzh4Oy0eChJEUOqdqQEbU_Wl5GgXYu9pPUmBkjP59XHhh2QvVk5w5iky-oQTm9vZozBxbVfQ-BN7WpISRSbonaA8vbadt09IhMQpXY7TuDb300UBkBQn9-YMRb5k-1i4wR42R6kw-2CTachUNCE6F6kwZjHw_z5g
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjdiY2ZkYjktMWFlOC00MWIzLWI0ZWUtYjk1NTRmMTg4YWNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcxOC1ITlVhMk9SejVQLVctQnNiU05UNlNlVHBNbFRyMnY2SSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EQG-pm4Hdn8Z6GQV-OuXYrjMO05TSinsvsla8a5gcjkmhtzMbeJG0Glj3qam2uCsTXjQD8LqbejcTgFn1oDonIBIYUETpClECF4K5do_luO3P8jNzVMr_IAkt2FJhSCNtjHevcO0SJos0UVr54K-6zqo0vlWBpq0dQRX2Bxs6kFB8iq8M15mQGLzh4Oy0eChJEUOqdqQEbU_Wl5GgXYu9pPUmBkjP59XHhh2QvVk5w5iky-oQTm9vZozBxbVfQ-BN7WpISRSbonaA8vbadt09IhMQpXY7TuDb300UBkBQn9-YMRb5k-1i4wR42R6kw-2CTachUNCE6F6kwZjHw_z5g</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7048" it="0" lt="7048" ct="1" ts="1587564584954" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODYxMGVmZmItYTA1Zi00YTZiLWE1MDktMmI5MmYzMjk4Zjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1994-Ll-hlT6h4-2ksdg-MUXbDbYunmMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6530" it="0" lt="6530" ct="1" ts="1587564585477" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWY2ZWZhYWEtMmZmYy00OWQzLWFkOGUtNDkwNWRlY2UzZjlk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2043--i4GGcBykB-W6UXDukfzn9UY0QAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6564" it="0" lt="6564" ct="1" ts="1587564585445" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDlmMzJkNmItZWE4My00MGNhLWE5NzctYjkzM2Q3MTEzMDM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1992-3v0hifvzxn8lRvmfogigT9crk3Uc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8179" it="0" lt="8179" ct="0" ts="1587564583830" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTJmZmYyOWYtZThmZi00MjliLTlkOTYtNDU5NDU3OGU4YTQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2000-vzoDtEo6V-7EhYYNCUVS4O9dpCgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6570" it="0" lt="6570" ct="0" ts="1587564585440" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDE5MDY2MjYtYjk1NS00MTE3LWI0OWUtMDBmODcxYTNhMWYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1978-PIWToUKZ9HJikjRhZl0csU5ruu0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7061" it="0" lt="7061" ct="2" ts="1587564584950" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2I4OTcxZTQtOWIyOC00MzYxLWE0YWMtODUzN2Y2NTk0Yzkz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1967-hBwXBPsL8Mo7BeuNhqTb8dlrfB0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8197" it="0" lt="8197" ct="0" ts="1587564583814" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjNlM2RmM2EtMGNhNS00MTZiLWI3OGItMDYwNjk1MDNiZWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1970-bxGqlplOlq5qtpZVgrAKu-74bWcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8199" it="0" lt="8199" ct="1" ts="1587564583813" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTQyZTRkOWMtNDZkYS00ODE4LTg1ZGEtM2E4NzcyZTY5OTJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2001-F7g5u-SFr7tSe2dyCOfU9aPJuT0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7060" it="0" lt="7060" ct="1" ts="1587564584953" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2U3NmY3MzQtNmQ3Ni00MzAzLTlhYTEtZWJkNmI1ZjczMThk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2049-qsJkay--Zmyh62K8skKsuC-XHb4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7070" it="0" lt="7070" ct="9" ts="1587564584944" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzUyNDAzOWYtYWZlNi00NTM2LWExMWEtNGE0ODRmZTcyMjA1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2015-3-nUrNasbUm0bOtf1RuC7cpnoFsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7065" it="0" lt="7065" ct="1" ts="1587564584954" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmM4MjYyMzMtM2EzMS00M2Y1LWI1ZjItMjQ0ZTQ2ZDBhZDRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2037-8n5t4vY2cEr8vQP6vX-r8iAy8Y0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="1" ts="1587564592011" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDE5MDY2MjYtYjk1NS00MTE3LWI0OWUtMDBmODcxYTNhMWYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="18" it="0" lt="18" ct="0" ts="1587564592008" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWY2ZWZhYWEtMmZmYy00OWQzLWFkOGUtNDkwNWRlY2UzZjlk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="1" ts="1587564592011" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2I4OTcxZTQtOWIyOC00MzYxLWE0YWMtODUzN2Y2NTk0Yzkz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="24" it="0" lt="24" ct="1" ts="1587564592003" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODYxMGVmZmItYTA1Zi00YTZiLWE1MDktMmI5MmYzMjk4Zjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="1" ts="1587564592012" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTQyZTRkOWMtNDZkYS00ODE4LTg1ZGEtM2E4NzcyZTY5OTJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="20" it="0" lt="20" ct="1" ts="1587564592009" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDlmMzJkNmItZWE4My00MGNhLWE5NzctYjkzM2Q3MTEzMDM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="24" it="0" lt="24" ct="1" ts="1587564592009" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTJmZmYyOWYtZThmZi00MjliLTlkOTYtNDU5NDU3OGU4YTQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="21" it="0" lt="21" ct="1" ts="1587564592014" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzUyNDAzOWYtYWZlNi00NTM2LWExMWEtNGE0ODRmZTcyMjA1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="24" it="0" lt="24" ct="1" ts="1587564592011" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjNlM2RmM2EtMGNhNS00MTZiLWI3OGItMDYwNjk1MDNiZWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="23" it="0" lt="23" ct="1" ts="1587564592013" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2U3NmY3MzQtNmQ3Ni00MzAzLTlhYTEtZWJkNmI1ZjczMThk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564592026" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczNS1WdTd4d2dqaWJFeUNiVW9FLWlzLWgyYXFJOVRXZVFDSiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.N8Syvaou_h65IT1NOqSMlc00a56F0LWv8BwY5TCrWbKx1NbxEpGgOxAXys4Y9057wZuLPxWQv8Mfjwyc5Qi4Eru3ol2hx3hNUgbOrBp_QoDSYy0vPMpb6Ep_07YlXMY_Iv3UU-HVHB3OJJ2pJ-3Ct8BPQsuFZdKYKTSJbdJHNLW8JcZ4Z5jEEY2NUmB5qenL_iGe8Mq5nyDz1evFdIR5dOCmHMor3LJBEM_utPyFRUxOXyKdE3NP_GBun4_Oy9AprLM4hDWgtJGPEdSXrhT2VlyNOWeLSig0ooY_b5flltqJJiBBrWmK5KR_Iwp__HkAdNY_PMeUVoCZpuTteF9FOQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWY2ZWZhYWEtMmZmYy00OWQzLWFkOGUtNDkwNWRlY2UzZjlk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczNS1WdTd4d2dqaWJFeUNiVW9FLWlzLWgyYXFJOVRXZVFDSiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.N8Syvaou_h65IT1NOqSMlc00a56F0LWv8BwY5TCrWbKx1NbxEpGgOxAXys4Y9057wZuLPxWQv8Mfjwyc5Qi4Eru3ol2hx3hNUgbOrBp_QoDSYy0vPMpb6Ep_07YlXMY_Iv3UU-HVHB3OJJ2pJ-3Ct8BPQsuFZdKYKTSJbdJHNLW8JcZ4Z5jEEY2NUmB5qenL_iGe8Mq5nyDz1evFdIR5dOCmHMor3LJBEM_utPyFRUxOXyKdE3NP_GBun4_Oy9AprLM4hDWgtJGPEdSXrhT2VlyNOWeLSig0ooY_b5flltqJJiBBrWmK5KR_Iwp__HkAdNY_PMeUVoCZpuTteF9FOQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564592026" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwMS0ya1lubTV6a0pMV2V2dFBDbzhEay1NVHExLUlmaTZnQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ItKeYknVm93cXgobeyIypmbBXFMS0WZjyvSaRKRn6GjorQTQNwZI3T4RIRDVSiLDGuNKlK1Qt_48wFqI4AihnC-LfU6kgFmu520FOCEkyRaUEcH2JdhUVL7Os30PqrFcfoRDdH8bm6cc6n2f3GOCROnfnxOzC3U3TjA7OaVa1JsG70hiajM7FM07Ib_Mcjrh_JboX5tpRhwO5E8SSekP2Twb6CZAtyd9QuNqtHxPpEquhqhLcyriijrOQMa5IbSEEbGfEbfgPult287-WlX7_3J92USfpkw2orMeNy7IadTTaT-e6BFavrg3xFB80_NNoJMCkoUT_VQQvMcU6dRQEQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDE5MDY2MjYtYjk1NS00MTE3LWI0OWUtMDBmODcxYTNhMWYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwMS0ya1lubTV6a0pMV2V2dFBDbzhEay1NVHExLUlmaTZnQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ItKeYknVm93cXgobeyIypmbBXFMS0WZjyvSaRKRn6GjorQTQNwZI3T4RIRDVSiLDGuNKlK1Qt_48wFqI4AihnC-LfU6kgFmu520FOCEkyRaUEcH2JdhUVL7Os30PqrFcfoRDdH8bm6cc6n2f3GOCROnfnxOzC3U3TjA7OaVa1JsG70hiajM7FM07Ib_Mcjrh_JboX5tpRhwO5E8SSekP2Twb6CZAtyd9QuNqtHxPpEquhqhLcyriijrOQMa5IbSEEbGfEbfgPult287-WlX7_3J92USfpkw2orMeNy7IadTTaT-e6BFavrg3xFB80_NNoJMCkoUT_VQQvMcU6dRQEQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564592027" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxNC1LaS1yZy01LWh0dFZBcWdGNk9pSjlwRk45R0ExYVZZUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Y8nW-YW5C8azkxPukIGxHcC3Wyd4L9Rr4IdsFwaLZfzD8KLEW_UJRAdQA6kRYeAx4KNI-uh4NiotCikqwxOjvZ58UoMwC-AIWvMRTTq_QyarBLchcinzrrs8QYr71_hne6z33yBmNYN6Djdaka3pZHYtVK78oPzKtfBEPPeif6Kz5okLy92Bob3rjw76hd6m1NcP3b8kd74CwU-0jI9P1l3kOGCKUQJ2q9yw3C0Cu2eqAKORkdIM1zzpJl_hxeJyxyyxa62cAWWN-sft6GldH5LjDdgo2Lu7MeAMXoOkmJs7brDLw66hNLZDgc_ksszPy29UXQCmMSzI9vlx5qBFOQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2I4OTcxZTQtOWIyOC00MzYxLWE0YWMtODUzN2Y2NTk0Yzkz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxNC1LaS1yZy01LWh0dFZBcWdGNk9pSjlwRk45R0ExYVZZUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Y8nW-YW5C8azkxPukIGxHcC3Wyd4L9Rr4IdsFwaLZfzD8KLEW_UJRAdQA6kRYeAx4KNI-uh4NiotCikqwxOjvZ58UoMwC-AIWvMRTTq_QyarBLchcinzrrs8QYr71_hne6z33yBmNYN6Djdaka3pZHYtVK78oPzKtfBEPPeif6Kz5okLy92Bob3rjw76hd6m1NcP3b8kd74CwU-0jI9P1l3kOGCKUQJ2q9yw3C0Cu2eqAKORkdIM1zzpJl_hxeJyxyyxa62cAWWN-sft6GldH5LjDdgo2Lu7MeAMXoOkmJs7brDLw66hNLZDgc_ksszPy29UXQCmMSzI9vlx5qBFOQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564592027" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxMC1lU0pQcG1PUGFDak9zQS1hVEtrRG9KWC1jLVY0Nmw4cCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gUSjcXp9pn39w4WBUPZFa4d8fPRbwSmm3WsHc20RoSogytof36hADIaIoUCUjE0DlBiUFVhJszVohwWHiegXPSvjLmcgKDmXIi-X2KI37d_u1gMqQckmts7BIR4iBIA8RvrH9YC-SPqUIeEbYb1o5f8ouOx1jMp_P3Gaaq513ETHyfeAGRla2vsz3TKWjUlBBTH9_70-FV6OXXg2lVrpFmmkDeHpRoVMfVhrj6zvpGxEZM-3NqQABvguCWdgruvWy1O0Uj1sOP3agyzgZ4GQNzyBvoQU5-7IU3FedIx1bgx7Ga8IVJGqCYQsvlGcq_Q0acoa5ic6Neqng8BVlYm5gg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODYxMGVmZmItYTA1Zi00YTZiLWE1MDktMmI5MmYzMjk4Zjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxMC1lU0pQcG1PUGFDak9zQS1hVEtrRG9KWC1jLVY0Nmw4cCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gUSjcXp9pn39w4WBUPZFa4d8fPRbwSmm3WsHc20RoSogytof36hADIaIoUCUjE0DlBiUFVhJszVohwWHiegXPSvjLmcgKDmXIi-X2KI37d_u1gMqQckmts7BIR4iBIA8RvrH9YC-SPqUIeEbYb1o5f8ouOx1jMp_P3Gaaq513ETHyfeAGRla2vsz3TKWjUlBBTH9_70-FV6OXXg2lVrpFmmkDeHpRoVMfVhrj6zvpGxEZM-3NqQABvguCWdgruvWy1O0Uj1sOP3agyzgZ4GQNzyBvoQU5-7IU3FedIx1bgx7Ga8IVJGqCYQsvlGcq_Q0acoa5ic6Neqng8BVlYm5gg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="21" it="0" lt="21" ct="0" ts="1587564592020" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmM4MjYyMzMtM2EzMS00M2Y1LWI1ZjItMjQ0ZTQ2ZDBhZDRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564592029" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyOC1vLUtxUGxhZzFDeVI5Y2EzLUFZQ05VTzgwNTQtRU9HdCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GeujGXQzzUAAo4mU7QOnJsjjQSBPJ31CTx7wso7VyoTy2J-rFtT1N9G3knPgWRDcSEx44JVwSoxg1NnqV_Z3y7RpSFHAIu2OHYorG6A8X3c93oZtAOaendNgkTzOrFeNwBENlbfIp2yre0U6-T5OMr4CEKDGK4fTX6hqgvhImCNs3e3890z8eYuiJI3YwCX38ttn-nDcejb4mSzCU055qXq9UI5MICXRpyelCYtuDiQavw8ZfAdYgVF6O5nywSzQ70x8XbD3hM7aDsXxocTTTpuFTe6AhrhWKqgZZavwfUBBQLHO6i0ThjmQAG4CI8peDVE5YBgIG5nEUaF60bVIOA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDlmMzJkNmItZWE4My00MGNhLWE5NzctYjkzM2Q3MTEzMDM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyOC1vLUtxUGxhZzFDeVI5Y2EzLUFZQ05VTzgwNTQtRU9HdCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GeujGXQzzUAAo4mU7QOnJsjjQSBPJ31CTx7wso7VyoTy2J-rFtT1N9G3knPgWRDcSEx44JVwSoxg1NnqV_Z3y7RpSFHAIu2OHYorG6A8X3c93oZtAOaendNgkTzOrFeNwBENlbfIp2yre0U6-T5OMr4CEKDGK4fTX6hqgvhImCNs3e3890z8eYuiJI3YwCX38ttn-nDcejb4mSzCU055qXq9UI5MICXRpyelCYtuDiQavw8ZfAdYgVF6O5nywSzQ70x8XbD3hM7aDsXxocTTTpuFTe6AhrhWKqgZZavwfUBBQLHO6i0ThjmQAG4CI8peDVE5YBgIG5nEUaF60bVIOA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564592036" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwMy1hOTdjc1V5akhZZWxjTE8ycEtCd0o0SWRwVHNHMWhXYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.mFd_S-BdwF0C7mGgunfcuJDQn3UAHxKAt0e5r9TyvZZJzhoQNJ3lYkDK-FLerkhOSjtFFguUqzDH3zgGM9exDqFWpdik5EQjQqpYBoYpRYdxpQQ0tmFyW2PHN1NrvcpDE-GChBqzhZNtj2ZFqroFo7uV-1Pd3fTOPuOlymu4UxrzYV2V9mXS7CoYrSnbOnn3vLN2LCkoA20LCsaRXz21TUOyj6XtaFsuF8UrUbtlwGXTkkCSF-ov5Tr4HES0s6Kxi46upeVFqKz7ueYw0bL3ffM-qUXPxSzaGE0VfcdodsATdPRGIFOqQSoEEDMiM5g_tawVKIMKGTD4UhggyKsceQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2U3NmY3MzQtNmQ3Ni00MzAzLTlhYTEtZWJkNmI1ZjczMThk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwMy1hOTdjc1V5akhZZWxjTE8ycEtCd0o0SWRwVHNHMWhXYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.mFd_S-BdwF0C7mGgunfcuJDQn3UAHxKAt0e5r9TyvZZJzhoQNJ3lYkDK-FLerkhOSjtFFguUqzDH3zgGM9exDqFWpdik5EQjQqpYBoYpRYdxpQQ0tmFyW2PHN1NrvcpDE-GChBqzhZNtj2ZFqroFo7uV-1Pd3fTOPuOlymu4UxrzYV2V9mXS7CoYrSnbOnn3vLN2LCkoA20LCsaRXz21TUOyj6XtaFsuF8UrUbtlwGXTkkCSF-ov5Tr4HES0s6Kxi46upeVFqKz7ueYw0bL3ffM-qUXPxSzaGE0VfcdodsATdPRGIFOqQSoEEDMiM5g_tawVKIMKGTD4UhggyKsceQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564592035" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY2OS1NUGNZdEhvd2h5VS1ueGRUbzhMc0RtRG0yRWdtUHRlSCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.i4ldlXRZTq7ILlkixR7A-eHNh8GJTO4QErMRik4PwEGExlnSmr_vOpIBCP8_g5SCbL6aelyYYjfIxrE9zO1VcaWVJS1NKaL1HYujD-MaWuYh9Og6hEL9KvWVoOfcRzKqVT6UOmO2M-tO4ZrDrF4OdYhoJryfsOGyvhAO6GuZWcoKbou6-pCPPq89W9YiCAjgzfXgsI5jvv_ipkU89eXrL93GUhPZri9bPEdBQtDoxW276rnKNv_ZUwb7lEQ9DG6Yc_S8g7zuMoBdekyUN_lln453KX-PQnRwKd_2BKVoUGhIcM8dwtgaRTnJKyXLXSzqO0HVRDAilidoGfsM54TvUA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjNlM2RmM2EtMGNhNS00MTZiLWI3OGItMDYwNjk1MDNiZWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY2OS1NUGNZdEhvd2h5VS1ueGRUbzhMc0RtRG0yRWdtUHRlSCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.i4ldlXRZTq7ILlkixR7A-eHNh8GJTO4QErMRik4PwEGExlnSmr_vOpIBCP8_g5SCbL6aelyYYjfIxrE9zO1VcaWVJS1NKaL1HYujD-MaWuYh9Og6hEL9KvWVoOfcRzKqVT6UOmO2M-tO4ZrDrF4OdYhoJryfsOGyvhAO6GuZWcoKbou6-pCPPq89W9YiCAjgzfXgsI5jvv_ipkU89eXrL93GUhPZri9bPEdBQtDoxW276rnKNv_ZUwb7lEQ9DG6Yc_S8g7zuMoBdekyUN_lln453KX-PQnRwKd_2BKVoUGhIcM8dwtgaRTnJKyXLXSzqO0HVRDAilidoGfsM54TvUA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564592035" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwOC1iZUNBRC1qbDI0ek1GdWtPd0NKQnVkeG9wemxVUWg0SiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NXUxU2oCLkyoyG3CjmJ7IAMZaMjzPI2hXXsonAu0E1R0cNDMICCalbJrrnW2eA_EVFwveny6E8W4gSCWeGyaTYMi8dWX8mVnxF8-40qS4oNeJmliBBo5vx68u0NgQOleH9xqcCzZ1hRXbl2g3tL6qr4u5ND2W9fePSQQJQAVoZGBvsUA6rQIXFLkw1U1r7QmXeiE9Rrea4YPiJkIjJY9LI8nb2NzVMmoQw60XJbfd66t56zI8vy3Y08Yif9bA-K1aw8hAWzlF3R8A3yCA-wNkiNp36CBbaZRTBxvH174HCbecCqBI78uuGPdzvlnGUG721zYkColv9lZpjYfsLlDEQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzUyNDAzOWYtYWZlNi00NTM2LWExMWEtNGE0ODRmZTcyMjA1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwOC1iZUNBRC1qbDI0ek1GdWtPd0NKQnVkeG9wemxVUWg0SiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NXUxU2oCLkyoyG3CjmJ7IAMZaMjzPI2hXXsonAu0E1R0cNDMICCalbJrrnW2eA_EVFwveny6E8W4gSCWeGyaTYMi8dWX8mVnxF8-40qS4oNeJmliBBo5vx68u0NgQOleH9xqcCzZ1hRXbl2g3tL6qr4u5ND2W9fePSQQJQAVoZGBvsUA6rQIXFLkw1U1r7QmXeiE9Rrea4YPiJkIjJY9LI8nb2NzVMmoQw60XJbfd66t56zI8vy3Y08Yif9bA-K1aw8hAWzlF3R8A3yCA-wNkiNp36CBbaZRTBxvH174HCbecCqBI78uuGPdzvlnGUG721zYkColv9lZpjYfsLlDEQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="16" it="0" lt="16" ct="0" ts="1587564592028" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3NC1CQVVsZzZ6MWR5LTFhWVF0enBTQ3dick5ET1hKd2MwRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RNhw7LRdrCaOSlCICi87z_j82DO0eS7gb0ZMY2vyS7bo6XjQLZ8Zd_SsmF-AGpaTZquSY3sC4q1nlIiajuQEQ_4e07ExNTvn0zWVOp8x17wixmJ89qq6_GZZ8_FovOU8FLLZcL8IE_G7NIWG3U-qsv7lNsBoOwRlDwEVtJdQkpamSGFfPTG86uAdDZkgcHqjxlmxbJcHspvGuOkT_88DeLzXRuJbvikgT7XJbl8-l0XNCDXr51jVO0AYy-1zepR_1S6usQqJ7U_1juHgYrqSlxXu6jelOL7CnacjpuLpbtBynA4ry6RWpe7Jf0sZL7eSupOQqihJTUZA5bqjfi3yng
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTQyZTRkOWMtNDZkYS00ODE4LTg1ZGEtM2E4NzcyZTY5OTJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3NC1CQVVsZzZ6MWR5LTFhWVF0enBTQ3dick5ET1hKd2MwRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RNhw7LRdrCaOSlCICi87z_j82DO0eS7gb0ZMY2vyS7bo6XjQLZ8Zd_SsmF-AGpaTZquSY3sC4q1nlIiajuQEQ_4e07ExNTvn0zWVOp8x17wixmJ89qq6_GZZ8_FovOU8FLLZcL8IE_G7NIWG3U-qsv7lNsBoOwRlDwEVtJdQkpamSGFfPTG86uAdDZkgcHqjxlmxbJcHspvGuOkT_88DeLzXRuJbvikgT7XJbl8-l0XNCDXr51jVO0AYy-1zepR_1S6usQqJ7U_1juHgYrqSlxXu6jelOL7CnacjpuLpbtBynA4ry6RWpe7Jf0sZL7eSupOQqihJTUZA5bqjfi3yng</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564592033" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3My1kOTRJM0JFMkNKWFpVSlFET3FsaFJPOVkyN1lRTkNRLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.I2QKgadphzrUfpr7-UT6EacgfiZnB5oAA7lNWEB9MaIA408qMUT2WnXmKixsDjAfnGCnqriV6WF94_xGF28gzwJZCoDS75bPOCkA0_dOnCy6B8zSJ47PjbhWxpOyGFw7FFD2Qq3OGauJKPou7soZIKxdHpPI7EfObAGU0ZMJOEDWnvhxh5Be9bgMwErqLQR2uy2zPZxWd8D2Lt26-S-5fq0GNC8RG1WlBXlm__UM5rD_QiAtuzZpDhhcnJ1-B77168YoMw9G20x6-pDsDkbRfIXHXtcasI7dtLfQ05RH9ZcUb1AGCueR51jSOOKfWiPo6QD__af1a7kIiqEBTb73LQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTJmZmYyOWYtZThmZi00MjliLTlkOTYtNDU5NDU3OGU4YTQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3My1kOTRJM0JFMkNKWFpVSlFET3FsaFJPOVkyN1lRTkNRLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.I2QKgadphzrUfpr7-UT6EacgfiZnB5oAA7lNWEB9MaIA408qMUT2WnXmKixsDjAfnGCnqriV6WF94_xGF28gzwJZCoDS75bPOCkA0_dOnCy6B8zSJ47PjbhWxpOyGFw7FFD2Qq3OGauJKPou7soZIKxdHpPI7EfObAGU0ZMJOEDWnvhxh5Be9bgMwErqLQR2uy2zPZxWd8D2Lt26-S-5fq0GNC8RG1WlBXlm__UM5rD_QiAtuzZpDhhcnJ1-B77168YoMw9G20x6-pDsDkbRfIXHXtcasI7dtLfQ05RH9ZcUb1AGCueR51jSOOKfWiPo6QD__af1a7kIiqEBTb73LQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564592041" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxNS1DRkEwaURWSGh4MlJUY1dSYXRoQmFjWVdwV1hLYTNCVSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.mG6xaWfBUPvtPymDH1WSM2IYNE1T6N_VJS6dYD_W5FlRxmfwQtAf1TLPGwCfhXfgHqlTivcyOWr_i9FFCpBTKQaB8C7aZc_DDWSMFIvAj55O0dlu9TPCnZb53FKvdVnO9xdovGzUBOxITloOMk1cvaNhpAdey0OXc3IAk2w-2gdqoKGCX4k-dYaZYVXPKa7XBLJZkEAEcHLwH1fhZ_qolaNy0R_YJnTmfxypebykr1qCRyuiY6RaAjFYBqsGJSI6xkMq2sisPpN9pVH5Q4cqgleDXPRAMR4pLovDFncf6UiOegz4_N9C3F3V2V6b_XAVPrG_CkjEKn3f2lDvu26mCQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmM4MjYyMzMtM2EzMS00M2Y1LWI1ZjItMjQ0ZTQ2ZDBhZDRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxNS1DRkEwaURWSGh4MlJUY1dSYXRoQmFjWVdwV1hLYTNCVSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.mG6xaWfBUPvtPymDH1WSM2IYNE1T6N_VJS6dYD_W5FlRxmfwQtAf1TLPGwCfhXfgHqlTivcyOWr_i9FFCpBTKQaB8C7aZc_DDWSMFIvAj55O0dlu9TPCnZb53FKvdVnO9xdovGzUBOxITloOMk1cvaNhpAdey0OXc3IAk2w-2gdqoKGCX4k-dYaZYVXPKa7XBLJZkEAEcHLwH1fhZ_qolaNy0R_YJnTmfxypebykr1qCRyuiY6RaAjFYBqsGJSI6xkMq2sisPpN9pVH5Q4cqgleDXPRAMR4pLovDFncf6UiOegz4_N9C3F3V2V6b_XAVPrG_CkjEKn3f2lDvu26mCQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7215" it="0" lt="7215" ct="8" ts="1587564584946" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTIzZTViNzEtMzg5NS00ZGRmLWJmMzQtOTkwNmNiODlhYTM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2045-yjS-g4lnWdkLNjiKy6lLccgsPpwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="1" ts="1587564592161" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTIzZTViNzEtMzg5NS00ZGRmLWJmMzQtOTkwNmNiODlhYTM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7218" it="0" lt="7218" ct="5" ts="1587564584950" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTdkNDdkMzUtYzhmMC00ZmI4LTgwZTctM2YwODA3MTZjZjFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2013-3MWi2g7r6USiveYVJKTxyecjGfAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564592168" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTdkNDdkMzUtYzhmMC00ZmI4LTgwZTctM2YwODA3MTZjZjFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6733" it="0" lt="6733" ct="2" ts="1587564585441" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGQyNDY2NWItNDg4Yy00MWFkLTg5ZWEtZWVjMzVjNDE0MzEw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1971-YKbGQIqbd1gXVb-KmSj4cMIAmVQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7226" it="0" lt="7226" ct="3" ts="1587564584949" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWZjYmZhMDAtZjY5NS00ODlmLTlhOTctNjY5NmMyMTUxY2U4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1991-rXYJ-xAcL-GpbdMg1PrNRFIEshEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7226" it="0" lt="7226" ct="2" ts="1587564584950" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODhjMGEyOTQtZTFhZS00ODRkLTkzZTAtN2MyODBhZGY4ZDZi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2019-AYnLulXJ89Mn5uH9YmJWf8oakfoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7235" it="0" lt="7235" ct="0" ts="1587564584941" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDc3NDY4MDUtMmU5MC00ZWExLWFiNTYtMDM0YzdkNmM4OTVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2033-a5QTNqSAds2-9DM9S95AjE1vAaQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6737" it="0" lt="6737" ct="1" ts="1587564585442" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDM3MGNkNzEtYzkxNS00YmZlLWI5YmYtNDM3M2EwMTYwZDg3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1999-3EK5Lened0LGC538tKa82g2BxxQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564592167" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5Ny1OZ2dKUTg4YS03MGROeDFDSXl3V1VWVnZzYU9pcWQxTCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.R2wdREDJahADvUuTGcEHfgH3hvH3BA86tA1Ixulq9_W_lINZ7RD5ZPWt-PTyek3AFhEFd29sLRX5BuMULJaXVF9STnLtwWLHINrFewKfHi4DsU9nRRLI__hA4X53EkZ9QNAdfQdsKMfJjNMutQh5bxGSSo3DRMfMW9noRyYxgET9Q2Eenomnbb3PpGES1i2lmWYqy2dBHbCq5F0nQ2Wfk0jIgvnjb7EpWJ3Jy5NzDUoP6J2xG-6J2CYz2lyMl33t4ruDxzMdxAyNw03hfdTzc5JQ_AGaB53V3XogbK9ek7eImXQN0ApdeBOO2NYd2QAQzNj5ego1qixnL64oOkUf_Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTIzZTViNzEtMzg5NS00ZGRmLWJmMzQtOTkwNmNiODlhYTM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5Ny1OZ2dKUTg4YS03MGROeDFDSXl3V1VWVnZzYU9pcWQxTCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.R2wdREDJahADvUuTGcEHfgH3hvH3BA86tA1Ixulq9_W_lINZ7RD5ZPWt-PTyek3AFhEFd29sLRX5BuMULJaXVF9STnLtwWLHINrFewKfHi4DsU9nRRLI__hA4X53EkZ9QNAdfQdsKMfJjNMutQh5bxGSSo3DRMfMW9noRyYxgET9Q2Eenomnbb3PpGES1i2lmWYqy2dBHbCq5F0nQ2Wfk0jIgvnjb7EpWJ3Jy5NzDUoP6J2xG-6J2CYz2lyMl33t4ruDxzMdxAyNw03hfdTzc5JQ_AGaB53V3XogbK9ek7eImXQN0ApdeBOO2NYd2QAQzNj5ego1qixnL64oOkUf_Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564592173" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5My1vc0xNLUk2MkU0VjdxUlFKZE82VDlEVnlzOXAwSkkwWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.O22_ZMS2ahv8q2jko_OmGhcwXffT0PuJkzxSj3zvzSc95kxvlnUd3okWIX1kmfCzZY7ucbuye2uPcpUKtniB1SZOGdPCVzpeWBnVcqAaNF2Yw9pHTzoq79UBD44g37xy2VCkj-N8qNa4c9p0HXziZfouIijZVuYzqn-XZU9Lki-tCkuDrnvtlSHK7qipNzwI85e6Sqde8NE0X9u-7fojVt2QnSfm4RlCvQCIP1ot6PqUSWs12oBfQM031H-iseasjSWvzQ66mk4IRr8S3Dk8iwUU5qquPwEn9L4VTFIOooCmoYtITvpTarHyuHuc081j2VBPrFwiJIfjqO1qTRj3pw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTdkNDdkMzUtYzhmMC00ZmI4LTgwZTctM2YwODA3MTZjZjFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5My1vc0xNLUk2MkU0VjdxUlFKZE82VDlEVnlzOXAwSkkwWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.O22_ZMS2ahv8q2jko_OmGhcwXffT0PuJkzxSj3zvzSc95kxvlnUd3okWIX1kmfCzZY7ucbuye2uPcpUKtniB1SZOGdPCVzpeWBnVcqAaNF2Yw9pHTzoq79UBD44g37xy2VCkj-N8qNa4c9p0HXziZfouIijZVuYzqn-XZU9Lki-tCkuDrnvtlSHK7qipNzwI85e6Sqde8NE0X9u-7fojVt2QnSfm4RlCvQCIP1ot6PqUSWs12oBfQM031H-iseasjSWvzQ66mk4IRr8S3Dk8iwUU5qquPwEn9L4VTFIOooCmoYtITvpTarHyuHuc081j2VBPrFwiJIfjqO1qTRj3pw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6695" it="0" lt="6695" ct="1" ts="1587564585488" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTFhZTFmMjgtNmQwYS00ZTM0LWE4OGQtNWRlYWUyOGJlMTQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2005-6W1xuxT4pE2yjZxJ-GBiQNOWIM4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6695" it="0" lt="6695" ct="0" ts="1587564585489" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDhmNzFjMzgtZGNjNi00MDMxLThhNjctZGNlZWVjNDIyNTQ3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2012-eYaBL00t9n-6syDnbGbe593Kdqcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7238" it="0" lt="7238" ct="4" ts="1587564584948" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzZjYTRkYjMtN2VkMC00MmVkLTg1ZTQtZjZiMTE5ODFjODI1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1993-ddEfXx2pDS4tyMi2VFKAMnYLSWYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564592176" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODhjMGEyOTQtZTFhZS00ODRkLTkzZTAtN2MyODBhZGY4ZDZi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="1" ts="1587564592176" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDc3NDY4MDUtMmU5MC00ZWExLWFiNTYtMDM0YzdkNmM4OTVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564592175" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWZjYmZhMDAtZjY5NS00ODlmLTlhOTctNjY5NmMyMTUxY2U4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564592184" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTFhZTFmMjgtNmQwYS00ZTM0LWE4OGQtNWRlYWUyOGJlMTQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="12" ct="0" ts="1587564592180" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDM3MGNkNzEtYzkxNS00YmZlLWI5YmYtNDM3M2EwMTYwZDg3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="19" it="0" lt="19" ct="1" ts="1587564592174" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGQyNDY2NWItNDg4Yy00MWFkLTg5ZWEtZWVjMzVjNDE0MzEw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="1" ts="1587564592186" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzZjYTRkYjMtN2VkMC00MmVkLTg1ZTQtZjZiMTE5ODFjODI1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="1" ts="1587564592184" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDhmNzFjMzgtZGNjNi00MDMxLThhNjctZGNlZWVjNDIyNTQ3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8410" it="0" lt="8410" ct="1" ts="1587564583785" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTZkNjJkYzItMTA1ZC00ZTdhLTgyMDAtMmZjNTA0NmExZjNk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1968-d4WbYRbu4DoOB4JkyvARxfnkkpsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564592189" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3Ni1xTEN3c0NZQ2ViNENOSWE5azNmRjBlZlZvQjFaSy1RVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dVB9-5T50g2v4FUaYrhOxxYEybJfCODHlTohtv53Ze8BizsGB5bzRX8rch3n-YvxlP3ZAe1WCv1L4humEY8sSt5PU4Z8AFYuzet7xkOWoGQNUYq56uErl1pES6zBaWTjfgZhvLgoSnUR5LCP_9lQJ0X2sVsnNejeonKfqSTCZDuuMObpXfJx9AHFFh30gFo22PUvJDh_d1ecwogO80bu3OBle2YYQPdLIAf1Zvx1h3DLOnCAijapQgsh9IwlI0bwtoiUA3vOzOvIAEY5eq5vXUHg-8uBgjVavUr5SxdxqhzkTjtSGjyz2NLUR_Ad26E1prnNWqWZWtJ33-DiASwkNQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDc3NDY4MDUtMmU5MC00ZWExLWFiNTYtMDM0YzdkNmM4OTVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3Ni1xTEN3c0NZQ2ViNENOSWE5azNmRjBlZlZvQjFaSy1RVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dVB9-5T50g2v4FUaYrhOxxYEybJfCODHlTohtv53Ze8BizsGB5bzRX8rch3n-YvxlP3ZAe1WCv1L4humEY8sSt5PU4Z8AFYuzet7xkOWoGQNUYq56uErl1pES6zBaWTjfgZhvLgoSnUR5LCP_9lQJ0X2sVsnNejeonKfqSTCZDuuMObpXfJx9AHFFh30gFo22PUvJDh_d1ecwogO80bu3OBle2YYQPdLIAf1Zvx1h3DLOnCAijapQgsh9IwlI0bwtoiUA3vOzOvIAEY5eq5vXUHg-8uBgjVavUr5SxdxqhzkTjtSGjyz2NLUR_Ad26E1prnNWqWZWtJ33-DiASwkNQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564592191" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0NC1BdVo3VjI3VEM5cHZCakQtdGJidDZQYUZwVjFhUWg4LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cDNM39_UitUfuTD9D_9sYvrDRWMcdwwsScUb523gkeVgiwI88AulUPS441NWR5v8dPlE7bU4AcRj8__ToFFWwn8O3VyOqFulUAsRSdkyuehUMid_0VKSxCqpAO-7YTShe2kjPaSUQC76H-PIHTDze_m4hZlF2RM83Bs0lUSApACePXS3cjh_WXkzjQf0Yt8CRcX-Q0rLgI7lqjc7-6vasJnchER4faa80eIHruJQqa_2fZl5TIITjLCg01QTofpYcHerrdSUIMyGK9xWPplgBJ1Xfye6qOrWa1xwT1xhHdpPctoX2eUJ3Vmn1vhrfVCjXO5lHgtct1kZfEbKib2pmw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTFhZTFmMjgtNmQwYS00ZTM0LWE4OGQtNWRlYWUyOGJlMTQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0NC1BdVo3VjI3VEM5cHZCakQtdGJidDZQYUZwVjFhUWg4LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cDNM39_UitUfuTD9D_9sYvrDRWMcdwwsScUb523gkeVgiwI88AulUPS441NWR5v8dPlE7bU4AcRj8__ToFFWwn8O3VyOqFulUAsRSdkyuehUMid_0VKSxCqpAO-7YTShe2kjPaSUQC76H-PIHTDze_m4hZlF2RM83Bs0lUSApACePXS3cjh_WXkzjQf0Yt8CRcX-Q0rLgI7lqjc7-6vasJnchER4faa80eIHruJQqa_2fZl5TIITjLCg01QTofpYcHerrdSUIMyGK9xWPplgBJ1Xfye6qOrWa1xwT1xhHdpPctoX2eUJ3Vmn1vhrfVCjXO5lHgtct1kZfEbKib2pmw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564592192" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4NC0yZnE2Mi1VUjlRbXN6OEJGN3ZBQWUzanVqT3l2U1pFbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QiJ8S70-2VOFQymxwU970pJ5OnJrvZw3Qo1HgwdJKgpm1emU_Yodx9UrAVfYNJwhD9irFA8jcWcfOLi68TbiDVUoMruByXgfKwulHwiAUIzZfMvPIh9Lht5XXuP8ELsRKazWbKOTl8X5q0xWljksZU_9jnufT8yLalPz0p7L7K0h_rwl1EenXcSeB1zqCvujfEzf7MRuwQG0zPbOKyZU5_oglybQLPPJfw446-9_cwS38LepG4IYofXBao6OXm6hH-UPnWi_exc3y-w-TQFt0osWzwF4yYwILt0Vyquon0OiE5SOYkDD_hU5tjk2NsmkJHZ4ekUEWYQbc57WWiebVg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDM3MGNkNzEtYzkxNS00YmZlLWI5YmYtNDM3M2EwMTYwZDg3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4NC0yZnE2Mi1VUjlRbXN6OEJGN3ZBQWUzanVqT3l2U1pFbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QiJ8S70-2VOFQymxwU970pJ5OnJrvZw3Qo1HgwdJKgpm1emU_Yodx9UrAVfYNJwhD9irFA8jcWcfOLi68TbiDVUoMruByXgfKwulHwiAUIzZfMvPIh9Lht5XXuP8ELsRKazWbKOTl8X5q0xWljksZU_9jnufT8yLalPz0p7L7K0h_rwl1EenXcSeB1zqCvujfEzf7MRuwQG0zPbOKyZU5_oglybQLPPJfw446-9_cwS38LepG4IYofXBao6OXm6hH-UPnWi_exc3y-w-TQFt0osWzwF4yYwILt0Vyquon0OiE5SOYkDD_hU5tjk2NsmkJHZ4ekUEWYQbc57WWiebVg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564592187" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwMi1rcncyU3Q3eWJjVzIxeHpWTUEtM3NkdFQ4OHgtMTg2eiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QWRCVWeTfJDc72SZiAwPODwJmjxdFrw0ayWQRr4c3AY3wFkDOMOwH9UQG4RmovikelJaKWIipaPMzFWH8RHyEmAF-UZZlj7n-Fd21-VGJN_czJZB41E1hmDTP2zSOXgHUUPvqEdceaWDFqUm0RZtqyWg1sPJ7lqOuHBj3SvbYk9J96Jks0oWyqeuAzPCjcnPjCcm8FkPv3Ck45w76XiHd4TOLpGovcrrj_8NTQD-ei9EH0_hm23VALmnLiM3NRd_BpfZ5WOuLzSEkHdJYQroWpbauirpEk8Yx0LA7f6NMsBFCqj_d7E4L1uF9LRdk3YyQwaXeUkgCorZ-TM-juMqeQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODhjMGEyOTQtZTFhZS00ODRkLTkzZTAtN2MyODBhZGY4ZDZi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwMi1rcncyU3Q3eWJjVzIxeHpWTUEtM3NkdFQ4OHgtMTg2eiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QWRCVWeTfJDc72SZiAwPODwJmjxdFrw0ayWQRr4c3AY3wFkDOMOwH9UQG4RmovikelJaKWIipaPMzFWH8RHyEmAF-UZZlj7n-Fd21-VGJN_czJZB41E1hmDTP2zSOXgHUUPvqEdceaWDFqUm0RZtqyWg1sPJ7lqOuHBj3SvbYk9J96Jks0oWyqeuAzPCjcnPjCcm8FkPv3Ck45w76XiHd4TOLpGovcrrj_8NTQD-ei9EH0_hm23VALmnLiM3NRd_BpfZ5WOuLzSEkHdJYQroWpbauirpEk8Yx0LA7f6NMsBFCqj_d7E4L1uF9LRdk3YyQwaXeUkgCorZ-TM-juMqeQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564592194" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczMS01VEhwY25HSEY0Yk4zb0R0d0tnY0tJTktOLS1iQS1KdCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.G_QJJfYdCH0Q203V8dUGvHben6KmiHzEKW7xZ1IYIi_wtAPqB4DMAVWyNFKYrVNLJtKfKUEMCHcgVr16DutW5J629hsSS37cKHiMBP_cNFKrqzULYVLfBlnMghEhlcK1RRjz_g0J3oNMbZT0e1ov_K9knBa4AtLbipag02DADHzI2hbz6hNWOk3YPxBlUKDBgw3aDLEBOc40NOxrWRjCTdnzePmyF2_1TMg-Kp1SWCBzX-fePj68FX3zupFnTo6a56j1sDaeJTeFCYSsZXvl5r_GS6_qbxKTEn8IyPqkgJAWZXPSZfrMjfUWTxZTEENwlMfAlC-r6MKHyWTCLn7b1A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDhmNzFjMzgtZGNjNi00MDMxLThhNjctZGNlZWVjNDIyNTQ3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczMS01VEhwY25HSEY0Yk4zb0R0d0tnY0tJTktOLS1iQS1KdCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.G_QJJfYdCH0Q203V8dUGvHben6KmiHzEKW7xZ1IYIi_wtAPqB4DMAVWyNFKYrVNLJtKfKUEMCHcgVr16DutW5J629hsSS37cKHiMBP_cNFKrqzULYVLfBlnMghEhlcK1RRjz_g0J3oNMbZT0e1ov_K9knBa4AtLbipag02DADHzI2hbz6hNWOk3YPxBlUKDBgw3aDLEBOc40NOxrWRjCTdnzePmyF2_1TMg-Kp1SWCBzX-fePj68FX3zupFnTo6a56j1sDaeJTeFCYSsZXvl5r_GS6_qbxKTEn8IyPqkgJAWZXPSZfrMjfUWTxZTEENwlMfAlC-r6MKHyWTCLn7b1A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7253" it="0" lt="7253" ct="7" ts="1587564584948" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2FkYWNjZWQtNWY4Zi00NThmLWI1ZDMtNDEwMTViY2Y0ODJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2016-JF3w7CWi9M3yihtFoCOATnbX-nsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8404" it="0" lt="8404" ct="1" ts="1587564583801" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODEzODkzOTMtMTcwZi00NzEzLWEwZWYtYmJjMWU2YjI1YmZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1979-ej3trzWA-V2RvIoZeV2urJAHagsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="0" ts="1587564592190" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5OS1HYS1iOUFxbjJhdFN3aG5ELTlNUEVDbTVNQnFXNjF5cyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Art2qNu-t0dUzXj_J3VyAVjfmFgOtSn8cxylZCY4WsMj4OfH-9dvRTaMC8gMfB9tUxqjm3vw45GDskU5g74so8kQ1DTrPypAzW8-Vflz8yaqFjoEQDvYfkTpzGwxPpqEJE_jhxeMzZXTMDn6Amd5MU_ANMMNQrKIzZVLG8bb0KcGadd36ts8NsX6SP0IDAV14ODhoyVD1FIVHVud-9Q4JG9zfFRmH3v5shpCv6ZXzF2Q3ifJGz67k1IROXFVEskhXdyVYaTX-_hEtPbRMAzc3s7fTERGybpXEs7My9nmw_KzGFupe5rJiu0Qq4C0LC0qHrSFOt5lL--sBQaBkHW04Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWZjYmZhMDAtZjY5NS00ODlmLTlhOTctNjY5NmMyMTUxY2U4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5OS1HYS1iOUFxbjJhdFN3aG5ELTlNUEVDbTVNQnFXNjF5cyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Art2qNu-t0dUzXj_J3VyAVjfmFgOtSn8cxylZCY4WsMj4OfH-9dvRTaMC8gMfB9tUxqjm3vw45GDskU5g74so8kQ1DTrPypAzW8-Vflz8yaqFjoEQDvYfkTpzGwxPpqEJE_jhxeMzZXTMDn6Amd5MU_ANMMNQrKIzZVLG8bb0KcGadd36ts8NsX6SP0IDAV14ODhoyVD1FIVHVud-9Q4JG9zfFRmH3v5shpCv6ZXzF2Q3ifJGz67k1IROXFVEskhXdyVYaTX-_hEtPbRMAzc3s7fTERGybpXEs7My9nmw_KzGFupe5rJiu0Qq4C0LC0qHrSFOt5lL--sBQaBkHW04Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7259" it="0" lt="7259" ct="6" ts="1587564584949" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTY5MDAxZTMtODExMy00ZjYzLTk4NzYtMzQ1ZWUzMjJiNWFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2047-zieX-mxpwcAUyYklTEFGFaAh8VMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6774" it="0" lt="6774" ct="2" ts="1587564585443" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDI3MjMwODAtNGFjZC00NjA5LWFkMTEtZmUxYzE1NjE5OWJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2002-sM-yc2rTdUsCZk-CljCgGaxJoMoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7269" it="0" lt="7269" ct="5" ts="1587564584950" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDc4MGQ3ODYtNzRjNy00MDI5LWEyODUtZmZlMjBkOWZhODg4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2028-IZoFikTtL4H9l7g-7Ka-6ILJPbcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="27" it="0" lt="27" ct="0" ts="1587564592193" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0My0tN000VGp5akt0ZUlzcjFsQll5SzZpd2FlZFFPZ0pNaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HIfOvuiydrbGXq1_756y0yDNN4nPUxuEaTJfy3JhMCZrdumlPjnNBS0gM31XVXLAuOJO9dNpduuCAIMd-GlPM0MmMhUkZn9i-05yfPt69MkTnsqGHR5z0kQIvp8DdpOToBndBJxpJYvi6IFQ4ggK_6AUkDCsIvf_KVT2n9Mhq74Exb6Yi0pdTuv2WLl-qo5MUO3JJ5kzhyNwsfc8AdYU_XNMx3RtaEFIK-jQIRilmG-l4ASxibk12Z8fpHcroKIiGL_yCPrnLgeWmEghD-X3ZkAdABNTadb8MUhH0N5x48jDDyOBmbdK5ZkzxlWz1dg2a3iuUV0IbHmfhxP8c_X6Ug
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGQyNDY2NWItNDg4Yy00MWFkLTg5ZWEtZWVjMzVjNDE0MzEw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0My0tN000VGp5akt0ZUlzcjFsQll5SzZpd2FlZFFPZ0pNaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HIfOvuiydrbGXq1_756y0yDNN4nPUxuEaTJfy3JhMCZrdumlPjnNBS0gM31XVXLAuOJO9dNpduuCAIMd-GlPM0MmMhUkZn9i-05yfPt69MkTnsqGHR5z0kQIvp8DdpOToBndBJxpJYvi6IFQ4ggK_6AUkDCsIvf_KVT2n9Mhq74Exb6Yi0pdTuv2WLl-qo5MUO3JJ5kzhyNwsfc8AdYU_XNMx3RtaEFIK-jQIRilmG-l4ASxibk12Z8fpHcroKIiGL_yCPrnLgeWmEghD-X3ZkAdABNTadb8MUhH0N5x48jDDyOBmbdK5ZkzxlWz1dg2a3iuUV0IbHmfhxP8c_X6Ug</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6727" it="0" lt="6727" ct="1" ts="1587564585493" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTU5ZGNkNzUtN2QwYy00MzY1LTk5NTYtZDgxM2M3OWM5NmQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2050-bBAXnAVgK9Dh1WpOEDgOm2wVjYUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6734" it="0" lt="6734" ct="2" ts="1587564585487" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODU1NmEyNzItYzY5YS00ZWQ0LWE5MGQtZTc3ODFkYTljOTUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2034-s7V-FUcyg3hgmfSbpOLUvQL9yZAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7270" it="0" lt="7270" ct="1" ts="1587564584952" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDA2NGNlYTAtNzhiOC00ODZjLTlhYjctMDU2YjFkMzQyMDQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1960-wMR7f8F-VVVxxHrspIqixJurxoEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7277" it="0" lt="7277" ct="9" ts="1587564584945" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGI3MzRiNTAtMTJiYi00YzcxLWEyNzQtZDkzNDM1NGMxZjVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2009-xEc92Q8ypF-WKQ2zza9I2DCJAToc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="29" it="0" lt="29" ct="0" ts="1587564592194" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4Ny1May1HaE9BZU84Z3BMWG9TdEM2cTZ4amdwelhYYjdGTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YlQnLiu1k4JjLY1CbLDOniGtm_BDsoCou3DnJWETMpYJc0JoIrjGS9nMMp3DosQ1DEk-Y9NQCpfeVfYlamdAfnaDT8x_ZoMIx5Cu17Cou8v2qvgekfxKMD5lQgsKU5CT-fi8_nSMpU2OtvUmcBC_vtAVHul4yoylLW5TBgMRp3Q2JsL0FL8xDi1DN7QKI96MEhoOalnXJuuhpVsBkcNTxD7sXbpAg-SjZhTcQU8iZYnaihvN3rN6D_noN2FJNvjYV2KZ1m_TzugJROGkA9qc0MPF31omYmTG2hX0MA6b64X5s90ecuCWfHMUQsRbzIpUCbFteAuSN099U3j5Em5-Kw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzZjYTRkYjMtN2VkMC00MmVkLTg1ZTQtZjZiMTE5ODFjODI1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4Ny1May1HaE9BZU84Z3BMWG9TdEM2cTZ4amdwelhYYjdGTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YlQnLiu1k4JjLY1CbLDOniGtm_BDsoCou3DnJWETMpYJc0JoIrjGS9nMMp3DosQ1DEk-Y9NQCpfeVfYlamdAfnaDT8x_ZoMIx5Cu17Cou8v2qvgekfxKMD5lQgsKU5CT-fi8_nSMpU2OtvUmcBC_vtAVHul4yoylLW5TBgMRp3Q2JsL0FL8xDi1DN7QKI96MEhoOalnXJuuhpVsBkcNTxD7sXbpAg-SjZhTcQU8iZYnaihvN3rN6D_noN2FJNvjYV2KZ1m_TzugJROGkA9qc0MPF31omYmTG2hX0MA6b64X5s90ecuCWfHMUQsRbzIpUCbFteAuSN099U3j5Em5-Kw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8410" it="0" lt="8410" ct="0" ts="1587564583813" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2EwMWE4MzQtNDY5My00NWYwLWE0MDktNDM1ZjVlOGVjODM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1983-PsIX-4bMjN-u5wca1eICdZMmLTIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6784" it="0" lt="6784" ct="1" ts="1587564585440" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OThkYThiMTktYWQ0Yi00NWM2LThmMTAtZTFmZGU4NmQ0OTA1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1995-GY-Px4NEqjOfgPMuRMsvvwjQWvoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="31" it="0" lt="31" ct="0" ts="1587564592195" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTZkNjJkYzItMTA1ZC00ZTdhLTgyMDAtMmZjNTA0NmExZjNk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6787" it="0" lt="6787" ct="2" ts="1587564585440" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmY0YWRkZGUtYjNjYy00ODU4LTg5OTMtNTE0MDNkMjFiMzdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1990-UMdmkXLuYJaj2Ls3UfqML3nE0d4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7280" it="0" lt="7280" ct="8" ts="1587564584947" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGNkNzM3ZDctNzFlYi00ZWY1LWFjNGMtZjg2N2U3OWEyYzgz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1987-M6LDbpIK8S81bVoSsswXs1BPe3Ic7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6768" it="0" lt="6768" ct="1" ts="1587564585460" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2Q3MzllMTQtZDVlNi00ZTMwLWI4NmItNTNkNGI1OTdmOTBh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2014-Hp6PQrYZLLnpmQLYHXQWD-HkhTkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7286" it="0" lt="7286" ct="9" ts="1587564584943" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTRjMmVjY2MtNTIwYS00MTlhLTk4ZmQtNjZhZDBlYjVhNDhi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2025-mFhWm-1uhGxv8Qdb4uUzxSTzlsQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6766" it="0" lt="6766" ct="1" ts="1587564585463" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDY4YTgzYzctMzliNS00MzE0LTkzY2UtMjI2MWZlYzhlOTVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2042-z8mSRWkrnAo3L2ofHkygtQMB8c0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8434" it="0" lt="8434" ct="0" ts="1587564583796" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTllZTJiNTAtNGI0Yi00M2Q3LWI0MmQtYzc5ZjNkMzJmNzQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1969-euLIAgjhK9-AuA4V-k512Gd24Wgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8410" it="0" lt="8410" ct="1" ts="1587564583820" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTkzNWI1MWEtY2E4OS00YzAwLTkzODctMWQ2NjA1ZDVkMWRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1965-o-6lbD2uxJTJj9KynV-v-ejAjxwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6744" it="0" lt="6744" ct="1" ts="1587564585486" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWM4OTdjOGItY2MyYi00MWZiLWI2YTUtY2UyNGJkNWVkM2Qw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2021-HNsQi3EUJXdtBl9ppwM-e5FrVJcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="22" it="0" lt="22" ct="0" ts="1587564592209" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTY5MDAxZTMtODExMy00ZjYzLTk4NzYtMzQ1ZWUzMjJiNWFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="548" it="0" lt="548" ct="1" ts="1587564591684" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Yjc3YjJjNGItYWUwNC00NWZlLWI4OGItZDU5YmRmYjFjODFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2053-esGXwEW98Gh-I1gmDfi4-jWicHkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7282" it="0" lt="7282" ct="1" ts="1587564584951" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGRiOWI1MzEtOGFmOC00NzI4LTkyZTYtMDY1NGQ5ZDFhN2Rm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2007-RnQM3jC-rXAscrSxZ-eWhyT5c8wc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="35" it="0" lt="35" ct="1" ts="1587564592202" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2FkYWNjZWQtNWY4Zi00NThmLWI1ZDMtNDEwMTViY2Y0ODJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7295" it="0" lt="7295" ct="6" ts="1587564584948" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjBjZTU2MDctMmUyMi00YjhhLTgyNDEtMWQ5MGVhZGFhMDk2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2022-QN8YjvI9xtKFlWtxbfYk8sm2EOMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6748" it="0" lt="6748" ct="0" ts="1587564585496" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTIxZTZjOTUtMmE3Yy00NTdhLWE3NjUtODdmZDZmYTU1YzZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2040-Tvs41lC0nTct8mumb05-zjr-Mh0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="40" it="0" lt="40" ct="0" ts="1587564592206" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODEzODkzOTMtMTcwZi00NzEzLWEwZWYtYmJjMWU2YjI1YmZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6807" it="0" lt="6807" ct="3" ts="1587564585439" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGZlYmM1NmEtYTdmMS00Yjg3LWFhNmUtYzk2M2ZhY2E3YTQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2018-VcVe4LoMl9aObiuKMn7E-6fB4cYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7296" it="0" lt="7296" ct="4" ts="1587564584951" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzFhOGFhZWEtMmFjNy00ZTVmLWE2NmQtNjY0YTczYWJiMmYz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2027-zXQjkJGBTsJtUgjbGpOXOaNEKl8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="129" it="0" lt="129" ct="1" ts="1587564592217" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDI3MjMwODAtNGFjZC00NjA5LWFkMTEtZmUxYzE1NjE5OWJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="127" it="0" lt="127" ct="1" ts="1587564592220" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTU5ZGNkNzUtN2QwYy00MzY1LTk5NTYtZDgxM2M3OWM5NmQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="124" it="0" lt="124" ct="0" ts="1587564592223" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGI3MzRiNTAtMTJiYi00YzcxLWEyNzQtZDkzNDM1NGMxZjVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="127" it="0" lt="127" ct="0" ts="1587564592221" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODU1NmEyNzItYzY5YS00ZWQ0LWE5MGQtZTc3ODFkYTljOTUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="127" it="0" lt="127" ct="1" ts="1587564592223" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2EwMWE4MzQtNDY5My00NWYwLWE0MDktNDM1ZjVlOGVjODM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="122" it="0" lt="122" ct="1" ts="1587564592229" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTRjMmVjY2MtNTIwYS00MTlhLTk4ZmQtNjZhZDBlYjVhNDhi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1052" it="0" lt="1052" ct="2" ts="1587564591299" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2054-JRy6XMQCEZplsTgBWDetftOI6OXC4PNIyan0gYWfFyjc-HRA8YxibDQH7aosaBC2S8Ic7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2054-eRBhJS1ioQDvpEofxz5Q4-hfVrkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8b4f5525-9a78-4cbc-ad62-52b76419ee90</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2054-eRBhJS1ioQDvpEofxz5Q4-hfVrkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="134" it="0" lt="134" ct="1" ts="1587564592219" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDc4MGQ3ODYtNzRjNy00MDI5LWEyODUtZmZlMjBkOWZhODg4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="123" it="0" lt="123" ct="1" ts="1587564592230" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTkzNWI1MWEtY2E4OS00YzAwLTkzODctMWQ2NjA1ZDVkMWRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="127" it="0" lt="127" ct="1" ts="1587564592227" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGNkNzM3ZDctNzFlYi00ZWY1LWFjNGMtZjg2N2U3OWEyYzgz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="127" it="0" lt="127" ct="0" ts="1587564592227" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY1Ni0zT3c0dTFhQjVHZFFabk83eXdMYmVnNVl6MEhiUmJobCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GsjIYouK9Bw2tLVQRQRirDVHMzOalQTK8TrZmscMM7ysmwpxOSjGpkoQkBXYsKKxw00y9vV-LSz9vOigrfz__WSpken0PWq2t6oYFMC1xSsTPLtlaYMtBZlInnf5XK68vNyXIQf7aBjIBKa6QnGWBmy3ervUgQbetugwMvvUBy3Sa4rBViEkKN41ypGR33qnT9Rvv2X3i-FUMuZ5CoyX41pQ7SteMLN2gpvIb6soy_wh4u-wEEQ2JDcIDTFXELoACBi_uQXahCY7lI1i4iJtvzIbudrczTSVKja1xTrDtTYKgBniHkwSRTQ4u9wDNOkZXblIP0YIHzD9NsZZfER3aA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTZkNjJkYzItMTA1ZC00ZTdhLTgyMDAtMmZjNTA0NmExZjNk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY1Ni0zT3c0dTFhQjVHZFFabk83eXdMYmVnNVl6MEhiUmJobCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GsjIYouK9Bw2tLVQRQRirDVHMzOalQTK8TrZmscMM7ysmwpxOSjGpkoQkBXYsKKxw00y9vV-LSz9vOigrfz__WSpken0PWq2t6oYFMC1xSsTPLtlaYMtBZlInnf5XK68vNyXIQf7aBjIBKa6QnGWBmy3ervUgQbetugwMvvUBy3Sa4rBViEkKN41ypGR33qnT9Rvv2X3i-FUMuZ5CoyX41pQ7SteMLN2gpvIb6soy_wh4u-wEEQ2JDcIDTFXELoACBi_uQXahCY7lI1i4iJtvzIbudrczTSVKja1xTrDtTYKgBniHkwSRTQ4u9wDNOkZXblIP0YIHzD9NsZZfER3aA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="127" it="0" lt="127" ct="1" ts="1587564592227" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmY0YWRkZGUtYjNjYy00ODU4LTg5OTMtNTE0MDNkMjFiMzdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="124" it="0" lt="124" ct="0" ts="1587564592231" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4Mi0tc3RzOUJ5UW5hT1RUTFdhdGlJQ2JiMUtja3g4NGVnOSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.m4OWPrTefaAHZsTlZDLCcClkFqZ0UcjxF_mc125o8oHEFbNlVStK_P8WkvaAM8rnZcKn4RsMoiPrK_xvLhnbMNMoGeHSuM6ZhYSOUqQOJOeSV9hixAiCo3cwROY3-K4bkMIV63QjM_kNIQEkksUy4qqtuL5EsYXjmxaYUNmI5g7YGbqAW58LFUxqu7hWiIGDtvKTO9tZKNuZbfszTrfo2ykkiLJC6dj6eMX0iAL-4aldwHABgpMuekTJaV_i2fOTzd1iPFWT6EO5kfELDoJ9R8hSya72BA39-i3ChQI1qF_QAdfpkR_z3qBlfnQaebqG1Py8Pe9bRIAhWYtpxl_wPg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTY5MDAxZTMtODExMy00ZjYzLTk4NzYtMzQ1ZWUzMjJiNWFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4Mi0tc3RzOUJ5UW5hT1RUTFdhdGlJQ2JiMUtja3g4NGVnOSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.m4OWPrTefaAHZsTlZDLCcClkFqZ0UcjxF_mc125o8oHEFbNlVStK_P8WkvaAM8rnZcKn4RsMoiPrK_xvLhnbMNMoGeHSuM6ZhYSOUqQOJOeSV9hixAiCo3cwROY3-K4bkMIV63QjM_kNIQEkksUy4qqtuL5EsYXjmxaYUNmI5g7YGbqAW58LFUxqu7hWiIGDtvKTO9tZKNuZbfszTrfo2ykkiLJC6dj6eMX0iAL-4aldwHABgpMuekTJaV_i2fOTzd1iPFWT6EO5kfELDoJ9R8hSya72BA39-i3ChQI1qF_QAdfpkR_z3qBlfnQaebqG1Py8Pe9bRIAhWYtpxl_wPg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="125" it="0" lt="125" ct="2" ts="1587564592230" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWM4OTdjOGItY2MyYi00MWZiLWI2YTUtY2UyNGJkNWVkM2Qw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="122" it="0" lt="122" ct="1" ts="1587564592233" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGRiOWI1MzEtOGFmOC00NzI4LTkyZTYtMDY1NGQ5ZDFhN2Rm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="134" it="0" lt="134" ct="0" ts="1587564592222" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDA2NGNlYTAtNzhiOC00ODZjLTlhYjctMDU2YjFkMzQyMDQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="381" it="0" lt="378" ct="0" ts="1587564591976" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-31" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2YxZTk5ZDUtNzg0OS00ZGE4LTgwZDAtMjQ5OGEwMWRiNDM3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3Mi1oMFZnS2MtajY1NmREUlFDd0p6cDA2dlg2TUEtbC1GWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BUVK7vQBdOdY7bV_CdIIq1nb7TYeCY_PuM3kKJ8Xn6_5Pfrn2Y2AKRrwlftREzubNeP4C6KrQdh2SSM4HxOY-3Mu-hpqslQ1xSsjyaBkdaz0-oL7pAqaiEG4r_-nNRpikGknFjamhUr2kYsIJLEyWAVOggdmDWo1zRs6Z712EyNbcj0BFS8t8SqxmhytBAM_pc6jfrnTs1tzZmiXawz9C6WRzQ7R83Updwjm_tFXo8Cmm2AEPSUYwyOQcDd82IEVNGuroGiZcGdF53CNbXKLi9VU5aaj-t1lNVXdrMQFhi5Ym4htu4a1JDBolKWy7vVeJgAFmO2aetXQ69ZCShAwKw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjE5ZDIwMTUtZmEyYS00NjE5LWEwZmYtYjFkY2VkZGEyYmJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="134" it="0" lt="134" ct="1" ts="1587564592224" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OThkYThiMTktYWQ0Yi00NWM2LThmMTAtZTFmZGU4NmQ0OTA1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="131" it="0" lt="131" ct="1" ts="1587564592228" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2Q3MzllMTQtZDVlNi00ZTMwLWI4NmItNTNkNGI1OTdmOTBh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="129" it="0" lt="129" ct="0" ts="1587564592230" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTllZTJiNTAtNGI0Yi00M2Q3LWI0MmQtYzc5ZjNkMzJmNzQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="133" it="0" lt="133" ct="2" ts="1587564592229" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDY4YTgzYzctMzliNS00MzE0LTkzY2UtMjI2MWZlYzhlOTVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="131" it="0" lt="131" ct="0" ts="1587564592232" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Yjc3YjJjNGItYWUwNC00NWZlLWI4OGItZDU5YmRmYjFjODFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="128" it="0" lt="128" ct="0" ts="1587564592237" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4OC1acHpjR0NFcHRIaGZpTXNuSkxCRk5hQUdPZjdvcnhiYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bhktm3u9H7fO9fsaeGgeSmKaqCD7IvC5LY9MjCMRRWzl4kJd44YMKeGhFIv5MSGROZpfBSPiZHnBUl848c-erlePC9uQzoMh162Vl7kvVezMxo70ZikDsGOFR7PwtflpW30iKb30CEuoe1ixRXQhFtUExOLuM1AiDmBuOcxgm8bJG-IvD4guVmjXiNLLSTPjNJOL4nAyIM_NMWmQ8IqijlC56-9pqC2KxGd6yf7zJ8EhOi7KM5KVVMJrk-gJAgLuPYI3fTvSMfJc29OeN1IfwUbEFCid-aCQC96kcMWPSZsahxW0O1zgP--g-SfU7E4sSRQiTLCYzF5USiSCbheb-A
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2FkYWNjZWQtNWY4Zi00NThmLWI1ZDMtNDEwMTViY2Y0ODJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4OC1acHpjR0NFcHRIaGZpTXNuSkxCRk5hQUdPZjdvcnhiYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bhktm3u9H7fO9fsaeGgeSmKaqCD7IvC5LY9MjCMRRWzl4kJd44YMKeGhFIv5MSGROZpfBSPiZHnBUl848c-erlePC9uQzoMh162Vl7kvVezMxo70ZikDsGOFR7PwtflpW30iKb30CEuoe1ixRXQhFtUExOLuM1AiDmBuOcxgm8bJG-IvD4guVmjXiNLLSTPjNJOL4nAyIM_NMWmQ8IqijlC56-9pqC2KxGd6yf7zJ8EhOi7KM5KVVMJrk-gJAgLuPYI3fTvSMfJc29OeN1IfwUbEFCid-aCQC96kcMWPSZsahxW0O1zgP--g-SfU7E4sSRQiTLCYzF5USiSCbheb-A</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="121" it="0" lt="121" ct="1" ts="1587564592246" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGZlYmM1NmEtYTdmMS00Yjg3LWFhNmUtYzk2M2ZhY2E3YTQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="124" it="0" lt="124" ct="1" ts="1587564592244" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjBjZTU2MDctMmUyMi00YjhhLTgyNDEtMWQ5MGVhZGFhMDk2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8669" it="0" lt="8669" ct="1" ts="1587564583806" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQ1NThiYmYtMzExNS00MWM0LWJlZTItYzczMzlmOTYzYjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1963-9okquzqlCXkL3ufr8v0kMRVVU5wc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7534" it="0" lt="7534" ct="11" ts="1587564584942" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODc5NjkzMWYtM2YyMy00YWM5LTk5YWQtNmJkMzZmMTk3Nzhh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1976-0O-MiomLxBR85Wwq-zOkRENSgdwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7814" it="0" lt="7814" ct="0" ts="1587564584954" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTA1OTdmOWQtYjI5Ny00N2RmLTgxMTQtMzFkNDIxMWRiYTQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2023-A5-74BLCQ4c6WgOhhMNnIUKxK2wc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7327" it="0" lt="7327" ct="2" ts="1587564585442" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWFmMjBlMDktNzkzYS00MjkxLTg1ZmQtNDc0ZWY2ZTU2NGIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1964-wxSHgC4-DonaIixTyp6Is0mrOc8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7824" it="0" lt="7824" ct="7" ts="1587564584945" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTgwYmJiNGEtOGExNS00MWJiLWI5YTItMDEzNTYxOTE0OGZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2031-tAcM-VGzwdyVDSGN2saZYiyxRCoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7825" it="0" lt="7825" ct="10" ts="1587564584944" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTRiMWM0ODMtOTYzZS00ZWVkLTg4ZjAtZTM5OWI1ZDc4ZTk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1989-hf8e-lkxL38C1SC6fEi0Rufl9foc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8971" it="0" lt="8971" ct="1" ts="1587564583799" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDcyZjUwMTYtMGNhNC00OGRkLTk3N2MtYmZkYzVjY2Q5MjRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1986-Kz2J8FM6t4flS3XFrfhqFQkcIbAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7309" it="0" lt="7309" ct="1" ts="1587564585461" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjFhNzg3Y2MtZTg4MC00MDgxLWE5MWYtZTgzNzA2YTJhY2Rl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2020-FzEQUnFg3gXGT5LdR1-FjL3e-kAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7826" it="0" lt="7826" ct="8" ts="1587564584944" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGI1MzRjNTEtZGMzZS00MTUxLWJkYzMtMmUwZTMwMWFlZWM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2052-Gfb4rUYIj-bxIvhi8ld2ljb-cXoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7326" it="0" lt="7326" ct="1" ts="1587564585445" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWU5MTYxOTMtMDcwYi00NzBlLWFmOTktNmRlNjkyYzE0MmU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1982-FBwBCIq648uhBrICGa1VNDxvywYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8942" it="0" lt="8942" ct="1" ts="1587564583829" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTgwNjE4NzMtZDA1My00NjY3LWI1MDQtZjNiNDI1NWY5ZjA3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1998-VjqknVVN8vX7E5YRjpqirZtKae4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8950" it="0" lt="8950" ct="0" ts="1587564583822" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2JmZDU4MTMtNGIxNS00OTAwLTljZTUtY2Y3ZGE3YWI0N2Iz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1966-Hp27QFhoh7Sz-QrnlqYmDpbuAtMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7819" it="0" lt="7819" ct="0" ts="1587564584954" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjY1ZThhODMtOWIzNS00OGQ4LWE0YWMtMTg1MjFjNTlhMzAy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1973-ak7BOLGviOX702sI2AWGY4s6L8Uc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="529" it="0" lt="529" ct="1" ts="1587564592244" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTIxZTZjOTUtMmE3Yy00NTdhLWE3NjUtODdmZDZmYTU1YzZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="810" it="0" lt="512" ct="0" ts="1587564591964" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-77" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTcwNGNhYjEtM2VhNS00NDVlLWJlMmUtZjIzNzY5ZmZmYzEw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4My14TmUyLUxBdUV0TWxna3YteXFMcGFSdUZaMEFCZTE4QiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lWbDGLk4Xzqkf4qkDZuweNkT4GxmhoTDXd2c0GbNA0gqR_9qqmkwC_H_Jx1V2csynroiBIxDaerzTJUOHSFdPV8RkvSC7dL95qISi2ACSutlpBgspclPn1dLmnEB-c9Cimj43Qc62jx2V0lvRkmIcLysIAa13LnhXoQWlToBCTruq3K9NF4hOz2UhGiEYYWQnQK73eqeipdrzXtVjgLhU3MMpzerznUwx2hTUlvH4bocKJzva_SCOfX3wYc2bDcAZhV5xMJIgmU7dtqOHmfv_rrdJwWAEk6s0mFuZ9_nr7Mzok0RrbDFXTxwDsOpT_pA8oydogmOQPWAw81bMlGqpg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OGM0YzdhNzQtYTEyYS00NWQwLWJiNjEtMjZkYTg0MTQzNDUy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="7828" it="0" lt="7828" ct="5" ts="1587564584947" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDNlZjE1YjUtNjIzZi00MzY0LTkzYTgtMDAyYmZkNTAxNDhl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2035-kjGEG8A87sKPrAr3WowZ52oZIlQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="7914" it="0" lt="7914" ct="7" ts="1587564584945" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjIwZWY5ZDQtMTYxNi00ZmYzLTk5NzctYmZmMjFmNzQwMTkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2010-ZRPzt2vdRgBu7fVvdqIWUMahoyYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="614" it="0" lt="614" ct="0" ts="1587564592246" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2Ni1Wa2xuVGxXaDRLOVY1V2V4azNRR2trUW44ZkVuNGFHMyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TFmrK6zGJ_csvcSHFbPVxsuEL3oFOAq3XS2wfj0oQJU-ASDV-mpUp31OS5QEsreBegRiKib0qRyMJ6FU-xFjZwAlUloFJv1gMLhZEUOH9u7YsYXKF7cUAsNeXORtF0lcsFs8OpFHdd3bKXBNgG8O_gB86OqxcJxS12UEGVlujYvs7g0V884fnuXObQF5q1wnN7D8Oh5LnoRRFWR3sg_3EZyB4LxvZQ_9re_VzZapunv2kIg1gHlM0VQImdNwfGn-kVwyG9F7tU0TJouAZnoNHNMyB2snYzr3qfqR6rd37_6tjoKqXRpRLkiBNOdYJLV3l4p5bkZF6JMqQKm9QegUGw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODEzODkzOTMtMTcwZi00NzEzLWEwZWYtYmJjMWU2YjI1YmZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2Ni1Wa2xuVGxXaDRLOVY1V2V4azNRR2trUW44ZkVuNGFHMyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TFmrK6zGJ_csvcSHFbPVxsuEL3oFOAq3XS2wfj0oQJU-ASDV-mpUp31OS5QEsreBegRiKib0qRyMJ6FU-xFjZwAlUloFJv1gMLhZEUOH9u7YsYXKF7cUAsNeXORtF0lcsFs8OpFHdd3bKXBNgG8O_gB86OqxcJxS12UEGVlujYvs7g0V884fnuXObQF5q1wnN7D8Oh5LnoRRFWR3sg_3EZyB4LxvZQ_9re_VzZapunv2kIg1gHlM0VQImdNwfGn-kVwyG9F7tU0TJouAZnoNHNMyB2snYzr3qfqR6rd37_6tjoKqXRpRLkiBNOdYJLV3l4p5bkZF6JMqQKm9QegUGw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="907" it="0" lt="904" ct="0" ts="1587564591954" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-3" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDcxYjkzNjAtNzFkMS00YTkyLWFkYjMtMzJkZWIzMGNhNjlm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3OS1kbTB2YUlrbFFLTTRjc1AwN2FsTXp3VXRMN0lxQ2V0TCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IJHDJmEG4cyL0Iya7NEIsszkr6f_raqvM7kKvN8rOzS9Jy5wiPQnJo5RB7AqM3zfqHJGzyrfJI8BtBGbk2e5C7ZvbfPqwVowVl74FbnIM6iwFYvRfKDDWCVIfFhdv7tW48KstQYUZEFbssda3NcyXTvmmAOqV3xpkXjOsIhqZJ6QmFyhvAiiCDq8hM5Ch7oaGcjneFbT7IRRJo7tdx0o4LMxTaUWRB8i-095ry1lj47oCjUyNoTlXDyO4pJior3vKXrZijvS7JUso8u4FeEmNFR3OmDYn9wj53QYwwXVqI-0hNfjsmS3qa9tTbapRRDP3TWOZP3ljUF-fyxHGTuTgQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OTYwMDVlZWEtMmE2NS00MjUwLTgwOTUtZjE5YjlhNTg1ZTdm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="7389" it="0" lt="7389" ct="0" ts="1587564585472" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWM5ZTJlN2QtYmEzNC00MjViLTliNjAtMjg4Yjk1MDAyODIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2038-u3fu4iOaBdsmRnQLVlmBiCjXieUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="876" it="0" lt="872" ct="0" ts="1587564591986" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-10" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Mjk4ZWYyZjItYWNmNi00M2M4LTgwMzMtZGRmNGFlOGZkZWI2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwOS1hTVVvT1hNZWo3N2ZHRGh5YlRSYkd4VngzN2xSREs3aCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gtFRzDph8EYEJSRfwu0iqK4StLv9A5-vtAOgdVEb3P7cISv2ikaGKt1UFZgJ0bQWkGTBkXGyuHK9anauL8Sbqqb1TjaJLds8F7d5JcDqmUBgHARP2Ace182lHOwb73hbzTWYuzU2yNI3KGMfCmmI3JHLD3VC_IGDfJ29J7QsyxLEqEq6iHSf11Voa6IzkWzojg05ITcx6VjovYRWHVi2sGCnVAXOqRsKlGRnqHJvBNs1yVTYnyjgcwQvbDTffF9QO9p-vJCxMXuGrOHK_iRth4Co1OB3rNV8Rk1D-a1dVG-lwGhlBavEGfFd-OProerVHaG2FF7raKZInz8Bs0gy1g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NzdhODA5MGItMTc4Zi00Mzc0LTg4ZGQtOGI2NmQ5OGY2ZGRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="816" it="0" lt="811" ct="0" ts="1587564592047" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-5" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2I1ODljNzktMjRmYS00OWNmLWJmYTQtMWMxZTg3Y2JhYWE2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxNS1DRkEwaURWSGh4MlJUY1dSYXRoQmFjWVdwV1hLYTNCVSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.mG6xaWfBUPvtPymDH1WSM2IYNE1T6N_VJS6dYD_W5FlRxmfwQtAf1TLPGwCfhXfgHqlTivcyOWr_i9FFCpBTKQaB8C7aZc_DDWSMFIvAj55O0dlu9TPCnZb53FKvdVnO9xdovGzUBOxITloOMk1cvaNhpAdey0OXc3IAk2w-2gdqoKGCX4k-dYaZYVXPKa7XBLJZkEAEcHLwH1fhZ_qolaNy0R_YJnTmfxypebykr1qCRyuiY6RaAjFYBqsGJSI6xkMq2sisPpN9pVH5Q4cqgleDXPRAMR4pLovDFncf6UiOegz4_N9C3F3V2V6b_XAVPrG_CkjEKn3f2lDvu26mCQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NmM4MjYyMzMtM2EzMS00M2Y1LWI1ZjItMjQ0ZTQ2ZDBhZDRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="923" it="0" lt="917" ct="0" ts="1587564591944" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-29" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDJhZDEyYWItMmM4ZC00ODI5LTkzOWQtMDdmOGIwYTEzNjkz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4MS0tYzNkRy1EdXNKVlZ0S1BPOGRxd0YtenFOQVFsYklXMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LwZH70iYfr3BkJefEdEOs6V4asFK7jHRJQXn4ez2Nk8lQPOwzOHArME6bsIw8F0KFzVVyCW9SjyLhKSxdvqcSMvmypewdJDyAP-M81jnsPCLdhxPDzYeNhkw3nHc4754VL59r_EDaPXdktpKCu7VBRjVMasqeHvP6BNkkPZD_7bkQbZds574G5dle8ma4iA_ibREjaes_5ZTyLJ0FoDDS_AKOd1zQdOb6zpE70LJel3usJiI1GN9F5SeD5XuAzwz1tXOFOGYYVQXX6ereQNrlp6Q9P7SgqCylWRvANwg9aw-TJ48DK7cyUJa_j7AKBEmRBeeJstK6ilyx7Vrep9qkg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NTZiZmM2ZGYtZWExNi00OWY4LWE0ZjktZDc2ZGE1ZjZhZmFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="882" it="0" lt="876" ct="0" ts="1587564591985" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-41" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODg0OGM4ZjktNzZjMi00YWU1LWFmNDktNWQ3OTNkYjk3YTQx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwNi1QMXdnWDFieS1QR0tPR0RxNWxmazdSYzVVQ0haM0oycyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pHhEiUyemnU90UHlbxpkdgqz5owVbG7LKoUnOfBreHB15WN2sUMKBb5_MmNOcphA3_7DXqrxwEICLQ29j0Ecv3ZRRXw0LwRBpyLsas6CRhqiJhhMjqa_GZVbylG6qVkIRWc0iSvtDRAKknqA7D2uxsvPSY-yjE1O0mwg9het0DCCB1yIbMMY16iupd_lHyfvM8FALfZYCyQmgPn-aQoykthqCrfXdQPJpluFw8k4u2IShGh1We3BwZU9u9cS0DLMkXNU2_t1Dmwuv9ILLhSgDRpyMvv9j5-fkkHz5t7qlKY50hV7QeFUcy4xaftl0cn3oW7wuRRbx-R9G-kXsE_1-A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWVmMmNhMzMtYTVjOC00YTljLWE1NTAtNDE0MDU3MTYwMzU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="882" it="0" lt="876" ct="0" ts="1587564591985" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-23" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzIyODMxMWMtZjVhZS00MjYzLTk4NWUtODkxNWU3YmM4NTQx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0Ny1uVjNFckpvQW0yUnhPc1ppMWlrUlo0akc5c3BYdXR3MSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FnHIhHDb0_tVAcNFkhaslMD-QPW5lDkG0FiJNpPpIy1_Uu7uJUgC2sCXc1f7KdI4SphPlH75cSJ_QfbA-XTm-IKhttwBbJMQFjpUEWGpHlRJF9QqS3uwRAl1PSJm-bHJsMMldS3h2WoNpSPDLoYV1H2HXcMuOp1FhDHGGIbTYrLM0A0TWSZ_wW_1zVjWkflzRB3JJ3D71oN8dgVyHZQSDJjJ7lT4Th9jmVVulXuxFGJtjxO-ebvgwSEyc-82rphO4cBxdSG6wdcGkwPexGqnmvNRnh8_Qkkrv6BPrqIlKy6xML1BbtlFRB8ugOilFj2XQ9_HzpIiCW8daJP0XwJVlg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MmVlMTI0ZmItZWE1MC00NmJjLWEwN2YtZmIyZjZjYWE3NjJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="520" it="0" lt="520" ct="0" ts="1587564592347" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MCwianRpIjoiSUQtVG9rZW4tMTc0OS1hZEQ2TWhmd2dLekRyVGxzeVNRLWFDUUUtNThVMEhwMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aJgDbb2kQwgZLKkcq7aWjwqmnxVuTaNzc2DXqs-19YvFOjKnd7ZJ1GBGM8db7Kb82xnCkHiFt7GhJeLgRwPTkXvjr04ZZWc0SZKSsv9Y7kUbP67cf9VJoglPqqy7A2xfxcEahmxFEkgFYcFcOTdXplsS6sTDF3VZ4mRo_5DmUZPOPjiIUgaQ6SEZMTamayEQN3lQiFZLGTyBMtNQGgwDHVLXLHav_r450cGDbW-U2lK8mZoYPkBmJEsHhNlxdEm9ljrC0clHtHknWpXNpI-5W5o1dXzotvjIT_jv71R2R3pU-OrAaJ6__m24zvjZWSbKr7A9RzpIYLrGjA9KHvXS7w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTU5ZGNkNzUtN2QwYy00MzY1LTk5NTYtZDgxM2M3OWM5NmQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MCwianRpIjoiSUQtVG9rZW4tMTc0OS1hZEQ2TWhmd2dLekRyVGxzeVNRLWFDUUUtNThVMEhwMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aJgDbb2kQwgZLKkcq7aWjwqmnxVuTaNzc2DXqs-19YvFOjKnd7ZJ1GBGM8db7Kb82xnCkHiFt7GhJeLgRwPTkXvjr04ZZWc0SZKSsv9Y7kUbP67cf9VJoglPqqy7A2xfxcEahmxFEkgFYcFcOTdXplsS6sTDF3VZ4mRo_5DmUZPOPjiIUgaQ6SEZMTamayEQN3lQiFZLGTyBMtNQGgwDHVLXLHav_r450cGDbW-U2lK8mZoYPkBmJEsHhNlxdEm9ljrC0clHtHknWpXNpI-5W5o1dXzotvjIT_jv71R2R3pU-OrAaJ6__m24zvjZWSbKr7A9RzpIYLrGjA9KHvXS7w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="620" it="0" lt="620" ct="0" ts="1587564592247" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzFhOGFhZWEtMmFjNy00ZTVmLWE2NmQtNjY0YTczYWJiMmYz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8008" it="0" lt="8008" ct="2" ts="1587564584953" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGE4NmNlZTYtNGU1NS00ZmM2LTk4ZTYtZjA4MDU0ZDYyZDEz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2017-k0bX0iF0mu34jz2NmyMNwb7wgcoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="693" it="0" lt="693" ct="0" ts="1587564592347" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5NC1XZ24zU2liRXB0dXNPbzVxdm5iWWMtdEdvTTJJUnpCbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nid3HoZU31m7LcpV0rZ0gGuESwiPpz7q8nNeVoit7-8dANFPIZiiYJ4FF3ePWDr2dXtK2aa8NxmimJ6-B7Aj_7l0CbaRHkuG6YZrfGafmy4h_bsWBEm0xOYt46pboY3XzbdLcL7dMvhutlnFnEHnxBbqMQFTxBOfnr5hIn93MoKP9bSsGJJGjdBe6IyA7WP7koEaaMzVqCaXG2w_tQY8vuCIr03Hkj0uXhb6VlxLwGj0a-IxR3pvmzzzHXBLiXoeEJ7gDA_-EI_BwEVblZJjRbEdtGBIQdx4uiurli4P2zX5-sazWemf06DuvORydOqa_lClSERr-z-EyRfx1ebMWQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGI3MzRiNTAtMTJiYi00YzcxLWEyNzQtZDkzNDM1NGMxZjVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5NC1XZ24zU2liRXB0dXNPbzVxdm5iWWMtdEdvTTJJUnpCbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nid3HoZU31m7LcpV0rZ0gGuESwiPpz7q8nNeVoit7-8dANFPIZiiYJ4FF3ePWDr2dXtK2aa8NxmimJ6-B7Aj_7l0CbaRHkuG6YZrfGafmy4h_bsWBEm0xOYt46pboY3XzbdLcL7dMvhutlnFnEHnxBbqMQFTxBOfnr5hIn93MoKP9bSsGJJGjdBe6IyA7WP7koEaaMzVqCaXG2w_tQY8vuCIr03Hkj0uXhb6VlxLwGj0a-IxR3pvmzzzHXBLiXoeEJ7gDA_-EI_BwEVblZJjRbEdtGBIQdx4uiurli4P2zX5-sazWemf06DuvORydOqa_lClSERr-z-EyRfx1ebMWQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8091" it="0" lt="8091" ct="1" ts="1587564584951" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGE2NjVmYWYtZmRmYi00Njk0LTk5ZTMtMTYyN2QyYmRiZmI2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2029-ltFNX3A09Vh3Vco8DHXI22tX3J0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="8090" it="0" lt="8090" ct="1" ts="1587564584952" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTQ0ODBlZTMtODNjMS00NDBlLWE0MzctZWEwODgxYjlhNjIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-1961--pdjIQOazyhjFXaR2VH5vQ57JLYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1495" it="0" lt="1495" ct="0" ts="1587564591548" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2056-hIyhmgV5YnutiAD5DrNpa1ypUpIWcCWD9eYn01pdp6gJvhANXuw9g-5qj23t15eIRisc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2056-ii-c-vKuKOVM5h9-pfDafvpiMKAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=71b2ab56-b0f2-4d87-9252-71ad85f6f9ea</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2056-ii-c-vKuKOVM5h9-pfDafvpiMKAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="1532" it="0" lt="1532" ct="0" ts="1587564591512" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2058-GHG88qsmg3RGJLNJdb-ZPoAxnILoM7nO7R6RK0XzdEvJQ2hMuKx27kMONz-AIbW-vUUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2058-ikYy4sk5XkfW-BsE6igHlc7DPkYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7a4bdac5-f6db-4b5f-a0f4-509688d2f1fa</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2058-ikYy4sk5XkfW-BsE6igHlc7DPkYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="1530" it="0" lt="1530" ct="0" ts="1587564591513" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2055-b81E3eavQiw-c-ZjtVy8OV2vdD5klRxyvetVRWMBngwy2ZiA7MRBDox51LhPI3Our60c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2055-zlDZ6SCR01EVmucHDEQFrHxgCRkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9141074e-71db-4403-8475-d4fc76f694a4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2055-zlDZ6SCR01EVmucHDEQFrHxgCRkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="691" it="0" lt="691" ct="0" ts="1587564592353" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxNi14Ynd5am9jUGFOWGZJUzRERWxQd3dOblcxeDJzT3NMViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aV4RW8wqL_xlmS6M3SC0Hwl-FSiT8d_iPy_asjww4JWnDL0I61HISPk8f0NoLtpYHDlZhm3D6F00tNUjvhidXaDMz88pBM6dTBAm_VcOsQayUJ8KwNGO-VMkkbIqkKrYRgllEszjoyfDqa__RloINHNvcvmGtJlABCmfTuMM_UAFsVr1Xb0t1rKVIBewDCLDjx5ful-jdMKa2Ck20ZAJzEMsrgsz1Mu9rb_dO2fk7JkgBibIKbjr31DcM5CgcGs1uA5G8zscJ1jAWzMKqWuLiML8mXBkh3_dPQEm_-WoUZQnl4Y1_hDdLvJZPZ3BR7L0NQkZIMnXNE6neo4-JGYpUw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDc4MGQ3ODYtNzRjNy00MDI5LWEyODUtZmZlMjBkOWZhODg4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxNi14Ynd5am9jUGFOWGZJUzRERWxQd3dOblcxeDJzT3NMViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aV4RW8wqL_xlmS6M3SC0Hwl-FSiT8d_iPy_asjww4JWnDL0I61HISPk8f0NoLtpYHDlZhm3D6F00tNUjvhidXaDMz88pBM6dTBAm_VcOsQayUJ8KwNGO-VMkkbIqkKrYRgllEszjoyfDqa__RloINHNvcvmGtJlABCmfTuMM_UAFsVr1Xb0t1rKVIBewDCLDjx5ful-jdMKa2Ck20ZAJzEMsrgsz1Mu9rb_dO2fk7JkgBibIKbjr31DcM5CgcGs1uA5G8zscJ1jAWzMKqWuLiML8mXBkh3_dPQEm_-WoUZQnl4Y1_hDdLvJZPZ3BR7L0NQkZIMnXNE6neo4-JGYpUw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="692" it="0" lt="692" ct="0" ts="1587564592353" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3MS1aZXRUY1VIQmRjNHk2U2NjNzdNdWs3RWZEeGx0Ym1kZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WfeEtAADq7g2mCe9iTUkTaeMNIfzySgNmsqdOHbCGri_BgTYxBd5yaXMRn4fUfq5-8JADj4PS9CkcIfBIMireUMpNdnNrcI5bDiQTHGZjySP4lDckXRpU8SK3_PdoKStXtN2Lfpq-KSfXANmxJ5w3j-i4kzsyeMRWxeoWecbTvOA2fUzDGHI_cKgBQ269YwawKBjUnudIm5CfI0nbXWOr6uhZ9ULxYx357OyssQNv_-m8QJ6xDSpObHGMEf4Co7x39F38rQCbHPeltqt9ry6wFOqCKRuQK79wWftjlaGX-kk-d6QNbUPuxzYO1kh1GaT6riL2qCDheWBuFKQyVePsQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTkzNWI1MWEtY2E4OS00YzAwLTkzODctMWQ2NjA1ZDVkMWRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3MS1aZXRUY1VIQmRjNHk2U2NjNzdNdWs3RWZEeGx0Ym1kZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WfeEtAADq7g2mCe9iTUkTaeMNIfzySgNmsqdOHbCGri_BgTYxBd5yaXMRn4fUfq5-8JADj4PS9CkcIfBIMireUMpNdnNrcI5bDiQTHGZjySP4lDckXRpU8SK3_PdoKStXtN2Lfpq-KSfXANmxJ5w3j-i4kzsyeMRWxeoWecbTvOA2fUzDGHI_cKgBQ269YwawKBjUnudIm5CfI0nbXWOr6uhZ9ULxYx357OyssQNv_-m8QJ6xDSpObHGMEf4Co7x39F38rQCbHPeltqt9ry6wFOqCKRuQK79wWftjlaGX-kk-d6QNbUPuxzYO1kh1GaT6riL2qCDheWBuFKQyVePsQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1003" it="0" lt="997" ct="0" ts="1587564592043" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-11" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzBlNWM2M2MtYTY0Zi00ZjFjLWFjNTctM2YxZDIxYjNjODk3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwOC1iZUNBRC1qbDI0ek1GdWtPd0NKQnVkeG9wemxVUWg0SiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NXUxU2oCLkyoyG3CjmJ7IAMZaMjzPI2hXXsonAu0E1R0cNDMICCalbJrrnW2eA_EVFwveny6E8W4gSCWeGyaTYMi8dWX8mVnxF8-40qS4oNeJmliBBo5vx68u0NgQOleH9xqcCzZ1hRXbl2g3tL6qr4u5ND2W9fePSQQJQAVoZGBvsUA6rQIXFLkw1U1r7QmXeiE9Rrea4YPiJkIjJY9LI8nb2NzVMmoQw60XJbfd66t56zI8vy3Y08Yif9bA-K1aw8hAWzlF3R8A3yCA-wNkiNp36CBbaZRTBxvH174HCbecCqBI78uuGPdzvlnGUG721zYkColv9lZpjYfsLlDEQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzUyNDAzOWYtYWZlNi00NTM2LWExMWEtNGE0ODRmZTcyMjA1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="693" it="0" lt="693" ct="0" ts="1587564592354" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxMy1kU3BJMVdaSmVzTjNUMnM1QWtGbjhwQlFwZ2hLSE9BVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.e6ceWlr1feEa6dGvnGMsXMdWih0FsotbHsQTU-SI0jnZUf83pxVAtXMXaT2FD3PsJ-xjSKE-IpPRyAdAlt2ZOdCGUtKYxzNfDniAka0FyNKkcN7QAwNj0QuwGvoyh-w6cAcuMeRtnldpSvhJbyEXfp--fD_-mofkUYqcl8o6RBso62CiF-GB9uiMaRue24sfLCujn3duZHjf9tO8nzBTmdlDusLXEPtzy8YEO93FyYh0piqF2ACKLA28kZwTxQCkSSvFjEu5qXJvz3q_dvWinG0YIELkvqRBKh7AbKqRknxJf02ghKvNVnPOatzot_D5-APsYqnpwgrbXWt-s64dTQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGNkNzM3ZDctNzFlYi00ZWY1LWFjNGMtZjg2N2U3OWEyYzgz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxMy1kU3BJMVdaSmVzTjNUMnM1QWtGbjhwQlFwZ2hLSE9BVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.e6ceWlr1feEa6dGvnGMsXMdWih0FsotbHsQTU-SI0jnZUf83pxVAtXMXaT2FD3PsJ-xjSKE-IpPRyAdAlt2ZOdCGUtKYxzNfDniAka0FyNKkcN7QAwNj0QuwGvoyh-w6cAcuMeRtnldpSvhJbyEXfp--fD_-mofkUYqcl8o6RBso62CiF-GB9uiMaRue24sfLCujn3duZHjf9tO8nzBTmdlDusLXEPtzy8YEO93FyYh0piqF2ACKLA28kZwTxQCkSSvFjEu5qXJvz3q_dvWinG0YIELkvqRBKh7AbKqRknxJf02ghKvNVnPOatzot_D5-APsYqnpwgrbXWt-s64dTQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1769" it="0" lt="1769" ct="1" ts="1587564591277" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2059-8dbYkagu7OWtzOxASBPglR3KU74yJTMKq8dDHkGLhcKcruHeUubzYjeln7-hhdFw31cc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2057-5nzlJ2vlVWlxGnzATsWeVvlM6FEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=db58573f-b4f2-480e-ad64-73223f7043d1</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2057-5nzlJ2vlVWlxGnzATsWeVvlM6FEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="701" it="0" lt="701" ct="0" ts="1587564592346" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0Mi1OQjJKNWNBbHVPTDUtRHBOV2RMV242NURtOVdZdU1qeCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gkORx1hWZ1nj9k4DExwE5wADAJFnavOb2VuvCKe62Ez2AjU4TAPt8-g06e-c-WuG_Dkctz-43ecHgtBNdAqm8re0SA_ruU3VQak0hrs3oGOMgbc8qj6Vx6XITcTE0nKXcH790n__ZubQ1zahkkaLEDyHTA7E9LRXzs9vgTrJA0vJxiIcHA634ftoWiIqAoVX_Pwv7qnlq8xk6sxgLMkDzaUSCoX_KLWGSbWdAMUWu7DfBAEsS1yzAPOAW5bsH7u7liF-RZfiptFgrqm7u7salD1K1l4WSqYEthc9ufufqlIcySkUwu4jv6gtkTYbGKvLLgFq3-nGe_wLv2K3MZT1Ig
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDI3MjMwODAtNGFjZC00NjA5LWFkMTEtZmUxYzE1NjE5OWJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0Mi1OQjJKNWNBbHVPTDUtRHBOV2RMV242NURtOVdZdU1qeCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gkORx1hWZ1nj9k4DExwE5wADAJFnavOb2VuvCKe62Ez2AjU4TAPt8-g06e-c-WuG_Dkctz-43ecHgtBNdAqm8re0SA_ruU3VQak0hrs3oGOMgbc8qj6Vx6XITcTE0nKXcH790n__ZubQ1zahkkaLEDyHTA7E9LRXzs9vgTrJA0vJxiIcHA634ftoWiIqAoVX_Pwv7qnlq8xk6sxgLMkDzaUSCoX_KLWGSbWdAMUWu7DfBAEsS1yzAPOAW5bsH7u7liF-RZfiptFgrqm7u7salD1K1l4WSqYEthc9ufufqlIcySkUwu4jv6gtkTYbGKvLLgFq3-nGe_wLv2K3MZT1Ig</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1022" it="0" lt="997" ct="0" ts="1587564592044" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-93" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzNjMmYzNzUtNWVkYi00ZmY5LWFmOTAtMDY4Nzk5Y2QwYjQ1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3My1kOTRJM0JFMkNKWFpVSlFET3FsaFJPOVkyN1lRTkNRLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.I2QKgadphzrUfpr7-UT6EacgfiZnB5oAA7lNWEB9MaIA408qMUT2WnXmKixsDjAfnGCnqriV6WF94_xGF28gzwJZCoDS75bPOCkA0_dOnCy6B8zSJ47PjbhWxpOyGFw7FFD2Qq3OGauJKPou7soZIKxdHpPI7EfObAGU0ZMJOEDWnvhxh5Be9bgMwErqLQR2uy2zPZxWd8D2Lt26-S-5fq0GNC8RG1WlBXlm__UM5rD_QiAtuzZpDhhcnJ1-B77168YoMw9G20x6-pDsDkbRfIXHXtcasI7dtLfQ05RH9ZcUb1AGCueR51jSOOKfWiPo6QD__af1a7kIiqEBTb73LQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTJmZmYyOWYtZThmZi00MjliLTlkOTYtNDU5NDU3OGU4YTQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="8117" it="0" lt="8117" ct="3" ts="1587564584949" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTAwMTQ0OGEtNDc1Mi00ZDM2LWE0MWUtYzU0MDNhMDQyMjUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2032-N9OiP3JGnh-5YmpJjfDhhxvJBHUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1230" it="0" lt="1210" ct="0" ts="1587564591836" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-15" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDQzMzMxYjMtNzZiNS00ZGMxLTg5NTMtYTk2MzM4MGRmNjY4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwNy1RMFFjQUhiM0hKbnRoQUFlYy10bS1jcS1pY3RlWDdZdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Gv54ucpJvcOq0LQst9_DhWFYrz9IV046XQP_ihFdnxAABHpKwt36ESSA0Dz4hHO5toQxkntbhM1AN6iDLjvrgInd4d2-2G6Wok8kHCYwrdXhHwYXaA9p-ULwEXBN5FLHUmYCv-3vEmg67TyR_p5D-AsPGmfy17iP_EhubmCf-fMreDZWN3ZsrJ8OHbNbStGSKyquq8oBVSlUzvzVRoANw8LDVRas4QP-oxhDVAZbyU7j-OqorS7DxIBpftJ-R7afP5BqEfec8_lohz9j2YKpEvlk5nH2SZPlJFakFWu9urG5RBsqsL44VFKFEDrzKxyupJqR5TXNT14fE9hU3qN9lw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzQ1Yjc2MTEtZWUyMS00MzUzLTkwODctNWQ2Mzk1ZWI3Y2M2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1162" it="0" lt="1003" ct="0" ts="1587564592043" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-99" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2M5MDdjNWEtZjQ2My00OWRiLTlkOGMtMDNiM2E4MzU3OGM0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY2OS1NUGNZdEhvd2h5VS1ueGRUbzhMc0RtRG0yRWdtUHRlSCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.i4ldlXRZTq7ILlkixR7A-eHNh8GJTO4QErMRik4PwEGExlnSmr_vOpIBCP8_g5SCbL6aelyYYjfIxrE9zO1VcaWVJS1NKaL1HYujD-MaWuYh9Og6hEL9KvWVoOfcRzKqVT6UOmO2M-tO4ZrDrF4OdYhoJryfsOGyvhAO6GuZWcoKbou6-pCPPq89W9YiCAjgzfXgsI5jvv_ipkU89eXrL93GUhPZri9bPEdBQtDoxW276rnKNv_ZUwb7lEQ9DG6Yc_S8g7zuMoBdekyUN_lln453KX-PQnRwKd_2BKVoUGhIcM8dwtgaRTnJKyXLXSzqO0HVRDAilidoGfsM54TvUA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjNlM2RmM2EtMGNhNS00MTZiLWI3OGItMDYwNjk1MDNiZWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="847" it="0" lt="847" ct="0" ts="1587564592359" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyOS1WZExlWXhsSGFoaWhSNmFoY2tVenJsVk9yTVV3Zi0yRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ljoJocqEaNhsHrCZBDajiFsvGwr-tJne4pTF1mtS9b25L3E_XZUXTYd9GuZkHJ2W5tkwCSx6dxdddkByfy3JK5Kdf_hxcuvp7Tew_yUPmmQH9XeA9Je0F2017WN_vvcIsi64VdMdtpWM12d83uzk14_vZO1g2-nY_DdpxhdtOxV6YsTm82PxpjLo2e-cHZQNKPTojYYDyhT1nNWsvDeTGp5mwJu4vNXPmog1bKnAXe2PtNN3496WV79L-OkhWPWDjtFCF53-_EuIaOkXi2T_nrslN-UVAu2_waXUR4BAGXqE6YXk4lcrLCqdWgLQYKTKfDU28Crd6MOB3I3lxXFPNQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2Q3MzllMTQtZDVlNi00ZTMwLWI4NmItNTNkNGI1OTdmOTBh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyOS1WZExlWXhsSGFoaWhSNmFoY2tVenJsVk9yTVV3Zi0yRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ljoJocqEaNhsHrCZBDajiFsvGwr-tJne4pTF1mtS9b25L3E_XZUXTYd9GuZkHJ2W5tkwCSx6dxdddkByfy3JK5Kdf_hxcuvp7Tew_yUPmmQH9XeA9Je0F2017WN_vvcIsi64VdMdtpWM12d83uzk14_vZO1g2-nY_DdpxhdtOxV6YsTm82PxpjLo2e-cHZQNKPTojYYDyhT1nNWsvDeTGp5mwJu4vNXPmog1bKnAXe2PtNN3496WV79L-OkhWPWDjtFCF53-_EuIaOkXi2T_nrslN-UVAu2_waXUR4BAGXqE6YXk4lcrLCqdWgLQYKTKfDU28Crd6MOB3I3lxXFPNQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1163" it="0" lt="1005" ct="0" ts="1587564592043" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-36" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2VlMTViYjUtZjM3Mi00NzlmLWE1YjItOTA3NGIwNjBjMDQx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwMy1hOTdjc1V5akhZZWxjTE8ycEtCd0o0SWRwVHNHMWhXYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.mFd_S-BdwF0C7mGgunfcuJDQn3UAHxKAt0e5r9TyvZZJzhoQNJ3lYkDK-FLerkhOSjtFFguUqzDH3zgGM9exDqFWpdik5EQjQqpYBoYpRYdxpQQ0tmFyW2PHN1NrvcpDE-GChBqzhZNtj2ZFqroFo7uV-1Pd3fTOPuOlymu4UxrzYV2V9mXS7CoYrSnbOnn3vLN2LCkoA20LCsaRXz21TUOyj6XtaFsuF8UrUbtlwGXTkkCSF-ov5Tr4HES0s6Kxi46upeVFqKz7ueYw0bL3ffM-qUXPxSzaGE0VfcdodsATdPRGIFOqQSoEEDMiM5g_tawVKIMKGTD4UhggyKsceQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=M2U3NmY3MzQtNmQ3Ni00MzAzLTlhYTEtZWJkNmI1ZjczMThk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="851" it="0" lt="851" ct="0" ts="1587564592356" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5Mi1qZy1PanVmRUR4bnBrNUxEVzRYakFmUWVqaHRLNVh3byIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.phDQ-XpCYtVejnRWv57_sUEJnxt5OUWafHLMaiII0wfF8jNW-wDhiU-VlXQ7r4NJT_W4-3w4dFCP5ZEkAB7cuWcX5r-GAxuAcPYyNtVDGimmLxQGiuPFQVGtpXLDFgJAtQnWoj2AlljAUM_QKTo6qu21_ARpxD6YnSzIh9qIuzY4Ecu-jh8XsdXHDYDp9JuW1dYb-oLgL0GGj0kBwcQncTGBSzRCQovZCqTT-2DjtGWfdA_XO73UkcABRpfiCSLRGjaca3civMEEGw71qRKe8J-2V9OSZ7d6LDD8MjQSLwG7u_vAr99mH0tc-loUe9P4wVCyrTMZgcoGPbN3D1_jzw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDA2NGNlYTAtNzhiOC00ODZjLTlhYjctMDU2YjFkMzQyMDQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5Mi1qZy1PanVmRUR4bnBrNUxEVzRYakFmUWVqaHRLNVh3byIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.phDQ-XpCYtVejnRWv57_sUEJnxt5OUWafHLMaiII0wfF8jNW-wDhiU-VlXQ7r4NJT_W4-3w4dFCP5ZEkAB7cuWcX5r-GAxuAcPYyNtVDGimmLxQGiuPFQVGtpXLDFgJAtQnWoj2AlljAUM_QKTo6qu21_ARpxD6YnSzIh9qIuzY4Ecu-jh8XsdXHDYDp9JuW1dYb-oLgL0GGj0kBwcQncTGBSzRCQovZCqTT-2DjtGWfdA_XO73UkcABRpfiCSLRGjaca3civMEEGw71qRKe8J-2V9OSZ7d6LDD8MjQSLwG7u_vAr99mH0tc-loUe9P4wVCyrTMZgcoGPbN3D1_jzw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="859" it="0" lt="859" ct="0" ts="1587564592348" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyNS1EUmhEODI5ZmxTU1VBRzMtNlJ2N3MySmIwb3pNYnFTMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oie7SB145gbB6ys1nHfDnWTG5fqnDvlxQr-o2n8XA7KSyrV3V0i_EFllVlbtKxMjlHmnd5AKR_GA-ECyp9JljueIxKWi6iBv9P25OKRYutgA3R_Njsf98X57fUDvse6p6jRTsqnzV2xM2IX7kcjsJbinU0fPpjRuUrVfejym4Q_lEwSRJgM16EWyBcbeYv7RuQtogJtqqCAr_AwVsebwiLpfzdtHsCYzi-xAm4M-99s6UqVabAYqgRU09aa2Lu6-OXdS7BkMbMdKehimj_RlQagBD_oPS81ZTbcQu0BGmbcxjBXRsDhx236zcq3Qwayl4ze53bOnEqnQwmXDqS6jAA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODU1NmEyNzItYzY5YS00ZWQ0LWE5MGQtZTc3ODFkYTljOTUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyNS1EUmhEODI5ZmxTU1VBRzMtNlJ2N3MySmIwb3pNYnFTMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oie7SB145gbB6ys1nHfDnWTG5fqnDvlxQr-o2n8XA7KSyrV3V0i_EFllVlbtKxMjlHmnd5AKR_GA-ECyp9JljueIxKWi6iBv9P25OKRYutgA3R_Njsf98X57fUDvse6p6jRTsqnzV2xM2IX7kcjsJbinU0fPpjRuUrVfejym4Q_lEwSRJgM16EWyBcbeYv7RuQtogJtqqCAr_AwVsebwiLpfzdtHsCYzi-xAm4M-99s6UqVabAYqgRU09aa2Lu6-OXdS7BkMbMdKehimj_RlQagBD_oPS81ZTbcQu0BGmbcxjBXRsDhx236zcq3Qwayl4ze53bOnEqnQwmXDqS6jAA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="856" it="0" lt="856" ct="0" ts="1587564592351" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2NC1Uekt4YTNBWEh1TGFFemZrWjYzczBmY2JGMzQ3YmFhUiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.INcgQGI6caTzeNVHfZPQnCcvAKROk4j-zfNGJrLQRkGZB8a9HSsYE-cZmhwk739_gRS1B2bbyMFwp2BbXAtbobiIg8xF9XBK8I-gN9AG87IWVPOXeRFjK6GFZjhXX_yRSx8s6YT49DildXCosh12Mqdjx_vwl0yUIf7dym1hwG-hgVS5vIX7frdyRDMAnHZGwn0XWUUjw6p3IoMQD7vHeO9k4VjYLJpYDOzXHVrY-cxPcmuA7CpKwx3rjYn5-anNc_53VRXsbpAaaaCl6qABaAnDtFvP-ShH9uGG3paZE9P9rgP3a7ATZW_F_ZthmbbygW9okgzyNkqGebN63K3P-w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2EwMWE4MzQtNDY5My00NWYwLWE0MDktNDM1ZjVlOGVjODM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2NC1Uekt4YTNBWEh1TGFFemZrWjYzczBmY2JGMzQ3YmFhUiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.INcgQGI6caTzeNVHfZPQnCcvAKROk4j-zfNGJrLQRkGZB8a9HSsYE-cZmhwk739_gRS1B2bbyMFwp2BbXAtbobiIg8xF9XBK8I-gN9AG87IWVPOXeRFjK6GFZjhXX_yRSx8s6YT49DildXCosh12Mqdjx_vwl0yUIf7dym1hwG-hgVS5vIX7frdyRDMAnHZGwn0XWUUjw6p3IoMQD7vHeO9k4VjYLJpYDOzXHVrY-cxPcmuA7CpKwx3rjYn5-anNc_53VRXsbpAaaaCl6qABaAnDtFvP-ShH9uGG3paZE9P9rgP3a7ATZW_F_ZthmbbygW9okgzyNkqGebN63K3P-w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="856" it="0" lt="856" ct="0" ts="1587564592351" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4NS0tNlRLYXpRdFdScmg4OFlCNUZESlhENHBRZGV6Vmp5bSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lWggZ9qR_v088PzLVSec66oPnmxuEwJL5aWbXP3epK9FZChCklZjaJBNdTmpGXJqX5jkHT6ceAm6hoMbTVSjYpobIRbbwOIBoZ75dXfSROlDptvp4T8MZO1qmAUGc0_AHAAK89HarbxfinPVDaXV_eViseSQlYUP-NeYnTd64Mhg-7EjIsezUdOQjMIPDG-TdZVl8rIuF-u-vGe7zgCmN9Y7StFk5AAvrTFhjDOsmDul4wVFsRO_uDUjE1U44PJM7O6cxX4GfPo4MzteX1w7n6b0mX4Z-7zzzQcUkKiiwFKEuaqkLhcxcdfEoizaujN0_pDrq4vUNn-l5DGrfAejOg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTRjMmVjY2MtNTIwYS00MTlhLTk4ZmQtNjZhZDBlYjVhNDhi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4NS0tNlRLYXpRdFdScmg4OFlCNUZESlhENHBRZGV6Vmp5bSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lWggZ9qR_v088PzLVSec66oPnmxuEwJL5aWbXP3epK9FZChCklZjaJBNdTmpGXJqX5jkHT6ceAm6hoMbTVSjYpobIRbbwOIBoZ75dXfSROlDptvp4T8MZO1qmAUGc0_AHAAK89HarbxfinPVDaXV_eViseSQlYUP-NeYnTd64Mhg-7EjIsezUdOQjMIPDG-TdZVl8rIuF-u-vGe7zgCmN9Y7StFk5AAvrTFhjDOsmDul4wVFsRO_uDUjE1U44PJM7O6cxX4GfPo4MzteX1w7n6b0mX4Z-7zzzQcUkKiiwFKEuaqkLhcxcdfEoizaujN0_pDrq4vUNn-l5DGrfAejOg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="853" it="0" lt="853" ct="0" ts="1587564592355" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwMC1uakpNLXFLODlWOWNrc2stZkRCUHJwYnVIUThwNXVJWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GudKxXrX8UqdGyyOcnkTSdemSf_jZal7PDCnndT73vrxsQRY4A77lVl4vVfFp6nYyQGwqOjrbI649lJFoRuNYeScJe2s9CFOVUuUnJKcU6_HZE8mSktzkPuH5u3JamiuSvLnwLK5PDEXF8VDo9WM8YPCl4pE5CWe8znTXVBLtfWkrQmb8JJ4Awmv7woGXiTTwjm9lGKu5Y1oI57fcjnXeGbDum_diUNfCiHySJoocCDIKbe3Y5pDIeNug7z1VtfHFwie0TW_gS2vFDy_F-qN7lBnSvP60CaHQFrDq2TWYLpe6apLtd8Cys6iyk4qsvv8chhDnNH0KxLmweQaXv_DrQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmY0YWRkZGUtYjNjYy00ODU4LTg5OTMtNTE0MDNkMjFiMzdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwMC1uakpNLXFLODlWOWNrc2stZkRCUHJwYnVIUThwNXVJWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GudKxXrX8UqdGyyOcnkTSdemSf_jZal7PDCnndT73vrxsQRY4A77lVl4vVfFp6nYyQGwqOjrbI649lJFoRuNYeScJe2s9CFOVUuUnJKcU6_HZE8mSktzkPuH5u3JamiuSvLnwLK5PDEXF8VDo9WM8YPCl4pE5CWe8znTXVBLtfWkrQmb8JJ4Awmv7woGXiTTwjm9lGKu5Y1oI57fcjnXeGbDum_diUNfCiHySJoocCDIKbe3Y5pDIeNug7z1VtfHFwie0TW_gS2vFDy_F-qN7lBnSvP60CaHQFrDq2TWYLpe6apLtd8Cys6iyk4qsvv8chhDnNH0KxLmweQaXv_DrQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="853" it="0" lt="853" ct="0" ts="1587564592355" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5Ni16Umdydk9HaXV2d0phYnlURzdERmc0SVctVFlxdTh0eiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.p_rUAAyAy5NIFYokDMvqmVxlyJrWeAp5Zad9MaDhammYkKzmJw_bmVz6hKUb2ipDF6k5npz4dSN992D6Aygy0qDFfgBW6yBYykK7usM1unO_rCXZZDDw7v1P-CJtgY6XAYXXayLdngDMckz197Ddr2XIR1JMGuTPsJeeBr0Qno5ZedbRGWljVUJjMVibU9Qc5wcVw5Darkcp698LK9f_qODPQkWyPNkVIL35h1Gge6zwkMzW4EAq-1uS6MMi1D3EDiy6YF30X88veNfLL2FbpQ3idDKaekjyB4yKwW8Id2mcw_zrkK-xyL9yvSWeZRiWszk0kshOQUod5oDUIrxC6g
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGRiOWI1MzEtOGFmOC00NzI4LTkyZTYtMDY1NGQ5ZDFhN2Rm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5Ni16Umdydk9HaXV2d0phYnlURzdERmc0SVctVFlxdTh0eiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.p_rUAAyAy5NIFYokDMvqmVxlyJrWeAp5Zad9MaDhammYkKzmJw_bmVz6hKUb2ipDF6k5npz4dSN992D6Aygy0qDFfgBW6yBYykK7usM1unO_rCXZZDDw7v1P-CJtgY6XAYXXayLdngDMckz197Ddr2XIR1JMGuTPsJeeBr0Qno5ZedbRGWljVUJjMVibU9Qc5wcVw5Darkcp698LK9f_qODPQkWyPNkVIL35h1Gge6zwkMzW4EAq-1uS6MMi1D3EDiy6YF30X88veNfLL2FbpQ3idDKaekjyB4yKwW8Id2mcw_zrkK-xyL9yvSWeZRiWszk0kshOQUod5oDUIrxC6g</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="850" it="0" lt="850" ct="0" ts="1587564592359" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY1Ny1yMnNyWldmc2ZYNXlncy1BNzdYeU5EUllQZXJIYkVwaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PfkpPWsqsFfkztMadt1BY5R5ZsWbk14f57WgXpj0DOQquh0a5Jy4bA3AxHM7jxwNGVxKZSIqCEBCtNmuTaS0E17Y6ZPsm9OcdFrHx88WkQsJjLYNv6i3inqfe3mMceMJ6hZaTLMwAIhpuqbPrtAbB1e1lT3ZftUhqXIg_xPARRTTKfEXfAymaTSVNEE7grNB6UPBIRQcFuWdo18SFWEHQIEV5JAIguvV_cz2rLQO-eCpsRfXNzhcQqF16iXmwBi2fxzh0eJNOvne3WAJe2T3vzNASmxsL7VnIIoYIDsLPWvx0-5jXA5egHIL-82_8vogsRTuyW6qlsesjWTN7xYvUQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTllZTJiNTAtNGI0Yi00M2Q3LWI0MmQtYzc5ZjNkMzJmNzQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY1Ny1yMnNyWldmc2ZYNXlncy1BNzdYeU5EUllQZXJIYkVwaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PfkpPWsqsFfkztMadt1BY5R5ZsWbk14f57WgXpj0DOQquh0a5Jy4bA3AxHM7jxwNGVxKZSIqCEBCtNmuTaS0E17Y6ZPsm9OcdFrHx88WkQsJjLYNv6i3inqfe3mMceMJ6hZaTLMwAIhpuqbPrtAbB1e1lT3ZftUhqXIg_xPARRTTKfEXfAymaTSVNEE7grNB6UPBIRQcFuWdo18SFWEHQIEV5JAIguvV_cz2rLQO-eCpsRfXNzhcQqF16iXmwBi2fxzh0eJNOvne3WAJe2T3vzNASmxsL7VnIIoYIDsLPWvx0-5jXA5egHIL-82_8vogsRTuyW6qlsesjWTN7xYvUQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1167" it="0" lt="1005" ct="0" ts="1587564592042" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjA3NTk0ZWUtYzFkNC00OTlkLWJkODgtZTBjNTZjZmRiYTYw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyOC1vLUtxUGxhZzFDeVI5Y2EzLUFZQ05VTzgwNTQtRU9HdCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GeujGXQzzUAAo4mU7QOnJsjjQSBPJ31CTx7wso7VyoTy2J-rFtT1N9G3knPgWRDcSEx44JVwSoxg1NnqV_Z3y7RpSFHAIu2OHYorG6A8X3c93oZtAOaendNgkTzOrFeNwBENlbfIp2yre0U6-T5OMr4CEKDGK4fTX6hqgvhImCNs3e3890z8eYuiJI3YwCX38ttn-nDcejb4mSzCU055qXq9UI5MICXRpyelCYtuDiQavw8ZfAdYgVF6O5nywSzQ70x8XbD3hM7aDsXxocTTTpuFTe6AhrhWKqgZZavwfUBBQLHO6i0ThjmQAG4CI8peDVE5YBgIG5nEUaF60bVIOA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NDlmMzJkNmItZWE4My00MGNhLWE5NzctYjkzM2Q3MTEzMDM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="850" it="0" lt="850" ct="0" ts="1587564592358" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyMS1XbzNaZnFQaWo0RzU5QVlPUmdGdkYtNkx3Sy1na1NpQSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.G87uWdiEqI8OJ3FGLV5XPi6stnhnbNSV2431y_weu-v_lICzOvVYB7Lh_SMZ03I1JtBmNIp_Yd4MNMdQCUjkKw6qagqLq6IfJXqyflRGU1OXbrgJF1mEwMZ_EDQDJZnhHOzH5xLlvcjbzlaYNjh-te1wvgBfzwJwpOEGm89RzanLsPijMGuBycPyfRSoLEzCG0ckEmOx7khA_4Ec0zsCIh6A4EWJgYnhYgANpCTDxQp0BJp1PAkKtc8P_ljI9tsWAbwNIoIwRKGIRMD1EmSGSrV2sPv9XUAxMX8PwaRcNs-XqL21eREczk22VH9-SDha7_0TMWfCu-96RcwBBpJRcw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OThkYThiMTktYWQ0Yi00NWM2LThmMTAtZTFmZGU4NmQ0OTA1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyMS1XbzNaZnFQaWo0RzU5QVlPUmdGdkYtNkx3Sy1na1NpQSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.G87uWdiEqI8OJ3FGLV5XPi6stnhnbNSV2431y_weu-v_lICzOvVYB7Lh_SMZ03I1JtBmNIp_Yd4MNMdQCUjkKw6qagqLq6IfJXqyflRGU1OXbrgJF1mEwMZ_EDQDJZnhHOzH5xLlvcjbzlaYNjh-te1wvgBfzwJwpOEGm89RzanLsPijMGuBycPyfRSoLEzCG0ckEmOx7khA_4Ec0zsCIh6A4EWJgYnhYgANpCTDxQp0BJp1PAkKtc8P_ljI9tsWAbwNIoIwRKGIRMD1EmSGSrV2sPv9XUAxMX8PwaRcNs-XqL21eREczk22VH9-SDha7_0TMWfCu-96RcwBBpJRcw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="841" it="0" lt="841" ct="0" ts="1587564592368" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5OC1SZXZzNzhwTFFNaVcxRlNscENrYVFqdmpQSGRuNWJMYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dMm8I28VJcKYA8DuzzfehBGB3JHrG4a9kTzs0KJzNDiKaOo6CISfFNpIlB_fvTd0pp3daHVz6JMb4TcVCWmSu7R2rr2McyPiQWINUZvL_6IeEWXJcP4Fho5pbjPlA0EvOve3Fv4Nb6HAJcjZQdW7bVpHiDejCLVSSI1ULgw8xKm-CAR-t3EbumA-kGJU9kxqbDPF_MEjDGvTfQCJdPjqNUS8Fu0DHZA780-bhL0p5aJsEYqiK7a9VUdFDO2m_PKMgBnzUimKD6iEscU9Uxm98tZa4NMQPd5h5Uy0KrhCfrg7oSgJEXhHCp5BBrbZb35ScAAAREZbhK-3rGcBEuuIQQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjBjZTU2MDctMmUyMi00YjhhLTgyNDEtMWQ5MGVhZGFhMDk2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5OC1SZXZzNzhwTFFNaVcxRlNscENrYVFqdmpQSGRuNWJMYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dMm8I28VJcKYA8DuzzfehBGB3JHrG4a9kTzs0KJzNDiKaOo6CISfFNpIlB_fvTd0pp3daHVz6JMb4TcVCWmSu7R2rr2McyPiQWINUZvL_6IeEWXJcP4Fho5pbjPlA0EvOve3Fv4Nb6HAJcjZQdW7bVpHiDejCLVSSI1ULgw8xKm-CAR-t3EbumA-kGJU9kxqbDPF_MEjDGvTfQCJdPjqNUS8Fu0DHZA780-bhL0p5aJsEYqiK7a9VUdFDO2m_PKMgBnzUimKD6iEscU9Uxm98tZa4NMQPd5h5Uy0KrhCfrg7oSgJEXhHCp5BBrbZb35ScAAAREZbhK-3rGcBEuuIQQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="855" it="0" lt="855" ct="0" ts="1587564592355" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0MS1iMlhoWW84QkV0cGZ4aDMzRkoxV09obTQyZC1QR0dVVSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lfN5FetejKt1oGtGLd5Rg_zTDDBNgiG9KoIuIcawwrBL8AC2I0a716ThDR7tjLF4g8g6N1cz98XXSy-138YsEC_nVqUumfZ9gkLVu4TqZjCvv91qERoRMfLnnSIjdYCwwLqVdn0I_3eYR_e-x8LL8yqww8QZdgRtx440uSbVa19k4MIWPsb0qOU1bBPtC96kRPI3Vmeb6tvSfaxcr3WK5n8-QYKXsUK7AO010orB65omA3d6eg3xEjFPqsxZSSo4abLt0Qy5-lOZxTh586nB3bi1ck0aptfoNLGl4hBgizYj_8loOdWk252siNNdQhADmHHg7NgjUX3LhrOp35-Evw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWM4OTdjOGItY2MyYi00MWZiLWI2YTUtY2UyNGJkNWVkM2Qw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0MS1iMlhoWW84QkV0cGZ4aDMzRkoxV09obTQyZC1QR0dVVSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lfN5FetejKt1oGtGLd5Rg_zTDDBNgiG9KoIuIcawwrBL8AC2I0a716ThDR7tjLF4g8g6N1cz98XXSy-138YsEC_nVqUumfZ9gkLVu4TqZjCvv91qERoRMfLnnSIjdYCwwLqVdn0I_3eYR_e-x8LL8yqww8QZdgRtx440uSbVa19k4MIWPsb0qOU1bBPtC96kRPI3Vmeb6tvSfaxcr3WK5n8-QYKXsUK7AO010orB65omA3d6eg3xEjFPqsxZSSo4abLt0Qy5-lOZxTh586nB3bi1ck0aptfoNLGl4hBgizYj_8loOdWk252siNNdQhADmHHg7NgjUX3LhrOp35-Evw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1662" it="0" lt="1662" ct="0" ts="1587564591548" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2057-YdMYr9m3e8a-khDy3JuIh6ndqWuHzIyu6OhB3Xpc16dAON6slnPCmFU5N6ohMUsrn58c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2059-kCw5lVg3MMYwMd8WfdnBaxrwG1Ic7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=95c22992-2830-46e4-b46c-e89ca2c3e240</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2059-kCw5lVg3MMYwMd8WfdnBaxrwG1Ic7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="1283" it="0" lt="1281" ct="0" ts="1587564591927" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-53" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzhkN2Q1NWUtNzEzMi00YzM5LTk4ZjYtMTY1NmUzOTQwNDNm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwNS1BU1BnRFZsRklTdjVPSUJjNnVUbFZnMGNDZGdOOGlzbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Fw8iq3pm5ww--ccIW0TdRaIJcM59aMHvRsriCS_ma5x-MBHmTuXl4hnFHZT-Uhd7ke2krO6UCXGy-XzisY1ulJwFleHrRhstq0w90mSNxj0DY5A34OABGv0agnWdqbOqJ7L2lB1IJg-yWUnQGZS1rUJaPiwZvTpV0CiHOVxHzgz7bM-X-wArYU3y0TKYORW5JS91VSGZaCGqNlZKFDywqVJJ_xOpDuTxGQbKAUxfgFX8ZnEyzoR0WEsQw9x475Lf1qKz9cfQLeqPTsI7fhNqlv7kk0CXycFKIgZ5-277n6XMjvsqdeSZjPbJE1y7Pc7j2X1jShHpamXDJ0LuEhB3Jw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YjQ4ODUyMDItYjRkMi00NTNiLWI0YTEtMGY3ZDQ5ZmQ2OGE4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1173" it="0" lt="1170" ct="0" ts="1587564592038" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-12" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDFkZjg2OTctNTk1Ni00NWY5LTlhZDgtZjUxMmQ2ZjFlZWRl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwMS0ya1lubTV6a0pMV2V2dFBDbzhEay1NVHExLUlmaTZnQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ItKeYknVm93cXgobeyIypmbBXFMS0WZjyvSaRKRn6GjorQTQNwZI3T4RIRDVSiLDGuNKlK1Qt_48wFqI4AihnC-LfU6kgFmu520FOCEkyRaUEcH2JdhUVL7Os30PqrFcfoRDdH8bm6cc6n2f3GOCROnfnxOzC3U3TjA7OaVa1JsG70hiajM7FM07Ib_Mcjrh_JboX5tpRhwO5E8SSekP2Twb6CZAtyd9QuNqtHxPpEquhqhLcyriijrOQMa5IbSEEbGfEbfgPult287-WlX7_3J92USfpkw2orMeNy7IadTTaT-e6BFavrg3xFB80_NNoJMCkoUT_VQQvMcU6dRQEQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MDE5MDY2MjYtYjk1NS00MTE3LWI0OWUtMDBmODcxYTNhMWYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1229" it="0" lt="1225" ct="0" ts="1587564591983" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-84" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTU0NGNiNmItMjgyNC00ZTkyLWI0ZjEtOGRjMjU0NWQ3ZGY5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4MC1ab2JnYlYtMUx1MVdCd1lKWnA5T0lQNlBnN2hUMHJOZSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EwhvqS4XWN03IQT3In0_j8FPjAI3YkubgAnNqh9GUJRCDB-5bTwrXeMVwpskHBtiD4XkvekKjzHgoUiv5v6gSPjir2WUrJy1HZr1uIzBIhKLtocVIzNbS_hlQBNCUHsQdndRZWEa12eqdGohl60m5J1VpHFYhweYIHTkbXQ6z15cJuWbdIZfbyL-bazdPUqX-L8vu4hTy2euGDTPc3ntIOzrAeLxJ9I1FfJgPZbN_FUTCAECEIFQU0oBrLenqF4RWhjK_x-QQoTJZ25X8Gc0QnDMYUJ6LDoaimdnljltQfbdN5OyqE86JNIdQGG_-DbAg-eIuAQbw-9U22HnyvDjzg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OWJkMmZhNTEtZGEwZC00Zjk4LWFlZTQtNzA2OWUzMjk4Zjkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="739" it="0" lt="739" ct="1" ts="1587564592475" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQ1NThiYmYtMzExNS00MWM0LWJlZTItYzczMzlmOTYzYjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1171" it="0" lt="1164" ct="0" ts="1587564592044" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-81" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTgwNGZiZWItNmIyYy00ODRmLWJlN2ItNmJkMmQ3ZjA5ODJh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3NC1CQVVsZzZ6MWR5LTFhWVF0enBTQ3dick5ET1hKd2MwRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RNhw7LRdrCaOSlCICi87z_j82DO0eS7gb0ZMY2vyS7bo6XjQLZ8Zd_SsmF-AGpaTZquSY3sC4q1nlIiajuQEQ_4e07ExNTvn0zWVOp8x17wixmJ89qq6_GZZ8_FovOU8FLLZcL8IE_G7NIWG3U-qsv7lNsBoOwRlDwEVtJdQkpamSGFfPTG86uAdDZkgcHqjxlmxbJcHspvGuOkT_88DeLzXRuJbvikgT7XJbl8-l0XNCDXr51jVO0AYy-1zepR_1S6usQqJ7U_1juHgYrqSlxXu6jelOL7CnacjpuLpbtBynA4ry6RWpe7Jf0sZL7eSupOQqihJTUZA5bqjfi3yng
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OTQyZTRkOWMtNDZkYS00ODE4LTg1ZGEtM2E4NzcyZTY5OTJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1035" it="0" lt="1029" ct="0" ts="1587564592180" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-33" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzU1NTIwNTEtZjVjOS00ZWIyLWJmMTYtYjlkNjExNDUwNWZm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5Ny1OZ2dKUTg4YS03MGROeDFDSXl3V1VWVnZzYU9pcWQxTCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.R2wdREDJahADvUuTGcEHfgH3hvH3BA86tA1Ixulq9_W_lINZ7RD5ZPWt-PTyek3AFhEFd29sLRX5BuMULJaXVF9STnLtwWLHINrFewKfHi4DsU9nRRLI__hA4X53EkZ9QNAdfQdsKMfJjNMutQh5bxGSSo3DRMfMW9noRyYxgET9Q2Eenomnbb3PpGES1i2lmWYqy2dBHbCq5F0nQ2Wfk0jIgvnjb7EpWJ3Jy5NzDUoP6J2xG-6J2CYz2lyMl33t4ruDxzMdxAyNw03hfdTzc5JQ_AGaB53V3XogbK9ek7eImXQN0ApdeBOO2NYd2QAQzNj5ego1qixnL64oOkUf_Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTIzZTViNzEtMzg5NS00ZGRmLWJmMzQtOTkwNmNiODlhYTM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1018" it="0" lt="1011" ct="0" ts="1587564592198" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-44" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTNjYzAwNWYtNjg3Ny00OTYxLTg2ZjctOWQxMDUzNjkzNTky; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3Ni1xTEN3c0NZQ2ViNENOSWE5azNmRjBlZlZvQjFaSy1RVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dVB9-5T50g2v4FUaYrhOxxYEybJfCODHlTohtv53Ze8BizsGB5bzRX8rch3n-YvxlP3ZAe1WCv1L4humEY8sSt5PU4Z8AFYuzet7xkOWoGQNUYq56uErl1pES6zBaWTjfgZhvLgoSnUR5LCP_9lQJ0X2sVsnNejeonKfqSTCZDuuMObpXfJx9AHFFh30gFo22PUvJDh_d1ecwogO80bu3OBle2YYQPdLIAf1Zvx1h3DLOnCAijapQgsh9IwlI0bwtoiUA3vOzOvIAEY5eq5vXUHg-8uBgjVavUr5SxdxqhzkTjtSGjyz2NLUR_Ad26E1prnNWqWZWtJ33-DiASwkNQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MDc3NDY4MDUtMmU5MC00ZWExLWFiNTYtMDM0YzdkNmM4OTVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1015" it="0" lt="1008" ct="0" ts="1587564592201" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-79" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2M2NmJlMmYtODZlNi00YmYyLWI3M2UtOWEyZWIxN2E3ZmNi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4NC0yZnE2Mi1VUjlRbXN6OEJGN3ZBQWUzanVqT3l2U1pFbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QiJ8S70-2VOFQymxwU970pJ5OnJrvZw3Qo1HgwdJKgpm1emU_Yodx9UrAVfYNJwhD9irFA8jcWcfOLi68TbiDVUoMruByXgfKwulHwiAUIzZfMvPIh9Lht5XXuP8ELsRKazWbKOTl8X5q0xWljksZU_9jnufT8yLalPz0p7L7K0h_rwl1EenXcSeB1zqCvujfEzf7MRuwQG0zPbOKyZU5_oglybQLPPJfw446-9_cwS38LepG4IYofXBao6OXm6hH-UPnWi_exc3y-w-TQFt0osWzwF4yYwILt0Vyquon0OiE5SOYkDD_hU5tjk2NsmkJHZ4ekUEWYQbc57WWiebVg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NDM3MGNkNzEtYzkxNS00YmZlLWI5YmYtNDM3M2EwMTYwZDg3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1177" it="0" lt="1171" ct="0" ts="1587564592038" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-96" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Yzg5MTViYzEtNWMzNC00ZGM0LWI2NWYtY2QzODg2NDQ0OTc4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxMC1lU0pQcG1PUGFDak9zQS1hVEtrRG9KWC1jLVY0Nmw4cCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gUSjcXp9pn39w4WBUPZFa4d8fPRbwSmm3WsHc20RoSogytof36hADIaIoUCUjE0DlBiUFVhJszVohwWHiegXPSvjLmcgKDmXIi-X2KI37d_u1gMqQckmts7BIR4iBIA8RvrH9YC-SPqUIeEbYb1o5f8ouOx1jMp_P3Gaaq513ETHyfeAGRla2vsz3TKWjUlBBTH9_70-FV6OXXg2lVrpFmmkDeHpRoVMfVhrj6zvpGxEZM-3NqQABvguCWdgruvWy1O0Uj1sOP3agyzgZ4GQNzyBvoQU5-7IU3FedIx1bgx7Ga8IVJGqCYQsvlGcq_Q0acoa5ic6Neqng8BVlYm5gg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODYxMGVmZmItYTA1Zi00YTZiLWE1MDktMmI5MmYzMjk4Zjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="740" it="0" lt="740" ct="1" ts="1587564592476" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODc5NjkzMWYtM2YyMy00YWM5LTk5YWQtNmJkMzZmMTk3Nzhh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="849" it="0" lt="849" ct="0" ts="1587564592367" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5MC02aVlYNnkzTm5OeGRPWXUxaDRLa3NNUGhkbUwtOGZYNSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.i2nEAC4T-e6bTj-71VXrUkHLKM3FBys-Q2bu8eScBaAu_kHWhPc__-cavHk8NxJqk8ePPYN7OQhj6J32Y5u4-AfVby3aqWGGITsnIWgiE0a7URTKz-BALfc1pM1jOevxMPzdtoYM7tNWHAQMZh6-hL0T0XnqDX3lnT4RGJM0cjElkCsh11asZKI9LK6GA7JfW-EZd1NtpD1eT7LHfXySZmgg71_f8puoBlnvy34EXA_YsxgkZTCAxGS_CQNk6JmYc1egdtK1ilOMBGzfFcXob-hl9ETPiEEaWCFDLe3iZb_926TZy3R8HeI1mSNgAuXISa2PjeMLOkyqSUxWq_JJLA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGZlYmM1NmEtYTdmMS00Yjg3LWFhNmUtYzk2M2ZhY2E3YTQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5MC02aVlYNnkzTm5OeGRPWXUxaDRLa3NNUGhkbUwtOGZYNSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.i2nEAC4T-e6bTj-71VXrUkHLKM3FBys-Q2bu8eScBaAu_kHWhPc__-cavHk8NxJqk8ePPYN7OQhj6J32Y5u4-AfVby3aqWGGITsnIWgiE0a7URTKz-BALfc1pM1jOevxMPzdtoYM7tNWHAQMZh6-hL0T0XnqDX3lnT4RGJM0cjElkCsh11asZKI9LK6GA7JfW-EZd1NtpD1eT7LHfXySZmgg71_f8puoBlnvy34EXA_YsxgkZTCAxGS_CQNk6JmYc1egdtK1ilOMBGzfFcXob-hl9ETPiEEaWCFDLe3iZb_926TZy3R8HeI1mSNgAuXISa2PjeMLOkyqSUxWq_JJLA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1351" it="0" lt="1027" ct="0" ts="1587564592183" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-42" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Zjg2ODY3N2QtNmZiOS00NWFhLTg4NDItYTVkZDViMDdkMjZi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5My1vc0xNLUk2MkU0VjdxUlFKZE82VDlEVnlzOXAwSkkwWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.O22_ZMS2ahv8q2jko_OmGhcwXffT0PuJkzxSj3zvzSc95kxvlnUd3okWIX1kmfCzZY7ucbuye2uPcpUKtniB1SZOGdPCVzpeWBnVcqAaNF2Yw9pHTzoq79UBD44g37xy2VCkj-N8qNa4c9p0HXziZfouIijZVuYzqn-XZU9Lki-tCkuDrnvtlSHK7qipNzwI85e6Sqde8NE0X9u-7fojVt2QnSfm4RlCvQCIP1ot6PqUSWs12oBfQM031H-iseasjSWvzQ66mk4IRr8S3Dk8iwUU5qquPwEn9L4VTFIOooCmoYtITvpTarHyuHuc081j2VBPrFwiJIfjqO1qTRj3pw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MTdkNDdkMzUtYzhmMC00ZmI4LTgwZTctM2YwODA3MTZjZjFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1328" it="0" lt="1003" ct="0" ts="1587564592207" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-28" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWY0ODA0Y2YtZTkyMi00YWZiLWI5NzMtNDU2ZWJjOGI1MTMy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5OS1HYS1iOUFxbjJhdFN3aG5ELTlNUEVDbTVNQnFXNjF5cyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Art2qNu-t0dUzXj_J3VyAVjfmFgOtSn8cxylZCY4WsMj4OfH-9dvRTaMC8gMfB9tUxqjm3vw45GDskU5g74so8kQ1DTrPypAzW8-Vflz8yaqFjoEQDvYfkTpzGwxPpqEJE_jhxeMzZXTMDn6Amd5MU_ANMMNQrKIzZVLG8bb0KcGadd36ts8NsX6SP0IDAV14ODhoyVD1FIVHVud-9Q4JG9zfFRmH3v5shpCv6ZXzF2Q3ifJGz67k1IROXFVEskhXdyVYaTX-_hEtPbRMAzc3s7fTERGybpXEs7My9nmw_KzGFupe5rJiu0Qq4C0LC0qHrSFOt5lL--sBQaBkHW04Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OWZjYmZhMDAtZjY5NS00ODlmLTlhOTctNjY5NmMyMTUxY2U4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1172" it="0" lt="1172" ct="0" ts="1587564592363" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MSwianRpIjoiSUQtVG9rZW4tMTc1MC1BRXNpWXFhZzZYajBhaWUyVVIycE1vV3lqZWNkekVVOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UR64qqARY5Mup1h6wkCJA90iGH0b06zFFhLL2e_MxMC8dyzvUlSt9Tw7pDooNDwZYk7Jz8UvQ2RygAk8TiQfSIuYvscnf3ueoHu6u1Wr3MNOi6sh_-KUIRrrpe3kIYACgQFCvXmq7zF2OOF2p7RYJ8jeTntksbaW0xDfvjSer0xgscPZdsAck1vn4TzJ9tsaBhbHMVe9UOMPIT3oGYUnM2XVFMtltqkyASahn3AUlf7DX4btuyeDc58s6gADhL8tzE-tUCXtUHVSeTEFE1xheGV-dtxMfYZadirHG76zPunQsmVLnoFjnyyn7_L-TxW_xk1TV84GWWLpvqm2frOrzg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Yjc3YjJjNGItYWUwNC00NWZlLWI4OGItZDU5YmRmYjFjODFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MSwianRpIjoiSUQtVG9rZW4tMTc1MC1BRXNpWXFhZzZYajBhaWUyVVIycE1vV3lqZWNkekVVOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UR64qqARY5Mup1h6wkCJA90iGH0b06zFFhLL2e_MxMC8dyzvUlSt9Tw7pDooNDwZYk7Jz8UvQ2RygAk8TiQfSIuYvscnf3ueoHu6u1Wr3MNOi6sh_-KUIRrrpe3kIYACgQFCvXmq7zF2OOF2p7RYJ8jeTntksbaW0xDfvjSer0xgscPZdsAck1vn4TzJ9tsaBhbHMVe9UOMPIT3oGYUnM2XVFMtltqkyASahn3AUlf7DX4btuyeDc58s6gADhL8tzE-tUCXtUHVSeTEFE1xheGV-dtxMfYZadirHG76zPunQsmVLnoFjnyyn7_L-TxW_xk1TV84GWWLpvqm2frOrzg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1565" it="0" lt="1241" ct="0" ts="1587564591970" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-97" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2ZhNGFlNzAtZjJkNS00Y2E4LWFjNTktOWUyODk4OWNiYjQ4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyMC1KclZDYVRmT3hDeC1mcDlWaVd6RC14YzV2Qy1BOE5wMSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TGCx17MZeUqocjYva5nozKb4Y_BUqwqvJIZeC-x73KEZ3TjKHWipGNaG7ln6Q_Va5cOrdNewQF8yHaSxmuOIJ58i0RQhSFfR0zuJ9y46PXRS40_Ey7Gdjf0mrUiuNNZyG1orzI0CPErEuceQtkUYEKxifhBni5iNFH45X70i8XMOLtP4JFT3--M2UHHXiIr1rB4c3KzJdNm2dHsrQtY_BII_ZKnGb_r6Wnp1bcSFbEk_hTeDvZXVCupjlUJtz8x6i1SKip7jz4rzOMGAlB_YEe1-w-TJRV5KMQvn6wDVMHYNjt3zdggVQczOxcVasUMjRoZF-Z3APVQfsyApdPJS-A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTBmYjhiZmQtNTU5Yi00Y2I4LWJiZWMtZmVhZDczMDA1MjAy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1337" it="0" lt="1012" ct="0" ts="1587564592199" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-82" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjFhYzRkMjYtNmUyMS00NjVjLWJjNmQtZWJlMWVkNGE5OTRm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0NC1BdVo3VjI3VEM5cHZCakQtdGJidDZQYUZwVjFhUWg4LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cDNM39_UitUfuTD9D_9sYvrDRWMcdwwsScUb523gkeVgiwI88AulUPS441NWR5v8dPlE7bU4AcRj8__ToFFWwn8O3VyOqFulUAsRSdkyuehUMid_0VKSxCqpAO-7YTShe2kjPaSUQC76H-PIHTDze_m4hZlF2RM83Bs0lUSApACePXS3cjh_WXkzjQf0Yt8CRcX-Q0rLgI7lqjc7-6vasJnchER4faa80eIHruJQqa_2fZl5TIITjLCg01QTofpYcHerrdSUIMyGK9xWPplgBJ1Xfye6qOrWa1xwT1xhHdpPctoX2eUJ3Vmn1vhrfVCjXO5lHgtct1kZfEbKib2pmw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTFhZTFmMjgtNmQwYS00ZTM0LWE4OGQtNWRlYWUyOGJlMTQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="2023" it="0" lt="2023" ct="0" ts="1587564591513" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2061-KC1c8wsDyMKakNBLd3kRoNw0X6CK-xsbwzlWpDMKVHgws1OEdfvrgWzq2y7V1uZpl3Ic7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2060-ymyMKy6T0XxFb1BavkuvaduIXcsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8c948d47-2cf1-48fe-bea1-6cdba0adb0cb</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2060-ymyMKy6T0XxFb1BavkuvaduIXcsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="1498" it="0" lt="1173" ct="0" ts="1587564592038" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-78" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGMxYzhhZTgtMTFmNS00ZTBjLTg2NDgtMGFhZTBjNTAyOTY2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczNS1WdTd4d2dqaWJFeUNiVW9FLWlzLWgyYXFJOVRXZVFDSiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.N8Syvaou_h65IT1NOqSMlc00a56F0LWv8BwY5TCrWbKx1NbxEpGgOxAXys4Y9057wZuLPxWQv8Mfjwyc5Qi4Eru3ol2hx3hNUgbOrBp_QoDSYy0vPMpb6Ep_07YlXMY_Iv3UU-HVHB3OJJ2pJ-3Ct8BPQsuFZdKYKTSJbdJHNLW8JcZ4Z5jEEY2NUmB5qenL_iGe8Mq5nyDz1evFdIR5dOCmHMor3LJBEM_utPyFRUxOXyKdE3NP_GBun4_Oy9AprLM4hDWgtJGPEdSXrhT2VlyNOWeLSig0ooY_b5flltqJJiBBrWmK5KR_Iwp__HkAdNY_PMeUVoCZpuTteF9FOQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NWY2ZWZhYWEtMmZmYy00OWQzLWFkOGUtNDkwNWRlY2UzZjlk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="767" it="0" lt="767" ct="1" ts="1587564592769" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTgwYmJiNGEtOGExNS00MWJiLWI5YTItMDEzNTYxOTE0OGZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="765" it="0" lt="765" ct="1" ts="1587564592771" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTgwNjE4NzMtZDA1My00NjY3LWI1MDQtZjNiNDI1NWY5ZjA3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1499" it="0" lt="1173" ct="0" ts="1587564592038" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-16" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWFkMTdiODEtY2MzMC00YjY1LTg2MDYtZjZhMTFlMjczMWNk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxNC1LaS1yZy01LWh0dFZBcWdGNk9pSjlwRk45R0ExYVZZUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Y8nW-YW5C8azkxPukIGxHcC3Wyd4L9Rr4IdsFwaLZfzD8KLEW_UJRAdQA6kRYeAx4KNI-uh4NiotCikqwxOjvZ58UoMwC-AIWvMRTTq_QyarBLchcinzrrs8QYr71_hne6z33yBmNYN6Djdaka3pZHYtVK78oPzKtfBEPPeif6Kz5okLy92Bob3rjw76hd6m1NcP3b8kd74CwU-0jI9P1l3kOGCKUQJ2q9yw3C0Cu2eqAKORkdIM1zzpJl_hxeJyxyyxa62cAWWN-sft6GldH5LjDdgo2Lu7MeAMXoOkmJs7brDLw66hNLZDgc_ksszPy29UXQCmMSzI9vlx5qBFOQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=N2I4OTcxZTQtOWIyOC00MzYxLWE0YWMtODUzN2Y2NTk0Yzkz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="767" it="0" lt="767" ct="1" ts="1587564592770" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjFhNzg3Y2MtZTg4MC00MDgxLWE5MWYtZTgzNzA2YTJhY2Rl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1335" it="0" lt="1009" ct="0" ts="1587564592202" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-76" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmU0YjE3YjEtMGM4NS00MDBjLWFiMmUtZTc4OTFhNzZkNDg5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwMi1rcncyU3Q3eWJjVzIxeHpWTUEtM3NkdFQ4OHgtMTg2eiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QWRCVWeTfJDc72SZiAwPODwJmjxdFrw0ayWQRr4c3AY3wFkDOMOwH9UQG4RmovikelJaKWIipaPMzFWH8RHyEmAF-UZZlj7n-Fd21-VGJN_czJZB41E1hmDTP2zSOXgHUUPvqEdceaWDFqUm0RZtqyWg1sPJ7lqOuHBj3SvbYk9J96Jks0oWyqeuAzPCjcnPjCcm8FkPv3Ck45w76XiHd4TOLpGovcrrj_8NTQD-ei9EH0_hm23VALmnLiM3NRd_BpfZ5WOuLzSEkHdJYQroWpbauirpEk8Yx0LA7f6NMsBFCqj_d7E4L1uF9LRdk3YyQwaXeUkgCorZ-TM-juMqeQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODhjMGEyOTQtZTFhZS00ODRkLTkzZTAtN2MyODBhZGY4ZDZi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="769" it="0" lt="769" ct="1" ts="1587564592768" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTA1OTdmOWQtYjI5Ny00N2RmLTgxMTQtMzFkNDIxMWRiYTQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1568" it="0" lt="1243" ct="0" ts="1587564591969" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-32" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWU2MmY3MzQtZjYxZC00NjZmLTg2YzQtNGZiZWQ3MzdkZTYz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyNi1pc2ptSTd3OHNmc3U4dUFmYW5QZ1lmU2thVnhNbHJmLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LEZBLw6By6chF_pVotuEj-fvedgA5wQcKlwIHg3r32N9atkxrhBZBo1NiD3XNiilveGRp4rCXQQtm2WGNLcV1cn_kDOvPK3HvbYTyOFP-TdelVZSbShOupZjVEIh0T8MoPO-OS0X8tBMDet5G33G0MZ2L7g42weGZewgYIGNbJHtBaIkPvt0bZAPGhGYKm3wOtATNXH0XeCwPnfHED-daiUDjmtAcEU0XfbSEBYwLnUB_eTwa8WBwcKNKVAXYLImLl9WdsZEsjQY6pTZDykpaFuZaQiWqIfXElCQGrEv-F8cJeR1FyeMLIosu9blAAAW_ulxbnncioklxWDae300eQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTVhYjNiOTgtZGMwYi00OGY3LWFkOGYtN2YxZjY2NWQ0NTgx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1993" it="0" lt="1993" ct="0" ts="1587564591545" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2060-64DBRxRcnWi19YNFc6eCJvZe-aPa88KGmHjRka1YSdOuVyZPgqZj1-oZJtRzvV8lo48c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2061-tM4YZobnAp6CWwkB4BzvnfBe7YAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d9c97634-10b8-4f54-8630-681607af578a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2061-tM4YZobnAp6CWwkB4BzvnfBe7YAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="1315" it="0" lt="989" ct="0" ts="1587564592223" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-61" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzdmMmUzNzQtZjdjNy00NjgyLTk0OWMtNDc1OTg0OTMyNDgy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4Ny1May1HaE9BZU84Z3BMWG9TdEM2cTZ4amdwelhYYjdGTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YlQnLiu1k4JjLY1CbLDOniGtm_BDsoCou3DnJWETMpYJc0JoIrjGS9nMMp3DosQ1DEk-Y9NQCpfeVfYlamdAfnaDT8x_ZoMIx5Cu17Cou8v2qvgekfxKMD5lQgsKU5CT-fi8_nSMpU2OtvUmcBC_vtAVHul4yoylLW5TBgMRp3Q2JsL0FL8xDi1DN7QKI96MEhoOalnXJuuhpVsBkcNTxD7sXbpAg-SjZhTcQU8iZYnaihvN3rN6D_noN2FJNvjYV2KZ1m_TzugJROGkA9qc0MPF31omYmTG2hX0MA6b64X5s90ecuCWfHMUQsRbzIpUCbFteAuSN099U3j5Em5-Kw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MzZjYTRkYjMtN2VkMC00MmVkLTg1ZTQtZjZiMTE5ODFjODI1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1602" it="0" lt="1275" ct="0" ts="1587564591936" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-14" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjgzOWM3MTUtOTA2OC00YTJjLWE5OWEtOGExODc5NWMxMjRl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0Ni1XSnVEa29Hd1hiOFQ1cmNjY0J6bEdmbzR3VzFOZ3RBNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.j_a4qVGQ2qRQhAXSXxejpihM6wgAkIcQi3mRzteuI1H6noQ_BCyw5YJcjN1cXgTOpMymaswiVIYecR86oBU9lTRg-sNqPBVuPawZ_Ho4AoqqkMqnJqR7G1Nv1vsoOlbSL4m9b9aIXFBimb5DjTC8LADvD4SEW_G2yhG4dMJZ1AItWDYXmXzMF3ciub_Q1Bq7y-FB3K1vtoBHY4k0iJjvvZ3ThZHCCRFtRFZqa1u3-nlooXSRIdOvuh0xyW1mT1kfwSTwB63bkntDqWZIFQ8gEUxahCsikqyykDs5VLerLUyhgqwQoDczRU7dSJfGCs8Lw5PaqmtUx1YszKDeZUyJ4g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NGViOWJlYjMtMjg2Zi00OTQ3LWJkMjMtODI5YThjOTQ5NTIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1577" it="0" lt="1249" ct="0" ts="1587564591962" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-83" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTVlNTQzNmUtM2MxNi00OGRlLTlmNzQtNDA0ZGQ4NGE3NDc0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczNi1Cckg2VTFobGdXZmYzbm9DbExpZUJIZklpSTB2SzdadyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TRs4Pl5OLwIw1kw0aqb9bpC3c9E0iGu8X6xQ6g7CPHqlRS07Wb12GrPSuZRiCVHRhEyfGeWjW5y9Gdpc1KyB-5o-YNvjehv3CV-Q5Gyhj7qt_GM0sZ4LqZ4R506E43Zkrz75ZJZsRNz6BGfMEPrAxlWH-SeX9iCxI7huPa9wWQ1N-tIqlvssJ4B7m2KcmdaKkc8jf8jpXjYTTbat2ABAbg9uApDbfvj2__qd5a58tCb4uEuhG1RhX_XhHvZjkDXIhCSQgczpkzmrLKc0kfGSMQbo84YWydU4SCzMoJqVNIJg7XbCVAfuQ9AacTYG_rlebXICG85PY9cIXBVIKLmECg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2MyNzJmNTEtZGY5Yi00ODE5LTk5NzEtNDg3ZDRjNjhkOTA5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1554" it="0" lt="1226" ct="0" ts="1587564591985" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-40" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTRmNTgwNWUtYmJlMS00NmQzLWFkODEtZWU1YTAzODFiMGRl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxMS1kb2VpaWI4UXVHdHZwWGJyTW9zM29BbDVJMC1uZzc4ayIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HBzNudn4tPysEbY5yCJxU0fMwExLgGNW9vB0t6XhMsysKpz70TjpGPMPchpIFvKXqXJVj3RC_41uPG-hK_PpaSAR0aywNrmKSbEEu_GWZOu1zvD6KMdWE1s9vYwNHQeUNENxJ-6RMwKCoTGJb2WY4yipCOxwhcLIrZui-e3c_CxXQ_vz3_AKqyBaVki_DBe09qwmIelXiKz19rOjuzqk_s1yu_2cit5nIcStyLWfM2XJ7isV8n2DeECM9kxMe4rRDV6jxn0F9JKwL5-sXkI9QV-TOWz6i4Cp-VZfg1D3xxEkn3PcjnFTuZoFoox6XfqtZqxRuVmCEGcR0vDro0-jRw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NDc2ZDg5OWItMTY5Yy00MzAyLWI2MjUtYTY2Mzg5ZjNhYTU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1552" it="0" lt="1224" ct="0" ts="1587564591987" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-18" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzM1MWQ0MTAtYWY0Zi00ZGMxLWI3OTEtNDg0MWI3NWU1MDVk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcxOC1ITlVhMk9SejVQLVctQnNiU05UNlNlVHBNbFRyMnY2SSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EQG-pm4Hdn8Z6GQV-OuXYrjMO05TSinsvsla8a5gcjkmhtzMbeJG0Glj3qam2uCsTXjQD8LqbejcTgFn1oDonIBIYUETpClECF4K5do_luO3P8jNzVMr_IAkt2FJhSCNtjHevcO0SJos0UVr54K-6zqo0vlWBpq0dQRX2Bxs6kFB8iq8M15mQGLzh4Oy0eChJEUOqdqQEbU_Wl5GgXYu9pPUmBkjP59XHhh2QvVk5w5iky-oQTm9vZozBxbVfQ-BN7WpISRSbonaA8vbadt09IhMQpXY7TuDb300UBkBQn9-YMRb5k-1i4wR42R6kw-2CTachUNCE6F6kwZjHw_z5g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MjdiY2ZkYjktMWFlOC00MWIzLWI0ZWUtYjk1NTRmMTg4YWNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1552" it="0" lt="1225" ct="0" ts="1587564591987" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-73" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDQxMTU5ZGYtZWU5Ny00NGViLWIzNmItNzhmYTIzN2VmYTY2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2OC1qU2hsa3FMSk5ZZFJPdmM0ZG1RcjNPSEZSU0lHb1gwbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YQhHXpHt1JUzM5os_Mz5tv8YT4hDzY2HwCxg2KAUthibZY4lx-xslNi4vhMRBXnxerHl-6DK518eK2e3EZVuwR1TzMqBuo3m6Xsf2g4D5wqhjNgN_LtjBt-0nnF1S6-VVz6MDXEWLfBTqq_PRzi-ZWKGxVPZvtKt1VBzYunjZfxa7Dj40BXg8GSA3p4s660yTEQY-BSYfUgxRo5DbzP5CZjLlDKFRjK83qwj2qsDzzji1a7D7phlpphAG7pCk_hCk_1jH16wTJ5yGV-MecHzwpVV395rDK9yzlt1DwaNFDBUtLqNnGQhxBjgDYpMqF90KRghUcT56jHlbZt009Bw-w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NzQ1YTAyNzYtOTljNi00NjRkLThmNzAtYzA5ZGI2NTVlZTI0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1337" it="0" lt="1009" ct="0" ts="1587564592202" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-69" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDE3ZjM5MGQtMjg1ZS00OTkwLThmZTctMDNhNTkyZmY0MmMx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczMS01VEhwY25HSEY0Yk4zb0R0d0tnY0tJTktOLS1iQS1KdCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.G_QJJfYdCH0Q203V8dUGvHben6KmiHzEKW7xZ1IYIi_wtAPqB4DMAVWyNFKYrVNLJtKfKUEMCHcgVr16DutW5J629hsSS37cKHiMBP_cNFKrqzULYVLfBlnMghEhlcK1RRjz_g0J3oNMbZT0e1ov_K9knBa4AtLbipag02DADHzI2hbz6hNWOk3YPxBlUKDBgw3aDLEBOc40NOxrWRjCTdnzePmyF2_1TMg-Kp1SWCBzX-fePj68FX3zupFnTo6a56j1sDaeJTeFCYSsZXvl5r_GS6_qbxKTEn8IyPqkgJAWZXPSZfrMjfUWTxZTEENwlMfAlC-r6MKHyWTCLn7b1A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDhmNzFjMzgtZGNjNi00MDMxLThhNjctZGNlZWVjNDIyNTQ3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1185" it="0" lt="857" ct="0" ts="1587564592354" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTMzYWVhNjAtYzQ1OS00MzAwLTg5NTMtYTYyMzU4NDc4YjQ0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY1Ni0zT3c0dTFhQjVHZFFabk83eXdMYmVnNVl6MEhiUmJobCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GsjIYouK9Bw2tLVQRQRirDVHMzOalQTK8TrZmscMM7ysmwpxOSjGpkoQkBXYsKKxw00y9vV-LSz9vOigrfz__WSpken0PWq2t6oYFMC1xSsTPLtlaYMtBZlInnf5XK68vNyXIQf7aBjIBKa6QnGWBmy3ervUgQbetugwMvvUBy3Sa4rBViEkKN41ypGR33qnT9Rvv2X3i-FUMuZ5CoyX41pQ7SteMLN2gpvIb6soy_wh4u-wEEQ2JDcIDTFXELoACBi_uQXahCY7lI1i4iJtvzIbudrczTSVKja1xTrDtTYKgBniHkwSRTQ4u9wDNOkZXblIP0YIHzD9NsZZfER3aA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MTZkNjJkYzItMTA1ZC00ZTdhLTgyMDAtMmZjNTA0NmExZjNk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1319" it="0" lt="991" ct="0" ts="1587564592220" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-49" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWZjN2E4YWMtMjhmZC00ZDUwLTg5YWMtZmJhNjZkMjU4MzE5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0My0tN000VGp5akt0ZUlzcjFsQll5SzZpd2FlZFFPZ0pNaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HIfOvuiydrbGXq1_756y0yDNN4nPUxuEaTJfy3JhMCZrdumlPjnNBS0gM31XVXLAuOJO9dNpduuCAIMd-GlPM0MmMhUkZn9i-05yfPt69MkTnsqGHR5z0kQIvp8DdpOToBndBJxpJYvi6IFQ4ggK_6AUkDCsIvf_KVT2n9Mhq74Exb6Yi0pdTuv2WLl-qo5MUO3JJ5kzhyNwsfc8AdYU_XNMx3RtaEFIK-jQIRilmG-l4ASxibk12Z8fpHcroKIiGL_yCPrnLgeWmEghD-X3ZkAdABNTadb8MUhH0N5x48jDDyOBmbdK5ZkzxlWz1dg2a3iuUV0IbHmfhxP8c_X6Ug
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MGQyNDY2NWItNDg4Yy00MWFkLTg5ZWEtZWVjMzVjNDE0MzEw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1181" it="0" lt="1181" ct="0" ts="1587564592362" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyMi10VjdJRDJSZmwzMi1zMXdwM3FGWnB1b0JwOS1hZHNmUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FUS30n9gXGHPUEZ38vgSOcUTiv8NNODJMozjWuq_6UHdBJIlkppfhl8bic8mMaAij9adYlZ3foWolwmiZ6eYq3slDl6HGae9wrQD-VUi-Nf56xNLEym5_kfz66Gfmu9z6ciNWdqDkDZW0ZFIgeEVex-PxWbSBiJZxHew09epYThUlpuP-JtDOd8yLsMHHJVacCorQJOHTxBsGeMUWz1r5Osltj8q6I3f0IPrZJ66YAbzPLmSUa1BqsgHNXizS-mwU8DrJBlrPGsNs9ScQVtenlmaq99X9WP_Ddv-CbhhChsXDRq_yl8bnS3lRU87_vEb9L2yPW1nkkC-heehRSHk3g
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDY4YTgzYzctMzliNS00MzE0LTkzY2UtMjI2MWZlYzhlOTVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyMi10VjdJRDJSZmwzMi1zMXdwM3FGWnB1b0JwOS1hZHNmUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FUS30n9gXGHPUEZ38vgSOcUTiv8NNODJMozjWuq_6UHdBJIlkppfhl8bic8mMaAij9adYlZ3foWolwmiZ6eYq3slDl6HGae9wrQD-VUi-Nf56xNLEym5_kfz66Gfmu9z6ciNWdqDkDZW0ZFIgeEVex-PxWbSBiJZxHew09epYThUlpuP-JtDOd8yLsMHHJVacCorQJOHTxBsGeMUWz1r5Osltj8q6I3f0IPrZJ66YAbzPLmSUa1BqsgHNXizS-mwU8DrJBlrPGsNs9ScQVtenlmaq99X9WP_Ddv-CbhhChsXDRq_yl8bnS3lRU87_vEb9L2yPW1nkkC-heehRSHk3g</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="774" it="0" lt="774" ct="0" ts="1587564592770" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDcyZjUwMTYtMGNhNC00OGRkLTk3N2MtYmZkYzVjY2Q5MjRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1178" it="0" lt="847" ct="0" ts="1587564592366" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-8" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTgyODdiZjctYjUwOS00NmM4LTk1YTEtMzk1ZGVjZWE2OTRj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4OC1acHpjR0NFcHRIaGZpTXNuSkxCRk5hQUdPZjdvcnhiYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bhktm3u9H7fO9fsaeGgeSmKaqCD7IvC5LY9MjCMRRWzl4kJd44YMKeGhFIv5MSGROZpfBSPiZHnBUl848c-erlePC9uQzoMh162Vl7kvVezMxo70ZikDsGOFR7PwtflpW30iKb30CEuoe1ixRXQhFtUExOLuM1AiDmBuOcxgm8bJG-IvD4guVmjXiNLLSTPjNJOL4nAyIM_NMWmQ8IqijlC56-9pqC2KxGd6yf7zJ8EhOi7KM5KVVMJrk-gJAgLuPYI3fTvSMfJc29OeN1IfwUbEFCid-aCQC96kcMWPSZsahxW0O1zgP--g-SfU7E4sSRQiTLCYzF5USiSCbheb-A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2FkYWNjZWQtNWY4Zi00NThmLWI1ZDMtNDEwMTViY2Y0ODJj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="773" it="0" lt="773" ct="0" ts="1587564592771" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGI1MzRjNTEtZGMzZS00MTUxLWJkYzMtMmUwZTMwMWFlZWM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1617" it="0" lt="1288" ct="0" ts="1587564591928" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-65" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDAzMmUzYzUtNWVjZS00OTJkLWE2YWQtMTdmMWZjOTgwNGQz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczOC1wN3F5NUlTSmpDWmZEU21EQTJmeC1UUlpHTXItcnN4QSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IJFP1YqRTLQCRMlfQOVIFockF7iGMm3GswiJMxzy4AJ2gRpT1wDTh8l00OEHD0etuhG9MXbYTSCBccnUjUPqA0UXHF3zXq26dbC-tulvwD8tGivX8X7wm3u7zFAJ6oFpugneQmp2F65maGx8tgivhGqsfZF5or3ue-_aCyZ5YMbU0Oc1PgRSOl4M0PMO2jzb-T6e1EcuRUdn7vLFLcOuTM7wtoM_LCLkArsL-UW_ePI03wgdRNPS4zcJ3Nw1PS2zhO3Fp2tT6DbizbSeYbeTCP_ecli7tJQJMqF8SomCUHoD2u0UiHDWKwD4a1ODcPQ4IIEDAXEkaxXe9Gy30uSjSA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTc4MDFjMzItMDNlMS00M2QyLTg3MjUtZWVkYzE0OGZkNmIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="770" it="0" lt="770" ct="0" ts="1587564592775" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDNlZjE1YjUtNjIzZi00MzY0LTkzYTgtMDAyYmZkNTAxNDhl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="776" it="0" lt="776" ct="0" ts="1587564592770" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTRiMWM0ODMtOTYzZS00ZWVkLTg4ZjAtZTM5OWI1ZDc4ZTk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1633" it="0" lt="1550" ct="0" ts="1587564591985" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-54" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODVhODZjZDItMjliMS00NjkxLWI3YmQtYjlhYmZjZmFiZTUw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3NS1rMVhhSXhPS2F0Tk1USEpnMDRiN0s4WU56dzZCQkNudSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZIsUXmd64i7mRUDcRvLLJ1Od2C928IrAd2r83NVOGYeCgflKv4JZmMhZxqsB5KKWNiwFGDqH5SlyWCVeAOaE_PAeSL8Y0_1kseX75uUxMXOBS5RWucFi952NA1MkOMksHQkxo1aiWI9xex1V_we20HxDbQecfbSccziW7h52hunBw--dybpZdFjyIU6tZJbam16E0KkFp9phe1iOb4BG7YNNj0r8e9CjrYPMCcBaGvUkTxtIys4XdVdx65uYb4Kt_oZH9OHXFazvR284xr2QnVZOP8N9pd9AqKJyVNY-ulEi9u2G2jH9STw5RPCPcqqR2jqpLO2Cdmd0N9ouBJivXA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjA3ODk1NzQtNzNlMC00Mjg5LTg4OGItZThkMjM0OTU1Y2Rm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1264" it="0" lt="1179" ct="0" ts="1587564592355" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-24" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTBhYTdmMjMtNWJlZS00ZmM0LTgwZTItMTJhMGFiNmE4NDkx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4Mi0tc3RzOUJ5UW5hT1RUTFdhdGlJQ2JiMUtja3g4NGVnOSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.m4OWPrTefaAHZsTlZDLCcClkFqZ0UcjxF_mc125o8oHEFbNlVStK_P8WkvaAM8rnZcKn4RsMoiPrK_xvLhnbMNMoGeHSuM6ZhYSOUqQOJOeSV9hixAiCo3cwROY3-K4bkMIV63QjM_kNIQEkksUy4qqtuL5EsYXjmxaYUNmI5g7YGbqAW58LFUxqu7hWiIGDtvKTO9tZKNuZbfszTrfo2ykkiLJC6dj6eMX0iAL-4aldwHABgpMuekTJaV_i2fOTzd1iPFWT6EO5kfELDoJ9R8hSya72BA39-i3ChQI1qF_QAdfpkR_z3qBlfnQaebqG1Py8Pe9bRIAhWYtpxl_wPg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTY5MDAxZTMtODExMy00ZjYzLTk4NzYtMzQ1ZWUzMjJiNWFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1632" it="0" lt="1550" ct="0" ts="1587564591987" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-6" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDZjZGU1NGQtZDQyZS00YzU4LWE2NjYtMTEyMGRkOTYwNDE2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczMy1kb0djTHZhak9MeDhDMk5CdXp3Qjg5cmhVaGJTTzNDUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jK71r_4BaQI0u6OgiTn6gXG8rOj4m60iG_P-Kr0ad4kfB7jUCQP_osKS23fDeHMPxr75Y84FIn0peCnbUeijUNiXmtkvOhvMlkFGOfhU0QYjevKRkCDeo48fwRBMD0nJUU8gG0XjPksO4kzjeoc32I5PIenXPbSQVasN3ZudYqSYHqCjuDpRxzBDsp6WWJMqipVmqIbLc4nxSqEwDkSAXcZCrbpgd2lv3aKtysRqsztrb0SODX9pcCuOqWC2ZL_vYDoSv8KaEnx6yKKvBdcI7E3NogMpom4RvRO_HwhjZLaNsm53a7H3wRStKOBOsDEKQz8U8REPB8CNXlGn9eNIVg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MmVkODJlYzAtNGFmNS00Njg5LWEwMmEtMTI0MzUwZDBjODc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1648" it="0" lt="1565" ct="0" ts="1587564591970" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmM1NzU2N2QtZmMxMS00OTNjLTgxYjItMzhjOTZmMTdkYjMx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczOS03aEgxTDJPTFNUc0UtNEIyWXRMc0c2WURFVXNjLTNjeiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WYVCnQAx4Idfzf8W_PKRZIzY_73FI2S0zngVL9RqcWqb40kgyzkRtjCqi5yQEeMJfcvF2pUZSTG_tJqT9rozjfvpGjSj_KEyuerJSpp16Yp70fb26_FSQ8HxRck8xus4XAdFtF3mr6b9Rm6p-p1fbJ2qL4pBK7aJe2uWYfoMkQGwBfCuPYSeZZSxc7p53V34YNu2d712gFWAUNDaqmef6OsDRjkeZGY4qZRQDkms03nydmWfXsYCxHllC2JX1r-hX-s4-pysPUItFUtfB2TeGJbN8Cj_nrvXtm9AwQFwjehlvPTvUSabB3PWTYe6owUxBO24Me5-TdF4rxGNNwVJuw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YzNkMjRhNTgtYjE4NC00MzYyLTkxYzQtNzljM2MxZjdiMDQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="849" it="0" lt="849" ct="0" ts="1587564592773" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjY1ZThhODMtOWIzNS00OGQ4LWE0YWMtMTg1MjFjNTlhMzAy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1646" it="0" lt="1568" ct="0" ts="1587564591977" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-55" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2ZhZjI4MTItZTgyNC00OTViLTkwY2UtYTUzODQxMjhhMDhm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3OC14V0tDUXNTWWQ0b2RKcWFKcVlUd0V5MGtVei1OR1IzdCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.F4p_3pG4G3Elizmi8SnMRkzrtoUSoih7AmuCr0Dguuc1SqfmBINf6s_LsVFN4G2XLvB61U8sw3Kjmk1IU7YDg1Di8sLsBB2mVLMbKk41pRpL7yZlqPDHpPn6csfTVFWwlbGzfyjfMT_35BqWTJiGeh4KpSEndj3s2jorfBUstRm-tWHZjg5dbblIV452_MhtvyJV6CPL_HzrN8rF9_3jxztZZX7xhmWe7fGmk1WuCp1d0As9ODUwfOetnpY04kSoCbkVlA5dMW5Zxk5IcfliIHnLhHGZJCl9b1Xq6KNTyMHhnqRqeZkOuoTLG0pmIvWwx8TIm0jJq6JWm8jqXt12PA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=N2Y5ZmYxZGItNGI1ZC00NzI5LTg0ODgtMmEwM2JlYjEzMGMx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="856" it="0" lt="856" ct="1" ts="1587564592769" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWFmMjBlMDktNzkzYS00MjkxLTg1ZmQtNDc0ZWY2ZTU2NGIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="931" it="0" lt="931" ct="1" ts="1587564592772" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2JmZDU4MTMtNGIxNS00OTAwLTljZTUtY2Y3ZGE3YWI0N2Iz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="930" it="0" lt="928" ct="0" ts="1587564592774" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-77" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWRlYTBiZTAtYjIzMy00ZDgxLWFkZDMtYjY5ODUzNDlkMjRj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4My14TmUyLUxBdUV0TWxna3YteXFMcGFSdUZaMEFCZTE4QiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lWbDGLk4Xzqkf4qkDZuweNkT4GxmhoTDXd2c0GbNA0gqR_9qqmkwC_H_Jx1V2csynroiBIxDaerzTJUOHSFdPV8RkvSC7dL95qISi2ACSutlpBgspclPn1dLmnEB-c9Cimj43Qc62jx2V0lvRkmIcLysIAa13LnhXoQWlToBCTruq3K9NF4hOz2UhGiEYYWQnQK73eqeipdrzXtVjgLhU3MMpzerznUwx2hTUlvH4bocKJzva_SCOfX3wYc2bDcAZhV5xMJIgmU7dtqOHmfv_rrdJwWAEk6s0mFuZ9_nr7Mzok0RrbDFXTxwDsOpT_pA8oydogmOQPWAw81bMlGqpg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTcwNGNhYjEtM2VhNS00NDVlLWJlMmUtZjIzNzY5ZmZmYzEw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="934" it="0" lt="934" ct="1" ts="1587564592771" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWU5MTYxOTMtMDcwYi00NzBlLWFmOTktNmRlNjkyYzE0MmU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1348" it="0" lt="1345" ct="0" ts="1587564592357" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-31" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTc2ZmI2ZmItZTViYy00MjRjLTg0OTQtMTc1ZjE2NjU4MTg1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3Mi1oMFZnS2MtajY1NmREUlFDd0p6cDA2dlg2TUEtbC1GWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BUVK7vQBdOdY7bV_CdIIq1nb7TYeCY_PuM3kKJ8Xn6_5Pfrn2Y2AKRrwlftREzubNeP4C6KrQdh2SSM4HxOY-3Mu-hpqslQ1xSsjyaBkdaz0-oL7pAqaiEG4r_-nNRpikGknFjamhUr2kYsIJLEyWAVOggdmDWo1zRs6Z712EyNbcj0BFS8t8SqxmhytBAM_pc6jfrnTs1tzZmiXawz9C6WRzQ7R83Updwjm_tFXo8Cmm2AEPSUYwyOQcDd82IEVNGuroGiZcGdF53CNbXKLi9VU5aaj-t1lNVXdrMQFhi5Ym4htu4a1JDBolKWy7vVeJgAFmO2aetXQ69ZCShAwKw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2YxZTk5ZDUtNzg0OS00ZGE4LTgwZDAtMjQ5OGEwMWRiNDM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="838" it="0" lt="838" ct="0" ts="1587564592868" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4Ni05WjF4a0Y1MElYNHp1RGZROWpldVNWWWtwVXZkajN4SCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GymXTIvQ33ghA8mbKA8PT5vv6S_iUqMJKH7R23XpirPkbroEYH2x42gmKDkOMVkJGhTxQoF2-yegEK9fXwhRj5tARAN-Z_6Z3IBXGf0LgBYgbQhbejKvk2H2a-bsqXxK3g83ibH9Je2_CoAXTBhMTGE5LRFuoKMMtXIOaqnZJtsP-kKiR1L-oiZEFa1ezLQJAaFRBl0jJOzRVVbwCy9_M-LKxvYZDAEghXwOXRpyTXcxhU4t919Df9kJZCZYd36wabNLt3Cs_46U03kwgIB-qqM-ldrlduGPdHwWLNTRemIGZc91mTKA67-PJs5DOrlgU5oMLltIwPNSqqpJimebzQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzFhOGFhZWEtMmFjNy00ZTVmLWE2NmQtNjY0YTczYWJiMmYz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4Ni05WjF4a0Y1MElYNHp1RGZROWpldVNWWWtwVXZkajN4SCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GymXTIvQ33ghA8mbKA8PT5vv6S_iUqMJKH7R23XpirPkbroEYH2x42gmKDkOMVkJGhTxQoF2-yegEK9fXwhRj5tARAN-Z_6Z3IBXGf0LgBYgbQhbejKvk2H2a-bsqXxK3g83ibH9Je2_CoAXTBhMTGE5LRFuoKMMtXIOaqnZJtsP-kKiR1L-oiZEFa1ezLQJAaFRBl0jJOzRVVbwCy9_M-LKxvYZDAEghXwOXRpyTXcxhU4t919Df9kJZCZYd36wabNLt3Cs_46U03kwgIB-qqM-ldrlduGPdHwWLNTRemIGZc91mTKA67-PJs5DOrlgU5oMLltIwPNSqqpJimebzQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="746" it="0" lt="746" ct="1" ts="1587564592961" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGE4NmNlZTYtNGU1NS00ZmM2LTk4ZTYtZjA4MDU0ZDYyZDEz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="934" it="0" lt="934" ct="0" ts="1587564592773" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MCwianRpIjoiSUQtVG9rZW4tMTc0OC04NE8wOERRN2Ewc0R6R2gwMGMxUm53ZGtNQ0t6bWR5USIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.O-AJV5oetk_hqNvv1EXScoPHgbgpR5qdU_uMuxiYHiRIH3mxNZfHJc5LLM_qdvOtRf6AxaDmtdeF_7ER5Rc6VDR6fOgUYV_1_dU7CR-ivfGOSHICp-DQo7JdOrIe-hYqNJfRDn-FOw12W7tv7zWpnKhLEADcAZB9-5W4FGLWxGnXypdD_hmAKuXV38ATRhfZjkTBk65Adhangeln9NBZa8laGBKRbrNwmjbsOiklkjQ3LYoM_-d4qaK6qyUdIoRdB--XIICqfAHXVetNgYa0OW1bdkRC7osnDzPrvmy3ae_5QaQVjmCj9ByjNwavvF3rY1xviZREwdWDGDMSxJNXOA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTIxZTZjOTUtMmE3Yy00NTdhLWE3NjUtODdmZDZmYTU1YzZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MCwianRpIjoiSUQtVG9rZW4tMTc0OC04NE8wOERRN2Ewc0R6R2gwMGMxUm53ZGtNQ0t6bWR5USIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.O-AJV5oetk_hqNvv1EXScoPHgbgpR5qdU_uMuxiYHiRIH3mxNZfHJc5LLM_qdvOtRf6AxaDmtdeF_7ER5Rc6VDR6fOgUYV_1_dU7CR-ivfGOSHICp-DQo7JdOrIe-hYqNJfRDn-FOw12W7tv7zWpnKhLEADcAZB9-5W4FGLWxGnXypdD_hmAKuXV38ATRhfZjkTBk65Adhangeln9NBZa8laGBKRbrNwmjbsOiklkjQ3LYoM_-d4qaK6qyUdIoRdB--XIICqfAHXVetNgYa0OW1bdkRC7osnDzPrvmy3ae_5QaQVjmCj9ByjNwavvF3rY1xviZREwdWDGDMSxJNXOA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="846" it="0" lt="846" ct="1" ts="1587564592861" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWM5ZTJlN2QtYmEzNC00MjViLTliNjAtMjg4Yjk1MDAyODIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="848" it="0" lt="848" ct="1" ts="1587564592859" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjIwZWY5ZDQtMTYxNi00ZmYzLTk5NzctYmZmMjFmNzQwMTkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="666" it="0" lt="666" ct="1" ts="1587564593042" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGE2NjVmYWYtZmRmYi00Njk0LTk5ZTMtMTYyN2QyYmRiZmI2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="665" it="0" lt="665" ct="0" ts="1587564593043" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTQ0ODBlZTMtODNjMS00NDBlLWE0MzctZWEwODgxYjlhNjIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="841" it="0" lt="839" ct="0" ts="1587564592867" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-41" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjVjNTYyZjUtZDgwNy00YTUzLTkxOTYtN2FlMjcwYzAyYTJj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwNi1QMXdnWDFieS1QR0tPR0RxNWxmazdSYzVVQ0haM0oycyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pHhEiUyemnU90UHlbxpkdgqz5owVbG7LKoUnOfBreHB15WN2sUMKBb5_MmNOcphA3_7DXqrxwEICLQ29j0Ecv3ZRRXw0LwRBpyLsas6CRhqiJhhMjqa_GZVbylG6qVkIRWc0iSvtDRAKknqA7D2uxsvPSY-yjE1O0mwg9het0DCCB1yIbMMY16iupd_lHyfvM8FALfZYCyQmgPn-aQoykthqCrfXdQPJpluFw8k4u2IShGh1We3BwZU9u9cS0DLMkXNU2_t1Dmwuv9ILLhSgDRpyMvv9j5-fkkHz5t7qlKY50hV7QeFUcy4xaftl0cn3oW7wuRRbx-R9G-kXsE_1-A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ODg0OGM4ZjktNzZjMi00YWU1LWFmNDktNWQ3OTNkYjk3YTQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="643" it="0" lt="643" ct="1" ts="1587564593065" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTAwMTQ0OGEtNDc1Mi00ZDM2LWE0MWUtYzU0MDNhMDQyMjUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1357" it="0" lt="1357" ct="0" ts="1587564592352" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjE2MGU3MjAtNGM4NC00ZDY3LTg5NDMtYjA1YmI1MWYwN2Zi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2054-eRBhJS1ioQDvpEofxz5Q4-hfVrkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="1884" it="0" lt="1884" ct="0" ts="1587564591826" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2064-m5uwEx7LSwzIptWnQ7YLL2Csde46Vl2cbSVWUGSDcgICisq37xWxarWFU2npl-fcXFMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2062-Pb1Ndph4PdqwkCxXzSw8XG2TLYwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=20ce8b13-6f83-4252-9423-4372be63bec3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2062-Pb1Ndph4PdqwkCxXzSw8XG2TLYwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="844" it="0" lt="841" ct="0" ts="1587564592867" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-23" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWMwOWE3OWUtZWE0Mi00NjgxLTliYTQtOGNiZmU2ZmZjMjQy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0Ny1uVjNFckpvQW0yUnhPc1ppMWlrUlo0akc5c3BYdXR3MSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FnHIhHDb0_tVAcNFkhaslMD-QPW5lDkG0FiJNpPpIy1_Uu7uJUgC2sCXc1f7KdI4SphPlH75cSJ_QfbA-XTm-IKhttwBbJMQFjpUEWGpHlRJF9QqS3uwRAl1PSJm-bHJsMMldS3h2WoNpSPDLoYV1H2HXcMuOp1FhDHGGIbTYrLM0A0TWSZ_wW_1zVjWkflzRB3JJ3D71oN8dgVyHZQSDJjJ7lT4Th9jmVVulXuxFGJtjxO-ebvgwSEyc-82rphO4cBxdSG6wdcGkwPexGqnmvNRnh8_Qkkrv6BPrqIlKy6xML1BbtlFRB8ugOilFj2XQ9_HzpIiCW8daJP0XwJVlg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MzIyODMxMWMtZjVhZS00MjYzLTk4NWUtODkxNWU3YmM4NTQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="852" it="0" lt="847" ct="0" ts="1587564592861" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-3" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjkzMWU2MWEtNzEzYy00OWQ4LWEwZTQtMGJjMjJmZWFiMmVi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3OS1kbTB2YUlrbFFLTTRjc1AwN2FsTXp3VXRMN0lxQ2V0TCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IJHDJmEG4cyL0Iya7NEIsszkr6f_raqvM7kKvN8rOzS9Jy5wiPQnJo5RB7AqM3zfqHJGzyrfJI8BtBGbk2e5C7ZvbfPqwVowVl74FbnIM6iwFYvRfKDDWCVIfFhdv7tW48KstQYUZEFbssda3NcyXTvmmAOqV3xpkXjOsIhqZJ6QmFyhvAiiCDq8hM5Ch7oaGcjneFbT7IRRJo7tdx0o4LMxTaUWRB8i-095ry1lj47oCjUyNoTlXDyO4pJior3vKXrZijvS7JUso8u4FeEmNFR3OmDYn9wj53QYwwXVqI-0hNfjsmS3qa9tTbapRRDP3TWOZP3ljUF-fyxHGTuTgQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDcxYjkzNjAtNzFkMS00YTkyLWFkYjMtMzJkZWIzMGNhNjlm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="2045" it="0" lt="2045" ct="0" ts="1587564591823" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2062-8mbqID2V54YXJBxIjI-G98wpQ5GtARnEmLMCHBLUe-JP4SkqmZ2taDGXZgg96eGp-XEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2063-cxU7kTv3md6LLw3QxTdTc3vzSuUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=dba61a38-1436-41d1-8a0a-0af72031c87e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2063-cxU7kTv3md6LLw3QxTdTc3vzSuUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="825" it="0" lt="668" ct="0" ts="1587564593045" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-58" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGNlNzdlNTQtZTUzMi00ZDYwLTg2OTQtMDZiMDU1MGFiZWM1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxNi14Ynd5am9jUGFOWGZJUzRERWxQd3dOblcxeDJzT3NMViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aV4RW8wqL_xlmS6M3SC0Hwl-FSiT8d_iPy_asjww4JWnDL0I61HISPk8f0NoLtpYHDlZhm3D6F00tNUjvhidXaDMz88pBM6dTBAm_VcOsQayUJ8KwNGO-VMkkbIqkKrYRgllEszjoyfDqa__RloINHNvcvmGtJlABCmfTuMM_UAFsVr1Xb0t1rKVIBewDCLDjx5ful-jdMKa2Ck20ZAJzEMsrgsz1Mu9rb_dO2fk7JkgBibIKbjr31DcM5CgcGs1uA5G8zscJ1jAWzMKqWuLiML8mXBkh3_dPQEm_-WoUZQnl4Y1_hDdLvJZPZ3BR7L0NQkZIMnXNE6neo4-JGYpUw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NDc4MGQ3ODYtNzRjNy00MDI5LWEyODUtZmZlMjBkOWZhODg4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1008" it="0" lt="851" ct="0" ts="1587564592862" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-10" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjNkMGE2ZjktZmU2Zi00MjI2LWJkMDktZDNiMTlkMTFmZjgy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwOS1hTVVvT1hNZWo3N2ZHRGh5YlRSYkd4VngzN2xSREs3aCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gtFRzDph8EYEJSRfwu0iqK4StLv9A5-vtAOgdVEb3P7cISv2ikaGKt1UFZgJ0bQWkGTBkXGyuHK9anauL8Sbqqb1TjaJLds8F7d5JcDqmUBgHARP2Ace182lHOwb73hbzTWYuzU2yNI3KGMfCmmI3JHLD3VC_IGDfJ29J7QsyxLEqEq6iHSf11Voa6IzkWzojg05ITcx6VjovYRWHVi2sGCnVAXOqRsKlGRnqHJvBNs1yVTYnyjgcwQvbDTffF9QO9p-vJCxMXuGrOHK_iRth4Co1OB3rNV8Rk1D-a1dVG-lwGhlBavEGfFd-OProerVHaG2FF7raKZInz8Bs0gy1g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Mjk4ZWYyZjItYWNmNi00M2M4LTgwMzMtZGRmNGFlOGZkZWI2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1010" it="0" lt="1004" ct="0" ts="1587564592863" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-5" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjNlM2IzYjQtNzU4MC00ZWQxLWFmYzQtYTllNzkzNWQxOTI2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxNS1DRkEwaURWSGh4MlJUY1dSYXRoQmFjWVdwV1hLYTNCVSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.mG6xaWfBUPvtPymDH1WSM2IYNE1T6N_VJS6dYD_W5FlRxmfwQtAf1TLPGwCfhXfgHqlTivcyOWr_i9FFCpBTKQaB8C7aZc_DDWSMFIvAj55O0dlu9TPCnZb53FKvdVnO9xdovGzUBOxITloOMk1cvaNhpAdey0OXc3IAk2w-2gdqoKGCX4k-dYaZYVXPKa7XBLJZkEAEcHLwH1fhZ_qolaNy0R_YJnTmfxypebykr1qCRyuiY6RaAjFYBqsGJSI6xkMq2sisPpN9pVH5Q4cqgleDXPRAMR4pLovDFncf6UiOegz4_N9C3F3V2V6b_XAVPrG_CkjEKn3f2lDvu26mCQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=N2I1ODljNzktMjRmYS00OWNmLWJmYTQtMWMxZTg3Y2JhYWE2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="828" it="0" lt="822" ct="0" ts="1587564593045" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-60" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjhhNTg0YjUtZGRjMC00NmI1LWFkNTAtYjI0ZDU3YjdjNTUx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3MS1aZXRUY1VIQmRjNHk2U2NjNzdNdWs3RWZEeGx0Ym1kZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WfeEtAADq7g2mCe9iTUkTaeMNIfzySgNmsqdOHbCGri_BgTYxBd5yaXMRn4fUfq5-8JADj4PS9CkcIfBIMireUMpNdnNrcI5bDiQTHGZjySP4lDckXRpU8SK3_PdoKStXtN2Lfpq-KSfXANmxJ5w3j-i4kzsyeMRWxeoWecbTvOA2fUzDGHI_cKgBQ269YwawKBjUnudIm5CfI0nbXWOr6uhZ9ULxYx357OyssQNv_-m8QJ6xDSpObHGMEf4Co7x39F38rQCbHPeltqt9ry6wFOqCKRuQK79wWftjlaGX-kk-d6QNbUPuxzYO1kh1GaT6riL2qCDheWBuFKQyVePsQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OTkzNWI1MWEtY2E4OS00YzAwLTkzODctMWQ2NjA1ZDVkMWRk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1006" it="0" lt="1000" ct="0" ts="1587564592867" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-29" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmFhZDU1YzItZjM0MC00NDFjLThjYzEtNDEyZjVmMDAyZTQ2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4MS0tYzNkRy1EdXNKVlZ0S1BPOGRxd0YtenFOQVFsYklXMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LwZH70iYfr3BkJefEdEOs6V4asFK7jHRJQXn4ez2Nk8lQPOwzOHArME6bsIw8F0KFzVVyCW9SjyLhKSxdvqcSMvmypewdJDyAP-M81jnsPCLdhxPDzYeNhkw3nHc4754VL59r_EDaPXdktpKCu7VBRjVMasqeHvP6BNkkPZD_7bkQbZds574G5dle8ma4iA_ibREjaes_5ZTyLJ0FoDDS_AKOd1zQdOb6zpE70LJel3usJiI1GN9F5SeD5XuAzwz1tXOFOGYYVQXX6ereQNrlp6Q9P7SgqCylWRvANwg9aw-TJ48DK7cyUJa_j7AKBEmRBeeJstK6ilyx7Vrep9qkg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDJhZDEyYWItMmM4ZC00ODI5LTkzOWQtMDdmOGIwYTEzNjkz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="827" it="0" lt="823" ct="0" ts="1587564593047" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-56" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzkyYjBmZmYtYjU0My00ZDM5LWJmMGQtYjc0ZWNjMDEyMjVh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxMy1kU3BJMVdaSmVzTjNUMnM1QWtGbjhwQlFwZ2hLSE9BVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.e6ceWlr1feEa6dGvnGMsXMdWih0FsotbHsQTU-SI0jnZUf83pxVAtXMXaT2FD3PsJ-xjSKE-IpPRyAdAlt2ZOdCGUtKYxzNfDniAka0FyNKkcN7QAwNj0QuwGvoyh-w6cAcuMeRtnldpSvhJbyEXfp--fD_-mofkUYqcl8o6RBso62CiF-GB9uiMaRue24sfLCujn3duZHjf9tO8nzBTmdlDusLXEPtzy8YEO93FyYh0piqF2ACKLA28kZwTxQCkSSvFjEu5qXJvz3q_dvWinG0YIELkvqRBKh7AbKqRknxJf02ghKvNVnPOatzot_D5-APsYqnpwgrbXWt-s64dTQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MGNkNzM3ZDctNzFlYi00ZWY1LWFjNGMtZjg2N2U3OWEyYzgz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1014" it="0" lt="1009" ct="0" ts="1587564592860" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-94" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTljNTYyMzAtMmQ2Ny00MDQ2LTllYjctYWE5MGIwMjcxZTRj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2Ni1Wa2xuVGxXaDRLOVY1V2V4azNRR2trUW44ZkVuNGFHMyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TFmrK6zGJ_csvcSHFbPVxsuEL3oFOAq3XS2wfj0oQJU-ASDV-mpUp31OS5QEsreBegRiKib0qRyMJ6FU-xFjZwAlUloFJv1gMLhZEUOH9u7YsYXKF7cUAsNeXORtF0lcsFs8OpFHdd3bKXBNgG8O_gB86OqxcJxS12UEGVlujYvs7g0V884fnuXObQF5q1wnN7D8Oh5LnoRRFWR3sg_3EZyB4LxvZQ_9re_VzZapunv2kIg1gHlM0VQImdNwfGn-kVwyG9F7tU0TJouAZnoNHNMyB2snYzr3qfqR6rd37_6tjoKqXRpRLkiBNOdYJLV3l4p5bkZF6JMqQKm9QegUGw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODEzODkzOTMtMTcwZi00NzEzLWEwZWYtYmJjMWU2YjI1YmZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="827" it="0" lt="824" ct="0" ts="1587564593047" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-11" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjllNWM4YTAtMGFhMy00M2UxLThkNTQtNzdiYmRmY2Y2MmFi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwOC1iZUNBRC1qbDI0ek1GdWtPd0NKQnVkeG9wemxVUWg0SiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.NXUxU2oCLkyoyG3CjmJ7IAMZaMjzPI2hXXsonAu0E1R0cNDMICCalbJrrnW2eA_EVFwveny6E8W4gSCWeGyaTYMi8dWX8mVnxF8-40qS4oNeJmliBBo5vx68u0NgQOleH9xqcCzZ1hRXbl2g3tL6qr4u5ND2W9fePSQQJQAVoZGBvsUA6rQIXFLkw1U1r7QmXeiE9Rrea4YPiJkIjJY9LI8nb2NzVMmoQw60XJbfd66t56zI8vy3Y08Yif9bA-K1aw8hAWzlF3R8A3yCA-wNkiNp36CBbaZRTBxvH174HCbecCqBI78uuGPdzvlnGUG721zYkColv9lZpjYfsLlDEQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MzBlNWM2M2MtYTY0Zi00ZjFjLWFjNTctM2YxZDIxYjNjODk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1008" it="0" lt="1001" ct="0" ts="1587564592867" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWE4ZGY1N2MtODdlMS00YjA3LWJiYzAtYzk3NDZiZGM3ZmE5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MCwianRpIjoiSUQtVG9rZW4tMTc0OS1hZEQ2TWhmd2dLekRyVGxzeVNRLWFDUUUtNThVMEhwMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aJgDbb2kQwgZLKkcq7aWjwqmnxVuTaNzc2DXqs-19YvFOjKnd7ZJ1GBGM8db7Kb82xnCkHiFt7GhJeLgRwPTkXvjr04ZZWc0SZKSsv9Y7kUbP67cf9VJoglPqqy7A2xfxcEahmxFEkgFYcFcOTdXplsS6sTDF3VZ4mRo_5DmUZPOPjiIUgaQ6SEZMTamayEQN3lQiFZLGTyBMtNQGgwDHVLXLHav_r450cGDbW-U2lK8mZoYPkBmJEsHhNlxdEm9ljrC0clHtHknWpXNpI-5W5o1dXzotvjIT_jv71R2R3pU-OrAaJ6__m24zvjZWSbKr7A9RzpIYLrGjA9KHvXS7w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MTU5ZGNkNzUtN2QwYy00MzY1LTk5NTYtZDgxM2M3OWM5NmQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="659" it="0" lt="659" ct="0" ts="1587564593216" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwNC1QanBqeUlxeVRieFg1VFJnd2NGb21mV1hKUngxbzdlcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SaTzrawJYmp_237UkJqwZqAx26ChKckqE0e9ZuicZm-GsjtE31u235orSNcFn1_yyLwN53A3Pq4-BF0P8-HQKi0pn_GZ1SvvXPL_ARGLOF9QVWAH3Gj22BOpCvFJnT_dlvFRI-l8LqpcamWZfFoSo5V2pS1lxTcdYZarbeUR6EgDBGw1FFfvf0AJ0ViMfg5yJfuqvjfz2xliO0LIJ4sK7y5MWMZ_y2ayo3XeC5b3_LObDEYiFS6gXgx8RWixwWN6SDABZ27FcrMeK5CSEdSgmZh4F-EaFFx_UZyuUfEcwu_fO4fOb60i_sSbexKuq_X0HK0MxkXf9gM8I8o7fbygOA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODc5NjkzMWYtM2YyMy00YWM5LTk5YWQtNmJkMzZmMTk3Nzhh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwNC1QanBqeUlxeVRieFg1VFJnd2NGb21mV1hKUngxbzdlcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SaTzrawJYmp_237UkJqwZqAx26ChKckqE0e9ZuicZm-GsjtE31u235orSNcFn1_yyLwN53A3Pq4-BF0P8-HQKi0pn_GZ1SvvXPL_ARGLOF9QVWAH3Gj22BOpCvFJnT_dlvFRI-l8LqpcamWZfFoSo5V2pS1lxTcdYZarbeUR6EgDBGw1FFfvf0AJ0ViMfg5yJfuqvjfz2xliO0LIJ4sK7y5MWMZ_y2ayo3XeC5b3_LObDEYiFS6gXgx8RWixwWN6SDABZ27FcrMeK5CSEdSgmZh4F-EaFFx_UZyuUfEcwu_fO4fOb60i_sSbexKuq_X0HK0MxkXf9gM8I8o7fbygOA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="331" it="0" lt="331" ct="0" ts="1587564593544" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczNC00WWxid1Vma000b1hNOXhJZlBWOG5VU1d4c21ZUDF3ZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MxaONv9rDiBPrn0vZmFhbNy-lDz84DmY2hukbv48_CvF8r-YKqhowGVxWOdnTD5LVPgua_gP1nf51fvMdiRuUZRkM8r3bxca4MbM6cAK-QxnCI2m-kMaiQf_IBbXS9gdIia702v9Nj29LK-O_9bL0gOxyJSzqjoDuUes2y5i1qQxu39UUeGfCcuGWePjsX03FtvenEyJEp7Nj4-bP7aeeyWAhl9C_Wh48jArdgMfzeLRaLzjaIbjYRBbdvAUkgPGxUKFpZMTDBM4ppQlemeJEBJr32oOoDo6prS5yx-PEv_Rf8RxSIz3XLsR4f3441a212FCURwU315jpQpvkS8-oQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGI1MzRjNTEtZGMzZS00MTUxLWJkYzMtMmUwZTMwMWFlZWM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczNC00WWxid1Vma000b1hNOXhJZlBWOG5VU1d4c21ZUDF3ZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MxaONv9rDiBPrn0vZmFhbNy-lDz84DmY2hukbv48_CvF8r-YKqhowGVxWOdnTD5LVPgua_gP1nf51fvMdiRuUZRkM8r3bxca4MbM6cAK-QxnCI2m-kMaiQf_IBbXS9gdIia702v9Nj29LK-O_9bL0gOxyJSzqjoDuUes2y5i1qQxu39UUeGfCcuGWePjsX03FtvenEyJEp7Nj4-bP7aeeyWAhl9C_Wh48jArdgMfzeLRaLzjaIbjYRBbdvAUkgPGxUKFpZMTDBM4ppQlemeJEBJr32oOoDo6prS5yx-PEv_Rf8RxSIz3XLsR4f3441a212FCURwU315jpQpvkS8-oQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="339" it="0" lt="339" ct="0" ts="1587564593536" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3Ny1uaFJteEttazhxWmxXMTlsZ1hVTXdKcENRMmxZb3BVNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PaYpYPcIEmbNPjnoLnvcjxkBfkdXY5wKduZ-A9FsvZdBHepiHJRyVL5R6pEUpC0XdLGrSO7tWrMUc450GQickinhT36wxGl7iHDxmtv0hwjJ170gTPtJqQfiHhKMUEhpPFJISEp2XPGqTkkrxwfLzdl4-8JBR_P1bMi2km5V8wncsoSSBVCrQW1WjA0ykbH0P6KdLl-PsqwZrP3NWuNrMgaZWrjqCvlvQmhhtqXaHncrYkQGD2PygD7gKJS_Z_kS8fVd01EqRY8VLAPmlqlEJ7EVBo0FGP2oNn-Fq-EtvL7Iv5aZuY-TPfRJUpZvnJSfKFgvS02xHBeZs9IHxlAn-w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTgwNjE4NzMtZDA1My00NjY3LWI1MDQtZjNiNDI1NWY5ZjA3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3Ny1uaFJteEttazhxWmxXMTlsZ1hVTXdKcENRMmxZb3BVNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PaYpYPcIEmbNPjnoLnvcjxkBfkdXY5wKduZ-A9FsvZdBHepiHJRyVL5R6pEUpC0XdLGrSO7tWrMUc450GQickinhT36wxGl7iHDxmtv0hwjJ170gTPtJqQfiHhKMUEhpPFJISEp2XPGqTkkrxwfLzdl4-8JBR_P1bMi2km5V8wncsoSSBVCrQW1WjA0ykbH0P6KdLl-PsqwZrP3NWuNrMgaZWrjqCvlvQmhhtqXaHncrYkQGD2PygD7gKJS_Z_kS8fVd01EqRY8VLAPmlqlEJ7EVBo0FGP2oNn-Fq-EtvL7Iv5aZuY-TPfRJUpZvnJSfKFgvS02xHBeZs9IHxlAn-w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="333" it="0" lt="333" ct="0" ts="1587564593543" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2Ny1FQlFOQWUzWlpJQ2JPUmt0TDhrMVRJLXVYb2swSnJTeSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FvGE7Xb6sLg-GMC-aKPDHCF4OH5cGw7mQgABqrNA1wgIebAKXytl98vm5CoSIDJc4PUNQ2A8pT6oN_GiTV2tSCKRQyox0jGsf_sXWDruIOeG2wpSzLpvdVm4pDXzEgGUfC-z6UG2hAY6dodj2CN4MxUgQd2lP9U3gvL03cs6m_0PzngPKZBwf6aWptuhOaBWyDXUwRaOwz6cXgOmuxyJDAD_W28Pwd76hsleADej42sb7WiGGTtpkxZjQWlQkbgh5Xi0B-rbd76UcLpn_ns5j_ntQB6M6UpNiDvZaViaKs5B4E0o9Rv_D2E0ua9ZIf4wDHiicx2TmObt-K_o2FgCLQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDcyZjUwMTYtMGNhNC00OGRkLTk3N2MtYmZkYzVjY2Q5MjRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2Ny1FQlFOQWUzWlpJQ2JPUmt0TDhrMVRJLXVYb2swSnJTeSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FvGE7Xb6sLg-GMC-aKPDHCF4OH5cGw7mQgABqrNA1wgIebAKXytl98vm5CoSIDJc4PUNQ2A8pT6oN_GiTV2tSCKRQyox0jGsf_sXWDruIOeG2wpSzLpvdVm4pDXzEgGUfC-z6UG2hAY6dodj2CN4MxUgQd2lP9U3gvL03cs6m_0PzngPKZBwf6aWptuhOaBWyDXUwRaOwz6cXgOmuxyJDAD_W28Pwd76hsleADej42sb7WiGGTtpkxZjQWlQkbgh5Xi0B-rbd76UcLpn_ns5j_ntQB6M6UpNiDvZaViaKs5B4E0o9Rv_D2E0ua9ZIf4wDHiicx2TmObt-K_o2FgCLQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="837" it="0" lt="834" ct="0" ts="1587564593041" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-39" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjUzMGYyNmQtNTNmNS00YWQ1LTllMWMtNzk3M2M5M2RhMzQ5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5NC1XZ24zU2liRXB0dXNPbzVxdm5iWWMtdEdvTTJJUnpCbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nid3HoZU31m7LcpV0rZ0gGuESwiPpz7q8nNeVoit7-8dANFPIZiiYJ4FF3ePWDr2dXtK2aa8NxmimJ6-B7Aj_7l0CbaRHkuG6YZrfGafmy4h_bsWBEm0xOYt46pboY3XzbdLcL7dMvhutlnFnEHnxBbqMQFTxBOfnr5hIn93MoKP9bSsGJJGjdBe6IyA7WP7koEaaMzVqCaXG2w_tQY8vuCIr03Hkj0uXhb6VlxLwGj0a-IxR3pvmzzzHXBLiXoeEJ7gDA_-EI_BwEVblZJjRbEdtGBIQdx4uiurli4P2zX5-sazWemf06DuvORydOqa_lClSERr-z-EyRfx1ebMWQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OGI3MzRiNTAtMTJiYi00YzcxLWEyNzQtZDkzNDM1NGMxZjVi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="812" it="0" lt="809" ct="0" ts="1587564593065" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-93" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjU5NjBhNmMtNzJlYS00ODQyLTlkZDYtNWE3ZGQ2NGVjODM0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3My1kOTRJM0JFMkNKWFpVSlFET3FsaFJPOVkyN1lRTkNRLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.I2QKgadphzrUfpr7-UT6EacgfiZnB5oAA7lNWEB9MaIA408qMUT2WnXmKixsDjAfnGCnqriV6WF94_xGF28gzwJZCoDS75bPOCkA0_dOnCy6B8zSJ47PjbhWxpOyGFw7FFD2Qq3OGauJKPou7soZIKxdHpPI7EfObAGU0ZMJOEDWnvhxh5Be9bgMwErqLQR2uy2zPZxWd8D2Lt26-S-5fq0GNC8RG1WlBXlm__UM5rD_QiAtuzZpDhhcnJ1-B77168YoMw9G20x6-pDsDkbRfIXHXtcasI7dtLfQ05RH9ZcUb1AGCueR51jSOOKfWiPo6QD__af1a7kIiqEBTb73LQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzNjMmYzNzUtNWVkYi00ZmY5LWFmOTAtMDY4Nzk5Y2QwYjQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="341" it="0" lt="341" ct="0" ts="1587564593536" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0MC1ZdUJCdGZRSUFSU0NFa1N5TEgtZzM0akZIYmZXSy1uRCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Xv4waop5DXI0eKgpJj7UaxR-SxM8hyO2VVadAgWDGu0RwsYnoYS1VbrXL0JOZTXNGKIkuemedEN0bUFz21XCYkfmw3hDkr1Ousz7gt6BJoNTYHobwRwQWKvNS3VLT0xxlYZfqfpLYsR9Xdw_rk5ag9d4mUiLcz-PVoBY8-8nQRvdkN6ncfExa9vUUYVwJzrh_AuMzIgQM0_pafapuWcebMQpcD1naKGiOeoGIMQn5dw3QkStdBTxUBc3zi12ZdIYLf0375dVZ0qVCyERon31HyhqWU44-b3mMJXhMk3QaukFTwO_wXZOPDRGLh3LupRva119kwCx_Fysm31XnQYgeA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTA1OTdmOWQtYjI5Ny00N2RmLTgxMTQtMzFkNDIxMWRiYTQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0MC1ZdUJCdGZRSUFSU0NFa1N5TEgtZzM0akZIYmZXSy1uRCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Xv4waop5DXI0eKgpJj7UaxR-SxM8hyO2VVadAgWDGu0RwsYnoYS1VbrXL0JOZTXNGKIkuemedEN0bUFz21XCYkfmw3hDkr1Ousz7gt6BJoNTYHobwRwQWKvNS3VLT0xxlYZfqfpLYsR9Xdw_rk5ag9d4mUiLcz-PVoBY8-8nQRvdkN6ncfExa9vUUYVwJzrh_AuMzIgQM0_pafapuWcebMQpcD1naKGiOeoGIMQn5dw3QkStdBTxUBc3zi12ZdIYLf0375dVZ0qVCyERon31HyhqWU44-b3mMJXhMk3QaukFTwO_wXZOPDRGLh3LupRva119kwCx_Fysm31XnQYgeA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="663" it="0" lt="661" ct="0" ts="1587564593214" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-81" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzkyMjM3NzktYjA0NC00Y2RjLWIyM2ItNzc1MTAxMzA1Mzdh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3NC1CQVVsZzZ6MWR5LTFhWVF0enBTQ3dick5ET1hKd2MwRiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RNhw7LRdrCaOSlCICi87z_j82DO0eS7gb0ZMY2vyS7bo6XjQLZ8Zd_SsmF-AGpaTZquSY3sC4q1nlIiajuQEQ_4e07ExNTvn0zWVOp8x17wixmJ89qq6_GZZ8_FovOU8FLLZcL8IE_G7NIWG3U-qsv7lNsBoOwRlDwEVtJdQkpamSGFfPTG86uAdDZkgcHqjxlmxbJcHspvGuOkT_88DeLzXRuJbvikgT7XJbl8-l0XNCDXr51jVO0AYy-1zepR_1S6usQqJ7U_1juHgYrqSlxXu6jelOL7CnacjpuLpbtBynA4ry6RWpe7Jf0sZL7eSupOQqihJTUZA5bqjfi3yng
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTgwNGZiZWItNmIyYy00ODRmLWJlN2ItNmJkMmQ3ZjA5ODJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="671" it="0" lt="667" ct="0" ts="1587564593207" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-80" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTU5N2M5ODYtYzk3Mi00MTMxLTk0Y2MtNGNhMGU3NzY1NGRj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4NS0tNlRLYXpRdFdScmg4OFlCNUZESlhENHBRZGV6Vmp5bSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lWggZ9qR_v088PzLVSec66oPnmxuEwJL5aWbXP3epK9FZChCklZjaJBNdTmpGXJqX5jkHT6ceAm6hoMbTVSjYpobIRbbwOIBoZ75dXfSROlDptvp4T8MZO1qmAUGc0_AHAAK89HarbxfinPVDaXV_eViseSQlYUP-NeYnTd64Mhg-7EjIsezUdOQjMIPDG-TdZVl8rIuF-u-vGe7zgCmN9Y7StFk5AAvrTFhjDOsmDul4wVFsRO_uDUjE1U44PJM7O6cxX4GfPo4MzteX1w7n6b0mX4Z-7zzzQcUkKiiwFKEuaqkLhcxcdfEoizaujN0_pDrq4vUNn-l5DGrfAejOg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTRjMmVjY2MtNTIwYS00MTlhLTk4ZmQtNjZhZDBlYjVhNDhi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="663" it="0" lt="660" ct="0" ts="1587564593215" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-96" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWZjYzkzYmMtZDU5YS00YjFhLTk3MDAtOWNlNTdlOTcyNjFj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxMC1lU0pQcG1PUGFDak9zQS1hVEtrRG9KWC1jLVY0Nmw4cCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gUSjcXp9pn39w4WBUPZFa4d8fPRbwSmm3WsHc20RoSogytof36hADIaIoUCUjE0DlBiUFVhJszVohwWHiegXPSvjLmcgKDmXIi-X2KI37d_u1gMqQckmts7BIR4iBIA8RvrH9YC-SPqUIeEbYb1o5f8ouOx1jMp_P3Gaaq513ETHyfeAGRla2vsz3TKWjUlBBTH9_70-FV6OXXg2lVrpFmmkDeHpRoVMfVhrj6zvpGxEZM-3NqQABvguCWdgruvWy1O0Uj1sOP3agyzgZ4GQNzyBvoQU5-7IU3FedIx1bgx7Ga8IVJGqCYQsvlGcq_Q0acoa5ic6Neqng8BVlYm5gg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Yzg5MTViYzEtNWMzNC00ZGM0LWI2NWYtY2QzODg2NDQ0OTc4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="671" it="0" lt="668" ct="0" ts="1587564593208" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDY3NmQ3NDktZDBlYi00ZjQ5LWEyMDctYTQzOGQxNDEzODFi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyOC1vLUtxUGxhZzFDeVI5Y2EzLUFZQ05VTzgwNTQtRU9HdCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GeujGXQzzUAAo4mU7QOnJsjjQSBPJ31CTx7wso7VyoTy2J-rFtT1N9G3knPgWRDcSEx44JVwSoxg1NnqV_Z3y7RpSFHAIu2OHYorG6A8X3c93oZtAOaendNgkTzOrFeNwBENlbfIp2yre0U6-T5OMr4CEKDGK4fTX6hqgvhImCNs3e3890z8eYuiJI3YwCX38ttn-nDcejb4mSzCU055qXq9UI5MICXRpyelCYtuDiQavw8ZfAdYgVF6O5nywSzQ70x8XbD3hM7aDsXxocTTTpuFTe6AhrhWKqgZZavwfUBBQLHO6i0ThjmQAG4CI8peDVE5YBgIG5nEUaF60bVIOA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjA3NTk0ZWUtYzFkNC00OTlkLWJkODgtZTBjNTZjZmRiYTYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="2058" it="0" lt="2058" ct="0" ts="1587564591822" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2063-nRkbc5lBfrlT6bmZuUqnFHD1jgLSrFKZcRBOICi1BeKA5ULMihULBPp6J7T3t4rUDTAc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2064-uaUdtZb1q46dK2IGbOzJm9o-OK4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=4c323f60-66b7-4668-9dbb-8f9e67a4c372</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2064-uaUdtZb1q46dK2IGbOzJm9o-OK4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="674" it="0" lt="670" ct="0" ts="1587564593205" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-99" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDM3MTFjYzItYTcwNS00YWNhLTkzZGMtNmJmMTM1NDExMDYx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY2OS1NUGNZdEhvd2h5VS1ueGRUbzhMc0RtRG0yRWdtUHRlSCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.i4ldlXRZTq7ILlkixR7A-eHNh8GJTO4QErMRik4PwEGExlnSmr_vOpIBCP8_g5SCbL6aelyYYjfIxrE9zO1VcaWVJS1NKaL1HYujD-MaWuYh9Og6hEL9KvWVoOfcRzKqVT6UOmO2M-tO4ZrDrF4OdYhoJryfsOGyvhAO6GuZWcoKbou6-pCPPq89W9YiCAjgzfXgsI5jvv_ipkU89eXrL93GUhPZri9bPEdBQtDoxW276rnKNv_ZUwb7lEQ9DG6Yc_S8g7zuMoBdekyUN_lln453KX-PQnRwKd_2BKVoUGhIcM8dwtgaRTnJKyXLXSzqO0HVRDAilidoGfsM54TvUA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=N2M5MDdjNWEtZjQ2My00OWRiLTlkOGMtMDNiM2E4MzU3OGM0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="668" it="0" lt="666" ct="0" ts="1587564593211" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-84" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTAwODZmNDYtYjViOC00Y2U0LWE3YTgtMzBhNmU0NDYyYWEx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4MC1ab2JnYlYtMUx1MVdCd1lKWnA5T0lQNlBnN2hUMHJOZSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EwhvqS4XWN03IQT3In0_j8FPjAI3YkubgAnNqh9GUJRCDB-5bTwrXeMVwpskHBtiD4XkvekKjzHgoUiv5v6gSPjir2WUrJy1HZr1uIzBIhKLtocVIzNbS_hlQBNCUHsQdndRZWEa12eqdGohl60m5J1VpHFYhweYIHTkbXQ6z15cJuWbdIZfbyL-bazdPUqX-L8vu4hTy2euGDTPc3ntIOzrAeLxJ9I1FfJgPZbN_FUTCAECEIFQU0oBrLenqF4RWhjK_x-QQoTJZ25X8Gc0QnDMYUJ6LDoaimdnljltQfbdN5OyqE86JNIdQGG_-DbAg-eIuAQbw-9U22HnyvDjzg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTU0NGNiNmItMjgyNC00ZTkyLWI0ZjEtOGRjMjU0NWQ3ZGY5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="814" it="0" lt="808" ct="0" ts="1587564593066" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-15" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjU4MDc3MmYtNWVjZi00MzM5LTgxMmYtYjVhMWMyYWNlYTc0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwNy1RMFFjQUhiM0hKbnRoQUFlYy10bS1jcS1pY3RlWDdZdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Gv54ucpJvcOq0LQst9_DhWFYrz9IV046XQP_ihFdnxAABHpKwt36ESSA0Dz4hHO5toQxkntbhM1AN6iDLjvrgInd4d2-2G6Wok8kHCYwrdXhHwYXaA9p-ULwEXBN5FLHUmYCv-3vEmg67TyR_p5D-AsPGmfy17iP_EhubmCf-fMreDZWN3ZsrJ8OHbNbStGSKyquq8oBVSlUzvzVRoANw8LDVRas4QP-oxhDVAZbyU7j-OqorS7DxIBpftJ-R7afP5BqEfec8_lohz9j2YKpEvlk5nH2SZPlJFakFWu9urG5RBsqsL44VFKFEDrzKxyupJqR5TXNT14fE9hU3qN9lw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NDQzMzMxYjMtNzZiNS00ZGMxLTg5NTMtYTk2MzM4MGRmNjY4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="673" it="0" lt="670" ct="0" ts="1587564593207" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-43" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjYzMTI3YzUtNDYzMi00MmYzLWE0Y2EtODQwOTg2YWI5M2U0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwMC1uakpNLXFLODlWOWNrc2stZkRCUHJwYnVIUThwNXVJWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GudKxXrX8UqdGyyOcnkTSdemSf_jZal7PDCnndT73vrxsQRY4A77lVl4vVfFp6nYyQGwqOjrbI649lJFoRuNYeScJe2s9CFOVUuUnJKcU6_HZE8mSktzkPuH5u3JamiuSvLnwLK5PDEXF8VDo9WM8YPCl4pE5CWe8znTXVBLtfWkrQmb8JJ4Awmv7woGXiTTwjm9lGKu5Y1oI57fcjnXeGbDum_diUNfCiHySJoocCDIKbe3Y5pDIeNug7z1VtfHFwie0TW_gS2vFDy_F-qN7lBnSvP60CaHQFrDq2TWYLpe6apLtd8Cys6iyk4qsvv8chhDnNH0KxLmweQaXv_DrQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NmY0YWRkZGUtYjNjYy00ODU4LTg5OTMtNTE0MDNkMjFiMzdi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="833" it="0" lt="827" ct="0" ts="1587564593047" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWIwN2QyNmItZjhhZS00ODM5LWIzNTctMDkxOWIwZGY4NTcw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0Mi1OQjJKNWNBbHVPTDUtRHBOV2RMV242NURtOVdZdU1qeCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gkORx1hWZ1nj9k4DExwE5wADAJFnavOb2VuvCKe62Ez2AjU4TAPt8-g06e-c-WuG_Dkctz-43ecHgtBNdAqm8re0SA_ruU3VQak0hrs3oGOMgbc8qj6Vx6XITcTE0nKXcH790n__ZubQ1zahkkaLEDyHTA7E9LRXzs9vgTrJA0vJxiIcHA634ftoWiIqAoVX_Pwv7qnlq8xk6sxgLMkDzaUSCoX_KLWGSbWdAMUWu7DfBAEsS1yzAPOAW5bsH7u7liF-RZfiptFgrqm7u7salD1K1l4WSqYEthc9ufufqlIcySkUwu4jv6gtkTYbGKvLLgFq3-nGe_wLv2K3MZT1Ig
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDI3MjMwODAtNGFjZC00NjA5LWFkMTEtZmUxYzE1NjE5OWJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="673" it="0" lt="668" ct="0" ts="1587564593207" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-74" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTA3N2QxYTItMzFhOS00N2I4LWJmZWQtN2Q2MjhlMTAzMjMy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2NC1Uekt4YTNBWEh1TGFFemZrWjYzczBmY2JGMzQ3YmFhUiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.INcgQGI6caTzeNVHfZPQnCcvAKROk4j-zfNGJrLQRkGZB8a9HSsYE-cZmhwk739_gRS1B2bbyMFwp2BbXAtbobiIg8xF9XBK8I-gN9AG87IWVPOXeRFjK6GFZjhXX_yRSx8s6YT49DildXCosh12Mqdjx_vwl0yUIf7dym1hwG-hgVS5vIX7frdyRDMAnHZGwn0XWUUjw6p3IoMQD7vHeO9k4VjYLJpYDOzXHVrY-cxPcmuA7CpKwx3rjYn5-anNc_53VRXsbpAaaaCl6qABaAnDtFvP-ShH9uGG3paZE9P9rgP3a7ATZW_F_ZthmbbygW9okgzyNkqGebN63K3P-w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2EwMWE4MzQtNDY5My00NWYwLWE0MDktNDM1ZjVlOGVjODM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="671" it="0" lt="669" ct="0" ts="1587564593209" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-22" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmVkYmZiYjEtZTYxNi00MTQyLTk1MjYtZDg2YzBkNjllZTRm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5OC1SZXZzNzhwTFFNaVcxRlNscENrYVFqdmpQSGRuNWJMYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dMm8I28VJcKYA8DuzzfehBGB3JHrG4a9kTzs0KJzNDiKaOo6CISfFNpIlB_fvTd0pp3daHVz6JMb4TcVCWmSu7R2rr2McyPiQWINUZvL_6IeEWXJcP4Fho5pbjPlA0EvOve3Fv4Nb6HAJcjZQdW7bVpHiDejCLVSSI1ULgw8xKm-CAR-t3EbumA-kGJU9kxqbDPF_MEjDGvTfQCJdPjqNUS8Fu0DHZA780-bhL0p5aJsEYqiK7a9VUdFDO2m_PKMgBnzUimKD6iEscU9Uxm98tZa4NMQPd5h5Uy0KrhCfrg7oSgJEXhHCp5BBrbZb35ScAAAREZbhK-3rGcBEuuIQQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NjBjZTU2MDctMmUyMi00YjhhLTgyNDEtMWQ5MGVhZGFhMDk2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="666" it="0" lt="662" ct="0" ts="1587564593215" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-79" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWEwZjAxNjItMWRkNS00YzZkLTg3MjItODdiYWFhNTczODA0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4NC0yZnE2Mi1VUjlRbXN6OEJGN3ZBQWUzanVqT3l2U1pFbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QiJ8S70-2VOFQymxwU970pJ5OnJrvZw3Qo1HgwdJKgpm1emU_Yodx9UrAVfYNJwhD9irFA8jcWcfOLi68TbiDVUoMruByXgfKwulHwiAUIzZfMvPIh9Lht5XXuP8ELsRKazWbKOTl8X5q0xWljksZU_9jnufT8yLalPz0p7L7K0h_rwl1EenXcSeB1zqCvujfEzf7MRuwQG0zPbOKyZU5_oglybQLPPJfw446-9_cwS38LepG4IYofXBao6OXm6hH-UPnWi_exc3y-w-TQFt0osWzwF4yYwILt0Vyquon0OiE5SOYkDD_hU5tjk2NsmkJHZ4ekUEWYQbc57WWiebVg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2M2NmJlMmYtODZlNi00YmYyLWI3M2UtOWEyZWIxN2E3ZmNi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="672" it="0" lt="667" ct="0" ts="1587564593208" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-1" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTNmNGI0M2MtMGJhMi00ZmMwLWE1NDUtMmViNTY2ZjcyM2Yw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyMS1XbzNaZnFQaWo0RzU5QVlPUmdGdkYtNkx3Sy1na1NpQSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.G87uWdiEqI8OJ3FGLV5XPi6stnhnbNSV2431y_weu-v_lICzOvVYB7Lh_SMZ03I1JtBmNIp_Yd4MNMdQCUjkKw6qagqLq6IfJXqyflRGU1OXbrgJF1mEwMZ_EDQDJZnhHOzH5xLlvcjbzlaYNjh-te1wvgBfzwJwpOEGm89RzanLsPijMGuBycPyfRSoLEzCG0ckEmOx7khA_4Ec0zsCIh6A4EWJgYnhYgANpCTDxQp0BJp1PAkKtc8P_ljI9tsWAbwNIoIwRKGIRMD1EmSGSrV2sPv9XUAxMX8PwaRcNs-XqL21eREczk22VH9-SDha7_0TMWfCu-96RcwBBpJRcw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OThkYThiMTktYWQ0Yi00NWM2LThmMTAtZTFmZGU4NmQ0OTA1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="343" it="0" lt="343" ct="0" ts="1587564593536" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0NS12U1JYUjUxQUZ1QUZGTVV0aW9ZWWNsQVIyY2ctLXFVdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pbublvzwJzoSmcwmXxF74mvwfzhSLrZkFdc8cFC4EFbX5sdswtaZJ2LQv_7JftqR9gVE12AWEl1sxNXvebsAV75iW73-DyQrVitX8KU6NNqm3olsCiZo3M3droN51O9gMDV0kP8XEvui4pX7Avj9nwn8E6D7fQMC_WAIsJyF5af5K_XD-IdcQxYLBXn3786ehGMBoixBOSRAUGfZzNbXVG2GWQtpZn7wMDeD6zdUS-ZszYqypuMm4t2nCz66rBGhlXsM0M441WeWUGsZ95JKkmMIgv2Zi1r-vWaNOxTfM1Fpfc605cCb6oCcJXVVPvXXQqOikJ51gI9_ObiE9IcS8Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjFhNzg3Y2MtZTg4MC00MDgxLWE5MWYtZTgzNzA2YTJhY2Rl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0NS12U1JYUjUxQUZ1QUZGTVV0aW9ZWWNsQVIyY2ctLXFVdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pbublvzwJzoSmcwmXxF74mvwfzhSLrZkFdc8cFC4EFbX5sdswtaZJ2LQv_7JftqR9gVE12AWEl1sxNXvebsAV75iW73-DyQrVitX8KU6NNqm3olsCiZo3M3droN51O9gMDV0kP8XEvui4pX7Avj9nwn8E6D7fQMC_WAIsJyF5af5K_XD-IdcQxYLBXn3786ehGMBoixBOSRAUGfZzNbXVG2GWQtpZn7wMDeD6zdUS-ZszYqypuMm4t2nCz66rBGhlXsM0M441WeWUGsZ95JKkmMIgv2Zi1r-vWaNOxTfM1Fpfc605cCb6oCcJXVVPvXXQqOikJ51gI9_ObiE9IcS8Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="681" it="0" lt="665" ct="0" ts="1587564593216" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-72" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTYzYTI0MWYtNjE3Zi00MzVkLWE2MmYtNWI0NDIyM2ZlNjY1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5MC02aVlYNnkzTm5OeGRPWXUxaDRLa3NNUGhkbUwtOGZYNSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.i2nEAC4T-e6bTj-71VXrUkHLKM3FBys-Q2bu8eScBaAu_kHWhPc__-cavHk8NxJqk8ePPYN7OQhj6J32Y5u4-AfVby3aqWGGITsnIWgiE0a7URTKz-BALfc1pM1jOevxMPzdtoYM7tNWHAQMZh6-hL0T0XnqDX3lnT4RGJM0cjElkCsh11asZKI9LK6GA7JfW-EZd1NtpD1eT7LHfXySZmgg71_f8puoBlnvy34EXA_YsxgkZTCAxGS_CQNk6JmYc1egdtK1ilOMBGzfFcXob-hl9ETPiEEaWCFDLe3iZb_926TZy3R8HeI1mSNgAuXISa2PjeMLOkyqSUxWq_JJLA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGZlYmM1NmEtYTdmMS00Yjg3LWFhNmUtYzk2M2ZhY2E3YTQ1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="689" it="0" lt="668" ct="0" ts="1587564593210" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-53" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGVjN2I3NjEtMjRiMS00MGY0LThiZGItOWJhY2M0NGIxYjAx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwNS1BU1BnRFZsRklTdjVPSUJjNnVUbFZnMGNDZGdOOGlzbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Fw8iq3pm5ww--ccIW0TdRaIJcM59aMHvRsriCS_ma5x-MBHmTuXl4hnFHZT-Uhd7ke2krO6UCXGy-XzisY1ulJwFleHrRhstq0w90mSNxj0DY5A34OABGv0agnWdqbOqJ7L2lB1IJg-yWUnQGZS1rUJaPiwZvTpV0CiHOVxHzgz7bM-X-wArYU3y0TKYORW5JS91VSGZaCGqNlZKFDywqVJJ_xOpDuTxGQbKAUxfgFX8ZnEyzoR0WEsQw9x475Lf1qKz9cfQLeqPTsI7fhNqlv7kk0CXycFKIgZ5-277n6XMjvsqdeSZjPbJE1y7Pc7j2X1jShHpamXDJ0LuEhB3Jw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MzhkN2Q1NWUtNzEzMi00YzM5LTk4ZjYtMTY1NmUzOTQwNDNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="764" it="0" lt="678" ct="0" ts="1587564593206" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-30" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWFiYjY1NDQtMjZjYi00ODJlLTkxNDYtNGRlZTJhZDQwMGU4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5Mi1qZy1PanVmRUR4bnBrNUxEVzRYakFmUWVqaHRLNVh3byIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.phDQ-XpCYtVejnRWv57_sUEJnxt5OUWafHLMaiII0wfF8jNW-wDhiU-VlXQ7r4NJT_W4-3w4dFCP5ZEkAB7cuWcX5r-GAxuAcPYyNtVDGimmLxQGiuPFQVGtpXLDFgJAtQnWoj2AlljAUM_QKTo6qu21_ARpxD6YnSzIh9qIuzY4Ecu-jh8XsdXHDYDp9JuW1dYb-oLgL0GGj0kBwcQncTGBSzRCQovZCqTT-2DjtGWfdA_XO73UkcABRpfiCSLRGjaca3civMEEGw71qRKe8J-2V9OSZ7d6LDD8MjQSLwG7u_vAr99mH0tc-loUe9P4wVCyrTMZgcoGPbN3D1_jzw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDA2NGNlYTAtNzhiOC00ODZjLTlhYjctMDU2YjFkMzQyMDQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="267" it="0" lt="267" ct="0" ts="1587564593704" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjZlNjFkMGUtYmFkNS00NzRiLWJjYjAtMjY5MjM4ODQ3ZDRh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="269" it="0" lt="269" ct="0" ts="1587564593703" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjM3MjIxYzItYmRmMC00ODYwLWE4ODktNWRmODFmNDA2ZWU3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="762" it="0" lt="761" ct="0" ts="1587564593210" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-12" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTYyNTY1YTAtNjVlNC00NDdkLWJjMWItZjdlN2ZlY2E5YWJk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwMS0ya1lubTV6a0pMV2V2dFBDbzhEay1NVHExLUlmaTZnQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ItKeYknVm93cXgobeyIypmbBXFMS0WZjyvSaRKRn6GjorQTQNwZI3T4RIRDVSiLDGuNKlK1Qt_48wFqI4AihnC-LfU6kgFmu520FOCEkyRaUEcH2JdhUVL7Os30PqrFcfoRDdH8bm6cc6n2f3GOCROnfnxOzC3U3TjA7OaVa1JsG70hiajM7FM07Ib_Mcjrh_JboX5tpRhwO5E8SSekP2Twb6CZAtyd9QuNqtHxPpEquhqhLcyriijrOQMa5IbSEEbGfEbfgPult287-WlX7_3J92USfpkw2orMeNy7IadTTaT-e6BFavrg3xFB80_NNoJMCkoUT_VQQvMcU6dRQEQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDFkZjg2OTctNTk1Ni00NWY5LTlhZDgtZjUxMmQ2ZjFlZWRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="263" it="0" lt="263" ct="0" ts="1587564593710" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzY1YTliYjQtNTdiMi00MDZkLWEwNDUtYmZlZjdhZjM4NWJh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="261" it="0" lt="261" ct="0" ts="1587564593712" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWRmNTg1NWQtMjBiMy00ZWM3LWFkODgtZjAwYmQxZTQwYzcx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="430" it="0" lt="430" ct="0" ts="1587564593544" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxMi1Ib0dDOEZodXVnTEtpdFExMUszVGgyQUJxeWp0U1dBNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.B2f0B7OcKwpER2Ecq5IvEuD3_KHSyrHYAq9EsztvtDCqhQ9nVIeDNNr9Nu-hmXwZkKmFtvGnvSCYPJ9oUia5UvkSwfFo1D4bAI7joB_A5uh7J0sqNuv-4dCHH94AidrW1RrNxWJLFPLU3RvT6Q7xaGlGVRPOTorwOG0qEmwfoRV8mEW0oS4JaduPZDV2JjXIAN0C6N7HOoy_Kl56EZAcFaj9m3VGemJd9fq_HlWVr6Gzr_ru6Il7lVRRjwW1N4TYma96vJUt3Tpy5iOQtuNs4ZOZGqaEgRr5btDNyJmCMTadaPqntTKONkExUId8Sxe2-MSUMjq3KEqG9Smbk3ILgA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDNlZjE1YjUtNjIzZi00MzY0LTkzYTgtMDAyYmZkNTAxNDhl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxMi1Ib0dDOEZodXVnTEtpdFExMUszVGgyQUJxeWp0U1dBNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.B2f0B7OcKwpER2Ecq5IvEuD3_KHSyrHYAq9EsztvtDCqhQ9nVIeDNNr9Nu-hmXwZkKmFtvGnvSCYPJ9oUia5UvkSwfFo1D4bAI7joB_A5uh7J0sqNuv-4dCHH94AidrW1RrNxWJLFPLU3RvT6Q7xaGlGVRPOTorwOG0qEmwfoRV8mEW0oS4JaduPZDV2JjXIAN0C6N7HOoy_Kl56EZAcFaj9m3VGemJd9fq_HlWVr6Gzr_ru6Il7lVRRjwW1N4TYma96vJUt3Tpy5iOQtuNs4ZOZGqaEgRr5btDNyJmCMTadaPqntTKONkExUId8Sxe2-MSUMjq3KEqG9Smbk3ILgA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="765" it="0" lt="763" ct="0" ts="1587564593209" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-21" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTcyMjE2NjMtNTMyZi00Y2Q1LWEzOWQtNzFiMmE3NzZkMjky; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0MS1iMlhoWW84QkV0cGZ4aDMzRkoxV09obTQyZC1QR0dVVSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lfN5FetejKt1oGtGLd5Rg_zTDDBNgiG9KoIuIcawwrBL8AC2I0a716ThDR7tjLF4g8g6N1cz98XXSy-138YsEC_nVqUumfZ9gkLVu4TqZjCvv91qERoRMfLnnSIjdYCwwLqVdn0I_3eYR_e-x8LL8yqww8QZdgRtx440uSbVa19k4MIWPsb0qOU1bBPtC96kRPI3Vmeb6tvSfaxcr3WK5n8-QYKXsUK7AO010orB65omA3d6eg3xEjFPqsxZSSo4abLt0Qy5-lOZxTh586nB3bi1ck0aptfoNLGl4hBgizYj_8loOdWk252siNNdQhADmHHg7NgjUX3LhrOp35-Evw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MWM4OTdjOGItY2MyYi00MWZiLWI2YTUtY2UyNGJkNWVkM2Qw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="266" it="0" lt="266" ct="0" ts="1587564593708" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzgxYWVjNmItOTVlOC00ZjVhLWEwZDEtZjI5NGQ4ZTVjNTg0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="272" it="0" lt="272" ct="0" ts="1587564593702" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3MC1PdnNYajdLLVd1UWFRcS1QSDZVS0x0cTZXemJIVThZciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.N_R70f8KzTcp8cCxe56rQv4eey7DGK766AAGJYIR8VSEE6-T8Z1qWBvSKivySXDwSdgQ3GHveRnsAtGlzea4CH7YAWQMsDsVW0sh3SIUrsucbsjlWoZcRswmZKNVWobFmGvwbdCblimEGhsIwLK0902_lsDuYLH1HfUQr8ThMBf3odgYU3MARXfwSo_3a-eF4Tq51_YVYtVYyd8V0OfzdH_FjK7bYyGC5aFZcSp3G6M88Xpa9XcPbx50N4FYBvHf4n_m0lVe4cH9CnAkIYbdv8ngDHG2TaGUUJOKF-JL1dZNdE_1m9nrrhNAgx9DgwPu8XtoRHe2A_KpXnMylo6zVA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2JmZDU4MTMtNGIxNS00OTAwLTljZTUtY2Y3ZGE3YWI0N2Iz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3MC1PdnNYajdLLVd1UWFRcS1QSDZVS0x0cTZXemJIVThZciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.N_R70f8KzTcp8cCxe56rQv4eey7DGK766AAGJYIR8VSEE6-T8Z1qWBvSKivySXDwSdgQ3GHveRnsAtGlzea4CH7YAWQMsDsVW0sh3SIUrsucbsjlWoZcRswmZKNVWobFmGvwbdCblimEGhsIwLK0902_lsDuYLH1HfUQr8ThMBf3odgYU3MARXfwSo_3a-eF4Tq51_YVYtVYyd8V0OfzdH_FjK7bYyGC5aFZcSp3G6M88Xpa9XcPbx50N4FYBvHf4n_m0lVe4cH9CnAkIYbdv8ngDHG2TaGUUJOKF-JL1dZNdE_1m9nrrhNAgx9DgwPu8XtoRHe2A_KpXnMylo6zVA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="769" it="0" lt="768" ct="0" ts="1587564593205" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-25" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDlhYTFmNmUtNjhmMC00NDdiLWI4NzQtNGY1YTk4MGUzNTEy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyOS1WZExlWXhsSGFoaWhSNmFoY2tVenJsVk9yTVV3Zi0yRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ljoJocqEaNhsHrCZBDajiFsvGwr-tJne4pTF1mtS9b25L3E_XZUXTYd9GuZkHJ2W5tkwCSx6dxdddkByfy3JK5Kdf_hxcuvp7Tew_yUPmmQH9XeA9Je0F2017WN_vvcIsi64VdMdtpWM12d83uzk14_vZO1g2-nY_DdpxhdtOxV6YsTm82PxpjLo2e-cHZQNKPTojYYDyhT1nNWsvDeTGp5mwJu4vNXPmog1bKnAXe2PtNN3496WV79L-OkhWPWDjtFCF53-_EuIaOkXi2T_nrslN-UVAu2_waXUR4BAGXqE6YXk4lcrLCqdWgLQYKTKfDU28Crd6MOB3I3lxXFPNQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=N2Q3MzllMTQtZDVlNi00ZTMwLWI4NmItNTNkNGI1OTdmOTBh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="438" it="0" lt="438" ct="0" ts="1587564593536" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-76" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjVjYzRlODEtNWIwOC00ODNkLWJjZmMtNjU1ZmVhODI5MGI1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwMi1rcncyU3Q3eWJjVzIxeHpWTUEtM3NkdFQ4OHgtMTg2eiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.QWRCVWeTfJDc72SZiAwPODwJmjxdFrw0ayWQRr4c3AY3wFkDOMOwH9UQG4RmovikelJaKWIipaPMzFWH8RHyEmAF-UZZlj7n-Fd21-VGJN_czJZB41E1hmDTP2zSOXgHUUPvqEdceaWDFqUm0RZtqyWg1sPJ7lqOuHBj3SvbYk9J96Jks0oWyqeuAzPCjcnPjCcm8FkPv3Ck45w76XiHd4TOLpGovcrrj_8NTQD-ei9EH0_hm23VALmnLiM3NRd_BpfZ5WOuLzSEkHdJYQroWpbauirpEk8Yx0LA7f6NMsBFCqj_d7E4L1uF9LRdk3YyQwaXeUkgCorZ-TM-juMqeQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MmU0YjE3YjEtMGM4NS00MDBjLWFiMmUtZTc4OTFhNzZkNDg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="351" it="0" lt="351" ct="0" ts="1587564593624" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyMy1vREFNVHJVZFBYRE9CbnhrTEJiU003RS0xT0lhdEZPcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nsRKmVc8NHGbJKL-EqUSuNK2FjaOfX9Jrf6-AwjwcovoogwBEIU2WSzew91CBxBRgICbywthMChMVBR1GZReM_bLvhlDhXim3-UMG3JoEtArntFtk8CAFi6ahRLMb27QKLv-R5PDV97pVjyeRBIGmzKRnkRCcVtZ4UyNAm5Js00J42phhVDvasA9XWIl_yzXkYC5IPfwEY5_59DOmKqlllC2nHyVgaHylAIqUtqWwn8jbWlu7L8E4TSLVuXPcbFE2tlc0Csroc-4L8ZYoJy-Yrr4-QJuHGhSnAc-ip-wsfE6rlylp3--cUwW_jQu6fJpuyuJ9w1kdZcETtXG2jZ3Zg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWFmMjBlMDktNzkzYS00MjkxLTg1ZmQtNDc0ZWY2ZTU2NGIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyMy1vREFNVHJVZFBYRE9CbnhrTEJiU003RS0xT0lhdEZPcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nsRKmVc8NHGbJKL-EqUSuNK2FjaOfX9Jrf6-AwjwcovoogwBEIU2WSzew91CBxBRgICbywthMChMVBR1GZReM_bLvhlDhXim3-UMG3JoEtArntFtk8CAFi6ahRLMb27QKLv-R5PDV97pVjyeRBIGmzKRnkRCcVtZ4UyNAm5Js00J42phhVDvasA9XWIl_yzXkYC5IPfwEY5_59DOmKqlllC2nHyVgaHylAIqUtqWwn8jbWlu7L8E4TSLVuXPcbFE2tlc0Csroc-4L8ZYoJy-Yrr4-QJuHGhSnAc-ip-wsfE6rlylp3--cUwW_jQu6fJpuyuJ9w1kdZcETtXG2jZ3Zg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="103" it="0" lt="103" ct="0" ts="1587564593873" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGNiY2ZlMWMtMTFjMy00MzE3LWEwZjQtNTExZDZkZDEwMjll; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="270" it="0" lt="270" ct="0" ts="1587564593706" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyNC12Z0xqZFJLeVJHaUYzdUdLQUZDTTgwd25JSWh0dzY1biIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Kdspgc5eaFHsgTWdm6SyD9_vtNGG3DaNmixCXX5muPPRqXAhl0xMARWBhVgwscZFL5JmoImsRCMeA-r92euKxZaMm0S6ZOhWIROokcU3O5QSzFFWK6pdHepxxGgFcYHYwXUmqMibrfMvHM8g6wUbKE88c5pGjjl0UHM77SdprEefMCioTrovpXnylg6sNy-G7xQzielRyw1hbBFMnB2TXGuCXNBLNekArcyctMzH6Is1MAIwm0wNn2-eszi0koD0S-uXcQ2-jURkNZRxGuZO8v2bafMapfTiKLasUYZStWp4dzpsIygcQkrWHEurjLS3uONKWJia7fFDn58nEac8pQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWM5ZTJlN2QtYmEzNC00MjViLTliNjAtMjg4Yjk1MDAyODIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyNC12Z0xqZFJLeVJHaUYzdUdLQUZDTTgwd25JSWh0dzY1biIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Kdspgc5eaFHsgTWdm6SyD9_vtNGG3DaNmixCXX5muPPRqXAhl0xMARWBhVgwscZFL5JmoImsRCMeA-r92euKxZaMm0S6ZOhWIROokcU3O5QSzFFWK6pdHepxxGgFcYHYwXUmqMibrfMvHM8g6wUbKE88c5pGjjl0UHM77SdprEefMCioTrovpXnylg6sNy-G7xQzielRyw1hbBFMnB2TXGuCXNBLNekArcyctMzH6Is1MAIwm0wNn2-eszi0koD0S-uXcQ2-jURkNZRxGuZO8v2bafMapfTiKLasUYZStWp4dzpsIygcQkrWHEurjLS3uONKWJia7fFDn58nEac8pQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="103" it="0" lt="103" ct="0" ts="1587564593873" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTY4Y2MyNjgtOGRhZS00ODVlLThlOWYtOTRhMTY3N2I4MDY5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="437" it="0" lt="435" ct="0" ts="1587564593539" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-49" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjNiYjc0YzMtZWIwMi00OTEwLTk4ZmMtOTIyMjhlOWY1MTMy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0My0tN000VGp5akt0ZUlzcjFsQll5SzZpd2FlZFFPZ0pNaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HIfOvuiydrbGXq1_756y0yDNN4nPUxuEaTJfy3JhMCZrdumlPjnNBS0gM31XVXLAuOJO9dNpduuCAIMd-GlPM0MmMhUkZn9i-05yfPt69MkTnsqGHR5z0kQIvp8DdpOToBndBJxpJYvi6IFQ4ggK_6AUkDCsIvf_KVT2n9Mhq74Exb6Yi0pdTuv2WLl-qo5MUO3JJ5kzhyNwsfc8AdYU_XNMx3RtaEFIK-jQIRilmG-l4ASxibk12Z8fpHcroKIiGL_yCPrnLgeWmEghD-X3ZkAdABNTadb8MUhH0N5x48jDDyOBmbdK5ZkzxlWz1dg2a3iuUV0IbHmfhxP8c_X6Ug
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWZjN2E4YWMtMjhmZC00ZDUwLTg5YWMtZmJhNjZkMjU4MzE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="103" it="0" lt="103" ct="0" ts="1587564593874" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDM1ODlhNDItYjc4Yi00MDNjLTllOGEtNGM4ZTc3MzlhODJh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="100" it="0" lt="100" ct="0" ts="1587564593877" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWFmNzk4MDQtMzYwMC00YTk4LWEwZDEtM2QxY2I4NTRkYzI2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="97" it="0" lt="97" ct="1" ts="1587564593880" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWExNWZmNjctNDhjYy00NGU4LWI4YzQtMDk0YWRlYjExY2Fk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="107" it="0" lt="107" ct="0" ts="1587564593870" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjFlNjUzZWEtZGI5Yi00Y2E1LTljNzgtZDczMmZlZTE4Mzk5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="100" it="0" lt="100" ct="0" ts="1587564593878" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODRlNjQwODQtZDYxOS00MzY2LTljOGUtYTVhOTEzMTM5OWZk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="772" it="0" lt="766" ct="0" ts="1587564593206" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-91" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTYyZWUzMGQtN2Q1NS00ZTYwLThlYjQtN2NmZTEzZTljZjk4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyNS1EUmhEODI5ZmxTU1VBRzMtNlJ2N3MySmIwb3pNYnFTMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oie7SB145gbB6ys1nHfDnWTG5fqnDvlxQr-o2n8XA7KSyrV3V0i_EFllVlbtKxMjlHmnd5AKR_GA-ECyp9JljueIxKWi6iBv9P25OKRYutgA3R_Njsf98X57fUDvse6p6jRTsqnzV2xM2IX7kcjsJbinU0fPpjRuUrVfejym4Q_lEwSRJgM16EWyBcbeYv7RuQtogJtqqCAr_AwVsebwiLpfzdtHsCYzi-xAm4M-99s6UqVabAYqgRU09aa2Lu6-OXdS7BkMbMdKehimj_RlQagBD_oPS81ZTbcQu0BGmbcxjBXRsDhx236zcq3Qwayl4ze53bOnEqnQwmXDqS6jAA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODU1NmEyNzItYzY5YS00ZWQ0LWE5MGQtZTc3ODFkYTljOTUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="770" it="0" lt="764" ct="0" ts="1587564593208" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-71" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTNjYTEyZjEtZDI0Ni00ODA1LTkxMDMtYTg0MWQyNWMyZGMw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY1Ny1yMnNyWldmc2ZYNXlncy1BNzdYeU5EUllQZXJIYkVwaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PfkpPWsqsFfkztMadt1BY5R5ZsWbk14f57WgXpj0DOQquh0a5Jy4bA3AxHM7jxwNGVxKZSIqCEBCtNmuTaS0E17Y6ZPsm9OcdFrHx88WkQsJjLYNv6i3inqfe3mMceMJ6hZaTLMwAIhpuqbPrtAbB1e1lT3ZftUhqXIg_xPARRTTKfEXfAymaTSVNEE7grNB6UPBIRQcFuWdo18SFWEHQIEV5JAIguvV_cz2rLQO-eCpsRfXNzhcQqF16iXmwBi2fxzh0eJNOvne3WAJe2T3vzNASmxsL7VnIIoYIDsLPWvx0-5jXA5egHIL-82_8vogsRTuyW6qlsesjWTN7xYvUQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MTllZTJiNTAtNGI0Yi00M2Q3LWI0MmQtYzc5ZjNkMzJmNzQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="357" it="0" lt="357" ct="0" ts="1587564593621" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4OS14VVlIOHh2aTdlakdpaXNUSDItMDM1cEcxdlNFa2U2NSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qa2h2qsTzR6WDGdWkKsVqQIfWJq66YYG4Q44ipq4PUE-iPHeg9B-9kB6iqYDnaMRkls-1T1n3Cule4ZjPP8lpC6VRd48vki-s5JXne3ooreGsEMAXygI4Ns26nqli6tPsjA59so9Uxo4LpdOOa_7bdHtaqyQxoVMLXuNOkZnyv7yhUvfWSLP7pGINZo3y7Z1NhkgebXY_3AUMKPqupS2N-rr29SrSqGyMDUtpcmewbTcT_tH-f6hLzqh3vFDnoeV6dCFDmDVpzmaVwFqEhjMmFpAL7_4XoWhE5nhOGAeE8OAlsKobqOd7J5ASLQ9nHGKq14ZwMAptME1xZcc8mDL1w
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjY1ZThhODMtOWIzNS00OGQ4LWE0YWMtMTg1MjFjNTlhMzAy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4OS14VVlIOHh2aTdlakdpaXNUSDItMDM1cEcxdlNFa2U2NSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qa2h2qsTzR6WDGdWkKsVqQIfWJq66YYG4Q44ipq4PUE-iPHeg9B-9kB6iqYDnaMRkls-1T1n3Cule4ZjPP8lpC6VRd48vki-s5JXne3ooreGsEMAXygI4Ns26nqli6tPsjA59so9Uxo4LpdOOa_7bdHtaqyQxoVMLXuNOkZnyv7yhUvfWSLP7pGINZo3y7Z1NhkgebXY_3AUMKPqupS2N-rr29SrSqGyMDUtpcmewbTcT_tH-f6hLzqh3vFDnoeV6dCFDmDVpzmaVwFqEhjMmFpAL7_4XoWhE5nhOGAeE8OAlsKobqOd7J5ASLQ9nHGKq14ZwMAptME1xZcc8mDL1w</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="272" it="0" lt="272" ct="0" ts="1587564593706" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcxNy1uQ1F5U2pYNHYxQVBRcFlwLVVvUllGLXdvaDlsUG9RYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Jjhxl-1jdz29Qlql4txusdgMPPy1o9yp2Qe1ycugtU6UxLOPmHuDaNCUuDzH_aM3ZkpBta5Er1MqTmwTUaFwE1xAntxzlU5EuVvQ4v9RLyiduzx7r0ktToEKJERvIBoiAVLHuytD9ubGOpar0Gb2hz6O25VF7k-CaxGOqh86xPWi8lOo75FVtcsHBwcD3w50XkVw1LtbK_iA7zd8_5lqpzCwVP2u_MFyUM4X1psvS8gMuVXsDDPT5moh9Q2D2nvP1wfOn8CBtOgOQOmXe4mHzH8OHnEqQkPO9TrKjfyqCqInWKNuuWv4TGMYb7F1p5werW5MLTa1A8ZLqnkrxLmFqw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGE4NmNlZTYtNGU1NS00ZmM2LTk4ZTYtZjA4MDU0ZDYyZDEz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcxNy1uQ1F5U2pYNHYxQVBRcFlwLVVvUllGLXdvaDlsUG9RYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Jjhxl-1jdz29Qlql4txusdgMPPy1o9yp2Qe1ycugtU6UxLOPmHuDaNCUuDzH_aM3ZkpBta5Er1MqTmwTUaFwE1xAntxzlU5EuVvQ4v9RLyiduzx7r0ktToEKJERvIBoiAVLHuytD9ubGOpar0Gb2hz6O25VF7k-CaxGOqh86xPWi8lOo75FVtcsHBwcD3w50XkVw1LtbK_iA7zd8_5lqpzCwVP2u_MFyUM4X1psvS8gMuVXsDDPT5moh9Q2D2nvP1wfOn8CBtOgOQOmXe4mHzH8OHnEqQkPO9TrKjfyqCqInWKNuuWv4TGMYb7F1p5werW5MLTa1A8ZLqnkrxLmFqw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="272" it="0" lt="272" ct="0" ts="1587564593707" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5MS1lVEpIUzhlOGZWZ21TLWNrNU45Zk5ERDBXT1Q1eGRkTSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RQPnCmnb-VePMSGQWFIMLKueNKON1DpiZI06KfVvHPHCGC4wWCA-OTqzczPspQtS_obuBwCewY4sibTkcuyFUto6W-Jxd1pi49rlsJSeEj_7S7LEjPrXjFFkgFK1tdIQd6RVC05Y-HVVHgK-pioX1655uCmhRScQmYiryGSpGWn_mWy4d8pI43lX-AJr63d7rpS7DPbhy4ug2rr4P0_HiBvB-RzhHEesjYiV9aSjffQeFTmsF64B9PnvBJsEyIO85RHf7HzO1ecokJVqRYMcHlG48B3N-PRWUAaq7O2Y7EPgKrviPWmNGRWHcmXa_4hZecFRzwBQQIBYNAAc7MJyrA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGE2NjVmYWYtZmRmYi00Njk0LTk5ZTMtMTYyN2QyYmRiZmI2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5MS1lVEpIUzhlOGZWZ21TLWNrNU45Zk5ERDBXT1Q1eGRkTSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RQPnCmnb-VePMSGQWFIMLKueNKON1DpiZI06KfVvHPHCGC4wWCA-OTqzczPspQtS_obuBwCewY4sibTkcuyFUto6W-Jxd1pi49rlsJSeEj_7S7LEjPrXjFFkgFK1tdIQd6RVC05Y-HVVHgK-pioX1655uCmhRScQmYiryGSpGWn_mWy4d8pI43lX-AJr63d7rpS7DPbhy4ug2rr4P0_HiBvB-RzhHEesjYiV9aSjffQeFTmsF64B9PnvBJsEyIO85RHf7HzO1ecokJVqRYMcHlG48B3N-PRWUAaq7O2Y7EPgKrviPWmNGRWHcmXa_4hZecFRzwBQQIBYNAAc7MJyrA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="441" it="0" lt="435" ct="0" ts="1587564593538" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-18" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzdjZDNkODItZjRhZS00ZmMxLWI2MmQtODA1YzUwZDdkZmVh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcxOC1ITlVhMk9SejVQLVctQnNiU05UNlNlVHBNbFRyMnY2SSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.EQG-pm4Hdn8Z6GQV-OuXYrjMO05TSinsvsla8a5gcjkmhtzMbeJG0Glj3qam2uCsTXjQD8LqbejcTgFn1oDonIBIYUETpClECF4K5do_luO3P8jNzVMr_IAkt2FJhSCNtjHevcO0SJos0UVr54K-6zqo0vlWBpq0dQRX2Bxs6kFB8iq8M15mQGLzh4Oy0eChJEUOqdqQEbU_Wl5GgXYu9pPUmBkjP59XHhh2QvVk5w5iky-oQTm9vZozBxbVfQ-BN7WpISRSbonaA8vbadt09IhMQpXY7TuDb300UBkBQn9-YMRb5k-1i4wR42R6kw-2CTachUNCE6F6kwZjHw_z5g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NzM1MWQ0MTAtYWY0Zi00ZGMxLWI3OTEtNDg0MWI3NWU1MDVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="445" it="0" lt="441" ct="0" ts="1587564593534" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-42" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWNmMjZiYjQtMmVjYi00ZTI0LTllMDQtMjhkN2QyMWFhN2Y1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5My1vc0xNLUk2MkU0VjdxUlFKZE82VDlEVnlzOXAwSkkwWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.O22_ZMS2ahv8q2jko_OmGhcwXffT0PuJkzxSj3zvzSc95kxvlnUd3okWIX1kmfCzZY7ucbuye2uPcpUKtniB1SZOGdPCVzpeWBnVcqAaNF2Yw9pHTzoq79UBD44g37xy2VCkj-N8qNa4c9p0HXziZfouIijZVuYzqn-XZU9Lki-tCkuDrnvtlSHK7qipNzwI85e6Sqde8NE0X9u-7fojVt2QnSfm4RlCvQCIP1ot6PqUSWs12oBfQM031H-iseasjSWvzQ66mk4IRr8S3Dk8iwUU5qquPwEn9L4VTFIOooCmoYtITvpTarHyuHuc081j2VBPrFwiJIfjqO1qTRj3pw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Zjg2ODY3N2QtNmZiOS00NWFhLTg4NDItYTVkZDViMDdkMjZi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="764" it="0" lt="759" ct="0" ts="1587564593215" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-44" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWQyYzExN2EtYTE1ZC00MjJiLWFhYjYtOGVjOTNiZWY1MzU2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3Ni1xTEN3c0NZQ2ViNENOSWE5azNmRjBlZlZvQjFaSy1RVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dVB9-5T50g2v4FUaYrhOxxYEybJfCODHlTohtv53Ze8BizsGB5bzRX8rch3n-YvxlP3ZAe1WCv1L4humEY8sSt5PU4Z8AFYuzet7xkOWoGQNUYq56uErl1pES6zBaWTjfgZhvLgoSnUR5LCP_9lQJ0X2sVsnNejeonKfqSTCZDuuMObpXfJx9AHFFh30gFo22PUvJDh_d1ecwogO80bu3OBle2YYQPdLIAf1Zvx1h3DLOnCAijapQgsh9IwlI0bwtoiUA3vOzOvIAEY5eq5vXUHg-8uBgjVavUr5SxdxqhzkTjtSGjyz2NLUR_Ad26E1prnNWqWZWtJ33-DiASwkNQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTNjYzAwNWYtNjg3Ny00OTYxLTg2ZjctOWQxMDUzNjkzNTky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="435" it="0" lt="429" ct="0" ts="1587564593544" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-65" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWQ1ZTc3MzEtM2JiYy00MzkwLWEzMTktZjdiYWNmOTNjYzFi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczOC1wN3F5NUlTSmpDWmZEU21EQTJmeC1UUlpHTXItcnN4QSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.IJFP1YqRTLQCRMlfQOVIFockF7iGMm3GswiJMxzy4AJ2gRpT1wDTh8l00OEHD0etuhG9MXbYTSCBccnUjUPqA0UXHF3zXq26dbC-tulvwD8tGivX8X7wm3u7zFAJ6oFpugneQmp2F65maGx8tgivhGqsfZF5or3ue-_aCyZ5YMbU0Oc1PgRSOl4M0PMO2jzb-T6e1EcuRUdn7vLFLcOuTM7wtoM_LCLkArsL-UW_ePI03wgdRNPS4zcJ3Nw1PS2zhO3Fp2tT6DbizbSeYbeTCP_ecli7tJQJMqF8SomCUHoD2u0UiHDWKwD4a1ODcPQ4IIEDAXEkaxXe9Gy30uSjSA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDAzMmUzYzUtNWVjZS00OTJkLWE2YWQtMTdmMWZjOTgwNGQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="772" it="0" lt="764" ct="0" ts="1587564593208" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-34" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGQ5ZGFmM2YtMmUyMC00MzlkLWJiMjItZWUwOWYyNGYxN2Zl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5Ni16Umdydk9HaXV2d0phYnlURzdERmc0SVctVFlxdTh0eiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.p_rUAAyAy5NIFYokDMvqmVxlyJrWeAp5Zad9MaDhammYkKzmJw_bmVz6hKUb2ipDF6k5npz4dSN992D6Aygy0qDFfgBW6yBYykK7usM1unO_rCXZZDDw7v1P-CJtgY6XAYXXayLdngDMckz197Ddr2XIR1JMGuTPsJeeBr0Qno5ZedbRGWljVUJjMVibU9Qc5wcVw5Darkcp698LK9f_qODPQkWyPNkVIL35h1Gge6zwkMzW4EAq-1uS6MMi1D3EDiy6YF30X88veNfLL2FbpQ3idDKaekjyB4yKwW8Id2mcw_zrkK-xyL9yvSWeZRiWszk0kshOQUod5oDUIrxC6g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NGRiOWI1MzEtOGFmOC00NzI4LTkyZTYtMDY1NGQ5ZDFhN2Rm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="774" it="0" lt="768" ct="0" ts="1587564593206" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-36" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzQ1ZjIyZTMtZDlmNS00NzM5LTgyMmQtMmM0ZWY0NjA1OTNj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwMy1hOTdjc1V5akhZZWxjTE8ycEtCd0o0SWRwVHNHMWhXYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.mFd_S-BdwF0C7mGgunfcuJDQn3UAHxKAt0e5r9TyvZZJzhoQNJ3lYkDK-FLerkhOSjtFFguUqzDH3zgGM9exDqFWpdik5EQjQqpYBoYpRYdxpQQ0tmFyW2PHN1NrvcpDE-GChBqzhZNtj2ZFqroFo7uV-1Pd3fTOPuOlymu4UxrzYV2V9mXS7CoYrSnbOnn3vLN2LCkoA20LCsaRXz21TUOyj6XtaFsuF8UrUbtlwGXTkkCSF-ov5Tr4HES0s6Kxi46upeVFqKz7ueYw0bL3ffM-qUXPxSzaGE0VfcdodsATdPRGIFOqQSoEEDMiM5g_tawVKIMKGTD4UhggyKsceQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2VlMTViYjUtZjM3Mi00NzlmLWE1YjItOTA3NGIwNjBjMDQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="435" it="0" lt="435" ct="0" ts="1587564593545" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczMC1DSno4RXBZZVFNc1RNSnFkMkFhV0ZiVlZoaHpDc3BKYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bxk1sCgrG1aVIFdTDmrdnPrVEmneK767svSKkQk08DrH8CoxOuhMpEVIDHTpbN6bIVRx6J170tHG6Dsg4-wOt6aAXdTWyo9QW0Cib16uLvW4O1888svvGBuIRCKcr0EBtPHyjHbwyiNq9vxlPDB80ywNhbKepVcmt9pr8acTkwfwLJrdl622y1mx-H3wmy4EsjMaeYCXvmwPDtEFr4AMaVC07FjZLSjzeMHHRbu7u5xR4CQuMj2j_4N37hm4IIUGv-QGW1EN5Tu9e9BmA-dYMD8m9hZ3HykGbewsgHL-FuBF9_WX7vR6yKgBg3xfZOrhO3VDTutcPbjEv5ZmV-azgw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTRiMWM0ODMtOTYzZS00ZWVkLTg4ZjAtZTM5OWI1ZDc4ZTk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczMC1DSno4RXBZZVFNc1RNSnFkMkFhV0ZiVlZoaHpDc3BKYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bxk1sCgrG1aVIFdTDmrdnPrVEmneK767svSKkQk08DrH8CoxOuhMpEVIDHTpbN6bIVRx6J170tHG6Dsg4-wOt6aAXdTWyo9QW0Cib16uLvW4O1888svvGBuIRCKcr0EBtPHyjHbwyiNq9vxlPDB80ywNhbKepVcmt9pr8acTkwfwLJrdl622y1mx-H3wmy4EsjMaeYCXvmwPDtEFr4AMaVC07FjZLSjzeMHHRbu7u5xR4CQuMj2j_4N37hm4IIUGv-QGW1EN5Tu9e9BmA-dYMD8m9hZ3HykGbewsgHL-FuBF9_WX7vR6yKgBg3xfZOrhO3VDTutcPbjEv5ZmV-azgw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="182" it="0" lt="182" ct="0" ts="1587564593879" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTdkNmRkZGEtNjEyZi00ODI5LTk5YWMtYzFhZGE4NzU5NWY2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="182" it="0" lt="182" ct="0" ts="1587564593879" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjY3NDRhNzItMmM1NS00ZGU3LWE3MGYtYWRkYjRjYWRkNDFk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="183" it="0" lt="183" ct="0" ts="1587564593879" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTA4YjQxZmUtODU1Mi00ZGI4LTk2N2EtOGZjMzhiNTdlMTkw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="358" it="0" lt="358" ct="0" ts="1587564593704" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyNy1TMVN2NVk5ZjJXMTRtSmFXZWp2UUQyTUJmVXZzZ1NYeSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZrxBpMZpKBU6MlXI7oi0Md1sYtHXXC0xAFGeFMMWhBlkm3FiHmDg_uMfFIaIgWqpED_HxJW9LyPa9mm4XRBi44qV9v6SpcNhMr0qR_LmBJzYHH77UkLL497u5aKiN4VsZFtxpgDVIjoiIlYIRRh6wTn8IlDaH_9dTh-S0jx1qZqSgUe2GzRVVW0XvyT6JEM5soZt0euJTMl3v8teMa2cLnbUdIJ3Ugn_0myC9YhhM7SPdzz06dfL4mu-oKuzB_vxcxF30FRS8P8WD-_j840zgyKR3LIZUBDBCbSJ8WG1PabrZhK3nhJCL7pOIvMUm2tVDzZuoVKys1WbZ5gpxSmAvw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWU5MTYxOTMtMDcwYi00NzBlLWFmOTktNmRlNjkyYzE0MmU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyNy1TMVN2NVk5ZjJXMTRtSmFXZWp2UUQyTUJmVXZzZ1NYeSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZrxBpMZpKBU6MlXI7oi0Md1sYtHXXC0xAFGeFMMWhBlkm3FiHmDg_uMfFIaIgWqpED_HxJW9LyPa9mm4XRBi44qV9v6SpcNhMr0qR_LmBJzYHH77UkLL497u5aKiN4VsZFtxpgDVIjoiIlYIRRh6wTn8IlDaH_9dTh-S0jx1qZqSgUe2GzRVVW0XvyT6JEM5soZt0euJTMl3v8teMa2cLnbUdIJ3Ugn_0myC9YhhM7SPdzz06dfL4mu-oKuzB_vxcxF30FRS8P8WD-_j840zgyKR3LIZUBDBCbSJ8WG1PabrZhK3nhJCL7pOIvMUm2tVDzZuoVKys1WbZ5gpxSmAvw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="355" it="0" lt="355" ct="0" ts="1587564593708" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczMi1rOE8zTndObWFONkUwVEI5QURWSFAtb0wwbDZXclpEciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.D1j7u8DNiMyqRWSd5D_2Kkqh74jrt8PiYF1A-QD08f96ibrURZPX_Zv9IaK3ON-gna_S29seKRO2C5QQJAc1F-1B4XfohldnglJhLafFcsb8wpopcxqdo4G8q26-BbPFVIuORHhtyizSzMCZFo4-hihY_F-A7Ucmj0uGD0N4KczP00HKSW5ubkOSt6KMIzIv3USiSjC0zfbZsCXKg7uafvsKsOPpzHTXY8-V_EbyFL5pUXoVLS8c3VdhJPyZ4XX_Ez8PUaDGwRyMXFCjFL_GVfAUBmOm_4Xjj_t1E1WlNfHphFs1s5Mck3xVTMhuXWgnhgXhdUxxh7846n07DeUrqw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTAwMTQ0OGEtNDc1Mi00ZDM2LWE0MWUtYzU0MDNhMDQyMjUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczMi1rOE8zTndObWFONkUwVEI5QURWSFAtb0wwbDZXclpEciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.D1j7u8DNiMyqRWSd5D_2Kkqh74jrt8PiYF1A-QD08f96ibrURZPX_Zv9IaK3ON-gna_S29seKRO2C5QQJAc1F-1B4XfohldnglJhLafFcsb8wpopcxqdo4G8q26-BbPFVIuORHhtyizSzMCZFo4-hihY_F-A7Ucmj0uGD0N4KczP00HKSW5ubkOSt6KMIzIv3USiSjC0zfbZsCXKg7uafvsKsOPpzHTXY8-V_EbyFL5pUXoVLS8c3VdhJPyZ4XX_Ez8PUaDGwRyMXFCjFL_GVfAUBmOm_4Xjj_t1E1WlNfHphFs1s5Mck3xVTMhuXWgnhgXhdUxxh7846n07DeUrqw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="356" it="0" lt="356" ct="0" ts="1587564593707" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczNy1TLUZwbzFYLVdqSElKZzh1ckVxZ1lDYlFobU56eE9XaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lf2WS2Cl7wc0dAvaptmRR-MBpIVwSowpVA6Xx0v1SNrFlmNr9Win-hIyyNgVFCL1RP0soSjBM9OiKRpzbpMB1O3i7fNH_iNS2120KsGYYsQAq2uUTs_l_PICiWAFoSVhCghkwRh91Ga2MyRuspYYA-MqhkC_nzG0KeRQaFrtUcMUawU78ho6lzhL7wru-Q7Af8O24oPpKWERpemZGY376cih0QeicV3AwGIaEXetK0l4gBv6YrZ9ejxsYRTbK8s9xDpSCe_ceYRWNxGFTg1kuxb64Y9BJZqW2xSK8WAMVUHbfk4TwYhIZ0X5hOWhlxJejr61hL7YFSLVRuf6WUaYsg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjIwZWY5ZDQtMTYxNi00ZmYzLTk5NzctYmZmMjFmNzQwMTkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczNy1TLUZwbzFYLVdqSElKZzh1ckVxZ1lDYlFobU56eE9XaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lf2WS2Cl7wc0dAvaptmRR-MBpIVwSowpVA6Xx0v1SNrFlmNr9Win-hIyyNgVFCL1RP0soSjBM9OiKRpzbpMB1O3i7fNH_iNS2120KsGYYsQAq2uUTs_l_PICiWAFoSVhCghkwRh91Ga2MyRuspYYA-MqhkC_nzG0KeRQaFrtUcMUawU78ho6lzhL7wru-Q7Af8O24oPpKWERpemZGY376cih0QeicV3AwGIaEXetK0l4gBv6YrZ9ejxsYRTbK8s9xDpSCe_ceYRWNxGFTg1kuxb64Y9BJZqW2xSK8WAMVUHbfk4TwYhIZ0X5hOWhlxJejr61hL7YFSLVRuf6WUaYsg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="445" it="0" lt="362" ct="0" ts="1587564593618" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-24" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWFiYzYyOTctZTY3NS00ZTNjLTkzZjYtMThhYWRmMzAyZTlk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4Mi0tc3RzOUJ5UW5hT1RUTFdhdGlJQ2JiMUtja3g4NGVnOSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.m4OWPrTefaAHZsTlZDLCcClkFqZ0UcjxF_mc125o8oHEFbNlVStK_P8WkvaAM8rnZcKn4RsMoiPrK_xvLhnbMNMoGeHSuM6ZhYSOUqQOJOeSV9hixAiCo3cwROY3-K4bkMIV63QjM_kNIQEkksUy4qqtuL5EsYXjmxaYUNmI5g7YGbqAW58LFUxqu7hWiIGDtvKTO9tZKNuZbfszTrfo2ykkiLJC6dj6eMX0iAL-4aldwHABgpMuekTJaV_i2fOTzd1iPFWT6EO5kfELDoJ9R8hSya72BA39-i3ChQI1qF_QAdfpkR_z3qBlfnQaebqG1Py8Pe9bRIAhWYtpxl_wPg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTBhYTdmMjMtNWJlZS00ZmM0LTgwZTItMTJhMGFiNmE4NDkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="1021" it="0" lt="1021" ct="0" ts="1587564593044" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGZjODNmN2YtMmU5Yi00NGUyLTgzYjItMjdkZjU1ZmY4MTdk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2055-zlDZ6SCR01EVmucHDEQFrHxgCRkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="357" it="0" lt="357" ct="0" ts="1587564593707" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5NS04V1VuQ1hPc1VOa1lxZWxBNGpoUmRXLXI1V1BCbHd5TiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sstJb3iK1gMreoKLUiMx4a9P56UCBbd9yhoeRYzmvuet4N6sWWZuLR_nmfCJPkvq-jO3Y5srYzz8SnPHSCYYU5vDuIZxDGfZnL9PNMqMor2m8cOjuToUCrMtU2-UmpIxDJDZC9_MY6m7pHk876obsDRja00WpRUYVhIVUK69Sh8PdEg1HLPkPyKh2b5rmE5lvwLJvJM3miurrb6iEhK_DYgSsn0W9BWz-FS03OrAsU6YYbL6RBqhQDx00dpHp2qO-bliIZzxgtw_lEqEcuJ0XJVPUu6q5scCMDVipFIGMM1AtAYQi6bM1vQ9vASuuqGzJzccNpdJles0M3wshw7tHw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTQ0ODBlZTMtODNjMS00NDBlLWE0MzctZWEwODgxYjlhNjIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5NS04V1VuQ1hPc1VOa1lxZWxBNGpoUmRXLXI1V1BCbHd5TiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sstJb3iK1gMreoKLUiMx4a9P56UCBbd9yhoeRYzmvuet4N6sWWZuLR_nmfCJPkvq-jO3Y5srYzz8SnPHSCYYU5vDuIZxDGfZnL9PNMqMor2m8cOjuToUCrMtU2-UmpIxDJDZC9_MY6m7pHk876obsDRja00WpRUYVhIVUK69Sh8PdEg1HLPkPyKh2b5rmE5lvwLJvJM3miurrb6iEhK_DYgSsn0W9BWz-FS03OrAsU6YYbL6RBqhQDx00dpHp2qO-bliIZzxgtw_lEqEcuJ0XJVPUu6q5scCMDVipFIGMM1AtAYQi6bM1vQ9vASuuqGzJzccNpdJles0M3wshw7tHw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="182" it="0" lt="182" ct="0" ts="1587564593881" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjM5YzZjZDgtOTBkNC00YjViLTgzYjYtMmYzNjIwMjZhZWYx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="528" it="0" lt="442" ct="0" ts="1587564593536" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-16" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTVjNzQ0MmMtNWFjYy00YTYxLWEyNTEtZTIyODlhNzFkMGEw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxNC1LaS1yZy01LWh0dFZBcWdGNk9pSjlwRk45R0ExYVZZUyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Y8nW-YW5C8azkxPukIGxHcC3Wyd4L9Rr4IdsFwaLZfzD8KLEW_UJRAdQA6kRYeAx4KNI-uh4NiotCikqwxOjvZ58UoMwC-AIWvMRTTq_QyarBLchcinzrrs8QYr71_hne6z33yBmNYN6Djdaka3pZHYtVK78oPzKtfBEPPeif6Kz5okLy92Bob3rjw76hd6m1NcP3b8kd74CwU-0jI9P1l3kOGCKUQJ2q9yw3C0Cu2eqAKORkdIM1zzpJl_hxeJyxyyxa62cAWWN-sft6GldH5LjDdgo2Lu7MeAMXoOkmJs7brDLw66hNLZDgc_ksszPy29UXQCmMSzI9vlx5qBFOQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MWFkMTdiODEtY2MzMC00YjY1LTg2MDYtZjZhMTFlMjczMWNk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="529" it="0" lt="529" ct="0" ts="1587564593535" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcxOS05VktWUmlWT3RQTmljOG5Ca3JFblJ1enItVnlpaDFSdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YDRG4jkkmi5EWS2LnINbQoiwBYfvx_vGpJqoLFfhaYmSBAKZAxyX_e8eRFgZPq4HOO4h7npcpi3rp9AMLFyGfqBqZiDAdmcR9B-EXRHahWU006sE96GXC4YDk17SO2b_E0ROar9ZQUbnsM6kjeAtO4se1Ms3A7rPDU6DaWakh7V48HiSewB4P1XlzJ9ycGRBER21pDLhxlvztQgQKlaISTLmb6Ft-xqBw3rsQlKbwEML_2chLy8VkPHTs_CrWT3k36LxUjMIYG41fgMYwnFB2M1S-GvDCzF0oKQJ-Xm6ShjABaXFukyi18JWzw2i66-uxLJrqAEyG7XqtdlrD-qObQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTgwYmJiNGEtOGExNS00MWJiLWI5YTItMDEzNTYxOTE0OGZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcxOS05VktWUmlWT3RQTmljOG5Ca3JFblJ1enItVnlpaDFSdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YDRG4jkkmi5EWS2LnINbQoiwBYfvx_vGpJqoLFfhaYmSBAKZAxyX_e8eRFgZPq4HOO4h7npcpi3rp9AMLFyGfqBqZiDAdmcR9B-EXRHahWU006sE96GXC4YDk17SO2b_E0ROar9ZQUbnsM6kjeAtO4se1Ms3A7rPDU6DaWakh7V48HiSewB4P1XlzJ9ycGRBER21pDLhxlvztQgQKlaISTLmb6Ft-xqBw3rsQlKbwEML_2chLy8VkPHTs_CrWT3k36LxUjMIYG41fgMYwnFB2M1S-GvDCzF0oKQJ-Xm6ShjABaXFukyi18JWzw2i66-uxLJrqAEyG7XqtdlrD-qObQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="522" it="0" lt="520" ct="0" ts="1587564593543" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-37" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzA1OWNiMTctMTI1NS00YmNhLTg2NGQtYzY3OTEwMWUxYmJi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyMi10VjdJRDJSZmwzMi1zMXdwM3FGWnB1b0JwOS1hZHNmUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FUS30n9gXGHPUEZ38vgSOcUTiv8NNODJMozjWuq_6UHdBJIlkppfhl8bic8mMaAij9adYlZ3foWolwmiZ6eYq3slDl6HGae9wrQD-VUi-Nf56xNLEym5_kfz66Gfmu9z6ciNWdqDkDZW0ZFIgeEVex-PxWbSBiJZxHew09epYThUlpuP-JtDOd8yLsMHHJVacCorQJOHTxBsGeMUWz1r5Osltj8q6I3f0IPrZJ66YAbzPLmSUa1BqsgHNXizS-mwU8DrJBlrPGsNs9ScQVtenlmaq99X9WP_Ddv-CbhhChsXDRq_yl8bnS3lRU87_vEb9L2yPW1nkkC-heehRSHk3g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MDY4YTgzYzctMzliNS00MzE0LTkzY2UtMjI2MWZlYzhlOTVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="445" it="0" lt="443" ct="0" ts="1587564593620" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzUzNmM5OTgtZDM0ZC00NzRiLWIzZmQtODEyODI1NDY5MDU1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczOS03aEgxTDJPTFNUc0UtNEIyWXRMc0c2WURFVXNjLTNjeiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WYVCnQAx4Idfzf8W_PKRZIzY_73FI2S0zngVL9RqcWqb40kgyzkRtjCqi5yQEeMJfcvF2pUZSTG_tJqT9rozjfvpGjSj_KEyuerJSpp16Yp70fb26_FSQ8HxRck8xus4XAdFtF3mr6b9Rm6p-p1fbJ2qL4pBK7aJe2uWYfoMkQGwBfCuPYSeZZSxc7p53V34YNu2d712gFWAUNDaqmef6OsDRjkeZGY4qZRQDkms03nydmWfXsYCxHllC2JX1r-hX-s4-pysPUItFUtfB2TeGJbN8Cj_nrvXtm9AwQFwjehlvPTvUSabB3PWTYe6owUxBO24Me5-TdF4rxGNNwVJuw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MmM1NzU2N2QtZmMxMS00OTNjLTgxYjItMzhjOTZmMTdkYjMx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="529" it="0" lt="526" ct="0" ts="1587564593537" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-61" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGQzMjFhODMtNDZiYy00YjU2LThlNjQtYTI4MmM5ZmI5Y2Fl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4Ny1May1HaE9BZU84Z3BMWG9TdEM2cTZ4amdwelhYYjdGTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YlQnLiu1k4JjLY1CbLDOniGtm_BDsoCou3DnJWETMpYJc0JoIrjGS9nMMp3DosQ1DEk-Y9NQCpfeVfYlamdAfnaDT8x_ZoMIx5Cu17Cou8v2qvgekfxKMD5lQgsKU5CT-fi8_nSMpU2OtvUmcBC_vtAVHul4yoylLW5TBgMRp3Q2JsL0FL8xDi1DN7QKI96MEhoOalnXJuuhpVsBkcNTxD7sXbpAg-SjZhTcQU8iZYnaihvN3rN6D_noN2FJNvjYV2KZ1m_TzugJROGkA9qc0MPF31omYmTG2hX0MA6b64X5s90ecuCWfHMUQsRbzIpUCbFteAuSN099U3j5Em5-Kw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MzdmMmUzNzQtZjdjNy00NjgyLTk0OWMtNDc1OTg0OTMyNDgy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="531" it="0" lt="530" ct="0" ts="1587564593535" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-78" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzJiNDRmNzQtMGVlMi00Yzc0LWI1OWEtMjhkZTkyNWEyNjI1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczNS1WdTd4d2dqaWJFeUNiVW9FLWlzLWgyYXFJOVRXZVFDSiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.N8Syvaou_h65IT1NOqSMlc00a56F0LWv8BwY5TCrWbKx1NbxEpGgOxAXys4Y9057wZuLPxWQv8Mfjwyc5Qi4Eru3ol2hx3hNUgbOrBp_QoDSYy0vPMpb6Ep_07YlXMY_Iv3UU-HVHB3OJJ2pJ-3Ct8BPQsuFZdKYKTSJbdJHNLW8JcZ4Z5jEEY2NUmB5qenL_iGe8Mq5nyDz1evFdIR5dOCmHMor3LJBEM_utPyFRUxOXyKdE3NP_GBun4_Oy9AprLM4hDWgtJGPEdSXrhT2VlyNOWeLSig0ooY_b5flltqJJiBBrWmK5KR_Iwp__HkAdNY_PMeUVoCZpuTteF9FOQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NGMxYzhhZTgtMTFmNS00ZTBjLTg2NDgtMGFhZTBjNTAyOTY2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="528" it="0" lt="527" ct="0" ts="1587564593538" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-83" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTY3ZmU4ODYtMzI5MC00ZjUzLTg3ZjUtNjc3NmVhNWJkNTIx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczNi1Cckg2VTFobGdXZmYzbm9DbExpZUJIZklpSTB2SzdadyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TRs4Pl5OLwIw1kw0aqb9bpC3c9E0iGu8X6xQ6g7CPHqlRS07Wb12GrPSuZRiCVHRhEyfGeWjW5y9Gdpc1KyB-5o-YNvjehv3CV-Q5Gyhj7qt_GM0sZ4LqZ4R506E43Zkrz75ZJZsRNz6BGfMEPrAxlWH-SeX9iCxI7huPa9wWQ1N-tIqlvssJ4B7m2KcmdaKkc8jf8jpXjYTTbat2ABAbg9uApDbfvj2__qd5a58tCb4uEuhG1RhX_XhHvZjkDXIhCSQgczpkzmrLKc0kfGSMQbo84YWydU4SCzMoJqVNIJg7XbCVAfuQ9AacTYG_rlebXICG85PY9cIXBVIKLmECg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTVlNTQzNmUtM2MxNi00OGRlLTlmNzQtNDA0ZGQ4NGE3NDc0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="361" it="0" lt="358" ct="0" ts="1587564593706" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-86" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDRhZGE3MjEtNWI5My00MDYzLWFmOGEtNGMwZDJkNDdiNjYz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MCwianRpIjoiSUQtVG9rZW4tMTc0OC04NE8wOERRN2Ewc0R6R2gwMGMxUm53ZGtNQ0t6bWR5USIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.O-AJV5oetk_hqNvv1EXScoPHgbgpR5qdU_uMuxiYHiRIH3mxNZfHJc5LLM_qdvOtRf6AxaDmtdeF_7ER5Rc6VDR6fOgUYV_1_dU7CR-ivfGOSHICp-DQo7JdOrIe-hYqNJfRDn-FOw12W7tv7zWpnKhLEADcAZB9-5W4FGLWxGnXypdD_hmAKuXV38ATRhfZjkTBk65Adhangeln9NBZa8laGBKRbrNwmjbsOiklkjQ3LYoM_-d4qaK6qyUdIoRdB--XIICqfAHXVetNgYa0OW1bdkRC7osnDzPrvmy3ae_5QaQVjmCj9ByjNwavvF3rY1xviZREwdWDGDMSxJNXOA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NTIxZTZjOTUtMmE3Yy00NTdhLWE3NjUtODdmZDZmYTU1YzZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="638" it="0" lt="527" ct="0" ts="1587564593538" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-40" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTJlZDc4YjgtNWNhOC00MWM5LTkzOGQtZWY4M2E0NGExZDQ1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxMS1kb2VpaWI4UXVHdHZwWGJyTW9zM29BbDVJMC1uZzc4ayIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.HBzNudn4tPysEbY5yCJxU0fMwExLgGNW9vB0t6XhMsysKpz70TjpGPMPchpIFvKXqXJVj3RC_41uPG-hK_PpaSAR0aywNrmKSbEEu_GWZOu1zvD6KMdWE1s9vYwNHQeUNENxJ-6RMwKCoTGJb2WY4yipCOxwhcLIrZui-e3c_CxXQ_vz3_AKqyBaVki_DBe09qwmIelXiKz19rOjuzqk_s1yu_2cit5nIcStyLWfM2XJ7isV8n2DeECM9kxMe4rRDV6jxn0F9JKwL5-sXkI9QV-TOWz6i4Cp-VZfg1D3xxEkn3PcjnFTuZoFoox6XfqtZqxRuVmCEGcR0vDro0-jRw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YTRmNTgwNWUtYmJlMS00NmQzLWFkODEtZWU1YTAzODFiMGRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="638" it="0" lt="526" ct="0" ts="1587564593539" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-69" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2MzOTgzZjMtYmQyYS00MGU2LWEzNGItY2Q2ZDc2NTg3N2I3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczMS01VEhwY25HSEY0Yk4zb0R0d0tnY0tJTktOLS1iQS1KdCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.G_QJJfYdCH0Q203V8dUGvHben6KmiHzEKW7xZ1IYIi_wtAPqB4DMAVWyNFKYrVNLJtKfKUEMCHcgVr16DutW5J629hsSS37cKHiMBP_cNFKrqzULYVLfBlnMghEhlcK1RRjz_g0J3oNMbZT0e1ov_K9knBa4AtLbipag02DADHzI2hbz6hNWOk3YPxBlUKDBgw3aDLEBOc40NOxrWRjCTdnzePmyF2_1TMg-Kp1SWCBzX-fePj68FX3zupFnTo6a56j1sDaeJTeFCYSsZXvl5r_GS6_qbxKTEn8IyPqkgJAWZXPSZfrMjfUWTxZTEENwlMfAlC-r6MKHyWTCLn7b1A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDE3ZjM5MGQtMjg1ZS00OTkwLThmZTctMDNhNTkyZmY0MmMx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="964" it="0" lt="964" ct="0" ts="1587564593213" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2NS1TUHVxLXFzRlRDNnBoM3d1d2ZSbXRsaVR0NHY2ZndSZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TclsdwAFJ_qkkQFjHrjYrrj5XZBJl99XInxot89I2ARZIvwGawivN76jv9dQ6Iwb90D4sKWta-WkUpeQBkXC_VtYEc-rg4zYkNXC44GjnbjjCNMJQICsJhyToaUwsm2-gP0-yCF6uvpoWixlmLNKnd1juWgyfKHmvioF7QZRtKrherZ4h9wwxVqjoUhSx1xzhP2mriki35xdoWj_Oz9xE97k8Pdi8Qro4GlA991uiFgbAUl-dbZopkZXXdGj8lI4SJ7dFvlSYf2ecIxtRvDOZyex8PjM-LcXf9qO90TElv9oJOtUJ1QGa4gPwTKnqu6sbc8U--WHMXkj-bLRD8PItA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQ1NThiYmYtMzExNS00MWM0LWJlZTItYzczMzlmOTYzYjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2NS1TUHVxLXFzRlRDNnBoM3d1d2ZSbXRsaVR0NHY2ZndSZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TclsdwAFJ_qkkQFjHrjYrrj5XZBJl99XInxot89I2ARZIvwGawivN76jv9dQ6Iwb90D4sKWta-WkUpeQBkXC_VtYEc-rg4zYkNXC44GjnbjjCNMJQICsJhyToaUwsm2-gP0-yCF6uvpoWixlmLNKnd1juWgyfKHmvioF7QZRtKrherZ4h9wwxVqjoUhSx1xzhP2mriki35xdoWj_Oz9xE97k8Pdi8Qro4GlA991uiFgbAUl-dbZopkZXXdGj8lI4SJ7dFvlSYf2ecIxtRvDOZyex8PjM-LcXf9qO90TElv9oJOtUJ1QGa4gPwTKnqu6sbc8U--WHMXkj-bLRD8PItA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="641" it="0" lt="529" ct="0" ts="1587564593537" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-14" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWRlYWVmZDYtZTRlOS00OWE0LWExOWItNmE5MWE5M2IwNzE1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0Ni1XSnVEa29Hd1hiOFQ1cmNjY0J6bEdmbzR3VzFOZ3RBNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.j_a4qVGQ2qRQhAXSXxejpihM6wgAkIcQi3mRzteuI1H6noQ_BCyw5YJcjN1cXgTOpMymaswiVIYecR86oBU9lTRg-sNqPBVuPawZ_Ho4AoqqkMqnJqR7G1Nv1vsoOlbSL4m9b9aIXFBimb5DjTC8LADvD4SEW_G2yhG4dMJZ1AItWDYXmXzMF3ciub_Q1Bq7y-FB3K1vtoBHY4k0iJjvvZ3ThZHCCRFtRFZqa1u3-nlooXSRIdOvuh0xyW1mT1kfwSTwB63bkntDqWZIFQ8gEUxahCsikqyykDs5VLerLUyhgqwQoDczRU7dSJfGCs8Lw5PaqmtUx1YszKDeZUyJ4g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YjgzOWM3MTUtOTA2OC00YTJjLWE5OWEtOGExODc5NWMxMjRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="644" it="0" lt="639" ct="0" ts="1587564593537" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-32" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjIwNDQ4NjAtYjg5Mi00NDY0LWEzZDAtZjVhYWM0ZThkYzlk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyNi1pc2ptSTd3OHNmc3U4dUFmYW5QZ1lmU2thVnhNbHJmLSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.LEZBLw6By6chF_pVotuEj-fvedgA5wQcKlwIHg3r32N9atkxrhBZBo1NiD3XNiilveGRp4rCXQQtm2WGNLcV1cn_kDOvPK3HvbYTyOFP-TdelVZSbShOupZjVEIh0T8MoPO-OS0X8tBMDet5G33G0MZ2L7g42weGZewgYIGNbJHtBaIkPvt0bZAPGhGYKm3wOtATNXH0XeCwPnfHED-daiUDjmtAcEU0XfbSEBYwLnUB_eTwa8WBwcKNKVAXYLImLl9WdsZEsjQY6pTZDykpaFuZaQiWqIfXElCQGrEv-F8cJeR1FyeMLIosu9blAAAW_ulxbnncioklxWDae300eQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OWU2MmY3MzQtZjYxZC00NjZmLTg2YzQtNGZiZWQ3MzdkZTYz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="301" it="0" lt="301" ct="0" ts="1587564593881" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDUyMzgzZTYtNjVkOC00YzE4LWJiMjktYjY4NGVmNzllNzE1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="204" it="0" lt="204" ct="0" ts="1587564593979" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTI3ZjJmNDMtMzA4NC00ODVhLWE3MmMtYjAyMWI2NTJmZjY0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="561" it="0" lt="560" ct="0" ts="1587564593622" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-55" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWNjOTlmMDUtMDMzNy00MDgxLWFlMDQtNjNhZDNjMGM0OTJk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3OC14V0tDUXNTWWQ0b2RKcWFKcVlUd0V5MGtVei1OR1IzdCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.F4p_3pG4G3Elizmi8SnMRkzrtoUSoih7AmuCr0Dguuc1SqfmBINf6s_LsVFN4G2XLvB61U8sw3Kjmk1IU7YDg1Di8sLsBB2mVLMbKk41pRpL7yZlqPDHpPn6csfTVFWwlbGzfyjfMT_35BqWTJiGeh4KpSEndj3s2jorfBUstRm-tWHZjg5dbblIV452_MhtvyJV6CPL_HzrN8rF9_3jxztZZX7xhmWe7fGmk1WuCp1d0As9ODUwfOetnpY04kSoCbkVlA5dMW5Zxk5IcfliIHnLhHGZJCl9b1Xq6KNTyMHhnqRqeZkOuoTLG0pmIvWwx8TIm0jJq6JWm8jqXt12PA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2ZhZjI4MTItZTgyNC00OTViLTkwY2UtYTUzODQxMjhhMDhm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="650" it="0" lt="648" ct="0" ts="1587564593534" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDk4YjMwZjctNDBkZi00YWQ0LTlkNDYtMmVhODM1MGJjNDYy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MSwianRpIjoiSUQtVG9rZW4tMTc1MC1BRXNpWXFhZzZYajBhaWUyVVIycE1vV3lqZWNkekVVOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UR64qqARY5Mup1h6wkCJA90iGH0b06zFFhLL2e_MxMC8dyzvUlSt9Tw7pDooNDwZYk7Jz8UvQ2RygAk8TiQfSIuYvscnf3ueoHu6u1Wr3MNOi6sh_-KUIRrrpe3kIYACgQFCvXmq7zF2OOF2p7RYJ8jeTntksbaW0xDfvjSer0xgscPZdsAck1vn4TzJ9tsaBhbHMVe9UOMPIT3oGYUnM2XVFMtltqkyASahn3AUlf7DX4btuyeDc58s6gADhL8tzE-tUCXtUHVSeTEFE1xheGV-dtxMfYZadirHG76zPunQsmVLnoFjnyyn7_L-TxW_xk1TV84GWWLpvqm2frOrzg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Yjc3YjJjNGItYWUwNC00NWZlLWI4OGItZDU5YmRmYjFjODFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="566" it="0" lt="560" ct="0" ts="1587564593618" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-54" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDgyY2M0YWYtYmE0Ni00NDNkLTg4N2UtNjZmZjNjYmE4Njky; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3NS1rMVhhSXhPS2F0Tk1USEpnMDRiN0s4WU56dzZCQkNudSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZIsUXmd64i7mRUDcRvLLJ1Od2C928IrAd2r83NVOGYeCgflKv4JZmMhZxqsB5KKWNiwFGDqH5SlyWCVeAOaE_PAeSL8Y0_1kseX75uUxMXOBS5RWucFi952NA1MkOMksHQkxo1aiWI9xex1V_we20HxDbQecfbSccziW7h52hunBw--dybpZdFjyIU6tZJbam16E0KkFp9phe1iOb4BG7YNNj0r8e9CjrYPMCcBaGvUkTxtIys4XdVdx65uYb4Kt_oZH9OHXFazvR284xr2QnVZOP8N9pd9AqKJyVNY-ulEi9u2G2jH9STw5RPCPcqqR2jqpLO2Cdmd0N9ouBJivXA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ODVhODZjZDItMjliMS00NjkxLWI3YmQtYjlhYmZjZmFiZTUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="969" it="0" lt="966" ct="0" ts="1587564593215" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-33" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTE2ZDU3NDctNzg0NC00YmNhLWEzNjQtZWVkZTZiYzY1NDFk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5Ny1OZ2dKUTg4YS03MGROeDFDSXl3V1VWVnZzYU9pcWQxTCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.R2wdREDJahADvUuTGcEHfgH3hvH3BA86tA1Ixulq9_W_lINZ7RD5ZPWt-PTyek3AFhEFd29sLRX5BuMULJaXVF9STnLtwWLHINrFewKfHi4DsU9nRRLI__hA4X53EkZ9QNAdfQdsKMfJjNMutQh5bxGSSo3DRMfMW9noRyYxgET9Q2Eenomnbb3PpGES1i2lmWYqy2dBHbCq5F0nQ2Wfk0jIgvnjb7EpWJ3Jy5NzDUoP6J2xG-6J2CYz2lyMl33t4ruDxzMdxAyNw03hfdTzc5JQ_AGaB53V3XogbK9ek7eImXQN0ApdeBOO2NYd2QAQzNj5ego1qixnL64oOkUf_Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzU1NTIwNTEtZjVjOS00ZWIyLWJmMTYtYjlkNjExNDUwNWZm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="650" it="0" lt="648" ct="0" ts="1587564593534" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-28" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWNiMDYyMTYtZTE0ZC00OTFjLTgyNjUtYjFkMTczOTJmOGI3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5OS1HYS1iOUFxbjJhdFN3aG5ELTlNUEVDbTVNQnFXNjF5cyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Art2qNu-t0dUzXj_J3VyAVjfmFgOtSn8cxylZCY4WsMj4OfH-9dvRTaMC8gMfB9tUxqjm3vw45GDskU5g74so8kQ1DTrPypAzW8-Vflz8yaqFjoEQDvYfkTpzGwxPpqEJE_jhxeMzZXTMDn6Amd5MU_ANMMNQrKIzZVLG8bb0KcGadd36ts8NsX6SP0IDAV14ODhoyVD1FIVHVud-9Q4JG9zfFRmH3v5shpCv6ZXzF2Q3ifJGz67k1IROXFVEskhXdyVYaTX-_hEtPbRMAzc3s7fTERGybpXEs7My9nmw_KzGFupe5rJiu0Qq4C0LC0qHrSFOt5lL--sBQaBkHW04Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MWY0ODA0Y2YtZTkyMi00YWZiLWI5NzMtNDU2ZWJjOGI1MTMy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="477" it="0" lt="477" ct="0" ts="1587564593709" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjE2MGU3MjAtNGM4NC00ZDY3LTg5NDMtYjA1YmI1MWYwN2Zi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="287" it="0" lt="287" ct="0" ts="1587564593899" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWVjMjA0MWItYzNjMS00Y2YwLThiYzUtOWJjMzU1NDMxNzFh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="213" it="0" lt="213" ct="0" ts="1587564593973" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmEyODA4ZWItNTRiMC00NzBjLWJmYjgtNWNhOTQ0MjRkYjdh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="210" it="0" lt="210" ct="0" ts="1587564593977" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDM1ODlhNDItYjc4Yi00MDNjLTllOGEtNGM4ZTc3MzlhODJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="568" it="0" lt="563" ct="0" ts="1587564593619" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-6" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzNkNTgwOTAtY2UwZC00OWNkLTg2YjctY2Q3YjEwM2YxNTRl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczMy1kb0djTHZhak9MeDhDMk5CdXp3Qjg5cmhVaGJTTzNDUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.jK71r_4BaQI0u6OgiTn6gXG8rOj4m60iG_P-Kr0ad4kfB7jUCQP_osKS23fDeHMPxr75Y84FIn0peCnbUeijUNiXmtkvOhvMlkFGOfhU0QYjevKRkCDeo48fwRBMD0nJUU8gG0XjPksO4kzjeoc32I5PIenXPbSQVasN3ZudYqSYHqCjuDpRxzBDsp6WWJMqipVmqIbLc4nxSqEwDkSAXcZCrbpgd2lv3aKtysRqsztrb0SODX9pcCuOqWC2ZL_vYDoSv8KaEnx6yKKvBdcI7E3NogMpom4RvRO_HwhjZLaNsm53a7H3wRStKOBOsDEKQz8U8REPB8CNXlGn9eNIVg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NDZjZGU1NGQtZDQyZS00YzU4LWE2NjYtMTEyMGRkOTYwNDE2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="216" it="0" lt="216" ct="1" ts="1587564593971" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjZlNjFkMGUtYmFkNS00NzRiLWJjYjAtMjY5MjM4ODQ3ZDRh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="649" it="0" lt="644" ct="0" ts="1587564593539" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-73" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjhiM2Q3ZWMtYzJkNy00YmMyLTkwNTgtMzEzZmJjNDEzZjVi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2OC1qU2hsa3FMSk5ZZFJPdmM0ZG1RcjNPSEZSU0lHb1gwbSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YQhHXpHt1JUzM5os_Mz5tv8YT4hDzY2HwCxg2KAUthibZY4lx-xslNi4vhMRBXnxerHl-6DK518eK2e3EZVuwR1TzMqBuo3m6Xsf2g4D5wqhjNgN_LtjBt-0nnF1S6-VVz6MDXEWLfBTqq_PRzi-ZWKGxVPZvtKt1VBzYunjZfxa7Dj40BXg8GSA3p4s660yTEQY-BSYfUgxRo5DbzP5CZjLlDKFRjK83qwj2qsDzzji1a7D7phlpphAG7pCk_hCk_1jH16wTJ5yGV-MecHzwpVV395rDK9yzlt1DwaNFDBUtLqNnGQhxBjgDYpMqF90KRghUcT56jHlbZt009Bw-w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQxMTU5ZGYtZWU5Ny00NGViLWIzNmItNzhmYTIzN2VmYTY2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="215" it="0" lt="215" ct="2" ts="1587564593973" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzY1YTliYjQtNTdiMi00MDZkLWEwNDUtYmZlZjdhZjM4NWJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="211" it="0" lt="211" ct="0" ts="1587564593977" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWFmNzk4MDQtMzYwMC00YTk4LWEwZDEtM2QxY2I4NTRkYzI2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="212" it="0" lt="212" ct="0" ts="1587564593977" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWExNWZmNjctNDhjYy00NGU4LWI4YzQtMDk0YWRlYjExY2Fk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1146" it="0" lt="1146" ct="0" ts="1587564593044" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGVmMTRlNTEtMTUxYy00MjIyLWE0ODEtZWZmYjI3OTMyOGFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2056-ii-c-vKuKOVM5h9-pfDafvpiMKAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="211" it="0" lt="211" ct="1" ts="1587564593978" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjFlNjUzZWEtZGI5Yi00Y2E1LTljNzgtZDczMmZlZTE4Mzk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="215" it="0" lt="215" ct="0" ts="1587564593975" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjYyZDY5ZTQtYWUwMC00YjFmLWFkNTYtNGY2NjBjYTY4OWVm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="213" it="0" lt="213" ct="0" ts="1587564593977" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Nzg1ODdjODAtMzY2ZS00MmUzLWFmMzctZDU0NzllYjA0YTA3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="214" it="0" lt="214" ct="0" ts="1587564593976" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGNiY2ZlMWMtMTFjMy00MzE3LWEwZjQtNTExZDZkZDEwMjll</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="126" it="0" lt="126" ct="0" ts="1587564594064" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGE1Nzc0YzItNDExYS00M2FkLTk3M2YtYWYxYzAzMjI4NDcw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="647" it="0" lt="643" ct="0" ts="1587564593544" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-8" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2Y4NjhhOTgtZWRiNy00MTg5LWJmMTctMTZkN2QxMDY5MzVh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4OC1acHpjR0NFcHRIaGZpTXNuSkxCRk5hQUdPZjdvcnhiYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bhktm3u9H7fO9fsaeGgeSmKaqCD7IvC5LY9MjCMRRWzl4kJd44YMKeGhFIv5MSGROZpfBSPiZHnBUl848c-erlePC9uQzoMh162Vl7kvVezMxo70ZikDsGOFR7PwtflpW30iKb30CEuoe1ixRXQhFtUExOLuM1AiDmBuOcxgm8bJG-IvD4guVmjXiNLLSTPjNJOL4nAyIM_NMWmQ8IqijlC56-9pqC2KxGd6yf7zJ8EhOi7KM5KVVMJrk-gJAgLuPYI3fTvSMfJc29OeN1IfwUbEFCid-aCQC96kcMWPSZsahxW0O1zgP--g-SfU7E4sSRQiTLCYzF5USiSCbheb-A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MTgyODdiZjctYjUwOS00NmM4LTk1YTEtMzk1ZGVjZWE2OTRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="213" it="0" lt="213" ct="1" ts="1587564593974" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzgxYWVjNmItOTVlOC00ZjVhLWEwZDEtZjI5NGQ4ZTVjNTg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="653" it="0" lt="648" ct="0" ts="1587564593535" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-82" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:52 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDQ4MjM3YTAtNGNlNS00ZDQ5LTk5NTMtODBjYWE4Y2ViYWU3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0NC1BdVo3VjI3VEM5cHZCakQtdGJidDZQYUZwVjFhUWg4LSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.cDNM39_UitUfuTD9D_9sYvrDRWMcdwwsScUb523gkeVgiwI88AulUPS441NWR5v8dPlE7bU4AcRj8__ToFFWwn8O3VyOqFulUAsRSdkyuehUMid_0VKSxCqpAO-7YTShe2kjPaSUQC76H-PIHTDze_m4hZlF2RM83Bs0lUSApACePXS3cjh_WXkzjQf0Yt8CRcX-Q0rLgI7lqjc7-6vasJnchER4faa80eIHruJQqa_2fZl5TIITjLCg01QTofpYcHerrdSUIMyGK9xWPplgBJ1Xfye6qOrWa1xwT1xhHdpPctoX2eUJ3Vmn1vhrfVCjXO5lHgtct1kZfEbKib2pmw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MjFhYzRkMjYtNmUyMS00NjVjLWJjNmQtZWJlMWVkNGE5OTRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="318" it="0" lt="318" ct="0" ts="1587564593874" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTdlYjAxNjQtNGU5Mi00MDY1LTk5ZmEtYzQ4MjJhYzc3MTEy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MCwianRpIjoiSUQtVG9rZW4tMTc0OS1hZEQ2TWhmd2dLekRyVGxzeVNRLWFDUUUtNThVMEhwMiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aJgDbb2kQwgZLKkcq7aWjwqmnxVuTaNzc2DXqs-19YvFOjKnd7ZJ1GBGM8db7Kb82xnCkHiFt7GhJeLgRwPTkXvjr04ZZWc0SZKSsv9Y7kUbP67cf9VJoglPqqy7A2xfxcEahmxFEkgFYcFcOTdXplsS6sTDF3VZ4mRo_5DmUZPOPjiIUgaQ6SEZMTamayEQN3lQiFZLGTyBMtNQGgwDHVLXLHav_r450cGDbW-U2lK8mZoYPkBmJEsHhNlxdEm9ljrC0clHtHknWpXNpI-5W5o1dXzotvjIT_jv71R2R3pU-OrAaJ6__m24zvjZWSbKr7A9RzpIYLrGjA9KHvXS7w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWE4ZGY1N2MtODdlMS00YjA3LWJiYzAtYzk3NDZiZGM3ZmE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="316" it="0" lt="314" ct="0" ts="1587564593876" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-68" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDhlZDczM2MtZTc4ZS00NDUyLWJjNWQtOWVhYzg1MTZiOTFj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2Ny1FQlFOQWUzWlpJQ2JPUmt0TDhrMVRJLXVYb2swSnJTeSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FvGE7Xb6sLg-GMC-aKPDHCF4OH5cGw7mQgABqrNA1wgIebAKXytl98vm5CoSIDJc4PUNQ2A8pT6oN_GiTV2tSCKRQyox0jGsf_sXWDruIOeG2wpSzLpvdVm4pDXzEgGUfC-z6UG2hAY6dodj2CN4MxUgQd2lP9U3gvL03cs6m_0PzngPKZBwf6aWptuhOaBWyDXUwRaOwz6cXgOmuxyJDAD_W28Pwd76hsleADej42sb7WiGGTtpkxZjQWlQkbgh5Xi0B-rbd76UcLpn_ns5j_ntQB6M6UpNiDvZaViaKs5B4E0o9Rv_D2E0ua9ZIf4wDHiicx2TmObt-K_o2FgCLQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NDcyZjUwMTYtMGNhNC00OGRkLTk3N2MtYmZkYzVjY2Q5MjRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="213" it="0" lt="213" ct="1" ts="1587564593979" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2Y2ZGEzNzItMzcyNi00NzkzLWI2MDEtYWU2Y2VlMzBjM2Mx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="482" it="0" lt="477" ct="0" ts="1587564593706" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-7" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTZiMTZhMTctMTg0OS00MDc2LWI3MjAtMzNlYjVkYWU2MzA4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4Ni05WjF4a0Y1MElYNHp1RGZROWpldVNWWWtwVXZkajN4SCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GymXTIvQ33ghA8mbKA8PT5vv6S_iUqMJKH7R23XpirPkbroEYH2x42gmKDkOMVkJGhTxQoF2-yegEK9fXwhRj5tARAN-Z_6Z3IBXGf0LgBYgbQhbejKvk2H2a-bsqXxK3g83ibH9Je2_CoAXTBhMTGE5LRFuoKMMtXIOaqnZJtsP-kKiR1L-oiZEFa1ezLQJAaFRBl0jJOzRVVbwCy9_M-LKxvYZDAEghXwOXRpyTXcxhU4t919Df9kJZCZYd36wabNLt3Cs_46U03kwgIB-qqM-ldrlduGPdHwWLNTRemIGZc91mTKA67-PJs5DOrlgU5oMLltIwPNSqqpJimebzQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YzFhOGFhZWEtMmFjNy00ZTVmLWE2NmQtNjY0YTczYWJiMmYz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="220" it="0" lt="220" ct="2" ts="1587564593973" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjM3MjIxYzItYmRmMC00ODYwLWE4ODktNWRmODFmNDA2ZWU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="127" it="0" lt="127" ct="0" ts="1587564594066" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjM3ZWU0ZjEtMzgyNi00MWRmLTlhOTktYWUwNzMyMTA5NmYw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="127" it="0" lt="127" ct="0" ts="1587564594066" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Njk1NTExYzktNWZjNy00NTBjLWEzOTYtOTRlYmY1YTczOGUx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="127" it="0" lt="127" ct="0" ts="1587564594067" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2RhNmUyZmEtN2Y3ZC00YWIzLWJmNmMtMmM0ZjE1ZmIyODE2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="656" it="0" lt="651" ct="0" ts="1587564593539" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Njg3OTkxYjgtZDExMS00ZTEyLWI3NWQtYzM0NmFkZGZhZjhh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY1Ni0zT3c0dTFhQjVHZFFabk83eXdMYmVnNVl6MEhiUmJobCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GsjIYouK9Bw2tLVQRQRirDVHMzOalQTK8TrZmscMM7ysmwpxOSjGpkoQkBXYsKKxw00y9vV-LSz9vOigrfz__WSpken0PWq2t6oYFMC1xSsTPLtlaYMtBZlInnf5XK68vNyXIQf7aBjIBKa6QnGWBmy3ervUgQbetugwMvvUBy3Sa4rBViEkKN41ypGR33qnT9Rvv2X3i-FUMuZ5CoyX41pQ7SteMLN2gpvIb6soy_wh4u-wEEQ2JDcIDTFXELoACBi_uQXahCY7lI1i4iJtvzIbudrczTSVKja1xTrDtTYKgBniHkwSRTQ4u9wDNOkZXblIP0YIHzD9NsZZfER3aA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTMzYWVhNjAtYzQ1OS00MzAwLTg5NTMtYTYyMzU4NDc4YjQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="661" it="0" lt="655" ct="0" ts="1587564593535" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-97" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjVjZmExOWUtMjU5Yy00OTJiLWJlNzQtYjZlOTA4MTYwZDg3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyMC1KclZDYVRmT3hDeC1mcDlWaVd6RC14YzV2Qy1BOE5wMSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TGCx17MZeUqocjYva5nozKb4Y_BUqwqvJIZeC-x73KEZ3TjKHWipGNaG7ln6Q_Va5cOrdNewQF8yHaSxmuOIJ58i0RQhSFfR0zuJ9y46PXRS40_Ey7Gdjf0mrUiuNNZyG1orzI0CPErEuceQtkUYEKxifhBni5iNFH45X70i8XMOLtP4JFT3--M2UHHXiIr1rB4c3KzJdNm2dHsrQtY_BII_ZKnGb_r6Wnp1bcSFbEk_hTeDvZXVCupjlUJtz8x6i1SKip7jz4rzOMGAlB_YEe1-w-TJRV5KMQvn6wDVMHYNjt3zdggVQczOxcVasUMjRoZF-Z3APVQfsyApdPJS-A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=M2ZhNGFlNzAtZjJkNS00Y2E4LWFjNTktOWUyODk4OWNiYjQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="216" it="0" lt="216" ct="0" ts="1587564593980" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGM0YjA3YmYtMmViNC00NjE0LTg0ZmQtYTBlMTcyYWMxZTdj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="215" it="0" lt="215" ct="0" ts="1587564593981" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjM3YTdhYzMtMzA3Ny00NWU5LTg3MTYtNDY3YTNjOTYwMzU1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="217" it="0" lt="217" ct="1" ts="1587564593980" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjM0YjQ3NzgtODFjMi00MDBmLThiYjctMTlmNTNhZGJiMjAz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="140" it="0" lt="140" ct="1" ts="1587564594065" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjllZmVhYzEtYzVhNy00ZDRjLWFhZDgtODEwODU0MTdiMWMz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="140" it="0" lt="140" ct="1" ts="1587564594066" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjQ4OWYzYTEtZDhiYy00ZTJkLTgyOWEtNjhmMjI0Y2IxN2Mx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="26" it="0" lt="26" ct="1" ts="1587564594181" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODI3MmU3OTMtYmMyNS00NTY3LWEzOTItYmU5YzI4ZDYyMzk4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="148" it="0" lt="148" ct="2" ts="1587564594062" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTA4YjQxZmUtODU1Mi00ZGI4LTk2N2EtOGZjMzhiNTdlMTkw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="235" it="0" lt="235" ct="3" ts="1587564593976" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTY4Y2MyNjgtOGRhZS00ODVlLThlOWYtOTRhMTY3N2I4MDY5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="238" it="0" lt="238" ct="3" ts="1587564593973" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWRmNTg1NWQtMjBiMy00ZWM3LWFkODgtZjAwYmQxZTQwYzcx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="148" it="0" lt="148" ct="3" ts="1587564594064" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjM5YzZjZDgtOTBkNC00YjViLTgzYjYtMmYzNjIwMjZhZWYx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="235" it="0" lt="235" ct="0" ts="1587564593978" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODRlNjQwODQtZDYxOS00MzY2LTljOGUtYTVhOTEzMTM5OWZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="152" it="0" lt="152" ct="2" ts="1587564594062" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjY3NDRhNzItMmM1NS00ZGU3LWE3MGYtYWRkYjRjYWRkNDFk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="150" it="0" lt="150" ct="2" ts="1587564594064" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGZjODNmN2YtMmU5Yi00NGUyLTgzYjItMjdkZjU1ZmY4MTdk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1172" it="0" lt="1172" ct="0" ts="1587564593044" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDhiZGE1NzUtN2ZiOS00OTA1LTkwYzUtYjU1MjkzYzgxMTM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2058-ikYy4sk5XkfW-BsE6igHlc7DPkYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="38" it="0" lt="38" ct="0" ts="1587564594177" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjgwM2NiN2YtZjg4Ni00YzM0LTg2MjEtZGU4ODNmMmQ0OTY5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="38" it="0" lt="38" ct="2" ts="1587564594177" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzBkZjBjOTAtNDAwMS00ZTcwLTgyZTktYjIwYzVhNzZmZWQ4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="156" it="0" lt="156" ct="3" ts="1587564594062" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTdkNmRkZGEtNjEyZi00ODI5LTk5YWMtYzFhZGE4NzU5NWY2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="42" it="0" lt="42" ct="1" ts="1587564594178" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTY4ODcwZTUtYTdkMi00NmJkLTkxYWEtYTI0ZjYyNzA1YzQ0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="352" it="0" lt="349" ct="0" ts="1587564593869" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-58" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTM4YTA0YTItZWViMC00ODNjLWEyMzctZDJmNTcwOGZmMDQx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxNi14Ynd5am9jUGFOWGZJUzRERWxQd3dOblcxeDJzT3NMViIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aV4RW8wqL_xlmS6M3SC0Hwl-FSiT8d_iPy_asjww4JWnDL0I61HISPk8f0NoLtpYHDlZhm3D6F00tNUjvhidXaDMz88pBM6dTBAm_VcOsQayUJ8KwNGO-VMkkbIqkKrYRgllEszjoyfDqa__RloINHNvcvmGtJlABCmfTuMM_UAFsVr1Xb0t1rKVIBewDCLDjx5ful-jdMKa2Ck20ZAJzEMsrgsz1Mu9rb_dO2fk7JkgBibIKbjr31DcM5CgcGs1uA5G8zscJ1jAWzMKqWuLiML8mXBkh3_dPQEm_-WoUZQnl4Y1_hDdLvJZPZ3BR7L0NQkZIMnXNE6neo4-JGYpUw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NGNlNzdlNTQtZTUzMi00ZDYwLTg2OTQtMDZiMDU1MGFiZWM1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="54" it="0" lt="54" ct="5" ts="1587564594183" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTI3ZjJmNDMtMzA4NC00ODVhLWE3MmMtYjAyMWI2NTJmZjY0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="361" it="0" lt="343" ct="0" ts="1587564593877" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-39" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTQzYmE0N2EtYzY1Zi00MGZkLWI4NDUtOTVlZThlOGEzNzVj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5NC1XZ24zU2liRXB0dXNPbzVxdm5iWWMtdEdvTTJJUnpCbCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nid3HoZU31m7LcpV0rZ0gGuESwiPpz7q8nNeVoit7-8dANFPIZiiYJ4FF3ePWDr2dXtK2aa8NxmimJ6-B7Aj_7l0CbaRHkuG6YZrfGafmy4h_bsWBEm0xOYt46pboY3XzbdLcL7dMvhutlnFnEHnxBbqMQFTxBOfnr5hIn93MoKP9bSsGJJGjdBe6IyA7WP7koEaaMzVqCaXG2w_tQY8vuCIr03Hkj0uXhb6VlxLwGj0a-IxR3pvmzzzHXBLiXoeEJ7gDA_-EI_BwEVblZJjRbEdtGBIQdx4uiurli4P2zX5-sazWemf06DuvORydOqa_lClSERr-z-EyRfx1ebMWQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MjUzMGYyNmQtNTNmNS00YWQ1LTllMWMtNzk3M2M5M2RhMzQ5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="176" it="0" lt="157" ct="0" ts="1587564594064" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-19" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGU5YmI4ODEtZjJiYi00ZTgzLWJmNzEtYzI4NjllYTk3NzFh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5NS04V1VuQ1hPc1VOa1lxZWxBNGpoUmRXLXI1V1BCbHd5TiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sstJb3iK1gMreoKLUiMx4a9P56UCBbd9yhoeRYzmvuet4N6sWWZuLR_nmfCJPkvq-jO3Y5srYzz8SnPHSCYYU5vDuIZxDGfZnL9PNMqMor2m8cOjuToUCrMtU2-UmpIxDJDZC9_MY6m7pHk876obsDRja00WpRUYVhIVUK69Sh8PdEg1HLPkPyKh2b5rmE5lvwLJvJM3miurrb6iEhK_DYgSsn0W9BWz-FS03OrAsU6YYbL6RBqhQDx00dpHp2qO-bliIZzxgtw_lEqEcuJ0XJVPUu6q5scCMDVipFIGMM1AtAYQi6bM1vQ9vASuuqGzJzccNpdJles0M3wshw7tHw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTQ0ODBlZTMtODNjMS00NDBlLWE0MzctZWEwODgxYjlhNjIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="361" it="0" lt="355" ct="0" ts="1587564593881" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-1" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NThiNGU0YzItMjIwMS00NjE3LTk5NjEtZGI3MzVhNmE5Zjk1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyMS1XbzNaZnFQaWo0RzU5QVlPUmdGdkYtNkx3Sy1na1NpQSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.G87uWdiEqI8OJ3FGLV5XPi6stnhnbNSV2431y_weu-v_lICzOvVYB7Lh_SMZ03I1JtBmNIp_Yd4MNMdQCUjkKw6qagqLq6IfJXqyflRGU1OXbrgJF1mEwMZ_EDQDJZnhHOzH5xLlvcjbzlaYNjh-te1wvgBfzwJwpOEGm89RzanLsPijMGuBycPyfRSoLEzCG0ckEmOx7khA_4Ec0zsCIh6A4EWJgYnhYgANpCTDxQp0BJp1PAkKtc8P_ljI9tsWAbwNIoIwRKGIRMD1EmSGSrV2sPv9XUAxMX8PwaRcNs-XqL21eREczk22VH9-SDha7_0TMWfCu-96RcwBBpJRcw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTNmNGI0M2MtMGJhMi00ZmMwLWE1NDUtMmViNTY2ZjcyM2Yw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="363" it="0" lt="356" ct="0" ts="1587564593880" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NThkYjBiNmYtNWFmMC00NjA3LWJkOTQtMWQ0ODk2ZWJmNDI0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0Mi1OQjJKNWNBbHVPTDUtRHBOV2RMV242NURtOVdZdU1qeCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gkORx1hWZ1nj9k4DExwE5wADAJFnavOb2VuvCKe62Ez2AjU4TAPt8-g06e-c-WuG_Dkctz-43ecHgtBNdAqm8re0SA_ruU3VQak0hrs3oGOMgbc8qj6Vx6XITcTE0nKXcH790n__ZubQ1zahkkaLEDyHTA7E9LRXzs9vgTrJA0vJxiIcHA634ftoWiIqAoVX_Pwv7qnlq8xk6sxgLMkDzaUSCoX_KLWGSbWdAMUWu7DfBAEsS1yzAPOAW5bsH7u7liF-RZfiptFgrqm7u7salD1K1l4WSqYEthc9ufufqlIcySkUwu4jv6gtkTYbGKvLLgFq3-nGe_wLv2K3MZT1Ig
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OWIwN2QyNmItZjhhZS00ODM5LWIzNTctMDkxOWIwZGY4NTcw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="60" it="0" lt="60" ct="4" ts="1587564594184" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDViZGYyMTAtOGY4MC00MTJhLWEzMGUtY2RlODI2ZmMxMWEw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="63" it="0" lt="63" ct="1" ts="1587564594182" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDUyMzgzZTYtNjVkOC00YzE4LWJiMjktYjY4NGVmNzllNzE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="62" it="0" lt="62" ct="4" ts="1587564594184" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGNiZTFkNmItZDgxOC00YjMyLTkzN2EtYTM2MmQ3ZTZkNmQx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="55" it="0" lt="55" ct="0" ts="1587564594191" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2Y3ZDljOWUtMjE5NS00NmRhLTk4MmQtYThmY2QzNmU5YmQx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="54" it="0" lt="54" ct="0" ts="1587564594192" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTRjZjczYzctN2EyNi00MjgwLTg1M2MtYTZkZjNjZmRiMTI1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="62" it="0" lt="62" ct="9" ts="1587564594185" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTQ4ZGFkN2MtYTk3ZC00MGU3LWE1MDQtOWIyMzU0YTYzMDNm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="371" it="0" lt="367" ct="0" ts="1587564593876" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-17" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWYyMzU0M2UtZDRhNy00ZDEwLWIyZWYtYzVmMGNiMzhjNmQy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3Ny1uaFJteEttazhxWmxXMTlsZ1hVTXdKcENRMmxZb3BVNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PaYpYPcIEmbNPjnoLnvcjxkBfkdXY5wKduZ-A9FsvZdBHepiHJRyVL5R6pEUpC0XdLGrSO7tWrMUc450GQickinhT36wxGl7iHDxmtv0hwjJ170gTPtJqQfiHhKMUEhpPFJISEp2XPGqTkkrxwfLzdl4-8JBR_P1bMi2km5V8wncsoSSBVCrQW1WjA0ykbH0P6KdLl-PsqwZrP3NWuNrMgaZWrjqCvlvQmhhtqXaHncrYkQGD2PygD7gKJS_Z_kS8fVd01EqRY8VLAPmlqlEJ7EVBo0FGP2oNn-Fq-EtvL7Iv5aZuY-TPfRJUpZvnJSfKFgvS02xHBeZs9IHxlAn-w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MTgwNjE4NzMtZDA1My00NjY3LWI1MDQtZjNiNDI1NWY5ZjA3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="63" it="0" lt="63" ct="10" ts="1587564594184" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Zjk0N2ZmYmYtZjU2ZS00NzhmLWFhZjctYjYzZWQzOTQwNDVj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="63" it="0" lt="63" ct="1" ts="1587564594187" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmEyODA4ZWItNTRiMC00NzBjLWJmYjgtNWNhOTQ0MjRkYjdh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="64" it="0" lt="64" ct="8" ts="1587564594187" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGVjODQyMGUtNTgyZi00MDM3LWExMmQtMDAwNDQ3MjVhNTQ5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="59" it="0" lt="59" ct="1" ts="1587564594192" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2Q1OWIyYTMtZTFjOS00YWI2LTkyYWMtMDEyZDNkM2ZjN2Qw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="55" it="0" lt="55" ct="1" ts="1587564594196" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGJiYjBhOTQtMzNhMy00ZmEzLThjNTgtM2NjODljZWY0Y2Ey; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="64" it="0" lt="64" ct="6" ts="1587564594188" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTdlNmM0ZmYtZDU4MC00ZGJjLWFlMzQtNjkwMzYwOWI1YmM2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="59" it="0" lt="59" ct="1" ts="1587564594195" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTdhODViOTYtYTdmYS00M2E4LWI1ZjMtNGI5NTE4MzllYTRm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="68" it="0" lt="68" ct="1" ts="1587564594190" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjYyZDY5ZTQtYWUwMC00YjFmLWFkNTYtNGY2NjBjYTY4OWVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="66" it="0" lt="66" ct="0" ts="1587564594192" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2Y2ZGEzNzItMzcyNi00NzkzLWI2MDEtYWU2Y2VlMzBjM2Mx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1213" it="0" lt="1213" ct="1" ts="1587564593047" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWE3NGVjMGYtODIyZS00YmY0LWFkNmEtZTM4ZGI2NjgxODU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2057-5nzlJ2vlVWlxGnzATsWeVvlM6FEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="73" it="0" lt="73" ct="8" ts="1587564594186" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWVjMjA0MWItYzNjMS00Y2YwLThiYzUtOWJjMzU1NDMxNzFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="68" it="0" lt="68" ct="1" ts="1587564594193" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Njk1NTExYzktNWZjNy00NTBjLWEzOTYtOTRlYmY1YTczOGUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="64" it="0" lt="64" ct="0" ts="1587564594197" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjM0YjQ3NzgtODFjMi00MDBmLThiYjctMTlmNTNhZGJiMjAz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="65" it="0" lt="65" ct="1" ts="1587564594196" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGM0YjA3YmYtMmViNC00NjE0LTg0ZmQtYTBlMTcyYWMxZTdj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="287" it="0" lt="279" ct="0" ts="1587564593974" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-21" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjgwMDU1ZGYtNGYwZi00YTZhLWJiOTgtOTFkMTkxNmNmZGM1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0MS1iMlhoWW84QkV0cGZ4aDMzRkoxV09obTQyZC1QR0dVVSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lfN5FetejKt1oGtGLd5Rg_zTDDBNgiG9KoIuIcawwrBL8AC2I0a716ThDR7tjLF4g8g6N1cz98XXSy-138YsEC_nVqUumfZ9gkLVu4TqZjCvv91qERoRMfLnnSIjdYCwwLqVdn0I_3eYR_e-x8LL8yqww8QZdgRtx440uSbVa19k4MIWPsb0qOU1bBPtC96kRPI3Vmeb6tvSfaxcr3WK5n8-QYKXsUK7AO010orB65omA3d6eg3xEjFPqsxZSSo4abLt0Qy5-lOZxTh586nB3bi1ck0aptfoNLGl4hBgizYj_8loOdWk252siNNdQhADmHHg7NgjUX3LhrOp35-Evw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OTcyMjE2NjMtNTMyZi00Y2Q1LWEzOWQtNzFiMmE3NzZkMjky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="76" it="0" lt="76" ct="0" ts="1587564594186" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MiwianRpIjoiSUQtVG9rZW4tMTc1MS1XVWtxbTBGdDBrc3RqVUVyNnpWLU8xdm5IOTNqS0ppRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aZNV5NkrQK9fZH6tu44UPE4HsTW2gXQGPRlldq-5_0T_mTf0c1N9e1T10WEsMsqeof9KE8ewI3rZFJ8J_2LoEvPGuR0qRmR_O_XR8bCi9NotFvwLntf6cM8Lztk-ctogskkoa2dHmOhie8bqFhGmPJVwoJn9eC0DvcO6e495J8ZHWGSe9hmSa-nfk6V_dNQhEW1dr2QEWc5HPg17oMbQFs5HV0H7G3Fg1OjOfTVQ5lPSi4mUv_GK_ZPa3mPi81Efy-_9Qo21NIkAzJ7PRYxblzUIdIteDfrVue68UrS61TevubuMIdsPX2sL9ziaTUmC42lQOuicV-el-3cvR1yayA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjE2MGU3MjAtNGM4NC00ZDY3LTg5NDMtYjA1YmI1MWYwN2Zi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MiwianRpIjoiSUQtVG9rZW4tMTc1MS1XVWtxbTBGdDBrc3RqVUVyNnpWLU8xdm5IOTNqS0ppRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aZNV5NkrQK9fZH6tu44UPE4HsTW2gXQGPRlldq-5_0T_mTf0c1N9e1T10WEsMsqeof9KE8ewI3rZFJ8J_2LoEvPGuR0qRmR_O_XR8bCi9NotFvwLntf6cM8Lztk-ctogskkoa2dHmOhie8bqFhGmPJVwoJn9eC0DvcO6e495J8ZHWGSe9hmSa-nfk6V_dNQhEW1dr2QEWc5HPg17oMbQFs5HV0H7G3Fg1OjOfTVQ5lPSi4mUv_GK_ZPa3mPi81Efy-_9Qo21NIkAzJ7PRYxblzUIdIteDfrVue68UrS61TevubuMIdsPX2sL9ziaTUmC42lQOuicV-el-3cvR1yayA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="725" it="0" lt="725" ct="1" ts="1587564593537" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWFiNTMyZDktNzMwYS00ZWZlLWFjMjktOGNlNDljMzNjYTBj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2061-tM4YZobnAp6CWwkB4BzvnfBe7YAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="71" it="0" lt="71" ct="0" ts="1587564594191" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGE1Nzc0YzItNDExYS00M2FkLTk3M2YtYWYxYzAzMjI4NDcw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="381" it="0" lt="372" ct="0" ts="1587564593881" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-22" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjA2NGU2M2ItOWY2Yy00MTkyLTkyNmMtMTQyMGRmY2FkOTkz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5OC1SZXZzNzhwTFFNaVcxRlNscENrYVFqdmpQSGRuNWJMYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.dMm8I28VJcKYA8DuzzfehBGB3JHrG4a9kTzs0KJzNDiKaOo6CISfFNpIlB_fvTd0pp3daHVz6JMb4TcVCWmSu7R2rr2McyPiQWINUZvL_6IeEWXJcP4Fho5pbjPlA0EvOve3Fv4Nb6HAJcjZQdW7bVpHiDejCLVSSI1ULgw8xKm-CAR-t3EbumA-kGJU9kxqbDPF_MEjDGvTfQCJdPjqNUS8Fu0DHZA780-bhL0p5aJsEYqiK7a9VUdFDO2m_PKMgBnzUimKD6iEscU9Uxm98tZa4NMQPd5h5Uy0KrhCfrg7oSgJEXhHCp5BBrbZb35ScAAAREZbhK-3rGcBEuuIQQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YmVkYmZiYjEtZTYxNi00MTQyLTk1MjYtZDg2YzBkNjllZTRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="69" it="0" lt="69" ct="0" ts="1587564594194" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2RhNmUyZmEtN2Y3ZC00YWIzLWJmNmMtMmM0ZjE1ZmIyODE2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="71" it="0" lt="71" ct="0" ts="1587564594193" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjM3ZWU0ZjEtMzgyNi00MWRmLTlhOTktYWUwNzMyMTA5NmYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="74" it="0" lt="74" ct="3" ts="1587564594190" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Nzg1ODdjODAtMzY2ZS00MmUzLWFmMzctZDU0NzllYjA0YTA3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="730" it="0" lt="730" ct="2" ts="1587564593535" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWM3NjI5NGItODNkOS00OGFjLTgyNGUtZjJlYWNhNThiZDcy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2060-ymyMKy6T0XxFb1BavkuvaduIXcsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="77" it="0" lt="77" ct="5" ts="1587564594189" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGVmMTRlNTEtMTUxYy00MjIyLWE0ODEtZWZmYjI3OTMyOGFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="369" it="0" lt="361" ct="0" ts="1587564593897" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-72" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDc3ZWQ5ZTItZTJjMC00MDBkLWJmNDUtNWRjYjk0ZmI1ZmY4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5MC02aVlYNnkzTm5OeGRPWXUxaDRLa3NNUGhkbUwtOGZYNSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.i2nEAC4T-e6bTj-71VXrUkHLKM3FBys-Q2bu8eScBaAu_kHWhPc__-cavHk8NxJqk8ePPYN7OQhj6J32Y5u4-AfVby3aqWGGITsnIWgiE0a7URTKz-BALfc1pM1jOevxMPzdtoYM7tNWHAQMZh6-hL0T0XnqDX3lnT4RGJM0cjElkCsh11asZKI9LK6GA7JfW-EZd1NtpD1eT7LHfXySZmgg71_f8puoBlnvy34EXA_YsxgkZTCAxGS_CQNk6JmYc1egdtK1ilOMBGzfFcXob-hl9ETPiEEaWCFDLe3iZb_926TZy3R8HeI1mSNgAuXISa2PjeMLOkyqSUxWq_JJLA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MTYzYTI0MWYtNjE3Zi00MzVkLWE2MmYtNWI0NDIyM2ZlNjY1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="70" it="0" lt="70" ct="0" ts="1587564594197" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjM3YTdhYzMtMzA3Ny00NWU5LTg3MTYtNDY3YTNjOTYwMzU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="1059" it="0" lt="1059" ct="0" ts="1587564593209" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzUzOTk1YzMtMTc0MS00YTY1LTk2OTMtMDI3NGM4YjE3N2U5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2059-kCw5lVg3MMYwMd8WfdnBaxrwG1Ic7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="62" it="0" lt="62" ct="0" ts="1587564594207" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjQ4OWYzYTEtZDhiYy00ZTJkLTgyOWEtNjhmMjI0Y2IxN2Mx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="64" it="0" lt="64" ct="0" ts="1587564594206" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjllZmVhYzEtYzVhNy00ZDRjLWFhZDgtODEwODU0MTdiMWMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="396" it="0" lt="391" ct="0" ts="1587564593875" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-51" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzY2MTI2YTktMmM5Ny00YTMxLTg4MDctMDBkNWZmMzkzYzBh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwNC1QanBqeUlxeVRieFg1VFJnd2NGb21mV1hKUngxbzdlcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SaTzrawJYmp_237UkJqwZqAx26ChKckqE0e9ZuicZm-GsjtE31u235orSNcFn1_yyLwN53A3Pq4-BF0P8-HQKi0pn_GZ1SvvXPL_ARGLOF9QVWAH3Gj22BOpCvFJnT_dlvFRI-l8LqpcamWZfFoSo5V2pS1lxTcdYZarbeUR6EgDBGw1FFfvf0AJ0ViMfg5yJfuqvjfz2xliO0LIJ4sK7y5MWMZ_y2ayo3XeC5b3_LObDEYiFS6gXgx8RWixwWN6SDABZ27FcrMeK5CSEdSgmZh4F-EaFFx_UZyuUfEcwu_fO4fOb60i_sSbexKuq_X0HK0MxkXf9gM8I8o7fbygOA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODc5NjkzMWYtM2YyMy00YWM5LTk5YWQtNmJkMzZmMTk3Nzhh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="297" it="0" lt="292" ct="0" ts="1587564593974" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-4" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzVkYjE0MTItYmEzOC00YWRmLTg2MDMtZGQ1ZTZhMDYwNTZk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxMi1Ib0dDOEZodXVnTEtpdFExMUszVGgyQUJxeWp0U1dBNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.B2f0B7OcKwpER2Ecq5IvEuD3_KHSyrHYAq9EsztvtDCqhQ9nVIeDNNr9Nu-hmXwZkKmFtvGnvSCYPJ9oUia5UvkSwfFo1D4bAI7joB_A5uh7J0sqNuv-4dCHH94AidrW1RrNxWJLFPLU3RvT6Q7xaGlGVRPOTorwOG0qEmwfoRV8mEW0oS4JaduPZDV2JjXIAN0C6N7HOoy_Kl56EZAcFaj9m3VGemJd9fq_HlWVr6Gzr_ru6Il7lVRRjwW1N4TYma96vJUt3Tpy5iOQtuNs4ZOZGqaEgRr5btDNyJmCMTadaPqntTKONkExUId8Sxe2-MSUMjq3KEqG9Smbk3ILgA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDNlZjE1YjUtNjIzZi00MzY0LTkzYTgtMDAyYmZkNTAxNDhl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="296" it="0" lt="292" ct="0" ts="1587564593975" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-67" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2JkY2E3ZjUtOGYxZS00MGViLWFlNjItYzFiMTQ5NmY5ZmM4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3MC1PdnNYajdLLVd1UWFRcS1QSDZVS0x0cTZXemJIVThZciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.N_R70f8KzTcp8cCxe56rQv4eey7DGK766AAGJYIR8VSEE6-T8Z1qWBvSKivySXDwSdgQ3GHveRnsAtGlzea4CH7YAWQMsDsVW0sh3SIUrsucbsjlWoZcRswmZKNVWobFmGvwbdCblimEGhsIwLK0902_lsDuYLH1HfUQr8ThMBf3odgYU3MARXfwSo_3a-eF4Tq51_YVYtVYyd8V0OfzdH_FjK7bYyGC5aFZcSp3G6M88Xpa9XcPbx50N4FYBvHf4n_m0lVe4cH9CnAkIYbdv8ngDHG2TaGUUJOKF-JL1dZNdE_1m9nrrhNAgx9DgwPu8XtoRHe2A_KpXnMylo6zVA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=M2JmZDU4MTMtNGIxNS00OTAwLTljZTUtY2Y3ZGE3YWI0N2Iz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="65" it="0" lt="65" ct="0" ts="1587564594207" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODI3MmU3OTMtYmMyNS00NTY3LWEzOTItYmU5YzI4ZDYyMzk4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="399" it="0" lt="396" ct="0" ts="1587564593873" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-60" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjQxMzBlODctMWMwYi00ZGJkLWFmZTUtZTY2ODZmY2ViZjQ3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3MS1aZXRUY1VIQmRjNHk2U2NjNzdNdWs3RWZEeGx0Ym1kZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.WfeEtAADq7g2mCe9iTUkTaeMNIfzySgNmsqdOHbCGri_BgTYxBd5yaXMRn4fUfq5-8JADj4PS9CkcIfBIMireUMpNdnNrcI5bDiQTHGZjySP4lDckXRpU8SK3_PdoKStXtN2Lfpq-KSfXANmxJ5w3j-i4kzsyeMRWxeoWecbTvOA2fUzDGHI_cKgBQ269YwawKBjUnudIm5CfI0nbXWOr6uhZ9ULxYx357OyssQNv_-m8QJ6xDSpObHGMEf4Co7x39F38rQCbHPeltqt9ry6wFOqCKRuQK79wWftjlaGX-kk-d6QNbUPuxzYO1kh1GaT6riL2qCDheWBuFKQyVePsQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjhhNTg0YjUtZGRjMC00NmI1LWFkNTAtYjI0ZDU3YjdjNTUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="293" it="0" lt="290" ct="0" ts="1587564593979" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-64" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjZjYWVjNTktMTVmOS00MDc5LWIyMTctZTMxYTcwNjVkN2Vh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcxNy1uQ1F5U2pYNHYxQVBRcFlwLVVvUllGLXdvaDlsUG9RYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Jjhxl-1jdz29Qlql4txusdgMPPy1o9yp2Qe1ycugtU6UxLOPmHuDaNCUuDzH_aM3ZkpBta5Er1MqTmwTUaFwE1xAntxzlU5EuVvQ4v9RLyiduzx7r0ktToEKJERvIBoiAVLHuytD9ubGOpar0Gb2hz6O25VF7k-CaxGOqh86xPWi8lOo75FVtcsHBwcD3w50XkVw1LtbK_iA7zd8_5lqpzCwVP2u_MFyUM4X1psvS8gMuVXsDDPT5moh9Q2D2nvP1wfOn8CBtOgOQOmXe4mHzH8OHnEqQkPO9TrKjfyqCqInWKNuuWv4TGMYb7F1p5werW5MLTa1A8ZLqnkrxLmFqw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NGE4NmNlZTYtNGU1NS00ZmM2LTk4ZTYtZjA4MDU0ZDYyZDEz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="291" it="0" lt="288" ct="0" ts="1587564593981" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-52" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTg3YzE3ZWEtZTY4ZS00NzMyLTllZmYtNmUyNmRmNjExZWNk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczMC1DSno4RXBZZVFNc1RNSnFkMkFhV0ZiVlZoaHpDc3BKYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bxk1sCgrG1aVIFdTDmrdnPrVEmneK767svSKkQk08DrH8CoxOuhMpEVIDHTpbN6bIVRx6J170tHG6Dsg4-wOt6aAXdTWyo9QW0Cib16uLvW4O1888svvGBuIRCKcr0EBtPHyjHbwyiNq9vxlPDB80ywNhbKepVcmt9pr8acTkwfwLJrdl622y1mx-H3wmy4EsjMaeYCXvmwPDtEFr4AMaVC07FjZLSjzeMHHRbu7u5xR4CQuMj2j_4N37hm4IIUGv-QGW1EN5Tu9e9BmA-dYMD8m9hZ3HykGbewsgHL-FuBF9_WX7vR6yKgBg3xfZOrhO3VDTutcPbjEv5ZmV-azgw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MTRiMWM0ODMtOTYzZS00ZWVkLTg4ZjAtZTM5OWI1ZDc4ZTk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="297" it="0" lt="293" ct="0" ts="1587564593976" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2UwMmRkMTktNTMzNi00NmNiLTlkMWYtM2RlZmM2OTkwNTcz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyMy1vREFNVHJVZFBYRE9CbnhrTEJiU003RS0xT0lhdEZPcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nsRKmVc8NHGbJKL-EqUSuNK2FjaOfX9Jrf6-AwjwcovoogwBEIU2WSzew91CBxBRgICbywthMChMVBR1GZReM_bLvhlDhXim3-UMG3JoEtArntFtk8CAFi6ahRLMb27QKLv-R5PDV97pVjyeRBIGmzKRnkRCcVtZ4UyNAm5Js00J42phhVDvasA9XWIl_yzXkYC5IPfwEY5_59DOmKqlllC2nHyVgaHylAIqUtqWwn8jbWlu7L8E4TSLVuXPcbFE2tlc0Csroc-4L8ZYoJy-Yrr4-QJuHGhSnAc-ip-wsfE6rlylp3--cUwW_jQu6fJpuyuJ9w1kdZcETtXG2jZ3Zg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OWFmMjBlMDktNzkzYS00MjkxLTg1ZmQtNDc0ZWY2ZTU2NGIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="399" it="0" lt="397" ct="0" ts="1587564593874" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-94" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2ZjOWIzMmItMzJmNC00ZDMxLWEyNDMtMzIyMzhhYzk1Yzdj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2Ni1Wa2xuVGxXaDRLOVY1V2V4azNRR2trUW44ZkVuNGFHMyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TFmrK6zGJ_csvcSHFbPVxsuEL3oFOAq3XS2wfj0oQJU-ASDV-mpUp31OS5QEsreBegRiKib0qRyMJ6FU-xFjZwAlUloFJv1gMLhZEUOH9u7YsYXKF7cUAsNeXORtF0lcsFs8OpFHdd3bKXBNgG8O_gB86OqxcJxS12UEGVlujYvs7g0V884fnuXObQF5q1wnN7D8Oh5LnoRRFWR3sg_3EZyB4LxvZQ_9re_VzZapunv2kIg1gHlM0VQImdNwfGn-kVwyG9F7tU0TJouAZnoNHNMyB2snYzr3qfqR6rd37_6tjoKqXRpRLkiBNOdYJLV3l4p5bkZF6JMqQKm9QegUGw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MTljNTYyMzAtMmQ2Ny00MDQ2LTllYjctYWE5MGIwMjcxZTRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="394" it="0" lt="391" ct="0" ts="1587564593880" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-74" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGVmOGUzYWUtZWE5YS00ZTMxLWE1YjYtZDEyOTJjOTliZmE4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2NC1Uekt4YTNBWEh1TGFFemZrWjYzczBmY2JGMzQ3YmFhUiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.INcgQGI6caTzeNVHfZPQnCcvAKROk4j-zfNGJrLQRkGZB8a9HSsYE-cZmhwk739_gRS1B2bbyMFwp2BbXAtbobiIg8xF9XBK8I-gN9AG87IWVPOXeRFjK6GFZjhXX_yRSx8s6YT49DildXCosh12Mqdjx_vwl0yUIf7dym1hwG-hgVS5vIX7frdyRDMAnHZGwn0XWUUjw6p3IoMQD7vHeO9k4VjYLJpYDOzXHVrY-cxPcmuA7CpKwx3rjYn5-anNc_53VRXsbpAaaaCl6qABaAnDtFvP-ShH9uGG3paZE9P9rgP3a7ATZW_F_ZthmbbygW9okgzyNkqGebN63K3P-w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTA3N2QxYTItMzFhOS00N2I4LWJmZWQtN2Q2MjhlMTAzMjMy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="53" it="0" lt="53" ct="1" ts="1587564594221" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2Q0MmJlNmMtNGYyNS00Yzc3LTgzZWMtNTNiYjk0OTRkY2Uy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="399" it="0" lt="393" ct="0" ts="1587564593876" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-92" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDhhZTlkYTUtNjkwOC00YTUwLWJjYzctNDliMGRmN2ZlYTNm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczNC00WWxid1Vma000b1hNOXhJZlBWOG5VU1d4c21ZUDF3ZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MxaONv9rDiBPrn0vZmFhbNy-lDz84DmY2hukbv48_CvF8r-YKqhowGVxWOdnTD5LVPgua_gP1nf51fvMdiRuUZRkM8r3bxca4MbM6cAK-QxnCI2m-kMaiQf_IBbXS9gdIia702v9Nj29LK-O_9bL0gOxyJSzqjoDuUes2y5i1qQxu39UUeGfCcuGWePjsX03FtvenEyJEp7Nj4-bP7aeeyWAhl9C_Wh48jArdgMfzeLRaLzjaIbjYRBbdvAUkgPGxUKFpZMTDBM4ppQlemeJEBJr32oOoDo6prS5yx-PEv_Rf8RxSIz3XLsR4f3441a212FCURwU315jpQpvkS8-oQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGI1MzRjNTEtZGMzZS00MTUxLWJkYzMtMmUwZTMwMWFlZWM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="393" it="0" lt="388" ct="0" ts="1587564593882" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-89" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjM3YjdhYzYtYmYyMC00NTdhLWE5MGEtYmZlMmRhMzU1MTFj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0NS12U1JYUjUxQUZ1QUZGTVV0aW9ZWWNsQVIyY2ctLXFVdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pbublvzwJzoSmcwmXxF74mvwfzhSLrZkFdc8cFC4EFbX5sdswtaZJ2LQv_7JftqR9gVE12AWEl1sxNXvebsAV75iW73-DyQrVitX8KU6NNqm3olsCiZo3M3droN51O9gMDV0kP8XEvui4pX7Avj9nwn8E6D7fQMC_WAIsJyF5af5K_XD-IdcQxYLBXn3786ehGMBoixBOSRAUGfZzNbXVG2GWQtpZn7wMDeD6zdUS-ZszYqypuMm4t2nCz66rBGhlXsM0M441WeWUGsZ95JKkmMIgv2Zi1r-vWaNOxTfM1Fpfc605cCb6oCcJXVVPvXXQqOikJ51gI9_ObiE9IcS8Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjFhNzg3Y2MtZTg4MC00MDgxLWE5MWYtZTgzNzA2YTJhY2Rl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="305" it="0" lt="302" ct="0" ts="1587564593970" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-30" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDNlOWQ2NzctOWJiMy00OTRmLWE5NmItYjA4NzUzMzgzZDFm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5Mi1qZy1PanVmRUR4bnBrNUxEVzRYakFmUWVqaHRLNVh3byIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.phDQ-XpCYtVejnRWv57_sUEJnxt5OUWafHLMaiII0wfF8jNW-wDhiU-VlXQ7r4NJT_W4-3w4dFCP5ZEkAB7cuWcX5r-GAxuAcPYyNtVDGimmLxQGiuPFQVGtpXLDFgJAtQnWoj2AlljAUM_QKTo6qu21_ARpxD6YnSzIh9qIuzY4Ecu-jh8XsdXHDYDp9JuW1dYb-oLgL0GGj0kBwcQncTGBSzRCQovZCqTT-2DjtGWfdA_XO73UkcABRpfiCSLRGjaca3civMEEGw71qRKe8J-2V9OSZ7d6LDD8MjQSLwG7u_vAr99mH0tc-loUe9P4wVCyrTMZgcoGPbN3D1_jzw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YWFiYjY1NDQtMjZjYi00ODJlLTkxNDYtNGRlZTJhZDQwMGU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="62" it="0" lt="62" ct="0" ts="1587564594215" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzBkZjBjOTAtNDAwMS00ZTcwLTgyZTktYjIwYzVhNzZmZWQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="63" it="0" lt="63" ct="1" ts="1587564594215" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjgwM2NiN2YtZjg4Ni00YzM0LTg2MjEtZGU4ODNmMmQ0OTY5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="40" it="0" lt="40" ct="0" ts="1587564594239" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWZiNGRmOTAtMmU3ZS00Zjc4LThlODUtNDg0NTE5ZTYzNzcy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="401" it="0" lt="396" ct="0" ts="1587564593878" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-80" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2JhY2E4MWQtZDBlNy00ZWZmLWE0YjEtYjA2MDViMTZlMjgw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4NS0tNlRLYXpRdFdScmg4OFlCNUZESlhENHBRZGV6Vmp5bSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lWggZ9qR_v088PzLVSec66oPnmxuEwJL5aWbXP3epK9FZChCklZjaJBNdTmpGXJqX5jkHT6ceAm6hoMbTVSjYpobIRbbwOIBoZ75dXfSROlDptvp4T8MZO1qmAUGc0_AHAAK89HarbxfinPVDaXV_eViseSQlYUP-NeYnTd64Mhg-7EjIsezUdOQjMIPDG-TdZVl8rIuF-u-vGe7zgCmN9Y7StFk5AAvrTFhjDOsmDul4wVFsRO_uDUjE1U44PJM7O6cxX4GfPo4MzteX1w7n6b0mX4Z-7zzzQcUkKiiwFKEuaqkLhcxcdfEoizaujN0_pDrq4vUNn-l5DGrfAejOg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MTU5N2M5ODYtYzk3Mi00MTMxLTk0Y2MtNGNhMGU3NzY1NGRj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="64" it="0" lt="64" ct="1" ts="1587564594215" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDhiZGE1NzUtN2ZiOS00OTA1LTkwYzUtYjU1MjkzYzgxMTM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="300" it="0" lt="296" ct="0" ts="1587564593979" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-50" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTlkNzg3MzYtZmYwZi00OTFlLWE2Y2EtZmU5ZWViNWY2NDlh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5MS1lVEpIUzhlOGZWZ21TLWNrNU45Zk5ERDBXT1Q1eGRkTSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RQPnCmnb-VePMSGQWFIMLKueNKON1DpiZI06KfVvHPHCGC4wWCA-OTqzczPspQtS_obuBwCewY4sibTkcuyFUto6W-Jxd1pi49rlsJSeEj_7S7LEjPrXjFFkgFK1tdIQd6RVC05Y-HVVHgK-pioX1655uCmhRScQmYiryGSpGWn_mWy4d8pI43lX-AJr63d7rpS7DPbhy4ug2rr4P0_HiBvB-RzhHEesjYiV9aSjffQeFTmsF64B9PnvBJsEyIO85RHf7HzO1ecokJVqRYMcHlG48B3N-PRWUAaq7O2Y7EPgKrviPWmNGRWHcmXa_4hZecFRzwBQQIBYNAAc7MJyrA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MGE2NjVmYWYtZmRmYi00Njk0LTk5ZTMtMTYyN2QyYmRiZmI2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="304" it="0" lt="299" ct="0" ts="1587564593976" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-20" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGRmYWVjMDctNDYwOS00NzZhLWIxNGMtNmRjODVmNGRkYWI4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyNC12Z0xqZFJLeVJHaUYzdUdLQUZDTTgwd25JSWh0dzY1biIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Kdspgc5eaFHsgTWdm6SyD9_vtNGG3DaNmixCXX5muPPRqXAhl0xMARWBhVgwscZFL5JmoImsRCMeA-r92euKxZaMm0S6ZOhWIROokcU3O5QSzFFWK6pdHepxxGgFcYHYwXUmqMibrfMvHM8g6wUbKE88c5pGjjl0UHM77SdprEefMCioTrovpXnylg6sNy-G7xQzielRyw1hbBFMnB2TXGuCXNBLNekArcyctMzH6Is1MAIwm0wNn2-eszi0koD0S-uXcQ2-jURkNZRxGuZO8v2bafMapfTiKLasUYZStWp4dzpsIygcQkrWHEurjLS3uONKWJia7fFDn58nEac8pQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NWM5ZTJlN2QtYmEzNC00MjViLTliNjAtMjg4Yjk1MDAyODIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="37" it="0" lt="37" ct="1" ts="1587564594243" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjNkNGYzZjgtZWFjNy00MTE0LWIwYzktMTA0ZTEyMmUzMzFh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="38" it="0" lt="38" ct="1" ts="1587564594242" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGIwYTgzOTQtMDZiZS00NzAwLWE3OWItZTUzMzhkNzU3ZWQw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="60" it="0" lt="60" ct="0" ts="1587564594220" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTY4ODcwZTUtYTdkMi00NmJkLTkxYWEtYTI0ZjYyNzA1YzQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="67" it="0" lt="67" ct="0" ts="1587564594214" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1Mi1ZbW1FRW5NbHhGQy1tS3RBdHR5aEFJS1J2dERPRzBHTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.p8RhrvzXeOVCvzEMN1KQ_3Obr9YpAk4-jO8TabH4H4W7CK-GohvlKNtfvwVYZXEb9tGGC2p4F8S9vCqyZLwHXweXjbAwkieO5EcF51D8o8vkV-5BJEEPemTdnEeF09cWaLsLMkkE79Jh7s8A5rVAXFFp_1QS8AcH7x43bXA0EW0gGw8pfapE5dy4JfeB-Pn44nGBkclxDhP-jeyqQefLjJcLRB01mZU3-HHBLyaJizm4iiRuTTHSFQhAHcuH8ll8DaXtb4u3rSbir9IF1Pd_eJaIBmXRhFg683PYtwZCVWax0wu9rrivujMqgFWqEENtv4QkT077-0s7CIMudfXHLw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGZjODNmN2YtMmU5Yi00NGUyLTgzYjItMjdkZjU1ZmY4MTdk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1Mi1ZbW1FRW5NbHhGQy1tS3RBdHR5aEFJS1J2dERPRzBHTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.p8RhrvzXeOVCvzEMN1KQ_3Obr9YpAk4-jO8TabH4H4W7CK-GohvlKNtfvwVYZXEb9tGGC2p4F8S9vCqyZLwHXweXjbAwkieO5EcF51D8o8vkV-5BJEEPemTdnEeF09cWaLsLMkkE79Jh7s8A5rVAXFFp_1QS8AcH7x43bXA0EW0gGw8pfapE5dy4JfeB-Pn44nGBkclxDhP-jeyqQefLjJcLRB01mZU3-HHBLyaJizm4iiRuTTHSFQhAHcuH8ll8DaXtb4u3rSbir9IF1Pd_eJaIBmXRhFg683PYtwZCVWax0wu9rrivujMqgFWqEENtv4QkT077-0s7CIMudfXHLw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="303" it="0" lt="300" ct="0" ts="1587564593979" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-75" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjJlOTNjMDAtMmFmOC00NTljLWEwZTctOTJhNWNlMGVhMTFm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4OS14VVlIOHh2aTdlakdpaXNUSDItMDM1cEcxdlNFa2U2NSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qa2h2qsTzR6WDGdWkKsVqQIfWJq66YYG4Q44ipq4PUE-iPHeg9B-9kB6iqYDnaMRkls-1T1n3Cule4ZjPP8lpC6VRd48vki-s5JXne3ooreGsEMAXygI4Ns26nqli6tPsjA59so9Uxo4LpdOOa_7bdHtaqyQxoVMLXuNOkZnyv7yhUvfWSLP7pGINZo3y7Z1NhkgebXY_3AUMKPqupS2N-rr29SrSqGyMDUtpcmewbTcT_tH-f6hLzqh3vFDnoeV6dCFDmDVpzmaVwFqEhjMmFpAL7_4XoWhE5nhOGAeE8OAlsKobqOd7J5ASLQ9nHGKq14ZwMAptME1xZcc8mDL1w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NjY1ZThhODMtOWIzNS00OGQ4LWE0YWMtMTg1MjFjNTlhMzAy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="405" it="0" lt="402" ct="0" ts="1587564593877" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-26" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWFjZWQzODUtMTM0YS00MDg0LWFiZDQtMThkN2UxMWZlZTU0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0MC1ZdUJCdGZRSUFSU0NFa1N5TEgtZzM0akZIYmZXSy1uRCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Xv4waop5DXI0eKgpJj7UaxR-SxM8hyO2VVadAgWDGu0RwsYnoYS1VbrXL0JOZTXNGKIkuemedEN0bUFz21XCYkfmw3hDkr1Ousz7gt6BJoNTYHobwRwQWKvNS3VLT0xxlYZfqfpLYsR9Xdw_rk5ag9d4mUiLcz-PVoBY8-8nQRvdkN6ncfExa9vUUYVwJzrh_AuMzIgQM0_pafapuWcebMQpcD1naKGiOeoGIMQn5dw3QkStdBTxUBc3zi12ZdIYLf0375dVZ0qVCyERon31HyhqWU44-b3mMJXhMk3QaukFTwO_wXZOPDRGLh3LupRva119kwCx_Fysm31XnQYgeA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OTA1OTdmOWQtYjI5Ny00N2RmLTgxMTQtMzFkNDIxMWRiYTQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="572" it="0" lt="572" ct="0" ts="1587564593710" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2QwNjQ3OTYtOThmMi00ZDE4LTkxNjMtYzhkYzM4M2Q3ZjMx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2062-Pb1Ndph4PdqwkCxXzSw8XG2TLYwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="216" it="0" lt="214" ct="0" ts="1587564594067" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-86" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Yzg3Y2QzZDItNzhjYi00OTkxLTg0NmYtNDEzZWYxZTRhNzFl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MCwianRpIjoiSUQtVG9rZW4tMTc0OC04NE8wOERRN2Ewc0R6R2gwMGMxUm53ZGtNQ0t6bWR5USIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.O-AJV5oetk_hqNvv1EXScoPHgbgpR5qdU_uMuxiYHiRIH3mxNZfHJc5LLM_qdvOtRf6AxaDmtdeF_7ER5Rc6VDR6fOgUYV_1_dU7CR-ivfGOSHICp-DQo7JdOrIe-hYqNJfRDn-FOw12W7tv7zWpnKhLEADcAZB9-5W4FGLWxGnXypdD_hmAKuXV38ATRhfZjkTBk65Adhangeln9NBZa8laGBKRbrNwmjbsOiklkjQ3LYoM_-d4qaK6qyUdIoRdB--XIICqfAHXVetNgYa0OW1bdkRC7osnDzPrvmy3ae_5QaQVjmCj9ByjNwavvF3rY1xviZREwdWDGDMSxJNXOA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDRhZGE3MjEtNWI5My00MDYzLWFmOGEtNGMwZDJkNDdiNjYz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="306" it="0" lt="303" ct="0" ts="1587564593978" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-71" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGE0ZTQ5NmMtZGRjYS00OTBiLTliNzYtYmRjZDUxOTVhZDJh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY1Ny1yMnNyWldmc2ZYNXlncy1BNzdYeU5EUllQZXJIYkVwaiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PfkpPWsqsFfkztMadt1BY5R5ZsWbk14f57WgXpj0DOQquh0a5Jy4bA3AxHM7jxwNGVxKZSIqCEBCtNmuTaS0E17Y6ZPsm9OcdFrHx88WkQsJjLYNv6i3inqfe3mMceMJ6hZaTLMwAIhpuqbPrtAbB1e1lT3ZftUhqXIg_xPARRTTKfEXfAymaTSVNEE7grNB6UPBIRQcFuWdo18SFWEHQIEV5JAIguvV_cz2rLQO-eCpsRfXNzhcQqF16iXmwBi2fxzh0eJNOvne3WAJe2T3vzNASmxsL7VnIIoYIDsLPWvx0-5jXA5egHIL-82_8vogsRTuyW6qlsesjWTN7xYvUQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YTNjYTEyZjEtZDI0Ni00ODA1LTkxMDMtYTg0MWQyNWMyZGMw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="309" it="0" lt="307" ct="0" ts="1587564593975" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-25" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OThjZmEyODYtYzIzZS00MzlkLWJlM2MtNGQ3MjEwMTY0MmFk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyOS1WZExlWXhsSGFoaWhSNmFoY2tVenJsVk9yTVV3Zi0yRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ljoJocqEaNhsHrCZBDajiFsvGwr-tJne4pTF1mtS9b25L3E_XZUXTYd9GuZkHJ2W5tkwCSx6dxdddkByfy3JK5Kdf_hxcuvp7Tew_yUPmmQH9XeA9Je0F2017WN_vvcIsi64VdMdtpWM12d83uzk14_vZO1g2-nY_DdpxhdtOxV6YsTm82PxpjLo2e-cHZQNKPTojYYDyhT1nNWsvDeTGp5mwJu4vNXPmog1bKnAXe2PtNN3496WV79L-OkhWPWDjtFCF53-_EuIaOkXi2T_nrslN-UVAu2_waXUR4BAGXqE6YXk4lcrLCqdWgLQYKTKfDU28Crd6MOB3I3lxXFPNQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDlhYTFmNmUtNjhmMC00NDdiLWI4NzQtNGY1YTk4MGUzNTEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="41" it="0" lt="41" ct="0" ts="1587564594245" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDViZGYyMTAtOGY4MC00MTJhLWEzMGUtY2RlODI2ZmMxMWEw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="307" it="0" lt="302" ct="0" ts="1587564593980" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-34" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDQwMDlkZDctMjljNi00OTM1LWJlZmYtMDMyYjBhNTk5MmYx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5Ni16Umdydk9HaXV2d0phYnlURzdERmc0SVctVFlxdTh0eiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.p_rUAAyAy5NIFYokDMvqmVxlyJrWeAp5Zad9MaDhammYkKzmJw_bmVz6hKUb2ipDF6k5npz4dSN992D6Aygy0qDFfgBW6yBYykK7usM1unO_rCXZZDDw7v1P-CJtgY6XAYXXayLdngDMckz197Ddr2XIR1JMGuTPsJeeBr0Qno5ZedbRGWljVUJjMVibU9Qc5wcVw5Darkcp698LK9f_qODPQkWyPNkVIL35h1Gge6zwkMzW4EAq-1uS6MMi1D3EDiy6YF30X88veNfLL2FbpQ3idDKaekjyB4yKwW8Id2mcw_zrkK-xyL9yvSWeZRiWszk0kshOQUod5oDUIrxC6g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NGQ5ZGFmM2YtMmUyMC00MzlkLWJiMjItZWUwOWYyNGYxN2Zl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="309" it="0" lt="305" ct="0" ts="1587564593978" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-91" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzU5OTY0NTUtZDA1OS00OWM3LTg2MmYtNTg4Y2JhOGE4MjM1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyNS1EUmhEODI5ZmxTU1VBRzMtNlJ2N3MySmIwb3pNYnFTMCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.oie7SB145gbB6ys1nHfDnWTG5fqnDvlxQr-o2n8XA7KSyrV3V0i_EFllVlbtKxMjlHmnd5AKR_GA-ECyp9JljueIxKWi6iBv9P25OKRYutgA3R_Njsf98X57fUDvse6p6jRTsqnzV2xM2IX7kcjsJbinU0fPpjRuUrVfejym4Q_lEwSRJgM16EWyBcbeYv7RuQtogJtqqCAr_AwVsebwiLpfzdtHsCYzi-xAm4M-99s6UqVabAYqgRU09aa2Lu6-OXdS7BkMbMdKehimj_RlQagBD_oPS81ZTbcQu0BGmbcxjBXRsDhx236zcq3Qwayl4ze53bOnEqnQwmXDqS6jAA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YTYyZWUzMGQtN2Q1NS00ZTYwLThlYjQtN2NmZTEzZTljZjk4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="407" it="0" lt="402" ct="0" ts="1587564593880" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-43" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWQwODBjMDMtZjBjMC00NjhhLWJiMjYtNGRkNGY0YjA2NTVi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwMC1uakpNLXFLODlWOWNrc2stZkRCUHJwYnVIUThwNXVJWCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GudKxXrX8UqdGyyOcnkTSdemSf_jZal7PDCnndT73vrxsQRY4A77lVl4vVfFp6nYyQGwqOjrbI649lJFoRuNYeScJe2s9CFOVUuUnJKcU6_HZE8mSktzkPuH5u3JamiuSvLnwLK5PDEXF8VDo9WM8YPCl4pE5CWe8znTXVBLtfWkrQmb8JJ4Awmv7woGXiTTwjm9lGKu5Y1oI57fcjnXeGbDum_diUNfCiHySJoocCDIKbe3Y5pDIeNug7z1VtfHFwie0TW_gS2vFDy_F-qN7lBnSvP60CaHQFrDq2TWYLpe6apLtd8Cys6iyk4qsvv8chhDnNH0KxLmweQaXv_DrQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjYzMTI3YzUtNDYzMi00MmYzLWE0Y2EtODQwOTg2YWI5M2U0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="415" it="0" lt="412" ct="0" ts="1587564593873" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-56" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWZhM2Q2NWQtZDYwMy00OWEzLTk4MDgtMDQzNDMxZGVjYTNm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxMy1kU3BJMVdaSmVzTjNUMnM1QWtGbjhwQlFwZ2hLSE9BVCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.e6ceWlr1feEa6dGvnGMsXMdWih0FsotbHsQTU-SI0jnZUf83pxVAtXMXaT2FD3PsJ-xjSKE-IpPRyAdAlt2ZOdCGUtKYxzNfDniAka0FyNKkcN7QAwNj0QuwGvoyh-w6cAcuMeRtnldpSvhJbyEXfp--fD_-mofkUYqcl8o6RBso62CiF-GB9uiMaRue24sfLCujn3duZHjf9tO8nzBTmdlDusLXEPtzy8YEO93FyYh0piqF2ACKLA28kZwTxQCkSSvFjEu5qXJvz3q_dvWinG0YIELkvqRBKh7AbKqRknxJf02ghKvNVnPOatzot_D5-APsYqnpwgrbXWt-s64dTQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MzkyYjBmZmYtYjU0My00ZDM5LWJmMGQtYjc0ZWNjMDEyMjVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="225" it="0" lt="221" ct="0" ts="1587564594063" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-85" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmE2ZTAyMDktMTM3Zi00YzA4LTk1ZWUtZmQ5M2M5OWU5Y2Fl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyNy1TMVN2NVk5ZjJXMTRtSmFXZWp2UUQyTUJmVXZzZ1NYeSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZrxBpMZpKBU6MlXI7oi0Md1sYtHXXC0xAFGeFMMWhBlkm3FiHmDg_uMfFIaIgWqpED_HxJW9LyPa9mm4XRBi44qV9v6SpcNhMr0qR_LmBJzYHH77UkLL497u5aKiN4VsZFtxpgDVIjoiIlYIRRh6wTn8IlDaH_9dTh-S0jx1qZqSgUe2GzRVVW0XvyT6JEM5soZt0euJTMl3v8teMa2cLnbUdIJ3Ugn_0myC9YhhM7SPdzz06dfL4mu-oKuzB_vxcxF30FRS8P8WD-_j840zgyKR3LIZUBDBCbSJ8WG1PabrZhK3nhJCL7pOIvMUm2tVDzZuoVKys1WbZ5gpxSmAvw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MWU5MTYxOTMtMDcwYi00NzBlLWFmOTktNmRlNjkyYzE0MmU4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="226" it="0" lt="223" ct="0" ts="1587564594063" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-45" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTRhZTNkYmQtMjViOS00OGZhLTk2ZDAtOTFiODZhMjFiZDUz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczMi1rOE8zTndObWFONkUwVEI5QURWSFAtb0wwbDZXclpEciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.D1j7u8DNiMyqRWSd5D_2Kkqh74jrt8PiYF1A-QD08f96ibrURZPX_Zv9IaK3ON-gna_S29seKRO2C5QQJAc1F-1B4XfohldnglJhLafFcsb8wpopcxqdo4G8q26-BbPFVIuORHhtyizSzMCZFo4-hihY_F-A7Ucmj0uGD0N4KczP00HKSW5ubkOSt6KMIzIv3USiSjC0zfbZsCXKg7uafvsKsOPpzHTXY8-V_EbyFL5pUXoVLS8c3VdhJPyZ4XX_Ez8PUaDGwRyMXFCjFL_GVfAUBmOm_4Xjj_t1E1WlNfHphFs1s5Mck3xVTMhuXWgnhgXhdUxxh7846n07DeUrqw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MTAwMTQ0OGEtNDc1Mi00ZDM2LWE0MWUtYzU0MDNhMDQyMjUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="226" it="0" lt="222" ct="0" ts="1587564594063" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-66" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWNiOTI4NGUtYjdjMy00NzcyLThlYWQtNzEyNDY4MGUwZGQy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczNy1TLUZwbzFYLVdqSElKZzh1ckVxZ1lDYlFobU56eE9XaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lf2WS2Cl7wc0dAvaptmRR-MBpIVwSowpVA6Xx0v1SNrFlmNr9Win-hIyyNgVFCL1RP0soSjBM9OiKRpzbpMB1O3i7fNH_iNS2120KsGYYsQAq2uUTs_l_PICiWAFoSVhCghkwRh91Ga2MyRuspYYA-MqhkC_nzG0KeRQaFrtUcMUawU78ho6lzhL7wru-Q7Af8O24oPpKWERpemZGY376cih0QeicV3AwGIaEXetK0l4gBv6YrZ9ejxsYRTbK8s9xDpSCe_ceYRWNxGFTg1kuxb64Y9BJZqW2xSK8WAMVUHbfk4TwYhIZ0X5hOWhlxJejr61hL7YFSLVRuf6WUaYsg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NjIwZWY5ZDQtMTYxNi00ZmYzLTk5NzctYmZmMjFmNzQwMTkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="223" it="0" lt="220" ct="0" ts="1587564594066" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-37" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDhjM2E3YjYtMTMwMy00ZGYzLWIwNWYtZjU5M2FkM2ZiNjg2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyMi10VjdJRDJSZmwzMi1zMXdwM3FGWnB1b0JwOS1hZHNmUCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FUS30n9gXGHPUEZ38vgSOcUTiv8NNODJMozjWuq_6UHdBJIlkppfhl8bic8mMaAij9adYlZ3foWolwmiZ6eYq3slDl6HGae9wrQD-VUi-Nf56xNLEym5_kfz66Gfmu9z6ciNWdqDkDZW0ZFIgeEVex-PxWbSBiJZxHew09epYThUlpuP-JtDOd8yLsMHHJVacCorQJOHTxBsGeMUWz1r5Osltj8q6I3f0IPrZJ66YAbzPLmSUa1BqsgHNXizS-mwU8DrJBlrPGsNs9ScQVtenlmaq99X9WP_Ddv-CbhhChsXDRq_yl8bnS3lRU87_vEb9L2yPW1nkkC-heehRSHk3g
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MzA1OWNiMTctMTI1NS00YmNhLTg2NGQtYzY3OTEwMWUxYmJi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="43" it="0" lt="43" ct="1" ts="1587564594246" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTRjZjczYzctN2EyNi00MjgwLTg1M2MtYTZkZjNjZmRiMTI1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="28" it="0" lt="28" ct="1" ts="1587564594262" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWZlNzRmOWEtYmE5NS00MjI3LWI2MTAtMWE2MTU0ZjQzOThi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="44" it="0" lt="44" ct="0" ts="1587564594246" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGNiZTFkNmItZDgxOC00YjMyLTkzN2EtYTM2MmQ3ZTZkNmQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="44" it="0" lt="44" ct="0" ts="1587564594246" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2Y3ZDljOWUtMjE5NS00NmRhLTk4MmQtYThmY2QzNmU5YmQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="39" it="0" lt="39" ct="0" ts="1587564594251" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2Q1OWIyYTMtZTFjOS00YWI2LTkyYWMtMDEyZDNkM2ZjN2Qw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="27" it="0" lt="27" ct="0" ts="1587564594263" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTFkMmMxZDktYmIwYy00NjQyLWFlYjMtY2EzZmY1M2MzMTM3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="40" it="0" lt="40" ct="0" ts="1587564594251" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGJiYjBhOTQtMzNhMy00ZmEzLThjNTgtM2NjODljZWY0Y2Ey</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="24" it="0" lt="24" ct="1" ts="1587564594267" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2Y2ZDMzYjYtYmYxNy00NDUzLTg2YmYtNDQ5OTI4Yjc4ODFl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="226" it="0" lt="225" ct="0" ts="1587564594065" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-88" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWQ0YjIzOTQtZjQ3OS00MmFlLWFlMTQtOWMwNTlkYTk3ZDVh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcxOS05VktWUmlWT3RQTmljOG5Ca3JFblJ1enItVnlpaDFSdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YDRG4jkkmi5EWS2LnINbQoiwBYfvx_vGpJqoLFfhaYmSBAKZAxyX_e8eRFgZPq4HOO4h7npcpi3rp9AMLFyGfqBqZiDAdmcR9B-EXRHahWU006sE96GXC4YDk17SO2b_E0ROar9ZQUbnsM6kjeAtO4se1Ms3A7rPDU6DaWakh7V48HiSewB4P1XlzJ9ycGRBER21pDLhxlvztQgQKlaISTLmb6Ft-xqBw3rsQlKbwEML_2chLy8VkPHTs_CrWT3k36LxUjMIYG41fgMYwnFB2M1S-GvDCzF0oKQJ-Xm6ShjABaXFukyi18JWzw2i66-uxLJrqAEyG7XqtdlrD-qObQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTgwYmJiNGEtOGExNS00MWJiLWI5YTItMDEzNTYxOTE0OGZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="41" it="0" lt="41" ct="0" ts="1587564594251" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGVjODQyMGUtNTgyZi00MDM3LWExMmQtMDAwNDQ3MjVhNTQ5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="44" it="0" lt="44" ct="0" ts="1587564594247" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTQ4ZGFkN2MtYTk3ZC00MGU3LWE1MDQtOWIyMzU0YTYzMDNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="38" it="0" lt="38" ct="0" ts="1587564594254" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTdhODViOTYtYTdmYS00M2E4LWI1ZjMtNGI5NTE4MzllYTRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="44" it="0" lt="44" ct="0" ts="1587564594248" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Zjk0N2ZmYmYtZjU2ZS00NzhmLWFhZjctYjYzZWQzOTQwNDVj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="115" it="0" lt="113" ct="0" ts="1587564594178" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-98" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGQ1M2YyNGQtMDI3My00M2VmLTg0MTgtYmVkYmU0NDMyNzE1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2NS1TUHVxLXFzRlRDNnBoM3d1d2ZSbXRsaVR0NHY2ZndSZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TclsdwAFJ_qkkQFjHrjYrrj5XZBJl99XInxot89I2ARZIvwGawivN76jv9dQ6Iwb90D4sKWta-WkUpeQBkXC_VtYEc-rg4zYkNXC44GjnbjjCNMJQICsJhyToaUwsm2-gP0-yCF6uvpoWixlmLNKnd1juWgyfKHmvioF7QZRtKrherZ4h9wwxVqjoUhSx1xzhP2mriki35xdoWj_Oz9xE97k8Pdi8Qro4GlA991uiFgbAUl-dbZopkZXXdGj8lI4SJ7dFvlSYf2ecIxtRvDOZyex8PjM-LcXf9qO90TElv9oJOtUJ1QGa4gPwTKnqu6sbc8U--WHMXkj-bLRD8PItA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQ1NThiYmYtMzExNS00MWM0LWJlZTItYzczMzlmOTYzYjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="426" it="0" lt="426" ct="1" ts="1587564593868" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGQ5NzM5ZmMtZTNkYi00Y2JhLTk5MDgtYjQxNzRiZGRiZDQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2063-cxU7kTv3md6LLw3QxTdTc3vzSuUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="415" it="0" lt="415" ct="3" ts="1587564593879" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODk2OGI0MDgtYmU0Yy00NTIxLWIwNWMtMzI1NmFiYTMzMjE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2064-uaUdtZb1q46dK2IGbOzJm9o-OK4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="33" it="0" lt="33" ct="0" ts="1587564594262" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWFiNTMyZDktNzMwYS00ZWZlLWFjMjktOGNlNDljMzNjYTBj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="43" it="0" lt="43" ct="0" ts="1587564594252" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTdlNmM0ZmYtZDU4MC00ZGJjLWFlMzQtNjkwMzYwOWI1YmM2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="21" it="0" lt="21" ct="1" ts="1587564594275" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmI2NmYwNjMtNjYyMi00MmRmLWIyNzQtZGQ1NTkxMzVkMjU0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="22" it="0" lt="22" ct="0" ts="1587564594274" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTNmZGMyZjYtYjNiNy00NWQ4LWI5ZjMtZDZhNTUzY2E0ZDlj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="30" it="0" lt="30" ct="1" ts="1587564594272" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODdiYmU5YTMtMzUwOS00Nzk0LTlhZjctNjc2Y2JkMzU0MTM3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="28" it="0" lt="28" ct="1" ts="1587564594274" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDVmMjg5ZjEtYzY2Mi00NTNkLWJiMmItOGEwZDRjYWU0ODMw; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="43" it="0" lt="43" ct="0" ts="1587564594259" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWE3NGVjMGYtODIyZS00YmY0LWFkNmEtZTM4ZGI2NjgxODU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="24" it="0" lt="24" ct="2" ts="1587564594279" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmIzZTIzMWItYWVhYi00MTcxLWFhMGQtNGVlZWIxZTkxNjcz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="120" it="0" lt="119" ct="9" ts="1587564594184" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTVkNWRiOTgtYjMzMS00NWMxLTgzOTMtNGI1ODhkZmQwODI0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MSwianRpIjoiSUQtVG9rZW4tMTc1MC1BRXNpWXFhZzZYajBhaWUyVVIycE1vV3lqZWNkekVVOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.UR64qqARY5Mup1h6wkCJA90iGH0b06zFFhLL2e_MxMC8dyzvUlSt9Tw7pDooNDwZYk7Jz8UvQ2RygAk8TiQfSIuYvscnf3ueoHu6u1Wr3MNOi6sh_-KUIRrrpe3kIYACgQFCvXmq7zF2OOF2p7RYJ8jeTntksbaW0xDfvjSer0xgscPZdsAck1vn4TzJ9tsaBhbHMVe9UOMPIT3oGYUnM2XVFMtltqkyASahn3AUlf7DX4btuyeDc58s6gADhL8tzE-tUCXtUHVSeTEFE1xheGV-dtxMfYZadirHG76zPunQsmVLnoFjnyyn7_L-TxW_xk1TV84GWWLpvqm2frOrzg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDk4YjMwZjctNDBkZi00YWQ0LTlkNDYtMmVhODM1MGJjNDYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="21" it="0" lt="21" ct="1" ts="1587564594283" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YjZkYzQ4ZDItYjM5My00YmQxLTg0NzMtZDFmZGZkOTg3ODc3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="25" it="0" lt="25" ct="0" ts="1587564594279" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWZiNGRmOTAtMmU3ZS00Zjc4LThlODUtNDg0NTE5ZTYzNzcy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="39" it="0" lt="39" ct="0" ts="1587564594266" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1My15d3ZUSjFCbi1lYTNlQi1oT2FyazFWeWtQRnBnejRCNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aBTWn-A4pZE1x2Ex1oWjVw4q2bEOqBtcPVHq71V3EF7DMnfNI1ctvoKYsDtFyZAiPjZ4E_bkxrAZWtniSDCZVrIojg_Vy7V7BVfQJBm8mCK4hG3OLFHuZit5YlF6eQiuDjlpsfNqVifVC8r1MbCjRbe2pyx-oBP77syj2efBt-fbxgAi-U-XgMkuew90HIfpihW6JTAYMTKtJVyYV8boJjnLNhq30LaCiaYn2wVnXvW8jkh_gRmGN_boSYsCD5ue_jM2Jkz58dCiMBY3sKFvWKlhl3z8YMgIRJogHH2bb5Lvq1-lRWoIMKYmdbNmtA_r_2USo85CnX4LCf2dq8lY0Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGVmMTRlNTEtMTUxYy00MjIyLWE0ODEtZWZmYjI3OTMyOGFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1My15d3ZUSjFCbi1lYTNlQi1oT2FyazFWeWtQRnBnejRCNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aBTWn-A4pZE1x2Ex1oWjVw4q2bEOqBtcPVHq71V3EF7DMnfNI1ctvoKYsDtFyZAiPjZ4E_bkxrAZWtniSDCZVrIojg_Vy7V7BVfQJBm8mCK4hG3OLFHuZit5YlF6eQiuDjlpsfNqVifVC8r1MbCjRbe2pyx-oBP77syj2efBt-fbxgAi-U-XgMkuew90HIfpihW6JTAYMTKtJVyYV8boJjnLNhq30LaCiaYn2wVnXvW8jkh_gRmGN_boSYsCD5ue_jM2Jkz58dCiMBY3sKFvWKlhl3z8YMgIRJogHH2bb5Lvq1-lRWoIMKYmdbNmtA_r_2USo85CnX4LCf2dq8lY0Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="26" it="0" lt="26" ct="0" ts="1587564594280" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjNkNGYzZjgtZWFjNy00MTE0LWIwYzktMTA0ZTEyMmUzMzFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="26" it="0" lt="26" ct="0" ts="1587564594280" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGIwYTgzOTQtMDZiZS00NzAwLWE3OWItZTUzMzhkNzU3ZWQw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="114" it="0" lt="102" ct="0" ts="1587564594192" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-68" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjUzY2U5OGUtNjkzYi00NDZjLWJkYzctZTZiYTJmYTNjYmNi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2Ny1FQlFOQWUzWlpJQ2JPUmt0TDhrMVRJLXVYb2swSnJTeSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.FvGE7Xb6sLg-GMC-aKPDHCF4OH5cGw7mQgABqrNA1wgIebAKXytl98vm5CoSIDJc4PUNQ2A8pT6oN_GiTV2tSCKRQyox0jGsf_sXWDruIOeG2wpSzLpvdVm4pDXzEgGUfC-z6UG2hAY6dodj2CN4MxUgQd2lP9U3gvL03cs6m_0PzngPKZBwf6aWptuhOaBWyDXUwRaOwz6cXgOmuxyJDAD_W28Pwd76hsleADej42sb7WiGGTtpkxZjQWlQkbgh5Xi0B-rbd76UcLpn_ns5j_ntQB6M6UpNiDvZaViaKs5B4E0o9Rv_D2E0ua9ZIf4wDHiicx2TmObt-K_o2FgCLQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDhlZDczM2MtZTc4ZS00NDUyLWJjNWQtOWVhYzg1MTZiOTFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="24" it="0" lt="24" ct="0" ts="1587564594282" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2QwNjQ3OTYtOThmMi00ZDE4LTkxNjMtYzhkYzM4M2Q3ZjMx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="19" it="0" lt="19" ct="1" ts="1587564594288" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDBiYTVmZTEtZGQyZi00NjY0LTg4YWItZjU4MjJmODI3NTQy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="20" it="0" lt="20" ct="4" ts="1587564594287" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDE4YTQwMzUtMzJjZS00OWQ1LWFlZmItYjNhY2ViYjI1YTEx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="42" it="0" lt="42" ct="0" ts="1587564594265" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWM3NjI5NGItODNkOS00OGFjLTgyNGUtZjJlYWNhNThiZDcy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="19" it="0" lt="19" ct="4" ts="1587564594289" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTE5M2FjZTAtY2ExMy00ZmZlLTliZTQtM2RjYjFkNzEzNDEy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="23" it="0" lt="23" ct="1" ts="1587564594285" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWEzZjk5ZjgtMzg2NS00MGYyLTkxNGEtYjNhN2NiNTRiMWZk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="23" it="0" lt="23" ct="0" ts="1587564594285" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTBhN2YxNjctZjc1Yi00MThiLTljNzEtZmUzYWE3NDQ1ODU1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="116" it="0" lt="110" ct="0" ts="1587564594192" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-7" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjYxZGFiZGUtNGRkZC00NTUzLTgyNmQtMTY4NDY2OGRmYWI0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4Ni05WjF4a0Y1MElYNHp1RGZROWpldVNWWWtwVXZkajN4SCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GymXTIvQ33ghA8mbKA8PT5vv6S_iUqMJKH7R23XpirPkbroEYH2x42gmKDkOMVkJGhTxQoF2-yegEK9fXwhRj5tARAN-Z_6Z3IBXGf0LgBYgbQhbejKvk2H2a-bsqXxK3g83ibH9Je2_CoAXTBhMTGE5LRFuoKMMtXIOaqnZJtsP-kKiR1L-oiZEFa1ezLQJAaFRBl0jJOzRVVbwCy9_M-LKxvYZDAEghXwOXRpyTXcxhU4t919Df9kJZCZYd36wabNLt3Cs_46U03kwgIB-qqM-ldrlduGPdHwWLNTRemIGZc91mTKA67-PJs5DOrlgU5oMLltIwPNSqqpJimebzQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YTZiMTZhMTctMTg0OS00MDc2LWI3MjAtMzNlYjVkYWU2MzA4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="28" it="0" lt="28" ct="0" ts="1587564594280" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1NC01T3k0MzJ5OTNub3kzcFViNzVjd0pKQjZNTGd5UWhVWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qT7uAZ2vdCMfe8d4MuXD5_wjur7yQWrbhrXJ3rimxd_IGJC4gwXaN3MEG59CzCGh0DAtk1chTjavG-QqJV7HeWGRlj9T1SUen99q6Ekv1mElGI1SLwDXQvXeyFrLtSievTVT431Togta4yLDOw-yByPqSNKK-8pO0n4ZMxk1K_kC-_SGqnoeySjUm_3Le6OKIz8JX5DZljOPmiii11uJW8I4LRq8o9cYmpZsMMt_p9cPFnDekNAgmb87vCKYbfH1EXKuPT_RlX0l5oMFo7emELDf3TFt2xxgoedGchXWTeukPx3kI9VA_FTLoUA6CEdBVoTOpPA--YFbdHJzdZiuAw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDhiZGE1NzUtN2ZiOS00OTA1LTkwYzUtYjU1MjkzYzgxMTM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1NC01T3k0MzJ5OTNub3kzcFViNzVjd0pKQjZNTGd5UWhVWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qT7uAZ2vdCMfe8d4MuXD5_wjur7yQWrbhrXJ3rimxd_IGJC4gwXaN3MEG59CzCGh0DAtk1chTjavG-QqJV7HeWGRlj9T1SUen99q6Ekv1mElGI1SLwDXQvXeyFrLtSievTVT431Togta4yLDOw-yByPqSNKK-8pO0n4ZMxk1K_kC-_SGqnoeySjUm_3Le6OKIz8JX5DZljOPmiii11uJW8I4LRq8o9cYmpZsMMt_p9cPFnDekNAgmb87vCKYbfH1EXKuPT_RlX0l5oMFo7emELDf3TFt2xxgoedGchXWTeukPx3kI9VA_FTLoUA6CEdBVoTOpPA--YFbdHJzdZiuAw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="35" it="0" lt="35" ct="0" ts="1587564594274" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2Q0MmJlNmMtNGYyNS00Yzc3LTgzZWMtNTNiYjk0OTRkY2Uy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="22" it="0" lt="22" ct="1" ts="1587564594287" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZmM0MTM0ZDgtYzU4MS00YWEzLThkYWEtMDlmNGZiYzE4MDdk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="41" it="0" lt="41" ct="1" ts="1587564594268" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzUzOTk1YzMtMTc0MS00YTY1LTk2OTMtMDI3NGM4YjE3N2U5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="19" it="0" lt="19" ct="0" ts="1587564594291" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTFkMmMxZDktYmIwYy00NjQyLWFlYjMtY2EzZmY1M2MzMTM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="22" it="0" lt="22" ct="3" ts="1587564594288" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDEwN2E4YzktZDQxMS00YjRkLTgyZWMtOGNmNWE1MDVlODVl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564594296" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTNmZGMyZjYtYjNiNy00NWQ4LWI5ZjMtZDZhNTUzY2E0ZDlj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="30" it="0" lt="30" ct="0" ts="1587564594303" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZmIzZTIzMWItYWVhYi00MTcxLWFhMGQtNGVlZWIxZTkxNjcz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="27" it="0" lt="27" ct="0" ts="1587564594306" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDU3MTRlNzAtM2Q0ZC00NWVkLWExOGItNzk0NDI4Y2I2ZmVl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="27" it="0" lt="27" ct="0" ts="1587564594307" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDBiYTVmZTEtZGQyZi00NjY0LTg4YWItZjU4MjJmODI3NTQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="44" it="0" lt="44" ct="0" ts="1587564594291" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2Y2ZDMzYjYtYmYxNy00NDUzLTg2YmYtNDQ5OTI4Yjc4ODFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="45" it="0" lt="45" ct="0" ts="1587564594290" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWZlNzRmOWEtYmE5NS00MjI3LWI2MTAtMWE2MTU0ZjQzOThi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="41" it="0" lt="41" ct="0" ts="1587564594295" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1OC05a0NvQnRuYkQtU3lDYkhqNU1LSVJFdjhWQnRsa0dqTSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gFMPlr5iCT46WmSTJYTWHGlR2JDtIHfPIDkBdIV6es4IL1mVcqoMSvqHl4Iox7SCol4CE_amecg5On9lGDH6SRYq1eYQoS9NSQBnWN65XWjCJiXph_BLi_E4hcFFyIWuTs2MCeUglrRsdGYGccAT3ijs8Iv8RymBxLdOYQaZ3Zxk52J_6EXsUBtq9fP73pWaoBlC-Db32jOwLHH6U2jBiUinTwGmWbLYi7wdMEyq1gqsxbeFFiWYA6X58SB3uCcY8ywc61Ap1QdWOzECD9dGM2GzrvW3wMAONlU4xh1s0nvHzNIBcve--FsbALaXkJfnzCdvv-RCm-eRzOWbWLnQqg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWFiNTMyZDktNzMwYS00ZWZlLWFjMjktOGNlNDljMzNjYTBj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1OC05a0NvQnRuYkQtU3lDYkhqNU1LSVJFdjhWQnRsa0dqTSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gFMPlr5iCT46WmSTJYTWHGlR2JDtIHfPIDkBdIV6es4IL1mVcqoMSvqHl4Iox7SCol4CE_amecg5On9lGDH6SRYq1eYQoS9NSQBnWN65XWjCJiXph_BLi_E4hcFFyIWuTs2MCeUglrRsdGYGccAT3ijs8Iv8RymBxLdOYQaZ3Zxk52J_6EXsUBtq9fP73pWaoBlC-Db32jOwLHH6U2jBiUinTwGmWbLYi7wdMEyq1gqsxbeFFiWYA6X58SB3uCcY8ywc61Ap1QdWOzECD9dGM2GzrvW3wMAONlU4xh1s0nvHzNIBcve--FsbALaXkJfnzCdvv-RCm-eRzOWbWLnQqg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="32" it="0" lt="32" ct="0" ts="1587564594304" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjZkYzQ4ZDItYjM5My00YmQxLTg0NzMtZDFmZGZkOTg3ODc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="29" it="0" lt="29" ct="0" ts="1587564594307" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDE4YTQwMzUtMzJjZS00OWQ1LWFlZmItYjNhY2ViYjI1YTEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="33" it="0" lt="33" ct="0" ts="1587564594303" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDVmMjg5ZjEtYzY2Mi00NTNkLWJiMmItOGEwZDRjYWU0ODMw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="41" it="0" lt="41" ct="0" ts="1587564594296" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmI2NmYwNjMtNjYyMi00MmRmLWIyNzQtZGQ1NTkxMzVkMjU0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="35" it="0" lt="35" ct="0" ts="1587564594302" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODdiYmU5YTMtMzUwOS00Nzk0LTlhZjctNjc2Y2JkMzU0MTM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="34" it="0" lt="34" ct="0" ts="1587564594303" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1NS1JVUJBdXJOSjNtaG1ISEcxM2hSUFkzZW1WTzFGdFBmTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gf43CxmDiIPq9dKRs-Pp12NoKdHlT_WvtPNRF25LiNyJWspiM5AGJ0E-HGB9Dm4rkPD1mCQpDbfLkiple5u6OcwGdseBtJMRcPd2M3NK_Q8OGFlJYtDjfOWrNwDxVE0i5upCOi1EyeUQaaKKJO36rcCxkL3qcJuLAWkfESPFoYwI4gbE_evyv09D7Zto3v1kzoBN6cs6mqgA3zn-a2IKygu9E0eHrYEIbVV-QWpcv6HPI82-8mCJucD7sRrxb9xSUBcxzVU58UrYg4JFPpuX5YXd010nKUB5YW2qRadukUxXIqMmb_O58XLeHgyjzg5amzdu2UwpJfNPxnfcTRQS6Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWE3NGVjMGYtODIyZS00YmY0LWFkNmEtZTM4ZGI2NjgxODU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1NS1JVUJBdXJOSjNtaG1ISEcxM2hSUFkzZW1WTzFGdFBmTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gf43CxmDiIPq9dKRs-Pp12NoKdHlT_WvtPNRF25LiNyJWspiM5AGJ0E-HGB9Dm4rkPD1mCQpDbfLkiple5u6OcwGdseBtJMRcPd2M3NK_Q8OGFlJYtDjfOWrNwDxVE0i5upCOi1EyeUQaaKKJO36rcCxkL3qcJuLAWkfESPFoYwI4gbE_evyv09D7Zto3v1kzoBN6cs6mqgA3zn-a2IKygu9E0eHrYEIbVV-QWpcv6HPI82-8mCJucD7sRrxb9xSUBcxzVU58UrYg4JFPpuX5YXd010nKUB5YW2qRadukUxXIqMmb_O58XLeHgyjzg5amzdu2UwpJfNPxnfcTRQS6Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="32" it="0" lt="32" ct="0" ts="1587564594304" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWQ1NmZmNDQtZDEyOC00NTU2LTk3MDEtYmNiMDQ5MDkxOTdj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="29" it="0" lt="29" ct="0" ts="1587564594308" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWEzZjk5ZjgtMzg2NS00MGYyLTkxNGEtYjNhN2NiNTRiMWZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="29" it="0" lt="29" ct="0" ts="1587564594309" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZmM0MTM0ZDgtYzU4MS00YWEzLThkYWEtMDlmNGZiYzE4MDdk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="30" it="0" lt="30" ct="0" ts="1587564594308" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTBhN2YxNjctZjc1Yi00MThiLTljNzEtZmUzYWE3NDQ1ODU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="98" it="0" lt="96" ct="0" ts="1587564594241" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-19" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTA1Zjg2ZmEtMGRjYy00YzhlLTk5ZmMtZmY2OGQ5MjM4NzE4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5NS04V1VuQ1hPc1VOa1lxZWxBNGpoUmRXLXI1V1BCbHd5TiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sstJb3iK1gMreoKLUiMx4a9P56UCBbd9yhoeRYzmvuet4N6sWWZuLR_nmfCJPkvq-jO3Y5srYzz8SnPHSCYYU5vDuIZxDGfZnL9PNMqMor2m8cOjuToUCrMtU2-UmpIxDJDZC9_MY6m7pHk876obsDRja00WpRUYVhIVUK69Sh8PdEg1HLPkPyKh2b5rmE5lvwLJvJM3miurrb6iEhK_DYgSsn0W9BWz-FS03OrAsU6YYbL6RBqhQDx00dpHp2qO-bliIZzxgtw_lEqEcuJ0XJVPUu6q5scCMDVipFIGMM1AtAYQi6bM1vQ9vASuuqGzJzccNpdJles0M3wshw7tHw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NGU5YmI4ODEtZjJiYi00ZTgzLWJmNzEtYzI4NjllYTk3NzFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="45" it="0" lt="45" ct="0" ts="1587564594294" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODk2OGI0MDgtYmU0Yy00NTIxLWIwNWMtMzI1NmFiYTMzMjE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="47" it="0" lt="47" ct="0" ts="1587564594294" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGQ5NzM5ZmMtZTNkYi00Y2JhLTk5MDgtYjQxNzRiZGRiZDQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="33" it="0" lt="33" ct="2" ts="1587564594308" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjYxMjZiZGUtM2M5Zi00MzZhLWEwNmQtNTdkMzc1NWUwOWQ5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="36" it="0" lt="36" ct="0" ts="1587564594306" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1OS1HTHFXRDVCdWctamFPUFNqMjJBRnJCNFlrMld2aXBocyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.r5AVbnpAPz3cKCEwmKyRymfuTXsS3NnvqJm46BMCVS-DxV0BuCUabRvxAkMyYvLFtXTFJkgSDHONwWkbE8Jx80VtyarGhcq2nSYIS2cC-eEyTiaFuYKqNZcRC1_3JHycA9rHb-h055qEVK5xlrxeA3h_laFdYORT9CAbhuO5RZwgxvEoPaLbvES70iM3N3jhOCsG-zEsc3TJaLBOJz-KGaYC6-hm_S8DlprjBREX8IDZSbOHD7o06hlNsrXNj9DJp3alZYGJjfnIRDjcb_4z-CtOb7DKjTKCUZMIHtUyioVT9WiFLkw5ObtA9pP6uGt9-_nUsN-V8I5rqmsFksf64Q
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2QwNjQ3OTYtOThmMi00ZDE4LTkxNjMtYzhkYzM4M2Q3ZjMx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1OS1HTHFXRDVCdWctamFPUFNqMjJBRnJCNFlrMld2aXBocyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.r5AVbnpAPz3cKCEwmKyRymfuTXsS3NnvqJm46BMCVS-DxV0BuCUabRvxAkMyYvLFtXTFJkgSDHONwWkbE8Jx80VtyarGhcq2nSYIS2cC-eEyTiaFuYKqNZcRC1_3JHycA9rHb-h055qEVK5xlrxeA3h_laFdYORT9CAbhuO5RZwgxvEoPaLbvES70iM3N3jhOCsG-zEsc3TJaLBOJz-KGaYC6-hm_S8DlprjBREX8IDZSbOHD7o06hlNsrXNj9DJp3alZYGJjfnIRDjcb_4z-CtOb7DKjTKCUZMIHtUyioVT9WiFLkw5ObtA9pP6uGt9-_nUsN-V8I5rqmsFksf64Q</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="37" it="0" lt="37" ct="0" ts="1587564594307" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1Ny0tZ1JUdXh4aXdraGVCc2JXRGZtTWhNdDlHeUNUMjNldSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.r43xlN6gCh-P37ifOkZNn4tKDUy9Hv0li-cPIEbMOOawpYs88Wl-JqTkQI7SjT-JQeuIqIQFDhbXD3ABRdEuOfCm8AdYq7xoJYW-11bRstWkPT3htsGUOeSo3YWCPMSHsD27V7uwrsaOMX1NH6Cn_ZyTf1Ddw2tt9ncWVJkDvWGu4wCKif_IFz01aQCo-YRcyUPfbwHWY57o0DLTJHXKBylC0NHO8FotC_HAujVqlnKtdfvaI_xGHhmd3wKqnpZXgofyJ18IAIBM-CAsRUyVHmL2ubJaWWPy63FW_I2vPzLekcDo4UZaqgcbHPGo_1X_MFhLdh7qEIY1owsQIyX-Pw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZWM3NjI5NGItODNkOS00OGFjLTgyNGUtZjJlYWNhNThiZDcy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1Ny0tZ1JUdXh4aXdraGVCc2JXRGZtTWhNdDlHeUNUMjNldSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.r43xlN6gCh-P37ifOkZNn4tKDUy9Hv0li-cPIEbMOOawpYs88Wl-JqTkQI7SjT-JQeuIqIQFDhbXD3ABRdEuOfCm8AdYq7xoJYW-11bRstWkPT3htsGUOeSo3YWCPMSHsD27V7uwrsaOMX1NH6Cn_ZyTf1Ddw2tt9ncWVJkDvWGu4wCKif_IFz01aQCo-YRcyUPfbwHWY57o0DLTJHXKBylC0NHO8FotC_HAujVqlnKtdfvaI_xGHhmd3wKqnpZXgofyJ18IAIBM-CAsRUyVHmL2ubJaWWPy63FW_I2vPzLekcDo4UZaqgcbHPGo_1X_MFhLdh7qEIY1owsQIyX-Pw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="34" it="0" lt="34" ct="0" ts="1587564594310" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDEwN2E4YzktZDQxMS00YjRkLTgyZWMtOGNmNWE1MDVlODVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="37" it="0" lt="37" ct="0" ts="1587564594308" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTE5M2FjZTAtY2ExMy00ZmZlLTliZTQtM2RjYjFkNzEzNDEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564594339" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTBhNzNlNTctM2QzYi00N2JhLTlmMmQtNjMzYThjZGJmNDMz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="38" it="0" lt="38" ct="0" ts="1587564594309" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1Ni1PdEpHMVAtZk9KcVRUWEotOW1WQ3VkMTBBMHdyN3FkVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YpEi-fkPOSEVIPIzOhKSWRT5IqL4s3MUX91EomMg-VPNEhmVJ0HKa1q8MKZ9Ea6PpBVS9pr6rz01Rh59EpsR6AKg5Ttv96D2SK63ogmOpHGC3yLpoFOnjQ7DKDwPwpa2LtMGxfw7KzuDzhswkVBINl-7YN4nrf2P2IHvU-4oKj-YRG0DqJxy48hIk9QcxMbO2NKy36I_s5xlty-1FGz-yM6iF9sLkjI3xy7HFxJH5QvKjYsozSckiYtu15WJaLh9iiTqtIcup7xb7oOVD85tmdNw8CBoznhB-O4TNVY-xDEsTi3Qm1yz53XK-9H-8Ru0HdbBppjp5pROjs4EAVUtdg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzUzOTk1YzMtMTc0MS00YTY1LTk2OTMtMDI3NGM4YjE3N2U5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1Ni1PdEpHMVAtZk9KcVRUWEotOW1WQ3VkMTBBMHdyN3FkVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YpEi-fkPOSEVIPIzOhKSWRT5IqL4s3MUX91EomMg-VPNEhmVJ0HKa1q8MKZ9Ea6PpBVS9pr6rz01Rh59EpsR6AKg5Ttv96D2SK63ogmOpHGC3yLpoFOnjQ7DKDwPwpa2LtMGxfw7KzuDzhswkVBINl-7YN4nrf2P2IHvU-4oKj-YRG0DqJxy48hIk9QcxMbO2NKy36I_s5xlty-1FGz-yM6iF9sLkjI3xy7HFxJH5QvKjYsozSckiYtu15WJaLh9iiTqtIcup7xb7oOVD85tmdNw8CBoznhB-O4TNVY-xDEsTi3Qm1yz53XK-9H-8Ru0HdbBppjp5pROjs4EAVUtdg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="106" it="0" lt="100" ct="0" ts="1587564594247" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-17" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGE3ZDc1ZjEtMTY4Ni00NTY3LTlkMDktY2Q3YTI5NzI4OGIx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY3Ny1uaFJteEttazhxWmxXMTlsZ1hVTXdKcENRMmxZb3BVNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.PaYpYPcIEmbNPjnoLnvcjxkBfkdXY5wKduZ-A9FsvZdBHepiHJRyVL5R6pEUpC0XdLGrSO7tWrMUc450GQickinhT36wxGl7iHDxmtv0hwjJ170gTPtJqQfiHhKMUEhpPFJISEp2XPGqTkkrxwfLzdl4-8JBR_P1bMi2km5V8wncsoSSBVCrQW1WjA0ykbH0P6KdLl-PsqwZrP3NWuNrMgaZWrjqCvlvQmhhtqXaHncrYkQGD2PygD7gKJS_Z_kS8fVd01EqRY8VLAPmlqlEJ7EVBo0FGP2oNn-Fq-EtvL7Iv5aZuY-TPfRJUpZvnJSfKFgvS02xHBeZs9IHxlAn-w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OWYyMzU0M2UtZDRhNy00ZDEwLWIyZWYtYzVmMGNiMzhjNmQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="19" it="0" lt="19" ct="0" ts="1587564594334" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDU3MTRlNzAtM2Q0ZC00NWVkLWExOGItNzk0NDI4Y2I2ZmVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564594339" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NCwianRpIjoiSUQtVG9rZW4tMTc2MS1pOGlyaVBrLVRtN3I1eUFNZkVGRmE4SWw4dklORmJNNyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iANnhnVUUBOlsjk1L3bveyjn3LGVdg1thC_y14VKsI6RTUFTj1Mh5y8-rnoIOCeQpbNFeNeAekLchJYiaywi39B1RoyKQ2KHufMA7TSyVYqqEGdd4M_jEMzs8L0u9CNxSEJXsN6dKPsSQQOKG74MeIsaDR7u6jAKHGmOThWqVfGuboLPa-qlZhOU_vDbNVclo62zJh1fXqG7u6Nluh2yWnitNfh8PStN8AMQtO8WHfQwe5m2uDG92N3Mp7CZdOo-a7MONYuMwe6O23cbf361lM3eMrxNsfhXtVulHbQwRxKhPFhNlx563H9LlVP1X35VXN0MrEwqR06HvgD5uMdTEQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODk2OGI0MDgtYmU0Yy00NTIxLWIwNWMtMzI1NmFiYTMzMjE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NCwianRpIjoiSUQtVG9rZW4tMTc2MS1pOGlyaVBrLVRtN3I1eUFNZkVGRmE4SWw4dklORmJNNyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iANnhnVUUBOlsjk1L3bveyjn3LGVdg1thC_y14VKsI6RTUFTj1Mh5y8-rnoIOCeQpbNFeNeAekLchJYiaywi39B1RoyKQ2KHufMA7TSyVYqqEGdd4M_jEMzs8L0u9CNxSEJXsN6dKPsSQQOKG74MeIsaDR7u6jAKHGmOThWqVfGuboLPa-qlZhOU_vDbNVclo62zJh1fXqG7u6Nluh2yWnitNfh8PStN8AMQtO8WHfQwe5m2uDG92N3Mp7CZdOo-a7MONYuMwe6O23cbf361lM3eMrxNsfhXtVulHbQwRxKhPFhNlx563H9LlVP1X35VXN0MrEwqR06HvgD5uMdTEQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="17" it="0" lt="17" ct="0" ts="1587564594337" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWQ1NmZmNDQtZDEyOC00NTU2LTk3MDEtYmNiMDQ5MDkxOTdj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="13" it="0" lt="13" ct="0" ts="1587564594342" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjYxMjZiZGUtM2M5Zi00MzZhLWEwNmQtNTdkMzc1NWUwOWQ5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="14" it="0" lt="14" ct="0" ts="1587564594341" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NCwianRpIjoiSUQtVG9rZW4tMTc2MC02ckhzbmdrTS1wR1hPZS04VERFMlFQa2JLTlM1bVQtQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TZzxfUDdnXnAiEfgCidn26gVzPvimzsa6hqn8Zo3b4R3SbikA9aYgmynT9vPO-ttvOn-ylAQqL0LRkD9ITsNdmrQpbynHllO7biTxVCDnIXSd4ADb4oJxZE7bBYLMWDIreHl-beDh2LRGPXA4i7tH2Jxd66y4KBZ5X6K-Vu4dae9HiSzJwKO4T3OmjnZcqyuEe6qHoZUVlhJ56b8U3K936f0HC9J3AZpu9sd_ASIy8ufePoTQN5NdlBrxLcIrzJLqutSfdhn43Lzs8sw7G9dagB8L36Oc18A_FCmn_4y8s6cjwgBziMf970KkWb-6q3VOUcmlyDNHJT_4upRMFyBTw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGQ5NzM5ZmMtZTNkYi00Y2JhLTk5MDgtYjQxNzRiZGRiZDQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NCwianRpIjoiSUQtVG9rZW4tMTc2MC02ckhzbmdrTS1wR1hPZS04VERFMlFQa2JLTlM1bVQtQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TZzxfUDdnXnAiEfgCidn26gVzPvimzsa6hqn8Zo3b4R3SbikA9aYgmynT9vPO-ttvOn-ylAQqL0LRkD9ITsNdmrQpbynHllO7biTxVCDnIXSd4ADb4oJxZE7bBYLMWDIreHl-beDh2LRGPXA4i7tH2Jxd66y4KBZ5X6K-Vu4dae9HiSzJwKO4T3OmjnZcqyuEe6qHoZUVlhJ56b8U3K936f0HC9J3AZpu9sd_ASIy8ufePoTQN5NdlBrxLcIrzJLqutSfdhn43Lzs8sw7G9dagB8L36Oc18A_FCmn_4y8s6cjwgBziMf970KkWb-6q3VOUcmlyDNHJT_4upRMFyBTw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564594347" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTBhNzNlNTctM2QzYi00N2JhLTlmMmQtNjMzYThjZGJmNDMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564594353" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTA1OGYwODctZGE2Zi00NDA4LThhOGEtZWUxZTFkZDVhYTU1; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564594362" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTA1OGYwODctZGE2Zi00NDA4LThhOGEtZWUxZTFkZDVhYTU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="115" it="0" lt="115" ct="0" ts="1587564594273" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-52" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2ExMmU3NDQtNGM4NS00YmYxLWE3NGQtMTEwODllZGMyMjAy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczMC1DSno4RXBZZVFNc1RNSnFkMkFhV0ZiVlZoaHpDc3BKYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.bxk1sCgrG1aVIFdTDmrdnPrVEmneK767svSKkQk08DrH8CoxOuhMpEVIDHTpbN6bIVRx6J170tHG6Dsg4-wOt6aAXdTWyo9QW0Cib16uLvW4O1888svvGBuIRCKcr0EBtPHyjHbwyiNq9vxlPDB80ywNhbKepVcmt9pr8acTkwfwLJrdl622y1mx-H3wmy4EsjMaeYCXvmwPDtEFr4AMaVC07FjZLSjzeMHHRbu7u5xR4CQuMj2j_4N37hm4IIUGv-QGW1EN5Tu9e9BmA-dYMD8m9hZ3HykGbewsgHL-FuBF9_WX7vR6yKgBg3xfZOrhO3VDTutcPbjEv5ZmV-azgw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTg3YzE3ZWEtZTY4ZS00NzMyLTllZmYtNmUyNmRmNjExZWNk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564594389" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2Q1NDEyZjMtMTg4NS00MGMwLWIxZmQtYjdiYmJiM2Q4Nzdl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564594394" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=M2Q1NDEyZjMtMTg4NS00MGMwLWIxZmQtYjdiYmJiM2Q4Nzdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="144" it="0" lt="144" ct="0" ts="1587564594282" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-26" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzgzN2Q3NjUtZDI0Zi00NWJkLTkyMmYtNWY2YzY0NTQ1ZmUz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0MC1ZdUJCdGZRSUFSU0NFa1N5TEgtZzM0akZIYmZXSy1uRCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Xv4waop5DXI0eKgpJj7UaxR-SxM8hyO2VVadAgWDGu0RwsYnoYS1VbrXL0JOZTXNGKIkuemedEN0bUFz21XCYkfmw3hDkr1Ousz7gt6BJoNTYHobwRwQWKvNS3VLT0xxlYZfqfpLYsR9Xdw_rk5ag9d4mUiLcz-PVoBY8-8nQRvdkN6ncfExa9vUUYVwJzrh_AuMzIgQM0_pafapuWcebMQpcD1naKGiOeoGIMQn5dw3QkStdBTxUBc3zi12ZdIYLf0375dVZ0qVCyERon31HyhqWU44-b3mMJXhMk3QaukFTwO_wXZOPDRGLh3LupRva119kwCx_Fysm31XnQYgeA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YWFjZWQzODUtMTM0YS00MDg0LWFiZDQtMThkN2UxMWZlZTU0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564594427" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjcxNjEwODAtOWQyOS00ZjY4LTliZTAtZTIzYTNiY2MzOWJk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="122" it="0" lt="122" ct="0" ts="1587564594309" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-9" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDNhYjVmZWEtYTUyNi00ZmVjLTlkYzEtOGIyMjBhZjIxY2Jj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1NC01T3k0MzJ5OTNub3kzcFViNzVjd0pKQjZNTGd5UWhVWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qT7uAZ2vdCMfe8d4MuXD5_wjur7yQWrbhrXJ3rimxd_IGJC4gwXaN3MEG59CzCGh0DAtk1chTjavG-QqJV7HeWGRlj9T1SUen99q6Ekv1mElGI1SLwDXQvXeyFrLtSievTVT431Togta4yLDOw-yByPqSNKK-8pO0n4ZMxk1K_kC-_SGqnoeySjUm_3Le6OKIz8JX5DZljOPmiii11uJW8I4LRq8o9cYmpZsMMt_p9cPFnDekNAgmb87vCKYbfH1EXKuPT_RlX0l5oMFo7emELDf3TFt2xxgoedGchXWTeukPx3kI9VA_FTLoUA6CEdBVoTOpPA--YFbdHJzdZiuAw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MDhiZGE1NzUtN2ZiOS00OTA1LTkwYzUtYjU1MjkzYzgxMTM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564594431" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjcxNjEwODAtOWQyOS00ZjY4LTliZTAtZTIzYTNiY2MzOWJk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="211" it="0" lt="211" ct="0" ts="1587564594262" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWExYWZmMzYtZGFiZC00YmQ1LTkxMzYtOWE1MjlhNmMxYTk4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MiwianRpIjoiSUQtVG9rZW4tMTc1MS1XVWtxbTBGdDBrc3RqVUVyNnpWLU8xdm5IOTNqS0ppRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aZNV5NkrQK9fZH6tu44UPE4HsTW2gXQGPRlldq-5_0T_mTf0c1N9e1T10WEsMsqeof9KE8ewI3rZFJ8J_2LoEvPGuR0qRmR_O_XR8bCi9NotFvwLntf6cM8Lztk-ctogskkoa2dHmOhie8bqFhGmPJVwoJn9eC0DvcO6e495J8ZHWGSe9hmSa-nfk6V_dNQhEW1dr2QEWc5HPg17oMbQFs5HV0H7G3Fg1OjOfTVQ5lPSi4mUv_GK_ZPa3mPi81Efy-_9Qo21NIkAzJ7PRYxblzUIdIteDfrVue68UrS61TevubuMIdsPX2sL9ziaTUmC42lQOuicV-el-3cvR1yayA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NjE2MGU3MjAtNGM4NC00ZDY3LTg5NDMtYjA1YmI1MWYwN2Zi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="203" it="0" lt="203" ct="0" ts="1587564594271" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-51" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTcxZDk4ZjEtZjA5Mi00YmM2LWE4OWUtYWM0NDViYmQzNjY0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcwNC1QanBqeUlxeVRieFg1VFJnd2NGb21mV1hKUngxbzdlcCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.SaTzrawJYmp_237UkJqwZqAx26ChKckqE0e9ZuicZm-GsjtE31u235orSNcFn1_yyLwN53A3Pq4-BF0P8-HQKi0pn_GZ1SvvXPL_ARGLOF9QVWAH3Gj22BOpCvFJnT_dlvFRI-l8LqpcamWZfFoSo5V2pS1lxTcdYZarbeUR6EgDBGw1FFfvf0AJ0ViMfg5yJfuqvjfz2xliO0LIJ4sK7y5MWMZ_y2ayo3XeC5b3_LObDEYiFS6gXgx8RWixwWN6SDABZ27FcrMeK5CSEdSgmZh4F-EaFFx_UZyuUfEcwu_fO4fOb60i_sSbexKuq_X0HK0MxkXf9gM8I8o7fbygOA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MzY2MTI2YTktMmM5Ny00YTMxLTg4MDctMDBkNWZmMzkzYzBh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564594475" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjIzYzJkNDUtMTE3Ni00OGEyLTkyM2YtZDVkZjJhNzkyM2Fj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="207" it="0" lt="207" ct="0" ts="1587564594281" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-47" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YmMwYmE4NmMtN2I0MS00YTQ3LTljNDUtMDIwZTQ5NDEwYzNj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1Mi1ZbW1FRW5NbHhGQy1tS3RBdHR5aEFJS1J2dERPRzBHTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.p8RhrvzXeOVCvzEMN1KQ_3Obr9YpAk4-jO8TabH4H4W7CK-GohvlKNtfvwVYZXEb9tGGC2p4F8S9vCqyZLwHXweXjbAwkieO5EcF51D8o8vkV-5BJEEPemTdnEeF09cWaLsLMkkE79Jh7s8A5rVAXFFp_1QS8AcH7x43bXA0EW0gGw8pfapE5dy4JfeB-Pn44nGBkclxDhP-jeyqQefLjJcLRB01mZU3-HHBLyaJizm4iiRuTTHSFQhAHcuH8ll8DaXtb4u3rSbir9IF1Pd_eJaIBmXRhFg683PYtwZCVWax0wu9rrivujMqgFWqEENtv4QkT077-0s7CIMudfXHLw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=NGZjODNmN2YtMmU5Yi00NGUyLTgzYjItMjdkZjU1ZmY4MTdk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="216" it="0" lt="216" ct="0" ts="1587564594272" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-67" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGY5OTNmZGQtZDBkNi00OTZiLTlkMmYtMGQzM2E1ZTlmN2U3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NCwianRpIjoiSUQtVG9rZW4tMTY3MC1PdnNYajdLLVd1UWFRcS1QSDZVS0x0cTZXemJIVThZciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.N_R70f8KzTcp8cCxe56rQv4eey7DGK766AAGJYIR8VSEE6-T8Z1qWBvSKivySXDwSdgQ3GHveRnsAtGlzea4CH7YAWQMsDsVW0sh3SIUrsucbsjlWoZcRswmZKNVWobFmGvwbdCblimEGhsIwLK0902_lsDuYLH1HfUQr8ThMBf3odgYU3MARXfwSo_3a-eF4Tq51_YVYtVYyd8V0OfzdH_FjK7bYyGC5aFZcSp3G6M88Xpa9XcPbx50N4FYBvHf4n_m0lVe4cH9CnAkIYbdv8ngDHG2TaGUUJOKF-JL1dZNdE_1m9nrrhNAgx9DgwPu8XtoRHe2A_KpXnMylo6zVA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=N2JkY2E3ZjUtOGYxZS00MGViLWFlNjItYzFiMTQ5NmY5ZmM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="10" it="0" lt="10" ct="0" ts="1587564594479" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjIzYzJkNDUtMTE3Ni00OGEyLTkyM2YtZDVkZjJhNzkyM2Fj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="214" it="0" lt="214" ct="0" ts="1587564594275" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-92" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTU4MDNmMzItYzg1Yi00ZWRjLWFlNjUtMTE1YTczNGUxZWEw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczNC00WWxid1Vma000b1hNOXhJZlBWOG5VU1d4c21ZUDF3ZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MxaONv9rDiBPrn0vZmFhbNy-lDz84DmY2hukbv48_CvF8r-YKqhowGVxWOdnTD5LVPgua_gP1nf51fvMdiRuUZRkM8r3bxca4MbM6cAK-QxnCI2m-kMaiQf_IBbXS9gdIia702v9Nj29LK-O_9bL0gOxyJSzqjoDuUes2y5i1qQxu39UUeGfCcuGWePjsX03FtvenEyJEp7Nj4-bP7aeeyWAhl9C_Wh48jArdgMfzeLRaLzjaIbjYRBbdvAUkgPGxUKFpZMTDBM4ppQlemeJEBJr32oOoDo6prS5yx-PEv_Rf8RxSIz3XLsR4f3441a212FCURwU315jpQpvkS8-oQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDhhZTlkYTUtNjkwOC00YTUwLWJjYzctNDliMGRmN2ZlYTNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="137" it="0" lt="135" ct="0" ts="1587564594354" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-90" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Y2FhNGU2OGItMWRkNS00OTMwLTg5YjQtMWI3MDJmNDUxMjRi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NCwianRpIjoiSUQtVG9rZW4tMTc2MS1pOGlyaVBrLVRtN3I1eUFNZkVGRmE4SWw4dklORmJNNyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iANnhnVUUBOlsjk1L3bveyjn3LGVdg1thC_y14VKsI6RTUFTj1Mh5y8-rnoIOCeQpbNFeNeAekLchJYiaywi39B1RoyKQ2KHufMA7TSyVYqqEGdd4M_jEMzs8L0u9CNxSEJXsN6dKPsSQQOKG74MeIsaDR7u6jAKHGmOThWqVfGuboLPa-qlZhOU_vDbNVclo62zJh1fXqG7u6Nluh2yWnitNfh8PStN8AMQtO8WHfQwe5m2uDG92N3Mp7CZdOo-a7MONYuMwe6O23cbf361lM3eMrxNsfhXtVulHbQwRxKhPFhNlx563H9LlVP1X35VXN0MrEwqR06HvgD5uMdTEQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ODk2OGI0MDgtYmU0Yy00NTIxLWIwNWMtMzI1NmFiYTMzMjE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="218" it="0" lt="217" ct="0" ts="1587564594273" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGEzMWRjMzEtMGNjYS00N2I1LTlhZWQtMGI0ZjZlMWRhODI4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyMy1vREFNVHJVZFBYRE9CbnhrTEJiU003RS0xT0lhdEZPcyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.nsRKmVc8NHGbJKL-EqUSuNK2FjaOfX9Jrf6-AwjwcovoogwBEIU2WSzew91CBxBRgICbywthMChMVBR1GZReM_bLvhlDhXim3-UMG3JoEtArntFtk8CAFi6ahRLMb27QKLv-R5PDV97pVjyeRBIGmzKRnkRCcVtZ4UyNAm5Js00J42phhVDvasA9XWIl_yzXkYC5IPfwEY5_59DOmKqlllC2nHyVgaHylAIqUtqWwn8jbWlu7L8E4TSLVuXPcbFE2tlc0Csroc-4L8ZYoJy-Yrr4-QJuHGhSnAc-ip-wsfE6rlylp3--cUwW_jQu6fJpuyuJ9w1kdZcETtXG2jZ3Zg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=M2UwMmRkMTktNTMzNi00NmNiLTlkMWYtM2RlZmM2OTkwNTcz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="220" it="0" lt="220" ct="0" ts="1587564594272" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-4" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWYyOTAyZGEtODFjNC00MWM4LThkM2QtYmE2MjE4ODQ4YjVk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTcxMi1Ib0dDOEZodXVnTEtpdFExMUszVGgyQUJxeWp0U1dBNCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.B2f0B7OcKwpER2Ecq5IvEuD3_KHSyrHYAq9EsztvtDCqhQ9nVIeDNNr9Nu-hmXwZkKmFtvGnvSCYPJ9oUia5UvkSwfFo1D4bAI7joB_A5uh7J0sqNuv-4dCHH94AidrW1RrNxWJLFPLU3RvT6Q7xaGlGVRPOTorwOG0qEmwfoRV8mEW0oS4JaduPZDV2JjXIAN0C6N7HOoy_Kl56EZAcFaj9m3VGemJd9fq_HlWVr6Gzr_ru6Il7lVRRjwW1N4TYma96vJUt3Tpy5iOQtuNs4ZOZGqaEgRr5btDNyJmCMTadaPqntTKONkExUId8Sxe2-MSUMjq3KEqG9Smbk3ILgA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NzVkYjE0MTItYmEzOC00YWRmLTg2MDMtZGQ1ZTZhMDYwNTZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="217" it="0" lt="217" ct="0" ts="1587564594275" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-89" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWQ3YWNkMzgtMWQ3ZS00M2U4LWE5YjUtMWRhZWY0YTgzZmNl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTc0NS12U1JYUjUxQUZ1QUZGTVV0aW9ZWWNsQVIyY2ctLXFVdyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pbublvzwJzoSmcwmXxF74mvwfzhSLrZkFdc8cFC4EFbX5sdswtaZJ2LQv_7JftqR9gVE12AWEl1sxNXvebsAV75iW73-DyQrVitX8KU6NNqm3olsCiZo3M3droN51O9gMDV0kP8XEvui4pX7Avj9nwn8E6D7fQMC_WAIsJyF5af5K_XD-IdcQxYLBXn3786ehGMBoixBOSRAUGfZzNbXVG2GWQtpZn7wMDeD6zdUS-ZszYqypuMm4t2nCz66rBGhlXsM0M441WeWUGsZ95JKkmMIgv2Zi1r-vWaNOxTfM1Fpfc605cCb6oCcJXVVPvXXQqOikJ51gI9_ObiE9IcS8Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjM3YjdhYzYtYmYyMC00NTdhLWE5MGEtYmZlMmRhMzU1MTFj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564594489" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjM2ZTViZDMtOWJlMy00NzkyLTg1N2QtNjU4NWNlZDY0Nzcx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564594490" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDNhNTQ5ZGUtZTBkMi00NGE2LWFhMDItZGRhZDZiY2Y1MjIx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564594491" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGIwMTI2NWMtMTM1Mi00ODA4LTkxMmYtYjZhYjJjYTkyODlh; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564594493" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODQ4NGFlYzctMGZmMi00NzY2LTk2NTEtOTViMWUyZWYzYmQx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564594493" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MGEzNmRlM2MtYzY1Ny00NDVjLWI1NWUtZTAyNWM1YTllOGRm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564594493" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDNhNTQ5ZGUtZTBkMi00NGE2LWFhMDItZGRhZDZiY2Y1MjIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564594493" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjM2ZTViZDMtOWJlMy00NzkyLTg1N2QtNjU4NWNlZDY0Nzcx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564594495" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGIwMTI2NWMtMTM1Mi00ODA4LTkxMmYtYjZhYjJjYTkyODlh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564594496" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODQ4NGFlYzctMGZmMi00NzY2LTk2NTEtOTViMWUyZWYzYmQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564594496" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGEzNmRlM2MtYzY1Ny00NDVjLWI1NWUtZTAyNWM1YTllOGRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="157" it="0" lt="157" ct="0" ts="1587564594356" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-62" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzBjYTIzOWMtODhhMy00Nzk4LWJhN2EtZjBiOTM5ODc3N2Zj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NCwianRpIjoiSUQtVG9rZW4tMTc2MC02ckhzbmdrTS1wR1hPZS04VERFMlFQa2JLTlM1bVQtQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TZzxfUDdnXnAiEfgCidn26gVzPvimzsa6hqn8Zo3b4R3SbikA9aYgmynT9vPO-ttvOn-ylAQqL0LRkD9ITsNdmrQpbynHllO7biTxVCDnIXSd4ADb4oJxZE7bBYLMWDIreHl-beDh2LRGPXA4i7tH2Jxd66y4KBZ5X6K-Vu4dae9HiSzJwKO4T3OmjnZcqyuEe6qHoZUVlhJ56b8U3K936f0HC9J3AZpu9sd_ASIy8ufePoTQN5NdlBrxLcIrzJLqutSfdhn43Lzs8sw7G9dagB8L36Oc18A_FCmn_4y8s6cjwgBziMf970KkWb-6q3VOUcmlyDNHJT_4upRMFyBTw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OGQ5NzM5ZmMtZTNkYi00Y2JhLTk5MDgtYjQxNzRiZGRiZDQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="179" it="0" lt="178" ct="0" ts="1587564594336" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-48" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjlhMjM2MWYtOGVlNy00Y2M4LTlhMjQtMzViNmFhYzQ4OWVk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1OC05a0NvQnRuYkQtU3lDYkhqNU1LSVJFdjhWQnRsa0dqTSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gFMPlr5iCT46WmSTJYTWHGlR2JDtIHfPIDkBdIV6es4IL1mVcqoMSvqHl4Iox7SCol4CE_amecg5On9lGDH6SRYq1eYQoS9NSQBnWN65XWjCJiXph_BLi_E4hcFFyIWuTs2MCeUglrRsdGYGccAT3ijs8Iv8RymBxLdOYQaZ3Zxk52J_6EXsUBtq9fP73pWaoBlC-Db32jOwLHH6U2jBiUinTwGmWbLYi7wdMEyq1gqsxbeFFiWYA6X58SB3uCcY8ywc61Ap1QdWOzECD9dGM2GzrvW3wMAONlU4xh1s0nvHzNIBcve--FsbALaXkJfnzCdvv-RCm-eRzOWbWLnQqg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWFiNTMyZDktNzMwYS00ZWZlLWFjMjktOGNlNDljMzNjYTBj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="224" it="0" lt="224" ct="0" ts="1587564594292" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-88" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDFjZDY3MWMtM2FiNS00MzlmLWFmYmQtMWVjY2M5OGE3ODVl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcxOS05VktWUmlWT3RQTmljOG5Ca3JFblJ1enItVnlpaDFSdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YDRG4jkkmi5EWS2LnINbQoiwBYfvx_vGpJqoLFfhaYmSBAKZAxyX_e8eRFgZPq4HOO4h7npcpi3rp9AMLFyGfqBqZiDAdmcR9B-EXRHahWU006sE96GXC4YDk17SO2b_E0ROar9ZQUbnsM6kjeAtO4se1Ms3A7rPDU6DaWakh7V48HiSewB4P1XlzJ9ycGRBER21pDLhxlvztQgQKlaISTLmb6Ft-xqBw3rsQlKbwEML_2chLy8VkPHTs_CrWT3k36LxUjMIYG41fgMYwnFB2M1S-GvDCzF0oKQJ-Xm6ShjABaXFukyi18JWzw2i66-uxLJrqAEyG7XqtdlrD-qObQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=OWQ0YjIzOTQtZjQ3OS00MmFlLWFlMTQtOWMwNTlkYTk3ZDVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="174" it="0" lt="174" ct="0" ts="1587564594342" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-13" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTMzZmZmNWEtYjBhMi00NzY3LWJiNWMtNzQ1Y2NlZDE5ZTQz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1OS1HTHFXRDVCdWctamFPUFNqMjJBRnJCNFlrMld2aXBocyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.r5AVbnpAPz3cKCEwmKyRymfuTXsS3NnvqJm46BMCVS-DxV0BuCUabRvxAkMyYvLFtXTFJkgSDHONwWkbE8Jx80VtyarGhcq2nSYIS2cC-eEyTiaFuYKqNZcRC1_3JHycA9rHb-h055qEVK5xlrxeA3h_laFdYORT9CAbhuO5RZwgxvEoPaLbvES70iM3N3jhOCsG-zEsc3TJaLBOJz-KGaYC6-hm_S8DlprjBREX8IDZSbOHD7o06hlNsrXNj9DJp3alZYGJjfnIRDjcb_4z-CtOb7DKjTKCUZMIHtUyioVT9WiFLkw5ObtA9pP6uGt9-_nUsN-V8I5rqmsFksf64Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=M2QwNjQ3OTYtOThmMi00ZDE4LTkxNjMtYzhkYzM4M2Q3ZjMx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="237" it="0" lt="236" ct="0" ts="1587564594280" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-50" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2MzNjhlNTQtYmU1Ny00NDY4LWJlOWItMTk5MzY2MDM5N2Y0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY5MS1lVEpIUzhlOGZWZ21TLWNrNU45Zk5ERDBXT1Q1eGRkTSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.RQPnCmnb-VePMSGQWFIMLKueNKON1DpiZI06KfVvHPHCGC4wWCA-OTqzczPspQtS_obuBwCewY4sibTkcuyFUto6W-Jxd1pi49rlsJSeEj_7S7LEjPrXjFFkgFK1tdIQd6RVC05Y-HVVHgK-pioX1655uCmhRScQmYiryGSpGWn_mWy4d8pI43lX-AJr63d7rpS7DPbhy4ug2rr4P0_HiBvB-RzhHEesjYiV9aSjffQeFTmsF64B9PnvBJsEyIO85RHf7HzO1ecokJVqRYMcHlG48B3N-PRWUAaq7O2Y7EPgKrviPWmNGRWHcmXa_4hZecFRzwBQQIBYNAAc7MJyrA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NTlkNzg3MzYtZmYwZi00OTFlLWE2Y2EtZmU5ZWViNWY2NDlh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="230" it="0" lt="230" ct="0" ts="1587564594289" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-66" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGRiYzgwZWQtM2ZhZS00NGRjLWJlZjQtMmM3MDhhMzBjYTE1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczNy1TLUZwbzFYLVdqSElKZzh1ckVxZ1lDYlFobU56eE9XaSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.lf2WS2Cl7wc0dAvaptmRR-MBpIVwSowpVA6Xx0v1SNrFlmNr9Win-hIyyNgVFCL1RP0soSjBM9OiKRpzbpMB1O3i7fNH_iNS2120KsGYYsQAq2uUTs_l_PICiWAFoSVhCghkwRh91Ga2MyRuspYYA-MqhkC_nzG0KeRQaFrtUcMUawU78ho6lzhL7wru-Q7Af8O24oPpKWERpemZGY376cih0QeicV3AwGIaEXetK0l4gBv6YrZ9ejxsYRTbK8s9xDpSCe_ceYRWNxGFTg1kuxb64Y9BJZqW2xSK8WAMVUHbfk4TwYhIZ0X5hOWhlxJejr61hL7YFSLVRuf6WUaYsg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWNiOTI4NGUtYjdjMy00NzcyLThlYWQtNzEyNDY4MGUwZGQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="215" it="0" lt="214" ct="0" ts="1587564594305" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-2" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTRjYTE2NjYtNmIxNC00ODZiLTkxZWMtMGM2ZmFkMzVkYzJl; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1My15d3ZUSjFCbi1lYTNlQi1oT2FyazFWeWtQRnBnejRCNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aBTWn-A4pZE1x2Ex1oWjVw4q2bEOqBtcPVHq71V3EF7DMnfNI1ctvoKYsDtFyZAiPjZ4E_bkxrAZWtniSDCZVrIojg_Vy7V7BVfQJBm8mCK4hG3OLFHuZit5YlF6eQiuDjlpsfNqVifVC8r1MbCjRbe2pyx-oBP77syj2efBt-fbxgAi-U-XgMkuew90HIfpihW6JTAYMTKtJVyYV8boJjnLNhq30LaCiaYn2wVnXvW8jkh_gRmGN_boSYsCD5ue_jM2Jkz58dCiMBY3sKFvWKlhl3z8YMgIRJogHH2bb5Lvq1-lRWoIMKYmdbNmtA_r_2USo85CnX4LCf2dq8lY0Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=OGVmMTRlNTEtMTUxYy00MjIyLWE0ODEtZWZmYjI3OTMyOGFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="231" it="0" lt="231" ct="0" ts="1587564594289" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-45" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDM1MjcyODYtMmVjNC00MzI1LTlhNzctNGE2ZTFmOTlkM2Jj; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTczMi1rOE8zTndObWFONkUwVEI5QURWSFAtb0wwbDZXclpEciIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.D1j7u8DNiMyqRWSd5D_2Kkqh74jrt8PiYF1A-QD08f96ibrURZPX_Zv9IaK3ON-gna_S29seKRO2C5QQJAc1F-1B4XfohldnglJhLafFcsb8wpopcxqdo4G8q26-BbPFVIuORHhtyizSzMCZFo4-hihY_F-A7Ucmj0uGD0N4KczP00HKSW5ubkOSt6KMIzIv3USiSjC0zfbZsCXKg7uafvsKsOPpzHTXY8-V_EbyFL5pUXoVLS8c3VdhJPyZ4XX_Ez8PUaDGwRyMXFCjFL_GVfAUBmOm_4Xjj_t1E1WlNfHphFs1s5Mck3xVTMhuXWgnhgXhdUxxh7846n07DeUrqw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MTRhZTNkYmQtMjViOS00OGZhLTk2ZDAtOTFiODZhMjFiZDUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="248" it="0" lt="248" ct="0" ts="1587564594272" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-64" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzhlMzQzMjEtNzM2ZS00ZjAzLTk3NzYtZjI3NjU5YmYwZDlk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcxNy1uQ1F5U2pYNHYxQVBRcFlwLVVvUllGLXdvaDlsUG9RYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Jjhxl-1jdz29Qlql4txusdgMPPy1o9yp2Qe1ycugtU6UxLOPmHuDaNCUuDzH_aM3ZkpBta5Er1MqTmwTUaFwE1xAntxzlU5EuVvQ4v9RLyiduzx7r0ktToEKJERvIBoiAVLHuytD9ubGOpar0Gb2hz6O25VF7k-CaxGOqh86xPWi8lOo75FVtcsHBwcD3w50XkVw1LtbK_iA7zd8_5lqpzCwVP2u_MFyUM4X1psvS8gMuVXsDDPT5moh9Q2D2nvP1wfOn8CBtOgOQOmXe4mHzH8OHnEqQkPO9TrKjfyqCqInWKNuuWv4TGMYb7F1p5werW5MLTa1A8ZLqnkrxLmFqw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YjZjYWVjNTktMTVmOS00MDc5LWIyMTctZTMxYTcwNjVkN2Vh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="232" it="0" lt="230" ct="0" ts="1587564594289" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-85" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjdiOGExNTEtYzUyZS00NWNhLWFiOGEtZjNjNGVhNzA2NmI5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyNy1TMVN2NVk5ZjJXMTRtSmFXZWp2UUQyTUJmVXZzZ1NYeSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ZrxBpMZpKBU6MlXI7oi0Md1sYtHXXC0xAFGeFMMWhBlkm3FiHmDg_uMfFIaIgWqpED_HxJW9LyPa9mm4XRBi44qV9v6SpcNhMr0qR_LmBJzYHH77UkLL497u5aKiN4VsZFtxpgDVIjoiIlYIRRh6wTn8IlDaH_9dTh-S0jx1qZqSgUe2GzRVVW0XvyT6JEM5soZt0euJTMl3v8teMa2cLnbUdIJ3Ugn_0myC9YhhM7SPdzz06dfL4mu-oKuzB_vxcxF30FRS8P8WD-_j840zgyKR3LIZUBDBCbSJ8WG1PabrZhK3nhJCL7pOIvMUm2tVDzZuoVKys1WbZ5gpxSmAvw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NmE2ZTAyMDktMTM3Zi00YzA4LTk1ZWUtZmQ5M2M5OWU5Y2Fl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564594517" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2Y2NTNiZjEtZTExYS00MGUwLThmODctZjVkMGNjMWIyZjlm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="185" it="0" lt="184" ct="0" ts="1587564594337" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-35" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTBlOGViMTMtYmUwNC00NWQ3LTgwMDUtZDdiODc0M2ZjYzQx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1NS1JVUJBdXJOSjNtaG1ISEcxM2hSUFkzZW1WTzFGdFBmTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gf43CxmDiIPq9dKRs-Pp12NoKdHlT_WvtPNRF25LiNyJWspiM5AGJ0E-HGB9Dm4rkPD1mCQpDbfLkiple5u6OcwGdseBtJMRcPd2M3NK_Q8OGFlJYtDjfOWrNwDxVE0i5upCOi1EyeUQaaKKJO36rcCxkL3qcJuLAWkfESPFoYwI4gbE_evyv09D7Zto3v1kzoBN6cs6mqgA3zn-a2IKygu9E0eHrYEIbVV-QWpcv6HPI82-8mCJucD7sRrxb9xSUBcxzVU58UrYg4JFPpuX5YXd010nKUB5YW2qRadukUxXIqMmb_O58XLeHgyjzg5amzdu2UwpJfNPxnfcTRQS6Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YWE3NGVjMGYtODIyZS00YmY0LWFkNmEtZTM4ZGI2NjgxODU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564594516" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTkzOWI2ZGMtY2Y0Yy00NzdmLThkZmUtY2ZmMTBmYzYxMmJm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="174" it="0" lt="174" ct="0" ts="1587564594348" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-100" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2E5ZWFhYjItMmUxZC00OTgzLTkxNTQtZGQ3MTBmMjI3YWE4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1Ni1PdEpHMVAtZk9KcVRUWEotOW1WQ3VkMTBBMHdyN3FkVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YpEi-fkPOSEVIPIzOhKSWRT5IqL4s3MUX91EomMg-VPNEhmVJ0HKa1q8MKZ9Ea6PpBVS9pr6rz01Rh59EpsR6AKg5Ttv96D2SK63ogmOpHGC3yLpoFOnjQ7DKDwPwpa2LtMGxfw7KzuDzhswkVBINl-7YN4nrf2P2IHvU-4oKj-YRG0DqJxy48hIk9QcxMbO2NKy36I_s5xlty-1FGz-yM6iF9sLkjI3xy7HFxJH5QvKjYsozSckiYtu15WJaLh9iiTqtIcup7xb7oOVD85tmdNw8CBoznhB-O4TNVY-xDEsTi3Qm1yz53XK-9H-8Ru0HdbBppjp5pROjs4EAVUtdg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YzUzOTk1YzMtMTc0MS00YTY1LTk2OTMtMDI3NGM4YjE3N2U5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="229" it="0" lt="229" ct="0" ts="1587564594293" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-98" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTNmYTA4YjItOTU0YS00NjliLWE4MGQtNDM4YzRiOTJlYzJk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4MywianRpIjoiSUQtVG9rZW4tMTY2NS1TUHVxLXFzRlRDNnBoM3d1d2ZSbXRsaVR0NHY2ZndSZCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TclsdwAFJ_qkkQFjHrjYrrj5XZBJl99XInxot89I2ARZIvwGawivN76jv9dQ6Iwb90D4sKWta-WkUpeQBkXC_VtYEc-rg4zYkNXC44GjnbjjCNMJQICsJhyToaUwsm2-gP0-yCF6uvpoWixlmLNKnd1juWgyfKHmvioF7QZRtKrherZ4h9wwxVqjoUhSx1xzhP2mriki35xdoWj_Oz9xE97k8Pdi8Qro4GlA991uiFgbAUl-dbZopkZXXdGj8lI4SJ7dFvlSYf2ecIxtRvDOZyex8PjM-LcXf9qO90TElv9oJOtUJ1QGa4gPwTKnqu6sbc8U--WHMXkj-bLRD8PItA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MGQ1M2YyNGQtMDI3My00M2VmLTg0MTgtYmVkYmU0NDMyNzE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="241" it="0" lt="240" ct="0" ts="1587564594282" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-75" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzQwOTkzMWYtODkzMi00YzcwLTlhZDgtMjA1YWExYTBkYWJh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODUsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NSwianRpIjoiSUQtVG9rZW4tMTY4OS14VVlIOHh2aTdlakdpaXNUSDItMDM1cEcxdlNFa2U2NSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qa2h2qsTzR6WDGdWkKsVqQIfWJq66YYG4Q44ipq4PUE-iPHeg9B-9kB6iqYDnaMRkls-1T1n3Cule4ZjPP8lpC6VRd48vki-s5JXne3ooreGsEMAXygI4Ns26nqli6tPsjA59so9Uxo4LpdOOa_7bdHtaqyQxoVMLXuNOkZnyv7yhUvfWSLP7pGINZo3y7Z1NhkgebXY_3AUMKPqupS2N-rr29SrSqGyMDUtpcmewbTcT_tH-f6hLzqh3vFDnoeV6dCFDmDVpzmaVwFqEhjMmFpAL7_4XoWhE5nhOGAeE8OAlsKobqOd7J5ASLQ9nHGKq14ZwMAptME1xZcc8mDL1w
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MjJlOTNjMDAtMmFmOC00NTljLWEwZTctOTJhNWNlMGVhMTFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="179" it="0" lt="178" ct="0" ts="1587564594344" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-87" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ODlhZTdhMWItZDhkZi00MGI0LTgyYTMtZDFlODUyMTQ0MTUz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1Ny0tZ1JUdXh4aXdraGVCc2JXRGZtTWhNdDlHeUNUMjNldSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.r43xlN6gCh-P37ifOkZNn4tKDUy9Hv0li-cPIEbMOOawpYs88Wl-JqTkQI7SjT-JQeuIqIQFDhbXD3ABRdEuOfCm8AdYq7xoJYW-11bRstWkPT3htsGUOeSo3YWCPMSHsD27V7uwrsaOMX1NH6Cn_ZyTf1Ddw2tt9ncWVJkDvWGu4wCKif_IFz01aQCo-YRcyUPfbwHWY57o0DLTJHXKBylC0NHO8FotC_HAujVqlnKtdfvaI_xGHhmd3wKqnpZXgofyJ18IAIBM-CAsRUyVHmL2ubJaWWPy63FW_I2vPzLekcDo4UZaqgcbHPGo_1X_MFhLdh7qEIY1owsQIyX-Pw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWM3NjI5NGItODNkOS00OGFjLTgyNGUtZjJlYWNhNThiZDcy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="91" it="0" lt="91" ct="0" ts="1587564594432" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-9" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Yzk4YjY4NGQtNmQ5Yy00MGJlLTljNWYtZjRkMTQ4Zjg0ODQ3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1NC01T3k0MzJ5OTNub3kzcFViNzVjd0pKQjZNTGd5UWhVWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.qT7uAZ2vdCMfe8d4MuXD5_wjur7yQWrbhrXJ3rimxd_IGJC4gwXaN3MEG59CzCGh0DAtk1chTjavG-QqJV7HeWGRlj9T1SUen99q6Ekv1mElGI1SLwDXQvXeyFrLtSievTVT431Togta4yLDOw-yByPqSNKK-8pO0n4ZMxk1K_kC-_SGqnoeySjUm_3Le6OKIz8JX5DZljOPmiii11uJW8I4LRq8o9cYmpZsMMt_p9cPFnDekNAgmb87vCKYbfH1EXKuPT_RlX0l5oMFo7emELDf3TFt2xxgoedGchXWTeukPx3kI9VA_FTLoUA6CEdBVoTOpPA--YFbdHJzdZiuAw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDNhYjVmZWEtYTUyNi00ZmVjLTlkYzEtOGIyMjBhZjIxY2Jj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564594521" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzgwYjQ1YTYtNzExZi00OWE2LTllMjEtNjgxYzVkZDM1Zjgx; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564594520" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGUxMDQzYzktY2Y5YS00ZmQyLTg0NTItZTI1NGZlN2U2YmY5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564594521" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Mzc1ZGZjNjctMzA0NC00YzVmLWExNzQtNDBkOGUxNjY4ZmU2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564594523" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGRmNDVkZjgtNjQ0Ny00MzFkLTgyMTEtMTg1M2EzOTk5MTE4; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564594521" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmIyZTNjMjQtZWUyZC00ZDI0LTlhNDYtNGNhYTZlZjUxN2Ex; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564594522" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTkzOWI2ZGMtY2Y0Yy00NzdmLThkZmUtY2ZmMTBmYzYxMmJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="250" it="0" lt="249" ct="0" ts="1587564594280" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-20" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZjFjMTExNTEtNmRiOS00YWU2LWI2MWEtNzNmYjYyYzBlMTJk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzODcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU4NywianRpIjoiSUQtVG9rZW4tMTcyNC12Z0xqZFJLeVJHaUYzdUdLQUZDTTgwd25JSWh0dzY1biIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Kdspgc5eaFHsgTWdm6SyD9_vtNGG3DaNmixCXX5muPPRqXAhl0xMARWBhVgwscZFL5JmoImsRCMeA-r92euKxZaMm0S6ZOhWIROokcU3O5QSzFFWK6pdHepxxGgFcYHYwXUmqMibrfMvHM8g6wUbKE88c5pGjjl0UHM77SdprEefMCioTrovpXnylg6sNy-G7xQzielRyw1hbBFMnB2TXGuCXNBLNekArcyctMzH6Is1MAIwm0wNn2-eszi0koD0S-uXcQ2-jURkNZRxGuZO8v2bafMapfTiKLasUYZStWp4dzpsIygcQkrWHEurjLS3uONKWJia7fFDn58nEac8pQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NGRmYWVjMDctNDYwOS00NzZhLWIxNGMtNmRjODVmNGRkYWI4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="2" ts="1587564594523" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NzUyMWUxZGEtMmM0Yy00NTY3LWI2MzktZTQ0ODZiODljMTNk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564594525" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzgwYjQ1YTYtNzExZi00OWE2LTllMjEtNjgxYzVkZDM1Zjgx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564594526" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGUxMDQzYzktY2Y5YS00ZmQyLTg0NTItZTI1NGZlN2U2YmY5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12" it="0" lt="11" ct="0" ts="1587564594521" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2Y2NTNiZjEtZTExYS00MGUwLThmODctZjVkMGNjMWIyZjlm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="9" it="0" lt="9" ct="0" ts="1587564594524" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWMxNTJkZWItYzUwNS00NWYyLTllMzktYzNlZmQ2YTI4MmRm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564594529" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmIyZTNjMjQtZWUyZC00ZDI0LTlhNDYtNGNhYTZlZjUxN2Ex</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564594527" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Mzc1ZGZjNjctMzA0NC00YzVmLWExNzQtNDBkOGUxNjY4ZmU2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564594528" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGRmNDVkZjgtNjQ0Ny00MzFkLTgyMTEtMTg1M2EzOTk5MTE4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564594531" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzRkODYzNDYtMmU1YS00NmVlLWJiN2YtNWM4Y2QxZTUwYjdj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564594531" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzUyMWUxZGEtMmM0Yy00NTY3LWI2MzktZTQ0ODZiODljMTNk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564594533" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWMxNTJkZWItYzUwNS00NWYyLTllMzktYzNlZmQ2YTI4MmRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564594535" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MzRkODYzNDYtMmU1YS00NmVlLWJiN2YtNWM4Y2QxZTUwYjdj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="67" it="0" lt="67" ct="1" ts="1587564594474" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OGMyYTU5N2UtNTQ3OS00MmY3LTgyNGMtMjQxNTdhY2ZkYTE2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTIsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MiwianRpIjoiSUQtVG9rZW4tMTc1MS1XVWtxbTBGdDBrc3RqVUVyNnpWLU8xdm5IOTNqS0ppRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aZNV5NkrQK9fZH6tu44UPE4HsTW2gXQGPRlldq-5_0T_mTf0c1N9e1T10WEsMsqeof9KE8ewI3rZFJ8J_2LoEvPGuR0qRmR_O_XR8bCi9NotFvwLntf6cM8Lztk-ctogskkoa2dHmOhie8bqFhGmPJVwoJn9eC0DvcO6e495J8ZHWGSe9hmSa-nfk6V_dNQhEW1dr2QEWc5HPg17oMbQFs5HV0H7G3Fg1OjOfTVQ5lPSi4mUv_GK_ZPa3mPi81Efy-_9Qo21NIkAzJ7PRYxblzUIdIteDfrVue68UrS61TevubuMIdsPX2sL9ziaTUmC42lQOuicV-el-3cvR1yayA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NWExYWZmMzYtZGFiZC00YmQ1LTkxMzYtOWE1MjlhNmMxYTk4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564594542" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWMyMGRmOTMtYmE1Zi00ZDdkLWJhYWEtZTAwMjQyN2E0MzRm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564594545" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWMyMGRmOTMtYmE1Zi00ZDdkLWJhYWEtZTAwMjQyN2E0MzRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="91" it="0" lt="91" ct="0" ts="1587564594488" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-47" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=Yzk1YjIwOGMtYWFkMi00ZmEzLTk3MDYtMzZhOTA0OTIxYWNk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1Mi1ZbW1FRW5NbHhGQy1tS3RBdHR5aEFJS1J2dERPRzBHTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.p8RhrvzXeOVCvzEMN1KQ_3Obr9YpAk4-jO8TabH4H4W7CK-GohvlKNtfvwVYZXEb9tGGC2p4F8S9vCqyZLwHXweXjbAwkieO5EcF51D8o8vkV-5BJEEPemTdnEeF09cWaLsLMkkE79Jh7s8A5rVAXFFp_1QS8AcH7x43bXA0EW0gGw8pfapE5dy4JfeB-Pn44nGBkclxDhP-jeyqQefLjJcLRB01mZU3-HHBLyaJizm4iiRuTTHSFQhAHcuH8ll8DaXtb4u3rSbir9IF1Pd_eJaIBmXRhFg683PYtwZCVWax0wu9rrivujMqgFWqEENtv4QkT077-0s7CIMudfXHLw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YmMwYmE4NmMtN2I0MS00YTQ3LTljNDUtMDIwZTQ5NDEwYzNj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="2" it="0" lt="2" ct="0" ts="1587564594580" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NGE5NmM2NzktNTZjNC00MDFiLWFjMDEtNDFlMGY0NWMxMmRl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="87" it="0" lt="87" ct="0" ts="1587564594517" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-13" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MmQ5Y2JmNzktYzJhYi00OWNiLWJiZDktZWU4N2RkMTA1M2U5; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1OS1HTHFXRDVCdWctamFPUFNqMjJBRnJCNFlrMld2aXBocyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.r5AVbnpAPz3cKCEwmKyRymfuTXsS3NnvqJm46BMCVS-DxV0BuCUabRvxAkMyYvLFtXTFJkgSDHONwWkbE8Jx80VtyarGhcq2nSYIS2cC-eEyTiaFuYKqNZcRC1_3JHycA9rHb-h055qEVK5xlrxeA3h_laFdYORT9CAbhuO5RZwgxvEoPaLbvES70iM3N3jhOCsG-zEsc3TJaLBOJz-KGaYC6-hm_S8DlprjBREX8IDZSbOHD7o06hlNsrXNj9DJp3alZYGJjfnIRDjcb_4z-CtOb7DKjTKCUZMIHtUyioVT9WiFLkw5ObtA9pP6uGt9-_nUsN-V8I5rqmsFksf64Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MTMzZmZmNWEtYjBhMi00NzY3LWJiNWMtNzQ1Y2NlZDE5ZTQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="89" it="0" lt="89" ct="0" ts="1587564594515" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-48" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzRhYTA4MGItMDcyOC00MjliLWI2MmEtNzA2M2U4MzFhYWQ0; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1OC05a0NvQnRuYkQtU3lDYkhqNU1LSVJFdjhWQnRsa0dqTSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gFMPlr5iCT46WmSTJYTWHGlR2JDtIHfPIDkBdIV6es4IL1mVcqoMSvqHl4Iox7SCol4CE_amecg5On9lGDH6SRYq1eYQoS9NSQBnWN65XWjCJiXph_BLi_E4hcFFyIWuTs2MCeUglrRsdGYGccAT3ijs8Iv8RymBxLdOYQaZ3Zxk52J_6EXsUBtq9fP73pWaoBlC-Db32jOwLHH6U2jBiUinTwGmWbLYi7wdMEyq1gqsxbeFFiWYA6X58SB3uCcY8ywc61Ap1QdWOzECD9dGM2GzrvW3wMAONlU4xh1s0nvHzNIBcve--FsbALaXkJfnzCdvv-RCm-eRzOWbWLnQqg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZjlhMjM2MWYtOGVlNy00Y2M4LTlhMjQtMzViNmFhYzQ4OWVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="83" it="0" lt="83" ct="0" ts="1587564594522" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-35" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDEyMzNjNDgtYTA1Ni00NjhkLTk1NjctMDZjZTg4MWI2NmYy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1NS1JVUJBdXJOSjNtaG1ISEcxM2hSUFkzZW1WTzFGdFBmTiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.gf43CxmDiIPq9dKRs-Pp12NoKdHlT_WvtPNRF25LiNyJWspiM5AGJ0E-HGB9Dm4rkPD1mCQpDbfLkiple5u6OcwGdseBtJMRcPd2M3NK_Q8OGFlJYtDjfOWrNwDxVE0i5upCOi1EyeUQaaKKJO36rcCxkL3qcJuLAWkfESPFoYwI4gbE_evyv09D7Zto3v1kzoBN6cs6mqgA3zn-a2IKygu9E0eHrYEIbVV-QWpcv6HPI82-8mCJucD7sRrxb9xSUBcxzVU58UrYg4JFPpuX5YXd010nKUB5YW2qRadukUxXIqMmb_O58XLeHgyjzg5amzdu2UwpJfNPxnfcTRQS6Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YTBlOGViMTMtYmUwNC00NWQ3LTgwMDUtZDdiODc0M2ZjYzQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="92" it="0" lt="92" ct="0" ts="1587564594513" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-62" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2NhMDBmMWEtMDFmYy00YzI0LWJhODItYTFlNjgyNjIwZTQy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NCwianRpIjoiSUQtVG9rZW4tMTc2MC02ckhzbmdrTS1wR1hPZS04VERFMlFQa2JLTlM1bVQtQiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.TZzxfUDdnXnAiEfgCidn26gVzPvimzsa6hqn8Zo3b4R3SbikA9aYgmynT9vPO-ttvOn-ylAQqL0LRkD9ITsNdmrQpbynHllO7biTxVCDnIXSd4ADb4oJxZE7bBYLMWDIreHl-beDh2LRGPXA4i7tH2Jxd66y4KBZ5X6K-Vu4dae9HiSzJwKO4T3OmjnZcqyuEe6qHoZUVlhJ56b8U3K936f0HC9J3AZpu9sd_ASIy8ufePoTQN5NdlBrxLcIrzJLqutSfdhn43Lzs8sw7G9dagB8L36Oc18A_FCmn_4y8s6cjwgBziMf970KkWb-6q3VOUcmlyDNHJT_4upRMFyBTw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NzBjYTIzOWMtODhhMy00Nzk4LWJhN2EtZjBiOTM5ODc3N2Zj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="86" it="0" lt="85" ct="0" ts="1587564594520" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-2" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTQyMGNjZjUtYjgyMy00OWM0LThiMzktMmQ1MzU2ZmViOGUy; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1My15d3ZUSjFCbi1lYTNlQi1oT2FyazFWeWtQRnBnejRCNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.aBTWn-A4pZE1x2Ex1oWjVw4q2bEOqBtcPVHq71V3EF7DMnfNI1ctvoKYsDtFyZAiPjZ4E_bkxrAZWtniSDCZVrIojg_Vy7V7BVfQJBm8mCK4hG3OLFHuZit5YlF6eQiuDjlpsfNqVifVC8r1MbCjRbe2pyx-oBP77syj2efBt-fbxgAi-U-XgMkuew90HIfpihW6JTAYMTKtJVyYV8boJjnLNhq30LaCiaYn2wVnXvW8jkh_gRmGN_boSYsCD5ue_jM2Jkz58dCiMBY3sKFvWKlhl3z8YMgIRJogHH2bb5Lvq1-lRWoIMKYmdbNmtA_r_2USo85CnX4LCf2dq8lY0Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YTRjYTE2NjYtNmIxNC00ODZiLTkxZWMtMGM2ZmFkMzVkYzJl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="82" it="0" lt="82" ct="0" ts="1587564594524" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-87" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTZhYTlmMWMtMGU0Zi00MDE0LThlZjUtMDRlNDEyNWY5ODg3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1Ny0tZ1JUdXh4aXdraGVCc2JXRGZtTWhNdDlHeUNUMjNldSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.r43xlN6gCh-P37ifOkZNn4tKDUy9Hv0li-cPIEbMOOawpYs88Wl-JqTkQI7SjT-JQeuIqIQFDhbXD3ABRdEuOfCm8AdYq7xoJYW-11bRstWkPT3htsGUOeSo3YWCPMSHsD27V7uwrsaOMX1NH6Cn_ZyTf1Ddw2tt9ncWVJkDvWGu4wCKif_IFz01aQCo-YRcyUPfbwHWY57o0DLTJHXKBylC0NHO8FotC_HAujVqlnKtdfvaI_xGHhmd3wKqnpZXgofyJ18IAIBM-CAsRUyVHmL2ubJaWWPy63FW_I2vPzLekcDo4UZaqgcbHPGo_1X_MFhLdh7qEIY1owsQIyX-Pw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ODlhZTdhMWItZDhkZi00MGI0LTgyYTMtZDFlODUyMTQ0MTUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="23" it="0" lt="23" ct="0" ts="1587564594583" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGE5NmM2NzktNTZjNC00MDFiLWFjMDEtNDFlMGY0NWMxMmRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564594606" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YWUwNjk5Y2MtNDViNS00YzkyLTg1MDQtODE4NTM4MGI0NTVl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="282" it="0" lt="184" ct="1" ts="1587564594290" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-54" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=07168712-a57a-4509-82e9-76517e69ad74; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="322" it="0" lt="196" ct="1" ts="1587564594290" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-82" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ec7673f8-4470-4edd-b9b1-a16eec5f0034; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="363" it="0" lt="291" ct="0" ts="1587564594214" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-96" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0e4997d7-1826-45c2-aeb9-03461cc49ae9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="323" it="0" lt="190" ct="2" ts="1587564594305" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-39" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=13299e7e-7ba3-4601-afce-c4818371eda8; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="288" it="0" lt="148" ct="1" ts="1587564594337" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-30" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7d28359a-ee3c-47ec-95ba-ac5cca53788f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="421" it="0" lt="294" ct="1" ts="1587564594188" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-23" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=09adf931-397b-4b17-9105-9831a3d742ff; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="342" it="0" lt="261" ct="0" ts="1587564594264" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=29cc7830-f6ba-4010-a337-13257d9fdbfa; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="274" it="0" lt="185" ct="0" ts="1587564594338" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-25" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=f7bb34da-9aec-45b0-bba5-d3e6b13a790a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="431" it="0" lt="322" ct="1" ts="1587564594191" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-5" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2150bb0a-6493-4afb-91a6-22f77cb9e0f6; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="323" it="0" lt="241" ct="1" ts="1587564594258" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-18" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=760a2999-0469-432e-8f22-c55140b61fad; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="22" it="0" lt="22" ct="0" ts="1587564594609" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWUwNjk5Y2MtNDViNS00YzkyLTg1MDQtODE4NTM4MGI0NTVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="25" it="0" lt="25" ct="0" ts="1587564594606" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTYzMzhkOTEtODc4MS00MjUxLTg3NzUtNGZhM2NlOWQwODQz; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="26" it="0" lt="26" ct="0" ts="1587564594604" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmNiODljZmQtNjgwZC00MGY4LWE3YzItOTU1ZTA2ZTBmOTZi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="23" it="0" lt="23" ct="0" ts="1587564594605" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDViY2ZlYzEtZjFiOC00YTc0LWE1ZjYtNmJlZjg1Y2Y4NDZj; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="22" it="0" lt="22" ct="0" ts="1587564594606" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTkwYzgzNmQtMThmOS00ZmE2LTk5NDEtODY4OWE5NjFjZjRm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="22" it="0" lt="22" ct="0" ts="1587564594605" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTVkMDMyMDAtYjU5ZC00MTIwLWE3ODAtMjdiYTY4OWI4OGRm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="99" it="0" lt="99" ct="0" ts="1587564594523" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-100" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NTI3MTcyNTctODk2Ny00MTQ2LWFkZTYtMTJhM2MzMzhiYjll; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTMsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5MywianRpIjoiSUQtVG9rZW4tMTc1Ni1PdEpHMVAtZk9KcVRUWEotOW1WQ3VkMTBBMHdyN3FkVyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.YpEi-fkPOSEVIPIzOhKSWRT5IqL4s3MUX91EomMg-VPNEhmVJ0HKa1q8MKZ9Ea6PpBVS9pr6rz01Rh59EpsR6AKg5Ttv96D2SK63ogmOpHGC3yLpoFOnjQ7DKDwPwpa2LtMGxfw7KzuDzhswkVBINl-7YN4nrf2P2IHvU-4oKj-YRG0DqJxy48hIk9QcxMbO2NKy36I_s5xlty-1FGz-yM6iF9sLkjI3xy7HFxJH5QvKjYsozSckiYtu15WJaLh9iiTqtIcup7xb7oOVD85tmdNw8CBoznhB-O4TNVY-xDEsTi3Qm1yz53XK-9H-8Ru0HdbBppjp5pROjs4EAVUtdg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=N2E5ZWFhYjItMmUxZC00OTgzLTkxNTQtZGQ3MTBmMjI3YWE4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="129" it="0" lt="129" ct="0" ts="1587564594491" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-90" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZGVmNjUzZTYtYjliNi00NzExLWFiZTAtN2RiMTkxMTIwMzUw; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NCwianRpIjoiSUQtVG9rZW4tMTc2MS1pOGlyaVBrLVRtN3I1eUFNZkVGRmE4SWw4dklORmJNNyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.iANnhnVUUBOlsjk1L3bveyjn3LGVdg1thC_y14VKsI6RTUFTj1Mh5y8-rnoIOCeQpbNFeNeAekLchJYiaywi39B1RoyKQ2KHufMA7TSyVYqqEGdd4M_jEMzs8L0u9CNxSEJXsN6dKPsSQQOKG74MeIsaDR7u6jAKHGmOThWqVfGuboLPa-qlZhOU_vDbNVclo62zJh1fXqG7u6Nluh2yWnitNfh8PStN8AMQtO8WHfQwe5m2uDG92N3Mp7CZdOo-a7MONYuMwe6O23cbf361lM3eMrxNsfhXtVulHbQwRxKhPFhNlx563H9LlVP1X35VXN0MrEwqR06HvgD5uMdTEQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2FhNGU2OGItMWRkNS00OTMwLTg5YjQtMWI3MDJmNDUxMjRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="327" it="0" lt="220" ct="1" ts="1587564594292" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-33" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2cf20080-810e-478e-a608-831ef8dbb1b0; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="459" it="0" lt="232" ct="4" ts="1587564594190" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-10" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e4c2a411-3f98-4c9d-bacf-274ce6a27134; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564594656" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OWM3N2IzY2MtZDc5MS00YTEzLTljN2QtMDgyMDY4OTUyZGFm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="285" it="0" lt="212" ct="1" ts="1587564594295" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-73" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=382baa85-93e9-42e4-a9b3-f464188fbdaf; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564594659" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWM3N2IzY2MtZDc5MS00YTEzLTljN2QtMDgyMDY4OTUyZGFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="444" it="0" lt="108" ct="5" ts="1587564594189" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-93" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=35ae726e-cdaa-4008-892a-79fae3045bed; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="330" it="0" lt="223" ct="1" ts="1587564594292" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-6" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=70a1b4cb-7f66-49b7-be97-bc1a6fcf61d3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="343" it="0" lt="257" ct="1" ts="1587564594264" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-49" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d6bf385a-c9c2-46d9-b9fc-36d4b669e220; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="402" it="0" lt="291" ct="1" ts="1587564594218" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-99" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=4bcd548d-7120-4ad4-8c1e-0676a4df1314; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="267" it="0" lt="185" ct="1" ts="1587564594309" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-58" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=73a34fcb-b810-469e-9458-9a890880a39d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="390" it="0" lt="314" ct="3" ts="1587564594191" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-41" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7275c7ae-7c15-4a47-b258-1d8dd9deb4d6; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="323" it="0" lt="239" ct="3" ts="1587564594290" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-8" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e66de334-5b8f-4d5b-979d-c5502683e26a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="431" it="0" lt="83" ct="1" ts="1587564594212" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-84" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=41352098-5c9f-4bbb-8624-4241259b885a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="428" it="0" lt="207" ct="1" ts="1587564594211" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7126f037-9297-4c8e-9c7d-82fef9245a5a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="251" it="0" lt="160" ct="1" ts="1587564594365" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-17" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6b5f6844-8df0-411a-b3d7-9c958395d7d4; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564594654" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmNiODljZmQtNjgwZC00MGY4LWE3YzItOTU1ZTA2ZTBmOTZi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564594655" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTVkMDMyMDAtYjU5ZC00MTIwLWE3ODAtMjdiYTY4OWI4OGRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564594655" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTkwYzgzNmQtMThmOS00ZmE2LTk5NDEtODY4OWE5NjFjZjRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564594656" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NWNmNTdhNGYtNzM4NC00MjE5LWJkOWMtNzNlMTU1MTNmYWRm; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564594655" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDViY2ZlYzEtZjFiOC00YTc0LWE1ZjYtNmJlZjg1Y2Y4NDZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564594654" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTYzMzhkOTEtODc4MS00MjUxLTg3NzUtNGZhM2NlOWQwODQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564594680" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWNmNTdhNGYtNzM4NC00MjE5LWJkOWMtNzNlMTU1MTNmYWRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="594" it="0" lt="248" ct="1" ts="1587564594187" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-31" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=52dfb418-728c-4625-9fba-cd3f6d134582; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="491" it="0" lt="321" ct="1" ts="1587564594306" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=60cea44e-257a-46fb-817b-c7b2cb8aee47; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="613" it="0" lt="436" ct="1" ts="1587564594189" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-15" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=130ddd3b-61f6-4498-a8e0-a67f914f4fd8; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="455" it="0" lt="281" ct="1" ts="1587564594344" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-56" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2886cf48-0a0c-4824-a1ed-274d3cfc2a48; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="438" it="0" lt="268" ct="1" ts="1587564594354" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c2ff05fb-fdac-4f1d-91fd-9c697dd7fd3e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="586" it="0" lt="435" ct="1" ts="1587564594211" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-29" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8d44889d-6df6-465f-b0c9-4207b9dcb004; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="544" it="0" lt="382" ct="1" ts="1587564594261" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-65" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=1da3fdc8-b507-4b7e-a86e-69a36dbc6aab; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="477" it="0" lt="394" ct="3" ts="1587564594335" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-21" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0dc1914a-703a-416a-8576-f08bc48484f3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="459" it="0" lt="292" ct="1" ts="1587564594356" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-19" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8446600d-e7c7-415f-9902-9537b66acc50; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="458" it="0" lt="286" ct="2" ts="1587564594336" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-86" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3fa8f6c1-79e1-4a90-a9f5-e6c0d6aa30a3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="546" it="0" lt="342" ct="1" ts="1587564594280" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-14" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=35c35da8-db2e-4fbe-9c5e-ed24c9cc5c73; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="580" it="0" lt="488" ct="1" ts="1587564594237" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-42" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=185786aa-6d5d-4ebf-a7d8-dcb1b9cb3191; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="531" it="0" lt="351" ct="2" ts="1587564594289" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=986d9c33-6f73-4c15-acf5-e7a0bccc37a3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="496" it="0" lt="330" ct="1" ts="1587564594306" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-1" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=45a75046-f31b-41db-b841-28423ab467a8; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="463" it="0" lt="288" ct="2" ts="1587564594336" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-74" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=261eaebe-dfe5-49b4-8026-118878950487; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="525" it="0" lt="439" ct="1" ts="1587564594292" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-55" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c8b9f5e0-ca5e-4a18-8148-c0efb3be2c07; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="566" it="0" lt="469" ct="1" ts="1587564594272" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-32" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ac97d3cb-6398-4d1d-bf8e-5dbd646b25ff; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="578" it="0" lt="463" ct="0" ts="1587564594260" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-53" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=13cb5a2a-1d4a-4b58-a5a5-079e12ddd0b2; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="334" it="0" lt="271" ct="2" ts="1587564594534" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-64" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=dfb38d0d-7286-46aa-a9fb-1b3c09a07f3f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="672" it="0" lt="627" ct="1" ts="1587564594193" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-77" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=803b11b1-badb-468b-835c-73988c0cd467; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="609" it="0" lt="551" ct="1" ts="1587564594268" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-36" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ab1a57b6-c502-4447-8cf9-1d61923c64b7; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="347" it="0" lt="308" ct="2" ts="1587564594534" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-85" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=54fd2a43-26dc-41b8-a92e-d30435d84e5d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="598" it="0" lt="591" ct="1" ts="1587564594292" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=df9bee63-72ee-4eec-9637-e59842cb759e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="652" it="0" lt="527" ct="1" ts="1587564594261" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-61" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d276f1b7-e761-4189-90ea-b7b1af1bd03d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="392" it="0" lt="251" ct="1" ts="1587564594548" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=120dd115-9830-4f35-ae71-47e9309d9f4e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="463" it="0" lt="403" ct="1" ts="1587564594498" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=bbbd676b-6e9b-4cc7-bd30-caddf6c0a52a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="471" it="0" lt="416" ct="1" ts="1587564594500" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-89" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c9f4b0a2-cfa2-42ae-95e1-ed76800f5fd7; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="296" it="0" lt="272" ct="0" ts="1587564594681" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-35" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b91804ef-92da-4278-a4ef-7569b4101e8a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="301" it="0" lt="284" ct="2" ts="1587564594679" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-13" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a86b7dc8-f2d5-4d03-9ee4-eedd5ee14c00; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="304" it="0" lt="271" ct="1" ts="1587564594680" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-48" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3f50f23c-b7c6-4972-a1e1-36376ca81797; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="306" it="0" lt="283" ct="1" ts="1587564594680" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-2" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=08b7e406-b802-4af2-9bcd-d248b0326994; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="310" it="0" lt="297" ct="1" ts="1587564594680" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-62" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8bb757ad-49a7-40c8-9a75-11cd3e8e91af; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="474" it="0" lt="257" ct="1" ts="1587564594538" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-9" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=64027a96-74a2-4b19-9780-e7e8c181e292; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="828" it="0" lt="581" ct="1" ts="1587564594187" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-11" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3c1c9656-2352-4966-82f8-a168a32a0950; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="758" it="0" lt="482" ct="2" ts="1587564594261" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-44" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a73309d8-861c-44d0-aed4-627b95333b9e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="478" it="0" lt="263" ct="1" ts="1587564594536" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-98" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=262095bb-4cb0-49f5-8b92-86ef65bfdea2; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="682" it="0" lt="422" ct="3" ts="1587564594335" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-72" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e63d7062-851e-4de2-a0d8-de26f480aee9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="684" it="0" lt="275" ct="1" ts="1587564594353" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-68" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ed57f897-78ac-480b-ba08-7881ee6cad15; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="695" it="0" lt="273" ct="1" ts="1587564594355" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-7" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0ca8ae0d-4072-4d53-8706-ecc0cbbb0dd9; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="746" it="0" lt="322" ct="1" ts="1587564594310" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-22" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=60ccde0d-0557-498f-968e-73396c98748c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="767" it="0" lt="444" ct="2" ts="1587564594291" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-97" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=fc164ff8-33e7-47a2-8198-66dcb0b96c05; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="846" it="0" lt="437" ct="1" ts="1587564594213" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-81" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=92f9dcc6-5199-4f26-b0b8-c5cb7b5f55fd; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="725" it="0" lt="291" ct="2" ts="1587564594338" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-71" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=c2d76b51-b9c2-4d34-912b-e521f69f6bab; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="714" it="0" lt="404" ct="6" ts="1587564594333" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-80" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e79305f7-39d2-4868-925e-7540d3e554f3; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="735" it="0" lt="422" ct="1" ts="1587564594337" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-60" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=21c06a59-e562-4be1-8ab6-f05e2a934495; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="822" it="0" lt="528" ct="1" ts="1587564594250" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-12" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=5eb7d16e-c520-4269-aede-19460f44f5da; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="711" it="0" lt="291" ct="1" ts="1587564594345" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-37" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=4e796f54-76f5-48fe-a40d-465a80949f73; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="633" it="0" lt="333" ct="1" ts="1587564594435" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-26" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ac530c96-46ce-414e-aa55-6c8788742dbd; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="715" it="0" lt="336" ct="2" ts="1587564594336" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-91" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ab49ceab-147a-48ab-8643-03a8716e9141; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="755" it="0" lt="467" ct="1" ts="1587564594310" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-94" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=8196055c-a5a9-4774-aa4e-ddec42a39242; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="805" it="0" lt="489" ct="1" ts="1587564594263" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-83" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=70c50b6f-54b2-4f78-b5e1-a94029b4b401; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="535" it="0" lt="289" ct="0" ts="1587564594540" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-20" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a5a31e66-5ad9-4f58-8e76-8ef822b26969; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="781" it="0" lt="368" ct="0" ts="1587564594263" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-24" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=e0446a47-e2ec-4d79-b721-701ea5f14396; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="561" it="0" lt="490" ct="1" ts="1587564594532" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-45" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=1bff92ed-b2df-441b-b1d5-2a86501255e2; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="438" it="0" lt="374" ct="0" ts="1587564594654" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-87" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=bf9d141b-aefe-42c3-b2a3-8947e7965a25; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="559" it="0" lt="496" ct="1" ts="1587564594530" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-88" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6999dbdb-23db-460c-b247-0d4302e34d82; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="557" it="0" lt="486" ct="1" ts="1587564594533" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-50" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9f99a9b3-9cb6-419f-b3ba-7a1112abf487; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="716" it="0" lt="319" ct="1" ts="1587564594338" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-34" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ad8a6bbc-b7ec-42b8-88d9-d89f5a3e126c; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="469" it="0" lt="408" ct="22" ts="1587564594606" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-47" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=dd522ef5-43fc-4f7f-a996-baa98e1311a2; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="714" it="0" lt="308" ct="4" ts="1587564594335" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-43" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0c2d53ba-c5e0-41a3-ba79-968724809243; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="785" it="0" lt="479" ct="0" ts="1587564594269" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-78" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=f6ce028e-7e12-4cf7-9806-40a1ec6e75dc; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="854" it="0" lt="775" ct="0" ts="1587564594258" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-76" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=ab638542-7f8b-4815-b3b1-78399e457568; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="793" it="0" lt="517" ct="1" ts="1587564594277" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-40" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b78d3209-ce17-4de1-b920-0da0e37ea3ba; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="798" it="0" lt="373" ct="0" ts="1587564594279" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-69" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=60a7fdb2-0db6-4539-a039-4906b90a1363; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="834" it="0" lt="530" ct="1" ts="1587564594245" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-79" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=cf79a266-62d6-4073-923b-34d1423d289a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="778" it="0" lt="515" ct="0" ts="1587564594270" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-16" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=195e0cfd-f1bb-423e-a35e-c0272bd3a9ff; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="834" it="0" lt="521" ct="0" ts="1587564594212" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-3" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=01a7d897-8808-4ed4-827a-643a1a937375; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="779" it="0" lt="388" ct="0" ts="1587564594287" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-28" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=7693337a-964b-4c22-b88a-3b978407d94f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="665" it="0" lt="349" ct="0" ts="1587564594398" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-52" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=05ac1fb5-b9f2-42c7-b0c6-b715df5aaf0f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:53 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="636" it="0" lt="586" ct="1" ts="1587564594489" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-51" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d28d49be-7485-4bb4-83c1-b823ef1e867d; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="590" it="0" lt="506" ct="0" ts="1587564594535" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-75" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=eaf69caf-170f-4b28-90d4-682df09c1ba2; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="622" it="0" lt="522" ct="1" ts="1587564594500" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-4" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b231f544-9565-44b9-abea-c5a1f0411e31; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="631" it="0" lt="578" ct="1" ts="1587564594497" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-92" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=d9bb2be6-3ae9-4f6c-954e-75a0b97bcb49; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="596" it="0" lt="543" ct="1" ts="1587564594532" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-66" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=9ff4f268-1f76-4076-bef0-dec07278a778; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="655" it="0" lt="554" ct="2" ts="1587564594497" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-67" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=6efee9a1-1a4b-4dd9-9d24-d0cad5b1c549; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="474" it="0" lt="288" ct="0" ts="1587564594684" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-100" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=42c2d064-29c6-413e-b5da-fc5b46f8f6e7; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="1035" it="0" lt="915" ct="1" ts="1587564594662" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-90" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=03bc6ec2-9d7c-4987-b428-d86c9646cfa2; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:54 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="2511" it="0" lt="2511" ct="0" ts="1587564594653" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2065-D-HXcuddkqZLG0JQjhu2okPvh8rYbsMFNHRlC3ACtYH-o4dahGcVnew25x7wvSRZ-68c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2065-hzdXg6fKu7Ik107sx6OzTWQYrw4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=760a2999-0469-432e-8f22-c55140b61fad</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2065-hzdXg6fKu7Ik107sx6OzTWQYrw4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="582" it="0" lt="582" ct="1" ts="1587564597165" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2Y2ZGEzNzItMzcyNi00NzkzLWI2MDEtYWU2Y2VlMzBjM2Mx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2065-hzdXg6fKu7Ik107sx6OzTWQYrw4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564597747" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2Y2ZGEzNzItMzcyNi00NzkzLWI2MDEtYWU2Y2VlMzBjM2Mx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564597753" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NywianRpIjoiSUQtVG9rZW4tMTc2Mi1nZDVrLThoSTk3dTVhQnozbnlNcm9tYWl2VGRBNjVGOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.e3nkvXNIpoVv8TEKtS_MkoMCE78tIEGfeylxO38fsdbs2-jWf4tn1D8y-NdSYBOf803kHqlv9gCuhAKZ_Y0TjLVKAyrO9Qh7Bn-n1f3-3h6veySu76fM2Anow_0TjHvOap8p04G5nRH7To28A3Y3Sxzzry6H7RLwEeo9QHAJ6s6YRYx9vIpU90gnGeumqoFvzXUQED9BaOZlrT-lI_jpyHPH3Rtt5kRDGVyZaOr0GwphdqONm7HIP4Ra-SgUSMrWbqFfY7p9zokDKFS0QuosFXlgwp5snAYquEdh0aBEtCgiERW7f-9MxpJn8d45sbuzdzpUL80SefO6kBmyLh-cyQ
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2Y2ZGEzNzItMzcyNi00NzkzLWI2MDEtYWU2Y2VlMzBjM2Mx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NywianRpIjoiSUQtVG9rZW4tMTc2Mi1nZDVrLThoSTk3dTVhQnozbnlNcm9tYWl2VGRBNjVGOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.e3nkvXNIpoVv8TEKtS_MkoMCE78tIEGfeylxO38fsdbs2-jWf4tn1D8y-NdSYBOf803kHqlv9gCuhAKZ_Y0TjLVKAyrO9Qh7Bn-n1f3-3h6veySu76fM2Anow_0TjHvOap8p04G5nRH7To28A3Y3Sxzzry6H7RLwEeo9QHAJ6s6YRYx9vIpU90gnGeumqoFvzXUQED9BaOZlrT-lI_jpyHPH3Rtt5kRDGVyZaOr0GwphdqONm7HIP4Ra-SgUSMrWbqFfY7p9zokDKFS0QuosFXlgwp5snAYquEdh0aBEtCgiERW7f-9MxpJn8d45sbuzdzpUL80SefO6kBmyLh-cyQ</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="2956" it="0" lt="2956" ct="0" ts="1587564594812" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2066-SZhft51m4SaOubIm6xjfDVhN-w4UZQ3giTOpFTJvuq1oq8EfndNmBk2WWFpQ6iR8xyQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2067-5x5xXt8Pb4o9dJHch3If8G1QwfIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c2ff05fb-fdac-4f1d-91fd-9c697dd7fd3e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2067-5x5xXt8Pb4o9dJHch3If8G1QwfIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="2651" it="0" lt="2651" ct="0" ts="1587564595117" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2067-w6vtf6-Jfy0upRZdMrqgvE1SOc3cDLfOXVDBKHSiWJVGAkmQUJcaS52EbuEZxeOgZuIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2066-rKXcnT61vgRMCEnkIP1QzC4XvlAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=60a7fdb2-0db6-4539-a039-4906b90a1363</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2066-rKXcnT61vgRMCEnkIP1QzC4XvlAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="198" it="0" lt="198" ct="0" ts="1587564597758" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-18" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZWNmYjZkNmMtMTNmMC00Mjk1LWJiODYtNjVjZDA3NjdhODUz; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NywianRpIjoiSUQtVG9rZW4tMTc2Mi1nZDVrLThoSTk3dTVhQnozbnlNcm9tYWl2VGRBNjVGOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.e3nkvXNIpoVv8TEKtS_MkoMCE78tIEGfeylxO38fsdbs2-jWf4tn1D8y-NdSYBOf803kHqlv9gCuhAKZ_Y0TjLVKAyrO9Qh7Bn-n1f3-3h6veySu76fM2Anow_0TjHvOap8p04G5nRH7To28A3Y3Sxzzry6H7RLwEeo9QHAJ6s6YRYx9vIpU90gnGeumqoFvzXUQED9BaOZlrT-lI_jpyHPH3Rtt5kRDGVyZaOr0GwphdqONm7HIP4Ra-SgUSMrWbqFfY7p9zokDKFS0QuosFXlgwp5snAYquEdh0aBEtCgiERW7f-9MxpJn8d45sbuzdzpUL80SefO6kBmyLh-cyQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2Y2ZGEzNzItMzcyNi00NzkzLWI2MDEtYWU2Y2VlMzBjM2Mx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="57" it="0" lt="57" ct="0" ts="1587564597956" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-18" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NDA0Y2JmN2YtODdiYS00OGM3LWJmNzQtY2ExZjlhMmIzMWQ1; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NywianRpIjoiSUQtVG9rZW4tMTc2Mi1nZDVrLThoSTk3dTVhQnozbnlNcm9tYWl2VGRBNjVGOCIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.e3nkvXNIpoVv8TEKtS_MkoMCE78tIEGfeylxO38fsdbs2-jWf4tn1D8y-NdSYBOf803kHqlv9gCuhAKZ_Y0TjLVKAyrO9Qh7Bn-n1f3-3h6veySu76fM2Anow_0TjHvOap8p04G5nRH7To28A3Y3Sxzzry6H7RLwEeo9QHAJ6s6YRYx9vIpU90gnGeumqoFvzXUQED9BaOZlrT-lI_jpyHPH3Rtt5kRDGVyZaOr0GwphdqONm7HIP4Ra-SgUSMrWbqFfY7p9zokDKFS0QuosFXlgwp5snAYquEdh0aBEtCgiERW7f-9MxpJn8d45sbuzdzpUL80SefO6kBmyLh-cyQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWNmYjZkNmMtMTNmMC00Mjk1LWJiODYtNjVjZDA3NjdhODUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564598013" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=N2JhNWJjZGEtYmE2My00Yzg5LTg5NWUtNTNiZTE2NjMwMmJk; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564598017" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2JhNWJjZGEtYmE2My00Yzg5LTg5NWUtNTNiZTE2NjMwMmJk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="590" it="0" lt="590" ct="1" ts="1587564597768" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWQ1NmZmNDQtZDEyOC00NTU2LTk3MDEtYmNiMDQ5MDkxOTdj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2067-5x5xXt8Pb4o9dJHch3If8G1QwfIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="589" it="0" lt="589" ct="0" ts="1587564597769" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjgwM2NiN2YtZjg4Ni00YzM0LTg2MjEtZGU4ODNmMmQ0OTY5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2066-rKXcnT61vgRMCEnkIP1QzC4XvlAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564598359" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWQ1NmZmNDQtZDEyOC00NTU2LTk3MDEtYmNiMDQ5MDkxOTdj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564598359" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjgwM2NiN2YtZjg4Ni00YzM0LTg2MjEtZGU4ODNmMmQ0OTY5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564598364" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NywianRpIjoiSUQtVG9rZW4tMTc2My12clItS2FTaGsxN1kxQ3F1LXZkeTNRaWVhMG04aEp3YyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ppieVmtiR5FX1aTyO-1ae0ziXTrDENGEx15o5OIQKsKGgYs5LBxLa4e2XBOqESO0r_OGNcsgy0j27yQyCUTangSrhe97R8NU32xuWfUIsw_QKFUEIy97Z1p1iJAvddANQB_lDccXapdCW-GaIccidhuZRtdHDp-iEWo7naPejmKFF0W65gb417qQf9BhcOVDvQmsEydUFWZCllgVNzuWLRWoZh9BwsECJZrarNxN8esRknhiF8EX0Cjd9F9PKU4mxxQAoY9owiUlEIxiHxWBucdSSOkic6M9YXaCj-8sptmhDtit59sk3NZ69lftO6zSvXoA9kDfB56O4PX8SVyixA
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWQ1NmZmNDQtZDEyOC00NTU2LTk3MDEtYmNiMDQ5MDkxOTdj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NywianRpIjoiSUQtVG9rZW4tMTc2My12clItS2FTaGsxN1kxQ3F1LXZkeTNRaWVhMG04aEp3YyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ppieVmtiR5FX1aTyO-1ae0ziXTrDENGEx15o5OIQKsKGgYs5LBxLa4e2XBOqESO0r_OGNcsgy0j27yQyCUTangSrhe97R8NU32xuWfUIsw_QKFUEIy97Z1p1iJAvddANQB_lDccXapdCW-GaIccidhuZRtdHDp-iEWo7naPejmKFF0W65gb417qQf9BhcOVDvQmsEydUFWZCllgVNzuWLRWoZh9BwsECJZrarNxN8esRknhiF8EX0Cjd9F9PKU4mxxQAoY9owiUlEIxiHxWBucdSSOkic6M9YXaCj-8sptmhDtit59sk3NZ69lftO6zSvXoA9kDfB56O4PX8SVyixA</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564598367" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NywianRpIjoiSUQtVG9rZW4tMTc2NC0taWVWTzFtQkJhT0VBbTJCamJ4Umk3SUoxbVRHRW9JdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rbWmvtCqOWamU5p3KErv-4SPduyw-iEgND0kEcp-zxwlALGFlAxLyH749_6A_5Buk7uaGIp_TmVEwOKTZo7ttwgCBTBk4en8GrRrTE3-QEruMZIa-xZ_Q70ZPhFkK-k9XX30zdgh421K2eFsFBmT8Aw9OUl7Z0ZxmbP8h1T2F5EMjJBbOGSGVPykm4hyrSNWYAsCJOrFhgCzsETHu0ZD7OAXmI-MqhCQUNjmxsytQ6yciQux2txiJQnYCgAKJKHUvxQKvRuiO2OhtFbnNT88LZmhvKpMlreHv17wv-W6h6HolNeo3_O6zEXyOOva4fxahoiV81TlMhlgVEiBO7Gddg
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjgwM2NiN2YtZjg4Ni00YzM0LTg2MjEtZGU4ODNmMmQ0OTY5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NywianRpIjoiSUQtVG9rZW4tMTc2NC0taWVWTzFtQkJhT0VBbTJCamJ4Umk3SUoxbVRHRW9JdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rbWmvtCqOWamU5p3KErv-4SPduyw-iEgND0kEcp-zxwlALGFlAxLyH749_6A_5Buk7uaGIp_TmVEwOKTZo7ttwgCBTBk4en8GrRrTE3-QEruMZIa-xZ_Q70ZPhFkK-k9XX30zdgh421K2eFsFBmT8Aw9OUl7Z0ZxmbP8h1T2F5EMjJBbOGSGVPykm4hyrSNWYAsCJOrFhgCzsETHu0ZD7OAXmI-MqhCQUNjmxsytQ6yciQux2txiJQnYCgAKJKHUvxQKvRuiO2OhtFbnNT88LZmhvKpMlreHv17wv-W6h6HolNeo3_O6zEXyOOva4fxahoiV81TlMhlgVEiBO7Gddg</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="55" it="0" lt="55" ct="0" ts="1587564598370" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTIwYTAwMDctYTQyNy00YTMxLTg4MDctZjViZTI3YWVkNzZh; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NywianRpIjoiSUQtVG9rZW4tMTc2My12clItS2FTaGsxN1kxQ3F1LXZkeTNRaWVhMG04aEp3YyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ppieVmtiR5FX1aTyO-1ae0ziXTrDENGEx15o5OIQKsKGgYs5LBxLa4e2XBOqESO0r_OGNcsgy0j27yQyCUTangSrhe97R8NU32xuWfUIsw_QKFUEIy97Z1p1iJAvddANQB_lDccXapdCW-GaIccidhuZRtdHDp-iEWo7naPejmKFF0W65gb417qQf9BhcOVDvQmsEydUFWZCllgVNzuWLRWoZh9BwsECJZrarNxN8esRknhiF8EX0Cjd9F9PKU4mxxQAoY9owiUlEIxiHxWBucdSSOkic6M9YXaCj-8sptmhDtit59sk3NZ69lftO6zSvXoA9kDfB56O4PX8SVyixA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YWQ1NmZmNDQtZDEyOC00NTU2LTk3MDEtYmNiMDQ5MDkxOTdj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="52" it="0" lt="52" ct="0" ts="1587564598373" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-69" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTdjN2MxN2YtYmJhMi00YzA1LWJlODQtOWZjYTUwNzNmMjk4; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NywianRpIjoiSUQtVG9rZW4tMTc2NC0taWVWTzFtQkJhT0VBbTJCamJ4Umk3SUoxbVRHRW9JdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rbWmvtCqOWamU5p3KErv-4SPduyw-iEgND0kEcp-zxwlALGFlAxLyH749_6A_5Buk7uaGIp_TmVEwOKTZo7ttwgCBTBk4en8GrRrTE3-QEruMZIa-xZ_Q70ZPhFkK-k9XX30zdgh421K2eFsFBmT8Aw9OUl7Z0ZxmbP8h1T2F5EMjJBbOGSGVPykm4hyrSNWYAsCJOrFhgCzsETHu0ZD7OAXmI-MqhCQUNjmxsytQ6yciQux2txiJQnYCgAKJKHUvxQKvRuiO2OhtFbnNT88LZmhvKpMlreHv17wv-W6h6HolNeo3_O6zEXyOOva4fxahoiV81TlMhlgVEiBO7Gddg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MjgwM2NiN2YtZjg4Ni00YzM0LTg2MjEtZGU4ODNmMmQ0OTY5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="52" it="0" lt="52" ct="0" ts="1587564598425" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=M2NkZTJmMTgtMDdiZS00MmFiLWIxZTktOTQyNTdkNmU3NWI3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NywianRpIjoiSUQtVG9rZW4tMTc2My12clItS2FTaGsxN1kxQ3F1LXZkeTNRaWVhMG04aEp3YyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ppieVmtiR5FX1aTyO-1ae0ziXTrDENGEx15o5OIQKsKGgYs5LBxLa4e2XBOqESO0r_OGNcsgy0j27yQyCUTangSrhe97R8NU32xuWfUIsw_QKFUEIy97Z1p1iJAvddANQB_lDccXapdCW-GaIccidhuZRtdHDp-iEWo7naPejmKFF0W65gb417qQf9BhcOVDvQmsEydUFWZCllgVNzuWLRWoZh9BwsECJZrarNxN8esRknhiF8EX0Cjd9F9PKU4mxxQAoY9owiUlEIxiHxWBucdSSOkic6M9YXaCj-8sptmhDtit59sk3NZ69lftO6zSvXoA9kDfB56O4PX8SVyixA
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YTIwYTAwMDctYTQyNy00YTMxLTg4MDctZjViZTI3YWVkNzZh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="53" it="0" lt="53" ct="0" ts="1587564598425" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-69" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTA1OTcxMjAtYzM5MS00YjgyLTk3MTctYThiMTgyNThkNzgx; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTcsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5NywianRpIjoiSUQtVG9rZW4tMTc2NC0taWVWTzFtQkJhT0VBbTJCamJ4Umk3SUoxbVRHRW9JdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.rbWmvtCqOWamU5p3KErv-4SPduyw-iEgND0kEcp-zxwlALGFlAxLyH749_6A_5Buk7uaGIp_TmVEwOKTZo7ttwgCBTBk4en8GrRrTE3-QEruMZIa-xZ_Q70ZPhFkK-k9XX30zdgh421K2eFsFBmT8Aw9OUl7Z0ZxmbP8h1T2F5EMjJBbOGSGVPykm4hyrSNWYAsCJOrFhgCzsETHu0ZD7OAXmI-MqhCQUNjmxsytQ6yciQux2txiJQnYCgAKJKHUvxQKvRuiO2OhtFbnNT88LZmhvKpMlreHv17wv-W6h6HolNeo3_O6zEXyOOva4fxahoiV81TlMhlgVEiBO7Gddg
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YTdjN2MxN2YtYmJhMi00YzA1LWJlODQtOWZjYTUwNzNmMjk4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564598478" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZDJiMjhkN2ItOWQzOC00ZGViLWIyNGItMGI2MzYwYTVlODRi; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="2" it="0" lt="2" ct="0" ts="1587564598479" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=ZTVmZWRiNWUtMzdkOS00N2EyLTk3NDAtZWY2NTZjYjU2NDRl; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="3" it="0" lt="3" ct="0" ts="1587564598481" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDJiMjhkN2ItOWQzOC00ZGViLWIyNGItMGI2MzYwYTVlODRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564598481" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:57 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTVmZWRiNWUtMzdkOS00N2EyLTk3NDAtZWY2NTZjYjU2NDRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="565" it="0" lt="418" ct="1" ts="1587564598020" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-18" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=2416cd5f-ebab-4ced-8b2a-7b2d94e9d41e; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:58 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="204" it="0" lt="112" ct="1" ts="1587564598485" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-69" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=de315130-0186-42cc-a45e-5140a56d74bc; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:58 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="265" it="0" lt="129" ct="1" ts="1587564598484" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=3b4c8e68-94ff-4126-b48c-8365e492536f; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:09:58 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="4803" it="0" lt="4803" ct="0" ts="1587564594652" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2068-qZVNGRWdCbnsqSZcYbHenWQxojrJ41MQPQ6iDcpYkJMKelDc59TKAt5GpuSxdJkWCVMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2070-Ynp0bSu0YgZkZPziGVAkwQ-IGM4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=f7bb34da-9aec-45b0-bba5-d3e6b13a790a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2070-Ynp0bSu0YgZkZPziGVAkwQ-IGM4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4624" it="0" lt="4624" ct="0" ts="1587564594832" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2069-JCUQpZlnaFwr1xriAjfE7BKKaBO2fI1JBZvJB1-lj-A39xvqY-c98oLrq2JAvsa-ZsYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2068-pnkZRM9FyUx8cMyr0bGUMB4mMT0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=986d9c33-6f73-4c15-acf5-e7a0bccc37a3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2068-pnkZRM9FyUx8cMyr0bGUMB4mMT0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4687" it="0" lt="4687" ct="0" ts="1587564594944" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2070-usLP1s2S-333bd9deFkKHlw17M7cenS4ZSBz4u1xy9NvweqzOAB5X87EelVjjCf00Hcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2069-1lNZFDV3OTAEbfGM9QOxNlaZY-Uc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=120dd115-9830-4f35-ae71-47e9309d9f4e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2069-1lNZFDV3OTAEbfGM9QOxNlaZY-Uc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="4953" it="0" lt="4953" ct="0" ts="1587564594678" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2071-HoT4MNKgLv5JhAt8x2-rdAILZmMdRia9bkbVwjXfC8wKgIPmRBhHOTKjczvBLhZIQLUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2071-fBlikAcR83GKkuzEpkn-rt4vqj8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7126f037-9297-4c8e-9c7d-82fef9245a5a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2071-fBlikAcR83GKkuzEpkn-rt4vqj8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="444" it="0" lt="444" ct="2" ts="1587564599455" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWEzZjk5ZjgtMzg2NS00MGYyLTkxNGEtYjNhN2NiNTRiMWZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2070-Ynp0bSu0YgZkZPziGVAkwQ-IGM4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="443" it="0" lt="443" ct="0" ts="1587564599457" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTRjZjczYzctN2EyNi00MjgwLTg1M2MtYTZkZjNjZmRiMTI1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2068-pnkZRM9FyUx8cMyr0bGUMB4mMT0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564599899" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWEzZjk5ZjgtMzg2NS00MGYyLTkxNGEtYjNhN2NiNTRiMWZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="15" it="0" lt="15" ct="0" ts="1587564599900" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTRjZjczYzctN2EyNi00MjgwLTg1M2MtYTZkZjNjZmRiMTI1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="11" it="0" lt="11" ct="0" ts="1587564599904" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5OSwianRpIjoiSUQtVG9rZW4tMTc2NS1qODJBZ1BqVm8wU0dyRU0xOGRqTTMxWHFMQ0poejY5YiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pD0deWAm8G3TwppRXV_RKV5GqTg_g0oBywxnECMgCPbF914Oz-BmNEcJwZEKKWiTj9VU7EkuV7egjpD1ul7_ImnJPuQgtSiTaZEPsZoUwZUTsGVfgI5HHHjHeM_M3MIDtgpm-AieNZa23HlD-ld_pTtnAleIqXFvwpJAMPCUoMeXNreqMXpgTRG7Zemtohl5B_7Ujk0pLUhOsOHu08UjpxemBwvAoxOk3T6ke91RPRX4HrV21j-dStsuaJW3U_egBPPLvHPac9bqs9YDl07cz53hcCEzSic5Z8sLXmiql7Y8tx1vsoB5wNAKlvURde7lCbhvPhOrxQRJHSc2E_s3ag
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWEzZjk5ZjgtMzg2NS00MGYyLTkxNGEtYjNhN2NiNTRiMWZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5OSwianRpIjoiSUQtVG9rZW4tMTc2NS1qODJBZ1BqVm8wU0dyRU0xOGRqTTMxWHFMQ0poejY5YiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pD0deWAm8G3TwppRXV_RKV5GqTg_g0oBywxnECMgCPbF914Oz-BmNEcJwZEKKWiTj9VU7EkuV7egjpD1ul7_ImnJPuQgtSiTaZEPsZoUwZUTsGVfgI5HHHjHeM_M3MIDtgpm-AieNZa23HlD-ld_pTtnAleIqXFvwpJAMPCUoMeXNreqMXpgTRG7Zemtohl5B_7Ujk0pLUhOsOHu08UjpxemBwvAoxOk3T6ke91RPRX4HrV21j-dStsuaJW3U_egBPPLvHPac9bqs9YDl07cz53hcCEzSic5Z8sLXmiql7Y8tx1vsoB5wNAKlvURde7lCbhvPhOrxQRJHSc2E_s3ag</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564599915" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5OSwianRpIjoiSUQtVG9rZW4tMTc2Ni1TTE5mSWIyTDdOQWtSU2h1Yk41V0R5bG8tcHBmUkppRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GRvkkjwFY48AeySp6avSbJSeFW3sKPy1_ajjX8KIs8PoAmdcnYkF9eQvgmCvko19-CEieN2Mrx_H8PAOkXWGWvd3gDOcC7E38wHcrVNqKQ0R7z4ESeEn-X7p2470WYFMC0FnvArU0Oa7N4uaZfpxMJjWNl-yA2WOv5Pjdluvg5aJL6zTvhDrtngrUP7b91ZtT_fs7jWEZ8qwXYeK1k1jhH9VMzsQ-U9NMgKNyy_X9X_wfmQQHJ87LWLL74IHtVlfGSNYZLcnRwqTVaK_NclJQ1jjEL91tujuc7mPRhXYbbLh64TXrQjhiD8qdqMBBH5--LXjaZJjrGZ8bebzyZr5Ew
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTRjZjczYzctN2EyNi00MjgwLTg1M2MtYTZkZjNjZmRiMTI1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5OSwianRpIjoiSUQtVG9rZW4tMTc2Ni1TTE5mSWIyTDdOQWtSU2h1Yk41V0R5bG8tcHBmUkppRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GRvkkjwFY48AeySp6avSbJSeFW3sKPy1_ajjX8KIs8PoAmdcnYkF9eQvgmCvko19-CEieN2Mrx_H8PAOkXWGWvd3gDOcC7E38wHcrVNqKQ0R7z4ESeEn-X7p2470WYFMC0FnvArU0Oa7N4uaZfpxMJjWNl-yA2WOv5Pjdluvg5aJL6zTvhDrtngrUP7b91ZtT_fs7jWEZ8qwXYeK1k1jhH9VMzsQ-U9NMgKNyy_X9X_wfmQQHJ87LWLL74IHtVlfGSNYZLcnRwqTVaK_NclJQ1jjEL91tujuc7mPRhXYbbLh64TXrQjhiD8qdqMBBH5--LXjaZJjrGZ8bebzyZr5Ew</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4799" it="0" lt="4799" ct="0" ts="1587564595121" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-52" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2072-94IL010zH2i2413KROzCbIl6vno-F-FWMV6MWwykO7FWyC3ziEtQZxibSuHu0vfgIfsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2072-odTce0VozmYvxOkbAcAVOG4qEbEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=05ac1fb5-b9f2-42c7-b0c6-b715df5aaf0f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2072-odTce0VozmYvxOkbAcAVOG4qEbEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="387" it="0" lt="387" ct="1" ts="1587564599631" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTA4YjQxZmUtODU1Mi00ZGI4LTk2N2EtOGZjMzhiNTdlMTkw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2071-fBlikAcR83GKkuzEpkn-rt4vqj8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="387" it="0" lt="387" ct="1" ts="1587564599631" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="411" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWMyMGRmOTMtYmE1Zi00ZDdkLWJhYWEtZTAwMjQyN2E0MzRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2069-1lNZFDV3OTAEbfGM9QOxNlaZY-Uc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="193" it="0" lt="103" ct="0" ts="1587564599915" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-25" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzE3N2QzZTgtNDc4NC00MzRiLWE2OGYtZjI4NTg0MTJiZTky; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5OSwianRpIjoiSUQtVG9rZW4tMTc2NS1qODJBZ1BqVm8wU0dyRU0xOGRqTTMxWHFMQ0poejY5YiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pD0deWAm8G3TwppRXV_RKV5GqTg_g0oBywxnECMgCPbF914Oz-BmNEcJwZEKKWiTj9VU7EkuV7egjpD1ul7_ImnJPuQgtSiTaZEPsZoUwZUTsGVfgI5HHHjHeM_M3MIDtgpm-AieNZa23HlD-ld_pTtnAleIqXFvwpJAMPCUoMeXNreqMXpgTRG7Zemtohl5B_7Ujk0pLUhOsOHu08UjpxemBwvAoxOk3T6ke91RPRX4HrV21j-dStsuaJW3U_egBPPLvHPac9bqs9YDl07cz53hcCEzSic5Z8sLXmiql7Y8tx1vsoB5wNAKlvURde7lCbhvPhOrxQRJHSc2E_s3ag
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=MWEzZjk5ZjgtMzg2NS00MGYyLTkxNGEtYjNhN2NiNTRiMWZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="458" it="0" lt="280" ct="0" ts="1587564599919" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjU2ZmVhMDMtYzJiZi00OWFjLWI3NzUtZTQyN2JhM2UyZTk2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5OSwianRpIjoiSUQtVG9rZW4tMTc2Ni1TTE5mSWIyTDdOQWtSU2h1Yk41V0R5bG8tcHBmUkppRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GRvkkjwFY48AeySp6avSbJSeFW3sKPy1_ajjX8KIs8PoAmdcnYkF9eQvgmCvko19-CEieN2Mrx_H8PAOkXWGWvd3gDOcC7E38wHcrVNqKQ0R7z4ESeEn-X7p2470WYFMC0FnvArU0Oa7N4uaZfpxMJjWNl-yA2WOv5Pjdluvg5aJL6zTvhDrtngrUP7b91ZtT_fs7jWEZ8qwXYeK1k1jhH9VMzsQ-U9NMgKNyy_X9X_wfmQQHJ87LWLL74IHtVlfGSNYZLcnRwqTVaK_NclJQ1jjEL91tujuc7mPRhXYbbLh64TXrQjhiD8qdqMBBH5--LXjaZJjrGZ8bebzyZr5Ew
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTRjZjczYzctN2EyNi00MjgwLTg1M2MtYTZkZjNjZmRiMTI1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="271" it="0" lt="270" ct="0" ts="1587564600109" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-25" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MzUwZTM1MDUtYjNmYi00YjQ2LWE1ZjktMDg2MDc1ZmQyMmNi; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5OSwianRpIjoiSUQtVG9rZW4tMTc2NS1qODJBZ1BqVm8wU0dyRU0xOGRqTTMxWHFMQ0poejY5YiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.pD0deWAm8G3TwppRXV_RKV5GqTg_g0oBywxnECMgCPbF914Oz-BmNEcJwZEKKWiTj9VU7EkuV7egjpD1ul7_ImnJPuQgtSiTaZEPsZoUwZUTsGVfgI5HHHjHeM_M3MIDtgpm-AieNZa23HlD-ld_pTtnAleIqXFvwpJAMPCUoMeXNreqMXpgTRG7Zemtohl5B_7Ujk0pLUhOsOHu08UjpxemBwvAoxOk3T6ke91RPRX4HrV21j-dStsuaJW3U_egBPPLvHPac9bqs9YDl07cz53hcCEzSic5Z8sLXmiql7Y8tx1vsoB5wNAKlvURde7lCbhvPhOrxQRJHSc2E_s3ag
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzE3N2QzZTgtNDc4NC00MzRiLWE2OGYtZjI4NTg0MTJiZTky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="361" it="0" lt="361" ct="0" ts="1587564600019" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWMyMGRmOTMtYmE1Zi00ZDdkLWJhYWEtZTAwMjQyN2E0MzRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="362" it="0" lt="362" ct="0" ts="1587564600020" s="true" lb="GET - Admin Center return CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="394" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTA4YjQxZmUtODU1Mi00ZGI4LTk2N2EtOGZjMzhiNTdlMTkw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="0" ts="1587564600380" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTE4Zjg4NWEtMjhiNC00ODJlLTk5MzMtNzFjNDQ0YTM5ODg5; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="7" it="0" lt="7" ct="0" ts="1587564600380" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5OSwianRpIjoiSUQtVG9rZW4tMTc2OC1CamxpUGFodXRoU3A5MkdoSXV3TmM5R0RpTUNYaDJaYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MaqrC0eFZIOQK_8LwVxToyhNpwGP3XmqkhC0_YjVadkeDOlLbpc2SnDtvEh-azwIHXFrbQvnO565kWXRfLUJCT4295edaCy-YETyN8gehM5L87rCSnKQ7Dzs1B2acenkh67U4X0tLpoyUk3srUOHDEfhrAc29lH9MoGg9g5sWWihrbhsLBztV1bA0_4JDlNVOjjBfGfJXMHXyzhV84CjZ9XQ2_8ZpOIChmGfwPwtTIdzo4EpPIyoLJKNhE6XWUnsGuGfpLBDjGe0scrZOwjibV04DA2LovD1w4dgz6oCubR_lFJ--u1HsJBqTr5npGw7qNTniqJYtIXq_NqBEmzUBw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWMyMGRmOTMtYmE1Zi00ZDdkLWJhYWEtZTAwMjQyN2E0MzRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5OSwianRpIjoiSUQtVG9rZW4tMTc2OC1CamxpUGFodXRoU3A5MkdoSXV3TmM5R0RpTUNYaDJaYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MaqrC0eFZIOQK_8LwVxToyhNpwGP3XmqkhC0_YjVadkeDOlLbpc2SnDtvEh-azwIHXFrbQvnO565kWXRfLUJCT4295edaCy-YETyN8gehM5L87rCSnKQ7Dzs1B2acenkh67U4X0tLpoyUk3srUOHDEfhrAc29lH9MoGg9g5sWWihrbhsLBztV1bA0_4JDlNVOjjBfGfJXMHXyzhV84CjZ9XQ2_8ZpOIChmGfwPwtTIdzo4EpPIyoLJKNhE6XWUnsGuGfpLBDjGe0scrZOwjibV04DA2LovD1w4dgz6oCubR_lFJ--u1HsJBqTr5npGw7qNTniqJYtIXq_NqBEmzUBw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564600382" s="true" lb="GET - Admin Center return JWT" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="1507" sby="265" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5OSwianRpIjoiSUQtVG9rZW4tMTc2Ny1EckZLaVVYTTY1QmRPSTlOT2tJVEpUajRTajZSemQtWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.m8qQfG3bhZkNGaHm0BF0_Y_52tq8wWuUSms7TM3GsSYobLBNBKkeRIP1VLj133KIwfA69mhDsURZEfh1Rf7WnqDqHidSgaYY6jqxRsHBvJchlomWrCEcTeM5XPfqv9BPxTcmuWdMvZ_dGDo68Kqsw-7WRLpw5LWg6B5fj1j7yD5lzvN6R0H8sKxw_Uyt-XjFJo2oaT56zBmVkDMAWfbuzl7L0WWGie7Dy491K3NDn62AFXwXM98YDcLcdT8pgnxCg-9ZzY2h3xxsAYvYln-blPZPJ5QxWGD7KukzsKFt8AQcKPuckDqljIFtxsL1bo3Qb1qwC4Xoyj3QiqnTRUwxGw
+Content-Language: en-US
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTA4YjQxZmUtODU1Mi00ZGI4LTk2N2EtOGZjMzhiNTdlMTkw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">https://example.com/index.html?state=STATE&amp;token=eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5OSwianRpIjoiSUQtVG9rZW4tMTc2Ny1EckZLaVVYTTY1QmRPSTlOT2tJVEpUajRTajZSemQtWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.m8qQfG3bhZkNGaHm0BF0_Y_52tq8wWuUSms7TM3GsSYobLBNBKkeRIP1VLj133KIwfA69mhDsURZEfh1Rf7WnqDqHidSgaYY6jqxRsHBvJchlomWrCEcTeM5XPfqv9BPxTcmuWdMvZ_dGDo68Kqsw-7WRLpw5LWg6B5fj1j7yD5lzvN6R0H8sKxw_Uyt-XjFJo2oaT56zBmVkDMAWfbuzl7L0WWGie7Dy491K3NDn62AFXwXM98YDcLcdT8pgnxCg-9ZzY2h3xxsAYvYln-blPZPJ5QxWGD7KukzsKFt8AQcKPuckDqljIFtxsL1bo3Qb1qwC4Xoyj3QiqnTRUwxGw</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="8" it="0" lt="8" ct="0" ts="1587564600386" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTE4Zjg4NWEtMjhiNC00ODJlLTk5MzMtNzFjNDQ0YTM5ODg5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="443" it="0" lt="442" ct="0" ts="1587564600387" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YzU4YTI3MzUtMzFjZi00ZDg5LWI3ZWUtMjU2YWI5Zjg5Nzlm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5OSwianRpIjoiSUQtVG9rZW4tMTc2Ny1EckZLaVVYTTY1QmRPSTlOT2tJVEpUajRTajZSemQtWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.m8qQfG3bhZkNGaHm0BF0_Y_52tq8wWuUSms7TM3GsSYobLBNBKkeRIP1VLj133KIwfA69mhDsURZEfh1Rf7WnqDqHidSgaYY6jqxRsHBvJchlomWrCEcTeM5XPfqv9BPxTcmuWdMvZ_dGDo68Kqsw-7WRLpw5LWg6B5fj1j7yD5lzvN6R0H8sKxw_Uyt-XjFJo2oaT56zBmVkDMAWfbuzl7L0WWGie7Dy491K3NDn62AFXwXM98YDcLcdT8pgnxCg-9ZzY2h3xxsAYvYln-blPZPJ5QxWGD7KukzsKFt8AQcKPuckDqljIFtxsL1bo3Qb1qwC4Xoyj3QiqnTRUwxGw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YTA4YjQxZmUtODU1Mi00ZGI4LTk2N2EtOGZjMzhiNTdlMTkw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="443" it="0" lt="442" ct="0" ts="1587564600387" s="true" lb="GET - Admin Center api user" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="1454" sby="1386" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MDNlNDU4ODItZTdmNC00YmQxLWIyN2MtOGMwZmQyNDlkNDVk; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5OSwianRpIjoiSUQtVG9rZW4tMTc2OC1CamxpUGFodXRoU3A5MkdoSXV3TmM5R0RpTUNYaDJaYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MaqrC0eFZIOQK_8LwVxToyhNpwGP3XmqkhC0_YjVadkeDOlLbpc2SnDtvEh-azwIHXFrbQvnO565kWXRfLUJCT4295edaCy-YETyN8gehM5L87rCSnKQ7Dzs1B2acenkh67U4X0tLpoyUk3srUOHDEfhrAc29lH9MoGg9g5sWWihrbhsLBztV1bA0_4JDlNVOjjBfGfJXMHXyzhV84CjZ9XQ2_8ZpOIChmGfwPwtTIdzo4EpPIyoLJKNhE6XWUnsGuGfpLBDjGe0scrZOwjibV04DA2LovD1w4dgz6oCubR_lFJ--u1HsJBqTr5npGw7qNTniqJYtIXq_NqBEmzUBw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;password&quot;:null,&quot;username&quot;:&quot;smartadmin&quot;,&quot;authorities&quot;:[{&quot;authority&quot;:&quot;administrator&quot;},{&quot;authority&quot;:&quot;cas-admin&quot;},{&quot;authority&quot;:&quot;data-service-admin&quot;},{&quot;authority&quot;:&quot;flow-admin&quot;},{&quot;authority&quot;:&quot;flow-biz&quot;},{&quot;authority&quot;:&quot;student&quot;},{&quot;authority&quot;:&quot;teacher&quot;},{&quot;authority&quot;:&quot;user&quot;},{&quot;authority&quot;:&quot;user-admin&quot;},{&quot;authority&quot;:&quot;user-authz-admin&quot;},{&quot;authority&quot;:&quot;user-authz-grant-admin&quot;},{&quot;authority&quot;:&quot;user-authz-man-grant-admin&quot;}],&quot;accountNonExpired&quot;:true,&quot;accountNonLocked&quot;:true,&quot;credentialsNonExpired&quot;:true,&quot;enabled&quot;:true,&quot;attributes&quot;:{&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;accountId&quot;:&quot;1&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;userName&quot;:&quot;智慧校园管理员&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;userUid&quot;:&quot;smartadmin&quot;},&quot;roles&quot;:[&quot;administrator&quot;,&quot;cas-admin&quot;,&quot;data-service-admin&quot;,&quot;flow-admin&quot;,&quot;flow-biz&quot;,&quot;student&quot;,&quot;teacher&quot;,&quot;user&quot;,&quot;user-admin&quot;,&quot;user-authz-admin&quot;,&quot;user-authz-grant-admin&quot;,&quot;user-authz-man-grant-admin&quot;]}</responseData>
+  <cookies class="java.lang.String">SESSION=YWMyMGRmOTMtYmE1Zi00ZDdkLWJhYWEtZTAwMjQyN2E0MzRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/user</java.net.URL>
+</httpSample>
+<httpSample t="1231" it="0" lt="1230" ct="0" ts="1587564600377" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:09:59 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NmU1OGYyZjItM2YwZi00NDVlLTk0NzItZTIyMjVmYWY5ZDE3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5OSwianRpIjoiSUQtVG9rZW4tMTc2Ni1TTE5mSWIyTDdOQWtSU2h1Yk41V0R5bG8tcHBmUkppRyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.GRvkkjwFY48AeySp6avSbJSeFW3sKPy1_ajjX8KIs8PoAmdcnYkF9eQvgmCvko19-CEieN2Mrx_H8PAOkXWGWvd3gDOcC7E38wHcrVNqKQ0R7z4ESeEn-X7p2470WYFMC0FnvArU0Oa7N4uaZfpxMJjWNl-yA2WOv5Pjdluvg5aJL6zTvhDrtngrUP7b91ZtT_fs7jWEZ8qwXYeK1k1jhH9VMzsQ-U9NMgKNyy_X9X_wfmQQHJ87LWLL74IHtVlfGSNYZLcnRwqTVaK_NclJQ1jjEL91tujuc7mPRhXYbbLh64TXrQjhiD8qdqMBBH5--LXjaZJjrGZ8bebzyZr5Ew
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=NjU2ZmVhMDMtYzJiZi00OWFjLWI3NzUtZTQyN2JhM2UyZTk2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564601608" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=YTkwOWMwYWMtNzZjMi00NGJkLTk0YTctZTFhMzYxMTU2OTMy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:01 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="784" it="0" lt="784" ct="0" ts="1587564600830" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:10:01 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=NjBjN2RkMDYtODI4Zi00YzM5LWExYzItNWM4Y2FmNDY0NGI3; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5OSwianRpIjoiSUQtVG9rZW4tMTc2OC1CamxpUGFodXRoU3A5MkdoSXV3TmM5R0RpTUNYaDJaYiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.MaqrC0eFZIOQK_8LwVxToyhNpwGP3XmqkhC0_YjVadkeDOlLbpc2SnDtvEh-azwIHXFrbQvnO565kWXRfLUJCT4295edaCy-YETyN8gehM5L87rCSnKQ7Dzs1B2acenkh67U4X0tLpoyUk3srUOHDEfhrAc29lH9MoGg9g5sWWihrbhsLBztV1bA0_4JDlNVOjjBfGfJXMHXyzhV84CjZ9XQ2_8ZpOIChmGfwPwtTIdzo4EpPIyoLJKNhE6XWUnsGuGfpLBDjGe0scrZOwjibV04DA2LovD1w4dgz6oCubR_lFJ--u1HsJBqTr5npGw7qNTniqJYtIXq_NqBEmzUBw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=MDNlNDU4ODItZTdmNC00YmQxLWIyN2MtOGMwZmQyNDlkNDVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="786" it="0" lt="786" ct="0" ts="1587564600830" s="true" lb="GET - Admin Center api security account" rc="200" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="1465" sby="1425" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Date: Wed, 22 Apr 2020 14:10:01 GMT
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTI5NTg0YTMtZjBjOC00ZTY3LWI2NzYtMjVhN2I2NWQ1Zjc2; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzOTksIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU5OSwianRpIjoiSUQtVG9rZW4tMTc2Ny1EckZLaVVYTTY1QmRPSTlOT2tJVEpUajRTajZSemQtWiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.m8qQfG3bhZkNGaHm0BF0_Y_52tq8wWuUSms7TM3GsSYobLBNBKkeRIP1VLj133KIwfA69mhDsURZEfh1Rf7WnqDqHidSgaYY6jqxRsHBvJchlomWrCEcTeM5XPfqv9BPxTcmuWdMvZ_dGDo68Kqsw-7WRLpw5LWg6B5fj1j7yD5lzvN6R0H8sKxw_Uyt-XjFJo2oaT56zBmVkDMAWfbuzl7L0WWGie7Dy491K3NDn62AFXwXM98YDcLcdT8pgnxCg-9ZzY2h3xxsAYvYln-blPZPJ5QxWGD7KukzsKFt8AQcKPuckDqljIFtxsL1bo3Qb1qwC4Xoyj3QiqnTRUwxGw
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;accounts&quot;:[{&quot;warning&quot;:null,&quot;deleted&quot;:false,&quot;activation&quot;:true,&quot;state&quot;:&quot;NORMAL&quot;,&quot;accountExpiryDate&quot;:&quot;2028-02-29 08:00:00&quot;,&quot;id&quot;:&quot;1&quot;,&quot;accountName&quot;:&quot;smartadmin&quot;,&quot;password&quot;:&quot;{bcrypt}$2a$10$YWfpGf60ofscxb0FM3dq4.TFDAYO/rUvKTUdLGLdkat8QvlZ815K.&quot;,&quot;passwordState&quot;:0,&quot;userId&quot;:&quot;1&quot;,&quot;uid&quot;:&quot;smartadmin&quot;,&quot;name&quot;:&quot;智慧校园管理员&quot;,&quot;fullNameSpelling&quot;:&quot;sa&quot;,&quot;nameSpelling&quot;:&quot;sa&quot;,&quot;certificateNumber&quot;:&quot;310000201906218333&quot;,&quot;phoneNumber&quot;:&quot;13720190621&quot;,&quot;email&quot;:&quot;smartadmin@supwisdom.com&quot;,&quot;imageUrl&quot;:&quot;30df9100522f11ea9acd0965e7f31982&quot;,&quot;identityTypeId&quot;:&quot;54dda7b0539011eae0d4ad89f90792d4&quot;,&quot;identityTypeCode&quot;:&quot;043211&quot;,&quot;identityTypeName&quot;:&quot;流程服务管理员&quot;,&quot;organizationId&quot;:&quot;76890a30539011eae0d4ad89f90792d4&quot;,&quot;organizationCode&quot;:&quot;04321&quot;,&quot;organizationName&quot;:&quot;流程服务管理&quot;,&quot;certificateTypeName&quot;:&quot;&quot;,&quot;genderName&quot;:&quot;&quot;,&quot;nationName&quot;:&quot;&quot;,&quot;countryName&quot;:&quot;&quot;,&quot;addressName&quot;:&quot;&quot;,&quot;addressId&quot;:&quot;&quot;,&quot;certificateTypeId&quot;:&quot;&quot;,&quot;countryId&quot;:&quot;&quot;,&quot;genderId&quot;:&quot;&quot;,&quot;nationId&quot;:&quot;&quot;,&quot;certificateTypeCode&quot;:&quot;&quot;,&quot;genderCode&quot;:&quot;&quot;,&quot;nationCode&quot;:&quot;&quot;,&quot;countryCode&quot;:&quot;&quot;,&quot;addressCode&quot;:&quot;&quot;}]}}</responseData>
+  <cookies class="java.lang.String">SESSION=YzU4YTI3MzUtMzFjZi00ZDg5LWI3ZWUtMjU2YWI5Zjg5Nzlm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/api/v1/security/accounts/accountName/smartadmin</java.net.URL>
+</httpSample>
+<httpSample t="851" it="0" lt="851" ct="0" ts="1587564601613" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:01 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTkwOWMwYWMtNzZjMi00NGJkLTk0YTctZTFhMzYxMTU2OTMy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="2038" it="0" lt="2038" ct="0" ts="1587564601615" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjdiNWFmMzQtZDQyOS00ZDIyLTg4NDQtMWU5ZGRkMTEyN2Q2; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="2040" it="0" lt="2040" ct="0" ts="1587564601616" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MWFhYjViMzEtZGM3My00YWRlLWI5YTYtNzI4MzgzZjBkMjQ0; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:03 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="1045" it="0" lt="1045" ct="1" ts="1587564603653" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:04 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjdiNWFmMzQtZDQyOS00ZDIyLTg4NDQtMWU5ZGRkMTEyN2Q2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="10049" it="0" lt="10049" ct="0" ts="1587564594651" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2075-gGBUZ-GqYwv-qdGNkByX6TDn2nbRr0jNLCusHiPIonJ0fCTXh7qBQ6UNIHvtH0HTmHQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2073-mhqOzMASy42xkKzwPV44CDisGiYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:04 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=29cc7830-f6ba-4010-a337-13257d9fdbfa</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2073-mhqOzMASy42xkKzwPV44CDisGiYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="3810" it="0" lt="3809" ct="1" ts="1587564603656" s="false" lb="GET - Admin Center CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="725" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:10:06.712+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MWFhYjViMzEtZGM3My00YWRlLWI5YTYtNzI4MzgzZjBkMjQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12793" it="0" lt="12793" ct="0" ts="1587564594677" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2073-vfacos-MMh0Fd-L1W6j9xzz21oWvGcW9rVcAIDqEDZJVBD8wx12QmU6DXGqenP-A4fYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2076-8nrc94r4X9jFar8kanDNGe-0kMkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=41352098-5c9f-4bbb-8624-4241259b885a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2076-8nrc94r4X9jFar8kanDNGe-0kMkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="2771" it="0" lt="2770" ct="1" ts="1587564604700" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="449" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:10:07.475+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MjM3ZWU0ZjEtMzgyNi00MWRmLTlhOTktYWUwNzMyMTA5NmYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2073-mhqOzMASy42xkKzwPV44CDisGiYc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6" it="0" lt="6" ct="1" ts="1587564607467" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=OTAwM2U5NjQtMmQxOS00NGQzLThhNDctZDA4YzQ1MGQyYmM3; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="1" ts="1587564607471" s="true" lb="GET - Admin Center JWT" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="499" sby="199" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MjE1MmYzODktZWM1OC00OGViLWEzNzUtN2RlMGM1N2U0YzEy; Path=/; HttpOnly
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/jwt/cas/login?redirect_uri=https%3A%2F%2Fexample.com%2Findex.html&amp;state=STATE</java.net.URL>
+</httpSample>
+<httpSample t="4" it="0" lt="4" ct="0" ts="1587564607473" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-38" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTAwM2U5NjQtMmQxOS00NGQzLThhNDctZDA4YzQ1MGQyYmM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="5" it="0" lt="5" ct="0" ts="1587564607475" s="true" lb="GET - Admin Center CAS sso" rc="302" rm="" tn="Typical Admin Center API test 1-63" dt="" by="351" sby="307" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjE1MmYzODktZWM1OC00OGViLWEzNzUtN2RlMGM1N2U0YzEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</java.net.URL>
+</httpSample>
+<httpSample t="12876" it="0" lt="12876" ct="0" ts="1587564594831" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2120-CfIrB6-M-P529ehR-5cNdpqAyepeuH0pNm831vwvqpMYw6EtHlE5akLji4qcHlsMdGMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2112--KdXHg1U2EbD9JYYhBPgrL-ozGwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=185786aa-6d5d-4ebf-a7d8-dcb1b9cb3191</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2112--KdXHg1U2EbD9JYYhBPgrL-ozGwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12803" it="0" lt="12803" ct="0" ts="1587564594904" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2095-PcwBMCN2Xzjh2bCa2ikeqzopguIx2v9rqXrYVAHYlZUs6P2huUx-mpnCtCfosIUL45gc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2091-Lg7Pj-qGqiHp1cTrP8QqmGOTQ8Yc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=df9bee63-72ee-4eec-9637-e59842cb759e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2091-Lg7Pj-qGqiHp1cTrP8QqmGOTQ8Yc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12693" it="0" lt="12693" ct="0" ts="1587564595015" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2107-c1Fo-3YKahJsugY0Lt3X5BOluOlv4Gf362R9VkkYBY0tjD3XmSd61QVzOFoqVb27glgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2107-8ajDB0bbIEgtde0wPvoauh7Wmvsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=64027a96-74a2-4b19-9780-e7e8c181e292</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2107-8ajDB0bbIEgtde0wPvoauh7Wmvsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12597" it="0" lt="12597" ct="0" ts="1587564595112" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2158-bjzNSK09EVy0TxRJPnp-t1Y3lMODjZvm0gLwXTXlTZdOAr6I6RiIURLhjGBbTr4nUawc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2151-gfxcJ2XHdlnaJyPTItz8kuEdAEcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8196055c-a5a9-4774-aa4e-ddec42a39242</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2151-gfxcJ2XHdlnaJyPTItz8kuEdAEcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12607" it="0" lt="12607" ct="0" ts="1587564595102" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2119-u1Qk05OF5eMz-QFZ55awaFvSIJmGl3ALsaHHH5QXAvUs0dN5qwli6qbqtRRTY1HwUvkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2119-hMhRSQZuk1JlmgyXBuvKCKjbAC8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=bf9d141b-aefe-42c3-b2a3-8947e7965a25</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2119-hMhRSQZuk1JlmgyXBuvKCKjbAC8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13040" it="0" lt="13040" ct="0" ts="1587564594670" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2114-DgnEGJuuEs2sdq45Y8b-O3kNepaoyQ8eJB4DWdAjiBGhukwPJtIo5uCqCTKFlFTW7LEc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2109-d-ROxZdAGA-TVcDISkmVjRaYQu4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d6bf385a-c9c2-46d9-b9fc-36d4b669e220</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2109-d-ROxZdAGA-TVcDISkmVjRaYQu4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12902" it="0" lt="12902" ct="0" ts="1587564594808" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2084-UIqdiIeIe8d4xvJHjhN2jj406nzyTns--pss6t3lnPJhOwUJWA-sdlS-1cdwEl-aJTkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2087-E7cNCHOor4D-9XbDNJfD7qkPPAMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2886cf48-0a0c-4824-a1ed-274d3cfc2a48</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2087-E7cNCHOor4D-9XbDNJfD7qkPPAMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12616" it="0" lt="12616" ct="0" ts="1587564595094" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2163-lG-rb2obnupkThZZzfMKVYdC3cZtdkt4dlSSqA2NqDcXX5PIdcRsxRkzPHflyZgJn1oc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2137-7HczQEfvIOpKCoeLZshX6tIHXdAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e0446a47-e2ec-4d79-b721-701ea5f14396</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2137-7HczQEfvIOpKCoeLZshX6tIHXdAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12551" it="0" lt="12551" ct="0" ts="1587564595159" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2108-V7w6jCOHWN52ckBS4-9SQmy9IHJBPLTm-TwdMtehImW4sRlTx5FIoZeocgeMFE1rB5Ic7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2117-FKI3iZe7R2aicX1BDfq-5BvicQ0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6efee9a1-1a4b-4dd9-9d24-d0cad5b1c549</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2117-FKI3iZe7R2aicX1BDfq-5BvicQ0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13040" it="0" lt="13040" ct="0" ts="1587564594671" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2124-UEn4IlNzEi-clXYjR2dUierNi-Afgn2HkURT0G0T6VWdq8WyR83VKrWNRDKfGLdUGsYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2142--8IIk6MbgxcRne-jmbYitpuCcZAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=4bcd548d-7120-4ad4-8c1e-0676a4df1314</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2142--8IIk6MbgxcRne-jmbYitpuCcZAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12670" it="0" lt="12670" ct="0" ts="1587564595041" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2131-i9-EPzENiL29UQqjWsvRnsrjipDFfjxf9Cn5k-CgpQbCTaA-qHi-Hiicc8G47UwVwLMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2118-kLSjlObIAcdpGrIhGjStohquaowc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ed57f897-78ac-480b-ba08-7881ee6cad15</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2118-kLSjlObIAcdpGrIhGjStohquaowc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12597" it="0" lt="12597" ct="0" ts="1587564595114" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2148-hZTYvwaz7K7ugFjnKjVbZVUXHfjBPQf-FLUUykK-7BB-76Fs6X3Tywl8hsFPBxAn5Ecc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2136-aO01-BKYQBBhNhId5GZOCbG1iwgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=f6ce028e-7e12-4cf7-9806-40a1ec6e75dc</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2136-aO01-BKYQBBhNhId5GZOCbG1iwgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12887" it="0" lt="12887" ct="0" ts="1587564594825" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2113-GL1Ul3F8ylIFg9TL-HFwq-tgKOeyhd1xgidNh8aA-KRgxWXq6o9AcPCmO0jt-cL3lXcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2106-9hTEZD6QfIElvoSjDD-cJQNijgQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8d44889d-6df6-465f-b0c9-4207b9dcb004</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2106-9hTEZD6QfIElvoSjDD-cJQNijgQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13038" it="0" lt="13038" ct="0" ts="1587564594674" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2094-J3NNYO-S2Tv4saGACm3s3uN-03z2-AuJDr8wOjjVN1B6Vhun18JCJ9Gh-JhHgZpyETIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2090-KjGH8GHAt-3oWNu3YlHgGPCyzVgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7275c7ae-7c15-4a47-b258-1d8dd9deb4d6</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2090-KjGH8GHAt-3oWNu3YlHgGPCyzVgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12556" it="0" lt="12556" ct="0" ts="1587564595156" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2140-h3LiHhhtKX-AWcZe0UrNYIiaVlGg1P4CqqFaJsghx0eZLc9fZSTdVo-tCxPLAyuZzqkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2126-BrhEQxgToi-3GpKvtBpQVxatIXQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=eaf69caf-170f-4b28-90d4-682df09c1ba2</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2126-BrhEQxgToi-3GpKvtBpQVxatIXQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13065" it="0" lt="13065" ct="0" ts="1587564594648" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2091-Ej09kF-QHTsgGQV-rE-8CNr0AnbRbljWWlW-r-baE1xxc1ynrnzrHOb2gtS8Ro8IB9Ec7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2081-0cvOs-ELkpDG8huAwxYZLTymsJMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=13299e7e-7ba3-4601-afce-c4818371eda8</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2081-0cvOs-ELkpDG8huAwxYZLTymsJMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12887" it="0" lt="12887" ct="0" ts="1587564594826" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2134-nwDAHAoHaf5HXygbLW7VhThmYWkZ0XBU4odJHU-uIAxRTCwx6v5-Z59ONhmQJ-EG42Ac7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2131-d4BhxMrHXewCXJdzwrz8D0xWbc0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0dc1914a-703a-416a-8576-f08bc48484f3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2131-d4BhxMrHXewCXJdzwrz8D0xWbc0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12597" it="0" lt="12597" ct="0" ts="1587564595116" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2133-s0LhL4UAekE0Kc-O10hHutxA3ZZq8d3gwdT0AzGTGEFvc1Q5LMdeWSer2P2SwBmt7aMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2153-fE3LanJ2Lw6I-yTXKMdDk8AMIzIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ab638542-7f8b-4815-b3b1-78399e457568</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2153-fE3LanJ2Lw6I-yTXKMdDk8AMIzIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12624" it="0" lt="12624" ct="0" ts="1587564595090" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2147-t4-Y8CBXCBkWcsO6j2H0NEOHnL8PEMXHzdTWUvUonbC67Bz0CKNLivoJAxoLZ4y8-cYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2149-UpRhTUsJxYln9hxjiygGuG7GzxAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ac530c96-46ce-414e-aa55-6c8788742dbd</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2149-UpRhTUsJxYln9hxjiygGuG7GzxAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12886" it="0" lt="12886" ct="0" ts="1587564594828" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2098-SrpiTF56DS5j8svY0Ng9n4hyUOz6i8QjFUK4pCwkHLR7N2Vb7Zp7cmzSPeGWoVHP2Igc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2113-u86mCqgd-z-NOFxyB2LOpjEXd6cc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3fa8f6c1-79e1-4a90-a9f5-e6c0d6aa30a3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2113-u86mCqgd-z-NOFxyB2LOpjEXd6cc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13073" it="0" lt="13073" ct="0" ts="1587564594641" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2077-GTFDuOHN-wABz16VdkibI3xBi1txbMqcUDKPCIZ0PHKQvte9UIIF4aM-WYcZW1xP2Swc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2077-YkUoQyAYeRHLCmc87-dZAhp2vMAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ec7673f8-4470-4edd-b9b1-a16eec5f0034</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2077-YkUoQyAYeRHLCmc87-dZAhp2vMAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12621" it="0" lt="12621" ct="0" ts="1587564595094" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2109-rnOFoSnZp9c7iL3YxYAgLMTbAA-xocyeGU-IYWjoSvQ-K2HzCuWkuDl-EjOytMx8txkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2110-MzOX55V9m-c5L9ygp46ZrV33vuEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ab49ceab-147a-48ab-8643-03a8716e9141</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2110-MzOX55V9m-c5L9ygp46ZrV33vuEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12552" it="0" lt="12552" ct="0" ts="1587564595163" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2142-gXSTFNVdK1QalsEzM4x15U4n39QhJrQr9UDs1TwGWPF6a0jplP02Nt8iOsgpJ0qOf0Mc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2130-IGEK2-Oxd1c66sebmhHU0jSCeeoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=42c2d064-29c6-413e-b5da-fc5b46f8f6e7</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2130-IGEK2-Oxd1c66sebmhHU0jSCeeoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12727" it="0" lt="12727" ct="0" ts="1587564594988" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2118-WhjnDcSMpqxyKEefRwRG581DFnKlVVfy7mf3-ZtyITJ3oeoD-k5B-dzm1lmsXbFo3MAc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2114-7L5K1Fphe1QMv1xjNyuDwGF2Fioc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b91804ef-92da-4278-a4ef-7569b4101e8a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2114-7L5K1Fphe1QMv1xjNyuDwGF2Fioc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12723" it="0" lt="12723" ct="0" ts="1587564594993" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2130-lUTB4dZZXgJi8oz6rHksU2QYlXMb2F2COc-6YAzRIdgcadxbkxZiJTLid-Sx-g0vnycc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2121-vLIxt1Gb-tYCQrQx6CPZr5BsAKQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8bb757ad-49a7-40c8-9a75-11cd3e8e91af</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2121-vLIxt1Gb-tYCQrQx6CPZr5BsAKQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12691" it="0" lt="12691" ct="0" ts="1587564595025" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2146--XR1o3L-ErY-04RGuUyKPgjtgLYdSYSP3UB5s5iLzPOFlLw6F2VOpS22HCSw3Km-4yoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2132-2u3DVYjwtfcvD8ox5iPY71h6R6Ec7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e63d7062-851e-4de2-a0d8-de26f480aee9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2132-2u3DVYjwtfcvD8ox5iPY71h6R6Ec7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12930" it="0" lt="12930" ct="0" ts="1587564594786" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2076-uihwJvsUGdAHU2PdJWl717jemkiBy2P3OyopoNijVU0z6oL9J3nqyoJf85ZNsGap15cc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2074-1kd2Y1-2rzbT5zQeJkcU9AR14K4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=52dfb418-728c-4625-9fba-cd3f6d134582</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2074-1kd2Y1-2rzbT5zQeJkcU9AR14K4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12601" it="0" lt="12601" ct="0" ts="1587564595116" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2153--x0J6qPslK1BbN0OnZwObUP-rCJq1qzte0KdipyP8JW52gcO6Dt4wMUkXY-qJ1DQVoQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2164-2ADqxEMt1k0I4lslGQzihZzJJyAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b78d3209-ce17-4de1-b920-0da0e37ea3ba</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2164-2ADqxEMt1k0I4lslGQzihZzJJyAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13058" it="0" lt="13058" ct="0" ts="1587564594659" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2074-f0jCfGmoKv50u-QzFdp234dTFjJ39CFNxqRv5Ro5bL4aVHJ6y-Kw6gO3a7qdn5ZP7GAc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2078-SmXxk-HHkecrsxgbzdS9xZ382Y8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e4c2a411-3f98-4c9d-bacf-274ce6a27134</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2078-SmXxk-HHkecrsxgbzdS9xZ382Y8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12742" it="0" lt="12742" ct="0" ts="1587564594975" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2112-3aqaea0gcgUvHyiKJPz5-TIOsIZhoAB7bVgtzlQVtljMV03Nv5zap-grrvTYJxMnS4cc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2120-fJ9Wx6yNmztjwnLF879NctDOjG8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c9f4b0a2-cfa2-42ae-95e1-ed76800f5fd7</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2120-fJ9Wx6yNmztjwnLF879NctDOjG8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12612" it="0" lt="12612" ct="0" ts="1587564595105" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2143-xk2C1X-ZndALDfx-0Yvv1wsnuyr-W9wBWLvmKanBhD4dzoHv8xCdQDz48xVd1vEvLqIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2133-82eWHIr-smva0clZkBroVaQwgl0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6999dbdb-23db-460c-b247-0d4302e34d82</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2133-82eWHIr-smva0clZkBroVaQwgl0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13068" it="0" lt="13068" ct="0" ts="1587564594649" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2079-nGke85Auyq1MsgFUrIXPx-MwBxhaKREXNSbDUm5Bz-MCnSEodgM49W9-KaixbUBZr8Ec7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2080-kzXUVD7oo-uW0QyoLLm4FGm6TNoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7d28359a-ee3c-47ec-95ba-ac5cca53788f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2080-kzXUVD7oo-uW0QyoLLm4FGm6TNoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12649" it="0" lt="12649" ct="0" ts="1587564595062" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2099-f2FxBD5paCBlomRps1GFlwJXOdpYGO-rxscGwD8DMAaj77aaWBnEJFqQvigK-5-EjyMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2111--1C4ql1fzFyECOZiVJi9UJEibbwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=fc164ff8-33e7-47a2-8198-66dcb0b96c05</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2111--1C4ql1fzFyECOZiVJi9UJEibbwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12845" it="0" lt="12845" ct="0" ts="1587564594873" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2116-jADHV2KCVKQ1l4Ul9tx7vr9cwAGxvu9Tvr0tJogP-M2-xGupxJt5GEKDKuQyWiPqjykc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2124-phsCAr9QbH-n6PAcLbPLxgtGbc4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=803b11b1-badb-468b-835c-73988c0cd467</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2124-phsCAr9QbH-n6PAcLbPLxgtGbc4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12893" it="0" lt="12893" ct="0" ts="1587564594826" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2115-4TJXJwfkTkPjd21HAYaZJru3tX7913TEaksbEyQgaBAeC5raXa480YVNoAniLvrPrAMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2104-sAk-L49xJ4IZvBAv15c0hmc-T4Ac7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=1da3fdc8-b507-4b7e-a86e-69a36dbc6aab</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2104-sAk-L49xJ4IZvBAv15c0hmc-T4Ac7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12665" it="0" lt="12665" ct="0" ts="1587564595054" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2150-jDOlxaJghM9doTFJ6glUbJ0rz-TtG46FQuky3UnR-oSOkO0bV3p47MYhz-rlfbCkmhkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2143-oyyF49cTJhdgjMhSSVMwd4NGuwMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0ca8ae0d-4072-4d53-8706-ecc0cbbb0dd9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2143-oyyF49cTJhdgjMhSSVMwd4NGuwMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12606" it="0" lt="12606" ct="0" ts="1587564595113" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2096-4Vp0mAPmBA8U-ZpGijOQAYZhVjwmMV5oMN1rihbxFcxXOWlRxmvxtxyEWanCUnS5BZQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2099-cxkbU6B8ZAYWZPweHnR3xK1650gc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0c2d53ba-c5e0-41a3-ba79-968724809243</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2099-cxkbU6B8ZAYWZPweHnR3xK1650gc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13035" it="0" lt="13035" ct="0" ts="1587564594681" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2089-392awvvxM5s-AS173BcXbjBumG3hG-t61OH3xQujnEFxVWSjk3AddIN8ObSCitUz17Ic7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2094-dCT6RwTugwdYYTNAgGBHEoOX8Ycc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=6b5f6844-8df0-411a-b3d7-9c958395d7d4</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2094-dCT6RwTugwdYYTNAgGBHEoOX8Ycc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12690" it="0" lt="12690" ct="0" ts="1587564595023" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2093-qn2Ql0h6fc1kAtWrWkzKhicplrDt8FaZYVUDNpX8r7IrVky0-oTDjGQ78Skc97-BXu8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2088-Ht6rwGSahHs08-nB-VnzgeXLn9sc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3c1c9656-2352-4966-82f8-a168a32a0950</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2088-Ht6rwGSahHs08-nB-VnzgeXLn9sc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13075" it="0" lt="13075" ct="0" ts="1587564594648" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2078-jlepd8iSzZLzRAUnDtPJRHpy7kt3q94bW1gEhudGqgK1L8wMd-iNYU9sRyPytjFQi7cc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2079-VReAe-HOu6rX0-ANvSzP1wj0dQ0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0e4997d7-1826-45c2-aeb9-03461cc49ae9</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2079-VReAe-HOu6rX0-ANvSzP1wj0dQ0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12634" it="0" lt="12634" ct="0" ts="1587564595089" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2100-Ps0A-QTMondDN6FKsXLmLLDK0-gX8TvtQ5DwKt8Ajt7KsABiN0Qx4Yne6A2HykDmNf0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2103-3T5DwlBpSpccxkqJZEvHkB-hQ0oc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=4e796f54-76f5-48fe-a40d-465a80949f73</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2103-3T5DwlBpSpccxkqJZEvHkB-hQ0oc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12700" it="0" lt="12700" ct="0" ts="1587564595024" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2128-5M-Hg9J-G0UAQXNQFZodGxCzh19ER8KZlE4ta7toYzTcysmrm-xI72J2aoM2kON2zHUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2134-jdxvRyFcy-xfSXvoNAZbs7ZLV-Ec7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a73309d8-861c-44d0-aed4-627b95333b9e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2134-jdxvRyFcy-xfSXvoNAZbs7ZLV-Ec7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12806" it="0" lt="12806" ct="0" ts="1587564594918" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2117-O5lmYcIqeWh6rktQGiFmlpd2MAKVCjfqQ-fvSdGVkAkTjCH-CvUZEMWFrv6WenqYLucc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2122-4O1uqIraphpc4qARXk-oOK4cmSgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d276f1b7-e761-4189-90ea-b7b1af1bd03d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2122-4O1uqIraphpc4qARXk-oOK4cmSgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12612" it="0" lt="12612" ct="0" ts="1587564595113" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2161-1BQuzfZQr56VyTLdT-hF5P5UR4E041OWqZHWSA9Scaj-SERK-CbgTRdjqDzyQlftLQwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2140-6H--3reLmgaj999PiWAX3kaYBygc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=dd522ef5-43fc-4f7f-a996-baa98e1311a2</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2140-6H--3reLmgaj999PiWAX3kaYBygc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12662" it="0" lt="12662" ct="0" ts="1587564595063" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2136-YcqDIvhzGq3p-M5zaWHHaotuitlraON8H8gOHV4uj3IWRL-llrEI-0KJSRMr-BP-Os8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2139-SBMU8H9SvaZvQO16z-AyCaR4nBUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=92f9dcc6-5199-4f26-b0b8-c5cb7b5f55fd</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2139-SBMU8H9SvaZvQO16z-AyCaR4nBUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="7325" it="0" lt="7078" ct="1" ts="1587564600394" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-25" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=0e771c4a-e63a-4911-8e85-ac08ba35f868; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="12606" it="0" lt="12606" ct="0" ts="1587564595120" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2144-7yI3RmgVz84o4r07quj8-i9BF78XQBoem8K66tlfkow2yWZEbtOyJUmoexrK-dri32oc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2166-Y4hs9nleoYwQwTkwj33todt2InUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=7693337a-964b-4c22-b88a-3b978407d94f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2166-Y4hs9nleoYwQwTkwj33todt2InUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12639" it="0" lt="12639" ct="0" ts="1587564595088" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2160-Zy3bbguCb-2xWe9-frOfWghRCd-RsEKXrH4qqQLmtsiqSErtS3rFkrPi-1DT-8BDVscc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2146--pr7HrKJj4SxscuXcy7KtzBiUR8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=21c06a59-e562-4be1-8ab6-f05e2a934495</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2146--pr7HrKJj4SxscuXcy7KtzBiUR8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12619" it="0" lt="12619" ct="0" ts="1587564595107" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2125-TdnbAZJz9cVRuVJpOijm2dT1tJDpnyQAXxMuZcIJtEYPtbLyPU1OlbvxiLFuHbgNhOwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2129-wOUew7IyQNakULsGOfXZuZG0p8Ec7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ad8a6bbc-b7ec-42b8-88d9-d89f5a3e126c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2129-wOUew7IyQNakULsGOfXZuZG0p8Ec7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12668" it="0" lt="12668" ct="0" ts="1587564595059" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2097-tw64PTsOMq3OVsy8ESo9Xy521X577yb6lJkX7VH3nMWBLFMvDCZDwKv4VIWA6-p8c8cc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2097-QMcxpJeL0LY0BZWribjZF-zuFc4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=60ccde0d-0557-498f-968e-73396c98748c</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2097-QMcxpJeL0LY0BZWribjZF-zuFc4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12737" it="0" lt="12737" ct="0" ts="1587564594991" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2088-BjY5YmZNeGRcBnfgl3-BvZttXBIcbYZzTbLU2aIIaYBoes1V-hn7Sf9TGbgUxcNSTi8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2102-z8-kQS4ZLe6p4Yaz5DUaUj4ua6oc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=08b7e406-b802-4af2-9bcd-d248b0326994</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2102-z8-kQS4ZLe6p4Yaz5DUaUj4ua6oc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12600" it="0" lt="12600" ct="0" ts="1587564595128" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2162-vW0ZRISRg4OLqLjcxQZg94nVEnwTHixQFHdB0cWtJRDBzUgzxqUU5434-SKer-WTi3cc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2141-x6UjOqFIxx9GM14HLCpHaweN9Soc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d28d49be-7485-4bb4-83c1-b823ef1e867d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2141-x6UjOqFIxx9GM14HLCpHaweN9Soc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12894" it="0" lt="12894" ct="0" ts="1587564594834" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2103-j9hETt3JNGbiDVfLGybVizqA4V-No0DJ8e8ydWNegH3JIFLDtnxmmGXof3LpFoxVA48c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2105-noITuDYgE5ZjQ-zGiEoRUpnXtwsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c8b9f5e0-ca5e-4a18-8148-c0efb3be2c07</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2105-noITuDYgE5ZjQ-zGiEoRUpnXtwsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12569" it="0" lt="12569" ct="0" ts="1587564595157" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2149-XQYrqDCDoaffm1-zCobd6laIdUhe6lC8HHH58TBW7eAM4SIsdWKTL41NEDssVi6hcqYc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2165-7gNVp93xq-2QR6oHPllpwoyHihsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=d9bb2be6-3ae9-4f6c-954e-75a0b97bcb49</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2165-7gNVp93xq-2QR6oHPllpwoyHihsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12762" it="0" lt="12762" ct="0" ts="1587564594967" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2104-udFT593LikgqPvm6wVWMekayItHH5zfTIuOkmOWo7Yk2Al9TxSk6u31f0V5QSNY7mnoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2101-bETG2RhERkEL1c5yH-TK6ldnOjIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=bbbd676b-6e9b-4cc7-bd30-caddf6c0a52a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2101-bETG2RhERkEL1c5yH-TK6ldnOjIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="9037" it="0" lt="9037" ct="0" ts="1587564598692" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2165-79mEWfYxlWP0ey4d3XUO-3Css9d4ru6pfVnuCVDUztz7KBFzsbCR2xGMizVQq6I07oMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2144-a1ypHCzwZctcdK-uCAo8hAg-xy0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=de315130-0186-42cc-a45e-5140a56d74bc</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2144-a1ypHCzwZctcdK-uCAo8hAg-xy0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12573" it="0" lt="12573" ct="0" ts="1587564595156" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2154-VGQaMLTKw1zknnlxEaV1s4Hk-cYx0rSf-dckta9roWDQ-t8U6DY6Tv07-elLARyVc2Qc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2135-r0ldfM3M7kCzAeUCYTNGfLTVcAcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b231f544-9565-44b9-abea-c5a1f0411e31</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2135-r0ldfM3M7kCzAeUCYTNGfLTVcAcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12888" it="0" lt="12888" ct="0" ts="1587564594842" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2102-Qzj6rLSNkdJlsofsTRkmerH4CbVTGZO1ndS3CuzybNx7J85ZQrFOcSldTwLUvSPDLg4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2098-z68OvLwW7Ps1ceX--xB6xJB-jEsc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=13cb5a2a-1d4a-4b58-a5a5-079e12ddd0b2</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2098-z68OvLwW7Ps1ceX--xB6xJB-jEsc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13092" it="0" lt="13092" ct="0" ts="1587564594638" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2087-27XvgVntpXTS5xt29eBT-e9dSwiM01Boq1yTyuzjWeN67B089LEd-CriYqLb1HFZqdMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2092-YK2JaeRnKn9eeuW05KS5Qfl1QWcc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=07168712-a57a-4509-82e9-76517e69ad74</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2092-YK2JaeRnKn9eeuW05KS5Qfl1QWcc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12898" it="0" lt="12898" ct="0" ts="1587564594833" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2085-4KQurromqezpgc8iiJtb-LMB5KSEp-YzjmM9KMQiGumFySAbLA4NyD5xP-8PD-kZHcgc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2095-kv2PE4VzhgYo19nOmZSqdr0C86Mc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=261eaebe-dfe5-49b4-8026-118878950487</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2095-kv2PE4VzhgYo19nOmZSqdr0C86Mc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13063" it="0" lt="13063" ct="0" ts="1587564594668" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2086-b2GtdqTicHUwBv5tecS9C7BhTec79wi5fDB-FbYHu7-mg4osIHW7Gxddtq1VEDPrpgQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2089-MpmW1ca0lyGB3Z38VWkfpin0AH0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=70a1b4cb-7f66-49b7-be97-bc1a6fcf61d3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2089-MpmW1ca0lyGB3Z38VWkfpin0AH0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13078" it="0" lt="13078" ct="0" ts="1587564594653" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2081-wgzHeWDkDrzUjn6gNewNso03A-RWNEeDqRldgyWCbC0QRh4AgVbjWRhZWAWExt-1l7oc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2084--1bOb-Ivk5JFQZ-TDDbO71AfC98c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2150bb0a-6493-4afb-91a6-22f77cb9e0f6</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2084--1bOb-Ivk5JFQZ-TDDbO71AfC98c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12856" it="0" lt="12856" ct="0" ts="1587564594871" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2110-gLv7ISWSJT-4ft2tn2zziGWRNJhgqPCq8Fy5N4bKQVki-lC2KxbX8br9hLNVs-6oRJcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2093-loNmjV45g71nSz52GWjSmQuP-WAc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=dfb38d0d-7286-46aa-a9fb-1b3c09a07f3f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2093-loNmjV45g71nSz52GWjSmQuP-WAc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12743" it="0" lt="12743" ct="0" ts="1587564594989" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2111-42LS-APvz-sTAlU7w8qIPWnlcjQsxmKNy-mjjcn56p8UACHmr8CeY0HLJ2arkS9M-PQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2108-KzjS4gR3cWtrHMqGS-NwoLjjgLoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a86b7dc8-f2d5-4d03-9ee4-eedd5ee14c00</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2108-KzjS4gR3cWtrHMqGS-NwoLjjgLoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12887" it="0" lt="12887" ct="0" ts="1587564594842" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2129-mvwXp9D5jm3DeVW3TCSagFLpzsJ5iv7XCUF7AB0KnhqAYHerLmmOnsvsI2w6u92IYcUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2125-gxCp2IIOwg-euxNj84eK--MvKzwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ac97d3cb-6398-4d1d-bf8e-5dbd646b25ff</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2125-gxCp2IIOwg-euxNj84eK--MvKzwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="3023" it="0" lt="3020" ct="0" ts="1587564604699" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=5b3032d4-3b0c-4d70-83f9-7ee8156fc54a; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="12928" it="0" lt="12928" ct="0" ts="1587564594807" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2101-058Ef16669VN-RJ3umMLT1o6Qo4OE-f6XcuFnVG4jqC7hGXRyro9g4cKV-TE7Ff-qEAc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2100-r9ZxnN4qZnUrnHKRMONfQHXtT2Ec7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=130ddd3b-61f6-4498-a8e0-a67f914f4fd8</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2100-r9ZxnN4qZnUrnHKRMONfQHXtT2Ec7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="5269" it="0" lt="5022" ct="1" ts="1587564602464" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="27224" sby="169" ng="100" na="100">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=b583e708-76a1-49d0-9e44-eb7b31f8a3bd; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="12910" it="0" lt="12910" ct="0" ts="1587564594827" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2122-q82EkgeNuOig0M-SB7SatZXUyqBlPeWiIgcVxdX1eyUL-ZfoYn7zQKaDP6PHBZdnhRAc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2116-1x4ETHYBBDkfqoFQKHnaaRPPdd0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=8446600d-e7c7-415f-9902-9537b66acc50</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2116-1x4ETHYBBDkfqoFQKHnaaRPPdd0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12581" it="0" lt="12581" ct="0" ts="1587564595158" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2145-2qcJnKwCd3c-c6gVrC4nMb4hWby2nBSZmZuqVPz-t2rvQkHpjaWay21-qjNJVpkXRpwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2162-nBhxsW4mTsPeZUW2OSR0t4HCe2cc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9ff4f268-1f76-4076-bef0-dec07278a778</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2162-nBhxsW4mTsPeZUW2OSR0t4HCe2cc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12753" it="0" lt="12753" ct="0" ts="1587564594990" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2105-7y5Du1WuFgHcq-UhPIKS5nqYbMvwqBbWJMIvxzjLr5CC-ElzWReaOtvWd8oiHXisK4gc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2096-4I7ByC1NSO1PNJbaNgTHXakntccc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3f50f23c-b7c6-4972-a1e1-36376ca81797</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2096-4I7ByC1NSO1PNJbaNgTHXakntccc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12915" it="0" lt="12915" ct="0" ts="1587564594830" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2092-9X4QNl1YM3PSpjvRtgZobcDWccGbWw25hDsK090UIktiO71SywuytvtnGuvAbgWozHIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2082-f-K0fsSYT5km-oP72Xh49hJ5hJ0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=35c35da8-db2e-4fbe-9c5e-ed24c9cc5c73</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2082-f-K0fsSYT5km-oP72Xh49hJ5hJ0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13094" it="0" lt="13094" ct="0" ts="1587564594657" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2083-QGn06iFpFuJqzP3MzcjYpLLEU9tRw2vbAekS7PW5wNC880nG9oJZ8W4jhap-N70-9aUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2083-SpXfSPnPx-g3scY4bWiqJnlMYVoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2cf20080-810e-478e-a608-831ef8dbb1b0</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2083-SpXfSPnPx-g3scY4bWiqJnlMYVoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13111" it="0" lt="13111" ct="0" ts="1587564594667" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2080-HnHLisjXlQbByxUHpL78WjKfpdToBW3ddIn43c9TP75f8oRWULM4GndwA3GzMH4rtbcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2086-ppmH82zAxOq2zeEW37D9nIUpi-4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=35ae726e-cdaa-4008-892a-79fae3045bed</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2086-ppmH82zAxOq2zeEW37D9nIUpi-4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="12980" it="0" lt="12980" ct="0" ts="1587564594805" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="484" sby="391" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2141-eUGpdH53DDyUYcZUYHzmQYnfVHVvjfUoJc00ICUKsowFA1aK-2hdbv9w5UKv6S8eA9Yc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2160-iw3NhYAQeEuD8NWCXrFMvPIpDj4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=60cea44e-257a-46fb-817b-c7b2cb8aee47</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2160-iw3NhYAQeEuD8NWCXrFMvPIpDj4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="13567" it="0" lt="12549" ct="0" ts="1587564599921" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-52" dt="text" by="631" sby="252" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:10:12 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:10:12.350+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=M2Q1NDEyZjMtMTg4NS00MGMwLWIxZmQtYjdiYmJiM2Q4Nzdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2072-odTce0VozmYvxOkbAcAVOG4qEbEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="18817" it="0" lt="18817" ct="0" ts="1587564594673" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-58" dt="" by="484" sby="391" ng="99" na="99">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2090-tTWE6qsa-aylUDLucFdxrzpfoROmIan3nRd7K0-OwQC3fQKzmLNyC4KFbakoXSnzVqUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2085-Dq9XedEe3QCs9Cj9hAEnwq5rxf4c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=73a34fcb-b810-469e-9458-9a890880a39d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2085-Dq9XedEe3QCs9Cj9hAEnwq5rxf4c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="18373" it="0" lt="18373" ct="0" ts="1587564595119" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-16" dt="" by="484" sby="391" ng="98" na="98">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2127-XxS2J9rvDkK0A5vYTB56EBjsPM5IVdxNtSX2ikQG9hzs-sr67BWEaLNIPf65JFaUchQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2127-eon-7CHilrqMbHY2psJ-3uXVzakc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=195e0cfd-f1bb-423e-a35e-c0272bd3a9ff</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2127-eon-7CHilrqMbHY2psJ-3uXVzakc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="18404" it="0" lt="18404" ct="0" ts="1587564595088" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-12" dt="" by="484" sby="391" ng="98" na="98">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2123-Wfd3DfIVra9WiyuKcPMLAjAll06H4FQflNFV5gmECLD95oOrw9El6kaES--S-0Y7FVoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2138-WOkJok1xNTJxNPBgvh8HIMumtbQc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=5eb7d16e-c520-4269-aede-19460f44f5da</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2138-WOkJok1xNTJxNPBgvh8HIMumtbQc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="18843" it="0" lt="18843" ct="0" ts="1587564594650" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-23" dt="" by="484" sby="391" ng="97" na="97">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2082-s1RdVoUofEeQ-IcJPqG6TDjPUv85YFz05HDEY-0ooEVhhVqxpwJH7PxLRKehV-DCTP4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2075-Q6B9SqX5XDeYg84f3TX3MQXxJXoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=09adf931-397b-4b17-9105-9831a3d742ff</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2075-Q6B9SqX5XDeYg84f3TX3MQXxJXoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="18831" it="0" lt="18831" ct="0" ts="1587564594662" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-73" dt="" by="484" sby="391" ng="95" na="95">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2155-6fonsFoo8RHhONvz-Fg4Bi7y6Z30tYstykrax4-hQ9ZXKkRZBXIb7ZOWbassi80tjhMc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2150-SkaCZc-V7YNIDar9bUo1lhqmnpgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=382baa85-93e9-42e4-a9b3-f464188fbdaf</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2150-SkaCZc-V7YNIDar9bUo1lhqmnpgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="18395" it="0" lt="18395" ct="0" ts="1587564595098" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-45" dt="" by="484" sby="391" ng="95" na="95">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2139-3j1wxYcEd-Dg6V4H-7Z9QSyY5CeeguNgjVYH-gW40YnbZu---gbgE6xVyEY5nJB8-IIc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2158-LZROZAwWFPZjpqMtozsoy3A94ZIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=1bff92ed-b2df-441b-b1d5-2a86501255e2</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2158-LZROZAwWFPZjpqMtozsoy3A94ZIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="18400" it="0" lt="18400" ct="0" ts="1587564595094" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-20" dt="" by="484" sby="391" ng="94" na="94">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2159-qS61sueFCVKa75mPgnt-nEr5wBon8MbvbJowZEQKwWCrO2lJiNGVICEge-t5ibZAM60c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2152-lyUn3bhNDW7GP5cLHw-k8S-RllMc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=a5a31e66-5ad9-4f58-8e76-8ef822b26969</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2152-lyUn3bhNDW7GP5cLHw-k8S-RllMc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="18376" it="0" lt="18376" ct="0" ts="1587564595119" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-3" dt="" by="484" sby="391" ng="93" na="93">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2132-B-1qLK1twz-HzMbgK7nGuKRUZqBAnXU4RTgrccXzjdvJ9PjyN5PiBKTf-ew5hzv2nfsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2147-W8HnXkQBuaA0y-6I1mnVbnyIU74c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=01a7d897-8808-4ed4-827a-643a1a937375</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2147-W8HnXkQBuaA0y-6I1mnVbnyIU74c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="14744" it="0" lt="14744" ct="0" ts="1587564598752" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-59" dt="" by="484" sby="391" ng="92" na="92">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2167-S3yft-OgTHXg8KGpiOdP-aQEJirKtcf0SmVuNcT4osnfzYjjonufubAZa0QCDaPKnjsc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2159-L94YVKKjA7UvNk2movQBp3jSHIgc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=3b4c8e68-94ff-4126-b48c-8365e492536f</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2159-L94YVKKjA7UvNk2movQBp3jSHIgc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="14907" it="0" lt="14907" ct="0" ts="1587564598589" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-18" dt="" by="484" sby="391" ng="92" na="92">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2166-bmRy2uVl-PabcJPTJ-bytc4YvsjO4cxVp4YKsroCY7GgV1T9NApHb9-xArJyCI2ekw0c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2145-bmnvW6ZSUo1w-EmDmUqqXsLXQtYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=2416cd5f-ebab-4ced-8b2a-7b2d94e9d41e</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2145-bmnvW6ZSUo1w-EmDmUqqXsLXQtYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="17794" it="0" lt="17794" ct="0" ts="1587564595702" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-90" dt="" by="484" sby="391" ng="91" na="91">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2121-dDsIwr1GPfyTycoKisZ1JEFDhQspygRXifhj6WPoTr-LGYYO-QaoLQq41LP07dQ64yAc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2115-5--rK-ruZ0Jv91jOSgH6hhD6T3Ic7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=03bc6ec2-9d7c-4987-b428-d86c9646cfa2</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2115-5--rK-ruZ0Jv91jOSgH6hhD6T3Ic7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="18410" it="0" lt="18410" ct="0" ts="1587564595086" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-71" dt="" by="484" sby="391" ng="91" na="91">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2135-vK0F8lpJ2W9PcesgpLkRVt16rPIM3CzpiNdsHyTmVX0BqmY5p18rwBTHSOPCV5Sofkkc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2155-nbh-HF8z6BtM0eZFKkujSZRA13wc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=c2d76b51-b9c2-4d34-912b-e521f69f6bab</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2155-nbh-HF8z6BtM0eZFKkujSZRA13wc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="18665" it="0" lt="18665" ct="0" ts="1587564594832" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-1" dt="" by="484" sby="391" ng="89" na="89">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2106--utEhVMJsdyUAoeRluWVXW2RVUNZp14uIPeZslqS7UgxjdiGN-2xrI-Npu7bRqXSWrQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2123-2vzwZ8P-QZkNhA-ZitaZErEBoOwc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=45a75046-f31b-41db-b841-28423ab467a8</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2123-2vzwZ8P-QZkNhA-ZitaZErEBoOwc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="18386" it="0" lt="18386" ct="0" ts="1587564595112" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-83" dt="" by="484" sby="391" ng="88" na="88">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2151-b9xwugafLOkbnF6-xLuT8ElpZq38iD4amUvfhnm6aLtdX0iHJDWM-lxx6GvALRe54M8c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2163-Xo5DXmoN7A9KPmvIr-oBidQxfIIc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=70c50b6f-54b2-4f78-b5e1-a94029b4b401</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2163-Xo5DXmoN7A9KPmvIr-oBidQxfIIc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="6017" it="0" lt="255" ct="1" ts="1587564607477" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="27224" sby="169" ng="95" na="95">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=436b9bbb-0903-4a35-a96e-75b9aed07996; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="6018" it="0" lt="272" ct="1" ts="1587564607480" s="true" lb="GET - CAS Login Page" rc="200" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="27224" sby="169" ng="88" na="88">
+  <assertionResult>
+    <name>Verify on CAS login page</name>
+    <failure>false</failure>
+    <error>false</error>
+  </assertionResult>
+  <responseHeader class="java.lang.String">HTTP/1.1 200 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: SESSION=a9defaf3-c27f-437a-8cbb-2fa2685ed850; Path=/cas/; HttpOnly
+Content-Type: text/html;charset=UTF-8
+Content-Language: en
+Transfer-Encoding: chunked
+Vary: Accept-Encoding
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!DOCTYPE html&gt;&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;Login - 统一身份认证&lt;/title&gt;
+    &lt;meta charset=&quot;UTF-8&quot;/&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;link rel=&quot;icon&quot; href=&quot;/cas/themes/sw/favicon.ico&quot; type=&quot;image/x-icon&quot;/&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
+
+  &lt;script src=&quot;/cas/deps/js/babel.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/vue/dist/vue.min.js&quot;&gt;&lt;/script&gt;
+  &lt;script src=&quot;/cas/deps/js/sw-ui/lib/index.js&quot;&gt;&lt;/script&gt;
+
+    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/deps/js/sw-ui/lib/theme-chalk/index.css&quot;&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/cas/themes/sw/css/style.css&quot;&gt;&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;/&gt;&lt;!-- &lt;link href=&quot;../../static/css/cas.css&quot; rel=&quot;stylesheet&quot; th:remove=&quot;tag&quot; /&gt; --&gt;&lt;/head&gt;
+
+&lt;body&gt;
+
+
+&lt;main role=&quot;main&quot;&gt;
+    &lt;div id=&quot;content&quot;&gt;
+
+&lt;div id=&quot;vue_main&quot; style=&quot;display:none;&quot;&gt;
+  &lt;div style=&quot;display:none;&quot;&gt;
+    &lt;el-button id=&quot;showErrorMessageUsername&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageUsername&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessagePassword&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessagePassword&quot;&gt;打开消息提示&lt;/el-button&gt;
+    &lt;el-button id=&quot;showErrorMessageDynamicCode&quot; :plain=&quot;true&quot; @click=&quot;showErrorMessageDynamicCode&quot;&gt;打开消息提示&lt;/el-button&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;sw-login&quot;&gt;
+    &lt;el-container  style=&quot;min-height: 720px; height: 100vh;width: 100%&quot;&gt;
+    
+      &lt;el-carousel @change=&quot;changeCarousel&quot; :interval=&quot;5000&quot; indicator-position=&quot;none&quot; arrow=&quot;never&quot; style=&quot;min-height: 720px; width: 100%; height: 100vh;&quot; height=&quot;100vh&quot;&gt;
+        &lt;el-carousel-item v-for=&quot;item in bg&quot; :key=&quot;item&quot;&gt;
+          &lt;div :style=&quot;`background:url(&apos;${item}&apos;) no-repeat;background-size:cover;`&quot;  style=&quot;min-height: 720px; height: 100vh;&quot;&gt;&lt;/div&gt;
+        &lt;/el-carousel-item&gt;
+      &lt;/el-carousel&gt;
+
+      &lt;div style=&quot;position: absolute;width: 100%;height: 100vh;min-height: 720px; z-index:5&quot;&gt;
+        &lt;div class=&quot;sw-login-logo-container&quot;&gt;
+          &lt;/div&gt;
+        &lt;div class=&quot;sw-login-main&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+          &lt;div class=&quot;sw-login-main-blur&quot; style=&quot;min-height: 770px;&quot; :style=&quot;`background-image:url(&apos;${bg[currentImage]}&apos;)`&quot;&gt;&lt;/div&gt;
+          &lt;div class=&quot;sw-login-main-content&quot; style=&quot;min-height: 720px;&quot;&gt;
+
+            &lt;div v-if=&quot;!isQrcode&quot;&gt;
+            &lt;div class=&quot;card&quot;&gt;
+
+            &lt;el-menu @select=&quot;changeMenu&quot; :default-active=&quot;currentMenu&quot;  class=&quot;sw-login-menu&quot; background-color=&quot;#ffffff00&quot; text-color=&quot;#666&quot; active-text-color=&quot;#3394E1&quot; mode=&quot;horizontal&quot;&gt;
+              &lt;el-menu-item index=&quot;1&quot; style=&quot;margin: 0 20px 0 80px;&quot;&gt;Username&lt;/el-menu-item&gt;
+              &lt;el-menu-item index=&quot;2&quot; style=&quot;margin: 0 0 0 20px;&quot;&gt;Dynamic Code&lt;/el-menu-item&gt;
+            &lt;/el-menu&gt;
+
+            &lt;div v-show=&quot;currentMenu==1&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm1&quot; action=&quot;login&quot;&gt;
+              
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+                      
+                            &lt;div&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                            &lt;/div&gt;
+                      
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Password&quot; title=&quot;Enter your Password&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;p&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-lock&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item style=&quot;padding:0 30px&quot;&gt;
+                  &lt;el-checkbox name=&quot;rememberMe&quot; id=&quot;rememberMe&quot; label=&quot;true&quot;&gt;Remember Me&lt;/el-checkbox&gt;
+                  &lt;a href=&quot;/cas/personal/forgotYourPassword&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px;float: right; color: #409EFF; text-decoration-line: none;&quot;&gt;Forgot your password?&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+                
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submit&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+            
+            &lt;div v-show=&quot;currentMenu==2&quot;&gt;
+
+              &lt;el-form style=&quot;margin: 40px 80px&quot; method=&quot;post&quot; id=&quot;fm2&quot; action=&quot;login&quot;&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input el-input el-input--medium el-input--prefix el-input--suffix sw-input--circular&quot;&gt;
+
+                            &lt;div&gt;
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter your Username, Email&quot; title=&quot;Enter your Username, Email&quot; id=&quot;username&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;1&quot;
+                                       type=&quot;text&quot;
+                                       accesskey=&quot;u&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;username&quot; value=&quot;&quot;/&gt;&lt;/div&gt;
+
+                      &lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-people&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;div class=&quot;el-form-item el-form-item--small&quot;&gt;
+                  &lt;div class=&quot;el-form-item__content&quot;&gt;
+                    &lt;div class=&quot;sw-input su-input-text-button el-input el-input--medium el-input-group el-input-group--append el-input--prefix sw-input--circular&quot;&gt;
+
+                                &lt;input class=&quot;form-control required el-input__inner&quot;
+                                       placeholder=&quot;Enter the Dynamic Code&quot; title=&quot;Enter the Dynamic Code&quot; type=&quot;password&quot;
+                                       id=&quot;password&quot;
+                                       size=&quot;25&quot;
+                                       tabindex=&quot;2&quot;
+                                       accesskey=&quot;d&quot;
+                                       autocomplete=&quot;off&quot; name=&quot;password&quot; value=&quot;&quot;/&gt;&lt;span class=&quot;el-input__prefix&quot;&gt;&lt;i class=&quot;su-input-icon black su-input-icon-prefix el-input__icon su-icon-dyncode&quot;&gt;&lt;/i&gt;&lt;/span&gt;
+                      &lt;span class=&quot;el-input__suffix&quot; style=&quot;right: 100px;&quot;&gt;&lt;span class=&quot;el-input__suffix-inner&quot; style=&quot;display: inline-block;&quot;&gt;&lt;i class=&quot;el-input__icon su-icon-hide el-input__clear&quot; style=&quot;line-height: 32px;&quot; onclick=&quot;javascript: togglePassword(this);&quot;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
+                      &lt;div class=&quot;el-input-group__append&quot;&gt;
+                        &lt;button type=&quot;button&quot; class=&quot;el-button el-button--default el-button--small&quot; onclick=&quot;javascript:sendToken(this);&quot;&gt;&lt;span&gt;Send&lt;/span&gt;&lt;/button&gt;
+                      &lt;/div&gt;
+
+                    &lt;/div&gt;
+                  &lt;/div&gt;
+                &lt;/div&gt;
+
+                &lt;el-form-item&gt;
+                        &lt;input type=&quot;hidden&quot; name=&quot;currentMenu&quot; value=&quot;2&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;execution&quot; value=&quot;e1s1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;_eventId&quot; value=&quot;submitPasswordlessToken&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;geolocation&quot;/&gt;&lt;input class=&quot;el-button el-button--primary el-button--medium is-round&quot;
+                               name=&quot;submit&quot;
+                               accesskey=&quot;l&quot;
+                               tabindex=&quot;6&quot;
+                               type=&quot;submit&quot;
+                               value=&quot;LOGIN&quot;
+                               
+                               style=&quot;width: 100%&quot;
+                        /&gt;&lt;/el-form-item&gt;
+
+                &lt;el-form-item style=&quot;text-align: center&quot;&gt;
+                  &lt;a href=&quot;/cas/personal/activeYourAccount&quot; target=&quot;_blank&quot; style=&quot;font-size: 14px; color: #409EFF; text-decoration-line: none;&quot;&gt;Active your account&lt;/a&gt;
+                  
+                &lt;/el-form-item&gt;
+
+
+                &lt;el-form-item&gt;
+                        &lt;/el-form-item&gt;
+
+              &lt;/el-form&gt;
+
+            &lt;/div&gt;
+
+            &lt;/div&gt;
+            &lt;div style=&quot;margin: 40px 80px&quot;&gt;
+                &lt;div&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                  &lt;span style=&quot;margin:0 10px;display:inline-block;position:relative;top:-4px;font-size: 14px;color: rgba(2,21,37,0.35);line-height: 22px;&quot;&gt;Or login with:&lt;/span&gt;
+                  &lt;div style=&quot;display:inline-block;width: 35%&quot;&gt;
+                    &lt;hr style=&quot;background-color: rgba(2,21,37,0.35);&quot;&gt;&lt;/div&gt;
+                &lt;/div&gt;
+                &lt;div style=&quot;display: flex ;justify-content:space-between;margin-top: 20px&quot;&gt;
+                            &lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=qq&quot;
+                               title=&quot;QQ&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-tencent&quot; active-color=&quot;#1196DB&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=openweixin&quot;
+                               title=&quot;WeChat&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-wechat&quot; active-color=&quot;#0EBB07&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                  &lt;/a&gt;&lt;a class=&quot;btn btn-block btn-social btn-sm&quot; style=&quot;width: 50px; display: inline-block;&quot;
+                               href=&quot;/cas/federatedRedirect?service=http://172.50.10.37:8080/cas/login&amp;amp;federatedName=alipay&quot;
+                               title=&quot;Alipay&quot;&gt;
+                  &lt;sw-button :custom-button-size=&quot;50&quot; icon=&quot;su-icon-alipay&quot; active-color=&quot;#08ABE4&quot; circle icon-button &gt;&lt;/sw-button&gt;
+                            &lt;/a&gt;
+                &lt;/div&gt;
+              &lt;/div&gt;
+
+    &lt;/div&gt;
+
+          &lt;/div&gt;
+          
+        &lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/el-container&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+  &lt;script type=&quot;text/babel&quot;&gt;
+function getQueryString(paramName) {
+	var reg = new RegExp(&quot;(^|&amp;)&quot;+paramName+&quot;=([^&amp;]*)(&amp;|$)&quot;);
+    var r = window.location.search.substr(1).match(reg);
+    if ( r != null ) return unescape(r[2]);
+    return &quot;&quot;;
+}
+
+var qrCodeEnabled = false;
+
+var loginType = getQueryString(&quot;loginType&quot;); // console.log(loginType);
+
+	var currentMenu = null;
+    var isQrcode = false;
+
+	if (currentMenu) {
+		
+	} else {
+		if (loginType === &quot;&quot;) {
+			currentMenu = &quot;1&quot;;
+		} else {
+			currentMenu = loginType;
+		}
+	}
+
+    if (currentMenu == 3) {
+        if (qrCodeEnabled == true || qrCodeEnabled == &apos;true&apos;) {
+          currentMenu = &quot;1&quot;;
+          isQrcode = true;
+        } else {
+          currentMenu = &quot;1&quot;;
+          isQrcode = false;
+        }
+    }
+
+    var SwUI = SWUI;
+    new Promise(resolve=&gt;{
+      Vue.use(SwUI, {
+        size: &apos;small&apos;,
+        i18n: (key, value) =&gt; i18n.t(key, value)
+      })
+    })
+    var vm = new Vue({
+      el: &apos;#vue_main&apos;,
+      data(){
+          return {
+            bg:[
+              &quot;\/cas\/themes\/sw\/images\/bg1.png&quot;,
+              &quot;\/cas\/themes\/sw\/images\/bg2.png&quot;
+            ],
+            currentMenu: currentMenu,
+            currentImage:0,
+            loading: false,
+
+            qrcodeImage:{
+              qrcode: &quot;\/cas\/themes\/sw\/images\/qrcode.png&quot;,
+              normal: &quot;\/cas\/themes\/sw\/images\/pc-login.png&quot;,
+            },
+            qrcodeHover:false,
+            isQrcode: isQrcode,
+            qrcodeImgUrl: &quot;&quot;,
+            qrcodeTimeout: 0,
+            isQrcodeAlert: false,
+            qrcodeAlertMessage: &quot;&quot;,
+            stateKey: &quot;&quot;,
+          }
+        },
+        mounted() {
+          if (this.isQrcode) { // 显示二维码
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+          }
+        },
+        methods:{
+          changeMenu(index){
+            this.currentMenu = index;
+          },
+          changeCarousel(index){
+            this.currentImage = index;
+          },
+
+          showErrorMessageUsername() {
+            var message = &quot;Enter your Username&quot; + &quot;, Email&quot;
+            this.$message.error(message);
+          },
+          showErrorMessagePassword() {
+            var message = &quot;Enter your Password&quot;
+            this.$message.error(message);
+          },
+          showErrorMessageDynamicCode() {
+            var message = &quot;Enter the Dynamic Code&quot;
+            this.$message.error(message);
+          },
+
+          openOrCloseQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.isQrcode=!this.isQrcode;
+            if (this.isQrcode) {
+              this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;;
+              this.startQrComet();
+            } else {
+              window.clearTimeout(this.qrcodeTimeout);
+            }
+          },
+          startQrComet() {
+            var self = this;
+
+window.clearTimeout(self.qrcodeTimeout);
+
+// 开启定时
+function qrComet() {
+  var url = &quot;\/cas\/qr\/comet&quot;;
+  $.ajax({
+    url: url,
+    type: &quot;POST&quot;,
+    dataType: &quot;json&quot;,
+    timeout: 1000,
+    success: function(r) {
+      // console.log(r);
+      if (r &amp;&amp; r.code == 0) {
+        self.isQrcodeExpired = false;
+        var stateKey = r.data.stateKey;
+        var qrCode = r.data.qrCode;
+        if (qrCode.status == &quot;1&quot;) { // 1 创建、未扫码
+          self.isQrcodeAlert = false;
+          self.qrcodeAlertMessage = &quot;&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;2&quot;) { // 2 已扫码
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;扫码成功&quot;;
+          self.stateKey = &quot;&quot;;
+        } else if (qrCode.status == &quot;3&quot;) { // 3 已授权
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;确认登录&quot;;
+          self.stateKey = stateKey
+          window.setTimeout(function(){$(&quot;#fm3&quot;).submit();}, 500);
+        } else if (qrCode.status == &quot;4&quot;) { // 4 已取消
+          self.isQrcodeAlert = true;
+          self.qrcodeAlertMessage = &quot;取消登录&quot;;
+          self.stateKey = &quot;&quot;;
+        }
+      } else if (r &amp;&amp; r.code == 1) {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;二维码已失效，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      } else {
+        self.isQrcodeAlert = true;
+        self.qrcodeAlertMessage = &quot;出现异常，点击刷新&quot;;
+        self.stateKey = &quot;&quot;;
+        window.clearTimeout(self.qrcodeTimeout);
+      }
+    }
+  });
+
+  self.qrcodeTimeout = window.setTimeout(qrComet, 2000);
+}
+window.setTimeout(qrComet, 2000);
+
+          },
+          refreshQrCode() {
+            var self = this;
+
+            self.isQrcodeAlert = false;
+            self.qrcodeAlertMessage = &quot;&quot;;
+            self.stateKey = &quot;&quot;;
+
+            this.qrcodeImgUrl = &quot;\/cas\/qr\/qrcode&quot;+&quot;?r=&quot; + Math.floor(Math.random()*24);
+            this.startQrComet();
+          },
+        }
+    })
+  &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        var i_login = &quot;One moment please...&quot;
+                        $( document ).ready(function() {
+                            $(&quot;#fm1&quot;).submit(function () {
+                              var username = $(&quot;#fm1&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm1&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessagePassword&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                            $(&quot;#fm2&quot;).submit(function () {
+                              var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                              var password = $(&quot;#fm2&quot;).find(&quot;#password&quot;).val();
+                              if (username == null || username == &apos;&apos;) {
+                                $(&quot;#showErrorMessageUsername&quot;).click();
+                                return false;
+                              }
+
+                              if (password == null || password == &apos;&apos;) {
+                                $(&quot;#showErrorMessageDynamicCode&quot;).click();
+                                return false;
+                              }
+                              
+                                $(&quot;:submit&quot;).attr(&quot;disabled&quot;, true);
+                                $(&quot;:submit&quot;).attr(&quot;value&quot;, i_login);
+                                //console.log(i_login);
+                                return true;
+                            });
+                        });
+                    &lt;/script&gt;
+                    
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function refreshCaptcha() {
+                          $(&quot;#captcha_img&quot;).attr(&quot;src&quot;, &quot;\/cas\/captcha.jpg&quot;+&quot;?r=&quot; + new Date() + Math.floor(Math.random()*24));
+                          $(&quot;#captcha&quot;).val(&quot;&quot;);
+                          $(&quot;#captcha&quot;).focus();
+                        }
+                        function togglePassword(obj) {
+                          var $obj = $(obj);
+                          
+                          var $password = $(obj).parents(&apos;.sw-input&apos;).find(&quot;#password&quot;);
+                          
+                          if ($password.attr(&apos;type&apos;) == &apos;password&apos;) {
+                            $password.attr(&apos;type&apos;, &apos;text&apos;);
+                            $obj.removeClass(&apos;su-icon-hide&apos;).addClass(&apos;su-icon-display&apos;);
+                          } else {
+                            $password.attr(&apos;type&apos;, &apos;password&apos;);
+                            $obj.removeClass(&apos;su-icon-display&apos;).addClass(&apos;su-icon-hide&apos;);
+                          }
+                        }
+                    &lt;/script&gt;
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                	  var i_sendToken = &quot;Send&quot;
+                	  var i_sending = &quot;Sending...&quot;
+                	  var i_send = &quot;Sended&quot;
+                	  var disableSendToken = false;
+                        function sendToken(obj) {
+                          if (disableSendToken) {
+                            return;
+                          }
+                          
+                          var username = $(&quot;#fm2&quot;).find(&quot;#username&quot;).val();
+                          if (username == &quot;&quot;) {
+                            $(&quot;#showErrorMessageUsername&quot;).click();
+                            return;
+                          }
+                          
+                          var sendButton = $(obj);
+                          
+                          disableSendToken = true;
+                      	  sendButton.attr(&quot;disabled&quot;, true);
+                      	  sendButton.find(&apos;span&apos;).text(i_sending);
+                      	  
+                      	  var time = 60;
+                      	  var setSended = function() {
+                      	    sendButton.find(&apos;span&apos;).text(i_send + &apos;(&apos;+time+&apos;)&apos;);
+                      	    
+                      	    time --;
+                      	    if (time &gt; 0) {
+                      	      setTimeout(setSended, 1000);
+                      	    } else {
+                      	      disableSendToken = false;
+                      	      sendButton.attr(&quot;disabled&quot;, false);
+                      	      sendButton.find(&apos;span&apos;).text(i_sendToken);
+                      	    }
+                      	    
+                      	  }
+                          
+                          $.ajax({
+                            url: &quot;\/cas\/passwordlessTokenSend&quot;,
+                            type: &quot;POST&quot;,
+                            data: {&quot;username&quot;: username},
+                          	dataType: &quot;json&quot;,
+                          	success: function(r) {
+                          	  console.log(r);
+                          	  
+                          	  if (r.data.success) {
+                            	  // 提示信息
+                            	  alert(r.data.success);
+                            	  // 倒计时 60s
+                            	  setSended();
+                          	  }
+                          	  
+                          	  if (r.data.error) {
+                          	    alert(r.data.error);
+                          	    time = 0;
+                          	    setSended();
+                          	  }
+                          	}
+                          });
+                          
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function forgotYourPassword() {
+                          window.location.href=&quot;\/cas\/personal\/forgotYourPassword&quot;;
+                        }
+                    &lt;/script&gt;
+
+                    &lt;script type=&quot;text/javascript&quot;&gt;
+                        function activeYourAccount() {
+                          window.location.href=&quot;\/cas\/personal\/activeYourAccount&quot;;
+                        }
+                    &lt;/script&gt;
+
+  &lt;script type=&quot;text/javascript&quot;&gt;
+  $( document ).ready(function() {
+    $(&quot;.el-carousel__container&quot;).css({&quot;min-height&quot;:&quot;720px&quot;});
+    $(&quot;#vue_main&quot;).show();
+  });
+  &lt;/script&gt;
+
+    &lt;/div&gt;
+&lt;/main&gt;
+
+&lt;footer class=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
+        
+    &lt;/footer&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/zxcvbn/4.3.0/zxcvbn.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-ui/1.12.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/webjars/jquery-cookie/1.4.1-1/jquery.cookie.js&quot;&gt;&lt;/script&gt;
+&lt;!-- &lt;script src=&quot;//www.google.com/recaptcha/api.js&quot; async defer th:if=&quot;${recaptchaSiteKey}&quot;&gt;&lt;/script&gt; --&gt;&lt;script src=&quot;/cas/webjars/bootstrap/4.1.0/js/bootstrap.bundle.min.js&quot;&gt;&lt;/script&gt;
+
+&lt;script src=&quot;/cas/webjars/headjs/1.0.3/head.min.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/cas/webjars/store.js/1.3.17/store.min.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;/cas/js/cas.js&quot;&gt;&lt;/script&gt;
+
+&lt;script&gt;
+head.ready(document, function () {
+    if (!window.jQuery) {
+    	var jqueryUrl = &quot;\/cas\/webjars\/jquery\/3.3.1\/jquery.min.js&quot;; 
+        head.load(jqueryUrl, loadjQueryUI);
+    } else {
+        notifyResourcesAreLoaded(resourceLoadedSuccessfully);
+    }
+});
+
+function loadjQueryUI() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-ui\/1.12.1\/jquery-ui.min.js&quot;; 
+	head.load(jqueryUrl, loadjQueryCookies);
+}
+
+function loadjQueryCookies() {
+	var jqueryUrl = &quot;\/cas\/webjars\/jquery-cookie\/1.4.1-1\/jquery.cookie.js&quot;; 
+	head.load(jqueryUrl, notifyResourcesAreLoaded(resourceLoadedSuccessfully));
+}
+
+function notifyResourcesAreLoaded(callback) {
+    if (typeof callback === &quot;function&quot;) {
+        callback();
+    }
+}
+&lt;/script&gt;
+
+&lt;script&gt;
+    /*&lt;![CDATA[*/
+
+    var trackGeoLocation = false;
+
+//    var googleAnalyticsTrackingId = /*null*/;
+//
+//    if (googleAnalyticsTrackingId != null &amp;&amp; googleAnalyticsTrackingId != &apos;&apos;) {
+//        (function(i,s,o,g,r,a,m){i[&apos;GoogleAnalyticsObject&apos;]=r;i[r]=i[r]||function(){
+//            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+//            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+//        })(window, document, &apos;script&apos;, &apos;https://www.google-analytics.com/analytics.js&apos;, &apos;ga&apos;);
+//
+//        ga(&apos;create&apos;, googleAnalyticsTrackingId, &apos;auto&apos;);
+//        ga(&apos;send&apos;, &apos;pageview&apos;);
+//    }
+
+    /*]]&gt;*/
+&lt;/script&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+</responseData>
+  <cookies class="java.lang.String"></cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http://172.50.10.37:8080/cas/login</java.net.URL>
+</httpSample>
+<httpSample t="18617" it="0" lt="18617" ct="0" ts="1587564594885" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-85" dt="" by="484" sby="391" ng="84" na="84">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2164-wb1SHwEdhX46ssFtK3qt0X2UsZYI6FwG8qwNGg9q3sJQ-9r1Z4akvuUq8va6NbMEyiUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2148-1P5yl9smL6yJg7IgXZ9MzI1BWjYc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=54fd2a43-26dc-41b8-a92e-d30435d84e5d</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2148-1P5yl9smL6yJg7IgXZ9MzI1BWjYc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="18384" it="0" lt="18384" ct="0" ts="1587564595118" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-79" dt="" by="484" sby="391" ng="84" na="84">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2138-dloNWWG1QEqBc-oKBI3EtxWutscO9c1X-X-QPOwurRKt1vxs-YSJRubeX8EyZwnDqEUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2157-To58sx2vKgyqu20wy1XyW4ToeMEc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=cf79a266-62d6-4073-923b-34d1423d289a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2157-To58sx2vKgyqu20wy1XyW4ToeMEc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="18623" it="0" lt="18623" ct="0" ts="1587564594880" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-36" dt="" by="484" sby="391" ng="81" na="81">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2152--gP5G-MyME3w9UuUeaSWX6j3KAZYOJX6dQLlDftQFSWEGavzZJtxAUdNJ3-W17MyWVoc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2156-QxcMq4ZRTHYBtWqry0wsoB6UsX0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ab1a57b6-c502-4447-8cf9-1d61923c64b7</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2156-QxcMq4ZRTHYBtWqry0wsoB6UsX0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="18419" it="0" lt="18419" ct="0" ts="1587564595087" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-80" dt="" by="484" sby="391" ng="80" na="80">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2137-jSqdU-p4zGjqSaadgj1yQ8r8dU0rQZZkL44VZiNhgYMVghMVPXaV4M-kJoT0eHK3Cqcc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2167-UqsyCGz-304w6Com9J4Se6TovYkc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e79305f7-39d2-4868-925e-7540d3e554f3</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2167-UqsyCGz-304w6Com9J4Se6TovYkc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="18403" it="0" lt="18403" ct="0" ts="1587564595106" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-50" dt="" by="484" sby="391" ng="79" na="79">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2156-YgKd-voZLK4BF54f-06LO9P5Re9TV9lADfcLBqNICexKy4fLWtGyeqroxBW-29nzuZUc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2161-UhEejzQ9zoDEh4IP7pAJRhWHu4cc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=9f99a9b3-9cb6-419f-b3ba-7a1112abf487</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2161-UhEejzQ9zoDEh4IP7pAJRhWHu4cc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="18847" it="0" lt="18847" ct="0" ts="1587564594676" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-8" dt="" by="484" sby="391" ng="78" na="78">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2126--1X-7QwnfgBiqJGphxU7rGaa2sl5VxfjgSfhojaEdFRGM62JweN-BlX-kUMdZ1mW2Y4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2128-JOkyOr6TbYnkfL2D7FqExUuZejoc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=e66de334-5b8f-4d5b-979d-c5502683e26a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2128-JOkyOr6TbYnkfL2D7FqExUuZejoc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="18587" it="0" lt="18587" ct="0" ts="1587564595024" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-98" dt="" by="484" sby="391" ng="77" na="77">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2157-h-QB1hcM2Qbgx-9yD6okQR-5YC7VyS-RlvZKFSnUpoxKruskx-kIfHWFSDSNEn1VQ5Yc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2154-xZmjn00gqUm3rTzQXjpLhsAoTZ0c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=262095bb-4cb0-49f5-8b92-86ef65bfdea2</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2154-xZmjn00gqUm3rTzQXjpLhsAoTZ0c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="6068" it="0" lt="6068" ct="7" ts="1587564607726" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-25" dt="" by="484" sby="391" ng="76" na="76">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2168-wJy9HDyTMjS-hCCN6HAA2wNbErwziMsV4RV-c1N4DpJXERPs3WwQc-066BzuGhTm7YQc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2168-kqYcT17aq9jraTHGzEnzzVUvXl8c7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=0e771c4a-e63a-4911-8e85-ac08ba35f868</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2168-kqYcT17aq9jraTHGzEnzzVUvXl8c7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="6186" it="0" lt="6186" ct="2" ts="1587564607734" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-46" dt="" by="484" sby="391" ng="75" na="75">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2169-ExOSKnR-3IWdTEhGIPaJ3XP9hehzP-xC4SJ2gwso-VZgQK4UqOMZffe--vSFtOz9hr4c7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2169-7zS3dTS8plkRbLxFeLsig3Jmiooc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=5b3032d4-3b0c-4d70-83f9-7ee8156fc54a</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2169-7zS3dTS8plkRbLxFeLsig3Jmiooc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="6450" it="0" lt="6450" ct="0" ts="1587564607471" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-84" dt="" by="411" sby="252" ng="74" na="74">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjM5YzZjZDgtOTBkNC00YjViLTgzYjYtMmYzNjIwMjZhZWYx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2076-8nrc94r4X9jFar8kanDNGe-0kMkc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6279" it="0" lt="6279" ct="1" ts="1587564607736" s="true" lb="POST - Login Credentials no Redirects" rc="302" rm="" tn="Typical Admin Center API test 1-70" dt="" by="484" sby="391" ng="73" na="73">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Content-Type-Options: nosniff
+X-Frame-Options: DENY
+X-XSS-Protection: 1; mode=block
+Set-Cookie: TGC=TGT-2170-cnnybyxfWxT73Hsv7FKYeXxkgHcJjhwCp5tDpmGNbo8lQQP3Z8EbXVeHL-pRJL067Iwc7d0272e5631; Path=/cas/; HttpOnly
+Location: http://172.50.10.37:8080/cas/login?ticket=ST-2170-3-pvGpWAAFlD9jrvQDq0Y3BoFcUc7d0272e5631
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Content-Length: 71
+Content-Type: application/x-www-form-urlencoded; charset=UTF-8
+Host: 172.50.10.56
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=b583e708-76a1-49d0-9e44-eb7b31f8a3bd</cookies>
+  <method class="java.lang.String">POST</method>
+  <queryString class="java.lang.String">username=smartadmin&amp;password=adminadmin&amp;_eventId_submit=&amp;execution=e1s1</queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/login?ticket=ST-2170-3-pvGpWAAFlD9jrvQDq0Y3BoFcUc7d0272e5631</redirectLocation>
+  <java.net.URL>http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin</java.net.URL>
+</httpSample>
+<httpSample t="6349" it="0" lt="6349" ct="1" ts="1587564607732" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-13" dt="" by="411" sby="252" ng="72" na="72">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmNiODljZmQtNjgwZC00MGY4LWE3YzItOTU1ZTA2ZTBmOTZi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2108-KzjS4gR3cWtrHMqGS-NwoLjjgLoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6360" it="0" lt="6360" ct="4" ts="1587564607728" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-2" dt="" by="411" sby="252" ng="71" na="71">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTkwYzgzNmQtMThmOS00ZmE2LTk5NDEtODY4OWE5NjFjZjRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2102-z8-kQS4ZLe6p4Yaz5DUaUj4ua6oc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6376" it="0" lt="6376" ct="8" ts="1587564607713" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-75" dt="" by="411" sby="252" ng="70" na="70">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGRmNDVkZjgtNjQ0Ny00MzFkLTgyMTEtMTg1M2EzOTk5MTE4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2126-BrhEQxgToi-3GpKvtBpQVxatIXQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6378" it="0" lt="6378" ct="7" ts="1587564607714" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-86" dt="" by="411" sby="252" ng="69" na="69">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjZkYzQ4ZDItYjM5My00YmQxLTg0NzMtZDFmZGZkOTg3ODc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2113-u86mCqgd-z-NOFxyB2LOpjEXd6cc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6354" it="0" lt="6354" ct="1" ts="1587564607739" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-66" dt="" by="411" sby="252" ng="68" na="68">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGUxMDQzYzktY2Y5YS00ZmQyLTg0NTItZTI1NGZlN2U2YmY5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2162-nBhxsW4mTsPeZUW2OSR0t4HCe2cc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6361" it="0" lt="6361" ct="1" ts="1587564607732" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-32" dt="" by="411" sby="252" ng="68" na="68">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODI3MmU3OTMtYmMyNS00NTY3LWEzOTItYmU5YzI4ZDYyMzk4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2125-gxCp2IIOwg-euxNj84eK--MvKzwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6369" it="0" lt="6369" ct="1" ts="1587564607725" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-61" dt="" by="411" sby="252" ng="66" na="66">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Njk1NTExYzktNWZjNy00NTBjLWEzOTYtOTRlYmY1YTczOGUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2122-4O1uqIraphpc4qARXk-oOK4cmSgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6365" it="0" lt="6365" ct="3" ts="1587564607729" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-4" dt="" by="411" sby="252" ng="66" na="66">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODQ4NGFlYzctMGZmMi00NzY2LTk2NTEtOTViMWUyZWYzYmQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2135-r0ldfM3M7kCzAeUCYTNGfLTVcAcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6343" it="0" lt="6343" ct="0" ts="1587564607751" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-33" dt="" by="411" sby="252" ng="64" na="64">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Zjk0N2ZmYmYtZjU2ZS00NzhmLWFhZjctYjYzZWQzOTQwNDVj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2083-SpXfSPnPx-g3scY4bWiqJnlMYVoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6386" it="0" lt="6386" ct="2" ts="1587564607709" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-94" dt="" by="411" sby="252" ng="64" na="64">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTNmZGMyZjYtYjNiNy00NWQ4LWI5ZjMtZDZhNTUzY2E0ZDlj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2151-gfxcJ2XHdlnaJyPTItz8kuEdAEcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6382" it="0" lt="6382" ct="4" ts="1587564607714" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-76" dt="" by="411" sby="252" ng="62" na="62">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjYyZDY5ZTQtYWUwMC00YjFmLWFkNTYtNGY2NjBjYTY4OWVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2153-fE3LanJ2Lw6I-yTXKMdDk8AMIzIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6385" it="0" lt="6385" ct="10" ts="1587564607711" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-99" dt="" by="411" sby="252" ng="61" na="61">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTdkNmRkZGEtNjEyZi00ODI5LTk5YWMtYzFhZGE4NzU5NWY2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2142--8IIk6MbgxcRne-jmbYitpuCcZAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6382" it="0" lt="6382" ct="3" ts="1587564607715" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-82" dt="" by="411" sby="252" ng="60" na="60">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Y2Q1OWIyYTMtZTFjOS00YWI2LTkyYWMtMDEyZDNkM2ZjN2Qw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2077-YkUoQyAYeRHLCmc87-dZAhp2vMAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6355" it="0" lt="6355" ct="1" ts="1587564607743" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-48" dt="" by="411" sby="252" ng="59" na="59">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDViY2ZlYzEtZjFiOC00YTc0LWE1ZjYtNmJlZjg1Y2Y4NDZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2096-4I7ByC1NSO1PNJbaNgTHXakntccc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6383" it="0" lt="6383" ct="2" ts="1587564607716" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-62" dt="" by="411" sby="252" ng="58" na="58">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTYzMzhkOTEtODc4MS00MjUxLTg3NzUtNGZhM2NlOWQwODQz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2121-vLIxt1Gb-tYCQrQx6CPZr5BsAKQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6434" it="0" lt="6434" ct="1" ts="1587564607710" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-56" dt="" by="411" sby="252" ng="57" na="57">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDEwN2E4YzktZDQxMS00YjRkLTgyZWMtOGNmNWE1MDVlODVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2087-E7cNCHOor4D-9XbDNJfD7qkPPAMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6425" it="0" lt="6425" ct="2" ts="1587564607720" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-11" dt="" by="411" sby="252" ng="56" na="56">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDM1ODlhNDItYjc4Yi00MDNjLTllOGEtNGM4ZTc3MzlhODJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2088-Ht6rwGSahHs08-nB-VnzgeXLn9sc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6431" it="0" lt="6431" ct="3" ts="1587564607715" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-91" dt="" by="411" sby="252" ng="55" na="55">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDE4YTQwMzUtMzJjZS00OWQ1LWFlZmItYjNhY2ViYjI1YTEx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2110-MzOX55V9m-c5L9ygp46ZrV33vuEc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6433" it="0" lt="6433" ct="7" ts="1587564607714" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-21" dt="" by="411" sby="252" ng="54" na="54">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWZlNzRmOWEtYmE5NS00MjI3LWI2MTAtMWE2MTU0ZjQzOThi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2131-d4BhxMrHXewCXJdzwrz8D0xWbc0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6403" it="0" lt="6403" ct="1" ts="1587564607745" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-14" dt="" by="411" sby="252" ng="54" na="54">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTY4ODcwZTUtYTdkMi00NmJkLTkxYWEtYTI0ZjYyNzA1YzQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2082-f-K0fsSYT5km-oP72Xh49hJ5hJ0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6429" it="0" lt="6429" ct="2" ts="1587564607719" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-65" dt="" by="411" sby="252" ng="52" na="52">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjM0YjQ3NzgtODFjMi00MDBmLThiYjctMTlmNTNhZGJiMjAz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2104-sAk-L49xJ4IZvBAv15c0hmc-T4Ac7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6437" it="0" lt="6437" ct="9" ts="1587564607712" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-78" dt="" by="411" sby="252" ng="51" na="51">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjQ4OWYzYTEtZDhiYy00ZTJkLTgyOWEtNjhmMjI0Y2IxN2Mx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2136-aO01-BKYQBBhNhId5GZOCbG1iwgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6441" it="0" lt="6441" ct="2" ts="1587564607709" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-9" dt="" by="411" sby="252" ng="51" na="51">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWMxNTJkZWItYzUwNS00NWYyLTllMzktYzNlZmQ2YTI4MmRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2107-8ajDB0bbIEgtde0wPvoauh7Wmvsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6440" it="0" lt="6440" ct="9" ts="1587564607710" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-49" dt="" by="411" sby="252" ng="49" na="49">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=Nzg1ODdjODAtMzY2ZS00MmUzLWFmMzctZDU0NzllYjA0YTA3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2109-d-ROxZdAGA-TVcDISkmVjRaYQu4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6437" it="0" lt="6437" ct="4" ts="1587564607714" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-26" dt="" by="411" sby="252" ng="48" na="48">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NjcxNjEwODAtOWQyOS00ZjY4LTliZTAtZTIzYTNiY2MzOWJk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2149-UpRhTUsJxYln9hxjiygGuG7GzxAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6442" it="0" lt="6442" ct="1" ts="1587564607710" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-87" dt="" by="411" sby="252" ng="47" na="47">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YWUwNjk5Y2MtNDViNS00YzkyLTg1MDQtODE4NTM4MGI0NTVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2119-hMhRSQZuk1JlmgyXBuvKCKjbAC8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6442" it="0" lt="6442" ct="6" ts="1587564607712" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-29" dt="" by="411" sby="252" ng="46" na="46">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTY4Y2MyNjgtOGRhZS00ODVlLThlOWYtOTRhMTY3N2I4MDY5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2106-9hTEZD6QfIElvoSjDD-cJQNijgQc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6376" it="0" lt="6376" ct="1" ts="1587564607785" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-95" dt="" by="411" sby="252" ng="45" na="45">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjNkNGYzZjgtZWFjNy00MTE0LWIwYzktMTA0ZTEyMmUzMzFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2160-iw3NhYAQeEuD8NWCXrFMvPIpDj4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6438" it="0" lt="6438" ct="1" ts="1587564607724" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-44" dt="" by="411" sby="252" ng="44" na="44">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGM0YjA3YmYtMmViNC00NjE0LTg0ZmQtYTBlMTcyYWMxZTdj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2134-jdxvRyFcy-xfSXvoNAZbs7ZLV-Ec7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6439" it="0" lt="6439" ct="2" ts="1587564607723" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-37" dt="" by="411" sby="252" ng="43" na="43">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTE5M2FjZTAtY2ExMy00ZmZlLTliZTQtM2RjYjFkNzEzNDEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2103-3T5DwlBpSpccxkqJZEvHkB-hQ0oc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6436" it="0" lt="6436" ct="1" ts="1587564607727" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-34" dt="" by="411" sby="252" ng="42" na="42">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZmM0MTM0ZDgtYzU4MS00YWEzLThkYWEtMDlmNGZiYzE4MDdk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2129-wOUew7IyQNakULsGOfXZuZG0p8Ec7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6439" it="0" lt="6439" ct="2" ts="1587564607725" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-47" dt="" by="411" sby="252" ng="41" na="41">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGE5NmM2NzktNTZjNC00MDFiLWFjMDEtNDFlMGY0NWMxMmRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2140-6H--3reLmgaj999PiWAX3kaYBygc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6447" it="0" lt="6447" ct="3" ts="1587564607718" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-77" dt="" by="411" sby="252" ng="40" na="40">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjM3MjIxYzItYmRmMC00ODYwLWE4ODktNWRmODFmNDA2ZWU3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2124-phsCAr9QbH-n6PAcLbPLxgtGbc4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6437" it="0" lt="6437" ct="4" ts="1587564607729" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-69" dt="" by="411" sby="252" ng="39" na="39">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTVmZWRiNWUtMzdkOS00N2EyLTk3NDAtZWY2NTZjYjU2NDRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2144-a1ypHCzwZctcdK-uCAo8hAg-xy0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6457" it="0" lt="6457" ct="7" ts="1587564607711" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-68" dt="" by="411" sby="252" ng="38" na="38">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDU3MTRlNzAtM2Q0ZC00NWVkLWExOGItNzk0NDI4Y2I2ZmVl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2118-kLSjlObIAcdpGrIhGjStohquaowc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6390" it="0" lt="6390" ct="1" ts="1587564607778" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-93" dt="" by="411" sby="252" ng="38" na="38">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWFmNzk4MDQtMzYwMC00YTk4LWEwZDEtM2QxY2I4NTRkYzI2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2086-ppmH82zAxOq2zeEW37D9nIUpi-4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6441" it="0" lt="6441" ct="2" ts="1587564607727" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-60" dt="" by="411" sby="252" ng="36" na="36">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODdiYmU5YTMtMzUwOS00Nzk0LTlhZjctNjc2Y2JkMzU0MTM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2146--pr7HrKJj4SxscuXcy7KtzBiUR8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6442" it="0" lt="6442" ct="2" ts="1587564607729" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-27" dt="" by="411" sby="252" ng="35" na="35">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NGIwMTI2NWMtMTM1Mi00ODA4LTkxMmYtYjZhYjJjYTkyODlh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2101-bETG2RhERkEL1c5yH-TK6ldnOjIc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6455" it="0" lt="6455" ct="1" ts="1587564607717" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-89" dt="" by="411" sby="252" ng="34" na="34">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MGEzNmRlM2MtYzY1Ny00NDVjLWI1NWUtZTAyNWM1YTllOGRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2120-fJ9Wx6yNmztjwnLF879NctDOjG8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6456" it="0" lt="6456" ct="5" ts="1587564607716" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-72" dt="" by="411" sby="252" ng="34" na="34">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=N2Y2ZDMzYjYtYmYxNy00NDUzLTg2YmYtNDQ5OTI4Yjc4ODFl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2132-2u3DVYjwtfcvD8ox5iPY71h6R6Ec7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6455" it="0" lt="6455" ct="1" ts="1587564607718" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-97" dt="" by="411" sby="252" ng="32" na="32">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGJiYjBhOTQtMzNhMy00ZmEzLThjNTgtM2NjODljZWY0Y2Ey</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2111--1C4ql1fzFyECOZiVJi9UJEibbwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6450" it="0" lt="6450" ct="2" ts="1587564607723" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-96" dt="" by="411" sby="252" ng="31" na="31">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjY3NDRhNzItMmM1NS00ZGU3LWE3MGYtYWRkYjRjYWRkNDFk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2079-VReAe-HOu6rX0-ANvSzP1wj0dQ0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6444" it="0" lt="6444" ct="2" ts="1587564607730" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-53" dt="" by="411" sby="252" ng="30" na="30">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MWVjMjA0MWItYzNjMS00Y2YwLThiYzUtOWJjMzU1NDMxNzFh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2098-z68OvLwW7Ps1ceX--xB6xJB-jEsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6455" it="0" lt="6455" ct="2" ts="1587564607720" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-17" dt="" by="411" sby="252" ng="29" na="29">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTA1OGYwODctZGE2Zi00NDA4LThhOGEtZWUxZTFkZDVhYTU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2094-dCT6RwTugwdYYTNAgGBHEoOX8Ycc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6455" it="0" lt="6455" ct="1" ts="1587564607720" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-7" dt="" by="411" sby="252" ng="28" na="28">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjYxMjZiZGUtM2M5Zi00MzZhLWEwNmQtNTdkMzc1NWUwOWQ5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2143-oyyF49cTJhdgjMhSSVMwd4NGuwMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6464" it="0" lt="6464" ct="6" ts="1587564607712" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-41" dt="" by="411" sby="252" ng="27" na="27">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YzgxYWVjNmItOTVlOC00ZjVhLWEwZDEtZjI5NGQ4ZTVjNTg0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2090-KjGH8GHAt-3oWNu3YlHgGPCyzVgc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6466" it="0" lt="6466" ct="8" ts="1587564607711" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-67" dt="" by="411" sby="252" ng="26" na="26">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjM2ZTViZDMtOWJlMy00NzkyLTg1N2QtNjU4NWNlZDY0Nzcx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2117-FKI3iZe7R2aicX1BDfq-5BvicQ0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6441" it="0" lt="6441" ct="1" ts="1587564607737" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-19" dt="" by="411" sby="252" ng="25" na="25">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTBhNzNlNTctM2QzYi00N2JhLTlmMmQtNjMzYThjZGJmNDMz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2116-1x4ETHYBBDkfqoFQKHnaaRPPdd0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6462" it="0" lt="6462" ct="1" ts="1587564607717" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-40" dt="" by="411" sby="252" ng="24" na="24">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NzBkZjBjOTAtNDAwMS00ZTcwLTgyZTktYjIwYzVhNzZmZWQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2164-2ADqxEMt1k0I4lslGQzihZzJJyAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6448" it="0" lt="6448" ct="1" ts="1587564607731" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-74" dt="" by="411" sby="252" ng="23" na="23">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NDVmMjg5ZjEtYzY2Mi00NTNkLWJiMmItOGEwZDRjYWU0ODMw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2095-kv2PE4VzhgYo19nOmZSqdr0C86Mc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6454" it="0" lt="6454" ct="3" ts="1587564607726" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-28" dt="" by="411" sby="252" ng="22" na="22">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDViZGYyMTAtOGY4MC00MTJhLWEzMGUtY2RlODI2ZmMxMWEw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2166-Y4hs9nleoYwQwTkwj33todt2InUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6449" it="0" lt="6449" ct="1" ts="1587564607732" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-5" dt="" by="411" sby="252" ng="21" na="21">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGNiY2ZlMWMtMTFjMy00MzE3LWEwZjQtNTExZDZkZDEwMjll</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2084--1bOb-Ivk5JFQZ-TDDbO71AfC98c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6453" it="0" lt="6453" ct="1" ts="1587564607728" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-51" dt="" by="411" sby="252" ng="20" na="20">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZjIzYzJkNDUtMTE3Ni00OGEyLTkyM2YtZDVkZjJhNzkyM2Fj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2141-x6UjOqFIxx9GM14HLCpHaweN9Soc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6461" it="0" lt="6461" ct="1" ts="1587564607720" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-43" dt="" by="411" sby="252" ng="20" na="20">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MDBiYTVmZTEtZGQyZi00NjY0LTg4YWItZjU4MjJmODI3NTQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2099-cxkbU6B8ZAYWZPweHnR3xK1650gc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6474" it="0" lt="6474" ct="3" ts="1587564607708" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-42" dt="" by="411" sby="252" ng="18" na="18">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NTI3ZjJmNDMtMzA4NC00ODVhLWE3MmMtYjAyMWI2NTJmZjY0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2112--KdXHg1U2EbD9JYYhBPgrL-ozGwc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6465" it="0" lt="6465" ct="1" ts="1587564607718" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-30" dt="" by="411" sby="252" ng="17" na="17">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmI2NmYwNjMtNjYyMi00MmRmLWIyNzQtZGQ1NTkxMzVkMjU0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2080-kzXUVD7oo-uW0QyoLLm4FGm6TNoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6468" it="0" lt="6468" ct="7" ts="1587564607715" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-100" dt="" by="411" sby="252" ng="17" na="17">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWNmNTdhNGYtNzM4NC00MjE5LWJkOWMtNzNlMTU1MTNmYWRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2130-IGEK2-Oxd1c66sebmhHU0jSCeeoc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6448" it="0" lt="6448" ct="0" ts="1587564607735" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-15" dt="" by="411" sby="252" ng="15" na="15">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NWExNWZmNjctNDhjYy00NGU4LWI4YzQtMDk0YWRlYjExY2Fk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2100-r9ZxnN4qZnUrnHKRMONfQHXtT2Ec7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6471" it="0" lt="6471" ct="5" ts="1587564607713" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-39" dt="" by="411" sby="252" ng="14" na="14">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OWZiNGRmOTAtMmU3ZS00Zjc4LThlODUtNDg0NTE5ZTYzNzcy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2081-0cvOs-ELkpDG8huAwxYZLTymsJMc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6476" it="0" lt="6476" ct="0" ts="1587564607708" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-57" dt="" by="411" sby="252" ng="14" na="14">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OTdhODViOTYtYTdmYS00M2E4LWI1ZjMtNGI5NTE4MzllYTRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2091-Lg7Pj-qGqiHp1cTrP8QqmGOTQ8Yc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6474" it="0" lt="6474" ct="11" ts="1587564607710" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-24" dt="" by="411" sby="252" ng="12" na="12">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGE1Nzc0YzItNDExYS00M2FkLTk3M2YtYWYxYzAzMjI4NDcw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2137-7HczQEfvIOpKCoeLZshX6tIHXdAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6454" it="0" lt="6454" ct="2" ts="1587564607730" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-54" dt="" by="411" sby="252" ng="12" na="12">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZGNiZTFkNmItZDgxOC00YjMyLTkzN2EtYTM2MmQ3ZTZkNmQx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2092-YK2JaeRnKn9eeuW05KS5Qfl1QWcc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6467" it="0" lt="6467" ct="3" ts="1587564607718" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-88" dt="" by="411" sby="252" ng="10" na="10">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTkzOWI2ZGMtY2Y0Yy00NzdmLThkZmUtY2ZmMTBmYzYxMmJm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2133-82eWHIr-smva0clZkBroVaQwgl0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6453" it="0" lt="6453" ct="1" ts="1587564607732" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-64" dt="" by="411" sby="252" ng="10" na="10">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=NmIyZTNjMjQtZWUyZC00ZDI0LTlhNDYtNGNhYTZlZjUxN2Ex</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2093-loNmjV45g71nSz52GWjSmQuP-WAc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6457" it="0" lt="6457" ct="1" ts="1587564607728" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-22" dt="" by="411" sby="252" ng="9" na="9">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZTFkMmMxZDktYmIwYy00NjQyLWFlYjMtY2EzZmY1M2MzMTM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2097-QMcxpJeL0LY0BZWribjZF-zuFc4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6461" it="0" lt="6461" ct="4" ts="1587564607725" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-81" dt="" by="411" sby="252" ng="7" na="7">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ODRlNjQwODQtZDYxOS00MzY2LTljOGUtYTVhOTEzMTM5OWZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2139-SBMU8H9SvaZvQO16z-AyCaR4nBUc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6455" it="0" lt="6455" ct="1" ts="1587564607731" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-6" dt="" by="411" sby="252" ng="6" na="6">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=OGVjODQyMGUtNTgyZi00MDM3LWExMmQtMDAwNDQ3MjVhNTQ5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2089-MpmW1ca0lyGB3Z38VWkfpin0AH0c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6471" it="0" lt="6471" ct="2" ts="1587564607716" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-31" dt="" by="411" sby="252" ng="5" na="5">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YjZlNjFkMGUtYmFkNS00NzRiLWJjYjAtMjY5MjM4ODQ3ZDRh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2074-1kd2Y1-2rzbT5zQeJkcU9AR14K4c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6470" it="0" lt="6470" ct="4" ts="1587564607717" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-10" dt="" by="411" sby="252" ng="5" na="5">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MjFlNjUzZWEtZGI5Yi00Y2E1LTljNzgtZDczMmZlZTE4Mzk5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2078-SmXxk-HHkecrsxgbzdS9xZ382Y8c7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6459" it="0" lt="6459" ct="1" ts="1587564607728" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-92" dt="" by="411" sby="252" ng="4" na="4">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=ZDNhNTQ5ZGUtZTBkMi00NGE2LWFhMDItZGRhZDZiY2Y1MjIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2165-7gNVp93xq-2QR6oHPllpwoyHihsc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6473" it="0" lt="6473" ct="3" ts="1587564607715" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-35" dt="" by="411" sby="252" ng="2" na="2">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=YTVkMDMyMDAtYjU5ZC00MTIwLWE3ODAtMjdiYTY4OWI4OGRm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2114-7L5K1Fphe1QMv1xjNyuDwGF2Fioc7d0272e5631</java.net.URL>
+</httpSample>
+<httpSample t="6460" it="0" lt="6460" ct="4" ts="1587564607728" s="true" lb="GET - Admin Center return ticket" rc="302" rm="" tn="Typical Admin Center API test 1-55" dt="" by="411" sby="252" ng="2" na="2">
+  <responseHeader class="java.lang.String">HTTP/1.1 302 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Length: 0
+Date: Wed, 22 Apr 2020 14:10:13 GMT
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">Non-TEXT response data, cannot record: ()</responseData>
+  <cookies class="java.lang.String">SESSION=MTQ4ZGFkN2MtYTk3ZC00MGU3LWE1MDQtOWIyMzU0YTYzMDNm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+  <redirectLocation class="java.lang.String">http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</redirectLocation>
+  <java.net.URL>http://172.50.10.37:8080/cas/login?ticket=ST-2105-noITuDYgE5ZjQ-zGiEoRUpnXtwsc7d0272e5631</java.net.URL>
+</httpSample>
+
+</testResults>
diff --git a/testing/jmeter/service.jmx b/testing/jmeter/service.jmx
new file mode 100644
index 0000000..56d3f04
--- /dev/null
+++ b/testing/jmeter/service.jmx
@@ -0,0 +1,219 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.2.1">
+  <hashTree>
+    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="User Authorization Service Tests" enabled="true">
+      <stringProp name="TestPlan.comments"></stringProp>
+      <boolProp name="TestPlan.functional_mode">false</boolProp>
+      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
+      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments"/>
+      </elementProp>
+      <stringProp name="TestPlan.user_define_classpath"></stringProp>
+    </TestPlan>
+    <hashTree>
+      <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments">
+          <elementProp name="ThreadCount" elementType="Argument">
+            <stringProp name="Argument.name">ThreadCount</stringProp>
+            <stringProp name="Argument.value">100</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">Number of Threads</stringProp>
+          </elementProp>
+          <elementProp name="Duration" elementType="Argument">
+            <stringProp name="Argument.name">Duration</stringProp>
+            <stringProp name="Argument.value">120</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="startupDelay" elementType="Argument">
+            <stringProp name="Argument.name">startupDelay</stringProp>
+            <stringProp name="Argument.value">3</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="RampUpPeriod" elementType="Argument">
+            <stringProp name="Argument.name">RampUpPeriod</stringProp>
+            <stringProp name="Argument.value">30</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="UserAuthzSaHost" elementType="Argument">
+            <stringProp name="Argument.name">UserAuthzSaHost</stringProp>
+            <stringProp name="Argument.value">http://192.168.101.25:8031</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+          </elementProp>
+        </collectionProp>
+      </Arguments>
+      <hashTree/>
+      <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="CSV Get Users/Passwords" enabled="true">
+        <stringProp name="filename">/root/jmeter-user-authz-sa/application-account.csv</stringProp>
+        <stringProp name="fileEncoding"></stringProp>
+        <stringProp name="variableNames">applicationId,accountId</stringProp>
+        <stringProp name="delimiter">,</stringProp>
+        <boolProp name="quotedData">false</boolProp>
+        <boolProp name="recycle">true</boolProp>
+        <boolProp name="stopThread">false</boolProp>
+        <stringProp name="shareMode">shareMode.all</stringProp>
+        <boolProp name="ignoreFirstLine">false</boolProp>
+      </CSVDataSet>
+      <hashTree/>
+      <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
+        <collectionProp name="CookieManager.cookies"/>
+        <boolProp name="CookieManager.clearEachIteration">true</boolProp>
+        <boolProp name="CookieManager.controlledByThreadGroup">false</boolProp>
+      </CookieManager>
+      <hashTree/>
+      <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
+        <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+          <collectionProp name="Arguments.arguments"/>
+        </elementProp>
+        <stringProp name="HTTPSampler.domain"></stringProp>
+        <stringProp name="HTTPSampler.port"></stringProp>
+        <stringProp name="HTTPSampler.protocol">https</stringProp>
+        <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+        <stringProp name="HTTPSampler.path"></stringProp>
+        <stringProp name="HTTPSampler.concurrentPool">4</stringProp>
+        <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
+        <stringProp name="HTTPSampler.connect_timeout">120000</stringProp>
+        <stringProp name="HTTPSampler.response_timeout">120000</stringProp>
+      </ConfigTestElement>
+      <hashTree/>
+      <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
+        <boolProp name="ResultCollector.error_logging">true</boolProp>
+        <objProp>
+          <name>saveConfig</name>
+          <value class="SampleSaveConfiguration">
+            <time>true</time>
+            <latency>true</latency>
+            <timestamp>true</timestamp>
+            <success>true</success>
+            <label>true</label>
+            <code>true</code>
+            <message>true</message>
+            <threadName>true</threadName>
+            <dataType>true</dataType>
+            <encoding>false</encoding>
+            <assertions>true</assertions>
+            <subresults>true</subresults>
+            <responseData>true</responseData>
+            <samplerData>false</samplerData>
+            <xml>true</xml>
+            <fieldNames>false</fieldNames>
+            <responseHeaders>true</responseHeaders>
+            <requestHeaders>true</requestHeaders>
+            <responseDataOnError>false</responseDataOnError>
+            <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+            <assertionsResultsToSave>0</assertionsResultsToSave>
+            <bytes>true</bytes>
+            <sentBytes>true</sentBytes>
+            <url>true</url>
+            <fileName>true</fileName>
+            <hostname>true</hostname>
+            <threadCounts>true</threadCounts>
+            <connectTime>true</connectTime>
+          </value>
+        </objProp>
+        <stringProp name="filename">/root/jmeter-user-authz-sa/error.jtl</stringProp>
+      </ResultCollector>
+      <hashTree/>
+      <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="Aggregate Report" enabled="true">
+        <boolProp name="ResultCollector.error_logging">false</boolProp>
+        <objProp>
+          <name>saveConfig</name>
+          <value class="SampleSaveConfiguration">
+            <time>true</time>
+            <latency>true</latency>
+            <timestamp>true</timestamp>
+            <success>true</success>
+            <label>true</label>
+            <code>true</code>
+            <message>true</message>
+            <threadName>true</threadName>
+            <dataType>true</dataType>
+            <encoding>true</encoding>
+            <assertions>true</assertions>
+            <subresults>true</subresults>
+            <responseData>true</responseData>
+            <samplerData>false</samplerData>
+            <xml>true</xml>
+            <fieldNames>false</fieldNames>
+            <responseHeaders>true</responseHeaders>
+            <requestHeaders>true</requestHeaders>
+            <responseDataOnError>false</responseDataOnError>
+            <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+            <assertionsResultsToSave>0</assertionsResultsToSave>
+            <bytes>true</bytes>
+            <sentBytes>true</sentBytes>
+            <url>true</url>
+            <fileName>true</fileName>
+            <hostname>true</hostname>
+            <threadCounts>true</threadCounts>
+            <idleTime>true</idleTime>
+            <connectTime>true</connectTime>
+          </value>
+        </objProp>
+        <stringProp name="filename">/root/jmeter-user-authz-sa/result.jtl</stringProp>
+        <boolProp name="useGroupName">true</boolProp>
+      </ResultCollector>
+      <hashTree/>
+      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="User Authorization Service - Security Role" enabled="true">
+        <stringProp name="ThreadGroup.on_sample_error">startnextloop</stringProp>
+        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+          <boolProp name="LoopController.continue_forever">false</boolProp>
+          <intProp name="LoopController.loops">-1</intProp>
+        </elementProp>
+        <stringProp name="ThreadGroup.num_threads">${ThreadCount}</stringProp>
+        <stringProp name="ThreadGroup.ramp_time">${RampUpPeriod}</stringProp>
+        <longProp name="ThreadGroup.start_time">1500501626000</longProp>
+        <longProp name="ThreadGroup.end_time">1500501626000</longProp>
+        <boolProp name="ThreadGroup.scheduler">true</boolProp>
+        <stringProp name="ThreadGroup.duration">${Duration}</stringProp>
+        <stringProp name="ThreadGroup.delay">${StartupDelay}</stringProp>
+        <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+      </ThreadGroup>
+      <hashTree>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - User Authorization Service - Security Role" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="-989688198">User Authorization Service Tests</stringProp>
+            <stringProp name="1940393561">GET - User Authorization Service - Security Role</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - User Authorization Service - Security Role" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - findByApplicationIdAccountId" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${UserAuthzSaHost}/v1/security/roles/applicationId/${applicationId}/accountId/${accountId}</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="49586">200</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">8</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+    </hashTree>
+  </hashTree>
+</jmeterTestPlan>
diff --git a/testing/jmeter/tree.xml b/testing/jmeter/tree.xml
new file mode 100644
index 0000000..e42be5c
--- /dev/null
+++ b/testing/jmeter/tree.xml
@@ -0,0 +1,2018 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testResults version="1.2">
+<httpSample t="4048" it="0" lt="4047" ts="1587564498836" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-45" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:22 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:21.167+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ODlkZTg2YjAtNWFjMS00ZDNjLWI5ODMtMWRiMGUzMjBlMzA2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="6668" it="0" lt="6668" ts="1587564496220" s="false" lb="GET - Admin Center api user" rc="500" rm="" tn="Typical Admin Center API test 1-5" dt="text" by="718" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Set-Cookie: SESSION=MTczMjVhY2YtM2Q0ZS00YTYzLTgwMGItZjljZDk4YWJhZDZm; Path=/; HttpOnly
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:22 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMyOTQsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDQ5NCwianRpIjoiSUQtVG9rZW4tMTI4NC14LWZQLVpPREVXai1La05FZ2F3RTZVS21odEpnVW5hNiIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.BPYU9Ot5JzESKbQE2uBfFH_dQ2xOsMuHvInuK5Obzlv27i_fgd-TBl35cqwAopvEcRvlJyXigzFgqafYVFFgOiwOUTohuU1fYPtNeaIJBtCkOYvZaqIiLLEkTna_JAZfb8zITQNsJKmmZ22nJDTxUlnlzcDRR7ypQRbkcn85UjGJK4INeXUlQg2oOoxapeZcrodO53uOGYtgZZSXOzk8FoxuEcB0cJlEjD59d1VaDnX39k7Y2BVDeU9wTv4EdIic_yn8ad2GWf8RzSzjdmE5Eg8mL68Bjd5ifuJXIh4691LMa7ntSd1lTkB0059Dhkpms-Vn3ONZBwJMEsb0lyT22A
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:22.898+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/api/user&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=M2I4YjNkNWUtYTEzMS00Y2NhLWI0NjctMzQxMGViMzg1YzAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2477" it="0" lt="2164" ts="1587564503051" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-83" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.207+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NjEyNTFkY2EtZTEyMy00ZDdiLWE5NmQtZmVlMzgwOTRjNDNi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2452" it="0" lt="2140" ts="1587564503076" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-82" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.208+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YzYzNTQ3ZWUtYmY4NS00YTdlLTllYjUtMjUyZTNlZWQ1ZWZk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2465" it="0" lt="2153" ts="1587564503064" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-41" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.205+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=OTUyYWI0M2ItNTFhZS00MzAwLTkyMDEtZDFlZGY3Nzg1ZTk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2474" it="0" lt="2161" ts="1587564503055" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-54" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.209+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZTM3OTNjY2MtNmZjYy00ZmY5LTk4NWEtZmNhMjdhNDlkMjM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2504" it="0" lt="2189" ts="1587564503027" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-50" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.207+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=OTM5OTc0YjctM2U3YS00Yjc1LWE4ZTYtMWQzYmI2Y2E1YjE3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2466" it="0" lt="2154" ts="1587564503065" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-93" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.208+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YjQ0NTdiMDUtODJmZC00MjE1LTg2YmQtNjI0YWEwNzY4N2Y3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2490" it="0" lt="2175" ts="1587564503042" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-33" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.209+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NmIzODdjYTgtM2ZlMy00MWMyLTk5YTEtZTlmMWZhYjI2OWI4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2502" it="0" lt="2186" ts="1587564503031" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-19" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.208+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MzI2NzhkYzgtYWY3MC00MWE5LThiODgtMjFhNmVkZTJiZjNk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2457" it="0" lt="2144" ts="1587564503076" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-29" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.214+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MjYzY2MwNTItNTFhMy00NTQ2LWEzYmUtMzUwODMwZTMyMmUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2510" it="0" lt="2193" ts="1587564503024" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-62" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.210+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YTBhODQ1MGUtNzY2My00YWI4LWI3YTYtZTFmZGU5YjI3ZmVh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2464" it="0" lt="2150" ts="1587564503070" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.211+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MDUwOTFjYWYtNTJmOS00ODlkLTk1ZmQtYTE1NGMyZjA4ZjUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2469" it="0" lt="2155" ts="1587564503066" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-4" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.208+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YjhkMWQ1MzAtNmRkYS00MjUwLWIyMzctYjE3Y2JmZDA4MWZl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2513" it="0" lt="2513" ts="1587564503022" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-7" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.218+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NDMxYzJhNDQtMzI2My00ZjFkLTkyNzgtOGExM2E1ZTc0OWJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2468" it="0" lt="2152" ts="1587564503068" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-85" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.212+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MWUxMTE1NGMtYTdmNy00M2EyLWIyODAtMTAzNDEzNmZmMGNh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2475" it="0" lt="2475" ts="1587564503061" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-18" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.218+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YjMwMTA1NjgtMGRlMi00Mzk4LWE4NjQtOGQxNTM1ODUxYjk3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2466" it="0" lt="2146" ts="1587564503070" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.208+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=Mjc0MzRjMzktOTY2NS00NGUzLWE4OTUtZGM4ZGE3ZDRkOTYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2489" it="0" lt="2171" ts="1587564503048" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-13" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.213+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmQ1YWJiM2YtYjk0Ni00OTc3LThmYzYtZDkxNzczNWFjMTYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2466" it="0" lt="2466" ts="1587564503071" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-65" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.214+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=Mzc0OWM4YTYtOTkyNy00NzFkLTgxZWQtNjA3ODNlM2Q5NjU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2485" it="0" lt="2166" ts="1587564503053" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-23" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.213+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MzdlNjZlNzEtNjBmNy00NDlkLWE2NjAtMjg5NjU1Y2M4NjBl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2474" it="0" lt="2464" ts="1587564503064" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-43" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.217+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MWY3NTg3MjQtNDUyZi00ODA3LWI4OTEtODA5ZGZhMTRiYjlk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2483" it="0" lt="2483" ts="1587564503056" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-77" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.216+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ODNhNGJlOWEtZGQ0Zi00YTg4LWE3MWItODI2YTExZmUyZjgz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2481" it="0" lt="2470" ts="1587564503058" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-96" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.219+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YTNiYzY3OWQtMDMzMS00YmY5LWFiODgtMzkyMjQ3YTVhMjAz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2481" it="0" lt="2158" ts="1587564503059" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-74" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.205+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NTVlNmY0MmUtYWQ0My00NjljLWJjMTQtZWVmOWJhMmZkOTFm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2477" it="0" lt="2464" ts="1587564503063" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-89" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.214+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MjAwNjBkZGUtZmViYS00YWU5LWIwYWQtYWE4NDdlZDdlMWVm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2484" it="0" lt="2471" ts="1587564503057" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-94" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.215+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=OTAyYjYyZTMtNGZlZS00MjBjLTljNzAtOWRhZmYxNGM3ZDAy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2521" it="0" lt="2199" ts="1587564503020" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-48" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.207+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NDFlOGUxMmMtZjI0ZC00OGU3LWE2OTktZDZmM2UyOTE4MzIz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2464" it="0" lt="2450" ts="1587564503077" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-91" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.214+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NTU3YTQ1ZjgtZDY0Mi00OWY1LTgyOWItMTZmMTg4MzU1ZjY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2513" it="0" lt="2190" ts="1587564503029" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-61" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.211+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ODVlMDAxM2EtZmFiOS00ZjE0LWIzNjEtYTMyY2QyMDY3N2U5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2471" it="0" lt="2456" ts="1587564503071" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-10" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.211+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YmIwYjMyOWItMjVlYy00OGNhLWFkYTktYTg2NWQxM2ZmOTli</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2495" it="0" lt="2495" ts="1587564503048" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-90" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.217+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MmU0MzhhOWItZWM4MC00NWU4LTlkM2ItNTFmNDk3ZmFiODU0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2494" it="0" lt="2478" ts="1587564503049" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-88" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.215+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YjdlM2EwZjctYmEyNS00Mzg2LTlkNjgtZmNmMzBkOTA3ODQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2460" it="0" lt="2148" ts="1587564503069" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-11" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.209+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MzMzMWM3ZWYtMDJkNC00MmYwLThkMmYtZTY0MzdmZWRiMjkx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2498" it="0" lt="2173" ts="1587564503046" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-58" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.209+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YTZjNmU0NmMtMzZjYi00Mzg5LWI3OTgtMjhhYTYwZjRmZWVj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2466" it="0" lt="2449" ts="1587564503078" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-35" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.216+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmQ1ZDVhOWYtNDFhMC00MzIzLWI3MmUtNjVmMjQ0YjgzNWIy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2515" it="0" lt="2515" ts="1587564503030" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-76" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.213+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MTFhZDkyNDktZWMyNS00NTY2LThiMjctMmQ3NmUwOTI0NDE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2492" it="0" lt="2165" ts="1587564503054" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-80" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.212+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MDlkMmVlMTMtOTQ4Yi00ODg2LThjZmQtOTEzYjM2NDZkMThm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2518" it="0" lt="2190" ts="1587564503028" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-9" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.210+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YjUxOGQ3NDgtYjRmYi00Mzg4LWIwNmUtYTJkOTYyYjhmYjY1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2491" it="0" lt="2161" ts="1587564503056" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-40" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.211+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmJjYmRiMjMtZTAwMy00MTM4LWFiMTgtMWM3NDYyMzc2NDJl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2501" it="0" lt="2171" ts="1587564503047" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-15" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.211+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YjdhZGE4ZDgtMGIwZC00NjJmLWIxM2MtZmEzYzgwZDM1ZDMy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2480" it="0" lt="2480" ts="1587564503069" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.209+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NmZkOTFkZjgtYWFhMS00MzVmLTgxY2YtYWE5NWZjMzVhYmEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2489" it="0" lt="2158" ts="1587564503060" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-97" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.212+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YzE2ZDM5NzUtM2Q0NC00MzY1LWE4MDUtOWMwOTQ2ZmUzMDE2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2490" it="0" lt="2469" ts="1587564503060" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-14" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.214+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NGMzMmY1ODktOTg2MC00MTE0LWI0YzgtNmZhMjk3MDg5MWU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2486" it="0" lt="2157" ts="1587564503065" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.210+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NTBmMzdmNGEtMjFiOC00YzljLTg1YzYtNjE5OTg2NjQ5MzMy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2526" it="0" lt="2195" ts="1587564503026" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-34" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.209+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGVjOWE4MjEtZDFjNC00ZTFkLWI0OGYtY2YxYjg2YzZjMjk0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2487" it="0" lt="2461" ts="1587564503066" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.215+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YmNkODNiMmMtZGZkOC00ZjlmLWJjMmEtYzY5NTJlMzAyMjNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2486" it="0" lt="2461" ts="1587564503068" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-100" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.219+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MDk4ZDJiN2MtMTIzYS00YWYxLTk3YTMtY2UxOThlZWE1Yjk4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2492" it="0" lt="2465" ts="1587564503062" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-75" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.216+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MzBhOWFlYjktNjRkMy00ZGM1LWFlMDEtMjUyMTk1NmExOTYy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2488" it="0" lt="2462" ts="1587564503067" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-1" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.217+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YjRlY2ZkZmYtMzJhMi00ZTNlLTkzZjgtOTRmMzRkMjYwNDM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2504" it="0" lt="2475" ts="1587564503052" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-72" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.214+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MGY1MmQ5ZTYtOTcxMy00NTZkLTliZGItOTgwZmM3Yzc4ZGJh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2489" it="0" lt="2459" ts="1587564503068" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-78" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.216+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZGI5MjQ4ZWItNTY2MC00N2EwLWExMzctMTdjMWExOWUyMjli</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2507" it="0" lt="2171" ts="1587564503050" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-81" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.213+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NmJkOWQ0NmMtNjdlZC00ZTFjLWI5ZWQtNzJlY2YxZDE5MmRl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2494" it="0" lt="2169" ts="1587564503050" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-55" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.213+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MTcxYWI0MzktYmFkNy00Mjk2LWJiODEtZWU4OGI5MTc2ZjNl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2515" it="0" lt="2483" ts="1587564503044" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-59" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.217+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2QzZDUwZjgtNWM2Ny00MmE1LTlhMjgtYTIxMjI0MzliZTFi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2537" it="0" lt="2506" ts="1587564503023" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-52" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.205+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZmM5MjlhNjItY2FiNi00ODkzLTliMmQtMjZjMDZjYjliNjk1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2498" it="0" lt="2469" ts="1587564503063" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-71" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.212+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=OGJjZjY1MjgtMTgyZC00ODM1LWE3YWYtMGE0M2M4ZGYzMzM5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2475" it="0" lt="2475" ts="1587564503066" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-68" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.216+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MmE2YzFkZTAtZjMwMi00YmEyLTg3NjktZDAzODRiOWE4ZmJk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2470" it="0" lt="2458" ts="1587564503070" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-21" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.207+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=M2E2N2QzMzctMWU4OC00YWMwLTk1MjYtYmJkMTMzOWU1MTdk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2512" it="0" lt="2193" ts="1587564503025" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-30" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.205+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YTcyMmYzMTQtNDkwOC00ZTUxLWE3YmUtOTkxZDVmZWU0OTI0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2492" it="0" lt="2492" ts="1587564503043" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-98" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.219+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NzdkZTJmM2QtOTJjZi00YjkyLWFmMmMtMTdlNDVkNjE5ZjQ4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2467" it="0" lt="2153" ts="1587564503067" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-37" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.210+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=OGY3NDJkZjAtMmMyMy00ZTgzLTk0ODQtMTAxYjY5NzIxYWRh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2522" it="0" lt="2485" ts="1587564503042" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:25.215+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDU1OTIzZGYtNjAzMS00ZjFjLTk3NzYtOTk3YTEwMzFmYTU1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="5344" it="0" lt="5343" ts="1587564531428" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-39" dt="text" by="631" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:56 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:56.780+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MmE3ZWQyNDctMGRmYy00Y2E3LWIzYTAtY2YwMzcxZGMyOTgz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="3599" it="0" lt="3514" ts="1587564533258" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-51" dt="text" by="654" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Content-Language: en-US
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:08:56 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:08:56.783+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDYzNTU3Y2EtN2VjZS00N2YxLTgwYjAtNzA0OGM5OWQzOGVk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="11769" it="0" lt="11766" ts="1587564532130" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-45" dt="text" by="787" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.074+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDUxMTQzZWEtZjQ1Mi00NjYzLTlkZTMtNjI4MjI4MDBiMzIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2843" it="0" lt="2840" ts="1587564541062" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-55" dt="text" by="447" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.907+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MTcwZGNhMjktZTg4ZS00ZGZlLWFiZDYtM2QyZmQwMjIwOWRh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2843" it="0" lt="2840" ts="1587564541063" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-72" dt="text" by="447" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.909+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=OTU1NmM2M2UtYzA4YS00ZjY5LTg0OTMtYzAxYjMyM2FhYWUz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2845" it="0" lt="2842" ts="1587564541062" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-42" dt="text" by="447" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.908+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NDBkYjIyYzUtNjAyNS00YTRmLWEzMjItNzg5ZDcyZGY3ZWIx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2831" it="0" lt="2827" ts="1587564541077" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-77" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.909+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NDA4NDJlYzUtZDA4OC00MDNlLTllMTctY2QzZWVhYmEyNWJl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2847" it="0" lt="2842" ts="1587564541062" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-15" dt="text" by="447" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.909+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NWU1NTZkOGEtMTNjMS00ZTFjLWFhYTUtZWRlNTFkMDE2NTAx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2845" it="0" lt="2843" ts="1587564541066" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.909+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YzI0NTljMDQtMGNlMi00MGNjLTg3YTYtYzY0NGNiMTc2NzIz</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2873" it="0" lt="2872" ts="1587564541038" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-21" dt="text" by="447" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.906+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NmZhNzkxZjAtNzhlOS00Nzg1LTk4ZmUtMTdjMDYzMDllY2Nm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2874" it="0" lt="2872" ts="1587564541038" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-78" dt="text" by="654" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Content-Language: en-US
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.918+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YTIwMTczMDEtMjVmZS00NzgzLWFhNDItNzAxNTg3Mjg4ZTcy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2876" it="0" lt="2874" ts="1587564541037" s="false" lb="GET - Admin Center api security account" rc="500" rm="" tn="Typical Admin Center API test 1-27" dt="text" by="669" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzMzEsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDUzMSwianRpIjoiSUQtVG9rZW4tMTQzMS1aZENKc0gtaHItVnE5R1IyT2doLUZrMUliZmNCRUdxdSIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.sb-fWC2HHGGTcN_bepmaT4i0Novk3iRmfjdWtc6VL3DeVOXs5GqBHJMklzAfGimN75crLG6glK5Mr6NS58d9dGzNX9AtheCG0tpbSASwNjh8Q7E3RbuDQ_W-Xnfl5uuq1XA9y7GpY2sGiZcbR_G637QPTr_pCaRwhOuQNgxUO29eofyKXOVOgG4_B--QxujC1rKA2to0PkbN699xJQBeQUt_MiIgAjic4aQ4nABBcgKN4hatFdPHYfOp6Tmu0xCiD_ycU0QUhSyHJAL84Wy8HBFX8QSVwKXhQ8V7UH5sCRWgM9_bDin7MRjN0oG1tOu1zkM1O5xTadfTF1A9E8-y_Q
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.909+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/api/v1/security/accounts/accountName/smartadmin&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NTE0M2E0OTQtZGY0Yi00ZTcyLWEyMDYtYjE3OGVhZmY0NTky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2852" it="0" lt="2850" ts="1587564541061" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-5" dt="text" by="447" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.907+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YmRjZTA1ZmYtN2QwZi00MzE0LTg5ZDgtMmRjZTI1ZjY3M2I3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2845" it="0" lt="2840" ts="1587564541072" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-96" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.911+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=Y2RjYzNlMmEtNjI2NC00YjkxLThjOWQtYmNiMDNiN2E0Y2Yy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2852" it="0" lt="2849" ts="1587564541065" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-33" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.909+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YjcyODk0NDYtNjliNy00YzgzLTg3OGItZTRmZTRkMzg0N2Nl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2855" it="0" lt="2850" ts="1587564541063" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-29" dt="text" by="447" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.910+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MzQxMDFmZGUtMzRmNS00NjI5LWIxOTgtMWJlYzFiMjQ4Yjhh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2843" it="0" lt="2839" ts="1587564541078" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-71" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.911+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NDNjYzI0NzYtMGI5NC00NmIyLWE5YjQtMjRlNjNiNjIyNTBm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2843" it="0" lt="2839" ts="1587564541078" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-44" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:03 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:03.911+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWUxNzBhM2UtYjFhOS00ODQ4LWFjMGItYTI3NWU0ZDU4MGUw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="6430" it="0" lt="6429" ts="1587564539966" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-86" dt="text" by="631" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:06.405+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NWM3MjM1ZWYtMjYxOS00NDEzLWIyYjItZDY0ZTEwZjRlODdk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="6430" it="0" lt="6427" ts="1587564539966" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-30" dt="text" by="631" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:06.401+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=OTE1NzlkNzgtNWZmNS00ODFjLTk5M2UtNDhlYWFiNWQ1ZDNh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="6445" it="0" lt="6444" ts="1587564539964" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-70" dt="text" by="631" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:06.404+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=OTFjZTFkY2MtN2YxMC00MTQwLTg5ZTUtYzQ0YTgzMjk4MTEy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="6444" it="0" lt="6437" ts="1587564539965" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-1" dt="text" by="631" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:06.406+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YzFlZDE5YzUtMjM0Ny00YjZlLWEzYzgtMWMzYzI4MTMzYzAw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="6443" it="0" lt="6440" ts="1587564539967" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-23" dt="text" by="631" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:06 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:06.401+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ODc5MDhiOTgtYzc3ZC00MGVjLWJmMDItZWUwNTZkNTYxNWRi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="4411" it="0" lt="4408" ts="1587564560802" s="false" lb="GET - Admin Center CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-57" dt="text" by="629" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:24.430+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NTY3ZDA3NGQtZjI0ZS00MjZiLTllY2YtNTBlZjEyMTI3YzFi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="13191" it="0" lt="13191" ts="1587564552023" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-53" dt="text" by="768" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Type: application/json;charset=UTF-8
+Content-Length: 290
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:22.891+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MWYwOWRiNzYtODRhMC00YzBmLWEwZTgtZDMwZjk1OGQ2NThk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="13976" it="0" lt="13976" ts="1587564551238" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-15" dt="text" by="768" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.37:8080/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE
+Content-Type: application/json;charset=UTF-8
+Content-Length: 290
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:22.892+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=Yjk5OTU5YzgtMDY1My00NWRjLTgxNDAtNzQwYTI5NDE5NjQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="5213" it="0" lt="5209" ts="1587564560001" s="false" lb="GET - Admin Center return JWT" rc="500" rm="" tn="Typical Admin Center API test 1-86" dt="text" by="660" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Content-Language: en-US
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:24.434+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/jwt/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MzI2OTEzNDMtNjZmYi00YzgyLWE1YTMtZTcwM2Q0MzE0NWZi</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="4413" it="0" lt="4412" ts="1587564560807" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-65" dt="text" by="975" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: text/html;charset=utf-8
+Content-Language: en
+Content-Length: 820
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!doctype html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;&lt;title&gt;HTTP Status 500 – Internal Server Error&lt;/title&gt;&lt;style type=&quot;text/css&quot;&gt;h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;HTTP Status 500 – Internal Server Error&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;</responseData>
+  <cookies class="java.lang.String">SESSION=MTMwYjM0NzktZTI5YS00ODI5LWJjYWEtMmM1ODM2ZDE1OTky</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="4416" it="0" lt="4416" ts="1587564560805" s="false" lb="GET - Admin Center return JWT" rc="500" rm="" tn="Typical Admin Center API test 1-96" dt="text" by="975" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: text/html;charset=utf-8
+Content-Language: en
+Content-Length: 820
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!doctype html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;&lt;title&gt;HTTP Status 500 – Internal Server Error&lt;/title&gt;&lt;style type=&quot;text/css&quot;&gt;h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;HTTP Status 500 – Internal Server Error&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;</responseData>
+  <cookies class="java.lang.String">SESSION=YjBhZWM1ZjMtY2I4Ni00ZTZiLTg1ZGEtNzYyMzYwZDUzNjA4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="4380" it="0" lt="4380" ts="1587564560874" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-76" dt="text" by="975" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: text/html;charset=utf-8
+Content-Language: en
+Content-Length: 820
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!doctype html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;&lt;title&gt;HTTP Status 500 – Internal Server Error&lt;/title&gt;&lt;style type=&quot;text/css&quot;&gt;h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;HTTP Status 500 – Internal Server Error&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;</responseData>
+  <cookies class="java.lang.String">SESSION=OGYyMTg2ODAtODc2Ny00ODQ4LWJhN2ItNGNjYTYyYjRiZjIw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="4378" it="0" lt="4378" ts="1587564560876" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-92" dt="text" by="975" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: text/html;charset=utf-8
+Content-Language: en
+Content-Length: 820
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!doctype html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;&lt;title&gt;HTTP Status 500 – Internal Server Error&lt;/title&gt;&lt;style type=&quot;text/css&quot;&gt;h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;HTTP Status 500 – Internal Server Error&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;</responseData>
+  <cookies class="java.lang.String">SESSION=NDA1Mjg0N2UtMzk5Ny00M2Q3LWFhYmMtOTgyN2RmODRjYjM4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="4453" it="0" lt="4453" ts="1587564560805" s="false" lb="GET - Admin Center return JWT" rc="500" rm="" tn="Typical Admin Center API test 1-78" dt="text" by="975" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: text/html;charset=utf-8
+Content-Language: en
+Content-Length: 820
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!doctype html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;&lt;title&gt;HTTP Status 500 – Internal Server Error&lt;/title&gt;&lt;style type=&quot;text/css&quot;&gt;h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;HTTP Status 500 – Internal Server Error&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;</responseData>
+  <cookies class="java.lang.String">SESSION=OWQ0YmQ0MDAtZDJmNy00MDg0LThlODAtMTdjMjBhMGY1YmUx</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="4457" it="0" lt="4449" ts="1587564560802" s="false" lb="GET - Admin Center return JWT" rc="500" rm="" tn="Typical Admin Center API test 1-55" dt="text" by="660" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Content-Language: en-US
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:25.228+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/jwt/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MGNlNWI2MmQtYjg3ZS00NTQ4LWE5ZjYtYmEyZTk5NGJiZTc1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="4457" it="0" lt="4448" ts="1587564560803" s="false" lb="GET - Admin Center return JWT" rc="500" rm="" tn="Typical Admin Center API test 1-23" dt="text" by="660" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Content-Language: en-US
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:25.259+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/jwt/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDU5Y2JlNDItNDY0NS00YzhjLWI2MzQtZDc0MDZhYzZhMDE4</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="4458" it="0" lt="4458" ts="1587564560803" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-80" dt="text" by="975" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: text/html;charset=utf-8
+Content-Language: en
+Content-Length: 820
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!doctype html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;&lt;title&gt;HTTP Status 500 – Internal Server Error&lt;/title&gt;&lt;style type=&quot;text/css&quot;&gt;h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;HTTP Status 500 – Internal Server Error&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;</responseData>
+  <cookies class="java.lang.String">SESSION=MzRkOGFhZWEtZjU3Zi00ZjI5LTlmN2QtMmZiYjlmNTY3ZWQy</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="4456" it="0" lt="4456" ts="1587564560806" s="false" lb="GET - Admin Center return CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-77" dt="text" by="975" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: text/html;charset=utf-8
+Content-Language: en
+Content-Length: 820
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!doctype html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;&lt;title&gt;HTTP Status 500 – Internal Server Error&lt;/title&gt;&lt;style type=&quot;text/css&quot;&gt;h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;HTTP Status 500 – Internal Server Error&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;</responseData>
+  <cookies class="java.lang.String">SESSION=NmM4ZTc3MWMtYjIxNy00MGFhLWFhZmYtY2YyODc0MmJkMWY3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="4387" it="0" lt="4387" ts="1587564560876" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-74" dt="text" by="975" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: text/html;charset=utf-8
+Content-Language: en
+Content-Length: 820
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">&lt;!doctype html&gt;&lt;html lang=&quot;en&quot;&gt;&lt;head&gt;&lt;title&gt;HTTP Status 500 – Internal Server Error&lt;/title&gt;&lt;style type=&quot;text/css&quot;&gt;h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;HTTP Status 500 – Internal Server Error&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;</responseData>
+  <cookies class="java.lang.String">SESSION=ZTk1N2E5YWMtNGFiNi00NjM3LThlZWMtMmVmYmIzYjI0MDA5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2380" it="0" lt="2373" ts="1587564562886" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-95" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:25.223+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZWI1NTIwNGEtNDQyZi00YjhkLWEwZDgtMGQ1NGFiODk4OGZj</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2383" it="0" lt="2378" ts="1587564562883" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-46" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:25 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:25.223+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ODk3NDAxOWMtZmUzYS00YzY0LWFhNmMtNmJiNGVhNmRkYTE1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="5792" it="0" lt="5792" ts="1587564585473" s="false" lb="GET - Admin Center api user" rc="500" rm="" tn="Typical Admin Center API test 1-62" dt="text" by="611" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Content-Length: 289
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NiwianRpIjoiSUQtVG9rZW4tMTY1My1xYW9hMWtpTlp6b1Y0TGVaWnFEeWRuVXlEcTl3eVByQyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.b6Rpek42sxw3BMsW8ZcS8hukMpD2V4yhUYL3Q4r_5FNN25VJmQtUBBXCmNaHV_CqUKRnOSkR1zTlbkYUCVnPJnKzY4lBkugjjCNmESBHBeNNHjIDRlFXvX-2_MnD3tAEFaGU6tQEuIQfKlpAabTiVGDOHsC5FmjxU-UOo-lNmBFdniOCW7uBsnZtJHRHtM_r-xUF6J7jpE-h1oXEXiC1CDKT-7uZ-gBeiANhFPvuEuKEWkZNZFxiY60XOI_xhPh1-WNElKvpscA6RqR5L8zEsTaZKV7INdnJ_bcHy4Pvcw7A3_BDJNHjst2dx6idxG9nZ4mxJth-g8zy7k4kH7w7fQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:50.572+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/api/user&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=OTBiYzAzYmQtZjlmOC00YWFmLWI4MWYtZjAxZmM5N2VjYzdm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="5799" it="0" lt="5799" ts="1587564585467" s="false" lb="GET - Admin Center api user" rc="500" rm="" tn="Typical Admin Center API test 1-87" dt="text" by="611" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Content-Length: 289
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1OTMzNzYsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzU2NDU3NiwianRpIjoiSUQtVG9rZW4tMTY1NC1EbXZpZmhLUlJyTnFaeVdRM3pYNld0dWNtYzFtR3haSyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.ghuIrGPUzfGzT8RhDRSc93_Zh0xJvlaptohh364ebgtU_EGSEHwa1qXF77ZqdTnmuZV6z_2Ny4eMhwnJf59yJ7GmCe02TdBAyt0jrefb2kilod9e2kfkgjxsjalcGFiSuZg9unYp6osVy-YMu4UIpQd8ZY-W2RWg_EzkDZCZWxP01-tSsqq0YdsZeF2zjcCrj3kFHOFeRdKAvXP7FLkg3CZGi58LNVGdy8D5J8Dg90Fko58LSiQTN57lFO_tY_F0ivYutXQHASmSOrR5UkEtU9q_pkndPjmMdJSMBd8DYfHiRQ7ReRlnsa6HNlCNoU_eXBnPxJdEUupgRrYUpd4DSQ
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:50.572+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/api/user&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YTYwNWFjYmUtYmJlZC00MjNhLWE5OGUtNzA5YmU3ZWE0ZTc3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="7618" it="0" lt="7616" ts="1587564583662" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-47" dt="text" by="631" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:49.662+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MWQxNmM0MmMtNzRlMy00ZjRmLTgwMzktNjZhZDY1OTllOTM1</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="7483" it="0" lt="7481" ts="1587564583798" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-48" dt="text" by="631" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:51.281+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YTExNDU5MzktNjQ3Mi00MGQ0LTllOGMtZmM0NmE2NjBhYjE5</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="7485" it="0" lt="7482" ts="1587564583797" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-100" dt="text" by="631" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:49.666+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=ZDQ4YzBmODEtMDQwNy00Y2UwLTkyMWUtYjdmMmRiMTEwOGQ2</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="7483" it="0" lt="7479" ts="1587564583799" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-9" dt="text" by="631" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:49.660+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YmRjZTgxODEtMWFmMC00NTMxLWE5NmMtMDMwZDhkN2QxZTBh</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="7487" it="0" lt="7484" ts="1587564583796" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-90" dt="text" by="631" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:49.661+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=NjUxYTQ0MWQtOGFjNC00MGRiLTk1MzctYjg3MTE4Y2ZhZTNk</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="7486" it="0" lt="7485" ts="1587564583798" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-13" dt="text" by="631" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:51.293+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YTQ4ZDBmZjMtYTdlZS00NjRkLTk4ODAtZWI1YTEzNTE0ZWM3</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="7494" it="0" lt="7484" ts="1587564583799" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-2" dt="text" by="631" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:09:51 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:09:51.288+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=YTczZWVlYTEtZmQzOC00NDUxLWJhZDYtZWFkNGY4ZmM5ZTZm</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="3810" it="0" lt="3809" ts="1587564603656" s="false" lb="GET - Admin Center CAS sso" rc="500" rm="" tn="Typical Admin Center API test 1-38" dt="text" by="725" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Location: http://172.50.10.56/cas/login?service=http%3A%2F%2F172.50.10.37%3A8080%2Fcas%2Flogin
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:10:06.712+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/sso&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MWFhYjViMzEtZGM3My00YWRlLWI5YTYtNzI4MzgzZjBkMjQ0</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="2771" it="0" lt="2770" ts="1587564604700" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-63" dt="text" by="449" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:10:07 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:10:07.475+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=MjM3ZWU0ZjEtMzgyNi00MWRmLTlhOTktYWUwNzMyMTA5NmYw</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+<httpSample t="13567" it="0" lt="12549" ts="1587564599921" s="false" lb="GET - Admin Center return ticket" rc="500" rm="" tn="Typical Admin Center API test 1-52" dt="text" by="631" ng="100" na="100">
+  <responseHeader class="java.lang.String">HTTP/1.1 500 
+X-Content-Type-Options: nosniff
+X-XSS-Protection: 1; mode=block
+Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+Pragma: no-cache
+Expires: 0
+X-Frame-Options: DENY
+Content-Type: application/json;charset=UTF-8
+Transfer-Encoding: chunked
+Date: Wed, 22 Apr 2020 14:10:12 GMT
+Connection: close
+</responseHeader>
+  <requestHeader class="java.lang.String">Connection: keep-alive
+Host: 172.50.10.37:8080
+User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_242)
+</requestHeader>
+  <responseData class="java.lang.String">{&quot;timestamp&quot;:&quot;2020-04-22T22:10:12.350+0800&quot;,&quot;status&quot;:500,&quot;error&quot;:&quot;Internal Server Error&quot;,&quot;exception&quot;:&quot;org.springframework.dao.QueryTimeoutException&quot;,&quot;message&quot;:&quot;Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out&quot;,&quot;path&quot;:&quot;/cas/login&quot;}</responseData>
+  <cookies class="java.lang.String">SESSION=M2Q1NDEyZjMtMTg4NS00MGMwLWIxZmQtYjdiYmJiM2Q4Nzdl</cookies>
+  <method class="java.lang.String">GET</method>
+  <queryString class="java.lang.String"></queryString>
+</httpSample>
+
+</testResults>
diff --git a/testing/jmeter/user-api.jmx b/testing/jmeter/user-api.jmx
new file mode 100644
index 0000000..9f7d357
--- /dev/null
+++ b/testing/jmeter/user-api.jmx
@@ -0,0 +1,590 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.2.1">
+  <hashTree>
+    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
+      <stringProp name="TestPlan.comments"></stringProp>
+      <boolProp name="TestPlan.functional_mode">false</boolProp>
+      <boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
+      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
+      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments"/>
+      </elementProp>
+      <stringProp name="TestPlan.user_define_classpath"></stringProp>
+    </TestPlan>
+    <hashTree>
+      <SetupThreadGroup guiclass="SetupThreadGroupGui" testclass="SetupThreadGroup" testname="setUp线程组" enabled="true">
+        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
+        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true">
+          <boolProp name="LoopController.continue_forever">false</boolProp>
+          <stringProp name="LoopController.loops">1</stringProp>
+        </elementProp>
+        <stringProp name="ThreadGroup.num_threads">500</stringProp>
+        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
+        <boolProp name="ThreadGroup.scheduler">false</boolProp>
+        <stringProp name="ThreadGroup.duration"></stringProp>
+        <stringProp name="ThreadGroup.delay"></stringProp>
+        <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+      </SetupThreadGroup>
+      <hashTree>
+        <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+          <collectionProp name="Arguments.arguments">
+            <elementProp name="userApiHost" elementType="Argument">
+              <stringProp name="Argument.name">userApiHost</stringProp>
+              <stringProp name="Argument.value">http://192.168.101.11:8080</stringProp>
+              <stringProp name="Argument.metadata">=</stringProp>
+            </elementProp>
+          </collectionProp>
+        </Arguments>
+        <hashTree/>
+        <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="聚合报告" enabled="true">
+          <boolProp name="ResultCollector.error_logging">false</boolProp>
+          <objProp>
+            <name>saveConfig</name>
+            <value class="SampleSaveConfiguration">
+              <time>true</time>
+              <latency>true</latency>
+              <timestamp>true</timestamp>
+              <success>true</success>
+              <label>true</label>
+              <code>true</code>
+              <message>true</message>
+              <threadName>true</threadName>
+              <dataType>true</dataType>
+              <encoding>false</encoding>
+              <assertions>true</assertions>
+              <subresults>true</subresults>
+              <responseData>false</responseData>
+              <samplerData>false</samplerData>
+              <xml>false</xml>
+              <fieldNames>true</fieldNames>
+              <responseHeaders>false</responseHeaders>
+              <requestHeaders>false</requestHeaders>
+              <responseDataOnError>false</responseDataOnError>
+              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+              <assertionsResultsToSave>0</assertionsResultsToSave>
+              <bytes>true</bytes>
+              <sentBytes>true</sentBytes>
+              <url>true</url>
+              <threadCounts>true</threadCounts>
+              <idleTime>true</idleTime>
+              <connectTime>true</connectTime>
+            </value>
+          </objProp>
+          <stringProp name="filename"></stringProp>
+        </ResultCollector>
+        <hashTree/>
+        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="察看结果树" enabled="true">
+          <boolProp name="ResultCollector.error_logging">true</boolProp>
+          <objProp>
+            <name>saveConfig</name>
+            <value class="SampleSaveConfiguration">
+              <time>true</time>
+              <latency>true</latency>
+              <timestamp>true</timestamp>
+              <success>true</success>
+              <label>true</label>
+              <code>true</code>
+              <message>true</message>
+              <threadName>true</threadName>
+              <dataType>true</dataType>
+              <encoding>false</encoding>
+              <assertions>true</assertions>
+              <subresults>true</subresults>
+              <responseData>false</responseData>
+              <samplerData>false</samplerData>
+              <xml>false</xml>
+              <fieldNames>true</fieldNames>
+              <responseHeaders>false</responseHeaders>
+              <requestHeaders>false</requestHeaders>
+              <responseDataOnError>false</responseDataOnError>
+              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+              <assertionsResultsToSave>0</assertionsResultsToSave>
+              <bytes>true</bytes>
+              <sentBytes>true</sentBytes>
+              <url>true</url>
+              <threadCounts>true</threadCounts>
+              <idleTime>true</idleTime>
+              <connectTime>true</connectTime>
+            </value>
+          </objProp>
+          <stringProp name="filename"></stringProp>
+        </ResultCollector>
+        <hashTree/>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="1获取用户组列表" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${userApiHost}/v1/groups?pageIndex=1&amp;pageSize=20</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="67791721">&quot;code&quot;:0</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">2</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="get_id" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">id</stringProp>
+            <stringProp name="RegexExtractor.regex">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;pageIndex&quot;:1,&quot;pageSize&quot;:20,&quot;pageCount&quot;:9,&quot;totalCount&quot;:170,&quot;currentCount&quot;:20,&quot;items&quot;:[{&quot;id&quot;:&quot;(.+)&quot;,</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="2获取用户组" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${userApiHost}/v1/groups/REMS</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="67791721">&quot;code&quot;:0</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">2</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+        </hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="3获取用户组（岗位）下的帐号 - 组织机构列表" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${userApiHost}/v1/groups/REMS/accountOrganizations</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="67791721">&quot;code&quot;:0</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">2</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+        </hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="4获取用户组下的用户列表" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${userApiHost}/v1/groups/REMS/users</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="67791721">&quot;code&quot;:0</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">2</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+        </hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="5获取账号下的用户组" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${userApiHost}/v1/groups/accountId/01010/groups</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="67791721">&quot;code&quot;:0</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">2</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+        </hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="6获取用户列表" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${userApiHost}/v1/users?pageIndex=1&amp;pageSize=20</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="67791721">&quot;code&quot;:0</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">2</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="get_id" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">id</stringProp>
+            <stringProp name="RegexExtractor.regex">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;pageIndex&quot;:1,&quot;pageSize&quot;:20,&quot;pageCount&quot;:9,&quot;totalCount&quot;:170,&quot;currentCount&quot;:20,&quot;items&quot;:[{&quot;id&quot;:&quot;(.+)&quot;,</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="7根据帐号ID获取用户信息" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${userApiHost}/v1/users/01010</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="67791721">&quot;code&quot;:0</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">2</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="get_id" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">id</stringProp>
+            <stringProp name="RegexExtractor.regex">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;pageIndex&quot;:1,&quot;pageSize&quot;:20,&quot;pageCount&quot;:9,&quot;totalCount&quot;:170,&quot;currentCount&quot;:20,&quot;items&quot;:[{&quot;id&quot;:&quot;(.+)&quot;,</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="8根据帐号ID获取用户头像" enabled="false">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${userApiHost}/v1/users/01010/portrait</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="67791721">&quot;code&quot;:0</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">2</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="get_id" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">id</stringProp>
+            <stringProp name="RegexExtractor.regex">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;pageIndex&quot;:1,&quot;pageSize&quot;:20,&quot;pageCount&quot;:9,&quot;totalCount&quot;:170,&quot;currentCount&quot;:20,&quot;items&quot;:[{&quot;id&quot;:&quot;(.+)&quot;,</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="9根据帐号获取用户信息" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${userApiHost}/v1/users/accountName/01014</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="67791721">&quot;code&quot;:0</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">2</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="get_id" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">id</stringProp>
+            <stringProp name="RegexExtractor.regex">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;pageIndex&quot;:1,&quot;pageSize&quot;:20,&quot;pageCount&quot;:9,&quot;totalCount&quot;:170,&quot;currentCount&quot;:20,&quot;items&quot;:[{&quot;id&quot;:&quot;(.+)&quot;,</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="10根据帐号获取用户头像" enabled="false">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${userApiHost}/v1/users/accountName/01014/portrait</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="67791721">&quot;code&quot;:0</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">2</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="get_id" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">id</stringProp>
+            <stringProp name="RegexExtractor.regex">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;pageIndex&quot;:1,&quot;pageSize&quot;:20,&quot;pageCount&quot;:9,&quot;totalCount&quot;:170,&quot;currentCount&quot;:20,&quot;items&quot;:[{&quot;id&quot;:&quot;(.+)&quot;,</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="11获取组织机构" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${userApiHost}/v1/organizations/01050</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="67791721">&quot;code&quot;:0</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">2</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+        </hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="12获取组织机构下用户列表" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${userApiHost}/v1/organizations/01050/users?pageIndex=1&amp;pageSize=20</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="67791721">&quot;code&quot;:0</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">2</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+        </hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="13获取组织机构树" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${userApiHost}/v1/organizations/organizationTree</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="67791721">&quot;code&quot;:0</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">2</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+        </hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="14获取根组织机构列表" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${userApiHost}/v1/organizations/rootOrganization</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="67791721">&quot;code&quot;:0</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">2</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+    </hashTree>
+  </hashTree>
+</jmeterTestPlan>
diff --git a/testing/jmeter/user-authz-api.jmx b/testing/jmeter/user-authz-api.jmx
new file mode 100644
index 0000000..ba3b151
--- /dev/null
+++ b/testing/jmeter/user-authz-api.jmx
@@ -0,0 +1,219 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.2.1">
+  <hashTree>
+    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
+      <stringProp name="TestPlan.comments"></stringProp>
+      <boolProp name="TestPlan.functional_mode">false</boolProp>
+      <boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
+      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
+      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments"/>
+      </elementProp>
+      <stringProp name="TestPlan.user_define_classpath"></stringProp>
+    </TestPlan>
+    <hashTree>
+      <SetupThreadGroup guiclass="SetupThreadGroupGui" testclass="SetupThreadGroup" testname="setUp线程组" enabled="true">
+        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
+        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true">
+          <boolProp name="LoopController.continue_forever">false</boolProp>
+          <intProp name="LoopController.loops">-1</intProp>
+        </elementProp>
+        <stringProp name="ThreadGroup.num_threads">100</stringProp>
+        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
+        <boolProp name="ThreadGroup.scheduler">true</boolProp>
+        <stringProp name="ThreadGroup.duration">120</stringProp>
+        <stringProp name="ThreadGroup.delay"></stringProp>
+        <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+      </SetupThreadGroup>
+      <hashTree>
+        <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain">192.168.101.25</stringProp>
+          <stringProp name="HTTPSampler.port">8031</stringProp>
+          <stringProp name="HTTPSampler.protocol">http</stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path"></stringProp>
+          <stringProp name="HTTPSampler.concurrentPool">6</stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </ConfigTestElement>
+        <hashTree/>
+        <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="聚合报告" enabled="true">
+          <boolProp name="ResultCollector.error_logging">false</boolProp>
+          <objProp>
+            <name>saveConfig</name>
+            <value class="SampleSaveConfiguration">
+              <time>true</time>
+              <latency>true</latency>
+              <timestamp>true</timestamp>
+              <success>true</success>
+              <label>true</label>
+              <code>true</code>
+              <message>true</message>
+              <threadName>true</threadName>
+              <dataType>true</dataType>
+              <encoding>false</encoding>
+              <assertions>true</assertions>
+              <subresults>true</subresults>
+              <responseData>false</responseData>
+              <samplerData>false</samplerData>
+              <xml>true</xml>
+              <fieldNames>true</fieldNames>
+              <responseHeaders>false</responseHeaders>
+              <requestHeaders>false</requestHeaders>
+              <responseDataOnError>false</responseDataOnError>
+              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+              <assertionsResultsToSave>0</assertionsResultsToSave>
+              <bytes>true</bytes>
+              <sentBytes>true</sentBytes>
+              <url>true</url>
+              <threadCounts>true</threadCounts>
+              <idleTime>true</idleTime>
+              <connectTime>true</connectTime>
+            </value>
+          </objProp>
+          <stringProp name="filename">/home/ubuntu/user-authz-poa/report.xml</stringProp>
+        </ResultCollector>
+        <hashTree/>
+        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="察看结果树" enabled="true">
+          <boolProp name="ResultCollector.error_logging">true</boolProp>
+          <objProp>
+            <name>saveConfig</name>
+            <value class="SampleSaveConfiguration">
+              <time>true</time>
+              <latency>true</latency>
+              <timestamp>true</timestamp>
+              <success>true</success>
+              <label>true</label>
+              <code>true</code>
+              <message>true</message>
+              <threadName>true</threadName>
+              <dataType>true</dataType>
+              <encoding>false</encoding>
+              <assertions>true</assertions>
+              <subresults>true</subresults>
+              <responseData>false</responseData>
+              <samplerData>false</samplerData>
+              <xml>true</xml>
+              <fieldNames>true</fieldNames>
+              <responseHeaders>false</responseHeaders>
+              <requestHeaders>false</requestHeaders>
+              <responseDataOnError>false</responseDataOnError>
+              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+              <assertionsResultsToSave>0</assertionsResultsToSave>
+              <bytes>true</bytes>
+              <sentBytes>true</sentBytes>
+              <url>true</url>
+              <threadCounts>true</threadCounts>
+              <idleTime>true</idleTime>
+              <connectTime>true</connectTime>
+            </value>
+          </objProp>
+          <stringProp name="filename">/home/ubuntu/user-authz-poa/tree.xml</stringProp>
+        </ResultCollector>
+        <hashTree/>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="1 获取应用下的角色列表" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">/v1/application/1/roles</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="67791721">&quot;code&quot;:0</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">2</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="get_id" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">id</stringProp>
+            <stringProp name="RegexExtractor.regex">{&quot;code&quot;:0,&quot;message&quot;:null,&quot;data&quot;:{&quot;pageIndex&quot;:1,&quot;pageSize&quot;:20,&quot;pageCount&quot;:9,&quot;totalCount&quot;:170,&quot;currentCount&quot;:20,&quot;items&quot;:[{&quot;id&quot;:&quot;(.+)&quot;,</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+        </hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="2 获取应用下的一个角色的用户帐号" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">/v1/application/1/role/cas-admin/accounts</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="67791721">&quot;code&quot;:0</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">2</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+        </hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="3 获取用户帐号在某一应用下所拥有的角色" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">/v1/application/1/account/smartadmin/roles</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="67791721">&quot;code&quot;:0</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">2</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+    </hashTree>
+  </hashTree>
+</jmeterTestPlan>
diff --git a/testing/jmeter/user-authz-service.jmx b/testing/jmeter/user-authz-service.jmx
new file mode 100644
index 0000000..ab681e6
--- /dev/null
+++ b/testing/jmeter/user-authz-service.jmx
@@ -0,0 +1,219 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.2.1">
+  <hashTree>
+    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="User Authz Service Tests" enabled="true">
+      <stringProp name="TestPlan.comments"></stringProp>
+      <boolProp name="TestPlan.functional_mode">false</boolProp>
+      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
+      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments"/>
+      </elementProp>
+      <stringProp name="TestPlan.user_define_classpath"></stringProp>
+    </TestPlan>
+    <hashTree>
+      <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments">
+          <elementProp name="ThreadCount" elementType="Argument">
+            <stringProp name="Argument.name">ThreadCount</stringProp>
+            <stringProp name="Argument.value">100</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">Number of Threads</stringProp>
+          </elementProp>
+          <elementProp name="Duration" elementType="Argument">
+            <stringProp name="Argument.name">Duration</stringProp>
+            <stringProp name="Argument.value">120</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="startupDelay" elementType="Argument">
+            <stringProp name="Argument.name">startupDelay</stringProp>
+            <stringProp name="Argument.value">3</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="RampUpPeriod" elementType="Argument">
+            <stringProp name="Argument.name">RampUpPeriod</stringProp>
+            <stringProp name="Argument.value">3</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="UserAuthzSaHost" elementType="Argument">
+            <stringProp name="Argument.name">UserAuthzSaHost</stringProp>
+            <stringProp name="Argument.value">http://172.50.10.36:8032</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+          </elementProp>
+        </collectionProp>
+      </Arguments>
+      <hashTree/>
+      <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="CSV Get Users/Passwords" enabled="false">
+        <stringProp name="filename">/Users/loie/c/work/git/institute/deploy-admin-portal/testing/jmeter/accounts.csv</stringProp>
+        <stringProp name="fileEncoding"></stringProp>
+        <stringProp name="variableNames">accountName,password</stringProp>
+        <stringProp name="delimiter">,</stringProp>
+        <boolProp name="quotedData">false</boolProp>
+        <boolProp name="recycle">true</boolProp>
+        <boolProp name="stopThread">false</boolProp>
+        <stringProp name="shareMode">shareMode.all</stringProp>
+        <boolProp name="ignoreFirstLine">false</boolProp>
+      </CSVDataSet>
+      <hashTree/>
+      <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
+        <collectionProp name="CookieManager.cookies"/>
+        <boolProp name="CookieManager.clearEachIteration">true</boolProp>
+        <boolProp name="CookieManager.controlledByThreadGroup">false</boolProp>
+      </CookieManager>
+      <hashTree/>
+      <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
+        <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+          <collectionProp name="Arguments.arguments"/>
+        </elementProp>
+        <stringProp name="HTTPSampler.domain"></stringProp>
+        <stringProp name="HTTPSampler.port"></stringProp>
+        <stringProp name="HTTPSampler.protocol">https</stringProp>
+        <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+        <stringProp name="HTTPSampler.path"></stringProp>
+        <stringProp name="HTTPSampler.concurrentPool">4</stringProp>
+        <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
+        <stringProp name="HTTPSampler.connect_timeout">120000</stringProp>
+        <stringProp name="HTTPSampler.response_timeout">120000</stringProp>
+      </ConfigTestElement>
+      <hashTree/>
+      <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
+        <boolProp name="ResultCollector.error_logging">true</boolProp>
+        <objProp>
+          <name>saveConfig</name>
+          <value class="SampleSaveConfiguration">
+            <time>true</time>
+            <latency>true</latency>
+            <timestamp>true</timestamp>
+            <success>true</success>
+            <label>true</label>
+            <code>true</code>
+            <message>true</message>
+            <threadName>true</threadName>
+            <dataType>true</dataType>
+            <encoding>false</encoding>
+            <assertions>true</assertions>
+            <subresults>true</subresults>
+            <responseData>true</responseData>
+            <samplerData>false</samplerData>
+            <xml>true</xml>
+            <fieldNames>false</fieldNames>
+            <responseHeaders>true</responseHeaders>
+            <requestHeaders>true</requestHeaders>
+            <responseDataOnError>false</responseDataOnError>
+            <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+            <assertionsResultsToSave>0</assertionsResultsToSave>
+            <bytes>true</bytes>
+            <sentBytes>true</sentBytes>
+            <url>true</url>
+            <fileName>true</fileName>
+            <hostname>true</hostname>
+            <threadCounts>true</threadCounts>
+            <connectTime>true</connectTime>
+          </value>
+        </objProp>
+        <stringProp name="filename">/home/ubuntu/user-authz-sa/tree.xml</stringProp>
+      </ResultCollector>
+      <hashTree/>
+      <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="Aggregate Report" enabled="true">
+        <boolProp name="ResultCollector.error_logging">false</boolProp>
+        <objProp>
+          <name>saveConfig</name>
+          <value class="SampleSaveConfiguration">
+            <time>true</time>
+            <latency>true</latency>
+            <timestamp>true</timestamp>
+            <success>true</success>
+            <label>true</label>
+            <code>true</code>
+            <message>true</message>
+            <threadName>true</threadName>
+            <dataType>true</dataType>
+            <encoding>true</encoding>
+            <assertions>true</assertions>
+            <subresults>true</subresults>
+            <responseData>true</responseData>
+            <samplerData>false</samplerData>
+            <xml>true</xml>
+            <fieldNames>false</fieldNames>
+            <responseHeaders>true</responseHeaders>
+            <requestHeaders>true</requestHeaders>
+            <responseDataOnError>false</responseDataOnError>
+            <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+            <assertionsResultsToSave>0</assertionsResultsToSave>
+            <bytes>true</bytes>
+            <sentBytes>true</sentBytes>
+            <url>true</url>
+            <fileName>true</fileName>
+            <hostname>true</hostname>
+            <threadCounts>true</threadCounts>
+            <idleTime>true</idleTime>
+            <connectTime>true</connectTime>
+          </value>
+        </objProp>
+        <stringProp name="filename">/home/ubuntu/user-authz-sa/result.xml</stringProp>
+        <boolProp name="useGroupName">true</boolProp>
+      </ResultCollector>
+      <hashTree/>
+      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="User Authz Service" enabled="true">
+        <stringProp name="ThreadGroup.on_sample_error">startnextloop</stringProp>
+        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+          <boolProp name="LoopController.continue_forever">false</boolProp>
+          <intProp name="LoopController.loops">-1</intProp>
+        </elementProp>
+        <stringProp name="ThreadGroup.num_threads">${ThreadCount}</stringProp>
+        <stringProp name="ThreadGroup.ramp_time">${RampUpPeriod}</stringProp>
+        <longProp name="ThreadGroup.start_time">1500501626000</longProp>
+        <longProp name="ThreadGroup.end_time">1500501626000</longProp>
+        <boolProp name="ThreadGroup.scheduler">true</boolProp>
+        <stringProp name="ThreadGroup.duration">${Duration}</stringProp>
+        <stringProp name="ThreadGroup.delay">${StartupDelay}</stringProp>
+        <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+      </ThreadGroup>
+      <hashTree>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - User Authz Service - Security Account" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="1292079379">User Authz Service Tests</stringProp>
+            <stringProp name="-1389743438">GET - User Authz Service - Security Role</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - User Authz Service - Security Role" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - loadUserInfoByAccountName" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${UserAuthzSaHost}/v1/security/roles/applicationId/1/accountId/1</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout">120000</stringProp>
+          <stringProp name="HTTPSampler.response_timeout">120000</stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="49586">200</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">8</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+    </hashTree>
+  </hashTree>
+</jmeterTestPlan>
diff --git a/testing/jmeter/user-data-service.jmx b/testing/jmeter/user-data-service.jmx
new file mode 100644
index 0000000..418fc58
--- /dev/null
+++ b/testing/jmeter/user-data-service.jmx
@@ -0,0 +1,301 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.2.1">
+  <hashTree>
+    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="User Data Service Tests" enabled="true">
+      <stringProp name="TestPlan.comments"></stringProp>
+      <boolProp name="TestPlan.functional_mode">false</boolProp>
+      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
+      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments"/>
+      </elementProp>
+      <stringProp name="TestPlan.user_define_classpath"></stringProp>
+    </TestPlan>
+    <hashTree>
+      <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments">
+          <elementProp name="ThreadCount" elementType="Argument">
+            <stringProp name="Argument.name">ThreadCount</stringProp>
+            <stringProp name="Argument.value">100</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">Number of Threads</stringProp>
+          </elementProp>
+          <elementProp name="Duration" elementType="Argument">
+            <stringProp name="Argument.name">Duration</stringProp>
+            <stringProp name="Argument.value">120</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="startupDelay" elementType="Argument">
+            <stringProp name="Argument.name">startupDelay</stringProp>
+            <stringProp name="Argument.value">3</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="RampUpPeriod" elementType="Argument">
+            <stringProp name="Argument.name">RampUpPeriod</stringProp>
+            <stringProp name="Argument.value">3</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+            <stringProp name="Argument.desc">in seconds</stringProp>
+          </elementProp>
+          <elementProp name="UserSaHost" elementType="Argument">
+            <stringProp name="Argument.name">UserSaHost</stringProp>
+            <stringProp name="Argument.value">http://172.50.10.24:8022</stringProp>
+            <stringProp name="Argument.metadata">=</stringProp>
+          </elementProp>
+        </collectionProp>
+      </Arguments>
+      <hashTree/>
+      <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="CSV Get Users/Passwords" enabled="false">
+        <stringProp name="filename">/Users/loie/c/work/git/institute/deploy-admin-portal/testing/jmeter/accounts.csv</stringProp>
+        <stringProp name="fileEncoding"></stringProp>
+        <stringProp name="variableNames">accountName,password</stringProp>
+        <stringProp name="delimiter">,</stringProp>
+        <boolProp name="quotedData">false</boolProp>
+        <boolProp name="recycle">true</boolProp>
+        <boolProp name="stopThread">false</boolProp>
+        <stringProp name="shareMode">shareMode.all</stringProp>
+        <boolProp name="ignoreFirstLine">false</boolProp>
+      </CSVDataSet>
+      <hashTree/>
+      <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
+        <collectionProp name="CookieManager.cookies"/>
+        <boolProp name="CookieManager.clearEachIteration">true</boolProp>
+        <boolProp name="CookieManager.controlledByThreadGroup">false</boolProp>
+      </CookieManager>
+      <hashTree/>
+      <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
+        <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+          <collectionProp name="Arguments.arguments"/>
+        </elementProp>
+        <stringProp name="HTTPSampler.domain"></stringProp>
+        <stringProp name="HTTPSampler.port"></stringProp>
+        <stringProp name="HTTPSampler.protocol">https</stringProp>
+        <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+        <stringProp name="HTTPSampler.path"></stringProp>
+        <stringProp name="HTTPSampler.concurrentPool">4</stringProp>
+        <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
+        <stringProp name="HTTPSampler.connect_timeout">120000</stringProp>
+        <stringProp name="HTTPSampler.response_timeout">120000</stringProp>
+      </ConfigTestElement>
+      <hashTree/>
+      <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
+        <boolProp name="ResultCollector.error_logging">true</boolProp>
+        <objProp>
+          <name>saveConfig</name>
+          <value class="SampleSaveConfiguration">
+            <time>true</time>
+            <latency>true</latency>
+            <timestamp>true</timestamp>
+            <success>true</success>
+            <label>true</label>
+            <code>true</code>
+            <message>true</message>
+            <threadName>true</threadName>
+            <dataType>true</dataType>
+            <encoding>false</encoding>
+            <assertions>true</assertions>
+            <subresults>true</subresults>
+            <responseData>true</responseData>
+            <samplerData>false</samplerData>
+            <xml>true</xml>
+            <fieldNames>false</fieldNames>
+            <responseHeaders>true</responseHeaders>
+            <requestHeaders>true</requestHeaders>
+            <responseDataOnError>false</responseDataOnError>
+            <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+            <assertionsResultsToSave>0</assertionsResultsToSave>
+            <bytes>true</bytes>
+            <sentBytes>true</sentBytes>
+            <url>true</url>
+            <fileName>true</fileName>
+            <hostname>true</hostname>
+            <threadCounts>true</threadCounts>
+            <connectTime>true</connectTime>
+          </value>
+        </objProp>
+        <stringProp name="filename">/home/ubuntu/user-sa/tree.xml</stringProp>
+      </ResultCollector>
+      <hashTree/>
+      <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="Aggregate Report" enabled="true">
+        <boolProp name="ResultCollector.error_logging">false</boolProp>
+        <objProp>
+          <name>saveConfig</name>
+          <value class="SampleSaveConfiguration">
+            <time>true</time>
+            <latency>true</latency>
+            <timestamp>true</timestamp>
+            <success>true</success>
+            <label>true</label>
+            <code>true</code>
+            <message>true</message>
+            <threadName>true</threadName>
+            <dataType>true</dataType>
+            <encoding>true</encoding>
+            <assertions>true</assertions>
+            <subresults>true</subresults>
+            <responseData>true</responseData>
+            <samplerData>false</samplerData>
+            <xml>true</xml>
+            <fieldNames>false</fieldNames>
+            <responseHeaders>true</responseHeaders>
+            <requestHeaders>true</requestHeaders>
+            <responseDataOnError>false</responseDataOnError>
+            <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+            <assertionsResultsToSave>0</assertionsResultsToSave>
+            <bytes>true</bytes>
+            <sentBytes>true</sentBytes>
+            <url>true</url>
+            <fileName>true</fileName>
+            <hostname>true</hostname>
+            <threadCounts>true</threadCounts>
+            <idleTime>true</idleTime>
+            <connectTime>true</connectTime>
+          </value>
+        </objProp>
+        <stringProp name="filename">/home/ubuntu/user-sa/report.xml</stringProp>
+        <boolProp name="useGroupName">true</boolProp>
+      </ResultCollector>
+      <hashTree/>
+      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="User Data Service - Security Account" enabled="true">
+        <stringProp name="ThreadGroup.on_sample_error">startnextloop</stringProp>
+        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+          <boolProp name="LoopController.continue_forever">false</boolProp>
+          <intProp name="LoopController.loops">-1</intProp>
+        </elementProp>
+        <stringProp name="ThreadGroup.num_threads">${ThreadCount}</stringProp>
+        <stringProp name="ThreadGroup.ramp_time">${RampUpPeriod}</stringProp>
+        <longProp name="ThreadGroup.start_time">1500501626000</longProp>
+        <longProp name="ThreadGroup.end_time">1500501626000</longProp>
+        <boolProp name="ThreadGroup.scheduler">true</boolProp>
+        <stringProp name="ThreadGroup.duration">${Duration}</stringProp>
+        <stringProp name="ThreadGroup.delay">${StartupDelay}</stringProp>
+        <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+      </ThreadGroup>
+      <hashTree>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - User Data Service - Security Account" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="-2063844043">User Data Service Tests</stringProp>
+            <stringProp name="1724869225">GET - User Data Service - Security Account</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - User Data Service - Account" enabled="true">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="-2063844043">User Data Service Tests</stringProp>
+            <stringProp name="-407568015">GET - User Data Service - Account</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+        <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - http://echo.paas.nwpu.edu.cn/" enabled="false">
+          <collectionProp name="ModuleController.node_path">
+            <stringProp name="764597751">Test Plan</stringProp>
+            <stringProp name="-2063844043">User Data Service Tests</stringProp>
+            <stringProp name="-1501903837">GET - http://echo.paas.nwpu.edu.cn/</stringProp>
+          </collectionProp>
+        </ModuleController>
+        <hashTree/>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - User Data Service - Security Account" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - loadUserInfoByAccountName" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${UserSaHost}/api/v1/security/accounts/accountName/smartadmin</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout">120000</stringProp>
+          <stringProp name="HTTPSampler.response_timeout">120000</stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="49586">200</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">8</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - User Data Service - Account" enabled="true"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - findByAccountName" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">${UserSaHost}/api/v1/base/account/find/smartadmin</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout">120000</stringProp>
+          <stringProp name="HTTPSampler.response_timeout">120000</stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="49586">200</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">8</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+      <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - http://echo.paas.nwpu.edu.cn/" enabled="false"/>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - http://echo.paas.nwpu.edu.cn/" enabled="true">
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain"></stringProp>
+          <stringProp name="HTTPSampler.port"></stringProp>
+          <stringProp name="HTTPSampler.protocol"></stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">http://echo.paas.nwpu.edu.cn/</stringProp>
+          <stringProp name="HTTPSampler.method">GET</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="49586">200</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.custom_message"></stringProp>
+            <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">8</intProp>
+          </ResponseAssertion>
+          <hashTree/>
+        </hashTree>
+      </hashTree>
+    </hashTree>
+  </hashTree>
+</jmeterTestPlan>
